<?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>195170</bug_id>
          
          <creation_ts>2019-02-28 10:08:26 -0800</creation_ts>
          <short_desc>Web Inspector: Debugger: DOM, URL, and Event breakpoints don&apos;t grey out when all breakpoints are disabled</short_desc>
          <delta_ts>2019-03-02 14:40:50 -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>
          
          <blocked>195248</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1510964</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-02-28 10:08:26 -0800</bug_when>
    <thetext># STEPS TO REPRODUCE
1. inspect any page
2. create an event breakpoint for any event
3. disable all breakpoints
 =&gt; the event breakpoint icon is still blue, when all &quot;regular&quot; breakpoints turn grey</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1510965</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-28 10:09:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/48478193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511023</commentid>
    <comment_count>2</comment_count>
      <attachid>363240</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-02-28 11:29:38 -0800</bug_when>
    <thetext>Created attachment 363240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511793</commentid>
    <comment_count>3</comment_count>
      <attachid>363240</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-03-02 01:23:50 -0800</bug_when>
    <thetext>Comment on attachment 363240
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js:63
&gt; +                this.addDOMBreakpoint(WI.DOMBreakpoint.fromPayload(payload));

Typically we use `fromPayload` when something is coming from a protocol object. That isn&apos;t happening here.

This is the opposite of `breakpoint.serializableInfo` so how about calling these `FooBreakpoint.deserialize(...)` of `fromCookie` or `fromStorage`?

We have a similar naming convention (deserialize) for objects we serialize to/form Workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511836</commentid>
    <comment_count>4</comment_count>
      <attachid>363240</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-02 12:24:16 -0800</bug_when>
    <thetext>Comment on attachment 363240
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js:63
&gt;&gt; +                this.addDOMBreakpoint(WI.DOMBreakpoint.fromPayload(payload));
&gt; 
&gt; Typically we use `fromPayload` when something is coming from a protocol object. That isn&apos;t happening here.
&gt; 
&gt; This is the opposite of `breakpoint.serializableInfo` so how about calling these `FooBreakpoint.deserialize(...)` of `fromCookie` or `fromStorage`?
&gt; 
&gt; We have a similar naming convention (deserialize) for objects we serialize to/form Workers.

Interesting.  I viewed the distinction as `serialize` was for worker-proxy data passing while `fromPayload` was for &quot;construct this type from an object&quot; (the model objects for audits/recordings use `fromPayload` to load from imports/cache, not just backend data).  Personally, I&apos;d prefer to have a single channel that goes from an object to a constructor, as we can always provide customization in the form of additional parameters, but for the sake of consistency I&apos;ll change this to `deserialize`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511837</commentid>
    <comment_count>5</comment_count>
      <attachid>363427</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-02 12:25:05 -0800</bug_when>
    <thetext>Created attachment 363427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511845</commentid>
    <comment_count>6</comment_count>
      <attachid>363428</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-02 13:08:19 -0800</bug_when>
    <thetext>Created attachment 363428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511848</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-02 13:16:13 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 363427:

