<?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>72123</bug_id>
          
          <creation_ts>2011-11-11 06:28:27 -0800</creation_ts>
          <short_desc>Web Inspector: Application cache status should be updated after swapCache().</short_desc>
          <delta_ts>2011-11-16 09:01:19 -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 (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>ap</cc>
    
    <cc>bweinstein</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>steveblock</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>500731</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-11-11 06:28:27 -0800</bug_when>
    <thetext>Application cache status should be updated on swap.

Refresh button could be deleted as part if this change, since there is no any need in it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500909</commentid>
    <comment_count>1</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-11-11 10:40:55 -0800</bug_when>
    <thetext>Application cache view should be updated automatically 
 - when shown
 - in the following cases if view is already shown
   - when there are no resources yet and new status is IDLE
   - when old status was UPDATEREADY and new status is IDLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502232</commentid>
    <comment_count>2</comment_count>
      <attachid>115016</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-11-14 13:13:18 -0800</bug_when>
    <thetext>Created attachment 115016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503661</commentid>
    <comment_count>3</comment_count>
      <attachid>115016</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-16 00:11:04 -0800</bug_when>
    <thetext>Comment on attachment 115016
Patch

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

r+ given the macros are removed prior to landing.

&gt; Source/WebCore/ChangeLog:3
&gt; +        Web Inspector: Application cache status should be updated on swap.

What is &quot;swap&quot; could you please add more details into the changelog?

&gt; Source/WebCore/inspector/front-end/ApplicationCacheItemsView.js:130
&gt; +        if (this.isShowing() &amp;&amp; this._status === applicationCache.IDLE &amp;&amp; (oldStatus === applicationCache.UPDATEREADY || !this._resources))

I noticed that you are doing unconditional update upon wasShown. You could instead set a dirty flag here and only update in case of dirty.

&gt; Source/WebCore/loader/appcache/ApplicationCacheHost.cpp:244
&gt; +#if ENABLE(INSPECTOR)

You don&apos;t need this macro here. Instrumentation should take care of overhead, while frame getter and != check are not expensive.

&gt; Source/WebCore/loader/appcache/ApplicationCacheHost.cpp:459
&gt; +#if ENABLE(INSPECTOR)

ditto.

&gt; LayoutTests/http/tests/inspector/resource-tree/appcache-test.js:3
&gt;  function createAndNavigateIFrame(url)

Drive-by: why is this file under the resource-tree folder?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503889</commentid>
    <comment_count>4</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-11-16 08:07:22 -0800</bug_when>
    <thetext>&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        Web Inspector: Application cache status should be updated on swap.
&gt; 
&gt; What is &quot;swap&quot; could you please add more details into the changelog?
swapCache() is a method on applicationCache object. I changed bug summary and updated changelog.

 
&gt; &gt; Source/WebCore/inspector/front-end/ApplicationCacheItemsView.js:130
&gt; &gt; +        if (this.isShowing() &amp;&amp; this._status === applicationCache.IDLE &amp;&amp; (oldStatus === applicationCache.UPDATEREADY || !this._resources))
&gt; 
&gt; I noticed that you are doing unconditional update upon wasShown. You could instead set a dirty flag here and only update in case of dirty.

Done.

&gt; &gt; Source/WebCore/loader/appcache/ApplicationCacheHost.cpp:244
&gt; &gt; +#if ENABLE(INSPECTOR)
&gt; 
&gt; You don&apos;t need this macro here. Instrumentation should take care of overhead, while frame getter and != check are not expensive.
&gt; 
&gt; &gt; Source/WebCore/loader/appcache/ApplicationCacheHost.cpp:459
&gt; &gt; +#if ENABLE(INSPECTOR)
&gt; 
&gt; ditto.
Done.

&gt; &gt; LayoutTests/http/tests/inspector/resource-tree/appcache-test.js:3
&gt; &gt;  function createAndNavigateIFrame(url)
&gt; 
&gt; Drive-by: why is this file under the resource-tree folder?
Moved inspector appcache tests to their own folder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503892</commentid>
    <comment_count>5</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-11-16 08:10:03 -0800</bug_when>
    <thetext>Committed r100454: &lt;http://trac.webkit.org/changeset/100454&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503946</commentid>
    <comment_count>6</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-11-16 09:01:19 -0800</bug_when>
    <thetext>Committed r100458: &lt;http://trac.webkit.org/changeset/100458&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115016</attachid>
            <date>2011-11-14 13:13:18 -0800</date>
            <delta_ts>2011-11-16 00:11:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72123-20111115011316.patch</filename>
            <type>text/plain</type>
            <size>40982</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGRjNzkzNGY5OTlkOGYy
NTkzYWZlZDZhNTMyOTg2YmU0NDA2ZmM5NS4uMjYxYTg1M2Y3NzUxYjA4ZjhhMzY3NGFmMWU1YjQ0
NDhiMGYzYWZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTExLTE0ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1cyBzaG91bGQgYmUgdXBkYXRlZCBvbiBzd2FwLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLXN3YXAuaHRtbAorCisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcucHJvdG90eXBlLmdldCBz
dGF0dXNCYXJJdGVtcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0
ZW1zVmlldy5wcm90b3R5cGUudXBkYXRlU3RhdHVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5B
cHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LnByb3RvdHlwZS5fdXBkYXRlQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcucHJvdG90eXBlLl9k
ZWxldGVDYWxsYmFjayk6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OnNl
dE5ld2VzdENhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
bWFrZU9ic29sZXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
c2V0VXBkYXRlU3RhdHVzKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUhvc3Q6Om5v
dGlmeURPTUFwcGxpY2F0aW9uQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25D
YWNoZUhvc3Q6OnN3YXBDYWNoZSk6CisKIDIwMTEtMTEtMTQgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBTZWN1cml0eU9yaWdpbiBpbmhlcml0YW5jZSBzaG91bGQg
ZGVwZW5kIG9uIGRvY3VtZW50IFVSTCwgbm90IG9uICJlbXB0aW5lc3MiIG9mIHRoZSBTZWN1cml0
eU9yaWdpbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBlYzNmZjQxMTlmN2QxNTdjNWE3
OThhM2IzYjUxNjM3MzA0NjNjM2ZkLi40ZmZjODA4NWIwNDVhNjg1Y2JlYjhhNDY4Y2JlMDA2YTNj
Mzk4OGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEx
LTExLTE0ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IEFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1cyBzaG91bGQgYmUgdXBkYXRl
ZCBvbiBzd2FwLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzIxMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHNyYy9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlSG9zdDo6c3dhcENhY2hlKToKKwogMjAxMS0xMS0xNCAgVG9tbXkgV2lkZW5m
bHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIE1lZGlhU3Ry
ZWFtIEFQSTogQWxsb3cgZm9yIG51bGwgV2ViUGVlckNvbm5lY3Rpb25IYW5kbGVyCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FwcGxpY2F0aW9uQ2FjaGVJ
dGVtc1ZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FwcGxpY2F0
aW9uQ2FjaGVJdGVtc1ZpZXcuanMKaW5kZXggODBjMDk2YTE5NTViYjM5YThjZWUxYjYxOTZiNzc4
YjYxNzExMzc2NC4uZmYxODIyNWExNTBlOWYxMGU2YmQzNmJkNWNkZTljMjNlYzkyODM4YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNh
Y2hlSXRlbXNWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
QXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5qcwpAQCAtNDEsMTAgKzQxLDYgQEAgV2ViSW5zcGVj
dG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcgPSBmdW5jdGlvbihtb2RlbCwgZnJhbWVJZCwg
c3RhdHVzKQogICAgIHRoaXMuZGVsZXRlQnV0dG9uLnZpc2libGUgPSBmYWxzZTsKICAgICB0aGlz
LmRlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2RlbGV0ZUJ1dHRv
bkNsaWNrZWQsIHRoaXMpOwogCi0gICAgLy8gRklYTUU6IE5lZWRzIGJldHRlciB0b29sdGlwLiAo
TG9jYWxpemVkKQotICAgIHRoaXMucmVmcmVzaEJ1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU3Rh
dHVzQmFyQnV0dG9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVmcmVzaCIpLCAicmVmcmVzaC1z
dG9yYWdlLXN0YXR1cy1iYXItaXRlbSIpOwotICAgIHRoaXMucmVmcmVzaEJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIHRoaXMuX3JlZnJlc2hCdXR0b25DbGlja2VkLCB0aGlzKTsKLQog
ICAgIGlmIChQcmVmZXJlbmNlcy5vbmxpbmVEZXRlY3Rpb25FbmFibGVkKSB7CiAgICAgICAgIHRo
aXMuY29ubmVjdGl2aXR5SWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwogICAg
ICAgICB0aGlzLmNvbm5lY3Rpdml0eUljb24uY2xhc3NOYW1lID0gInN0b3JhZ2UtYXBwbGljYXRp
b24tY2FjaGUtY29ubmVjdGl2aXR5LWljb24iOwpAQCAtNzQsNyArNzAsNiBAQCBXZWJJbnNwZWN0
b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldyA9IGZ1bmN0aW9uKG1vZGVsLCBmcmFtZUlkLCBz
dGF0dXMpCiAgICAgLy8gRklYTUU6IFN0YXR1cyBiYXIgaXRlbXMgZG9uJ3Qgd29yayB3ZWxsIGVu
b3VnaCB5ZXQsIHNvIHRoZXkgYXJlIGJlaW5nIGhpZGRlbi4KICAgICAvLyBodHRwOi8vd2Via2l0
Lm9yZy9iLzQxNjM3IFdlYiBJbnNwZWN0b3I6IEdpdmUgU2VtYW50aWNzIHRvICJSZWZyZXNoIiBh
bmQgIkRlbGV0ZSIgQnV0dG9ucyBpbiBBcHBsaWNhdGlvbkNhY2hlIERhdGFHcmlkCiAgICAgdGhp
cy5kZWxldGVCdXR0b24uZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwotICAgIHRoaXMu
cmVmcmVzaEJ1dHRvbi5lbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgaWYgKFBy
ZWZlcmVuY2VzLm9ubGluZURldGVjdGlvbkVuYWJsZWQpIHsKICAgICAgICAgdGhpcy5jb25uZWN0
aXZpdHlJY29uLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgIHRoaXMuY29ubmVjdGl2
aXR5TWVzc2FnZS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwpAQCAtODcsMTMgKzgyLDEzIEBAIFdl
Ykluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LnByb3RvdHlwZSA9IHsKICAgICB7
CiAgICAgICAgIGlmIChQcmVmZXJlbmNlcy5vbmxpbmVEZXRlY3Rpb25FbmFibGVkKSB7CiAgICAg
ICAgICAgICByZXR1cm4gWwotICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaEJ1dHRvbi5lbGVt
ZW50LCB0aGlzLmRlbGV0ZUJ1dHRvbi5lbGVtZW50LAorICAgICAgICAgICAgICAgIHRoaXMuZGVs
ZXRlQnV0dG9uLmVsZW1lbnQsCiAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aXZpdHlJY29u
LCB0aGlzLmNvbm5lY3Rpdml0eU1lc3NhZ2UsIHRoaXMuZGl2aWRlciwKICAgICAgICAgICAgICAg
ICB0aGlzLnN0YXR1c0ljb24sIHRoaXMuc3RhdHVzTWVzc2FnZQogICAgICAgICAgICAgXTsKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHJldHVybiBbCi0gICAgICAgICAgICAgICAgdGhp
cy5yZWZyZXNoQnV0dG9uLmVsZW1lbnQsIHRoaXMuZGVsZXRlQnV0dG9uLmVsZW1lbnQsIHRoaXMu
ZGl2aWRlciwKKyAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUJ1dHRvbi5lbGVtZW50LCB0aGlz
LmRpdmlkZXIsCiAgICAgICAgICAgICAgICAgdGhpcy5zdGF0dXNJY29uLCB0aGlzLnN0YXR1c01l
c3NhZ2UKICAgICAgICAgICAgIF07CiAgICAgICAgIH0KQEAgLTExNSw2ICsxMTAsOSBAQCBXZWJJ
bnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICov
CiAgICAgdXBkYXRlU3RhdHVzOiBmdW5jdGlvbihzdGF0dXMpCiAgICAgeworICAgICAgICB2YXIg
b2xkU3RhdHVzID0gdGhpcy5fc3RhdHVzOworICAgICAgICB0aGlzLl9zdGF0dXMgPSBzdGF0dXM7
CisgICAgICAgIAogICAgICAgICB2YXIgc3RhdHVzSW5mb3JtYXRpb24gPSB7fTsKICAgICAgICAg
Ly8gV2Ugc2hvdWxkIG5ldmVyIGhhdmUgVU5DQUNIRUQgc3RhdHVzLCBzaW5jZSB3ZSByZW1vdmUg
ZnJhbWVzIHdpdGggVU5DQUNIRUQgYXBwbGljYXRpb24gY2FjaGUgc3RhdHVzIGZyb20gdGhlIHRy
ZWUuIAogICAgICAgICBzdGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVE
XSAgICA9IHsgc3JjOiAiSW1hZ2VzL2Vycm9yUmVkRG90LnBuZyIsIHRleHQ6ICJVTkNBQ0hFRCIg
fTsKQEAgLTEyOCw2ICsxMjYsOSBAQCBXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1z
Vmlldy5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5zdGF0dXNJY29uLnNyYyA9IGluZm8u
c3JjOwogICAgICAgICB0aGlzLnN0YXR1c01lc3NhZ2UudGV4dENvbnRlbnQgPSBpbmZvLnRleHQ7
CisgICAgICAgIAorICAgICAgICBpZiAodGhpcy5pc1Nob3dpbmcoKSAmJiB0aGlzLl9zdGF0dXMg
PT09IGFwcGxpY2F0aW9uQ2FjaGUuSURMRSAmJiAob2xkU3RhdHVzID09PSBhcHBsaWNhdGlvbkNh
Y2hlLlVQREFURVJFQURZIHx8ICF0aGlzLl9yZXNvdXJjZXMpKQorICAgICAgICAgICAgdGhpcy5f
dXBkYXRlKCk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMTU3LDIwICsxNTgsMjUgQEAgV2ViSW5z
cGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcucHJvdG90eXBlID0gewogICAgIF91cGRh
dGVDYWxsYmFjazogZnVuY3Rpb24oYXBwbGljYXRpb25DYWNoZSkKICAgICB7CiAgICAgICAgIGlm
ICghYXBwbGljYXRpb25DYWNoZSB8fCAhYXBwbGljYXRpb25DYWNoZS5tYW5pZmVzdFVSTCkgewor
ICAgICAgICAgICAgZGVsZXRlIHRoaXMuX21hbmlmZXN0OworICAgICAgICAgICAgZGVsZXRlIHRo
aXMuX2NyZWF0aW9uVGltZTsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl91cGRhdGVUaW1lOwor
ICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3NpemU7CisgICAgICAgICAgICBkZWxldGUgdGhpcy5f
cmVzb3VyY2VzOworICAgICAgICAgICAgCiAgICAgICAgICAgICB0aGlzLl9lbXB0eVZpZXcuc2hv
dyh0aGlzLmVsZW1lbnQpOwogICAgICAgICAgICAgdGhpcy5kZWxldGVCdXR0b24udmlzaWJsZSA9
IGZhbHNlOwogICAgICAgICAgICAgaWYgKHRoaXMuX2RhdGFHcmlkKQogICAgICAgICAgICAgICAg
IHRoaXMuX2RhdGFHcmlkLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KLQotICAgICAgICAvLyBGSVhNRTogYXBwbGljYXRpb25D
YWNoZXMgaXMganVzdCBvbmUgY2FjaGUuCiAgICAgICAgIC8vIEZJWE1FOiBhcmUgdGhlc2UgdmFy
aWFibGVzIG5lZWRlZCBhbnl3aGVyZSBlbHNlPwogICAgICAgICB0aGlzLl9tYW5pZmVzdCA9IGFw
cGxpY2F0aW9uQ2FjaGUubWFuaWZlc3RVUkw7CiAgICAgICAgIHRoaXMuX2NyZWF0aW9uVGltZSA9
IGFwcGxpY2F0aW9uQ2FjaGUuY3JlYXRpb25UaW1lOwogICAgICAgICB0aGlzLl91cGRhdGVUaW1l
ID0gYXBwbGljYXRpb25DYWNoZS51cGRhdGVUaW1lOwogICAgICAgICB0aGlzLl9zaXplID0gYXBw
bGljYXRpb25DYWNoZS5zaXplOwogICAgICAgICB0aGlzLl9yZXNvdXJjZXMgPSBhcHBsaWNhdGlv
bkNhY2hlLnJlc291cmNlczsKKwogICAgICAgICB2YXIgbGFzdFBhdGhDb21wb25lbnQgPSBhcHBs
aWNhdGlvbkNhY2hlLmxhc3RQYXRoQ29tcG9uZW50OwogCiAgICAgICAgIGlmICghdGhpcy5fZGF0
YUdyaWQpCkBAIC0yNjQsMTIgKzI3MCw2IEBAIFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hl
SXRlbXNWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gSW5zcGVjdG9yQmFja2VuZC5kZWxl
dGVDYWNoZWRSZXNvdXJjZSguLi4pCiAgICAgICAgIC8vIHRoaXMuX3VwZGF0ZSgpOwogICAgIH0s
Ci0KLSAgICBfcmVmcmVzaEJ1dHRvbkNsaWNrZWQ6IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAg
ICAgICAgLy8gRklYTUU6IElzIHRoaXMgYSByZWZyZXNoIGJ1dHRvbiBvciBhIHJlLWZldGNoIG1h
bmlmZXN0IGJ1dHRvbj8KLSAgICAgICAgLy8gdGhpcy5fdXBkYXRlKCk7Ci0gICAgfQogfQogCiBX
ZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAppbmRleCBkNDUz
ZTkzYjZiNDE4MmE2NDI0NzQxYTA1YWE4NzIyZjU0YWFjNmRlLi4wMzVkMGVkZGU1MzgzOGJmMTE5
ZmRjZjRhZTVjNTRlOTAyYzAwYjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcApAQCAtNDA2LDcgKzQwNiw2
IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpzZXROZXdlc3RDYWNoZShQYXNzUmVmUHRy
PEFwcGxpY2F0aW9uQ2FjaGU+IG5ld2VzdENhCiAKICAgICBtX2NhY2hlcy5hZGQobV9uZXdlc3RD
YWNoZS5nZXQoKSk7CiAgICAgbV9uZXdlc3RDYWNoZS0+c2V0R3JvdXAodGhpcyk7Ci0gICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKG1fZnJh
bWUpOwogfQogCiB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6bWFrZU9ic29sZXRlKCkKQEAg
LTQxNyw3ICs0MTYsNiBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6bWFrZU9ic29sZXRl
KCkKICAgICBtX2lzT2Jzb2xldGUgPSB0cnVlOwogICAgIGNhY2hlU3RvcmFnZSgpLmNhY2hlR3Jv
dXBNYWRlT2Jzb2xldGUodGhpcyk7CiAgICAgQVNTRVJUKCFtX3N0b3JhZ2VJRCk7Ci0gICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKG1fZnJh
bWUpOwogfQogCiB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6dXBkYXRlKEZyYW1lKiBmcmFt
ZSwgQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB1cGRhdGVPcHRpb24pCkBAIC0xMTQ0LDcg
KzExNDIsNiBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6cG9zdExpc3RlbmVyVGFzayhB
cHBsaWNhdGlvbkNhY2hlSG9zdDo6RXZlbnRJRCBldmVudAogdm9pZCBBcHBsaWNhdGlvbkNhY2hl
R3JvdXA6OnNldFVwZGF0ZVN0YXR1cyhVcGRhdGVTdGF0dXMgc3RhdHVzKQogewogICAgIG1fdXBk
YXRlU3RhdHVzID0gc3RhdHVzOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6dXBkYXRl
QXBwbGljYXRpb25DYWNoZVN0YXR1cyhtX2ZyYW1lKTsKIH0KIAogdm9pZCBBcHBsaWNhdGlvbkNh
Y2hlR3JvdXA6OmNsZWFyU3RvcmFnZUlEKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuY3BwCmluZGV4IGQyZGY2OWU4Yjli
MjE5YmRiNTg4ODNlZThmNmY4YTg5YTA5YjNhM2IuLjMwZjk3MTBkNzBkMzZkODNjNGNmMTE3Y2I1
NWY4MWZlMGEzNjY5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlckNsaWVudC5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIk1haW5SZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlByb2dyZXNzRXZlbnQuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUxvYWRlci5oIgpAQCAtMjQwLDYgKzI0MSwxMCBAQCB2b2lkIEFw
cGxpY2F0aW9uQ2FjaGVIb3N0OjpzZXRET01BcHBsaWNhdGlvbkNhY2hlKERPTUFwcGxpY2F0aW9u
Q2FjaGUqIGRvbUFwcGxpYwogCiB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVIb3N0Ojpub3RpZnlET01B
cHBsaWNhdGlvbkNhY2hlKEV2ZW50SUQgaWQsIGludCB0b3RhbCwgaW50IGRvbmUpCiB7CisjaWYg
RU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoaWQgIT0gUFJPR1JFU1NfRVZFTlQpCisgICAgICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6dXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyht
X2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpKTsKKyNlbmRpZgogICAgIGlmIChtX2RlZmVyc0V2ZW50
cykgewogICAgICAgICAvLyBFdmVudCBkaXNwYXRjaGluZyBpcyBkZWZlcnJlZCB1bnRpbCBkb2N1
bWVudC5vbmxvYWQgaGFzIGZpcmVkLgogICAgICAgICBtX2RlZmVycmVkRXZlbnRzLmFwcGVuZChE
ZWZlcnJlZEV2ZW50KGlkLCB0b3RhbCwgZG9uZSkpOwpAQCAtNDUxLDcgKzQ1Niw5IEBAIGJvb2wg
QXBwbGljYXRpb25DYWNoZUhvc3Q6OnN3YXBDYWNoZSgpCiAgICAgCiAgICAgQVNTRVJUKGNhY2hl
LT5ncm91cCgpID09IG5ld2VzdENhY2hlLT5ncm91cCgpKTsKICAgICBzZXRBcHBsaWNhdGlvbkNh
Y2hlKG5ld2VzdENhY2hlKTsKLSAgICAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6dXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyhtX2RvY3Vt
ZW50TG9hZGVyLT5mcmFtZSgpKTsKKyNlbmRpZgogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9BcHBsaWNhdGlvbkNhY2hlSG9zdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHAK
aW5kZXggYWIxMGU0NmQ3N2QxYzA0ZWU0ZWQ0ZDQ2ZDc4NDIxYmQwZmE0MjkwZi4uNjk4MDQ5NDA0
MWYwNDBiZTkzMzg5NzNjYWUzMzdlY2RhMGMwM2FjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQXBwbGljYXRpb25DYWNoZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcApAQCAtMjg5LDcgKzI4OSwx
MCBAQCBib29sIEFwcGxpY2F0aW9uQ2FjaGVIb3N0Ojp1cGRhdGUoKQogCiBib29sIEFwcGxpY2F0
aW9uQ2FjaGVIb3N0Ojpzd2FwQ2FjaGUoKQogewotICAgIHJldHVybiBtX2ludGVybmFsID8gbV9p
bnRlcm5hbC0+bV9vdXRlckhvc3QtPnN3YXBDYWNoZSgpIDogZmFsc2U7CisgICAgYm9vbCBzdWNj
ZXNzID0gbV9pbnRlcm5hbCA/IG1faW50ZXJuYWwtPm1fb3V0ZXJIb3N0LT5zd2FwQ2FjaGUoKSA6
IGZhbHNlOworICAgIGlmIChzdWNjZXNzKQorICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OnVwZGF0ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXMobV9kb2N1bWVudExvYWRlci0+ZnJhbWUo
KSk7CisgICAgcmV0dXJuIHN1Y2Nlc3M7CiB9CiAKIGJvb2wgQXBwbGljYXRpb25DYWNoZUhvc3Q6
OmlzQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ5YWE4MzhlNTU1YjVlZTE4NGEw
NDk4MzNmY2YyNzMwYzQ3YjJmNWMuLjE2NjVjODE2NGEzYjk4Y2NmZjllMTZlNzNmNTgxYTgyZDA5
OWUxNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMS0xMS0xNCAgVnNldm9sb2QgVmxhc292
ICA8dnNldmlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBcHBsaWNh
dGlvbiBjYWNoZSBzdGF0dXMgc2hvdWxkIGJlIHVwZGF0ZWQgb24gc3dhcC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTIzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLWlmcmFtZS1tYW5pZmVzdHMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtaWZy
YW1lLW1hbmlmZXN0cy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBj
YWNoZS1tYW5pZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxlLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1zd2FwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9h
cHBjYWNoZS1zd2FwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtdGVzdC5qczoKKyAgICAgICAgKGNyZWF0ZUFuZE5hdmln
YXRlSUZyYW1lKToKKyAgICAgICAgKHJlbW92ZUlGcmFtZSk6CisgICAgICAgIChuYXZpZ2F0ZUlG
cmFtZSk6CisgICAgICAgIChzd2FwRnJhbWVDYWNoZSk6CisgICAgICAgIChpbml0aWFsaXplX0Fw
cGxpY2F0aW9uQ2FjaGVUZXN0Lkluc3BlY3RvclRlc3Quc3dhcEZyYW1lQ2FjaGUpOgorICAgICAg
ICAoaW5pdGlhbGl6ZV9BcHBsaWNhdGlvbkNhY2hlVGVzdC5JbnNwZWN0b3JUZXN0LnN0YXJ0QXBw
bGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkaW5nKToKKyAgICAgICAgKGluaXRpYWxpemVfQXBw
bGljYXRpb25DYWNoZVRlc3QuSW5zcGVjdG9yVGVzdC5lbnN1cmVGcmFtZVN0YXR1c0V2ZW50c1Jl
Y2VpdmVkKToKKyAgICAgICAgKGluaXRpYWxpemVfQXBwbGljYXRpb25DYWNoZVRlc3QpOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3ZlcnNp
b25lZC1tYW5pZmVzdC5waHA6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3dpdGgtdmVyc2lvbmVkLW1hbmlmZXN0LnBocDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUtZXhwZWN0
ZWQudHh0OgorCiAyMDExLTExLTE0ICBFcmlrIEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmVtb3ZlIGdldFBhcmFtZXRlciBmcm9tIEhUTUxBbmNob3JFbGVtZW50IGFu
ZCBMb2NhdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtaWZy
YW1lLW1hbmlmZXN0cy1leHBlY3RlZC50eHQKaW5kZXggOTc5MzExZjRkOGQwMjQzN2E0ZWM1MzFi
MjY5NjFjNWUwZDQ3OWUzYi4uYTRhNGQ4NTliMWUzMmIwOWM3MzMxYzk5YjBlNjg0Njk5NTQxZGNj
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLWlmcmFtZS1t
YW5pZmVzdHMtZXhwZWN0ZWQudHh0CkBAIC0xNCwxNyArMTQsNiBAQCBEdW1waW5nIGFwcGxpY2F0
aW9uIGNhY2hlIG1vZGVsOgogICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlm
ZXN0SWQ9MQogICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKIAotRHVtcGluZyBhcHBsaWNhdGlv
biBjYWNoZSBzdGF0dXNlcyByZWNvcmRzOgotICAgIEZyYW1lOiBmcmFtZTEKLSAgICAgICAgbWFu
aWZlc3QgdXJsOiAKLSAgICAgICAgc3RhdHVzOiAgICAgICBVTkNBQ0hFRAotICAgICAgICBtYW5p
ZmVzdCB1cmw6IAotICAgICAgICBzdGF0dXM6ICAgICAgIERPV05MT0FESU5HCi0gICAgICAgIG1h
bmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1czogICAg
ICAgRE9XTkxPQURJTkcKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVz
dElkPTEKLSAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCi0KIER1bXBpbmcgYXBwbGljYXRpb24g
Y2FjaGUgdHJlZToKICAgICBNYW5pZmVzdCBVUkw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9Mgog
ICAgICAgICBGcmFtZTogZnJhbWUxIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQpAQCAtMzMsMTcg
KzIyLDYgQEAgRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKICAgICAgICAgbWFuaWZl
c3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKICAgICAgICAgc3RhdHVzOiAgICAgICBJ
RExFCiAKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgc3RhdHVzZXMgcmVjb3JkczoKLSAgICBG
cmFtZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVybDogCi0gICAgICAgIHN0YXR1czogICAg
ICAgVU5DQUNIRUQKLSAgICAgICAgbWFuaWZlc3QgdXJsOiAKLSAgICAgICAgc3RhdHVzOiAgICAg
ICBET1dOTE9BRElORwotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0
SWQ9MgotICAgICAgICBzdGF0dXM6ICAgICAgIERPV05MT0FESU5HCi0gICAgICAgIG1hbmlmZXN0
IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCi0gICAgICAgIHN0YXR1czogICAgICAgSURM
RQotCiBEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CiAgICAgTWFuaWZlc3QgVVJMOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21h
bmlmZXN0LnBocD9tYW5pZmVzdElkPTIKICAgICAgICAgRnJhbWU6IGZyYW1lMSAocGFnZS13aXRo
LW1hbmlmZXN0LnBocCkKQEAgLTU3LDEzICszNSw2IEBAIER1bXBpbmcgYXBwbGljYXRpb24gY2Fj
aGUgbW9kZWw6CiAgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0x
CiAgICAgICAgIHN0YXR1czogICAgICAgSURMRQogCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hl
IHN0YXR1c2VzIHJlY29yZHM6Ci0gICAgRnJhbWU6IGZyYW1lMgotICAgICAgICBtYW5pZmVzdCB1
cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAgICBzdGF0dXM6ICAgICAgIENIRUNL
SU5HCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAg
ICAgIHN0YXR1czogICAgICAgSURMRQotCiBEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6
CiAgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKICAgICAgICAgRnJh
bWU6IGZyYW1lMSAocGFnZS13aXRoLW1hbmlmZXN0LnBocCkKQEAgLTgxLDEzICs1Miw2IEBAIER1
bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6CiAgICAgICAgIG1hbmlmZXN0IHVybDogaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5p
ZmVzdC5waHA/bWFuaWZlc3RJZD0xCiAgICAgICAgIHN0YXR1czogICAgICAgSURMRQogCi1EdW1w
aW5nIGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1c2VzIHJlY29yZHM6Ci0gICAgRnJhbWU6IGZyYW1l
MwotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAg
ICBzdGF0dXM6ICAgICAgIENIRUNLSU5HCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5w
aHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotCiBEdW1waW5nIGFw
cGxpY2F0aW9uIGNhY2hlIHRyZWU6CiAgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5p
ZmVzdElkPTIKICAgICAgICAgRnJhbWU6IGZyYW1lMSAocGFnZS13aXRoLW1hbmlmZXN0LnBocCkK
QEAgLTEwMSw5ICs2NSw2IEBAIER1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6CiAgICAg
ICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCiAgICAgICAgIHN0YXR1
czogICAgICAgSURMRQogCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1c2VzIHJlY29y
ZHM6Ci0gICAgKGVtcHR5KQotCiBEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CiAgICAg
TWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKICAgICAgICAgRnJhbWU6IGZy
YW1lMSAocGFnZS13aXRoLW1hbmlmZXN0LnBocCkKQEAgLTExMiwxNSArNzMsOSBAQCBEdW1waW5n
IGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgogICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3Qu
cGhwP21hbmlmZXN0SWQ9MgogICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKIAotRHVtcGluZyBh
cHBsaWNhdGlvbiBjYWNoZSBzdGF0dXNlcyByZWNvcmRzOgotICAgIChlbXB0eSkKLQogRHVtcGlu
ZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgogICAgIChlbXB0eSkKIER1bXBpbmcgYXBwbGljYXRp
b24gY2FjaGUgbW9kZWw6CiAgICAgKGVtcHR5KQogCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hl
IHN0YXR1c2VzIHJlY29yZHM6Ci0gICAgKGVtcHR5KQotCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtaWZyYW1lLW1h
bmlmZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLmh0bWwKaW5kZXggZThmNWQ5MTJmZTVlNjMx
ZmViYmZhM2EyYzgyNGVhNzQ0MGZjOTViOC4uMzBmNTMxMzA4NTBlNjkxOTQ0YzJiZWVlZDFjOTli
YzNiMjVjNTZhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1pZnJhbWUt
bWFuaWZlc3RzLmh0bWwKQEAgLTEwLDcgKzEwLDYgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgdmFy
IGZyYW1lSWQzOwogCiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7Ci0g
ICAgSW5zcGVjdG9yVGVzdC5zdGFydEFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZGluZygp
OwogICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKICAgICBJbnNwZWN0
b3JUZXN0LmNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlm
ZXN0LnBocD9tYW5pZmVzdElkPTEiLCBzdGVwMSk7CiAKQEAgLTIzLDcgKzIyLDYgQEAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgZnVuY3Rpb24gc3RlcDIoKQogICAgIHsKICAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBB
cHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRzKCk7CiAgICAgICAgIEluc3BlY3RvclRlc3Qu
bmF2aWdhdGVJRnJhbWUoZnJhbWVJZDEsICJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBo
cD9tYW5pZmVzdElkPTIiLCBzdGVwMyk7CiAgICAgfQogCkBAIC0zNSw3ICszMyw2IEBAIGZ1bmN0
aW9uIHRlc3QoKQogICAgIGZ1bmN0aW9uIHN0ZXA0KCkKICAgICB7CiAgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
QXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcygpOwogICAgICAgICBJbnNwZWN0b3JUZXN0
LmNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBo
cD9tYW5pZmVzdElkPTEiLCBzdGVwNSk7CiAgICAgfQogCkBAIC00OCw3ICs0NSw2IEBAIGZ1bmN0
aW9uIHRlc3QoKQogICAgIGZ1bmN0aW9uIHN0ZXA2KCkKICAgICB7CiAgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
QXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcygpOwogICAgICAgICBJbnNwZWN0b3JUZXN0
LmNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBo
cD9tYW5pZmVzdElkPTEiLCBzdGVwNyk7CiAgICAgfQogCkBAIC02Niw3ICs2Miw2IEBAIGZ1bmN0
aW9uIHRlc3QoKQogICAgIGZ1bmN0aW9uIHN0ZXA5KCkKICAgICB7CiAgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
QXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcygpOwogICAgICAgICBJbnNwZWN0b3JUZXN0
LnJlbW92ZUlGcmFtZShmcmFtZUlkMywgc3RlcDEwKTsKICAgICB9CiAKQEAgLTc4LDcgKzczLDYg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgZnVuY3Rpb24gc3RlcDExKCkKICAgICB7CiAgICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcygpOwogICAgICAgICBJbnNw
ZWN0b3JUZXN0LnJlbW92ZUlGcmFtZShmcmFtZUlkMiwgc3RlcDEyKTsKICAgICB9CiAKQEAgLTkw
LDcgKzg0LDYgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgZnVuY3Rpb24gc3RlcDEzKCkKICAgICB7
CiAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcygpOwogICAg
ICAgICBJbnNwZWN0b3JUZXN0LnJlbW92ZUlGcmFtZShmcmFtZUlkMSwgc3RlcDE0KTsKICAgICB9
CiAKQEAgLTEwMiw3ICs5NSw2IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIGZ1bmN0aW9uIHN0ZXAx
NSgpCiAgICAgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29y
ZHMoKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKICAgICB9CiB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1t
YW5pZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxlLWV4cGVjdGVkLnR4dAppbmRleCBhN2IwNTgw
MGE4MTJlYzEwMTYzMGEwNDJkY2Y5ZjM2MzdkNmRlZTRlLi5mNjJjOWFlN2Y4YTgzMzg3NGUzNWU0
YzNiMTRlNTMzNWViYjkxNTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5n
LWZpbGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS1l
eHBlY3RlZC50eHQKQEAgLTEyLDExICsxMiw0IEBAIER1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUg
dHJlZToKIER1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6CiAgICAgKGVtcHR5KQogCi1E
dW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1c2VzIHJlY29yZHM6Ci0gICAgRnJhbWU6IGZy
YW1lMQotICAgICAgICBtYW5pZmVzdCB1cmw6IAotICAgICAgICBzdGF0dXM6ICAgICAgIFVOQ0FD
SEVECi0gICAgICAgIG1hbmlmZXN0IHVybDogCi0gICAgICAgIHN0YXR1czogICAgICAgRE9XTkxP
QURJTkcKLQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2Fj
aGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS5odG1sCmluZGV4IDE2ZGJlMjI5ZjA0
NzVmYmRlZWYxMDM4ZWZhOTRiYTU5MjZmNDQ2MjQuLjAyZWEzMmVhODAwMzc4ZDAxYmM2Y2ZhNmIw
M2JlYmRkYTE0OWMxNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmls
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS5odG1sCkBAIC0xNyw5
ICsxNyw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIGZ1bmN0aW9uIHN0ZXAxKGZyYW1lSWQpCiAg
ICAgewogICAgICAgICBmcmFtZUlkMSA9IGZyYW1lSWQ7Ci0gICAgICAgIC8vIFdlIGFyZSB3YWl0
aW5nIGZvciBET1dOTE9BRElORyBldmVudCBoZXJlLCBiZWNhdXNlIGl0IGlzIHRoZSBvbmUgdGhh
dAotICAgICAgICAvLyBpcyBzZW50IGJvdGggaW4gY2hyb21pdW0gYW5kIHdlYmNvcmUgYXBwbGlj
YXRpb24gY2FjaGUgaW1wbGVtZW50YXRpb24uCi0gICAgICAgIEluc3BlY3RvclRlc3QuZW5zdXJl
RnJhbWVNYW5pZmVzdFN0YXR1c0V2ZW50UmVjZWl2ZWQoZnJhbWVJZCwgYXBwbGljYXRpb25DYWNo
ZS5ET1dOTE9BRElORywgc3RlcDIpCisgICAgICAgIC8vIFdhaXRpbmcgZm9yIGF0IGxlYXN0IHR3
byBzdGF0dXMgZXZlbnRzIG5vdGlmaWNhdGlvbnMgZnJvbSBiYWNrZW5kLCB0byBtYWtlIHN1cmUK
KyAgICAgICAgLy8gd2UgYXJlIG5vdCBjb21wbGV0aW5nIHRlc3QgYmVmb3JlIGxvYWRpbmcgYXBw
bGljYXRpb24gY2FjaGUuCisgICAgICAgIEluc3BlY3RvclRlc3QuZW5zdXJlRnJhbWVTdGF0dXNF
dmVudHNSZWNlaXZlZChmcmFtZUlkLCAyLCBzdGVwMikKICAgICB9CiAKICAgICBmdW5jdGlvbiBz
dGVwMigpCkBAIC0zMCw3ICszMCw2IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIGZ1bmN0aW9uIHN0
ZXAzKCkKICAgICB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUo
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVj
b3JkcygpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvYXBwY2FjaGUtc3dhcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLXN3YXAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ4NTljMjU4ZWY1NGMxOGZmMWEyNzM3ZjljNTE2NzBhOGJhODdjODEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2Fw
cGNhY2hlLXN3YXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDIgQEAKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxNDogRG9uZS4KK1Rlc3RzIHRoYXQgYXBwbGljYXRpb24gY2FjaGUgbW9kZWwga2Vl
cHMgdHJhY2sgb2YgbWFuaWZlc3QgdXJscyBhbmQgc3RhdHVzZXMgY29ycmVjdGx5IGFmdGVyIFVQ
REFURVJFQURZIGV2ZW50IGFuZCBzd2FwQ2FjaGUoKSBjYWxsLgorCitCdWcgNzIxMjMKK0R1bXBp
bmcgYXBwbGljYXRpb24gY2FjaGUgdHJlZToKKyAgICAoZW1wdHkpCitEdW1waW5nIGFwcGxpY2F0
aW9uIGNhY2hlIG1vZGVsOgorICAgIChlbXB0eSkKKworRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNo
ZSB0cmVlOgorICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwCisgICAgICAg
IEZyYW1lOiBmcmFtZTEgKHdpdGgtdmVyc2lvbmVkLW1hbmlmZXN0LnBocCkKK0R1bXBpbmcgYXBw
bGljYXRpb24gY2FjaGUgbW9kZWw6CisgICAgRnJhbWU6IGZyYW1lMQorICAgICAgICBtYW5pZmVz
dCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocAorICAgICAgICBzdGF0dXM6ICAgICAgIElETEUK
KworRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgorICAgIE1hbmlmZXN0IFVSTDogaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy92ZXJz
aW9uZWQtbWFuaWZlc3QucGhwCisgICAgICAgIEZyYW1lOiBmcmFtZTEgKHdpdGgtdmVyc2lvbmVk
LW1hbmlmZXN0LnBocCkKKyAgICAgICAgRnJhbWU6IGZyYW1lMiAod2l0aC12ZXJzaW9uZWQtbWFu
aWZlc3QucGhwKQorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKKyAgICBGcmFtZTog
ZnJhbWUxCisgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwCisgICAg
ICAgIHN0YXR1czogICAgICAgVVBEQVRFUkVBRFkKKyAgICBGcmFtZTogZnJhbWUyCisgICAgICAg
IG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwCisgICAgICAgIHN0YXR1czogICAg
ICAgVVBEQVRFUkVBRFkKKworRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgorICAgIE1h
bmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwCisgICAgICAgIEZyYW1lOiBmcmFtZTEg
KHdpdGgtdmVyc2lvbmVkLW1hbmlmZXN0LnBocCkKKyAgICAgICAgRnJhbWU6IGZyYW1lMiAod2l0
aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwKQorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2Rl
bDoKKyAgICBGcmFtZTogZnJhbWUxCisgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFu
aWZlc3QucGhwCisgICAgICAgIHN0YXR1czogICAgICAgSURMRQorICAgIEZyYW1lOiBmcmFtZTIK
KyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3ZlcnNpb25lZC1tYW5pZmVzdC5waHAKKyAgICAgICAgc3Rh
dHVzOiAgICAgICBVUERBVEVSRUFEWQorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtc3dhcC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1zd2FwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzgyZjlmMDBiNTI2NGJlN2IwYWMyZDRmNDFjMWZjNjcxYzI2ZjBjMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvYXBwY2FjaGUtc3dhcC5odG1sCkBAIC0wLDAgKzEsNzYgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9ImFwcGNhY2hlLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL25ldHdv
cmstdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gc3RlcE1hbmlmZXN0VmVy
c2lvbigpCit7CisgICAgZG9YSFIoIkdFVCIsICJyZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0
LnBocD9jb21tYW5kPXN0ZXAiLCB0cnVlLCB4aHJMb2FkZWQpOworfQorCitmdW5jdGlvbiB4aHJM
b2FkZWQoKQoreworICAgIGNvbnNvbGUubG9nKCJEb25lLiIpOworfQorCitmdW5jdGlvbiB0ZXN0
KCkKK3sKKyAgICB2YXIgZnJhbWVJZDE7CisgICAgdmFyIGZyYW1lSWQyOworCisgICAgV2ViSW5z
cGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydEFw
cGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZGluZygpOworICAgIEluc3BlY3RvclRlc3QuZHVt
cEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFuZE5hdmlnYXRl
SUZyYW1lKCJyZXNvdXJjZXMvd2l0aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwIiwgc3RlcDEpOwor
CisgICAgZnVuY3Rpb24gc3RlcDEoZnJhbWVJZCkKKyAgICB7CisgICAgICAgIGZyYW1lSWQxID0g
ZnJhbWVJZDsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFu
ZFN0YXR1cyhmcmFtZUlkMSwgInJlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwIiwgYXBw
bGljYXRpb25DYWNoZS5JRExFLCBzdGVwMik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIo
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAzKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic3RlcE1hbmlmZXN0VmVyc2lvbigpIik7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5jcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSgicmVzb3VyY2VzL3dpdGgtdmVyc2lvbmVkLW1hbmlm
ZXN0LnBocCIsIHN0ZXA0KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNChmcmFtZUlkKQor
ICAgIHsKKyAgICAgICAgZnJhbWVJZDIgPSBmcmFtZUlkOworICAgICAgICBJbnNwZWN0b3JUZXN0
LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQxLCAicmVzb3VyY2VzL3Zl
cnNpb25lZC1tYW5pZmVzdC5waHAiLCBhcHBsaWNhdGlvbkNhY2hlLlVQREFURVJFQURZLCBzdGVw
NSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDUoZnJhbWVJZCkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDIs
ICJyZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocCIsIGFwcGxpY2F0aW9uQ2FjaGUuVVBE
QVRFUkVBRFksIHN0ZXA2KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNigpCisgICAgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7CisKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5zd2FwRnJhbWVDYWNoZShmcmFtZUlkMSk7CisgICAgICAgIEluc3BlY3Rv
clRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDEsICJyZXNvdXJj
ZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocCIsIGFwcGxpY2F0aW9uQ2FjaGUuSURMRSwgc3RlcDcp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXA3KCkKKyAgICB7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRoYXQgYXBwbGljYXRpb24gY2FjaGUgbW9kZWwga2VlcHMg
dHJhY2sgb2YgbWFuaWZlc3QgdXJscyBhbmQgc3RhdHVzZXMgY29ycmVjdGx5IGFmdGVyIFVQREFU
RVJFQURZIGV2ZW50IGFuZCBzd2FwQ2FjaGUoKSBjYWxsLjwvcD4KKzxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyMyI+QnVnIDcyMTIzPC9hPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS10ZXN0LmpzCmluZGV4IDk4MWJmM2Rk
OTc5NTAxZTQxNDc3ODMwNDc5YWUxZjQ3YWU5ZTU4ZTcuLjM2ZTU1NzdlNzllMDFiMDQ2NGI0NWE2
MGY3NjRkZjhmMWE2ZjQxNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLXRlc3QuanMKQEAgLTIs
NyArMiw3IEBAIHZhciBmcmFtZXNDb3VudCA9IDA7CiAKIGZ1bmN0aW9uIGNyZWF0ZUFuZE5hdmln
YXRlSUZyYW1lKHVybCkKIHsKLSAgICBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
ZnJhbWUiKTsKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1l
Iik7CiAgICAgaWZyYW1lLnNyYyA9IHVybDsKICAgICBpZnJhbWUubmFtZSA9ICJmcmFtZSIgKyAr
K2ZyYW1lc0NvdW50OwogICAgIGlmcmFtZS5pZCA9IGlmcmFtZS5uYW1lOwpAQCAtMTEsMTYgKzEx
LDIyIEBAIGZ1bmN0aW9uIGNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKHVybCkKIAogZnVuY3Rpb24g
cmVtb3ZlSUZyYW1lKG5hbWUpCiB7Ci0gICAgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiIyIgKyBuYW1lKTsKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigi
IyIgKyBuYW1lKTsKICAgICBpZnJhbWUucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChpZnJhbWUp
OwogfQogCiBmdW5jdGlvbiBuYXZpZ2F0ZUlGcmFtZShuYW1lLCB1cmwpCiB7Ci0gICAgaWZyYW1l
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiIyIgKyBuYW1lKTsKKyAgICB2YXIgaWZyYW1lID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiIyIgKyBuYW1lKTsKICAgICBpZnJhbWUuc3JjID0gdXJs
OwogfQogCitmdW5jdGlvbiBzd2FwRnJhbWVDYWNoZShuYW1lKQoreworICAgIHZhciBpZnJhbWUg
PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIiArIG5hbWUpOworICAgIGlmcmFtZS5jb250ZW50
V2luZG93LmFwcGxpY2F0aW9uQ2FjaGUuc3dhcENhY2hlKCk7Cit9CisKIHZhciBpbml0aWFsaXpl
X0FwcGxpY2F0aW9uQ2FjaGVUZXN0ID0gZnVuY3Rpb24oKSB7CiAKIEluc3BlY3RvclRlc3QuY3Jl
YXRlQW5kTmF2aWdhdGVJRnJhbWUgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKQpAQCAtNTgsNiAr
NjQsMTMgQEAgSW5zcGVjdG9yVGVzdC5yZW1vdmVJRnJhbWUgPSBmdW5jdGlvbihmcmFtZUlkLCBj
YWxsYmFjaykKICAgICB9CiB9CiAKK0luc3BlY3RvclRlc3Quc3dhcEZyYW1lQ2FjaGUgPSBmdW5j
dGlvbihmcmFtZUlkKQoreworICAgIHZhciBmcmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRy
ZWVNb2RlbC5mcmFtZUZvcklkKGZyYW1lSWQpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoInN3YXBGcmFtZUNhY2hlKHVuZXNjYXBlKCciICsgZXNjYXBlKGZyYW1lLm5hbWUpICsi
JykpIik7Cit9CisKKwogSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSA9IGZ1bmN0
aW9uKCkKIHsKICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlVHJlZSgpOwpA
QCAtMTE3LDkgKzEzMCw4IEBAIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGVNb2Rl
bCA9IGZ1bmN0aW9uKCkKICAgICB2YXIgbW9kZWwgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291
cmNlcy5fYXBwbGljYXRpb25DYWNoZU1vZGVsOwogCiAgICAgdmFyIGZyYW1lSWRzID0gW107Ci0g
ICAgZm9yICh2YXIgZnJhbWVJZCBpbiBtb2RlbC5fbWFuaWZlc3RVUkxzQnlGcmFtZSkgeworICAg
IGZvciAodmFyIGZyYW1lSWQgaW4gbW9kZWwuX21hbmlmZXN0VVJMc0J5RnJhbWUpCiAgICAgICAg
IGZyYW1lSWRzLnB1c2goZnJhbWVJZCk7Ci0gICAgfQogCiAgICAgZnVuY3Rpb24gY29tcGFyZUZ1
bmMoYSwgYikgewogICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5mcmFtZUlkVG9TdHJpbmco
YSkubG9jYWxlQ29tcGFyZShJbnNwZWN0b3JUZXN0LmZyYW1lSWRUb1N0cmluZyhiKSk7CkBAIC0x
NjgsNjMgKzE4MCwzMSBAQCBJbnNwZWN0b3JUZXN0LnN0YXJ0QXBwbGljYXRpb25DYWNoZVN0YXR1
c2VzUmVjb3JkaW5nID0gZnVuY3Rpb24oKQogICAgICAgICBpZiAoIUluc3BlY3RvclRlc3QuYXBw
bGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3Jkc1tmcmFtZUlkXSkKICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3Jkc1tmcmFtZUlkXSA9IFtdOwog
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHNbZnJh
bWVJZF0ucHVzaChyZWNvcmQpOwotICAgICAgICBpZiAoSW5zcGVjdG9yVGVzdC5hd2FpdGVkRnJh
bWVNYW5pZmVzdFN0YXR1c2VzICYmIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lTWFuaWZlc3RT
dGF0dXNlc1tmcmFtZUlkXS5zdGF0dXMgPT09IHN0YXR1cykKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYXdhaXRlZEZyYW1lTWFuaWZlc3RTdGF0dXNlc1tmcmFtZUlkXS5jYWxsYmFjaygpOwor
CisgICAgICAgIGlmIChJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0NvdW50
ICYmIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lU3RhdHVzRXZlbnRzQ291bnRbZnJhbWVJZF0p
IHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lU3RhdHVzRXZlbnRzQ291
bnRbZnJhbWVJZF0uY291bnQtLTsKKyAgICAgICAgICAgIGlmICghSW5zcGVjdG9yVGVzdC5hd2Fp
dGVkRnJhbWVTdGF0dXNFdmVudHNDb3VudFtmcmFtZUlkXS5jb3VudCkKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0NvdW50W2ZyYW1lSWRdLmNh
bGxiYWNrKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZm
ZXIoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVNb2RlbC5wcm90b3R5cGUsICJfZnJhbWVN
YW5pZmVzdFVwZGF0ZWQiLCBhZGRSZWNvcmQsIHRydWUpOwogfQogCi1JbnNwZWN0b3JUZXN0LmVu
c3VyZUZyYW1lTWFuaWZlc3RTdGF0dXNFdmVudFJlY2VpdmVkID0gZnVuY3Rpb24oZnJhbWVJZCwg
c3RhdHVzLCBjYWxsYmFjaykKK0luc3BlY3RvclRlc3QuZW5zdXJlRnJhbWVTdGF0dXNFdmVudHNS
ZWNlaXZlZCA9IGZ1bmN0aW9uKGZyYW1lSWQsIGNvdW50LCBjYWxsYmFjaykKIHsKICAgICB2YXIg
cmVjb3JkcyA9IEluc3BlY3RvclRlc3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3Jkc1tm
cmFtZUlkXSB8fCBbXTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyAr
K2kpIHsKLSAgICAgICAgaWYgKHJlY29yZHNbaV0uc3RhdHVzID09PSBzdGF0dXMpIHsKLSAgICAg
ICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9
Ci0gICAgaWYgKCFJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZU1hbmlmZXN0U3RhdHVzZXMpCi0g
ICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lTWFuaWZlc3RTdGF0dXNlcyA9IHt9Owot
ICAgIEluc3BlY3RvclRlc3QuYXdhaXRlZEZyYW1lTWFuaWZlc3RTdGF0dXNlc1tmcmFtZUlkXSA9
IHsgc3RhdHVzOiBzdGF0dXMsIGNhbGxiYWNrOiBjYWxsYmFjayB9OwotfQotCi1JbnNwZWN0b3JU
ZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRzID0gZnVuY3Rpb24oKQotewot
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHN0
YXR1c2VzIHJlY29yZHM6Iik7Ci0gICAgdmFyIGZyYW1lSWRzID0gW107Ci0gICAgZm9yICh2YXIg
ZnJhbWVJZCBpbiBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHMp
IHsKLSAgICAgICAgZnJhbWVJZHMucHVzaChmcmFtZUlkKTsKLSAgICB9CisgICAgdmFyIGV2ZW50
c0xlZnQgPSBjb3VudCAtIHJlY29yZHMubGVuZ3RoOwogCi0gICAgZnVuY3Rpb24gY29tcGFyZUZ1
bmMoYSwgYikgewotICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5mcmFtZUlkVG9TdHJpbmco
YSkubG9jYWxlQ29tcGFyZShJbnNwZWN0b3JUZXN0LmZyYW1lSWRUb1N0cmluZyhiKSk7Ci0gICAg
fQotICAgIGZyYW1lSWRzLnNvcnQoY29tcGFyZUZ1bmMpOwotCi0gICAgaWYgKCFmcmFtZUlkcy5s
ZW5ndGgpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAoZW1wdHkpIik7
Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgIGlmICghZXZlbnRzTGVmdCkg
eworICAgICAgICBjYWxsYmFjaygpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgZnJhbWVJZHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIGZyYW1l
SWQgPSBmcmFtZUlkc1tpXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBG
cmFtZTogIiArIEluc3BlY3RvclRlc3QuZnJhbWVJZFRvU3RyaW5nKGZyYW1lSWQpKTsKLSAgICAg
ICAgdmFyIHJlY29yZHMgPSBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1Jl
Y29yZHNbZnJhbWVJZF07CiAKLSAgICAgICAgaWYgKCFyZWNvcmRzLmxlbmd0aCkgewotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAoZW1wdHkpIik7Ci0gICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHJlY29y
ZHMubGVuZ3RoOyArK2opIHsKLSAgICAgICAgICAgIHZhciBtYW5pZmVzdFVSTCA9IHJlY29yZHNb
al0ubWFuaWZlc3RVUkw7Ci0gICAgICAgICAgICB2YXIgc3RhdHVzID0gcmVjb3Jkc1tqXS5zdGF0
dXM7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICAgICBtYW5pZmVz
dCB1cmw6ICIgKyBtYW5pZmVzdFVSTCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiICAgICAgICBzdGF0dXM6ICAgICAgICIgKyBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9u
Q2FjaGVTdGF0dXNUb1N0cmluZyhzdGF0dXMpKTsKLSAgICAgICAgfQotICAgIH0KLSAgICBJbnNw
ZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHMgPSB7fTsKLSAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgaWYgKCFJbnNwZWN0b3JUZXN0LmF3YWl0ZWRG
cmFtZVN0YXR1c0V2ZW50c0NvdW50KQorICAgICAgICBJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFt
ZVN0YXR1c0V2ZW50c0NvdW50ID0ge307CisgICAgSW5zcGVjdG9yVGVzdC5hd2FpdGVkRnJhbWVT
dGF0dXNFdmVudHNDb3VudFtmcmFtZUlkXSA9IHsgY291bnQ6IGV2ZW50c0xlZnQsIGNhbGxiYWNr
OiBjYWxsYmFjayB9OwogfQogCiB9OworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3Qu
cGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDc3OGU3MjY5OWE1ZmU1
ZDA2M2I3MGI4MTUyMzg3ZWI2M2U0NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1h
bmlmZXN0LnBocApAQCAtMCwwICsxLDM0IEBACis8P3BocAorcmVxdWlyZV9vbmNlICcuLi8uLi8u
Li9yZXNvdXJjZXMvcG9ydGFiaWxpdHlMYXllci5waHAnOworCiskdG1wRmlsZSA9IHN5c19nZXRf
dGVtcF9kaXIoKSAuICIvIiAuICJhcHBjYWNoZV9tYW5pZmVzdF9jb3VudGVyIjsKKworZnVuY3Rp
b24gZ2V0Q291bnQoJGZpbGUpCit7CisgICAgaWYgKCFmaWxlX2V4aXN0cygkZmlsZSkpIHsKKyAg
ICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbGUsICIwIik7CisgICAgICAgIHJldHVybiAiMCI7
CisgICAgfQorICAgIHJldHVybiBmaWxlX2dldF9jb250ZW50cygkZmlsZSk7Cit9CisKK2Z1bmN0
aW9uIHN0ZXBDb3VudGVyKCRmaWxlKQoreworICAgIGlmIChmaWxlX2V4aXN0cygkZmlsZSkpIHsK
KyAgICAgICAgJHZhbHVlID0gZ2V0Q291bnQoJGZpbGUpOworICAgICAgICBmaWxlX3B1dF9jb250
ZW50cygkZmlsZSwgKyskdmFsdWUpOworICAgIH0KK30KKworaWYgKCJzdGVwIiA9PSAkX0dFVFsn
Y29tbWFuZCddKQorICAgIHN0ZXBDb3VudGVyKCR0bXBGaWxlKTsKKworaGVhZGVyKCJFeHBpcmVz
OiBUaHUsIDAxIERlYyAyMDAzIDE2OjAwOjAwIEdNVCIpOworaGVhZGVyKCJDYWNoZS1Db250cm9s
OiBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlIik7CitoZWFkZXIoIlByYWdtYTogbm8tY2FjaGUi
KTsKK2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2NhY2hlLW1hbmlmZXN0Iik7CisKK3ByaW50
KCJDQUNIRSBNQU5JRkVTVFxuIik7CitwcmludCgiIyB2ZXJzaW9uICIgLiBnZXRDb3VudCgkdG1w
RmlsZSkgLiAiXG4iKTsKK3ByaW50KCJ3aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHBcbiIpOwor
Pz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL3dpdGgtdmVyc2lvbmVkLW1hbmlmZXN0LnBocCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3dpdGgtdmVyc2lv
bmVkLW1hbmlmZXN0LnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTY5MDFmNDkzZjhmOTVkOWVkMjEwMjJiOTMz
Zjk3NDExNmRmYzVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvd2l0aC12ZXJzaW9uZWQtbWFuaWZlc3Qu
cGhwCkBAIC0wLDAgKzEsNyBAQAorPGh0bWwgbWFuaWZlc3Q9InZlcnNpb25lZC1tYW5pZmVzdC5w
aHAiPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1BhZ2Ugd2l0aCB2ZXJzaW9uZWQgbWFuaWZl
c3QKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtaWZyYW1l
LW1hbmlmZXN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLWlmcmFtZS1tYW5pZmVz
dHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OWE5N2U0YzJk
ZDM3MmQ0MWMyNzA1YmE0NTc2OTc3NjJkN2NmYWQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMjcgKzAsMCBAQAotVGVzdHMgdGhhdCBh
cHBsaWNhdGlvbiBjYWNoZSBtb2RlbCBrZWVwcyB0cmFjayBvZiBtYW5pZmVzdCB1cmxzIGFuZCBz
dGF0dXNlcyBjb3JyZWN0bHkuCi0KLUJ1ZyA2NDU4MQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNo
ZSB0cmVlOgotICAgIChlbXB0eSkKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6Ci0g
ICAgKGVtcHR5KQotCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0gICAgTWFuaWZl
c3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEKLSAgICAgICAgRnJhbWU6IGZyYW1lMSAo
cGFnZS13aXRoLW1hbmlmZXN0LnBocCkKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6
Ci0gICAgRnJhbWU6IGZyYW1lMQotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21h
bmlmZXN0SWQ9MQotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLQotRHVtcGluZyBhcHBsaWNh
dGlvbiBjYWNoZSBzdGF0dXNlcyByZWNvcmRzOgotICAgIEZyYW1lOiBmcmFtZTEKLSAgICAgICAg
bWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEKLSAgICAgICAgc3RhdHVzOiAg
ICAgICBDSEVDS0lORwotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0
SWQ9MQotICAgICAgICBzdGF0dXM6ICAgICAgIERPV05MT0FESU5HCi0gICAgICAgIG1hbmlmZXN0
IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1czogICAgICAgSURM
RQotCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0gICAgTWFuaWZlc3QgVVJMOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21h
bmlmZXN0LnBocD9tYW5pZmVzdElkPTIKLSAgICAgICAgRnJhbWU6IGZyYW1lMSAocGFnZS13aXRo
LW1hbmlmZXN0LnBocCkKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6Ci0gICAgRnJh
bWU6IGZyYW1lMQotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9
MgotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNo
ZSBzdGF0dXNlcyByZWNvcmRzOgotICAgIEZyYW1lOiBmcmFtZTEKLSAgICAgICAgbWFuaWZlc3Qg
dXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKLSAgICAgICAgc3RhdHVzOiAgICAgICBDSEVD
S0lORwotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgotICAg
ICAgICBzdGF0dXM6ICAgICAgIERPV05MT0FESU5HCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5p
ZmVzdC5waHA/bWFuaWZlc3RJZD0yCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotCi1EdW1w
aW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0gICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBo
cD9tYW5pZmVzdElkPTIKLSAgICAgICAgRnJhbWU6IGZyYW1lMSAocGFnZS13aXRoLW1hbmlmZXN0
LnBocCkKLSAgICBNYW5pZmVzdCBVUkw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAg
ICBGcmFtZTogZnJhbWUyIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQotRHVtcGluZyBhcHBsaWNh
dGlvbiBjYWNoZSBtb2RlbDoKLSAgICBGcmFtZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVy
bDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQot
ICAgIEZyYW1lOiBmcmFtZTIKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5p
ZmVzdElkPTEKLSAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCi0KLUR1bXBpbmcgYXBwbGljYXRp
b24gY2FjaGUgc3RhdHVzZXMgcmVjb3JkczoKLSAgICBGcmFtZTogZnJhbWUyCi0gICAgICAgIG1h
bmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1czogICAg
ICAgQ0hFQ0tJTkcKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElk
PTEKLSAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCi0KLUR1bXBpbmcgYXBwbGljYXRpb24gY2Fj
aGUgdHJlZToKLSAgICBNYW5pZmVzdCBVUkw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgotICAg
ICAgICBGcmFtZTogZnJhbWUxIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQotICAgIE1hbmlmZXN0
IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIEZyYW1lOiBmcmFtZTIgKHBh
Z2Utd2l0aC1tYW5pZmVzdC5waHApCi0gICAgICAgIEZyYW1lOiBmcmFtZTMgKHBhZ2Utd2l0aC1t
YW5pZmVzdC5waHApCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgotICAgIEZyYW1l
OiBmcmFtZTEKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIK
LSAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCi0gICAgRnJhbWU6IGZyYW1lMgotICAgICAgICBt
YW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAgICBzdGF0dXM6ICAg
ICAgIElETEUKLSAgICBGcmFtZTogZnJhbWUzCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVz
dC5waHA/bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotCi1EdW1waW5n
IGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1c2VzIHJlY29yZHM6Ci0gICAgRnJhbWU6IGZyYW1lMgot
ICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAgICBz
dGF0dXM6ICAgICAgIENIRUNLSU5HCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/
bWFuaWZlc3RJZD0xCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotICAgIEZyYW1lOiBmcmFt
ZTMKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEKLSAgICAg
ICAgc3RhdHVzOiAgICAgICBDSEVDS0lORwotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3Qu
cGhwP21hbmlmZXN0SWQ9MQotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLQotRHVtcGluZyBh
cHBsaWNhdGlvbiBjYWNoZSB0cmVlOgotICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFu
aWZlc3RJZD0yCi0gICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHAp
Ci0gICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEKLSAgICAgICAgRnJh
bWU6IGZyYW1lMiAocGFnZS13aXRoLW1hbmlmZXN0LnBocCkKLUR1bXBpbmcgYXBwbGljYXRpb24g
Y2FjaGUgbW9kZWw6Ci0gICAgRnJhbWU6IGZyYW1lMQotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFu
aWZlc3QucGhwP21hbmlmZXN0SWQ9MgotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLSAgICBG
cmFtZTogZnJhbWUyCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJ
ZD0xCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNh
Y2hlIHN0YXR1c2VzIHJlY29yZHM6Ci0gICAgKGVtcHR5KQotCi1EdW1waW5nIGFwcGxpY2F0aW9u
IGNhY2hlIHRyZWU6Ci0gICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIK
LSAgICAgICAgRnJhbWU6IGZyYW1lMSAocGFnZS13aXRoLW1hbmlmZXN0LnBocCkKLUR1bXBpbmcg
YXBwbGljYXRpb24gY2FjaGUgbW9kZWw6Ci0gICAgRnJhbWU6IGZyYW1lMQotICAgICAgICBtYW5p
ZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgotICAgICAgICBzdGF0dXM6ICAgICAg
IElETEUKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBzdGF0dXNlcyByZWNvcmRzOgotICAg
IChlbXB0eSkKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgotICAgIChlbXB0eSkK
LUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6Ci0gICAgKGVtcHR5KQotCi1EdW1waW5n
IGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1c2VzIHJlY29yZHM6Ci0gICAgKGVtcHR5KQotCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmls
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0
aW5nLWZpbGUtZXhwZWN0ZWQudHh0CmluZGV4IDFjYzI0MzNmNmUzNjFiZTA3MmM5ZGJkMjE2ZjU4
MTI5NjY1MmI2YWMuLjhhMzdiZmFiNGNkNDc0NTQ4YWU5MWZlMTA3YTFjNDMwMWI0MTU3NzkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmls
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1tYW5pZmVzdC13aXRoLW5vbi1l
eGlzdGluZy1maWxlLWV4cGVjdGVkLnR4dApAQCAtMTEsMTMgKzExLDQgQEAgRHVtcGluZyBhcHBs
aWNhdGlvbiBjYWNoZSB0cmVlOgogRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKICAg
ICAoZW1wdHkpCiAKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgc3RhdHVzZXMgcmVjb3JkczoK
LSAgICBGcmFtZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFu
aWZlc3RJZD13aXRoLW5vbi1leGlzdGluZy1maWxlCi0gICAgICAgIHN0YXR1czogICAgICAgQ0hF
Q0tJTkcKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPXdpdGgt
bm9uLWV4aXN0aW5nLWZpbGUKLSAgICAgICAgc3RhdHVzOiAgICAgICBET1dOTE9BRElORwotICAg
ICAgICBtYW5pZmVzdCB1cmw6IAotICAgICAgICBzdGF0dXM6ICAgICAgIFVOQ0FDSEVECi0KIAo=
</data>
<flag name="review"
          id="113812"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>