media/modern-media-controls/placard-support/placard-support-pip.html bug 195249 (author: graouts@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511859</commentid>
    <comment_count>8</comment_count>
      <attachid>363428</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-02 14:40:49 -0800</bug_when>
    <thetext>Comment on attachment 363428
Patch

Clearing flags on attachment: 363428

Committed r242318: &lt;https://trac.webkit.org/changeset/242318&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511860</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-02 14:40:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363240</attachid>
            <date>2019-02-28 11:29:38 -0800</date>
            <delta_ts>2019-03-02 12:25:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195170-20190228112937.patch</filename>
            <type>text/plain</type>
            <size>27989</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDAwM2EyMjRmZTQ5MzlhMjE2OWI5NDRiMGU1NmY2
M2Y5YzNkNWQ2MjkuLjY4OTI0Njg4ODY2YmY0NmJlZjRjZmI3NzlmYTk1ZDhmZjdhYzJhYTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE5LTAyLTI4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBE
ZWJ1Z2dlcjogRE9NLCBVUkwsIGFuZCBFdmVudCBicmVha3BvaW50cyBkb24ndCBncmV5IG91dCB3
aGVuIGFsbCBicmVha3BvaW50cyBhcmUgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTE3MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDg0NzgxOTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RPTUJyZWFrcG9pbnRUcmVlRWxlbWVudC5qczoKKyAg
ICAgICAgKFdJLkRPTUJyZWFrcG9pbnRUcmVlRWxlbWVudCk6CisgICAgICAgIChXSS5ET01CcmVh
a3BvaW50VHJlZUVsZW1lbnQucHJvdG90eXBlLm9uYXR0YWNoKToKKyAgICAgICAgKFdJLkRPTUJy
ZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUub25kZXRhY2gpOgorICAgICAgICAoV0kuRE9N
QnJlYWtwb2ludFRyZWVFbGVtZW50LnByb3RvdHlwZS5fdXBkYXRlU3RhdHVzKToKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50LmpzOgorICAg
ICAgICAoV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQpOgorICAgICAgICAoV0kuRXZlbnRC
cmVha3BvaW50VHJlZUVsZW1lbnQucHJvdG90eXBlLm9uYXR0YWNoKToKKyAgICAgICAgKFdJLkV2
ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmRldGFjaCk6CisgICAgICAgIChX
SS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUuX3VwZGF0ZVN0YXR1cyk6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9VUkxCcmVha3BvaW50VHJlZUVsZW1lbnQuanM6
CisgICAgICAgIChXSS5VUkxCcmVha3BvaW50VHJlZUVsZW1lbnQpOgorICAgICAgICAoV0kuVVJM
QnJlYWtwb2ludFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6CisgICAgICAgIChXSS5V
UkxCcmVha3BvaW50VHJlZUVsZW1lbnQucHJvdG90eXBlLm9uZGV0YWNoKToKKyAgICAgICAgKFdJ
LlVSTEJyZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUuX3VwZGF0ZVN0YXR1cyk6CisgICAg
ICAgIFJlbW92ZSB0aGUgYCJyZXNvbHZlZCJgIGNsYXNzIHdoZW4gdGhlIGdsb2JhbCAiYnJlYWtw
b2ludHMgZW5hYmxlZCIgc3RhdGUgaXMgY2hhbmdlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvQ29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzOgorICAgICAgICAoV0kuRE9NRGVi
dWdnZXJNYW5hZ2VyKToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUu
X2hhbmRsZURPTUJyZWFrcG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAg
ICAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlRXZlbnRCcmVha3BvaW50
RGlzYWJsZWRTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFu
YWdlci5wcm90b3R5cGUuX2hhbmRsZVVSTEJyZWFrcG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdlZCk6
IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTUJyZWFrcG9pbnQuanM6
CisgICAgICAgIChXSS5ET01CcmVha3BvaW50LmZyb21QYXlsb2FkKTogQWRkZWQuCisgICAgICAg
IChXSS5ET01CcmVha3BvaW50LnByb3RvdHlwZS5zZXQgZGlzYWJsZWQpOgorICAgICAgICAoV0ku
RE9NQnJlYWtwb2ludC5wcm90b3R5cGUuc2V0IGRvbU5vZGVJZGVudGlmaWVyKToKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL01vZGVscy9FdmVudEJyZWFrcG9pbnQuanM6CisgICAgICAgIChXSS5F
dmVudEJyZWFrcG9pbnQucHJvdG90eXBlLnNldCBkaXNhYmxlZCk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9Nb2RlbHMvVVJMQnJlYWtwb2ludC5qczoKKyAgICAgICAgKFdJLlVSTEJyZWFrcG9p
bnQuZnJvbVBheWxvYWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlVSTEJyZWFrcG9pbnQucHJvdG90
eXBlLnNldCBkaXNhYmxlZCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVl
Q29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcpOgorICAgICAg
ICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5faGFuZGxlRE9NQnJlYWtwb2ludERp
c2FibGVkU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZp
ZXcucHJvdG90eXBlLl9oYW5kbGVET01CcmVha3BvaW50RE9NTm9kZUNoYW5nZWQpOiBBZGRlZC4K
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzOgor
ICAgICAgICAoV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9oYW5kbGVET01CcmVh
a3BvaW50UmVzb2x2ZWRTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV0ku
U291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwpOgorICAgICAgICAoV0kuU291cmNlc05hdmln
YXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLl9oYW5kbGVET01CcmVha3BvaW50UmVzb2x2ZWRT
dGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgRHJpdmUtYnk6IHJlbmFtZSBhbGwgZXZlbnRz
IHdpdGggdGhlIG5hbWUgYCpEaWRDaGFuZ2VgIHRvIGAqQ2hhbmdlZGAuCisgICAgICAgIERyaXZl
LWJ5OiBjcmVhdGUgc3RhdGljIGBmcm9tUGF5bG9hZGAgaGVscGVyIGZ1bmN0aW9ucy4KKwogMjAx
OS0wMi0yOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFJldmVydCAtd2Via2l0LWJvcmRlci1lbmQgY2hhbmdlcyB0aGF0IGFy
ZSB1bnJlbGlhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9ET01EZWJ1Z2dlck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01EZWJ1Z2dlck1hbmFnZXIuanMKaW5k
ZXggY2JiZjVkZjk2ZTllZjYxNzYyMTg5ZmUwMzFlMmJjNjI3MTk4MmJhNC4uZTQ5ZmMyNjNiNTBl
NDIwNGVlOTcwZmQwNDVjZTYwZTIyMjU0MjZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTURl
YnVnZ2VyTWFuYWdlci5qcwpAQCAtNDAsMTEgKzQwLDEzIEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdl
ciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0
aGlzLl91cmxCcmVha3BvaW50cyA9IFtdOwogICAgICAgICB0aGlzLl9hbGxSZXF1ZXN0c0JyZWFr
cG9pbnRFbmFibGVkU2V0dGluZyA9IG5ldyBXSS5TZXR0aW5nKCJicmVhay1vbi1hbGwtcmVxdWVz
dHMiLCBmYWxzZSk7CiAKLSAgICAgICAgdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50ID0gbmV3
IFdJLlVSTEJyZWFrcG9pbnQobnVsbCwgbnVsbCwgIXRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2lu
dEVuYWJsZWRTZXR0aW5nLnZhbHVlKTsKKyAgICAgICAgdGhpcy5fYWxsUmVxdWVzdHNCcmVha3Bv
aW50ID0gbmV3IFdJLlVSTEJyZWFrcG9pbnQoV0kuVVJMQnJlYWtwb2ludC5UeXBlLlRleHQsICIi
LCB7CisgICAgICAgICAgICBkaXNhYmxlZDogIXRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludEVu
YWJsZWRTZXR0aW5nLnZhbHVlLAorICAgICAgICB9KTsKIAotICAgICAgICBXSS5ET01CcmVha3Bv
aW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRl
RGlkQ2hhbmdlLCB0aGlzLl9kb21CcmVha3BvaW50RGlzYWJsZWRTdGF0ZURpZENoYW5nZSwgdGhp
cyk7Ci0gICAgICAgIFdJLkV2ZW50QnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkV2ZW50
QnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzLl9ldmVudEJyZWFr
cG9pbnREaXNhYmxlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzKTsKLSAgICAgICAgV0kuVVJMQnJlYWtw
b2ludC5hZGRFdmVudExpc3RlbmVyKFdJLlVSTEJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0
ZURpZENoYW5nZSwgdGhpcy5fdXJsQnJlYWtwb2ludERpc2FibGVkU3RhdGVEaWRDaGFuZ2UsIHRo
aXMpOworICAgICAgICBXSS5ET01CcmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NQnJl
YWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlRE9NQnJlYWtw
b2ludERpc2FibGVkU3RhdGVDaGFuZ2VkLCB0aGlzKTsKKyAgICAgICAgV0kuRXZlbnRCcmVha3Bv
aW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuRXZlbnRCcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3Rh
dGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVFdmVudEJyZWFrcG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdl
ZCwgdGhpcyk7CisgICAgICAgIFdJLlVSTEJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5V
UkxCcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVVUkxC
cmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQsIHRoaXMpOwogCiAgICAgICAgIFdJLmRvbU1h
bmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01NYW5hZ2VyLkV2ZW50Lk5vZGVSZW1vdmVkLCB0
aGlzLl9ub2RlUmVtb3ZlZCwgdGhpcyk7CiAgICAgICAgIFdJLmRvbU1hbmFnZXIuYWRkRXZlbnRM
aXN0ZW5lcihXSS5ET01NYW5hZ2VyLkV2ZW50Lk5vZGVJbnNlcnRlZCwgdGhpcy5fbm9kZUluc2Vy
dGVkLCB0aGlzKTsKQEAgLTU3LDE4ICs1OSwxNCBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBj
bGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgaWYgKHRo
aXMuc3VwcG9ydGVkKSB7CiAgICAgICAgICAgICB0aGlzLl9yZXN0b3JpbmdCcmVha3BvaW50cyA9
IHRydWU7CiAKLSAgICAgICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiB0aGlzLl9kb21CcmVha3Bv
aW50c1NldHRpbmcudmFsdWUpIHsKLSAgICAgICAgICAgICAgICBsZXQgYnJlYWtwb2ludCA9IG5l
dyBXSS5ET01CcmVha3BvaW50KGNvb2tpZSwgY29va2llLnR5cGUsIGNvb2tpZS5kaXNhYmxlZCk7
Ci0gICAgICAgICAgICAgICAgdGhpcy5hZGRET01CcmVha3BvaW50KGJyZWFrcG9pbnQpOwotICAg
ICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChsZXQgcGF5bG9hZCBvZiB0aGlzLl9kb21CcmVh
a3BvaW50c1NldHRpbmcudmFsdWUpCisgICAgICAgICAgICAgICAgdGhpcy5hZGRET01CcmVha3Bv
aW50KFdJLkRPTUJyZWFrcG9pbnQuZnJvbVBheWxvYWQocGF5bG9hZCkpOwogCiAgICAgICAgICAg
ICBmb3IgKGxldCBwYXlsb2FkIG9mIHRoaXMuX2V2ZW50QnJlYWtwb2ludFNldHRpbmcudmFsdWUp
CiAgICAgICAgICAgICAgICAgdGhpcy5hZGRFdmVudEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3Bv
aW50LmZyb21QYXlsb2FkKHBheWxvYWQpKTsKIAotICAgICAgICAgICAgZm9yIChsZXQgY29va2ll
IG9mIHRoaXMuX3VybEJyZWFrcG9pbnRzU2V0dGluZy52YWx1ZSkgewotICAgICAgICAgICAgICAg
IGxldCBicmVha3BvaW50ID0gbmV3IFdJLlVSTEJyZWFrcG9pbnQoY29va2llLnR5cGUsIGNvb2tp
ZS51cmwsIGNvb2tpZS5kaXNhYmxlZCk7Ci0gICAgICAgICAgICAgICAgdGhpcy5hZGRVUkxCcmVh
a3BvaW50KGJyZWFrcG9pbnQpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChsZXQg
cGF5bG9hZCBvZiB0aGlzLl91cmxCcmVha3BvaW50c1NldHRpbmcudmFsdWUpCisgICAgICAgICAg
ICAgICAgdGhpcy5hZGRVUkxCcmVha3BvaW50KFdJLlVSTEJyZWFrcG9pbnQuZnJvbVBheWxvYWQo
cGF5bG9hZCkpOwogCiAgICAgICAgICAgICB0aGlzLl9yZXN0b3JpbmdCcmVha3BvaW50cyA9IGZh
bHNlOwogICAgICAgICAgICAgdGhpcy5fc3BlY3VsYXRpdmVseVJlc29sdmVCcmVha3BvaW50cygp
OwpAQCAtNTcxLDIxICs1NjksMjEgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9N
RGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuX3VybEJyZWFr
cG9pbnRzU2V0dGluZy52YWx1ZSA9IHRoaXMuX3VybEJyZWFrcG9pbnRzLm1hcCgoYnJlYWtwb2lu
dCkgPT4gYnJlYWtwb2ludC5zZXJpYWxpemFibGVJbmZvKTsKICAgICB9CiAKLSAgICBfZG9tQnJl
YWtwb2ludERpc2FibGVkU3RhdGVEaWRDaGFuZ2UoZXZlbnQpCisgICAgX2hhbmRsZURPTUJyZWFr
cG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdlZChldmVudCkKICAgICB7CiAgICAgICAgIGxldCBicmVh
a3BvaW50ID0gZXZlbnQudGFyZ2V0OwogICAgICAgICB0aGlzLl91cGRhdGVET01CcmVha3BvaW50
KGJyZWFrcG9pbnQpOwogICAgICAgICB0aGlzLl9zYXZlRE9NQnJlYWtwb2ludHMoKTsKICAgICB9
CiAKLSAgICBfZXZlbnRCcmVha3BvaW50RGlzYWJsZWRTdGF0ZURpZENoYW5nZShldmVudCkKKyAg
ICBfaGFuZGxlRXZlbnRCcmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQoZXZlbnQpCiAgICAg
ewogICAgICAgICBsZXQgYnJlYWtwb2ludCA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgdGhpcy5f
dXBkYXRlRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQpOwogICAgICAgICB0aGlzLl9zYXZlRXZl
bnRCcmVha3BvaW50cygpOwogICAgIH0KIAotICAgIF91cmxCcmVha3BvaW50RGlzYWJsZWRTdGF0
ZURpZENoYW5nZShldmVudCkKKyAgICBfaGFuZGxlVVJMQnJlYWtwb2ludERpc2FibGVkU3RhdGVD
aGFuZ2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBldmVudC50YXJn
ZXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9ET01CcmVha3BvaW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0RPTUJyZWFrcG9pbnQuanMKaW5kZXggOTM3MWIxNTVlMGYyODdlNzM0ODJjYWIx
MzE2NmI4MWQ0ZDZhNWU1Yy4uYmMzNWNjNjJjOWI1NzcwNjljY2Y0NjI2MDJjNjE3Nzg0MzBiZjUw
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L0RPTUJyZWFrcG9pbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0RPTUJyZWFrcG9pbnQuanMKQEAgLTI1LDkgKzI1LDEwIEBACiAKIFdJLkRPTUJy
ZWFrcG9pbnQgPSBjbGFzcyBET01CcmVha3BvaW50IGV4dGVuZHMgV0kuT2JqZWN0CiB7Ci0gICAg
Y29uc3RydWN0b3IoZG9tTm9kZU9ySW5mbywgdHlwZSwgZGlzYWJsZWQpCisgICAgY29uc3RydWN0
b3IoZG9tTm9kZU9ySW5mbywgdHlwZSwge2Rpc2FibGVkfSA9IHt9KQogICAgIHsKLSAgICAgICAg
Y29uc29sZS5hc3NlcnQoZG9tTm9kZU9ySW5mbywgIk1pc3NpbmcgRE9NTm9kZSBvciBpbmZvLiIp
OworICAgICAgICBjb25zb2xlLmFzc2VydChkb21Ob2RlT3JJbmZvIGluc3RhbmNlb2YgV0kuRE9N
Tm9kZSB8fCB0eXBlb2YgZG9tTm9kZSA9PT0gIm9iamVjdCIsIGRvbU5vZGVPckluZm8pOworICAg
ICAgICBjb25zb2xlLmFzc2VydChPYmplY3QudmFsdWVzKFdJLkRPTUJyZWFrcG9pbnQuVHlwZSku
aW5jbHVkZXModHlwZSksIHR5cGUpOwogCiAgICAgICAgIHN1cGVyKCk7CiAKQEAgLTQ2LDYgKzQ3
LDE1IEBAIFdJLkRPTUJyZWFrcG9pbnQgPSBjbGFzcyBET01CcmVha3BvaW50IGV4dGVuZHMgV0ku
T2JqZWN0CiAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQgfHwgZmFsc2U7CiAgICAg
fQogCisgICAgLy8gU3RhdGljCisKKyAgICBzdGF0aWMgZnJvbVBheWxvYWQocGF5bG9hZCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBuZXcgV0kuRE9NQnJlYWtwb2ludChwYXlsb2FkLCBwYXlsb2Fk
LnR5cGUsIHsKKyAgICAgICAgICAgIGRpc2FibGVkOiAhIXBheWxvYWQuZGlzYWJsZWQsCisgICAg
ICAgIH0pOworICAgIH0KKwogICAgIC8vIFB1YmxpYwogCiAgICAgZ2V0IHR5cGUoKSB7IHJldHVy
biB0aGlzLl90eXBlOyB9CkBAIC02NCw3ICs3NCw3IEBAIFdJLkRPTUJyZWFrcG9pbnQgPSBjbGFz
cyBET01CcmVha3BvaW50IGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAgICAgdGhpcy5fZGlzYWJs
ZWQgPSBkaXNhYmxlZDsKIAotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
SS5ET01CcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVEaWRDaGFuZ2UpOworICAgICAgICB0
aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5ET01CcmVha3BvaW50LkV2ZW50LkRpc2Fi
bGVkU3RhdGVDaGFuZ2VkKTsKICAgICB9CiAKICAgICBnZXQgZG9tTm9kZUlkZW50aWZpZXIoKQpA
QCAtODMsNyArOTMsNyBAQCBXSS5ET01CcmVha3BvaW50ID0gY2xhc3MgRE9NQnJlYWtwb2ludCBl
eHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMuX2RvbU5vZGVJZGVudGlmaWVyID0gbm9k
ZUlkZW50aWZpZXI7CiAKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0ku
RE9NQnJlYWtwb2ludC5FdmVudC5SZXNvbHZlZFN0YXRlRGlkQ2hhbmdlLCBkYXRhKTsKKyAgICAg
ICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5E
T01Ob2RlQ2hhbmdlZCwgZGF0YSk7CiAgICAgfQogCiAgICAgZ2V0IHNlcmlhbGl6YWJsZUluZm8o
KQpAQCAtMTE0LDYgKzEyNCw2IEBAIFdJLkRPTUJyZWFrcG9pbnQuVHlwZSA9IHsKIH07CiAKIFdJ
LkRPTUJyZWFrcG9pbnQuRXZlbnQgPSB7Ci0gICAgRGlzYWJsZWRTdGF0ZURpZENoYW5nZTogImRv
bS1icmVha3BvaW50LWRpc2FibGVkLXN0YXRlLWRpZC1jaGFuZ2UiLAotICAgIFJlc29sdmVkU3Rh
dGVEaWRDaGFuZ2U6ICJkb20tYnJlYWtwb2ludC1yZXNvbHZlZC1zdGF0ZS1kaWQtY2hhbmdlIiwK
KyAgICBET01Ob2RlQ2hhbmdlZDogImRvbS1icmVha3BvaW50LWRvbS1ub2RlLWNoYW5nZWQiLAor
ICAgIERpc2FibGVkU3RhdGVDaGFuZ2VkOiAiZG9tLWJyZWFrcG9pbnQtZGlzYWJsZWQtc3RhdGUt
Y2hhbmdlZCIsCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL0V2ZW50QnJlYWtwb2ludC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9FdmVudEJyZWFrcG9pbnQuanMKaW5kZXggMWJkYzNmM2IxOWU1
OTM1ZDY4MGM5MjU5ZjkzZDAxNmJhN2ZhMmZiMy4uMTVjMDc3YzFhM2EwZGE4ODI4NjU4YjIwNDYw
YTRhOTRiYjM4YzU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL0V2ZW50QnJlYWtwb2ludC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRXZlbnRCcmVha3BvaW50LmpzCkBAIC0yNSwxOSArMjUs
MTcgQEAKIAogV0kuRXZlbnRCcmVha3BvaW50ID0gY2xhc3MgRXZlbnRCcmVha3BvaW50IGV4dGVu
ZHMgV0kuT2JqZWN0CiB7Ci0gICAgY29uc3RydWN0b3IodHlwZSwgZXZlbnROYW1lLCB7ZGlzYWJs
ZWQsIGV2ZW50TGlzdGVuZXJ9ID0ge30pCisgICAgY29uc3RydWN0b3IodHlwZSwgZXZlbnROYW1l
LCB7ZXZlbnRMaXN0ZW5lciwgZGlzYWJsZWR9ID0ge30pCiAgICAgewogICAgICAgICBzdXBlcigp
OwogCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiB0eXBlID09PSAic3RyaW5nIik7Ci0g
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KE9iamVjdC52YWx1ZXMoV0kuRXZlbnRCcmVha3BvaW50LlR5
cGUpLmluY2x1ZGVzKHR5cGUpKTsKLSAgICAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mIGV2ZW50
TmFtZSA9PT0gInN0cmluZyIpOworICAgICAgICBjb25zb2xlLmFzc2VydChPYmplY3QudmFsdWVz
KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlKS5pbmNsdWRlcyh0eXBlKSwgdHlwZSk7CisgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiBldmVudE5hbWUgPT09ICJzdHJpbmciLCBldmVudE5hbWUp
OwogCiAgICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlOwogICAgICAgICB0aGlzLl9ldmVudE5hbWUg
PSBldmVudE5hbWU7Ci0KLSAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZCB8fCBmYWxz
ZTsKICAgICAgICAgdGhpcy5fZXZlbnRMaXN0ZW5lciA9IGV2ZW50TGlzdGVuZXIgfHwgbnVsbDsK
KyAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZCB8fCBmYWxzZTsKICAgICB9CiAKICAg
ICAvLyBTdGF0aWMKQEAgLTY3LDcgKzY1LDcgQEAgV0kuRXZlbnRCcmVha3BvaW50ID0gY2xhc3Mg
RXZlbnRCcmVha3BvaW50IGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAgICAgdGhpcy5fZGlzYWJs
ZWQgPSBkaXNhYmxlZDsKIAotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
SS5FdmVudEJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZURpZENoYW5nZSk7CisgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkV2ZW50QnJlYWtwb2ludC5FdmVudC5E
aXNhYmxlZFN0YXRlQ2hhbmdlZCk7CiAgICAgfQogCiAgICAgZ2V0IHNlcmlhbGl6YWJsZUluZm8o
KQpAQCAtOTksNiArOTcsNSBAQCBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZUNvb2tpZUtleSA9ICJl
dmVudC1icmVha3BvaW50LXR5cGUiOwogV0kuRXZlbnRCcmVha3BvaW50LkV2ZW50TmFtZUNvb2tp
ZUtleSA9ICJldmVudC1icmVha3BvaW50LWV2ZW50LW5hbWUiOwogCiBXSS5FdmVudEJyZWFrcG9p
bnQuRXZlbnQgPSB7Ci0gICAgRGlzYWJsZWRTdGF0ZURpZENoYW5nZTogImV2ZW50LWJyZWFrcG9p
bnQtZGlzYWJsZWQtc3RhdGUtZGlkLWNoYW5nZSIsCi0gICAgUmVzb2x2ZWRTdGF0ZURpZENoYW5n
ZTogImV2ZW50LWJyZWFrcG9pbnQtcmVzb2x2ZWQtc3RhdGUtZGlkLWNoYW5nZSIsCisgICAgRGlz
YWJsZWRTdGF0ZUNoYW5nZWQ6ICJldmVudC1icmVha3BvaW50LWRpc2FibGVkLXN0YXRlLWNoYW5n
ZWQiLAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9VUkxCcmVha3BvaW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL1VSTEJyZWFrcG9pbnQuanMKaW5kZXggYjhmYTI4ZWY4ZTIwZTc0NmZmODAy
NmNjMWY1ZDMzNDBiNDZiNWQyMy4uYTBiMWFiYzBlMjk3YjA0MjE5OTRjYTFmZGJkZDI5MjFkZDU3
MGRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL1VSTEJyZWFrcG9pbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL1VSTEJyZWFrcG9pbnQuanMKQEAgLTI1LDE1ICsyNSwyNyBAQAogCiBXSS5V
UkxCcmVha3BvaW50ID0gY2xhc3MgVVJMQnJlYWtwb2ludCBleHRlbmRzIFdJLk9iamVjdAogewot
ICAgIGNvbnN0cnVjdG9yKHR5cGUsIHVybCwgZGlzYWJsZWQpCisgICAgY29uc3RydWN0b3IodHlw
ZSwgdXJsLCB7ZGlzYWJsZWR9ID0ge30pCiAgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydChP
YmplY3QudmFsdWVzKFdJLlVSTEJyZWFrcG9pbnQuVHlwZSkuaW5jbHVkZXModHlwZSksIHR5cGUp
OworICAgICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgdXJsID09PSAic3RyaW5nIiwgdXJsKTsK
KwogICAgICAgICBzdXBlcigpOwogCi0gICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlIHx8IFdJLlVS
TEJyZWFrcG9pbnQuVHlwZS5UZXh0OwotICAgICAgICB0aGlzLl91cmwgPSB1cmwgfHwgIiI7Cisg
ICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlOworICAgICAgICB0aGlzLl91cmwgPSB1cmw7CiAgICAg
ICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQgfHwgZmFsc2U7CiAgICAgfQogCisgICAgLy8g
U3RhdGljCisKKyAgICBzdGF0aWMgZnJvbVBheWxvYWQocGF5bG9hZCkKKyAgICB7CisgICAgICAg
IHJldHVybiBuZXcgV0kuVVJMQnJlYWtwb2ludChwYXlsb2FkLnR5cGUsIHBheWxvYWQudXJsLCB7
CisgICAgICAgICAgICBkaXNhYmxlZDogISFwYXlsb2FkLmRpc2FibGVkLAorICAgICAgICB9KTsK
KyAgICB9CisKICAgICAvLyBQdWJsaWMKIAogICAgIGdldCB0eXBlKCkgeyByZXR1cm4gdGhpcy5f
dHlwZTsgfQpAQCAtNTEsNyArNjMsNyBAQCBXSS5VUkxCcmVha3BvaW50ID0gY2xhc3MgVVJMQnJl
YWtwb2ludCBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gZGlz
YWJsZWQ7CiAKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuVVJMQnJl
YWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlRGlkQ2hhbmdlKTsKKyAgICAgICAgdGhpcy5kaXNw
YXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuVVJMQnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRl
Q2hhbmdlZCk7CiAgICAgfQogCiAgICAgZ2V0IHNlcmlhbGl6YWJsZUluZm8oKQpAQCAtNzAsOCAr
ODIsNyBAQCBXSS5VUkxCcmVha3BvaW50ID0gY2xhc3MgVVJMQnJlYWtwb2ludCBleHRlbmRzIFdJ
Lk9iamVjdAogfTsKIAogV0kuVVJMQnJlYWtwb2ludC5FdmVudCA9IHsKLSAgICBEaXNhYmxlZFN0
YXRlRGlkQ2hhbmdlOiAidXJsLWJyZWFrcG9pbnQtZGlzYWJsZWQtc3RhdGUtZGlkLWNoYW5nZSIs
Ci0gICAgUmVzb2x2ZWRTdGF0ZURpZENoYW5nZTogInVybC1icmVha3BvaW50LXJlc29sdmVkLXN0
YXRlLWRpZC1jaGFuZ2UiLAorICAgIERpc2FibGVkU3RhdGVDaGFuZ2VkOiAidXJsLWJyZWFrcG9p
bnQtZGlzYWJsZWQtc3RhdGUtY2hhbmdlZCIsCiB9OwogCiBXSS5VUkxCcmVha3BvaW50LlR5cGUg
PSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9ET01CcmVha3BvaW50VHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9ET01CcmVha3BvaW50VHJlZUVsZW1lbnQuanMKaW5kZXggNWNlZjQw
OTQ4OGMwZDRlODk2MjVkYmNmYzMyZWFiZTcxYWYxYTYxYS4uNjY3ZDU1N2VmYzYyMjI4NzU3NWJl
OWZiMzBlNTAwNDQyOTI4NDcwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRE9NQnJlYWtwb2ludFRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTUJyZWFrcG9pbnRUcmVlRWxl
bWVudC5qcwpAQCAtMzksMTMgKzM5LDkgQEAgV0kuRE9NQnJlYWtwb2ludFRyZWVFbGVtZW50ID0g
Y2xhc3MgRE9NQnJlYWtwb2ludFRyZWVFbGVtZW50IGV4dGVuZHMgV0kuR2VuZXJhbFQKICAgICAg
ICAgc3VwZXIoWyJicmVha3BvaW50IiwgImRvbSIsIGNsYXNzTmFtZV0sIHRpdGxlLCBzdWJ0aXRs
ZSwgYnJlYWtwb2ludCk7CiAKICAgICAgICAgdGhpcy5zdGF0dXMgPSBXSS5JbWFnZVV0aWxpdGll
cy51c2VTVkdTeW1ib2woIkltYWdlcy9CcmVha3BvaW50LnN2ZyIpOwotICAgICAgICB0aGlzLnN0
YXR1cy5jbGFzc0xpc3QuYWRkKCJzdGF0dXMtaW1hZ2UiLCAicmVzb2x2ZWQiKTsKKyAgICAgICAg
dGhpcy5zdGF0dXMuY2xhc3NOYW1lID0gV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50LlN0YXR1c0lt
YWdlRWxlbWVudFN0eWxlQ2xhc3NOYW1lOwogCiAgICAgICAgIHRoaXMudG9vbHRpcEhhbmRsZWRT
ZXBhcmF0ZWx5ID0gdHJ1ZTsKLQotICAgICAgICBicmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIo
V0kuRE9NQnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzLl91cGRh
dGVTdGF0dXMsIHRoaXMpOwotCi0gICAgICAgIHRoaXMuX3VwZGF0ZVN0YXR1cygpOwogICAgIH0K
IAogICAgIC8vIFN0YXRpYwpAQCAtNzEsNiArNjcsOSBAQCBXSS5ET01CcmVha3BvaW50VHJlZUVs
ZW1lbnQgPSBjbGFzcyBET01CcmVha3BvaW50VHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFs
VAogICAgIHsKICAgICAgICAgc3VwZXIub25hdHRhY2goKTsKIAorICAgICAgICB0aGlzLnJlcHJl
c2VudGVkT2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5EaXNh
YmxlZFN0YXRlQ2hhbmdlZCwgdGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlzKTsKKyAgICAgICAgV0ku
ZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50
LkJyZWFrcG9pbnRzRW5hYmxlZERpZENoYW5nZSwgdGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlzKTsK
KwogICAgICAgICB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudENsaWNrZWQgPSB0aGlzLl9z
dGF0dXNJbWFnZUVsZW1lbnRDbGlja2VkLmJpbmQodGhpcyk7CiAgICAgICAgIHRoaXMuX2JvdW5k
U3RhdHVzSW1hZ2VFbGVtZW50Rm9jdXNlZCA9IHRoaXMuX3N0YXR1c0ltYWdlRWxlbWVudEZvY3Vz
ZWQuYmluZCh0aGlzKTsKICAgICAgICAgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRNb3Vz
ZURvd24gPSB0aGlzLl9zdGF0dXNJbWFnZUVsZW1lbnRNb3VzZURvd24uYmluZCh0aGlzKTsKQEAg
LTc4LDEyICs3NywxNyBAQCBXSS5ET01CcmVha3BvaW50VHJlZUVsZW1lbnQgPSBjbGFzcyBET01C
cmVha3BvaW50VHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFsVAogICAgICAgICB0aGlzLnN0
YXR1cy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVt
ZW50Q2xpY2tlZCk7CiAgICAgICAgIHRoaXMuc3RhdHVzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vz
IiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRGb2N1c2VkKTsKICAgICAgICAgdGhpcy5z
dGF0dXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFn
ZUVsZW1lbnRNb3VzZURvd24pOworCisgICAgICAgIHRoaXMuX3VwZGF0ZVN0YXR1cygpOwogICAg
IH0KIAogICAgIG9uZGV0YWNoKCkKICAgICB7CiAgICAgICAgIHN1cGVyLm9uZGV0YWNoKCk7CiAK
KyAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKG51bGws
IG51bGwsIHRoaXMpOworICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0
ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKwogICAgICAgICB0aGlzLnN0YXR1cy5yZW1vdmVFdmVu
dExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Q2xpY2tlZCk7
CiAgICAgICAgIHRoaXMuc3RhdHVzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIiwgdGhpcy5f
Ym91bmRTdGF0dXNJbWFnZUVsZW1lbnRGb2N1c2VkKTsKICAgICAgICAgdGhpcy5zdGF0dXMucmVt
b3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1l
bnRNb3VzZURvd24pOwpAQCAtMTU0LDYgKzE1OCwxMCBAQCBXSS5ET01CcmVha3BvaW50VHJlZUVs
ZW1lbnQgPSBjbGFzcyBET01CcmVha3BvaW50VHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFs
VAogCiAgICAgX3VwZGF0ZVN0YXR1cygpCiAgICAgewotICAgICAgICB0aGlzLnN0YXR1cy5jbGFz
c0xpc3QudG9nZ2xlKCJkaXNhYmxlZCIsIHRoaXMucmVwcmVzZW50ZWRPYmplY3QuZGlzYWJsZWQp
OworICAgICAgICBpZiAoIXRoaXMuc3RhdHVzKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIHRoaXMuc3RhdHVzLmNsYXNzTGlzdC50b2dnbGUoV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50
LlN0YXR1c0ltYWdlRGlzYWJsZWRTdHlsZUNsYXNzTmFtZSwgdGhpcy5yZXByZXNlbnRlZE9iamVj
dC5kaXNhYmxlZCk7CisgICAgICAgIHRoaXMuc3RhdHVzLmNsYXNzTGlzdC50b2dnbGUoV0kuQnJl
YWtwb2ludFRyZWVFbGVtZW50LlN0YXR1c0ltYWdlUmVzb2x2ZWRTdHlsZUNsYXNzTmFtZSwgV0ku
ZGVidWdnZXJNYW5hZ2VyLmJyZWFrcG9pbnRzRW5hYmxlZCk7CiAgICAgfQogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250
ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RP
TVRyZWVDb250ZW50Vmlldy5qcwppbmRleCBkZGY1NTcwN2E3ZGU3MzUyNjdiMDEyOTgzZWM5YzBi
M2RlNDA5YTM4Li5iODM5MDUxNGZjZGFlZGFhNTE4MGE0ZmEzMmUwZGI5YjljZGRiNGI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVl
Q29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCkBAIC05NSw4ICs5NSw4IEBAIFdJLkRPTVRyZWVD
b250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRW
aWV3CiAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihX
SS5ET01EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuRE9NQnJlYWtwb2ludEFkZGVkLCB0aGlzLl9kb21C
cmVha3BvaW50QWRkZWRPclJlbW92ZWQsIHRoaXMpOwogICAgICAgICAgICAgV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLkV2ZW50LkRP
TUJyZWFrcG9pbnRSZW1vdmVkLCB0aGlzLl9kb21CcmVha3BvaW50QWRkZWRPclJlbW92ZWQsIHRo
aXMpOwogCi0gICAgICAgICAgICBXSS5ET01CcmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIoV0ku
RE9NQnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzLl9kb21CcmVh
a3BvaW50RGlzYWJsZWRTdGF0ZURpZENoYW5nZSwgdGhpcyk7Ci0gICAgICAgICAgICBXSS5ET01C
cmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5SZXNvbHZl
ZFN0YXRlRGlkQ2hhbmdlLCB0aGlzLl9kb21CcmVha3BvaW50UmVzb2x2ZWRTdGF0ZURpZENoYW5n
ZSwgdGhpcyk7CisgICAgICAgICAgICBXSS5ET01CcmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIo
V0kuRE9NQnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxl
RE9NQnJlYWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkLCB0aGlzKTsKKyAgICAgICAgICAgIFdJ
LkRPTUJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01CcmVha3BvaW50LkV2ZW50LkRP
TU5vZGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVET01CcmVha3BvaW50RE9NTm9kZUNoYW5nZWQsIHRo
aXMpOwogCiAgICAgICAgICAgICB0aGlzLl9icmVha3BvaW50c0VuYWJsZWREaWRDaGFuZ2UoKTsK
ICAgICAgICAgfQpAQCAtNzQ1LDEzICs3NDUsMTMgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0g
Y2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAg
dGhpcy5fdXBkYXRlQnJlYWtwb2ludFN0YXR1cyhicmVha3BvaW50LmRvbU5vZGVJZGVudGlmaWVy
KTsKICAgICB9CiAKLSAgICBfZG9tQnJlYWtwb2ludERpc2FibGVkU3RhdGVEaWRDaGFuZ2UoZXZl
bnQpCisgICAgX2hhbmRsZURPTUJyZWFrcG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdlZChldmVudCkK
ICAgICB7CiAgICAgICAgIGxldCBicmVha3BvaW50ID0gZXZlbnQudGFyZ2V0OwogICAgICAgICB0
aGlzLl91cGRhdGVCcmVha3BvaW50U3RhdHVzKGJyZWFrcG9pbnQuZG9tTm9kZUlkZW50aWZpZXIp
OwogICAgIH0KIAotICAgIF9kb21CcmVha3BvaW50UmVzb2x2ZWRTdGF0ZURpZENoYW5nZShldmVu
dCkKKyAgICBfaGFuZGxlRE9NQnJlYWtwb2ludERPTU5vZGVDaGFuZ2VkKGV2ZW50KQogICAgIHsK
ICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBldmVudC50YXJnZXQ7CiAgICAgICAgIGxldCBub2Rl
SWRlbnRpZmllciA9IGJyZWFrcG9pbnQuZG9tTm9kZUlkZW50aWZpZXIgfHwgZXZlbnQuZGF0YS5v
bGROb2RlSWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMKaW5kZXgg
NmY0OTk0MmM5NDhiOTMxNDE5NTYzNzZmN2I0ZGE1YTJjYTg1YTVjMC4uNzIxMWZiZTQ1Nzg5Njkw
NmY1NGY1YjE0OTYwNzgwYzcxNWM4NGUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFu
ZWwuanMKQEAgLTUzLDcgKzUzLDcgQEAgV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBE
ZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmEKICAgICAgICAg
V0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2
ZW50LkFjdGl2ZUNhbGxGcmFtZURpZENoYW5nZSwgdGhpcy5fZGVidWdnZXJBY3RpdmVDYWxsRnJh
bWVEaWRDaGFuZ2UsIHRoaXMpOwogICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRM
aXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuV2FpdGluZ1RvUGF1c2UsIHRoaXMuX2Rl
YnVnZ2VyV2FpdGluZ1RvUGF1c2UsIHRoaXMpOwogCi0gICAgICAgIFdJLkRPTUJyZWFrcG9pbnQu
YWRkRXZlbnRMaXN0ZW5lcihXSS5ET01CcmVha3BvaW50LkV2ZW50LlJlc29sdmVkU3RhdGVEaWRD
aGFuZ2UsIHRoaXMuX2RvbUJyZWFrcG9pbnRSZXNvbHZlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzKTsK
KyAgICAgICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9p
bnQuRXZlbnQuRE9NTm9kZUNoYW5nZWQsIHRoaXMuX2hhbmRsZURPTUJyZWFrcG9pbnRET01Ob2Rl
Q2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1dpbGxTdGFydCwgdGhpcy5f
dGltZWxpbmVDYXB0dXJpbmdXaWxsU3RhcnQsIHRoaXMpOwogICAgICAgICBXSS50aW1lbGluZU1h
bmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5n
U3RvcHBlZCwgdGhpcy5fdGltZWxpbmVDYXB0dXJpbmdTdG9wcGVkLCB0aGlzKTsKQEAgLTEzNjMs
NyArMTM2Myw3IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRl
YmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgIHJldHVybiBpc3N1
ZVRyZWVFbGVtZW50OwogICAgIH0KIAotICAgIF9kb21CcmVha3BvaW50UmVzb2x2ZWRTdGF0ZURp
ZENoYW5nZShldmVudCkKKyAgICBfaGFuZGxlRE9NQnJlYWtwb2ludERPTU5vZGVDaGFuZ2VkKGV2
ZW50KQogICAgIHsKICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBldmVudC50YXJnZXQ7CiAgICAg
ICAgIGlmIChicmVha3BvaW50LmRvbU5vZGVJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50VHJlZUVs
ZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVu
dEJyZWFrcG9pbnRUcmVlRWxlbWVudC5qcwppbmRleCA5ZWE5MTEyN2QxYTJmMjNmZDY2MTdjMDM1
YWE0MDM1ZWMwZDRlMzFmLi5iOGExYjUyMWQ1OTBjMjYzNDI4Y2QxYzgwMjNhMGNkNWY1ZDcwMzRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9F
dmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5qcwpAQCAtNDAs
MTMgKzQwLDkgQEAgV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQgPSBjbGFzcyBFdmVudEJy
ZWFrcG9pbnRUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmUKICAgICAgICAgc3VwZXIoY2xhc3NO
YW1lcywgdGl0bGUsIHN1YnRpdGxlLCBicmVha3BvaW50KTsKIAogICAgICAgICB0aGlzLnN0YXR1
cyA9IFdJLkltYWdlVXRpbGl0aWVzLnVzZVNWR1N5bWJvbCgiSW1hZ2VzL0JyZWFrcG9pbnQuc3Zn
Iik7Ci0gICAgICAgIHRoaXMuc3RhdHVzLmNsYXNzTGlzdC5hZGQoInN0YXR1cy1pbWFnZSIsICJy
ZXNvbHZlZCIpOworICAgICAgICB0aGlzLnN0YXR1cy5jbGFzc05hbWUgPSBXSS5CcmVha3BvaW50
VHJlZUVsZW1lbnQuU3RhdHVzSW1hZ2VFbGVtZW50U3R5bGVDbGFzc05hbWU7CiAKICAgICAgICAg
dGhpcy50b29sdGlwSGFuZGxlZFNlcGFyYXRlbHkgPSB0cnVlOwotCi0gICAgICAgIGJyZWFrcG9p
bnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5FdmVudEJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0
ZURpZENoYW5nZSwgdGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlzKTsKLQotICAgICAgICB0aGlzLl91
cGRhdGVTdGF0dXMoKTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKQEAgLTU1LDYgKzUxLDkg
QEAgV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnRU
cmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmUKICAgICB7CiAgICAgICAgIHN1cGVyLm9uYXR0YWNo
KCk7CiAKKyAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5hZGRFdmVudExpc3RlbmVyKFdJ
LkV2ZW50QnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlQ2hhbmdlZCwgdGhpcy5fdXBkYXRl
U3RhdHVzLCB0aGlzKTsKKyAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LkJyZWFrcG9pbnRzRW5hYmxlZERpZENoYW5nZSwg
dGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlzKTsKKwogICAgICAgICB0aGlzLl9ib3VuZFN0YXR1c0lt
YWdlRWxlbWVudENsaWNrZWQgPSB0aGlzLl9zdGF0dXNJbWFnZUVsZW1lbnRDbGlja2VkLmJpbmQo
dGhpcyk7CiAgICAgICAgIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Rm9jdXNlZCA9IHRo
aXMuX3N0YXR1c0ltYWdlRWxlbWVudEZvY3VzZWQuYmluZCh0aGlzKTsKICAgICAgICAgdGhpcy5f
Ym91bmRTdGF0dXNJbWFnZUVsZW1lbnRNb3VzZURvd24gPSB0aGlzLl9zdGF0dXNJbWFnZUVsZW1l
bnRNb3VzZURvd24uYmluZCh0aGlzKTsKQEAgLTYyLDEyICs2MSwxNyBAQCBXSS5FdmVudEJyZWFr
cG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIEV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50IGV4dGVu
ZHMgV0kuR2VuZQogICAgICAgICB0aGlzLnN0YXR1cy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Q2xpY2tlZCk7CiAgICAgICAgIHRoaXMuc3Rh
dHVzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1l
bnRGb2N1c2VkKTsKICAgICAgICAgdGhpcy5zdGF0dXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vk
b3duIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRNb3VzZURvd24pOworCisgICAgICAg
IHRoaXMuX3VwZGF0ZVN0YXR1cygpOwogICAgIH0KIAogICAgIG9uZGV0YWNoKCkKICAgICB7CiAg
ICAgICAgIHN1cGVyLm9uZGV0YWNoKCk7CiAKKyAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVj
dC5yZW1vdmVFdmVudExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOworICAgICAgICBXSS5kZWJ1
Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKwogICAg
ICAgICB0aGlzLnN0YXR1cy5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2JvdW5k
U3RhdHVzSW1hZ2VFbGVtZW50Q2xpY2tlZCk7CiAgICAgICAgIHRoaXMuc3RhdHVzLnJlbW92ZUV2
ZW50TGlzdGVuZXIoImZvY3VzIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRGb2N1c2Vk
KTsKICAgICAgICAgdGhpcy5zdGF0dXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwg
dGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRNb3VzZURvd24pOwpAQCAtMTUyLDYgKzE1Niwx
MCBAQCBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIEV2ZW50QnJlYWtwb2lu
dFRyZWVFbGVtZW50IGV4dGVuZHMgV0kuR2VuZQogCiAgICAgX3VwZGF0ZVN0YXR1cygpCiAgICAg
ewotICAgICAgICB0aGlzLnN0YXR1cy5jbGFzc0xpc3QudG9nZ2xlKCJkaXNhYmxlZCIsIHRoaXMu
cmVwcmVzZW50ZWRPYmplY3QuZGlzYWJsZWQpOworICAgICAgICBpZiAoIXRoaXMuc3RhdHVzKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuc3RhdHVzLmNsYXNzTGlzdC50b2dn
bGUoV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50LlN0YXR1c0ltYWdlRGlzYWJsZWRTdHlsZUNsYXNz
TmFtZSwgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5kaXNhYmxlZCk7CisgICAgICAgIHRoaXMuc3Rh
dHVzLmNsYXNzTGlzdC50b2dnbGUoV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50LlN0YXR1c0ltYWdl
UmVzb2x2ZWRTdHlsZUNsYXNzTmFtZSwgV0kuZGVidWdnZXJNYW5hZ2VyLmJyZWFrcG9pbnRzRW5h
YmxlZCk7CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRl
YmFyUGFuZWwuanMKaW5kZXggZjBlNTdiMjc1ZjBkZWQyYzM2ZTE0NTEwODJlNmMwMTcyODlkZWVh
Ny4uNGYyNTE0ZWQ2MzUzMzg4ODgzYWZjNDJjN2NkNGMyNjIzMDQ4OWM0MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRp
b25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKQEAgLTI0OCw3ICsyNDgs
NyBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNvdXJjZXNOYXZp
Z2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICBXSS5CcmVha3BvaW50LmFkZEV2
ZW50TGlzdGVuZXIoV0kuQnJlYWtwb2ludC5FdmVudC5EaXNwbGF5TG9jYXRpb25EaWRDaGFuZ2Us
IHRoaXMuX2hhbmRsZURlYnVnZ2VyT2JqZWN0RGlzcGxheUxvY2F0aW9uRGlkQ2hhbmdlLCB0aGlz
KTsKICAgICAgICAgV0kuSXNzdWVNZXNzYWdlLmFkZEV2ZW50TGlzdGVuZXIoV0kuSXNzdWVNZXNz
YWdlLkV2ZW50LkRpc3BsYXlMb2NhdGlvbkRpZENoYW5nZSwgdGhpcy5faGFuZGxlRGVidWdnZXJP
YmplY3REaXNwbGF5TG9jYXRpb25EaWRDaGFuZ2UsIHRoaXMpOwogCi0gICAgICAgIFdJLkRPTUJy
ZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01CcmVha3BvaW50LkV2ZW50LlJlc29sdmVk
U3RhdGVEaWRDaGFuZ2UsIHRoaXMuX2hhbmRsZURPTUJyZWFrcG9pbnRSZXNvbHZlZFN0YXRlRGlk
Q2hhbmdlLCB0aGlzKTsKKyAgICAgICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVy
KFdJLkRPTUJyZWFrcG9pbnQuRXZlbnQuRE9NTm9kZUNoYW5nZWQsIHRoaXMuX2hhbmRsZURPTUJy
ZWFrcG9pbnRET01Ob2RlQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAgV0kuY29uc29sZU1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5Jc3N1ZUFkZGVkLCB0
aGlzLl9oYW5kbGVDb25zb2xlSXNzdWVBZGRlZCwgdGhpcyk7CiAgICAgICAgIFdJLmNvbnNvbGVN
YW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuQ29uc29sZU1hbmFnZXIuRXZlbnQuQ2xlYXJlZCwg
dGhpcy5faGFuZGxlQ29uc29sZUNsZWFyZWQsIHRoaXMpOwpAQCAtMTU2OCw3ICsxNTY4LDcgQEAg
V0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlv
blNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgIG5ld0RlYnVnZ2VyVHJlZUVsZW1l
bnQucmV2ZWFsQW5kU2VsZWN0KHRydWUsIGZhbHNlLCB0cnVlKTsKICAgICB9CiAKLSAgICBfaGFu
ZGxlRE9NQnJlYWtwb2ludFJlc29sdmVkU3RhdGVEaWRDaGFuZ2UoZXZlbnQpCisgICAgX2hhbmRs
ZURPTUJyZWFrcG9pbnRET01Ob2RlQ2hhbmdlZChldmVudCkKICAgICB7CiAgICAgICAgIGxldCBi
cmVha3BvaW50ID0gZXZlbnQudGFyZ2V0OwogICAgICAgICBpZiAoYnJlYWtwb2ludC5kb21Ob2Rl
SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1VSTEJyZWFrcG9pbnRUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1VSTEJyZWFrcG9pbnRUcmVlRWxlbWVudC5qcwppbmRl
eCA4N2EzZDcyN2JiOTI5ZTYwYjNmNzYyMmFmNWM1Nzc3NzIxY2ExZjQ1Li4wNWIxODA4ZTM3Mjli
YWU0Zjk1ZjlkYjQyMjk4ZTk5ODA2ZjgwOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9VUkxCcmVha3BvaW50VHJlZUVsZW1lbnQuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVVJMQnJlYWtwb2lu
dFRyZWVFbGVtZW50LmpzCkBAIC00NCwxMyArNDQsOSBAQCBXSS5VUkxCcmVha3BvaW50VHJlZUVs
ZW1lbnQgPSBjbGFzcyBVUkxCcmVha3BvaW50VHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFs
VAogICAgICAgICBzdXBlcihbImJyZWFrcG9pbnQiLCAidXJsIiwgY2xhc3NOYW1lXSwgdGl0bGUs
IHN1YnRpdGxlLCBicmVha3BvaW50KTsKIAogICAgICAgICB0aGlzLnN0YXR1cyA9IFdJLkltYWdl
VXRpbGl0aWVzLnVzZVNWR1N5bWJvbCgiSW1hZ2VzL0JyZWFrcG9pbnQuc3ZnIik7Ci0gICAgICAg
IHRoaXMuc3RhdHVzLmNsYXNzTGlzdC5hZGQoInN0YXR1cy1pbWFnZSIsICJyZXNvbHZlZCIpOwor
ICAgICAgICB0aGlzLnN0YXR1cy5jbGFzc05hbWUgPSBXSS5CcmVha3BvaW50VHJlZUVsZW1lbnQu
U3RhdHVzSW1hZ2VFbGVtZW50U3R5bGVDbGFzc05hbWU7CiAKICAgICAgICAgdGhpcy50b29sdGlw
SGFuZGxlZFNlcGFyYXRlbHkgPSB0cnVlOwotCi0gICAgICAgIGJyZWFrcG9pbnQuYWRkRXZlbnRM
aXN0ZW5lcihXSS5VUkxCcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVEaWRDaGFuZ2UsIHRo
aXMuX3VwZGF0ZVN0YXR1cywgdGhpcyk7Ci0KLSAgICAgICAgdGhpcy5fdXBkYXRlU3RhdHVzKCk7
CiAgICAgfQogCiAgICAgLy8gUHJvdGVjdGVkCkBAIC01OSw2ICs1NSw5IEBAIFdJLlVSTEJyZWFr
cG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIFVSTEJyZWFrcG9pbnRUcmVlRWxlbWVudCBleHRlbmRz
IFdJLkdlbmVyYWxUCiAgICAgewogICAgICAgICBzdXBlci5vbmF0dGFjaCgpOwogCisgICAgICAg
IHRoaXMucmVwcmVzZW50ZWRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcihXSS5VUkxCcmVha3BvaW50
LkV2ZW50LkRpc2FibGVkU3RhdGVDaGFuZ2VkLCB0aGlzLl91cGRhdGVTdGF0dXMsIHRoaXMpOwor
ICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1h
bmFnZXIuRXZlbnQuQnJlYWtwb2ludHNFbmFibGVkRGlkQ2hhbmdlLCB0aGlzLl91cGRhdGVTdGF0
dXMsIHRoaXMpOworCiAgICAgICAgIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Q2xpY2tl
ZCA9IHRoaXMuX3N0YXR1c0ltYWdlRWxlbWVudENsaWNrZWQuYmluZCh0aGlzKTsKICAgICAgICAg
dGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRGb2N1c2VkID0gdGhpcy5fc3RhdHVzSW1hZ2VF
bGVtZW50Rm9jdXNlZC5iaW5kKHRoaXMpOwogICAgICAgICB0aGlzLl9ib3VuZFN0YXR1c0ltYWdl
RWxlbWVudE1vdXNlRG93biA9IHRoaXMuX3N0YXR1c0ltYWdlRWxlbWVudE1vdXNlRG93bi5iaW5k
KHRoaXMpOwpAQCAtNjYsMTIgKzY1LDE3IEBAIFdJLlVSTEJyZWFrcG9pbnRUcmVlRWxlbWVudCA9
IGNsYXNzIFVSTEJyZWFrcG9pbnRUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmVyYWxUCiAgICAg
ICAgIHRoaXMuc3RhdHVzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fYm91bmRTdGF0
dXNJbWFnZUVsZW1lbnRDbGlja2VkKTsKICAgICAgICAgdGhpcy5zdGF0dXMuYWRkRXZlbnRMaXN0
ZW5lcigiZm9jdXMiLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudEZvY3VzZWQpOwogICAg
ICAgICB0aGlzLnN0YXR1cy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl9ib3Vu
ZFN0YXR1c0ltYWdlRWxlbWVudE1vdXNlRG93bik7CisKKyAgICAgICAgdGhpcy5fdXBkYXRlU3Rh
dHVzKCk7CiAgICAgfQogCiAgICAgb25kZXRhY2goKQogICAgIHsKICAgICAgICAgc3VwZXIub25k
ZXRhY2goKTsKIAorICAgICAgICB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LnJlbW92ZUV2ZW50TGlz
dGVuZXIobnVsbCwgbnVsbCwgdGhpcyk7CisgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1v
dmVFdmVudExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOworCiAgICAgICAgIHRoaXMuc3RhdHVz
LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1l
bnRDbGlja2VkKTsKICAgICAgICAgdGhpcy5zdGF0dXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9j
dXMiLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudEZvY3VzZWQpOwogICAgICAgICB0aGlz
LnN0YXR1cy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl9ib3VuZFN0YXR1
c0ltYWdlRWxlbWVudE1vdXNlRG93bik7CkBAIC0xNDMsNiArMTQ3LDEwIEBAIFdJLlVSTEJyZWFr
cG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIFVSTEJyZWFrcG9pbnRUcmVlRWxlbWVudCBleHRlbmRz
IFdJLkdlbmVyYWxUCiAKICAgICBfdXBkYXRlU3RhdHVzKCkKICAgICB7Ci0gICAgICAgIHRoaXMu
c3RhdHVzLmNsYXNzTGlzdC50b2dnbGUoImRpc2FibGVkIiwgdGhpcy5yZXByZXNlbnRlZE9iamVj
dC5kaXNhYmxlZCk7CisgICAgICAgIGlmICghdGhpcy5zdGF0dXMpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgdGhpcy5zdGF0dXMuY2xhc3NMaXN0LnRvZ2dsZShXSS5CcmVha3BvaW50
VHJlZUVsZW1lbnQuU3RhdHVzSW1hZ2VEaXNhYmxlZFN0eWxlQ2xhc3NOYW1lLCB0aGlzLnJlcHJl
c2VudGVkT2JqZWN0LmRpc2FibGVkKTsKKyAgICAgICAgdGhpcy5zdGF0dXMuY2xhc3NMaXN0LnRv
Z2dsZShXSS5CcmVha3BvaW50VHJlZUVsZW1lbnQuU3RhdHVzSW1hZ2VSZXNvbHZlZFN0eWxlQ2xh
c3NOYW1lLCBXSS5kZWJ1Z2dlck1hbmFnZXIuYnJlYWtwb2ludHNFbmFibGVkKTsKICAgICB9CiB9
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363427</attachid>
            <date>2019-03-02 12:25:05 -0800</date>
            <delta_ts>2019-03-02 13:08:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195170-20190302122505.patch</filename>
            <type>text/plain</type>
            <size>28716</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDIyZWMyNmNmYWVjZGE1NDJiYzE3NTc1YWQ2ZmQ3
ODY3ODViNWRmYzcuLmM5MzgwNmU0MmE3Mzk1NzlkOTc5NTUyZjM0YjhlYzExZmUyNTVmNWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE5LTAzLTAyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBE
ZWJ1Z2dlcjogRE9NLCBVUkwsIGFuZCBFdmVudCBicmVha3BvaW50cyBkb24ndCBncmV5IG91dCB3
aGVuIGFsbCBicmVha3BvaW50cyBhcmUgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTE3MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDg0NzgxOTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01CcmVha3BvaW50VHJlZUVsZW1lbnQuanM6Cisg
ICAgICAgIChXSS5ET01CcmVha3BvaW50VHJlZUVsZW1lbnQpOgorICAgICAgICAoV0kuRE9NQnJl
YWtwb2ludFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6CisgICAgICAgIChXSS5ET01C
cmVha3BvaW50VHJlZUVsZW1lbnQucHJvdG90eXBlLm9uZGV0YWNoKToKKyAgICAgICAgKFdJLkRP
TUJyZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUuX3VwZGF0ZVN0YXR1cyk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5qczoKKyAg
ICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50KToKKyAgICAgICAgKFdJLkV2ZW50
QnJlYWtwb2ludFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6CisgICAgICAgIChXSS5F
dmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUub25kZXRhY2gpOgorICAgICAgICAo
V0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQucHJvdG90eXBlLl91cGRhdGVTdGF0dXMpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50Lmpz
OgorICAgICAgICAoV0kuVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50KToKKyAgICAgICAgKFdJLlVS
TEJyZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gpOgorICAgICAgICAoV0ku
VVJMQnJlYWtwb2ludFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmRldGFjaCk6CisgICAgICAgIChX
SS5VUkxCcmVha3BvaW50VHJlZUVsZW1lbnQucHJvdG90eXBlLl91cGRhdGVTdGF0dXMpOgorICAg
ICAgICBSZW1vdmUgdGhlIGAicmVzb2x2ZWQiYCBjbGFzcyB3aGVuIHRoZSBnbG9iYWwgImJyZWFr
cG9pbnRzIGVuYWJsZWQiIHN0YXRlIGlzIGNoYW5nZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL0NvbnRyb2xsZXJzL0RPTURlYnVnZ2VyTWFuYWdlci5qczoKKyAgICAgICAgKFdJLkRPTURl
YnVnZ2VyTWFuYWdlcik6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBl
Ll9oYW5kbGVET01CcmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAg
ICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZUV2ZW50QnJlYWtwb2lu
dERpc2FibGVkU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1h
bmFnZXIucHJvdG90eXBlLl9oYW5kbGVVUkxCcmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQp
OiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9ET01CcmVha3BvaW50Lmpz
OgorICAgICAgICAoV0kuRE9NQnJlYWtwb2ludCk6CisgICAgICAgIChXSS5ET01CcmVha3BvaW50
LmRlc2VyaWFsaXplKTogQWRkZWQuCisgICAgICAgIChXSS5ET01CcmVha3BvaW50LnByb3RvdHlw
ZS5zZXQgZGlzYWJsZWQpOgorICAgICAgICAoV0kuRE9NQnJlYWtwb2ludC5wcm90b3R5cGUuc2V0
IGRvbU5vZGVJZGVudGlmaWVyKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9FdmVu
dEJyZWFrcG9pbnQuanM6CisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnQuZGVzZXJpYWxpemUp
OiBBZGRlZC4KKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludC5wcm90b3R5cGUuc2V0IGRpc2Fi
bGVkKToKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludC5mcm9tUGF5bG9hZCk6IERlbGV0ZWQu
CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvVVJMQnJlYWtwb2ludC5qczoKKyAgICAg
ICAgKFdJLlVSTEJyZWFrcG9pbnQuZGVzZXJpYWxpemUpOiBBZGRlZC4KKyAgICAgICAgKFdJLlVS
TEJyZWFrcG9pbnQucHJvdG90eXBlLnNldCBkaXNhYmxlZCk6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5ET01UcmVlQ29u
dGVudFZpZXcpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5faGFu
ZGxlRE9NQnJlYWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChX
SS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVET01CcmVha3BvaW50RE9NTm9k
ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2Vy
U2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwucHJvdG90
eXBlLl9oYW5kbGVET01CcmVha3BvaW50UmVzb2x2ZWRTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVs
LmpzOgorICAgICAgICAoV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwpOgorICAgICAg
ICAoV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLl9oYW5kbGVET01C
cmVha3BvaW50UmVzb2x2ZWRTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgRHJpdmUtYnk6
IHJlbmFtZSBhbGwgZXZlbnRzIHdpdGggdGhlIG5hbWUgYCpEaWRDaGFuZ2VgIHRvIGAqQ2hhbmdl
ZGAuCisgICAgICAgIERyaXZlLWJ5OiBjcmVhdGUgc3RhdGljIGBkZXNlcmlhbGl6ZWAgaGVscGVy
IGZ1bmN0aW9ucy4KKwogMjAxOS0wMy0wMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENQVSBVc2FnZSAtIEVuZXJneSBJbXBh
Y3QgU2VjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQ29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzCmluZGV4
IGNiYmY1ZGY5NmU5ZWY2MTc2MjE4OWZlMDMxZTJiYzYyNzE5ODJiYTQuLmYyOTE0NTZiZjRmMmQ1
M2MzNjg4MGExMTI3NWVjYjI3YWJiNzY4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTURlYnVnZ2VyTWFuYWdlci5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01EZWJ1
Z2dlck1hbmFnZXIuanMKQEAgLTQwLDExICs0MCwxMyBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIg
PSBjbGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhp
cy5fdXJsQnJlYWtwb2ludHMgPSBbXTsKICAgICAgICAgdGhpcy5fYWxsUmVxdWVzdHNCcmVha3Bv
aW50RW5hYmxlZFNldHRpbmcgPSBuZXcgV0kuU2V0dGluZygiYnJlYWstb24tYWxsLXJlcXVlc3Rz
IiwgZmFsc2UpOwogCi0gICAgICAgIHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludCA9IG5ldyBX
SS5VUkxCcmVha3BvaW50KG51bGwsIG51bGwsICF0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnRF
bmFibGVkU2V0dGluZy52YWx1ZSk7CisgICAgICAgIHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2lu
dCA9IG5ldyBXSS5VUkxCcmVha3BvaW50KFdJLlVSTEJyZWFrcG9pbnQuVHlwZS5UZXh0LCAiIiwg
eworICAgICAgICAgICAgZGlzYWJsZWQ6ICF0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnRFbmFi
bGVkU2V0dGluZy52YWx1ZSwKKyAgICAgICAgfSk7CiAKLSAgICAgICAgV0kuRE9NQnJlYWtwb2lu
dC5hZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZURp
ZENoYW5nZSwgdGhpcy5fZG9tQnJlYWtwb2ludERpc2FibGVkU3RhdGVEaWRDaGFuZ2UsIHRoaXMp
OwotICAgICAgICBXSS5FdmVudEJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5FdmVudEJy
ZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZURpZENoYW5nZSwgdGhpcy5fZXZlbnRCcmVha3Bv
aW50RGlzYWJsZWRTdGF0ZURpZENoYW5nZSwgdGhpcyk7Ci0gICAgICAgIFdJLlVSTEJyZWFrcG9p
bnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5VUkxCcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVE
aWRDaGFuZ2UsIHRoaXMuX3VybEJyZWFrcG9pbnREaXNhYmxlZFN0YXRlRGlkQ2hhbmdlLCB0aGlz
KTsKKyAgICAgICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFr
cG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZUNoYW5nZWQsIHRoaXMuX2hhbmRsZURPTUJyZWFrcG9p
bnREaXNhYmxlZFN0YXRlQ2hhbmdlZCwgdGhpcyk7CisgICAgICAgIFdJLkV2ZW50QnJlYWtwb2lu
dC5hZGRFdmVudExpc3RlbmVyKFdJLkV2ZW50QnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRl
Q2hhbmdlZCwgdGhpcy5faGFuZGxlRXZlbnRCcmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQs
IHRoaXMpOworICAgICAgICBXSS5VUkxCcmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuVVJM
QnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlVVJMQnJl
YWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkLCB0aGlzKTsKIAogICAgICAgICBXSS5kb21NYW5h
Z2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NTWFuYWdlci5FdmVudC5Ob2RlUmVtb3ZlZCwgdGhp
cy5fbm9kZVJlbW92ZWQsIHRoaXMpOwogICAgICAgICBXSS5kb21NYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuRE9NTWFuYWdlci5FdmVudC5Ob2RlSW5zZXJ0ZWQsIHRoaXMuX25vZGVJbnNlcnRl
ZCwgdGhpcyk7CkBAIC01NywxOCArNTksMTQgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xh
c3MgRE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGlmICh0aGlz
LnN1cHBvcnRlZCkgewogICAgICAgICAgICAgdGhpcy5fcmVzdG9yaW5nQnJlYWtwb2ludHMgPSB0
cnVlOwogCi0gICAgICAgICAgICBmb3IgKGxldCBjb29raWUgb2YgdGhpcy5fZG9tQnJlYWtwb2lu
dHNTZXR0aW5nLnZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcg
V0kuRE9NQnJlYWtwb2ludChjb29raWUsIGNvb2tpZS50eXBlLCBjb29raWUuZGlzYWJsZWQpOwot
ICAgICAgICAgICAgICAgIHRoaXMuYWRkRE9NQnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGZvciAobGV0IHNlcmlhbGl6ZWRJbmZvIG9mIHRoaXMuX2Rv
bUJyZWFrcG9pbnRzU2V0dGluZy52YWx1ZSkKKyAgICAgICAgICAgICAgICB0aGlzLmFkZERPTUJy
ZWFrcG9pbnQoV0kuRE9NQnJlYWtwb2ludC5kZXNlcmlhbGl6ZShzZXJpYWxpemVkSW5mbykpOwog
Ci0gICAgICAgICAgICBmb3IgKGxldCBwYXlsb2FkIG9mIHRoaXMuX2V2ZW50QnJlYWtwb2ludFNl
dHRpbmcudmFsdWUpCi0gICAgICAgICAgICAgICAgdGhpcy5hZGRFdmVudEJyZWFrcG9pbnQoV0ku
RXZlbnRCcmVha3BvaW50LmZyb21QYXlsb2FkKHBheWxvYWQpKTsKKyAgICAgICAgICAgIGZvciAo
bGV0IHNlcmlhbGl6ZWRJbmZvIG9mIHRoaXMuX2V2ZW50QnJlYWtwb2ludFNldHRpbmcudmFsdWUp
CisgICAgICAgICAgICAgICAgdGhpcy5hZGRFdmVudEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3Bv
aW50LmRlc2VyaWFsaXplKHNlcmlhbGl6ZWRJbmZvKSk7CiAKLSAgICAgICAgICAgIGZvciAobGV0
IGNvb2tpZSBvZiB0aGlzLl91cmxCcmVha3BvaW50c1NldHRpbmcudmFsdWUpIHsKLSAgICAgICAg
ICAgICAgICBsZXQgYnJlYWtwb2ludCA9IG5ldyBXSS5VUkxCcmVha3BvaW50KGNvb2tpZS50eXBl
LCBjb29raWUudXJsLCBjb29raWUuZGlzYWJsZWQpOwotICAgICAgICAgICAgICAgIHRoaXMuYWRk
VVJMQnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZv
ciAobGV0IHNlcmlhbGl6ZWRJbmZvIG9mIHRoaXMuX3VybEJyZWFrcG9pbnRzU2V0dGluZy52YWx1
ZSkKKyAgICAgICAgICAgICAgICB0aGlzLmFkZFVSTEJyZWFrcG9pbnQoV0kuVVJMQnJlYWtwb2lu
dC5kZXNlcmlhbGl6ZShzZXJpYWxpemVkSW5mbykpOwogCiAgICAgICAgICAgICB0aGlzLl9yZXN0
b3JpbmdCcmVha3BvaW50cyA9IGZhbHNlOwogICAgICAgICAgICAgdGhpcy5fc3BlY3VsYXRpdmVs
eVJlc29sdmVCcmVha3BvaW50cygpOwpAQCAtNTcxLDIxICs1NjksMjEgQEAgV0kuRE9NRGVidWdn
ZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAg
ICAgICAgIHRoaXMuX3VybEJyZWFrcG9pbnRzU2V0dGluZy52YWx1ZSA9IHRoaXMuX3VybEJyZWFr
cG9pbnRzLm1hcCgoYnJlYWtwb2ludCkgPT4gYnJlYWtwb2ludC5zZXJpYWxpemFibGVJbmZvKTsK
ICAgICB9CiAKLSAgICBfZG9tQnJlYWtwb2ludERpc2FibGVkU3RhdGVEaWRDaGFuZ2UoZXZlbnQp
CisgICAgX2hhbmRsZURPTUJyZWFrcG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdlZChldmVudCkKICAg
ICB7CiAgICAgICAgIGxldCBicmVha3BvaW50ID0gZXZlbnQudGFyZ2V0OwogICAgICAgICB0aGlz
Ll91cGRhdGVET01CcmVha3BvaW50KGJyZWFrcG9pbnQpOwogICAgICAgICB0aGlzLl9zYXZlRE9N
QnJlYWtwb2ludHMoKTsKICAgICB9CiAKLSAgICBfZXZlbnRCcmVha3BvaW50RGlzYWJsZWRTdGF0
ZURpZENoYW5nZShldmVudCkKKyAgICBfaGFuZGxlRXZlbnRCcmVha3BvaW50RGlzYWJsZWRTdGF0
ZUNoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAgICBsZXQgYnJlYWtwb2ludCA9IGV2ZW50LnRh
cmdldDsKICAgICAgICAgdGhpcy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQpOwog
ICAgICAgICB0aGlzLl9zYXZlRXZlbnRCcmVha3BvaW50cygpOwogICAgIH0KIAotICAgIF91cmxC
cmVha3BvaW50RGlzYWJsZWRTdGF0ZURpZENoYW5nZShldmVudCkKKyAgICBfaGFuZGxlVVJMQnJl
YWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgbGV0IGJy
ZWFrcG9pbnQgPSBldmVudC50YXJnZXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01CcmVha3BvaW50LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTUJyZWFrcG9pbnQuanMKaW5kZXggOTM3
MWIxNTVlMGYyODdlNzM0ODJjYWIxMzE2NmI4MWQ0ZDZhNWU1Yy4uZGUyNDE5MjM1MTEzMTFmMDIw
MTIyMzQwZTdmM2YwNjFkNzRmNTBiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTUJyZWFrcG9pbnQuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTUJyZWFrcG9pbnQuanMKQEAgLTI1LDkg
KzI1LDEwIEBACiAKIFdJLkRPTUJyZWFrcG9pbnQgPSBjbGFzcyBET01CcmVha3BvaW50IGV4dGVu
ZHMgV0kuT2JqZWN0CiB7Ci0gICAgY29uc3RydWN0b3IoZG9tTm9kZU9ySW5mbywgdHlwZSwgZGlz
YWJsZWQpCisgICAgY29uc3RydWN0b3IoZG9tTm9kZU9ySW5mbywgdHlwZSwge2Rpc2FibGVkfSA9
IHt9KQogICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoZG9tTm9kZU9ySW5mbywgIk1pc3Np
bmcgRE9NTm9kZSBvciBpbmZvLiIpOworICAgICAgICBjb25zb2xlLmFzc2VydChkb21Ob2RlT3JJ
bmZvIGluc3RhbmNlb2YgV0kuRE9NTm9kZSB8fCB0eXBlb2YgZG9tTm9kZU9ySW5mbyA9PT0gIm9i
amVjdCIsIGRvbU5vZGVPckluZm8pOworICAgICAgICBjb25zb2xlLmFzc2VydChPYmplY3QudmFs
dWVzKFdJLkRPTUJyZWFrcG9pbnQuVHlwZSkuaW5jbHVkZXModHlwZSksIHR5cGUpOwogCiAgICAg
ICAgIHN1cGVyKCk7CiAKQEAgLTQ2LDYgKzQ3LDE1IEBAIFdJLkRPTUJyZWFrcG9pbnQgPSBjbGFz
cyBET01CcmVha3BvaW50IGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuX2Rpc2FibGVk
ID0gZGlzYWJsZWQgfHwgZmFsc2U7CiAgICAgfQogCisgICAgLy8gU3RhdGljCisKKyAgICBzdGF0
aWMgZGVzZXJpYWxpemUoc2VyaWFsaXplZEluZm8pCisgICAgeworICAgICAgICByZXR1cm4gbmV3
IFdJLkRPTUJyZWFrcG9pbnQoc2VyaWFsaXplZEluZm8sIHNlcmlhbGl6ZWRJbmZvLnR5cGUsIHsK
KyAgICAgICAgICAgIGRpc2FibGVkOiAhIXNlcmlhbGl6ZWRJbmZvLmRpc2FibGVkLAorICAgICAg
ICB9KTsKKyAgICB9CisKICAgICAvLyBQdWJsaWMKIAogICAgIGdldCB0eXBlKCkgeyByZXR1cm4g
dGhpcy5fdHlwZTsgfQpAQCAtNjQsNyArNzQsNyBAQCBXSS5ET01CcmVha3BvaW50ID0gY2xhc3Mg
RE9NQnJlYWtwb2ludCBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMuX2Rpc2FibGVk
ID0gZGlzYWJsZWQ7CiAKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0ku
RE9NQnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlRGlkQ2hhbmdlKTsKKyAgICAgICAgdGhp
cy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5EaXNhYmxl
ZFN0YXRlQ2hhbmdlZCk7CiAgICAgfQogCiAgICAgZ2V0IGRvbU5vZGVJZGVudGlmaWVyKCkKQEAg
LTgzLDcgKzkzLDcgQEAgV0kuRE9NQnJlYWtwb2ludCA9IGNsYXNzIERPTUJyZWFrcG9pbnQgZXh0
ZW5kcyBXSS5PYmplY3QKIAogICAgICAgICB0aGlzLl9kb21Ob2RlSWRlbnRpZmllciA9IG5vZGVJ
ZGVudGlmaWVyOwogCi0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkRP
TUJyZWFrcG9pbnQuRXZlbnQuUmVzb2x2ZWRTdGF0ZURpZENoYW5nZSwgZGF0YSk7CisgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkRPTUJyZWFrcG9pbnQuRXZlbnQuRE9N
Tm9kZUNoYW5nZWQsIGRhdGEpOwogICAgIH0KIAogICAgIGdldCBzZXJpYWxpemFibGVJbmZvKCkK
QEAgLTExNCw2ICsxMjQsNiBAQCBXSS5ET01CcmVha3BvaW50LlR5cGUgPSB7CiB9OwogCiBXSS5E
T01CcmVha3BvaW50LkV2ZW50ID0gewotICAgIERpc2FibGVkU3RhdGVEaWRDaGFuZ2U6ICJkb20t
YnJlYWtwb2ludC1kaXNhYmxlZC1zdGF0ZS1kaWQtY2hhbmdlIiwKLSAgICBSZXNvbHZlZFN0YXRl
RGlkQ2hhbmdlOiAiZG9tLWJyZWFrcG9pbnQtcmVzb2x2ZWQtc3RhdGUtZGlkLWNoYW5nZSIsCisg
ICAgRE9NTm9kZUNoYW5nZWQ6ICJkb20tYnJlYWtwb2ludC1kb20tbm9kZS1jaGFuZ2VkIiwKKyAg
ICBEaXNhYmxlZFN0YXRlQ2hhbmdlZDogImRvbS1icmVha3BvaW50LWRpc2FibGVkLXN0YXRlLWNo
YW5nZWQiLAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9FdmVudEJyZWFrcG9pbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvRXZlbnRCcmVha3BvaW50LmpzCmluZGV4IDFiZGMzZjNiMTllNTkz
NWQ2ODBjOTI1OWY5M2QwMTZiYTdmYTJmYjMuLjA4YmI5MTUyMjljZWE5ZGRmNTRiY2U4MjVmNjIy
OWJkNGE3NmZmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9FdmVudEJyZWFrcG9pbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL0V2ZW50QnJlYWtwb2ludC5qcwpAQCAtMjUsMjcgKzI1LDI1
IEBACiAKIFdJLkV2ZW50QnJlYWtwb2ludCA9IGNsYXNzIEV2ZW50QnJlYWtwb2ludCBleHRlbmRz
IFdJLk9iamVjdAogewotICAgIGNvbnN0cnVjdG9yKHR5cGUsIGV2ZW50TmFtZSwge2Rpc2FibGVk
LCBldmVudExpc3RlbmVyfSA9IHt9KQorICAgIGNvbnN0cnVjdG9yKHR5cGUsIGV2ZW50TmFtZSwg
e2V2ZW50TGlzdGVuZXIsIGRpc2FibGVkfSA9IHt9KQogICAgIHsKICAgICAgICAgc3VwZXIoKTsK
IAotICAgICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgdHlwZSA9PT0gInN0cmluZyIpOwotICAg
ICAgICBjb25zb2xlLmFzc2VydChPYmplY3QudmFsdWVzKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBl
KS5pbmNsdWRlcyh0eXBlKSk7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiBldmVudE5h
bWUgPT09ICJzdHJpbmciKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoT2JqZWN0LnZhbHVlcyhX
SS5FdmVudEJyZWFrcG9pbnQuVHlwZSkuaW5jbHVkZXModHlwZSksIHR5cGUpOworICAgICAgICBj
b25zb2xlLmFzc2VydCh0eXBlb2YgZXZlbnROYW1lID09PSAic3RyaW5nIiwgZXZlbnROYW1lKTsK
IAogICAgICAgICB0aGlzLl90eXBlID0gdHlwZTsKICAgICAgICAgdGhpcy5fZXZlbnROYW1lID0g
ZXZlbnROYW1lOwotCi0gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQgfHwgZmFsc2U7
CiAgICAgICAgIHRoaXMuX2V2ZW50TGlzdGVuZXIgPSBldmVudExpc3RlbmVyIHx8IG51bGw7Cisg
ICAgICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQgfHwgZmFsc2U7CiAgICAgfQogCiAgICAg
Ly8gU3RhdGljCiAKLSAgICBzdGF0aWMgZnJvbVBheWxvYWQocGF5bG9hZCkKKyAgICBzdGF0aWMg
ZGVzZXJpYWxpemUoc2VyaWFsaXplZEluZm8pCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IFdJ
LkV2ZW50QnJlYWtwb2ludChwYXlsb2FkLnR5cGUsIHBheWxvYWQuZXZlbnROYW1lLCB7Ci0gICAg
ICAgICAgICBkaXNhYmxlZDogISFwYXlsb2FkLmRpc2FibGVkLAorICAgICAgICByZXR1cm4gbmV3
IFdJLkV2ZW50QnJlYWtwb2ludChzZXJpYWxpemVkSW5mby50eXBlLCBzZXJpYWxpemVkSW5mby5l
dmVudE5hbWUsIHsKKyAgICAgICAgICAgIGRpc2FibGVkOiAhIXNlcmlhbGl6ZWRJbmZvLmRpc2Fi
bGVkLAogICAgICAgICB9KTsKICAgICB9CiAKQEAgLTY3LDcgKzY1LDcgQEAgV0kuRXZlbnRCcmVh
a3BvaW50ID0gY2xhc3MgRXZlbnRCcmVha3BvaW50IGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAg
ICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZDsKIAotICAgICAgICB0aGlzLmRpc3BhdGNoRXZl
bnRUb0xpc3RlbmVycyhXSS5FdmVudEJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZURpZENo
YW5nZSk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkV2ZW50QnJl
YWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlQ2hhbmdlZCk7CiAgICAgfQogCiAgICAgZ2V0IHNl
cmlhbGl6YWJsZUluZm8oKQpAQCAtOTksNiArOTcsNSBAQCBXSS5FdmVudEJyZWFrcG9pbnQuVHlw
ZUNvb2tpZUtleSA9ICJldmVudC1icmVha3BvaW50LXR5cGUiOwogV0kuRXZlbnRCcmVha3BvaW50
LkV2ZW50TmFtZUNvb2tpZUtleSA9ICJldmVudC1icmVha3BvaW50LWV2ZW50LW5hbWUiOwogCiBX
SS5FdmVudEJyZWFrcG9pbnQuRXZlbnQgPSB7Ci0gICAgRGlzYWJsZWRTdGF0ZURpZENoYW5nZTog
ImV2ZW50LWJyZWFrcG9pbnQtZGlzYWJsZWQtc3RhdGUtZGlkLWNoYW5nZSIsCi0gICAgUmVzb2x2
ZWRTdGF0ZURpZENoYW5nZTogImV2ZW50LWJyZWFrcG9pbnQtcmVzb2x2ZWQtc3RhdGUtZGlkLWNo
YW5nZSIsCisgICAgRGlzYWJsZWRTdGF0ZUNoYW5nZWQ6ICJldmVudC1icmVha3BvaW50LWRpc2Fi
bGVkLXN0YXRlLWNoYW5nZWQiLAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9VUkxCcmVha3BvaW50LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1VSTEJyZWFrcG9pbnQuanMKaW5kZXggYjhmYTI4
ZWY4ZTIwZTc0NmZmODAyNmNjMWY1ZDMzNDBiNDZiNWQyMy4uZTVlMGJlNmE1ZmUwODIxMzlmYzVk
ODE2YWJmMjc4NTQxNGY2YmQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL1VSTEJyZWFrcG9pbnQuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1VSTEJyZWFrcG9pbnQuanMKQEAgLTI1LDE1ICsy
NSwyNyBAQAogCiBXSS5VUkxCcmVha3BvaW50ID0gY2xhc3MgVVJMQnJlYWtwb2ludCBleHRlbmRz
IFdJLk9iamVjdAogewotICAgIGNvbnN0cnVjdG9yKHR5cGUsIHVybCwgZGlzYWJsZWQpCisgICAg
Y29uc3RydWN0b3IodHlwZSwgdXJsLCB7ZGlzYWJsZWR9ID0ge30pCiAgICAgeworICAgICAgICBj
b25zb2xlLmFzc2VydChPYmplY3QudmFsdWVzKFdJLlVSTEJyZWFrcG9pbnQuVHlwZSkuaW5jbHVk
ZXModHlwZSksIHR5cGUpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgdXJsID09PSAi
c3RyaW5nIiwgdXJsKTsKKwogICAgICAgICBzdXBlcigpOwogCi0gICAgICAgIHRoaXMuX3R5cGUg
PSB0eXBlIHx8IFdJLlVSTEJyZWFrcG9pbnQuVHlwZS5UZXh0OwotICAgICAgICB0aGlzLl91cmwg
PSB1cmwgfHwgIiI7CisgICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlOworICAgICAgICB0aGlzLl91
cmwgPSB1cmw7CiAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQgfHwgZmFsc2U7CiAg
ICAgfQogCisgICAgLy8gU3RhdGljCisKKyAgICBzdGF0aWMgZGVzZXJpYWxpemUoc2VyaWFsaXpl
ZEluZm8pCisgICAgeworICAgICAgICByZXR1cm4gbmV3IFdJLlVSTEJyZWFrcG9pbnQoc2VyaWFs
aXplZEluZm8udHlwZSwgc2VyaWFsaXplZEluZm8udXJsLCB7CisgICAgICAgICAgICBkaXNhYmxl
ZDogISFzZXJpYWxpemVkSW5mby5kaXNhYmxlZCwKKyAgICAgICAgfSk7CisgICAgfQorCiAgICAg
Ly8gUHVibGljCiAKICAgICBnZXQgdHlwZSgpIHsgcmV0dXJuIHRoaXMuX3R5cGU7IH0KQEAgLTUx
LDcgKzYzLDcgQEAgV0kuVVJMQnJlYWtwb2ludCA9IGNsYXNzIFVSTEJyZWFrcG9pbnQgZXh0ZW5k
cyBXSS5PYmplY3QKIAogICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkOwogCi0gICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlVSTEJyZWFrcG9pbnQuRXZlbnQu
RGlzYWJsZWRTdGF0ZURpZENoYW5nZSk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdJLlVSTEJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZUNoYW5nZWQpOwogICAg
IH0KIAogICAgIGdldCBzZXJpYWxpemFibGVJbmZvKCkKQEAgLTcwLDggKzgyLDcgQEAgV0kuVVJM
QnJlYWtwb2ludCA9IGNsYXNzIFVSTEJyZWFrcG9pbnQgZXh0ZW5kcyBXSS5PYmplY3QKIH07CiAK
IFdJLlVSTEJyZWFrcG9pbnQuRXZlbnQgPSB7Ci0gICAgRGlzYWJsZWRTdGF0ZURpZENoYW5nZTog
InVybC1icmVha3BvaW50LWRpc2FibGVkLXN0YXRlLWRpZC1jaGFuZ2UiLAotICAgIFJlc29sdmVk
U3RhdGVEaWRDaGFuZ2U6ICJ1cmwtYnJlYWtwb2ludC1yZXNvbHZlZC1zdGF0ZS1kaWQtY2hhbmdl
IiwKKyAgICBEaXNhYmxlZFN0YXRlQ2hhbmdlZDogInVybC1icmVha3BvaW50LWRpc2FibGVkLXN0
YXRlLWNoYW5nZWQiLAogfTsKIAogV0kuVVJMQnJlYWtwb2ludC5UeXBlID0gewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NQnJlYWtwb2lu
dFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRE9NQnJlYWtwb2ludFRyZWVFbGVtZW50LmpzCmluZGV4IDVjZWY0MDk0ODhjMGQ0ZTg5NjI1
ZGJjZmMzMmVhYmU3MWFmMWE2MWEuLjY2N2Q1NTdlZmM2MjIyODc1NzViZTlmYjMwZTUwMDQ0Mjky
ODQ3MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTUJyZWFrcG9pbnRUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01CcmVha3BvaW50VHJlZUVsZW1lbnQuanMKQEAgLTM5
LDEzICszOSw5IEBAIFdJLkRPTUJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIERPTUJyZWFr
cG9pbnRUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmVyYWxUCiAgICAgICAgIHN1cGVyKFsiYnJl
YWtwb2ludCIsICJkb20iLCBjbGFzc05hbWVdLCB0aXRsZSwgc3VidGl0bGUsIGJyZWFrcG9pbnQp
OwogCiAgICAgICAgIHRoaXMuc3RhdHVzID0gV0kuSW1hZ2VVdGlsaXRpZXMudXNlU1ZHU3ltYm9s
KCJJbWFnZXMvQnJlYWtwb2ludC5zdmciKTsKLSAgICAgICAgdGhpcy5zdGF0dXMuY2xhc3NMaXN0
LmFkZCgic3RhdHVzLWltYWdlIiwgInJlc29sdmVkIik7CisgICAgICAgIHRoaXMuc3RhdHVzLmNs
YXNzTmFtZSA9IFdJLkJyZWFrcG9pbnRUcmVlRWxlbWVudC5TdGF0dXNJbWFnZUVsZW1lbnRTdHls
ZUNsYXNzTmFtZTsKIAogICAgICAgICB0aGlzLnRvb2x0aXBIYW5kbGVkU2VwYXJhdGVseSA9IHRy
dWU7Ci0KLSAgICAgICAgYnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9p
bnQuRXZlbnQuRGlzYWJsZWRTdGF0ZURpZENoYW5nZSwgdGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlz
KTsKLQotICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXMoKTsKICAgICB9CiAKICAgICAvLyBTdGF0
aWMKQEAgLTcxLDYgKzY3LDkgQEAgV0kuRE9NQnJlYWtwb2ludFRyZWVFbGVtZW50ID0gY2xhc3Mg
RE9NQnJlYWtwb2ludFRyZWVFbGVtZW50IGV4dGVuZHMgV0kuR2VuZXJhbFQKICAgICB7CiAgICAg
ICAgIHN1cGVyLm9uYXR0YWNoKCk7CiAKKyAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5h
ZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZUNoYW5n
ZWQsIHRoaXMuX3VwZGF0ZVN0YXR1cywgdGhpcyk7CisgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdl
ci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5CcmVha3BvaW50c0Vu
YWJsZWREaWRDaGFuZ2UsIHRoaXMuX3VwZGF0ZVN0YXR1cywgdGhpcyk7CisKICAgICAgICAgdGhp
cy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRDbGlja2VkID0gdGhpcy5fc3RhdHVzSW1hZ2VFbGVt
ZW50Q2xpY2tlZC5iaW5kKHRoaXMpOwogICAgICAgICB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxl
bWVudEZvY3VzZWQgPSB0aGlzLl9zdGF0dXNJbWFnZUVsZW1lbnRGb2N1c2VkLmJpbmQodGhpcyk7
CiAgICAgICAgIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50TW91c2VEb3duID0gdGhpcy5f
c3RhdHVzSW1hZ2VFbGVtZW50TW91c2VEb3duLmJpbmQodGhpcyk7CkBAIC03OCwxMiArNzcsMTcg
QEAgV0kuRE9NQnJlYWtwb2ludFRyZWVFbGVtZW50ID0gY2xhc3MgRE9NQnJlYWtwb2ludFRyZWVF
bGVtZW50IGV4dGVuZHMgV0kuR2VuZXJhbFQKICAgICAgICAgdGhpcy5zdGF0dXMuYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudENsaWNrZWQpOwog
ICAgICAgICB0aGlzLnN0YXR1cy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsIHRoaXMuX2JvdW5k
U3RhdHVzSW1hZ2VFbGVtZW50Rm9jdXNlZCk7CiAgICAgICAgIHRoaXMuc3RhdHVzLmFkZEV2ZW50
TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50TW91c2VE
b3duKTsKKworICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXMoKTsKICAgICB9CiAKICAgICBvbmRl
dGFjaCgpCiAgICAgewogICAgICAgICBzdXBlci5vbmRldGFjaCgpOwogCisgICAgICAgIHRoaXMu
cmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsK
KyAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIobnVsbCwgbnVs
bCwgdGhpcyk7CisKICAgICAgICAgdGhpcy5zdGF0dXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudENsaWNrZWQpOwogICAgICAgICB0aGlz
LnN0YXR1cy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsIHRoaXMuX2JvdW5kU3RhdHVzSW1h
Z2VFbGVtZW50Rm9jdXNlZCk7CiAgICAgICAgIHRoaXMuc3RhdHVzLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoIm1vdXNlZG93biIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50TW91c2VEb3duKTsK
QEAgLTE1NCw2ICsxNTgsMTAgQEAgV0kuRE9NQnJlYWtwb2ludFRyZWVFbGVtZW50ID0gY2xhc3Mg
RE9NQnJlYWtwb2ludFRyZWVFbGVtZW50IGV4dGVuZHMgV0kuR2VuZXJhbFQKIAogICAgIF91cGRh
dGVTdGF0dXMoKQogICAgIHsKLSAgICAgICAgdGhpcy5zdGF0dXMuY2xhc3NMaXN0LnRvZ2dsZSgi
ZGlzYWJsZWQiLCB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LmRpc2FibGVkKTsKKyAgICAgICAgaWYg
KCF0aGlzLnN0YXR1cykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLnN0YXR1
cy5jbGFzc0xpc3QudG9nZ2xlKFdJLkJyZWFrcG9pbnRUcmVlRWxlbWVudC5TdGF0dXNJbWFnZURp
c2FibGVkU3R5bGVDbGFzc05hbWUsIHRoaXMucmVwcmVzZW50ZWRPYmplY3QuZGlzYWJsZWQpOwor
ICAgICAgICB0aGlzLnN0YXR1cy5jbGFzc0xpc3QudG9nZ2xlKFdJLkJyZWFrcG9pbnRUcmVlRWxl
bWVudC5TdGF0dXNJbWFnZVJlc29sdmVkU3R5bGVDbGFzc05hbWUsIFdJLmRlYnVnZ2VyTWFuYWdl
ci5icmVha3BvaW50c0VuYWJsZWQpOwogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZp
ZXcuanMKaW5kZXggZGRmNTU3MDdhN2RlNzM1MjY3YjAxMjk4M2VjOWMwYjNkZTQwOWEzOC4uYjgz
OTA1MTRmY2RhZWRhYTUxODBhNGZhMzJlMGRiOWI5Y2RkYjRiNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVD
b250ZW50Vmlldy5qcwpAQCAtOTUsOCArOTUsOCBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBj
bGFzcyBET01UcmVlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICAg
ICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NRGVidWdnZXJN
YW5hZ2VyLkV2ZW50LkRPTUJyZWFrcG9pbnRBZGRlZCwgdGhpcy5fZG9tQnJlYWtwb2ludEFkZGVk
T3JSZW1vdmVkLCB0aGlzKTsKICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hZGRF
dmVudExpc3RlbmVyKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5FdmVudC5ET01CcmVha3BvaW50UmVt
b3ZlZCwgdGhpcy5fZG9tQnJlYWtwb2ludEFkZGVkT3JSZW1vdmVkLCB0aGlzKTsKIAotICAgICAg
ICAgICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9pbnQu
RXZlbnQuRGlzYWJsZWRTdGF0ZURpZENoYW5nZSwgdGhpcy5fZG9tQnJlYWtwb2ludERpc2FibGVk
U3RhdGVEaWRDaGFuZ2UsIHRoaXMpOwotICAgICAgICAgICAgV0kuRE9NQnJlYWtwb2ludC5hZGRF
dmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9pbnQuRXZlbnQuUmVzb2x2ZWRTdGF0ZURpZENoYW5n
ZSwgdGhpcy5fZG9tQnJlYWtwb2ludFJlc29sdmVkU3RhdGVEaWRDaGFuZ2UsIHRoaXMpOworICAg
ICAgICAgICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9p
bnQuRXZlbnQuRGlzYWJsZWRTdGF0ZUNoYW5nZWQsIHRoaXMuX2hhbmRsZURPTUJyZWFrcG9pbnRE
aXNhYmxlZFN0YXRlQ2hhbmdlZCwgdGhpcyk7CisgICAgICAgICAgICBXSS5ET01CcmVha3BvaW50
LmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5ET01Ob2RlQ2hhbmdlZCwg
dGhpcy5faGFuZGxlRE9NQnJlYWtwb2ludERPTU5vZGVDaGFuZ2VkLCB0aGlzKTsKIAogICAgICAg
ICAgICAgdGhpcy5fYnJlYWtwb2ludHNFbmFibGVkRGlkQ2hhbmdlKCk7CiAgICAgICAgIH0KQEAg
LTc0NSwxMyArNzQ1LDEzIEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVD
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX3VwZGF0ZUJy
ZWFrcG9pbnRTdGF0dXMoYnJlYWtwb2ludC5kb21Ob2RlSWRlbnRpZmllcik7CiAgICAgfQogCi0g
ICAgX2RvbUJyZWFrcG9pbnREaXNhYmxlZFN0YXRlRGlkQ2hhbmdlKGV2ZW50KQorICAgIF9oYW5k
bGVET01CcmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAg
ICBsZXQgYnJlYWtwb2ludCA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgdGhpcy5fdXBkYXRlQnJl
YWtwb2ludFN0YXR1cyhicmVha3BvaW50LmRvbU5vZGVJZGVudGlmaWVyKTsKICAgICB9CiAKLSAg
ICBfZG9tQnJlYWtwb2ludFJlc29sdmVkU3RhdGVEaWRDaGFuZ2UoZXZlbnQpCisgICAgX2hhbmRs
ZURPTUJyZWFrcG9pbnRET01Ob2RlQ2hhbmdlZChldmVudCkKICAgICB7CiAgICAgICAgIGxldCBi
cmVha3BvaW50ID0gZXZlbnQudGFyZ2V0OwogICAgICAgICBsZXQgbm9kZUlkZW50aWZpZXIgPSBi
cmVha3BvaW50LmRvbU5vZGVJZGVudGlmaWVyIHx8IGV2ZW50LmRhdGEub2xkTm9kZUlkZW50aWZp
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCmluZGV4IDZmNDk5NDJjOTQ4Yjkz
MTQxOTU2Mzc2ZjdiNGRhNWEyY2E4NWE1YzAuLjcyMTFmYmU0NTc4OTY5MDZmNTRmNWIxNDk2MDc4
MGM3MTVjODRlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCkBAIC01Myw3
ICs1Myw3IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFy
UGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgIFdJLmRlYnVnZ2VyTWFu
YWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5BY3RpdmVDYWxs
RnJhbWVEaWRDaGFuZ2UsIHRoaXMuX2RlYnVnZ2VyQWN0aXZlQ2FsbEZyYW1lRGlkQ2hhbmdlLCB0
aGlzKTsKICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVi
dWdnZXJNYW5hZ2VyLkV2ZW50LldhaXRpbmdUb1BhdXNlLCB0aGlzLl9kZWJ1Z2dlcldhaXRpbmdU
b1BhdXNlLCB0aGlzKTsKIAotICAgICAgICBXSS5ET01CcmVha3BvaW50LmFkZEV2ZW50TGlzdGVu
ZXIoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5SZXNvbHZlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzLl9k
b21CcmVha3BvaW50UmVzb2x2ZWRTdGF0ZURpZENoYW5nZSwgdGhpcyk7CisgICAgICAgIFdJLkRP
TUJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01CcmVha3BvaW50LkV2ZW50LkRPTU5v
ZGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVET01CcmVha3BvaW50RE9NTm9kZUNoYW5nZWQsIHRoaXMp
OwogCiAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLlRpbWVs
aW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdXaWxsU3RhcnQsIHRoaXMuX3RpbWVsaW5lQ2FwdHVy
aW5nV2lsbFN0YXJ0LCB0aGlzKTsKICAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQsIHRoaXMu
X3RpbWVsaW5lQ2FwdHVyaW5nU3RvcHBlZCwgdGhpcyk7CkBAIC0xMzYzLDcgKzEzNjMsNyBAQCBX
SS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVu
ZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICByZXR1cm4gaXNzdWVUcmVlRWxlbWVudDsK
ICAgICB9CiAKLSAgICBfZG9tQnJlYWtwb2ludFJlc29sdmVkU3RhdGVEaWRDaGFuZ2UoZXZlbnQp
CisgICAgX2hhbmRsZURPTUJyZWFrcG9pbnRET01Ob2RlQ2hhbmdlZChldmVudCkKICAgICB7CiAg
ICAgICAgIGxldCBicmVha3BvaW50ID0gZXZlbnQudGFyZ2V0OwogICAgICAgICBpZiAoYnJlYWtw
b2ludC5kb21Ob2RlSWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50VHJl
ZUVsZW1lbnQuanMKaW5kZXggOWVhOTExMjdkMWEyZjIzZmQ2NjE3YzAzNWFhNDAzNWVjMGQ0ZTMx
Zi4uYjhhMWI1MjFkNTkwYzI2MzQyOGNkMWM4MDIzYTBjZDVmNWQ3MDM0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50
VHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQuanMKQEAgLTQwLDEzICs0MCw5IEBAIFdJ
LkV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50ID0gY2xhc3MgRXZlbnRCcmVha3BvaW50VHJlZUVs
ZW1lbnQgZXh0ZW5kcyBXSS5HZW5lCiAgICAgICAgIHN1cGVyKGNsYXNzTmFtZXMsIHRpdGxlLCBz
dWJ0aXRsZSwgYnJlYWtwb2ludCk7CiAKICAgICAgICAgdGhpcy5zdGF0dXMgPSBXSS5JbWFnZVV0
aWxpdGllcy51c2VTVkdTeW1ib2woIkltYWdlcy9CcmVha3BvaW50LnN2ZyIpOwotICAgICAgICB0
aGlzLnN0YXR1cy5jbGFzc0xpc3QuYWRkKCJzdGF0dXMtaW1hZ2UiLCAicmVzb2x2ZWQiKTsKKyAg
ICAgICAgdGhpcy5zdGF0dXMuY2xhc3NOYW1lID0gV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50LlN0
YXR1c0ltYWdlRWxlbWVudFN0eWxlQ2xhc3NOYW1lOwogCiAgICAgICAgIHRoaXMudG9vbHRpcEhh
bmRsZWRTZXBhcmF0ZWx5ID0gdHJ1ZTsKLQotICAgICAgICBicmVha3BvaW50LmFkZEV2ZW50TGlz
dGVuZXIoV0kuRXZlbnRCcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVEaWRDaGFuZ2UsIHRo
aXMuX3VwZGF0ZVN0YXR1cywgdGhpcyk7Ci0KLSAgICAgICAgdGhpcy5fdXBkYXRlU3RhdHVzKCk7
CiAgICAgfQogCiAgICAgLy8gUHJvdGVjdGVkCkBAIC01NSw2ICs1MSw5IEBAIFdJLkV2ZW50QnJl
YWtwb2ludFRyZWVFbGVtZW50ID0gY2xhc3MgRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQgZXh0
ZW5kcyBXSS5HZW5lCiAgICAgewogICAgICAgICBzdXBlci5vbmF0dGFjaCgpOwogCisgICAgICAg
IHRoaXMucmVwcmVzZW50ZWRPYmplY3QuYWRkRXZlbnRMaXN0ZW5lcihXSS5FdmVudEJyZWFrcG9p
bnQuRXZlbnQuRGlzYWJsZWRTdGF0ZUNoYW5nZWQsIHRoaXMuX3VwZGF0ZVN0YXR1cywgdGhpcyk7
CisgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2Vy
TWFuYWdlci5FdmVudC5CcmVha3BvaW50c0VuYWJsZWREaWRDaGFuZ2UsIHRoaXMuX3VwZGF0ZVN0
YXR1cywgdGhpcyk7CisKICAgICAgICAgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRDbGlj
a2VkID0gdGhpcy5fc3RhdHVzSW1hZ2VFbGVtZW50Q2xpY2tlZC5iaW5kKHRoaXMpOwogICAgICAg
ICB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudEZvY3VzZWQgPSB0aGlzLl9zdGF0dXNJbWFn
ZUVsZW1lbnRGb2N1c2VkLmJpbmQodGhpcyk7CiAgICAgICAgIHRoaXMuX2JvdW5kU3RhdHVzSW1h
Z2VFbGVtZW50TW91c2VEb3duID0gdGhpcy5fc3RhdHVzSW1hZ2VFbGVtZW50TW91c2VEb3duLmJp
bmQodGhpcyk7CkBAIC02MiwxMiArNjEsMTcgQEAgV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1l
bnQgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmUKICAg
ICAgICAgdGhpcy5zdGF0dXMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9ib3VuZFN0
YXR1c0ltYWdlRWxlbWVudENsaWNrZWQpOwogICAgICAgICB0aGlzLnN0YXR1cy5hZGRFdmVudExp
c3RlbmVyKCJmb2N1cyIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Rm9jdXNlZCk7CiAg
ICAgICAgIHRoaXMuc3RhdHVzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX2Jv
dW5kU3RhdHVzSW1hZ2VFbGVtZW50TW91c2VEb3duKTsKKworICAgICAgICB0aGlzLl91cGRhdGVT
dGF0dXMoKTsKICAgICB9CiAKICAgICBvbmRldGFjaCgpCiAgICAgewogICAgICAgICBzdXBlci5v
bmRldGFjaCgpOwogCisgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRM
aXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKyAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJl
bW92ZUV2ZW50TGlzdGVuZXIobnVsbCwgbnVsbCwgdGhpcyk7CisKICAgICAgICAgdGhpcy5zdGF0
dXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxl
bWVudENsaWNrZWQpOwogICAgICAgICB0aGlzLnN0YXR1cy5yZW1vdmVFdmVudExpc3RlbmVyKCJm
b2N1cyIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Rm9jdXNlZCk7CiAgICAgICAgIHRo
aXMuc3RhdHVzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX2JvdW5kU3Rh
dHVzSW1hZ2VFbGVtZW50TW91c2VEb3duKTsKQEAgLTE1Miw2ICsxNTYsMTAgQEAgV0kuRXZlbnRC
cmVha3BvaW50VHJlZUVsZW1lbnQgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCBl
eHRlbmRzIFdJLkdlbmUKIAogICAgIF91cGRhdGVTdGF0dXMoKQogICAgIHsKLSAgICAgICAgdGhp
cy5zdGF0dXMuY2xhc3NMaXN0LnRvZ2dsZSgiZGlzYWJsZWQiLCB0aGlzLnJlcHJlc2VudGVkT2Jq
ZWN0LmRpc2FibGVkKTsKKyAgICAgICAgaWYgKCF0aGlzLnN0YXR1cykKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICB0aGlzLnN0YXR1cy5jbGFzc0xpc3QudG9nZ2xlKFdJLkJyZWFrcG9p
bnRUcmVlRWxlbWVudC5TdGF0dXNJbWFnZURpc2FibGVkU3R5bGVDbGFzc05hbWUsIHRoaXMucmVw
cmVzZW50ZWRPYmplY3QuZGlzYWJsZWQpOworICAgICAgICB0aGlzLnN0YXR1cy5jbGFzc0xpc3Qu
dG9nZ2xlKFdJLkJyZWFrcG9pbnRUcmVlRWxlbWVudC5TdGF0dXNJbWFnZVJlc29sdmVkU3R5bGVD
bGFzc05hbWUsIFdJLmRlYnVnZ2VyTWFuYWdlci5icmVha3BvaW50c0VuYWJsZWQpOwogICAgIH0K
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCmlu
ZGV4IGYwZTU3YjI3NWYwZGVkMmMzNmUxNDUxMDgyZTZjMDE3Mjg5ZGVlYTcuLjRmMjUxNGVkNjM1
MzM4ODg4M2FmYzQyYzdjZDRjMjYyMzA0ODljNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJj
ZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCkBAIC0yNDgsNyArMjQ4LDcgQEAgV0kuU291cmNl
c05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQ
YW5lbCBleHRlbmRzIFcKICAgICAgICAgV0kuQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJ
LkJyZWFrcG9pbnQuRXZlbnQuRGlzcGxheUxvY2F0aW9uRGlkQ2hhbmdlLCB0aGlzLl9oYW5kbGVE
ZWJ1Z2dlck9iamVjdERpc3BsYXlMb2NhdGlvbkRpZENoYW5nZSwgdGhpcyk7CiAgICAgICAgIFdJ
Lklzc3VlTWVzc2FnZS5hZGRFdmVudExpc3RlbmVyKFdJLklzc3VlTWVzc2FnZS5FdmVudC5EaXNw
bGF5TG9jYXRpb25EaWRDaGFuZ2UsIHRoaXMuX2hhbmRsZURlYnVnZ2VyT2JqZWN0RGlzcGxheUxv
Y2F0aW9uRGlkQ2hhbmdlLCB0aGlzKTsKIAotICAgICAgICBXSS5ET01CcmVha3BvaW50LmFkZEV2
ZW50TGlzdGVuZXIoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5SZXNvbHZlZFN0YXRlRGlkQ2hhbmdl
LCB0aGlzLl9oYW5kbGVET01CcmVha3BvaW50UmVzb2x2ZWRTdGF0ZURpZENoYW5nZSwgdGhpcyk7
CisgICAgICAgIFdJLkRPTUJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01CcmVha3Bv
aW50LkV2ZW50LkRPTU5vZGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVET01CcmVha3BvaW50RE9NTm9k
ZUNoYW5nZWQsIHRoaXMpOwogCiAgICAgICAgIFdJLmNvbnNvbGVNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuQ29uc29sZU1hbmFnZXIuRXZlbnQuSXNzdWVBZGRlZCwgdGhpcy5faGFuZGxlQ29u
c29sZUlzc3VlQWRkZWQsIHRoaXMpOwogICAgICAgICBXSS5jb25zb2xlTWFuYWdlci5hZGRFdmVu
dExpc3RlbmVyKFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50LkNsZWFyZWQsIHRoaXMuX2hhbmRsZUNv
bnNvbGVDbGVhcmVkLCB0aGlzKTsKQEAgLTE1NjgsNyArMTU2OCw3IEBAIFdJLlNvdXJjZXNOYXZp
Z2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwg
ZXh0ZW5kcyBXCiAgICAgICAgICAgICBuZXdEZWJ1Z2dlclRyZWVFbGVtZW50LnJldmVhbEFuZFNl
bGVjdCh0cnVlLCBmYWxzZSwgdHJ1ZSk7CiAgICAgfQogCi0gICAgX2hhbmRsZURPTUJyZWFrcG9p
bnRSZXNvbHZlZFN0YXRlRGlkQ2hhbmdlKGV2ZW50KQorICAgIF9oYW5kbGVET01CcmVha3BvaW50
RE9NTm9kZUNoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAgICBsZXQgYnJlYWtwb2ludCA9IGV2
ZW50LnRhcmdldDsKICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZG9tTm9kZUlkZW50aWZpZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9VUkxC
cmVha3BvaW50VHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9VUkxCcmVha3BvaW50VHJlZUVsZW1lbnQuanMKaW5kZXggODdhM2Q3MjdiYjky
OWU2MGIzZjc2MjJhZjVjNTc3NzcyMWNhMWY0NS4uMDViMTgwOGUzNzI5YmFlNGY5NWY5ZGI0MjI5
OGU5OTgwNmY4MDk0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1VSTEJyZWFrcG9pbnRUcmVlRWxlbWVudC5q
cwpAQCAtNDQsMTMgKzQ0LDkgQEAgV0kuVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50ID0gY2xhc3Mg
VVJMQnJlYWtwb2ludFRyZWVFbGVtZW50IGV4dGVuZHMgV0kuR2VuZXJhbFQKICAgICAgICAgc3Vw
ZXIoWyJicmVha3BvaW50IiwgInVybCIsIGNsYXNzTmFtZV0sIHRpdGxlLCBzdWJ0aXRsZSwgYnJl
YWtwb2ludCk7CiAKICAgICAgICAgdGhpcy5zdGF0dXMgPSBXSS5JbWFnZVV0aWxpdGllcy51c2VT
VkdTeW1ib2woIkltYWdlcy9CcmVha3BvaW50LnN2ZyIpOwotICAgICAgICB0aGlzLnN0YXR1cy5j
bGFzc0xpc3QuYWRkKCJzdGF0dXMtaW1hZ2UiLCAicmVzb2x2ZWQiKTsKKyAgICAgICAgdGhpcy5z
dGF0dXMuY2xhc3NOYW1lID0gV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50LlN0YXR1c0ltYWdlRWxl
bWVudFN0eWxlQ2xhc3NOYW1lOwogCiAgICAgICAgIHRoaXMudG9vbHRpcEhhbmRsZWRTZXBhcmF0
ZWx5ID0gdHJ1ZTsKLQotICAgICAgICBicmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuVVJM
QnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzLl91cGRhdGVTdGF0
dXMsIHRoaXMpOwotCi0gICAgICAgIHRoaXMuX3VwZGF0ZVN0YXR1cygpOwogICAgIH0KIAogICAg
IC8vIFByb3RlY3RlZApAQCAtNTksNiArNTUsOSBAQCBXSS5VUkxCcmVha3BvaW50VHJlZUVsZW1l
bnQgPSBjbGFzcyBVUkxCcmVha3BvaW50VHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFsVAog
ICAgIHsKICAgICAgICAgc3VwZXIub25hdHRhY2goKTsKIAorICAgICAgICB0aGlzLnJlcHJlc2Vu
dGVkT2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoV0kuVVJMQnJlYWtwb2ludC5FdmVudC5EaXNhYmxl
ZFN0YXRlQ2hhbmdlZCwgdGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlzKTsKKyAgICAgICAgV0kuZGVi
dWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LkJy
ZWFrcG9pbnRzRW5hYmxlZERpZENoYW5nZSwgdGhpcy5fdXBkYXRlU3RhdHVzLCB0aGlzKTsKKwog
ICAgICAgICB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudENsaWNrZWQgPSB0aGlzLl9zdGF0
dXNJbWFnZUVsZW1lbnRDbGlja2VkLmJpbmQodGhpcyk7CiAgICAgICAgIHRoaXMuX2JvdW5kU3Rh
dHVzSW1hZ2VFbGVtZW50Rm9jdXNlZCA9IHRoaXMuX3N0YXR1c0ltYWdlRWxlbWVudEZvY3VzZWQu
YmluZCh0aGlzKTsKICAgICAgICAgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRNb3VzZURv
d24gPSB0aGlzLl9zdGF0dXNJbWFnZUVsZW1lbnRNb3VzZURvd24uYmluZCh0aGlzKTsKQEAgLTY2
LDEyICs2NSwxNyBAQCBXSS5VUkxCcmVha3BvaW50VHJlZUVsZW1lbnQgPSBjbGFzcyBVUkxCcmVh
a3BvaW50VHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFsVAogICAgICAgICB0aGlzLnN0YXR1
cy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50
Q2xpY2tlZCk7CiAgICAgICAgIHRoaXMuc3RhdHVzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwg
dGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRGb2N1c2VkKTsKICAgICAgICAgdGhpcy5zdGF0
dXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVs
ZW1lbnRNb3VzZURvd24pOworCisgICAgICAgIHRoaXMuX3VwZGF0ZVN0YXR1cygpOwogICAgIH0K
IAogICAgIG9uZGV0YWNoKCkKICAgICB7CiAgICAgICAgIHN1cGVyLm9uZGV0YWNoKCk7CiAKKyAg
ICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKG51bGwsIG51
bGwsIHRoaXMpOworICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5l
cihudWxsLCBudWxsLCB0aGlzKTsKKwogICAgICAgICB0aGlzLnN0YXR1cy5yZW1vdmVFdmVudExp
c3RlbmVyKCJjbGljayIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Q2xpY2tlZCk7CiAg
ICAgICAgIHRoaXMuc3RhdHVzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIiwgdGhpcy5fYm91
bmRTdGF0dXNJbWFnZUVsZW1lbnRGb2N1c2VkKTsKICAgICAgICAgdGhpcy5zdGF0dXMucmVtb3Zl
RXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRN
b3VzZURvd24pOwpAQCAtMTQzLDYgKzE0NywxMCBAQCBXSS5VUkxCcmVha3BvaW50VHJlZUVsZW1l
bnQgPSBjbGFzcyBVUkxCcmVha3BvaW50VHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFsVAog
CiAgICAgX3VwZGF0ZVN0YXR1cygpCiAgICAgewotICAgICAgICB0aGlzLnN0YXR1cy5jbGFzc0xp
c3QudG9nZ2xlKCJkaXNhYmxlZCIsIHRoaXMucmVwcmVzZW50ZWRPYmplY3QuZGlzYWJsZWQpOwor
ICAgICAgICBpZiAoIXRoaXMuc3RhdHVzKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IHRoaXMuc3RhdHVzLmNsYXNzTGlzdC50b2dnbGUoV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50LlN0
YXR1c0ltYWdlRGlzYWJsZWRTdHlsZUNsYXNzTmFtZSwgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5k
aXNhYmxlZCk7CisgICAgICAgIHRoaXMuc3RhdHVzLmNsYXNzTGlzdC50b2dnbGUoV0kuQnJlYWtw
b2ludFRyZWVFbGVtZW50LlN0YXR1c0ltYWdlUmVzb2x2ZWRTdHlsZUNsYXNzTmFtZSwgV0kuZGVi
dWdnZXJNYW5hZ2VyLmJyZWFrcG9pbnRzRW5hYmxlZCk7CiAgICAgfQogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363428</attachid>
            <date>2019-03-02 13:08:19 -0800</date>
            <delta_ts>2019-03-02 14:40:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195170-20190302130818.patch</filename>
            <type>text/plain</type>
            <size>33103</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDIyZWMyNmNmYWVjZGE1NDJiYzE3NTc1YWQ2ZmQ3
ODY3ODViNWRmYzcuLjI4YzE4MjllYzIwMTFhNDA1MDllMTk0MDFjNjIwNGJkNzRlZWFhYTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE5LTAzLTAyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBE
ZWJ1Z2dlcjogRE9NLCBVUkwsIGFuZCBFdmVudCBicmVha3BvaW50cyBkb24ndCBncmV5IG91dCB3
aGVuIGFsbCBicmVha3BvaW50cyBhcmUgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTE3MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDg0NzgxOTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01CcmVha3BvaW50VHJlZUVsZW1lbnQuanM6Cisg
ICAgICAgIChXSS5ET01CcmVha3BvaW50VHJlZUVsZW1lbnQpOgorICAgICAgICAoV0kuRE9NQnJl
YWtwb2ludFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6CisgICAgICAgIChXSS5ET01C
cmVha3BvaW50VHJlZUVsZW1lbnQucHJvdG90eXBlLm9uZGV0YWNoKToKKyAgICAgICAgKFdJLkRP
TUJyZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUuX3VwZGF0ZVN0YXR1cyk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5qczoKKyAg
ICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50KToKKyAgICAgICAgKFdJLkV2ZW50
QnJlYWtwb2ludFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6CisgICAgICAgIChXSS5F
dmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUub25kZXRhY2gpOgorICAgICAgICAo
V0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQucHJvdG90eXBlLl91cGRhdGVTdGF0dXMpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50Lmpz
OgorICAgICAgICAoV0kuVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50KToKKyAgICAgICAgKFdJLlVS
TEJyZWFrcG9pbnRUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gpOgorICAgICAgICAoV0ku
VVJMQnJlYWtwb2ludFRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmRldGFjaCk6CisgICAgICAgIChX
SS5VUkxCcmVha3BvaW50VHJlZUVsZW1lbnQucHJvdG90eXBlLl91cGRhdGVTdGF0dXMpOgorICAg
ICAgICBSZW1vdmUgdGhlIGAicmVzb2x2ZWQiYCBjbGFzcyB3aGVuIHRoZSBnbG9iYWwgImJyZWFr
cG9pbnRzIGVuYWJsZWQiIHN0YXRlIGlzIGNoYW5nZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL0NvbnRyb2xsZXJzL0RPTURlYnVnZ2VyTWFuYWdlci5qczoKKyAgICAgICAgKFdJLkRPTURl
YnVnZ2VyTWFuYWdlcik6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBl
Ll9oYW5kbGVET01CcmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAg
ICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZUV2ZW50QnJlYWtwb2lu
dERpc2FibGVkU3RhdGVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1h
bmFnZXIucHJvdG90eXBlLl9oYW5kbGVVUkxCcmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQp
OiBBZGRlZC4KKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3VwZGF0
ZUV2ZW50QnJlYWtwb2ludCk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90
eXBlLl91cGRhdGVVUkxCcmVha3BvaW50KToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdl
ci5wcm90b3R5cGUuX3Jlc29sdmVFdmVudEJyZWFrcG9pbnQpOgorICAgICAgICAoV0kuRE9NRGVi
dWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5fcmVzb2x2ZVVSTEJyZWFrcG9pbnQpOgorICAgICAgICAo
V0kuRE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5fdXBkYXRlRXZlbnRCcmVha3BvaW50LmJy
ZWFrcG9pbnRVcGRhdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdl
ci5wcm90b3R5cGUuX3VwZGF0ZVVSTEJyZWFrcG9pbnQuYnJlYWtwb2ludFVwZGF0ZWQpOiBEZWxl
dGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTUJyZWFrcG9pbnQuanM6Cisg
ICAgICAgIChXSS5ET01CcmVha3BvaW50KToKKyAgICAgICAgKFdJLkRPTUJyZWFrcG9pbnQuZGVz
ZXJpYWxpemUpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRPTUJyZWFrcG9pbnQucHJvdG90eXBlLnNl
dCBkaXNhYmxlZCk6CisgICAgICAgIChXSS5ET01CcmVha3BvaW50LnByb3RvdHlwZS5zZXQgZG9t
Tm9kZUlkZW50aWZpZXIpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0V2ZW50QnJl
YWtwb2ludC5qczoKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludC5kZXNlcmlhbGl6ZSk6IEFk
ZGVkLgorICAgICAgICAoV0kuRXZlbnRCcmVha3BvaW50LnByb3RvdHlwZS5zZXQgZGlzYWJsZWQp
OgorICAgICAgICAoV0kuRXZlbnRCcmVha3BvaW50LmZyb21QYXlsb2FkKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9VUkxCcmVha3BvaW50LmpzOgorICAgICAgICAo
V0kuVVJMQnJlYWtwb2ludC5kZXNlcmlhbGl6ZSk6IEFkZGVkLgorICAgICAgICAoV0kuVVJMQnJl
YWtwb2ludC5wcm90b3R5cGUuc2V0IGRpc2FibGVkKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50
Vmlldyk6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVE
T01CcmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRP
TVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZURPTUJyZWFrcG9pbnRET01Ob2RlQ2hh
bmdlZCk6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRl
YmFyUGFuZWwuanM6CisgICAgICAgIChXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5wcm90b3R5cGUu
X2hhbmRsZURPTUJyZWFrcG9pbnRSZXNvbHZlZFN0YXRlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6
CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCk6CisgICAgICAgIChX
SS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90b3R5cGUuX2hhbmRsZURPTUJyZWFr
cG9pbnRSZXNvbHZlZFN0YXRlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAgICBEcml2ZS1ieTogcmVu
YW1lIGFsbCBldmVudHMgd2l0aCB0aGUgbmFtZSBgKkRpZENoYW5nZWAgdG8gYCpDaGFuZ2VkYC4K
KyAgICAgICAgRHJpdmUtYnk6IGNyZWF0ZSBzdGF0aWMgYGRlc2VyaWFsaXplYCBoZWxwZXIgZnVu
Y3Rpb25zLgorCiAyMDE5LTAzLTAxICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ1BVIFVzYWdlIC0gRW5lcmd5IEltcGFjdCBT
ZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9ET01EZWJ1Z2dlck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01EZWJ1Z2dlck1hbmFnZXIuanMKaW5kZXggY2Ji
ZjVkZjk2ZTllZjYxNzYyMTg5ZmUwMzFlMmJjNjI3MTk4MmJhNC4uOTg0MDU2OTk1NWExZWU4NWNm
MjU0NGI5Y2FlNmNjODE4OTlmYjExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTURlYnVnZ2Vy
TWFuYWdlci5qcwpAQCAtNDAsMTEgKzQwLDEzIEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNs
YXNzIERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl91
cmxCcmVha3BvaW50cyA9IFtdOwogICAgICAgICB0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnRF
bmFibGVkU2V0dGluZyA9IG5ldyBXSS5TZXR0aW5nKCJicmVhay1vbi1hbGwtcmVxdWVzdHMiLCBm
YWxzZSk7CiAKLSAgICAgICAgdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50ID0gbmV3IFdJLlVS
TEJyZWFrcG9pbnQobnVsbCwgbnVsbCwgIXRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludEVuYWJs
ZWRTZXR0aW5nLnZhbHVlKTsKKyAgICAgICAgdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50ID0g
bmV3IFdJLlVSTEJyZWFrcG9pbnQoV0kuVVJMQnJlYWtwb2ludC5UeXBlLlRleHQsICIiLCB7Cisg
ICAgICAgICAgICBkaXNhYmxlZDogIXRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludEVuYWJsZWRT
ZXR0aW5nLnZhbHVlLAorICAgICAgICB9KTsKIAotICAgICAgICBXSS5ET01CcmVha3BvaW50LmFk
ZEV2ZW50TGlzdGVuZXIoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlRGlkQ2hh
bmdlLCB0aGlzLl9kb21CcmVha3BvaW50RGlzYWJsZWRTdGF0ZURpZENoYW5nZSwgdGhpcyk7Ci0g
ICAgICAgIFdJLkV2ZW50QnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLkV2ZW50QnJlYWtw
b2ludC5FdmVudC5EaXNhYmxlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzLl9ldmVudEJyZWFrcG9pbnRE
aXNhYmxlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzKTsKLSAgICAgICAgV0kuVVJMQnJlYWtwb2ludC5h
ZGRFdmVudExpc3RlbmVyKFdJLlVSTEJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZURpZENo
YW5nZSwgdGhpcy5fdXJsQnJlYWtwb2ludERpc2FibGVkU3RhdGVEaWRDaGFuZ2UsIHRoaXMpOwor
ICAgICAgICBXSS5ET01CcmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NQnJlYWtwb2lu
dC5FdmVudC5EaXNhYmxlZFN0YXRlQ2hhbmdlZCwgdGhpcy5faGFuZGxlRE9NQnJlYWtwb2ludERp
c2FibGVkU3RhdGVDaGFuZ2VkLCB0aGlzKTsKKyAgICAgICAgV0kuRXZlbnRCcmVha3BvaW50LmFk
ZEV2ZW50TGlzdGVuZXIoV0kuRXZlbnRCcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVDaGFu
Z2VkLCB0aGlzLl9oYW5kbGVFdmVudEJyZWFrcG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdlZCwgdGhp
cyk7CisgICAgICAgIFdJLlVSTEJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5VUkxCcmVh
a3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVVUkxCcmVha3Bv
aW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQsIHRoaXMpOwogCiAgICAgICAgIFdJLmRvbU1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5ET01NYW5hZ2VyLkV2ZW50Lk5vZGVSZW1vdmVkLCB0aGlzLl9u
b2RlUmVtb3ZlZCwgdGhpcyk7CiAgICAgICAgIFdJLmRvbU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXSS5ET01NYW5hZ2VyLkV2ZW50Lk5vZGVJbnNlcnRlZCwgdGhpcy5fbm9kZUluc2VydGVkLCB0
aGlzKTsKQEAgLTU3LDE4ICs1OSwxNCBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBE
T01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgaWYgKHRoaXMuc3Vw
cG9ydGVkKSB7CiAgICAgICAgICAgICB0aGlzLl9yZXN0b3JpbmdCcmVha3BvaW50cyA9IHRydWU7
CiAKLSAgICAgICAgICAgIGZvciAobGV0IGNvb2tpZSBvZiB0aGlzLl9kb21CcmVha3BvaW50c1Nl
dHRpbmcudmFsdWUpIHsKLSAgICAgICAgICAgICAgICBsZXQgYnJlYWtwb2ludCA9IG5ldyBXSS5E
T01CcmVha3BvaW50KGNvb2tpZSwgY29va2llLnR5cGUsIGNvb2tpZS5kaXNhYmxlZCk7Ci0gICAg
ICAgICAgICAgICAgdGhpcy5hZGRET01CcmVha3BvaW50KGJyZWFrcG9pbnQpOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZm9yIChsZXQgc2VyaWFsaXplZEluZm8gb2YgdGhpcy5fZG9tQnJl
YWtwb2ludHNTZXR0aW5nLnZhbHVlKQorICAgICAgICAgICAgICAgIHRoaXMuYWRkRE9NQnJlYWtw
b2ludChXSS5ET01CcmVha3BvaW50LmRlc2VyaWFsaXplKHNlcmlhbGl6ZWRJbmZvKSk7CiAKLSAg
ICAgICAgICAgIGZvciAobGV0IHBheWxvYWQgb2YgdGhpcy5fZXZlbnRCcmVha3BvaW50U2V0dGlu
Zy52YWx1ZSkKLSAgICAgICAgICAgICAgICB0aGlzLmFkZEV2ZW50QnJlYWtwb2ludChXSS5FdmVu
dEJyZWFrcG9pbnQuZnJvbVBheWxvYWQocGF5bG9hZCkpOworICAgICAgICAgICAgZm9yIChsZXQg
c2VyaWFsaXplZEluZm8gb2YgdGhpcy5fZXZlbnRCcmVha3BvaW50U2V0dGluZy52YWx1ZSkKKyAg
ICAgICAgICAgICAgICB0aGlzLmFkZEV2ZW50QnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQu
ZGVzZXJpYWxpemUoc2VyaWFsaXplZEluZm8pKTsKIAotICAgICAgICAgICAgZm9yIChsZXQgY29v
a2llIG9mIHRoaXMuX3VybEJyZWFrcG9pbnRzU2V0dGluZy52YWx1ZSkgewotICAgICAgICAgICAg
ICAgIGxldCBicmVha3BvaW50ID0gbmV3IFdJLlVSTEJyZWFrcG9pbnQoY29va2llLnR5cGUsIGNv
b2tpZS51cmwsIGNvb2tpZS5kaXNhYmxlZCk7Ci0gICAgICAgICAgICAgICAgdGhpcy5hZGRVUkxC
cmVha3BvaW50KGJyZWFrcG9pbnQpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChs
ZXQgc2VyaWFsaXplZEluZm8gb2YgdGhpcy5fdXJsQnJlYWtwb2ludHNTZXR0aW5nLnZhbHVlKQor
ICAgICAgICAgICAgICAgIHRoaXMuYWRkVVJMQnJlYWtwb2ludChXSS5VUkxCcmVha3BvaW50LmRl
c2VyaWFsaXplKHNlcmlhbGl6ZWRJbmZvKSk7CiAKICAgICAgICAgICAgIHRoaXMuX3Jlc3Rvcmlu
Z0JyZWFrcG9pbnRzID0gZmFsc2U7CiAgICAgICAgICAgICB0aGlzLl9zcGVjdWxhdGl2ZWx5UmVz
b2x2ZUJyZWFrcG9pbnRzKCk7CkBAIC00NjYsNjAgKzQ2NCw0MiBAQCBXSS5ET01EZWJ1Z2dlck1h
bmFnZXIgPSBjbGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgICAgIERPTURlYnVnZ2VyQWdlbnQuc2V0RE9NQnJlYWtwb2ludChub2RlSWRlbnRpZmllciwg
YnJlYWtwb2ludC50eXBlLCBicmVha3BvaW50VXBkYXRlZCk7CiAgICAgfQogCi0gICAgX3VwZGF0
ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCBjYWxsYmFjaykKKyAgICBfdXBkYXRlRXZlbnRC
cmVha3BvaW50KGJyZWFrcG9pbnQpCiAgICAgewotICAgICAgICBmdW5jdGlvbiBicmVha3BvaW50
VXBkYXRlZChlcnJvcikKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKQotICAgICAg
ICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpOwotCi0gICAgICAgICAgICBpZiAoY2FsbGJh
Y2spCi0gICAgICAgICAgICAgICAgY2FsbGJhY2soZXJyb3IpOwotICAgICAgICB9Ci0KICAgICAg
ICAgLy8gQ29tcGF0aWJpbGl0eSAoaU9TIDEyKTogRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVu
dEJyZWFrcG9pbnQgZGlkIG5vdCBleGlzdC4KICAgICAgICAgaWYgKCFXSS5ET01EZWJ1Z2dlck1h
bmFnZXIuc3VwcG9ydHNFdmVudEJyZWFrcG9pbnRzKCkpIHsKICAgICAgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KGJyZWFrcG9pbnQudHlwZSA9PT0gV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVu
ZXIpOwogICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZGlzYWJsZWQpCi0gICAgICAgICAgICAg
ICAgRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudExpc3RlbmVyQnJlYWtwb2ludChicmVha3Bv
aW50LmV2ZW50TmFtZSwgYnJlYWtwb2ludFVwZGF0ZWQpOworICAgICAgICAgICAgICAgIERPTURl
YnVnZ2VyQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQoYnJlYWtwb2ludC5ldmVu
dE5hbWUpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIERPTURlYnVnZ2VyQWdl
bnQuc2V0RXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQoYnJlYWtwb2ludC5ldmVudE5hbWUsIGJyZWFr
cG9pbnRVcGRhdGVkKTsKKyAgICAgICAgICAgICAgICBET01EZWJ1Z2dlckFnZW50LnNldEV2ZW50
TGlzdGVuZXJCcmVha3BvaW50KGJyZWFrcG9pbnQuZXZlbnROYW1lKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChicmVha3BvaW50LmRpc2FibGVkKQotICAg
ICAgICAgICAgRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQoYnJlYWtwb2lu
dC50eXBlLCBicmVha3BvaW50LmV2ZW50TmFtZSwgYnJlYWtwb2ludFVwZGF0ZWQpOworICAgICAg
ICAgICAgRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQoYnJlYWtwb2ludC50
eXBlLCBicmVha3BvaW50LmV2ZW50TmFtZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIERP
TURlYnVnZ2VyQWdlbnQuc2V0RXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQudHlwZSwgYnJlYWtw
b2ludC5ldmVudE5hbWUsIGJyZWFrcG9pbnRVcGRhdGVkKTsKKyAgICAgICAgICAgIERPTURlYnVn
Z2VyQWdlbnQuc2V0RXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQudHlwZSwgYnJlYWtwb2ludC5l
dmVudE5hbWUpOwogICAgIH0KIAotICAgIF91cGRhdGVVUkxCcmVha3BvaW50KGJyZWFrcG9pbnQs
IGNhbGxiYWNrKQorICAgIF91cGRhdGVVUkxCcmVha3BvaW50KGJyZWFrcG9pbnQpCiAgICAgewot
ICAgICAgICBmdW5jdGlvbiBicmVha3BvaW50VXBkYXRlZChlcnJvcikKLSAgICAgICAgewotICAg
ICAgICAgICAgaWYgKGVycm9yKQotICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3Ip
OwotCi0gICAgICAgICAgICBpZiAoY2FsbGJhY2sgJiYgdHlwZW9mIGNhbGxiYWNrID09PSAiZnVu
Y3Rpb24iKQotICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVycm9yKTsKLSAgICAgICAgfQotCiAg
ICAgICAgIC8vIENvbXBhdGliaWxpdHkgKGlPUyAxMi4xKTogRE9NRGVidWdnZXJBZ2VudC5yZW1v
dmVVUkxCcmVha3BvaW50IGRpZCBub3QgZXhpc3QuCiAgICAgICAgIGlmICghV0kuRE9NRGVidWdn
ZXJNYW5hZ2VyLnN1cHBvcnRzVVJMQnJlYWtwb2ludHMoKSkgewogICAgICAgICAgICAgaWYgKGJy
ZWFrcG9pbnQuZGlzYWJsZWQpCi0gICAgICAgICAgICAgICAgRE9NRGVidWdnZXJBZ2VudC5yZW1v
dmVYSFJCcmVha3BvaW50KGJyZWFrcG9pbnQudXJsLCBicmVha3BvaW50VXBkYXRlZCk7CisgICAg
ICAgICAgICAgICAgRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVYSFJCcmVha3BvaW50KGJyZWFrcG9p
bnQudXJsKTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGxldCBpc1JlZ2V4
ID0gYnJlYWtwb2ludC50eXBlID09PSBXSS5VUkxCcmVha3BvaW50LlR5cGUuUmVndWxhckV4cHJl
c3Npb247Ci0gICAgICAgICAgICAgICAgRGVidWdnZXJBZ2VudC5zZXRYSFJCcmVha3BvaW50KGJy
ZWFrcG9pbnQudXJsLCBpc1JlZ2V4LCBicmVha3BvaW50VXBkYXRlZCk7CisgICAgICAgICAgICAg
ICAgRGVidWdnZXJBZ2VudC5zZXRYSFJCcmVha3BvaW50KGJyZWFrcG9pbnQudXJsLCBpc1JlZ2V4
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChicmVha3BvaW50LmRpc2FibGVkKQotICAgICAgICAgICAgRE9NRGVidWdnZXJBZ2Vu
dC5yZW1vdmVVUkxCcmVha3BvaW50KGJyZWFrcG9pbnQudXJsLCBicmVha3BvaW50VXBkYXRlZCk7
CisgICAgICAgICAgICBET01EZWJ1Z2dlckFnZW50LnJlbW92ZVVSTEJyZWFrcG9pbnQoYnJlYWtw
b2ludC51cmwpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGxldCBpc1JlZ2V4ID0gYnJl
YWtwb2ludC50eXBlID09PSBXSS5VUkxCcmVha3BvaW50LlR5cGUuUmVndWxhckV4cHJlc3Npb247
Ci0gICAgICAgICAgICBET01EZWJ1Z2dlckFnZW50LnNldFVSTEJyZWFrcG9pbnQoYnJlYWtwb2lu
dC51cmwsIGlzUmVnZXgsIGJyZWFrcG9pbnRVcGRhdGVkKTsKKyAgICAgICAgICAgIERPTURlYnVn
Z2VyQWdlbnQuc2V0VVJMQnJlYWtwb2ludChicmVha3BvaW50LnVybCwgaXNSZWdleCk7CiAgICAg
ICAgIH0KICAgICB9CiAKQEAgLTUyOCw5ICs1MDgsNyBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIg
PSBjbGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgaWYg
KGJyZWFrcG9pbnQuZGlzYWJsZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhp
cy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQsICgpID0+IHsKLSAgICAgICAgICAg
IGJyZWFrcG9pbnQuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkV2ZW50QnJlYWtwb2ludC5F
dmVudC5SZXNvbHZlZFN0YXRlRGlkQ2hhbmdlKTsKLSAgICAgICAgfSk7CisgICAgICAgIHRoaXMu
X3VwZGF0ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50KTsKICAgICB9CiAKICAgICBfcmVzb2x2
ZVVSTEJyZWFrcG9pbnQoYnJlYWtwb2ludCkKQEAgLTUzOCw5ICs1MTYsNyBAQCBXSS5ET01EZWJ1
Z2dlck1hbmFnZXIgPSBjbGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZGlzYWJsZWQpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgdGhpcy5fdXBkYXRlVVJMQnJlYWtwb2ludChicmVha3BvaW50LCAoKSA9PiB7Ci0g
ICAgICAgICAgICBicmVha3BvaW50LmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5VUkxCcmVh
a3BvaW50LkV2ZW50LlJlc29sdmVkU3RhdGVEaWRDaGFuZ2UpOwotICAgICAgICB9KTsKKyAgICAg
ICAgdGhpcy5fdXBkYXRlVVJMQnJlYWtwb2ludChicmVha3BvaW50KTsKICAgICB9CiAKICAgICBf
c2F2ZURPTUJyZWFrcG9pbnRzKCkKQEAgLTU3MSwyMSArNTQ3LDIxIEBAIFdJLkRPTURlYnVnZ2Vy
TWFuYWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAg
ICAgICB0aGlzLl91cmxCcmVha3BvaW50c1NldHRpbmcudmFsdWUgPSB0aGlzLl91cmxCcmVha3Bv
aW50cy5tYXAoKGJyZWFrcG9pbnQpID0+IGJyZWFrcG9pbnQuc2VyaWFsaXphYmxlSW5mbyk7CiAg
ICAgfQogCi0gICAgX2RvbUJyZWFrcG9pbnREaXNhYmxlZFN0YXRlRGlkQ2hhbmdlKGV2ZW50KQor
ICAgIF9oYW5kbGVET01CcmVha3BvaW50RGlzYWJsZWRTdGF0ZUNoYW5nZWQoZXZlbnQpCiAgICAg
ewogICAgICAgICBsZXQgYnJlYWtwb2ludCA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgdGhpcy5f
dXBkYXRlRE9NQnJlYWtwb2ludChicmVha3BvaW50KTsKICAgICAgICAgdGhpcy5fc2F2ZURPTUJy
ZWFrcG9pbnRzKCk7CiAgICAgfQogCi0gICAgX2V2ZW50QnJlYWtwb2ludERpc2FibGVkU3RhdGVE
aWRDaGFuZ2UoZXZlbnQpCisgICAgX2hhbmRsZUV2ZW50QnJlYWtwb2ludERpc2FibGVkU3RhdGVD
aGFuZ2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBldmVudC50YXJn
ZXQ7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50KTsKICAg
ICAgICAgdGhpcy5fc2F2ZUV2ZW50QnJlYWtwb2ludHMoKTsKICAgICB9CiAKLSAgICBfdXJsQnJl
YWtwb2ludERpc2FibGVkU3RhdGVEaWRDaGFuZ2UoZXZlbnQpCisgICAgX2hhbmRsZVVSTEJyZWFr
cG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdlZChldmVudCkKICAgICB7CiAgICAgICAgIGxldCBicmVh
a3BvaW50ID0gZXZlbnQudGFyZ2V0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NQnJlYWtwb2ludC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01CcmVha3BvaW50LmpzCmluZGV4IDkzNzFi
MTU1ZTBmMjg3ZTczNDgyY2FiMTMxNjZiODFkNGQ2YTVlNWMuLmRlMjQxOTIzNTExMzExZjAyMDEy
MjM0MGU3ZjNmMDYxZDc0ZjUwYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9ET01CcmVha3BvaW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01CcmVha3BvaW50LmpzCkBAIC0yNSw5ICsy
NSwxMCBAQAogCiBXSS5ET01CcmVha3BvaW50ID0gY2xhc3MgRE9NQnJlYWtwb2ludCBleHRlbmRz
IFdJLk9iamVjdAogewotICAgIGNvbnN0cnVjdG9yKGRvbU5vZGVPckluZm8sIHR5cGUsIGRpc2Fi
bGVkKQorICAgIGNvbnN0cnVjdG9yKGRvbU5vZGVPckluZm8sIHR5cGUsIHtkaXNhYmxlZH0gPSB7
fSkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRvbU5vZGVPckluZm8sICJNaXNzaW5n
IERPTU5vZGUgb3IgaW5mby4iKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZG9tTm9kZU9ySW5m
byBpbnN0YW5jZW9mIFdJLkRPTU5vZGUgfHwgdHlwZW9mIGRvbU5vZGVPckluZm8gPT09ICJvYmpl
Y3QiLCBkb21Ob2RlT3JJbmZvKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoT2JqZWN0LnZhbHVl
cyhXSS5ET01CcmVha3BvaW50LlR5cGUpLmluY2x1ZGVzKHR5cGUpLCB0eXBlKTsKIAogICAgICAg
ICBzdXBlcigpOwogCkBAIC00Niw2ICs0NywxNSBAQCBXSS5ET01CcmVha3BvaW50ID0gY2xhc3Mg
RE9NQnJlYWtwb2ludCBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9kaXNhYmxlZCA9
IGRpc2FibGVkIHx8IGZhbHNlOwogICAgIH0KIAorICAgIC8vIFN0YXRpYworCisgICAgc3RhdGlj
IGRlc2VyaWFsaXplKHNlcmlhbGl6ZWRJbmZvKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5ldyBX
SS5ET01CcmVha3BvaW50KHNlcmlhbGl6ZWRJbmZvLCBzZXJpYWxpemVkSW5mby50eXBlLCB7Cisg
ICAgICAgICAgICBkaXNhYmxlZDogISFzZXJpYWxpemVkSW5mby5kaXNhYmxlZCwKKyAgICAgICAg
fSk7CisgICAgfQorCiAgICAgLy8gUHVibGljCiAKICAgICBnZXQgdHlwZSgpIHsgcmV0dXJuIHRo
aXMuX3R5cGU7IH0KQEAgLTY0LDcgKzc0LDcgQEAgV0kuRE9NQnJlYWtwb2ludCA9IGNsYXNzIERP
TUJyZWFrcG9pbnQgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgICAgICB0aGlzLl9kaXNhYmxlZCA9
IGRpc2FibGVkOwogCi0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkRP
TUJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZURpZENoYW5nZSk7CisgICAgICAgIHRoaXMu
ZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkRPTUJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRT
dGF0ZUNoYW5nZWQpOwogICAgIH0KIAogICAgIGdldCBkb21Ob2RlSWRlbnRpZmllcigpCkBAIC04
Myw3ICs5Myw3IEBAIFdJLkRPTUJyZWFrcG9pbnQgPSBjbGFzcyBET01CcmVha3BvaW50IGV4dGVu
ZHMgV0kuT2JqZWN0CiAKICAgICAgICAgdGhpcy5fZG9tTm9kZUlkZW50aWZpZXIgPSBub2RlSWRl
bnRpZmllcjsKIAotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5ET01C
cmVha3BvaW50LkV2ZW50LlJlc29sdmVkU3RhdGVEaWRDaGFuZ2UsIGRhdGEpOworICAgICAgICB0
aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5ET01CcmVha3BvaW50LkV2ZW50LkRPTU5v
ZGVDaGFuZ2VkLCBkYXRhKTsKICAgICB9CiAKICAgICBnZXQgc2VyaWFsaXphYmxlSW5mbygpCkBA
IC0xMTQsNiArMTI0LDYgQEAgV0kuRE9NQnJlYWtwb2ludC5UeXBlID0gewogfTsKIAogV0kuRE9N
QnJlYWtwb2ludC5FdmVudCA9IHsKLSAgICBEaXNhYmxlZFN0YXRlRGlkQ2hhbmdlOiAiZG9tLWJy
ZWFrcG9pbnQtZGlzYWJsZWQtc3RhdGUtZGlkLWNoYW5nZSIsCi0gICAgUmVzb2x2ZWRTdGF0ZURp
ZENoYW5nZTogImRvbS1icmVha3BvaW50LXJlc29sdmVkLXN0YXRlLWRpZC1jaGFuZ2UiLAorICAg
IERPTU5vZGVDaGFuZ2VkOiAiZG9tLWJyZWFrcG9pbnQtZG9tLW5vZGUtY2hhbmdlZCIsCisgICAg
RGlzYWJsZWRTdGF0ZUNoYW5nZWQ6ICJkb20tYnJlYWtwb2ludC1kaXNhYmxlZC1zdGF0ZS1jaGFu
Z2VkIiwKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvRXZlbnRCcmVha3BvaW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0V2ZW50QnJlYWtwb2ludC5qcwppbmRleCAxYmRjM2YzYjE5ZTU5MzVk
NjgwYzkyNTlmOTNkMDE2YmE3ZmEyZmIzLi4wOGJiOTE1MjI5Y2VhOWRkZjU0YmNlODI1ZjYyMjli
ZDRhNzZmZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvRXZlbnRCcmVha3BvaW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9FdmVudEJyZWFrcG9pbnQuanMKQEAgLTI1LDI3ICsyNSwyNSBA
QAogCiBXSS5FdmVudEJyZWFrcG9pbnQgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnQgZXh0ZW5kcyBX
SS5PYmplY3QKIHsKLSAgICBjb25zdHJ1Y3Rvcih0eXBlLCBldmVudE5hbWUsIHtkaXNhYmxlZCwg
ZXZlbnRMaXN0ZW5lcn0gPSB7fSkKKyAgICBjb25zdHJ1Y3Rvcih0eXBlLCBldmVudE5hbWUsIHtl
dmVudExpc3RlbmVyLCBkaXNhYmxlZH0gPSB7fSkKICAgICB7CiAgICAgICAgIHN1cGVyKCk7CiAK
LSAgICAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mIHR5cGUgPT09ICJzdHJpbmciKTsKLSAgICAg
ICAgY29uc29sZS5hc3NlcnQoT2JqZWN0LnZhbHVlcyhXSS5FdmVudEJyZWFrcG9pbnQuVHlwZSku
aW5jbHVkZXModHlwZSkpOwotICAgICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgZXZlbnROYW1l
ID09PSAic3RyaW5nIik7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KE9iamVjdC52YWx1ZXMoV0ku
RXZlbnRCcmVha3BvaW50LlR5cGUpLmluY2x1ZGVzKHR5cGUpLCB0eXBlKTsKKyAgICAgICAgY29u
c29sZS5hc3NlcnQodHlwZW9mIGV2ZW50TmFtZSA9PT0gInN0cmluZyIsIGV2ZW50TmFtZSk7CiAK
ICAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7CiAgICAgICAgIHRoaXMuX2V2ZW50TmFtZSA9IGV2
ZW50TmFtZTsKLQotICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkIHx8IGZhbHNlOwog
ICAgICAgICB0aGlzLl9ldmVudExpc3RlbmVyID0gZXZlbnRMaXN0ZW5lciB8fCBudWxsOworICAg
ICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkIHx8IGZhbHNlOwogICAgIH0KIAogICAgIC8v
IFN0YXRpYwogCi0gICAgc3RhdGljIGZyb21QYXlsb2FkKHBheWxvYWQpCisgICAgc3RhdGljIGRl
c2VyaWFsaXplKHNlcmlhbGl6ZWRJbmZvKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBXSS5F
dmVudEJyZWFrcG9pbnQocGF5bG9hZC50eXBlLCBwYXlsb2FkLmV2ZW50TmFtZSwgewotICAgICAg
ICAgICAgZGlzYWJsZWQ6ICEhcGF5bG9hZC5kaXNhYmxlZCwKKyAgICAgICAgcmV0dXJuIG5ldyBX
SS5FdmVudEJyZWFrcG9pbnQoc2VyaWFsaXplZEluZm8udHlwZSwgc2VyaWFsaXplZEluZm8uZXZl
bnROYW1lLCB7CisgICAgICAgICAgICBkaXNhYmxlZDogISFzZXJpYWxpemVkSW5mby5kaXNhYmxl
ZCwKICAgICAgICAgfSk7CiAgICAgfQogCkBAIC02Nyw3ICs2NSw3IEBAIFdJLkV2ZW50QnJlYWtw
b2ludCA9IGNsYXNzIEV2ZW50QnJlYWtwb2ludCBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAg
IHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQ7CiAKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50
VG9MaXN0ZW5lcnMoV0kuRXZlbnRCcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVEaWRDaGFu
Z2UpOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5FdmVudEJyZWFr
cG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZUNoYW5nZWQpOwogICAgIH0KIAogICAgIGdldCBzZXJp
YWxpemFibGVJbmZvKCkKQEAgLTk5LDYgKzk3LDUgQEAgV0kuRXZlbnRCcmVha3BvaW50LlR5cGVD
b29raWVLZXkgPSAiZXZlbnQtYnJlYWtwb2ludC10eXBlIjsKIFdJLkV2ZW50QnJlYWtwb2ludC5F
dmVudE5hbWVDb29raWVLZXkgPSAiZXZlbnQtYnJlYWtwb2ludC1ldmVudC1uYW1lIjsKIAogV0ku
RXZlbnRCcmVha3BvaW50LkV2ZW50ID0gewotICAgIERpc2FibGVkU3RhdGVEaWRDaGFuZ2U6ICJl
dmVudC1icmVha3BvaW50LWRpc2FibGVkLXN0YXRlLWRpZC1jaGFuZ2UiLAotICAgIFJlc29sdmVk
U3RhdGVEaWRDaGFuZ2U6ICJldmVudC1icmVha3BvaW50LXJlc29sdmVkLXN0YXRlLWRpZC1jaGFu
Z2UiLAorICAgIERpc2FibGVkU3RhdGVDaGFuZ2VkOiAiZXZlbnQtYnJlYWtwb2ludC1kaXNhYmxl
ZC1zdGF0ZS1jaGFuZ2VkIiwKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvVVJMQnJlYWtwb2ludC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9VUkxCcmVha3BvaW50LmpzCmluZGV4IGI4ZmEyOGVm
OGUyMGU3NDZmZjgwMjZjYzFmNWQzMzQwYjQ2YjVkMjMuLmU1ZTBiZTZhNWZlMDgyMTM5ZmM1ZDgx
NmFiZjI3ODU0MTRmNmJkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9VUkxCcmVha3BvaW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9VUkxCcmVha3BvaW50LmpzCkBAIC0yNSwxNSArMjUs
MjcgQEAKIAogV0kuVVJMQnJlYWtwb2ludCA9IGNsYXNzIFVSTEJyZWFrcG9pbnQgZXh0ZW5kcyBX
SS5PYmplY3QKIHsKLSAgICBjb25zdHJ1Y3Rvcih0eXBlLCB1cmwsIGRpc2FibGVkKQorICAgIGNv
bnN0cnVjdG9yKHR5cGUsIHVybCwge2Rpc2FibGVkfSA9IHt9KQogICAgIHsKKyAgICAgICAgY29u
c29sZS5hc3NlcnQoT2JqZWN0LnZhbHVlcyhXSS5VUkxCcmVha3BvaW50LlR5cGUpLmluY2x1ZGVz
KHR5cGUpLCB0eXBlKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mIHVybCA9PT0gInN0
cmluZyIsIHVybCk7CisKICAgICAgICAgc3VwZXIoKTsKIAotICAgICAgICB0aGlzLl90eXBlID0g
dHlwZSB8fCBXSS5VUkxCcmVha3BvaW50LlR5cGUuVGV4dDsKLSAgICAgICAgdGhpcy5fdXJsID0g
dXJsIHx8ICIiOworICAgICAgICB0aGlzLl90eXBlID0gdHlwZTsKKyAgICAgICAgdGhpcy5fdXJs
ID0gdXJsOwogICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkIHx8IGZhbHNlOwogICAg
IH0KIAorICAgIC8vIFN0YXRpYworCisgICAgc3RhdGljIGRlc2VyaWFsaXplKHNlcmlhbGl6ZWRJ
bmZvKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5ldyBXSS5VUkxCcmVha3BvaW50KHNlcmlhbGl6
ZWRJbmZvLnR5cGUsIHNlcmlhbGl6ZWRJbmZvLnVybCwgeworICAgICAgICAgICAgZGlzYWJsZWQ6
ICEhc2VyaWFsaXplZEluZm8uZGlzYWJsZWQsCisgICAgICAgIH0pOworICAgIH0KKwogICAgIC8v
IFB1YmxpYwogCiAgICAgZ2V0IHR5cGUoKSB7IHJldHVybiB0aGlzLl90eXBlOyB9CkBAIC01MSw3
ICs2Myw3IEBAIFdJLlVSTEJyZWFrcG9pbnQgPSBjbGFzcyBVUkxCcmVha3BvaW50IGV4dGVuZHMg
V0kuT2JqZWN0CiAKICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZDsKIAotICAgICAg
ICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5VUkxCcmVha3BvaW50LkV2ZW50LkRp
c2FibGVkU3RhdGVEaWRDaGFuZ2UpOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXSS5VUkxCcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVDaGFuZ2VkKTsKICAgICB9
CiAKICAgICBnZXQgc2VyaWFsaXphYmxlSW5mbygpCkBAIC03MCw4ICs4Miw3IEBAIFdJLlVSTEJy
ZWFrcG9pbnQgPSBjbGFzcyBVUkxCcmVha3BvaW50IGV4dGVuZHMgV0kuT2JqZWN0CiB9OwogCiBX
SS5VUkxCcmVha3BvaW50LkV2ZW50ID0gewotICAgIERpc2FibGVkU3RhdGVEaWRDaGFuZ2U6ICJ1
cmwtYnJlYWtwb2ludC1kaXNhYmxlZC1zdGF0ZS1kaWQtY2hhbmdlIiwKLSAgICBSZXNvbHZlZFN0
YXRlRGlkQ2hhbmdlOiAidXJsLWJyZWFrcG9pbnQtcmVzb2x2ZWQtc3RhdGUtZGlkLWNoYW5nZSIs
CisgICAgRGlzYWJsZWRTdGF0ZUNoYW5nZWQ6ICJ1cmwtYnJlYWtwb2ludC1kaXNhYmxlZC1zdGF0
ZS1jaGFuZ2VkIiwKIH07CiAKIFdJLlVSTEJyZWFrcG9pbnQuVHlwZSA9IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTUJyZWFrcG9pbnRU
cmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTUJyZWFrcG9pbnRUcmVlRWxlbWVudC5qcwppbmRleCA1Y2VmNDA5NDg4YzBkNGU4OTYyNWRi
Y2ZjMzJlYWJlNzFhZjFhNjFhLi42NjdkNTU3ZWZjNjIyMjg3NTc1YmU5ZmIzMGU1MDA0NDI5Mjg0
NzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9ET01CcmVha3BvaW50VHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NQnJlYWtwb2ludFRyZWVFbGVtZW50LmpzCkBAIC0zOSwx
MyArMzksOSBAQCBXSS5ET01CcmVha3BvaW50VHJlZUVsZW1lbnQgPSBjbGFzcyBET01CcmVha3Bv
aW50VHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lcmFsVAogICAgICAgICBzdXBlcihbImJyZWFr
cG9pbnQiLCAiZG9tIiwgY2xhc3NOYW1lXSwgdGl0bGUsIHN1YnRpdGxlLCBicmVha3BvaW50KTsK
IAogICAgICAgICB0aGlzLnN0YXR1cyA9IFdJLkltYWdlVXRpbGl0aWVzLnVzZVNWR1N5bWJvbCgi
SW1hZ2VzL0JyZWFrcG9pbnQuc3ZnIik7Ci0gICAgICAgIHRoaXMuc3RhdHVzLmNsYXNzTGlzdC5h
ZGQoInN0YXR1cy1pbWFnZSIsICJyZXNvbHZlZCIpOworICAgICAgICB0aGlzLnN0YXR1cy5jbGFz
c05hbWUgPSBXSS5CcmVha3BvaW50VHJlZUVsZW1lbnQuU3RhdHVzSW1hZ2VFbGVtZW50U3R5bGVD
bGFzc05hbWU7CiAKICAgICAgICAgdGhpcy50b29sdGlwSGFuZGxlZFNlcGFyYXRlbHkgPSB0cnVl
OwotCi0gICAgICAgIGJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01CcmVha3BvaW50
LkV2ZW50LkRpc2FibGVkU3RhdGVEaWRDaGFuZ2UsIHRoaXMuX3VwZGF0ZVN0YXR1cywgdGhpcyk7
Ci0KLSAgICAgICAgdGhpcy5fdXBkYXRlU3RhdHVzKCk7CiAgICAgfQogCiAgICAgLy8gU3RhdGlj
CkBAIC03MSw2ICs2Nyw5IEBAIFdJLkRPTUJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIERP
TUJyZWFrcG9pbnRUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmVyYWxUCiAgICAgewogICAgICAg
ICBzdXBlci5vbmF0dGFjaCgpOwogCisgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QuYWRk
RXZlbnRMaXN0ZW5lcihXSS5ET01CcmVha3BvaW50LkV2ZW50LkRpc2FibGVkU3RhdGVDaGFuZ2Vk
LCB0aGlzLl91cGRhdGVTdGF0dXMsIHRoaXMpOworICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuQnJlYWtwb2ludHNFbmFi
bGVkRGlkQ2hhbmdlLCB0aGlzLl91cGRhdGVTdGF0dXMsIHRoaXMpOworCiAgICAgICAgIHRoaXMu
X2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Q2xpY2tlZCA9IHRoaXMuX3N0YXR1c0ltYWdlRWxlbWVu
dENsaWNrZWQuYmluZCh0aGlzKTsKICAgICAgICAgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1l
bnRGb2N1c2VkID0gdGhpcy5fc3RhdHVzSW1hZ2VFbGVtZW50Rm9jdXNlZC5iaW5kKHRoaXMpOwog
ICAgICAgICB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudE1vdXNlRG93biA9IHRoaXMuX3N0
YXR1c0ltYWdlRWxlbWVudE1vdXNlRG93bi5iaW5kKHRoaXMpOwpAQCAtNzgsMTIgKzc3LDE3IEBA
IFdJLkRPTUJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIERPTUJyZWFrcG9pbnRUcmVlRWxl
bWVudCBleHRlbmRzIFdJLkdlbmVyYWxUCiAgICAgICAgIHRoaXMuc3RhdHVzLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRDbGlja2VkKTsKICAg
ICAgICAgdGhpcy5zdGF0dXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCB0aGlzLl9ib3VuZFN0
YXR1c0ltYWdlRWxlbWVudEZvY3VzZWQpOwogICAgICAgICB0aGlzLnN0YXR1cy5hZGRFdmVudExp
c3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudE1vdXNlRG93
bik7CisKKyAgICAgICAgdGhpcy5fdXBkYXRlU3RhdHVzKCk7CiAgICAgfQogCiAgICAgb25kZXRh
Y2goKQogICAgIHsKICAgICAgICAgc3VwZXIub25kZXRhY2goKTsKIAorICAgICAgICB0aGlzLnJl
cHJlc2VudGVkT2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIobnVsbCwgbnVsbCwgdGhpcyk7Cisg
ICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKG51bGwsIG51bGws
IHRoaXMpOworCiAgICAgICAgIHRoaXMuc3RhdHVzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRDbGlja2VkKTsKICAgICAgICAgdGhpcy5z
dGF0dXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdl
RWxlbWVudEZvY3VzZWQpOwogICAgICAgICB0aGlzLnN0YXR1cy5yZW1vdmVFdmVudExpc3RlbmVy
KCJtb3VzZWRvd24iLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudE1vdXNlRG93bik7CkBA
IC0xNTQsNiArMTU4LDEwIEBAIFdJLkRPTUJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIERP
TUJyZWFrcG9pbnRUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmVyYWxUCiAKICAgICBfdXBkYXRl
U3RhdHVzKCkKICAgICB7Ci0gICAgICAgIHRoaXMuc3RhdHVzLmNsYXNzTGlzdC50b2dnbGUoImRp
c2FibGVkIiwgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5kaXNhYmxlZCk7CisgICAgICAgIGlmICgh
dGhpcy5zdGF0dXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5zdGF0dXMu
Y2xhc3NMaXN0LnRvZ2dsZShXSS5CcmVha3BvaW50VHJlZUVsZW1lbnQuU3RhdHVzSW1hZ2VEaXNh
YmxlZFN0eWxlQ2xhc3NOYW1lLCB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LmRpc2FibGVkKTsKKyAg
ICAgICAgdGhpcy5zdGF0dXMuY2xhc3NMaXN0LnRvZ2dsZShXSS5CcmVha3BvaW50VHJlZUVsZW1l
bnQuU3RhdHVzSW1hZ2VSZXNvbHZlZFN0eWxlQ2xhc3NOYW1lLCBXSS5kZWJ1Z2dlck1hbmFnZXIu
YnJlYWtwb2ludHNFbmFibGVkKTsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3
LmpzCmluZGV4IGRkZjU1NzA3YTdkZTczNTI2N2IwMTI5ODNlYzljMGIzZGU0MDlhMzguLmI4Mzkw
NTE0ZmNkYWVkYWE1MTgwYTRmYTMyZTBkYjliOWNkZGI0YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29u
dGVudFZpZXcuanMKQEAgLTk1LDggKzk1LDggQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xh
c3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgICAg
IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRPTURlYnVnZ2VyTWFu
YWdlci5FdmVudC5ET01CcmVha3BvaW50QWRkZWQsIHRoaXMuX2RvbUJyZWFrcG9pbnRBZGRlZE9y
UmVtb3ZlZCwgdGhpcyk7CiAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXSS5ET01EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuRE9NQnJlYWtwb2ludFJlbW92
ZWQsIHRoaXMuX2RvbUJyZWFrcG9pbnRBZGRlZE9yUmVtb3ZlZCwgdGhpcyk7CiAKLSAgICAgICAg
ICAgIFdJLkRPTUJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01CcmVha3BvaW50LkV2
ZW50LkRpc2FibGVkU3RhdGVEaWRDaGFuZ2UsIHRoaXMuX2RvbUJyZWFrcG9pbnREaXNhYmxlZFN0
YXRlRGlkQ2hhbmdlLCB0aGlzKTsKLSAgICAgICAgICAgIFdJLkRPTUJyZWFrcG9pbnQuYWRkRXZl
bnRMaXN0ZW5lcihXSS5ET01CcmVha3BvaW50LkV2ZW50LlJlc29sdmVkU3RhdGVEaWRDaGFuZ2Us
IHRoaXMuX2RvbUJyZWFrcG9pbnRSZXNvbHZlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzKTsKKyAgICAg
ICAgICAgIFdJLkRPTUJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01CcmVha3BvaW50
LkV2ZW50LkRpc2FibGVkU3RhdGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVET01CcmVha3BvaW50RGlz
YWJsZWRTdGF0ZUNoYW5nZWQsIHRoaXMpOworICAgICAgICAgICAgV0kuRE9NQnJlYWtwb2ludC5h
ZGRFdmVudExpc3RlbmVyKFdJLkRPTUJyZWFrcG9pbnQuRXZlbnQuRE9NTm9kZUNoYW5nZWQsIHRo
aXMuX2hhbmRsZURPTUJyZWFrcG9pbnRET01Ob2RlQ2hhbmdlZCwgdGhpcyk7CiAKICAgICAgICAg
ICAgIHRoaXMuX2JyZWFrcG9pbnRzRW5hYmxlZERpZENoYW5nZSgpOwogICAgICAgICB9CkBAIC03
NDUsMTMgKzc0NSwxMyBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLl91cGRhdGVCcmVh
a3BvaW50U3RhdHVzKGJyZWFrcG9pbnQuZG9tTm9kZUlkZW50aWZpZXIpOwogICAgIH0KIAotICAg
IF9kb21CcmVha3BvaW50RGlzYWJsZWRTdGF0ZURpZENoYW5nZShldmVudCkKKyAgICBfaGFuZGxl
RE9NQnJlYWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkKGV2ZW50KQogICAgIHsKICAgICAgICAg
bGV0IGJyZWFrcG9pbnQgPSBldmVudC50YXJnZXQ7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUJyZWFr
cG9pbnRTdGF0dXMoYnJlYWtwb2ludC5kb21Ob2RlSWRlbnRpZmllcik7CiAgICAgfQogCi0gICAg
X2RvbUJyZWFrcG9pbnRSZXNvbHZlZFN0YXRlRGlkQ2hhbmdlKGV2ZW50KQorICAgIF9oYW5kbGVE
T01CcmVha3BvaW50RE9NTm9kZUNoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAgICBsZXQgYnJl
YWtwb2ludCA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgbGV0IG5vZGVJZGVudGlmaWVyID0gYnJl
YWtwb2ludC5kb21Ob2RlSWRlbnRpZmllciB8fCBldmVudC5kYXRhLm9sZE5vZGVJZGVudGlmaWVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
RGVidWdnZXJTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcwppbmRleCA2ZjQ5OTQyYzk0OGI5MzE0
MTk1NjM3NmY3YjRkYTVhMmNhODVhNWMwLi43MjExZmJlNDU3ODk2OTA2ZjU0ZjViMTQ5NjA3ODBj
NzE1Yzg0ZTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcwpAQCAtNTMsNyAr
NTMsNyBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBh
bmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICBXSS5kZWJ1Z2dlck1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuQWN0aXZlQ2FsbEZy
YW1lRGlkQ2hhbmdlLCB0aGlzLl9kZWJ1Z2dlckFjdGl2ZUNhbGxGcmFtZURpZENoYW5nZSwgdGhp
cyk7CiAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVn
Z2VyTWFuYWdlci5FdmVudC5XYWl0aW5nVG9QYXVzZSwgdGhpcy5fZGVidWdnZXJXYWl0aW5nVG9Q
YXVzZSwgdGhpcyk7CiAKLSAgICAgICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVy
KFdJLkRPTUJyZWFrcG9pbnQuRXZlbnQuUmVzb2x2ZWRTdGF0ZURpZENoYW5nZSwgdGhpcy5fZG9t
QnJlYWtwb2ludFJlc29sdmVkU3RhdGVEaWRDaGFuZ2UsIHRoaXMpOworICAgICAgICBXSS5ET01C
cmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NQnJlYWtwb2ludC5FdmVudC5ET01Ob2Rl
Q2hhbmdlZCwgdGhpcy5faGFuZGxlRE9NQnJlYWtwb2ludERPTU5vZGVDaGFuZ2VkLCB0aGlzKTsK
IAogICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5UaW1lbGlu
ZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nV2lsbFN0YXJ0LCB0aGlzLl90aW1lbGluZUNhcHR1cmlu
Z1dpbGxTdGFydCwgdGhpcyk7CiAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExp
c3RlbmVyKFdJLlRpbWVsaW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkLCB0aGlzLl90
aW1lbGluZUNhcHR1cmluZ1N0b3BwZWQsIHRoaXMpOwpAQCAtMTM2Myw3ICsxMzYzLDcgQEAgV0ku
RGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRlbmRz
IFdJLk5hdmlnYXRpb25TaWRlYmEKICAgICAgICAgcmV0dXJuIGlzc3VlVHJlZUVsZW1lbnQ7CiAg
ICAgfQogCi0gICAgX2RvbUJyZWFrcG9pbnRSZXNvbHZlZFN0YXRlRGlkQ2hhbmdlKGV2ZW50KQor
ICAgIF9oYW5kbGVET01CcmVha3BvaW50RE9NTm9kZUNoYW5nZWQoZXZlbnQpCiAgICAgewogICAg
ICAgICBsZXQgYnJlYWtwb2ludCA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgaWYgKGJyZWFrcG9p
bnQuZG9tTm9kZUlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFRyZWVF
bGVtZW50LmpzCmluZGV4IDllYTkxMTI3ZDFhMmYyM2ZkNjYxN2MwMzVhYTQwMzVlYzBkNGUzMWYu
LmI4YTFiNTIxZDU5MGMyNjM0MjhjZDFjODAyM2EwY2Q1ZjVkNzAzNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFRy
ZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0V2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50LmpzCkBAIC00MCwxMyArNDAsOSBAQCBXSS5F
dmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIEV2ZW50QnJlYWtwb2ludFRyZWVFbGVt
ZW50IGV4dGVuZHMgV0kuR2VuZQogICAgICAgICBzdXBlcihjbGFzc05hbWVzLCB0aXRsZSwgc3Vi
dGl0bGUsIGJyZWFrcG9pbnQpOwogCiAgICAgICAgIHRoaXMuc3RhdHVzID0gV0kuSW1hZ2VVdGls
aXRpZXMudXNlU1ZHU3ltYm9sKCJJbWFnZXMvQnJlYWtwb2ludC5zdmciKTsKLSAgICAgICAgdGhp
cy5zdGF0dXMuY2xhc3NMaXN0LmFkZCgic3RhdHVzLWltYWdlIiwgInJlc29sdmVkIik7CisgICAg
ICAgIHRoaXMuc3RhdHVzLmNsYXNzTmFtZSA9IFdJLkJyZWFrcG9pbnRUcmVlRWxlbWVudC5TdGF0
dXNJbWFnZUVsZW1lbnRTdHlsZUNsYXNzTmFtZTsKIAogICAgICAgICB0aGlzLnRvb2x0aXBIYW5k
bGVkU2VwYXJhdGVseSA9IHRydWU7Ci0KLSAgICAgICAgYnJlYWtwb2ludC5hZGRFdmVudExpc3Rl
bmVyKFdJLkV2ZW50QnJlYWtwb2ludC5FdmVudC5EaXNhYmxlZFN0YXRlRGlkQ2hhbmdlLCB0aGlz
Ll91cGRhdGVTdGF0dXMsIHRoaXMpOwotCi0gICAgICAgIHRoaXMuX3VwZGF0ZVN0YXR1cygpOwog
ICAgIH0KIAogICAgIC8vIFByb3RlY3RlZApAQCAtNTUsNiArNTEsOSBAQCBXSS5FdmVudEJyZWFr
cG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIEV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50IGV4dGVu
ZHMgV0kuR2VuZQogICAgIHsKICAgICAgICAgc3VwZXIub25hdHRhY2goKTsKIAorICAgICAgICB0
aGlzLnJlcHJlc2VudGVkT2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoV0kuRXZlbnRCcmVha3BvaW50
LkV2ZW50LkRpc2FibGVkU3RhdGVDaGFuZ2VkLCB0aGlzLl91cGRhdGVTdGF0dXMsIHRoaXMpOwor
ICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1h
bmFnZXIuRXZlbnQuQnJlYWtwb2ludHNFbmFibGVkRGlkQ2hhbmdlLCB0aGlzLl91cGRhdGVTdGF0
dXMsIHRoaXMpOworCiAgICAgICAgIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Q2xpY2tl
ZCA9IHRoaXMuX3N0YXR1c0ltYWdlRWxlbWVudENsaWNrZWQuYmluZCh0aGlzKTsKICAgICAgICAg
dGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRGb2N1c2VkID0gdGhpcy5fc3RhdHVzSW1hZ2VF
bGVtZW50Rm9jdXNlZC5iaW5kKHRoaXMpOwogICAgICAgICB0aGlzLl9ib3VuZFN0YXR1c0ltYWdl
RWxlbWVudE1vdXNlRG93biA9IHRoaXMuX3N0YXR1c0ltYWdlRWxlbWVudE1vdXNlRG93bi5iaW5k
KHRoaXMpOwpAQCAtNjIsMTIgKzYxLDE3IEBAIFdJLkV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50
ID0gY2xhc3MgRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5HZW5lCiAgICAg
ICAgIHRoaXMuc3RhdHVzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fYm91bmRTdGF0
dXNJbWFnZUVsZW1lbnRDbGlja2VkKTsKICAgICAgICAgdGhpcy5zdGF0dXMuYWRkRXZlbnRMaXN0
ZW5lcigiZm9jdXMiLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudEZvY3VzZWQpOwogICAg
ICAgICB0aGlzLnN0YXR1cy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl9ib3Vu
ZFN0YXR1c0ltYWdlRWxlbWVudE1vdXNlRG93bik7CisKKyAgICAgICAgdGhpcy5fdXBkYXRlU3Rh
dHVzKCk7CiAgICAgfQogCiAgICAgb25kZXRhY2goKQogICAgIHsKICAgICAgICAgc3VwZXIub25k
ZXRhY2goKTsKIAorICAgICAgICB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LnJlbW92ZUV2ZW50TGlz
dGVuZXIobnVsbCwgbnVsbCwgdGhpcyk7CisgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1v
dmVFdmVudExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOworCiAgICAgICAgIHRoaXMuc3RhdHVz
LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1l
bnRDbGlja2VkKTsKICAgICAgICAgdGhpcy5zdGF0dXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9j
dXMiLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudEZvY3VzZWQpOwogICAgICAgICB0aGlz
LnN0YXR1cy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl9ib3VuZFN0YXR1
c0ltYWdlRWxlbWVudE1vdXNlRG93bik7CkBAIC0xNTIsNiArMTU2LDEwIEBAIFdJLkV2ZW50QnJl
YWtwb2ludFRyZWVFbGVtZW50ID0gY2xhc3MgRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQgZXh0
ZW5kcyBXSS5HZW5lCiAKICAgICBfdXBkYXRlU3RhdHVzKCkKICAgICB7Ci0gICAgICAgIHRoaXMu
c3RhdHVzLmNsYXNzTGlzdC50b2dnbGUoImRpc2FibGVkIiwgdGhpcy5yZXByZXNlbnRlZE9iamVj
dC5kaXNhYmxlZCk7CisgICAgICAgIGlmICghdGhpcy5zdGF0dXMpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgdGhpcy5zdGF0dXMuY2xhc3NMaXN0LnRvZ2dsZShXSS5CcmVha3BvaW50
VHJlZUVsZW1lbnQuU3RhdHVzSW1hZ2VEaXNhYmxlZFN0eWxlQ2xhc3NOYW1lLCB0aGlzLnJlcHJl
c2VudGVkT2JqZWN0LmRpc2FibGVkKTsKKyAgICAgICAgdGhpcy5zdGF0dXMuY2xhc3NMaXN0LnRv
Z2dsZShXSS5CcmVha3BvaW50VHJlZUVsZW1lbnQuU3RhdHVzSW1hZ2VSZXNvbHZlZFN0eWxlQ2xh
c3NOYW1lLCBXSS5kZWJ1Z2dlck1hbmFnZXIuYnJlYWtwb2ludHNFbmFibGVkKTsKICAgICB9CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwppbmRl
eCBmMGU1N2IyNzVmMGRlZDJjMzZlMTQ1MTA4MmU2YzAxNzI4OWRlZWE3Li40ZjI1MTRlZDYzNTMz
ODg4ODNhZmM0MmM3Y2Q0YzI2MjMwNDg5YzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2Vz
TmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwpAQCAtMjQ4LDcgKzI0OCw3IEBAIFdJLlNvdXJjZXNO
YXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFu
ZWwgZXh0ZW5kcyBXCiAgICAgICAgIFdJLkJyZWFrcG9pbnQuYWRkRXZlbnRMaXN0ZW5lcihXSS5C
cmVha3BvaW50LkV2ZW50LkRpc3BsYXlMb2NhdGlvbkRpZENoYW5nZSwgdGhpcy5faGFuZGxlRGVi
dWdnZXJPYmplY3REaXNwbGF5TG9jYXRpb25EaWRDaGFuZ2UsIHRoaXMpOwogICAgICAgICBXSS5J
c3N1ZU1lc3NhZ2UuYWRkRXZlbnRMaXN0ZW5lcihXSS5Jc3N1ZU1lc3NhZ2UuRXZlbnQuRGlzcGxh
eUxvY2F0aW9uRGlkQ2hhbmdlLCB0aGlzLl9oYW5kbGVEZWJ1Z2dlck9iamVjdERpc3BsYXlMb2Nh
dGlvbkRpZENoYW5nZSwgdGhpcyk7CiAKLSAgICAgICAgV0kuRE9NQnJlYWtwb2ludC5hZGRFdmVu
dExpc3RlbmVyKFdJLkRPTUJyZWFrcG9pbnQuRXZlbnQuUmVzb2x2ZWRTdGF0ZURpZENoYW5nZSwg
dGhpcy5faGFuZGxlRE9NQnJlYWtwb2ludFJlc29sdmVkU3RhdGVEaWRDaGFuZ2UsIHRoaXMpOwor
ICAgICAgICBXSS5ET01CcmVha3BvaW50LmFkZEV2ZW50TGlzdGVuZXIoV0kuRE9NQnJlYWtwb2lu
dC5FdmVudC5ET01Ob2RlQ2hhbmdlZCwgdGhpcy5faGFuZGxlRE9NQnJlYWtwb2ludERPTU5vZGVD
aGFuZ2VkLCB0aGlzKTsKIAogICAgICAgICBXSS5jb25zb2xlTWFuYWdlci5hZGRFdmVudExpc3Rl
bmVyKFdJLkNvbnNvbGVNYW5hZ2VyLkV2ZW50Lklzc3VlQWRkZWQsIHRoaXMuX2hhbmRsZUNvbnNv
bGVJc3N1ZUFkZGVkLCB0aGlzKTsKICAgICAgICAgV0kuY29uc29sZU1hbmFnZXIuYWRkRXZlbnRM
aXN0ZW5lcihXSS5Db25zb2xlTWFuYWdlci5FdmVudC5DbGVhcmVkLCB0aGlzLl9oYW5kbGVDb25z
b2xlQ2xlYXJlZCwgdGhpcyk7CkBAIC0xNTY4LDcgKzE1NjgsNyBAQCBXSS5Tb3VyY2VzTmF2aWdh
dGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4
dGVuZHMgVwogICAgICAgICAgICAgbmV3RGVidWdnZXJUcmVlRWxlbWVudC5yZXZlYWxBbmRTZWxl
Y3QodHJ1ZSwgZmFsc2UsIHRydWUpOwogICAgIH0KIAotICAgIF9oYW5kbGVET01CcmVha3BvaW50
UmVzb2x2ZWRTdGF0ZURpZENoYW5nZShldmVudCkKKyAgICBfaGFuZGxlRE9NQnJlYWtwb2ludERP
TU5vZGVDaGFuZ2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBldmVu
dC50YXJnZXQ7CiAgICAgICAgIGlmIChicmVha3BvaW50LmRvbU5vZGVJZGVudGlmaWVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVVJMQnJl
YWtwb2ludFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50LmpzCmluZGV4IDg3YTNkNzI3YmI5Mjll
NjBiM2Y3NjIyYWY1YzU3Nzc3MjFjYTFmNDUuLjA1YjE4MDhlMzcyOWJhZTRmOTVmOWRiNDIyOThl
OTk4MDZmODA5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1VSTEJyZWFrcG9pbnRUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9VUkxCcmVha3BvaW50VHJlZUVsZW1lbnQuanMK
QEAgLTQ0LDEzICs0NCw5IEBAIFdJLlVSTEJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IGNsYXNzIFVS
TEJyZWFrcG9pbnRUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmVyYWxUCiAgICAgICAgIHN1cGVy
KFsiYnJlYWtwb2ludCIsICJ1cmwiLCBjbGFzc05hbWVdLCB0aXRsZSwgc3VidGl0bGUsIGJyZWFr
cG9pbnQpOwogCiAgICAgICAgIHRoaXMuc3RhdHVzID0gV0kuSW1hZ2VVdGlsaXRpZXMudXNlU1ZH
U3ltYm9sKCJJbWFnZXMvQnJlYWtwb2ludC5zdmciKTsKLSAgICAgICAgdGhpcy5zdGF0dXMuY2xh
c3NMaXN0LmFkZCgic3RhdHVzLWltYWdlIiwgInJlc29sdmVkIik7CisgICAgICAgIHRoaXMuc3Rh
dHVzLmNsYXNzTmFtZSA9IFdJLkJyZWFrcG9pbnRUcmVlRWxlbWVudC5TdGF0dXNJbWFnZUVsZW1l
bnRTdHlsZUNsYXNzTmFtZTsKIAogICAgICAgICB0aGlzLnRvb2x0aXBIYW5kbGVkU2VwYXJhdGVs
eSA9IHRydWU7Ci0KLSAgICAgICAgYnJlYWtwb2ludC5hZGRFdmVudExpc3RlbmVyKFdJLlVSTEJy
ZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRTdGF0ZURpZENoYW5nZSwgdGhpcy5fdXBkYXRlU3RhdHVz
LCB0aGlzKTsKLQotICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXMoKTsKICAgICB9CiAKICAgICAv
LyBQcm90ZWN0ZWQKQEAgLTU5LDYgKzU1LDkgQEAgV0kuVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50
ID0gY2xhc3MgVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50IGV4dGVuZHMgV0kuR2VuZXJhbFQKICAg
ICB7CiAgICAgICAgIHN1cGVyLm9uYXR0YWNoKCk7CiAKKyAgICAgICAgdGhpcy5yZXByZXNlbnRl
ZE9iamVjdC5hZGRFdmVudExpc3RlbmVyKFdJLlVSTEJyZWFrcG9pbnQuRXZlbnQuRGlzYWJsZWRT
dGF0ZUNoYW5nZWQsIHRoaXMuX3VwZGF0ZVN0YXR1cywgdGhpcyk7CisgICAgICAgIFdJLmRlYnVn
Z2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5CcmVh
a3BvaW50c0VuYWJsZWREaWRDaGFuZ2UsIHRoaXMuX3VwZGF0ZVN0YXR1cywgdGhpcyk7CisKICAg
ICAgICAgdGhpcy5fYm91bmRTdGF0dXNJbWFnZUVsZW1lbnRDbGlja2VkID0gdGhpcy5fc3RhdHVz
SW1hZ2VFbGVtZW50Q2xpY2tlZC5iaW5kKHRoaXMpOwogICAgICAgICB0aGlzLl9ib3VuZFN0YXR1
c0ltYWdlRWxlbWVudEZvY3VzZWQgPSB0aGlzLl9zdGF0dXNJbWFnZUVsZW1lbnRGb2N1c2VkLmJp
bmQodGhpcyk7CiAgICAgICAgIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50TW91c2VEb3du
ID0gdGhpcy5fc3RhdHVzSW1hZ2VFbGVtZW50TW91c2VEb3duLmJpbmQodGhpcyk7CkBAIC02Niwx
MiArNjUsMTcgQEAgV0kuVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50ID0gY2xhc3MgVVJMQnJlYWtw
b2ludFRyZWVFbGVtZW50IGV4dGVuZHMgV0kuR2VuZXJhbFQKICAgICAgICAgdGhpcy5zdGF0dXMu
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudENs
aWNrZWQpOwogICAgICAgICB0aGlzLnN0YXR1cy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsIHRo
aXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50Rm9jdXNlZCk7CiAgICAgICAgIHRoaXMuc3RhdHVz
LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVt
ZW50TW91c2VEb3duKTsKKworICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXMoKTsKICAgICB9CiAK
ICAgICBvbmRldGFjaCgpCiAgICAgewogICAgICAgICBzdXBlci5vbmRldGFjaCgpOwogCisgICAg
ICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihudWxsLCBudWxs
LCB0aGlzKTsKKyAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIo
bnVsbCwgbnVsbCwgdGhpcyk7CisKICAgICAgICAgdGhpcy5zdGF0dXMucmVtb3ZlRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCB0aGlzLl9ib3VuZFN0YXR1c0ltYWdlRWxlbWVudENsaWNrZWQpOwogICAg
ICAgICB0aGlzLnN0YXR1cy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsIHRoaXMuX2JvdW5k
U3RhdHVzSW1hZ2VFbGVtZW50Rm9jdXNlZCk7CiAgICAgICAgIHRoaXMuc3RhdHVzLnJlbW92ZUV2
ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX2JvdW5kU3RhdHVzSW1hZ2VFbGVtZW50TW91
c2VEb3duKTsKQEAgLTE0Myw2ICsxNDcsMTAgQEAgV0kuVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50
ID0gY2xhc3MgVVJMQnJlYWtwb2ludFRyZWVFbGVtZW50IGV4dGVuZHMgV0kuR2VuZXJhbFQKIAog
ICAgIF91cGRhdGVTdGF0dXMoKQogICAgIHsKLSAgICAgICAgdGhpcy5zdGF0dXMuY2xhc3NMaXN0
LnRvZ2dsZSgiZGlzYWJsZWQiLCB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LmRpc2FibGVkKTsKKyAg
ICAgICAgaWYgKCF0aGlzLnN0YXR1cykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0
aGlzLnN0YXR1cy5jbGFzc0xpc3QudG9nZ2xlKFdJLkJyZWFrcG9pbnRUcmVlRWxlbWVudC5TdGF0
dXNJbWFnZURpc2FibGVkU3R5bGVDbGFzc05hbWUsIHRoaXMucmVwcmVzZW50ZWRPYmplY3QuZGlz
YWJsZWQpOworICAgICAgICB0aGlzLnN0YXR1cy5jbGFzc0xpc3QudG9nZ2xlKFdJLkJyZWFrcG9p
bnRUcmVlRWxlbWVudC5TdGF0dXNJbWFnZVJlc29sdmVkU3R5bGVDbGFzc05hbWUsIFdJLmRlYnVn
Z2VyTWFuYWdlci5icmVha3BvaW50c0VuYWJsZWQpOwogICAgIH0KIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>