<?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>203139</bug_id>
          
          <creation_ts>2019-10-17 22:07:56 -0700</creation_ts>
          <short_desc>Implement new autofocus behavior</short_desc>
          <delta_ts>2021-12-02 11:11:30 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=231845</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=231918</see_also>
          <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>
          <dependson>230851</dependson>
    
    <dependson>231168</dependson>
    
    <dependson>231219</dependson>
    
    <dependson>231220</dependson>
    
    <dependson>231323</dependson>
    
    <dependson>231327</dependson>
    
    <dependson>231357</dependson>
    
    <dependson>231647</dependson>
    
    <dependson>231845</dependson>
    
    <dependson>231918</dependson>
    
    <dependson>232349</dependson>
          <blocked>202843</blocked>
    
    <blocked>231530</blocked>
    
    <blocked>231531</blocked>
    
    <blocked>227537</blocked>
    
    <blocked>231678</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Tim Nguyen (:ntim)">ntim</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dvpdiner2</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mifenton</cc>
    
    <cc>mjs</cc>
    
    <cc>ntim</cc>
    
    <cc>ojan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1581302</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-17 22:07:56 -0700</bug_when>
    <thetext>autofocus processing model has been updated in https://github.com/whatwg/html/pull/4763 and https://github.com/whatwg/html/pull/5015

Implement that in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581304</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-17 22:09:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/56397019&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581307</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-17 22:11:13 -0700</bug_when>
    <thetext>*** Bug 129743 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581309</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-17 22:11:26 -0700</bug_when>
    <thetext>*** Bug 82778 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692232</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-09-26 15:25:25 -0700</bug_when>
    <thetext>*** Bug 213982 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713058</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2020-12-09 00:34:40 -0800</bug_when>
    <thetext>*** Bug 202651 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713061</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2020-12-09 00:35:06 -0800</bug_when>
    <thetext>*** Bug 200913 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793151</commentid>
    <comment_count>7</comment_count>
      <attachid>438089</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-09-13 16:38:33 -0700</bug_when>
    <thetext>Created attachment 438089
WIP

Here&apos;s some work-in-progress patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797584</commentid>
    <comment_count>8</comment_count>
      <attachid>439376</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-09-27 11:54:11 -0700</bug_when>
    <thetext>Created attachment 439376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797585</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-09-27 11:54:47 -0700</bug_when>
    <thetext>Rebased patch for EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797657</commentid>
    <comment_count>10</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-09-27 14:51:08 -0700</bug_when>
    <thetext>Relevant links:

https://html.spec.whatwg.org/multipage/interaction.html#the-autofocus-attribute

https://html.spec.whatwg.org/multipage/interaction.html#focusing-steps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800503</commentid>
    <comment_count>11</comment_count>
      <attachid>440195</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-05 03:47:59 -0700</bug_when>
    <thetext>Created attachment 440195
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800529</commentid>
    <comment_count>12</comment_count>
      <attachid>440204</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-05 05:54:15 -0700</bug_when>
    <thetext>Created attachment 440204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800552</commentid>
    <comment_count>13</comment_count>
      <attachid>440211</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-05 07:42:30 -0700</bug_when>
    <thetext>Created attachment 440211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800555</commentid>
    <comment_count>14</comment_count>
      <attachid>440213</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-05 07:48:23 -0700</bug_when>
    <thetext>Created attachment 440213
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800579</commentid>
    <comment_count>15</comment_count>
      <attachid>440213</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-05 09:01:50 -0700</bug_when>
    <thetext>Comment on attachment 440213
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Make WebKit match the new autofocus spec:

You should summarize how the old behavior differs from the new behavior here, and what code changes were necessary to implement the new behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801343</commentid>
    <comment_count>16</comment_count>
      <attachid>440437</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-06 14:16:44 -0700</bug_when>
    <thetext>Created attachment 440437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801535</commentid>
    <comment_count>17</comment_count>
      <attachid>440485</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-07 00:55:06 -0700</bug_when>
    <thetext>Created attachment 440485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801910</commentid>
    <comment_count>18</comment_count>
      <attachid>440485</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-07 19:58:22 -0700</bug_when>
    <thetext>Comment on attachment 440485
Patch

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

Seems reasonable to me, but it would be good if Simon or Chris could take a look as well.

(Also, do we know why form-submission-crash-3.html is timing out on the Windows bot?)

&gt; Source/WebCore/dom/Document.cpp:4481
&gt; +    m_autofocusCandidates.appendOrMoveToLast(candidate);

Should we clear this out elsewhere as well? (e.g. `destroyRenderTree()` or `commonTeardown()`?)

&gt; Source/WebCore/dom/Document.cpp:4491
&gt; +    for (; !m_autofocusCandidates.isEmpty(); m_autofocusCandidates.removeFirst()) {
&gt; +        Ref element = m_autofocusCandidates.first();

Nit - I think this might be a bit cleaner with a `while (!m_autofocusCandidates.isEmpty())` loop and `takeFirst()`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801952</commentid>
    <comment_count>19</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-08 00:29:02 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #18)
&gt; Comment on attachment 440485 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=440485&amp;action=review
&gt; 
&gt; Seems reasonable to me, but it would be good if Simon or Chris could take a
&gt; look as well.
&gt; 
&gt; (Also, do we know why form-submission-crash-3.html is timing out on the
&gt; Windows bot?)

Another race between the first rendering update and the onload event :)

&gt; &gt; Source/WebCore/dom/Document.cpp:4481
&gt; &gt; +    m_autofocusCandidates.appendOrMoveToLast(candidate);
&gt; 
&gt; Should we clear this out elsewhere as well? (e.g. `destroyRenderTree()` or
&gt; `commonTeardown()`?)

I guess we could clear it in commonTeardown().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802152</commentid>
    <comment_count>20</comment_count>
      <attachid>440642</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-08 10:41:12 -0700</bug_when>
    <thetext>Created attachment 440642
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802156</commentid>
    <comment_count>21</comment_count>
      <attachid>440644</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-08 10:50:30 -0700</bug_when>
    <thetext>Created attachment 440644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802620</commentid>
    <comment_count>22</comment_count>
      <attachid>440795</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-11 08:08:21 -0700</bug_when>
    <thetext>Created attachment 440795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802626</commentid>
    <comment_count>23</comment_count>
      <attachid>440795</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-11 08:36:41 -0700</bug_when>
    <thetext>Comment on attachment 440795
Patch

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

&gt; Source/WebCore/dom/Document.h:1809
&gt; +    ListHashSet&lt;Ref&lt;Element&gt;&gt; m_autofocusCandidates;

Does this really need to hold a strong ref to the elements? Seems like it shouldn&apos;t and it would be less leak-prone to hold WeakPtrs.

&gt; Source/WebCore/dom/Document.h:1810
&gt; +    bool m_isAutofocusProcessed { false };

Please move this bool next to some other boolean data members for better packing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802716</commentid>
    <comment_count>24</comment_count>
      <attachid>440812</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-11 11:55:34 -0700</bug_when>
    <thetext>Created attachment 440812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802785</commentid>
    <comment_count>25</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-11 13:59:51 -0700</bug_when>
    <thetext>Committed r283935 (242794@main): &lt;https://commits.webkit.org/242794@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440812.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438089</attachid>
            <date>2021-09-13 16:38:33 -0700</date>
            <delta_ts>2021-09-27 11:54:07 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>focus.patch</filename>
            <type>text/plain</type>
            <size>36734</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0
ZWQudHh0CmluZGV4IGVjOTgxZWFjMWFkYi4uMjk1ZThkYWZkN2FhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQKQEAgLTEs
MiArMSw0IEBACiBUZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8gYWRvcHRpbmcgYSBET00gbm9kZSBk
dXJpbmcgRE9NRm9jdXNPdXQgZXZlbnQuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2gu
CiAKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNo
LTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sCmlu
ZGV4IGY2OGQwMTdiYjMwNy4uODZjNjY2YWNjMWZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbApAQCAtMzIsMTEgKzMyLDEzIEBAIGZ1bmN0aW9uIGRv
aXQoKQogICAgIGRpdjEub3V0ZXJIVE1MID0gaGVhZGVyMS5vdXRlckhUTUw7CiB9CiB3aW5kb3cu
b25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAg
IGludGVybmFscy51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0
TGF5b3V0VGFza3MoKTsKLSAgICBlbHNlCi0gICAgICAgIGRpdjIuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7Ci0gICAgc2V0VGltZW91dCgiZG9pdCgpIiwgMSk7CisgICAgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCgpID0+IHsKKyAgICAgICAgc2V0VGltZW91dChkb2l0LCAwKTsKKyAgICAgICAgc2V0
VGltZW91dCgoKSA9PiB7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0sIDUwKTsKKyAg
ICB9KTsKIH0KIDwvc2NyaXB0PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFs
bG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0CmluZGV4IGNmODZmYjRjNWVhNi4uNTBhY2ZiNjdkZjg5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94
LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0
CkBAIC0xLDIgKzEsNyBAQAotQ09OU09MRSBNRVNTQUdFOiBJTlBVVAotVGhpcyB0ZXN0IHBhc3Nl
cyBpZiB0aGUgYWN0aXZlRWxlbWVudCBpcyB0aGUgaW5wdXQgZWxlbWVudCByYXRoZXIgdGhhbiB0
aGUgYm9keSAod2hpY2ggaXQgd291bGQgYmUgaWYgdGhlIHNhbmRib3ggZGlkbid0IGFsbG93IGF1
dG9mb2N1cyBhbHRob3VnaCBhbGxvdy1zY3JpcHRzIGZsYWcgaXMgc2V0KS4KK1RoaXMgdGVzdHMg
aGF2aW5nIGFuIGlucHV0IGVsZW1lbnQgd2l0aCBhdXRvZm9jdXMgY29udGVudCBhdHRyaWJ1dGUg
aW5zaWRlIGEgc2FuZGJveGVkIGlmcmFtZS4KK1RoZSBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBh
dXRvZm9jdXNlZCBzaW5jZSBzY3JpcHRzIGFyZSBhbGxvd2VkLgorCistLS0tLS0tLQorRnJhbWU6
ICc8IS0tZnJhbWUxLS0+JworLS0tLS0tLS0KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ct
c2NyaXB0cy5odG1sCmluZGV4IDRmMjIzODY4ZmQ3ZS4uODllMzJlZmExOTYyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ct
c2NyaXB0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNh
bmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwKQEAgLTEsOCArMSwyMSBAQAogPHNjcmlwdD4K
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNU
ZXh0KCk7Cit9CiA8L3NjcmlwdD4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGFjdGl2ZUVsZW1l
bnQgaXMgdGhlIGlucHV0IGVsZW1lbnQgcmF0aGVyIHRoYW4gdGhlIGJvZHkKLSh3aGljaCBpdCB3
b3VsZCBiZSBpZiB0aGUgc2FuZGJveCBkaWRuJ3QgYWxsb3cgYXV0b2ZvY3VzIGFsdGhvdWdoIGFs
bG93LXNjcmlwdHMgZmxhZyBpcyBzZXQpLgotPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRz
IGFsbG93LW1vZGFscyIKLSAgICBzcmM9ImRhdGE6dGV4dC9odG1sLDxpbnB1dCBhdXRvZm9jdXMg
b25mb2N1cz48c2NyaXB0PndpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsgY29uc29sZS5sb2co
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC50YWdOYW1lKSB9PC9zY3JpcHQ+Ij48L2lmcmFtZT4KK1Ro
aXMgdGVzdHMgaGF2aW5nIGFuIGlucHV0IGVsZW1lbnQgd2l0aCBhdXRvZm9jdXMgY29udGVudCBh
dHRyaWJ1dGUgaW5zaWRlIGEgc2FuZGJveGVkIGlmcmFtZS48YnI+CitUaGUgaW5wdXQgZWxlbWVu
dCBzaG91bGQgYmUgYXV0b2ZvY3VzZWQgc2luY2Ugc2NyaXB0cyBhcmUgYWxsb3dlZC4KKzxpZnJh
bWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIKKyAgICBzcmM9ImRhdGE6dGV4dC9odG1sLDxpbnB1
dCBpZD1pbnB1dCBhdXRvZm9jdXMgb25mb2N1cz48c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2luZG93
Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gaW5wdXQgPyAnUEFT
UycgOiAnRkFJTCcpOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICB9
LCAwKTsKKyAgICAgICAgfSk7CisgICAgfTwvc2NyaXB0PiI+PC9pZnJhbWU+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sCmluZGV4IDc3MDcwZThkYjA2Yi4u
Y2NkMGNhNTQzZDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1
cy1rZXlnZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXln
ZW4uaHRtbApAQCAtNiw5ICs2LDEzIEBACiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAK
IGZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dCcsICdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJrZXlnZW4iKScpOwotICAgIHNob3VsZEJlKCdk
b2N1bWVudC5hY3RpdmVFbGVtZW50LmF1dG9mb2N1cycsICd0cnVlJyk7Ci0gICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgc2V0VGlt
ZW91dCgoKSA9PiB7CisgICAgICAgICAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dCcsICdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJrZXlnZW4iKScpOworICAgICAgICAgICAgc2hv
dWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYXV0b2ZvY3VzJywgJ3RydWUnKTsKKyAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9LCAwKTsKKyAgICB9KTsKIH0KIDwvc2Ny
aXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9j
dXMtb3BlcmEtMDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVy
YS0wMDEuaHRtbAppbmRleCAzYjk0ZTg4YzIwOTAuLjY1MGVjMDcwNTYyMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwKQEAgLTExLDEzICsx
MSwxOSBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIAotICAgICAgICBpZiAo
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
aW5wdXQiKVswXSkKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQorICAgICAgICAgICAgICAgIGxvZygi
U1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVS
RSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4K
IDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAy
Lmh0bWwKaW5kZXggZmE3MGI1N2Q0YmIxLi4yNGFlMmQ0ZmYzOTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCkBAIC0xMSwxMyArMTEsMjAg
QEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgaWYgKGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0
IilbMF0pCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7
CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NF
U1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSkKKwogICAgIH0KIDwvc2NyaXB0PgogPC9o
ZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEt
MDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRt
bAppbmRleCA5YWVhMjNlN2RhYTAuLjRhZDc3MDE3YjQ3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAzLmh0bWwKQEAgLTEyLDE0ICsxMiwyMCBAQAog
ICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworICAgICAgICB9CiAKLSAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0g
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0gJiYKLSAgICAgICAgICAg
IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wICE9IDApCi0gICAgICAgICAgICBs
b2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7
CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAo
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
aW5wdXQiKVswXSAmJgorICAgICAgICAgICAgICAgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQu
c2Nyb2xsVG9wICE9IDApCisgICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDQuaHRtbAppbmRleCA0YTNkZmM0
NjdkOTguLjk4MGFjMDcwZmIwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9h
dXRvZm9jdXMtb3BlcmEtMDA0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRv
Zm9jdXMtb3BlcmEtMDA0Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAKICAgICAgICAgaW5wdXQuc2V0
QXR0cmlidXRlKCdhdXRvZm9jdXMnLCdmYWxzZScpOwogICAgICAgICBwLmFwcGVuZENoaWxkKGlu
cHV0KTsKIAotICAgICAgICBzZXRUaW1lb3V0KGNoZWNrLCAwKTsKKyAgICAgICAgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCgpID0+IHNldFRpbWVvdXQoY2hlY2ssIDApKTsKICAgICB9CiAgICAgCiAg
ICAgZnVuY3Rpb24gY2hlY2soKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1vcGVyYS0wMDUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2Zv
Y3VzLW9wZXJhLTAwNS5odG1sCmluZGV4IDUwOThjMGFmZGFjOS4uZThiMDQxMTFkMzc5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDUuaHRtbApAQCAt
MjEsOCArMjEsOCBAQAogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAg
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgfQotICAgICAgICAK
LSAgICAgICAgc2V0VGltZW91dChjaGVjaywgMCk7CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCgpID0+IHNldFRpbWVvdXQoY2hlY2ssIDApKTsKICAgICB9CiAgICAgCiAgICAgZnVu
Y3Rpb24gY2hlY2soKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwNi5odG1sCmluZGV4IDNkYTM5MzQ2OTg4Yi4uOWQ3N2Q5YzAzOGNjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbApAQCAtMTEsMjMg
KzExLDMwIEBACiAgICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKSkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NF
U1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAKLSAgICAgICAgaWYgKGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKSkKLSAgICAg
ICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZB
SUxVUkUiKTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0idGVzdCgp
Ij4KIDxwPkFsbCBmb3JtIGNvbnRyb2xzIGJlbG93IHNob3VsZCBoYXZlIGEgZ3JlZW4gYmFja2dy
b3VuZDo8L3A+Ci08cD48aW5wdXQgYXV0b2ZvY3VzPgorPHA+PGlucHV0IGF1dG9mb2N1cyBpZD0i
dGVzdCI+CiA8cD48aW5wdXQgYXV0b2ZvY3VzPgogPHA+PGlucHV0IGF1dG9mb2N1cz4KIDxwPjxp
bnB1dD4KLTxwPjxpbnB1dCBhdXRvZm9jdXMgaWQ9InRlc3QiPgorPHA+PGlucHV0IGF1dG9mb2N1
cz4KIDxwPjxpbnB1dD4KIDxoci8+CiA8b2wgaWQ9ImNvbnNvbGUiPjwvb2w+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sCmluZGV4IDExMjViNWIz
ZDlmMS4uMDY2MGE4MGQxMWVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDcuaHRtbApAQCAtMTcsMTMgKzE3LDE5IEBACiAgICAgfQogICAgIAogICAg
IGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAg
ICB9CiAKLSAgICAgICAgaWYgKGdvdEJsdXIpCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgIHJlcXVl
c3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZ290Qmx1cikKKyAgICAg
ICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAg
ICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5odG1sCmluZGV4
IGI3YTFkOGM5Zjg1OS4uZTQyZjIzMmViODJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRt
bApAQCAtMTAsMTYgKzEwLDI1IEBACiBmdW5jdGlvbiBmb2N1c2VkKCkgewogICAgIGlmIChpbnB1
dC5hdXRvZm9jdXMpIHsKICAgICAgICAgaW5wdXQudHlwZSA9ICJjaGVja2JveCI7Ci0gICAgICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIjxjb2RlIHN0eWxlPSdjb2xvcjogZ3JlZW4nPlBB
U1M8L2NvZGU+IjsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiRkFJTCAtIGZv
Y3VzIGV2ZW50IGhhbmRsZXIgY2FsbGVkIjsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKICAgICBpbnB1
dC5hdXRvZm9jdXMgPSB0cnVlOworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7Cisg
ICAgICAgIGRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50
ID09IGRvY3VtZW50LmJvZHkgPyAiUEFTUyIgOiAiRkFJTCI7CisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0p
OwogfQogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKK30KIAogaW5wdXQuZm9jdXMoKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBsYWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRh
YmxlLXZhbHVlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9u
dW1iZXItcGxhY2Vob2xkZXItd2l0aC11bmFjY2VwdGFibGUtdmFsdWUtZXhwZWN0ZWQuaHRtbApp
bmRleCA5ZDdlN2JkYmVlMWMuLmRkZGEwMzcwMWE4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBsYWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRhYmxlLXZh
bHVlLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVt
YmVyLXBsYWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRhYmxlLXZhbHVlLWV4cGVjdGVkLmh0bWwKQEAg
LTEsNCArMSw1IEBACi08aW5wdXQgdHlwZT0ibnVtYmVyIiBhdXRvZm9jdXM+Cis8aW5wdXQgaWQ9
InRleHRGaWVsZCIgdHlwZT0ibnVtYmVyIj4KIDxzY3JpcHQ+Cit0ZXh0RmllbGQuZm9jdXMoKTsK
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnR0ZXh0JywgZmFsc2UsICdhYWEnKTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBs
YWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRhYmxlLXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL251bWJlci9udW1iZXItcGxhY2Vob2xkZXItd2l0aC11bmFjY2VwdGFibGUtdmFsdWUu
aHRtbAppbmRleCBkYTM5MjRlYTFmMTUuLjBlOTI5NzcyMDFmMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBsYWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRh
YmxlLXZhbHVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVy
LXBsYWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRhYmxlLXZhbHVlLmh0bWwKQEAgLTEsNCArMSw1IEBA
Ci08aW5wdXQgdHlwZT0ibnVtYmVyIiBwbGFjZWhvbGRlcj0icGxhY2Vob2xkZXIiIGF1dG9mb2N1
cz4KKzxpbnB1dCBpZD0idGV4dEZpZWxkIiB0eXBlPSJudW1iZXIiIHBsYWNlaG9sZGVyPSJwbGFj
ZWhvbGRlciI+CiA8c2NyaXB0PgordGV4dEZpZWxkLmZvY3VzKCk7CiBkb2N1bWVudC5leGVjQ29t
bWFuZCgnaW5zZXJ0dGV4dCcsIGZhbHNlLCAnYWFhJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdHlwZS1jaGFuZ2Utb25jaGFuZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdHlwZS1jaGFuZ2Utb25j
aGFuZ2UuaHRtbAppbmRleCBmYzNlZTliNTcwN2YuLjViMTYwYjVhYTRjZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS10eXBlLWNoYW5nZS1vbmNoYW5nZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2UvcmFuZ2UtdHlwZS1jaGFuZ2Ut
b25jaGFuZ2UuaHRtbApAQCAtMiw3ICsyLDcgQEAKIDxib2R5PgogPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiAKLTxpbnB1dCBpZD0icmFu
Z2UxIiB0eXBlPSJyYW5nZSIgb25jaGFuZ2U9InVwZGF0ZVR5cGUodGhpcykiIGF1dG9mb2N1cz4K
KzxpbnB1dCBpZD0icmFuZ2UxIiB0eXBlPSJyYW5nZSIgb25jaGFuZ2U9InVwZGF0ZVR5cGUodGhp
cykiPgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCdDaGVjayBpZiBubyBwcm9ibGVtIGhhcHBlbnMg
YnkgdHlwZSBjaGFuZ2UgaW4gb25jaGFuZ2UgaGFuZGxlci4nKTsKIApAQCAtMTcsNiArMTcsNyBA
QCBmdW5jdGlvbiBmaW5pc2goKSB7CiB9CiAKIGpzVGVzdElzQXN5bmMgPSB0cnVlOworcmFuZ2Ux
LmZvY3VzKCk7CiBldmVudFNlbmRlci5rZXlEb3duKCd1cEFycm93Jyk7CiA8L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEvdGV4dGFyZWEtYXV0
b2ZvY3VzLXJlbW92YWwtd2hpbGUtZm9jdXNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGV4dGFyZWEvdGV4dGFyZWEtYXV0b2ZvY3VzLXJlbW92YWwtd2hpbGUtZm9jdXNpbmcuaHRt
bAppbmRleCBjNTk1YTkyNDNlMzguLjNiMWYzNjdlMjg3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS90ZXh0YXJlYS1hdXRvZm9jdXMtcmVtb3ZhbC13aGlsZS1m
b2N1c2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEvdGV4dGFy
ZWEtYXV0b2ZvY3VzLXJlbW92YWwtd2hpbGUtZm9jdXNpbmcuaHRtbApAQCAtMiwxNiArMiwyNSBA
QAogPGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+Ci10ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLXRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgidGV4dGFyZWEiKTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9
CisKK2NvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsK
IHRleHRhcmVhLnNldEF0dHJpYnV0ZSgiYXV0b2ZvY3VzIiwgIiIpOwogdGV4dGFyZWEuYWRkRXZl
bnRMaXN0ZW5lcigiRE9NRm9jdXNJbiIsIGZ1bmN0aW9uICgpIHsgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmlubmVySFRNTCA9ICIiOyB9LCBmYWxzZSk7CiBkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuYXBwZW5kQ2hpbGQodGV4dGFyZWEpOwotd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
Ci0gICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiUEFTUyB1bmxlc3MgY3Jhc2guIjsKLSAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0sIDApOworCityZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoKCkgPT4geworICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICBkb2N1bWVudC5ib2R5
LmlubmVySFRNTCA9ICJQQVNTIHVubGVzcyBjcmFzaC4iOworICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCAw
KTsKK30pOworCiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhh
bmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlz
LXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbAppbmRleCA2ZjVhMmU5MTllZGYuLmI2MDhmOTJk
YmIxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJh
bWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbApA
QCAtNiwxOCArNiwyOCBAQCBQQVNTIGlmIG5vIGNyYXNoLgogPHNwYW4gaWQ9d3JhcHBlcj48L3Nw
YW4+CiA8dGV4dGFyZWEgaWQ9dGV4dGFyZWEgb25mb2N1cz0iZXZlbnRoYW5kbGVyKCkiPjwvdGV4
dGFyZWE+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQoraWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Cit9CisKIGRvY3VtZW50Lm9mZnNldEhlaWdodDsKIHRleHRhcmVhLmF1
dG9mb2N1cyA9IHRydWU7CiB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZy
YW1lIik7CiBzcGFuLmFwcGVuZENoaWxkKGlmcmFtZSk7CiB3cmFwcGVyLmFwcGVuZENoaWxkKHRl
eHRhcmVhKTsKK3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgc2V0VGltZW91dCgo
KSA9PiB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0sIDApOworfSk7CiBpZnJhbWUuY29udGVudERvY3Vt
ZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsKIAogZnVuY3Rpb24gZXZlbnRoYW5kbGVyKCkgewog
ICAgIHRleHRhcmVhLmluc2VydEFkamFjZW50RWxlbWVudCgiYmVmb3JlQmVnaW4iLCBzcGFuKTsK
IH0KKwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQt
ZHVyaW5nLXJlc3RvcmUuaHRtbAppbmRleCA2M2NmOGEyMjE5OGQuLjU2ZDg3ODcwNjRiZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3Jp
cHQtZHVyaW5nLXJlc3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCkBAIC0xNiw4ICsxNiwx
MiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoInBhZ2VzaG93IiwgKGV2ZW50KSA9PiB7Ci0gICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkKKyAg
ICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgo
KSA9PiB7CisgICAgICAgICAgICBzZXRUaW1lb3V0KGZpbmlzaCwgMCk7CisgICAgICAgIH0pOwog
ICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAg
ICAgc2V0VGltZW91dChydW5UZXN0LCAwKTsKIH0pOwpAQCAtMjksOCArMzMsMTMgQEAgZnVuY3Rp
b24gcnVuVGVzdCgpCiAgICAgbG9jYXRpb24uaHJlZiA9ICdyZXNvdXJjZXMvcGFnZS1jYWNoZS1o
ZWxwZXIuaHRtbCc7CiB9CiAKK2xldCBkaWRGaW5pc2ggPSBmYWxzZTsKIGZ1bmN0aW9uIGZpbmlz
aCgpCiB7CisgICAgaWYgKGRpZEZpbmlzaCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZGlkRmlu
aXNoID0gdHJ1ZTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykudGV4dENv
bnRlbnQgPSAnUEFTUyc7CiAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJp
YnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1
cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4
cGVjdGVkLnR4dAppbmRleCBhNDUyZDUzZWRiYTYuLmQ0MTkyOWY5YjdkZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQt
ZW1wdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUg
QEAKIAogCi1GQUlMIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRo
IGVtcHR5IGZyYWdtZW50cyBzaG91bGQgd29yay4gYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNh
bGxvd2VkIHZhbHVlIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+CitQ
QVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZy
YWdtZW50cyBzaG91bGQgd29yay4KIFBBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZl
bCBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRzIHdpdGggZW1wdHkgZnJhZ21lbnRzIHNob3Vs
ZCB3b3JrLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
ZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlz
dGVudC1leHBlY3RlZC50eHQKaW5kZXggMmIxZTU3ZDYyODI5Li44ZGQ2YjRjNzcwY2UgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZy
YWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9m
b2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZy
YW1lZCBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRzIHNob3VsZCB3b3JrLiBh
c3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBub2RlIDxpbnB1
dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFt
ZWQgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4KIFBB
U1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0J3MgZG9j
dW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJh
Z21lbnQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQKaW5kZXggMDM3NDEwOWEz
MGM2Li44YmE1MGE1MWEzZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9w
LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAogCi1GQUlMIEF1dG9mb2N1cyBlbGVtZW50
cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRoICJ0b3AiIGZyYWdtZW50cyBzaG91bGQgd29yay4g
YXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIEVsZW1lbnQgbm9kZSA8aW5w
dXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+CitQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJh
bWVkIGRvY3VtZW50cyB3aXRoICJ0b3AiIGZyYWdtZW50cyBzaG91bGQgd29yay4KIFBBU1MgQXV0
b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRz
IHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dAppbmRleCA5ODczMjdi
MWE3YjkuLmNlOTI2NzY3ZjMwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMt
YXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwg
VGhlIGZpcnN0IGF1dG9mb2N1cyBlbGVtZW50IGluIHRoZSBkb2N1bWVudCBzaG91bGQgd2luLiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48
L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+
CitQQVNTIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQgc2hvdWxk
IHdpbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2Zp
cnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0
cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0CmluZGV4IGZlMDIxMThhMzQ5YS4u
NWY0YzMxNWM2ODc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1
dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRv
Zm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywg
ZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxl
bWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgVGhlIGZpcnN0IGF1
dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0
ZWQgbGF0ZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2Zv
Y3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dAppbmRleCAzM2Q4
MzA4N2UxOGYuLmE1ODQ5ZDYyMjM1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9m
b2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIElmIHRoZSBmaXJzdCBhdXRvZm9jdXMgZWxl
bWVudCBpcyBub3QgZm9jdXNhYmxlLCBidXQgYmVjb21lcyBmb2N1c2FibGUgYmVmb3JlIGEgZnJh
bWUsIGl0IHNob3VsZCBiZSBmb2N1c2VkLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50
IG5vZGUgPHRleHRhcmVhIGF1dG9mb2N1cz0iIj48L3RleHRhcmVhPiBidXQgZ290IEVsZW1lbnQg
bm9kZSA8c2VsZWN0IGF1dG9mb2N1cz0iIj48L3NlbGVjdD4KK1BBU1MgSWYgdGhlIGZpcnN0IGF1
dG9mb2N1cyBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUsIGJ1dCBiZWNvbWVzIGZvY3VzYWJsZSBi
ZWZvcmUgYSBmcmFtZSwgaXQgc2hvdWxkIGJlIGZvY3VzZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9y
bXMvYXV0b2ZvY3VzL2ZpcnN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvYXV0b2ZvY3VzL2ZpcnN0
LWV4cGVjdGVkLnR4dAppbmRleCA5ODczMjdiMWE3YjkuLmNlOTI2NzY3ZjMwNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9mb3Jtcy9hdXRvZm9jdXMvZmlyc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvYXV0
b2ZvY3VzL2ZpcnN0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIFRoZSBm
aXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQgc2hvdWxkIHdpbi4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1
dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFT
UyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50IHNob3VsZCB3aW4u
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvYXV0b2ZvY3VzL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9mb3Jtcy9hdXRvZm9jdXMvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQK
aW5kZXggZmUwMjExOGEzNDlhLi41ZjRjMzE1YzY4NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvYXV0
b2ZvY3VzL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvYXV0b2Zv
Y3VzL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZB
SUwgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVt
ZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQg
bm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxp
bnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0
aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZm9ybXMvYXV0b2ZvY3VzL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9mb3Jtcy9hdXRvZm9jdXMvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3RlZC50
eHQKaW5kZXggMzNkODMwODdlMThmLi5hNTg0OWQ2MjIzNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMv
YXV0b2ZvY3VzL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMv
YXV0b2ZvY3VzL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBA
QAogCiAKLUZBSUwgSWYgdGhlIGZpcnN0IGF1dG9mb2N1cyBlbGVtZW50IGlzIG5vdCBmb2N1c2Fi
bGUsIGJ1dCBiZWNvbWVzIGZvY3VzYWJsZSBiZWZvcmUgYSBmcmFtZSwgaXQgc2hvdWxkIGJlIGZv
Y3VzZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8dGV4dGFyZWEgYXV0
b2ZvY3VzPSIiPjwvdGV4dGFyZWE+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzZWxlY3QgYXV0b2Zv
Y3VzPSIiPjwvc2VsZWN0PgorUEFTUyBJZiB0aGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaXMg
bm90IGZvY3VzYWJsZSwgYnV0IGJlY29tZXMgZm9jdXNhYmxlIGJlZm9yZSBhIGZyYW1lLCBpdCBz
aG91bGQgYmUgZm9jdXNlZC4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZDI3ZTkzYWYw
YWExLi5lMmI0Zjg0ZDA1OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDQ3NCw2ICs0
NDc0LDM3IEBAIHZvaWQgRG9jdW1lbnQ6OmFkanVzdEZvY3VzZWROb2RlT25Ob2RlUmVtb3ZhbChO
b2RlJiBub2RlLCBOb2RlUmVtb3ZhbCBub2RlUmVtb3ZhCiAgICAgfQogfQogCit2b2lkIERvY3Vt
ZW50OjphcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUoRWxlbWVudCYgY2FuZGlkYXRlKQoreworICAg
IEFTU0VSVChpc1RvcERvY3VtZW50KCkpOworICAgIEFTU0VSVCghbV9pc0F1dG9mb2N1c1Byb2Nl
c3NlZCk7CisgICAgbV9hdXRvZm9jdXNDYW5kaWRhdGVzLmFwcGVuZE9yTW92ZVRvTGFzdChjYW5k
aWRhdGUpOworfQorCit2b2lkIERvY3VtZW50OjpmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMoKQor
eworICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOworICAgIEFTU0VSVChpc1RvcERvY3VtZW50KCkp
OworICAgIGlmIChtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkKQorICAgICAgICByZXR1cm47CisKKyAg
ICBmb3IgKDsgIW1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5pc0VtcHR5KCk7IG1fYXV0b2ZvY3VzQ2Fu
ZGlkYXRlcy5yZW1vdmVGaXJzdCgpKSB7CisgICAgICAgIFJlZiBlbGVtZW50ID0gbV9hdXRvZm9j
dXNDYW5kaWRhdGVzLmZpcnN0KCk7CisgICAgICAgIGlmICghZWxlbWVudC0+ZG9jdW1lbnQoKS5p
c0Z1bGx5QWN0aXZlKCkgfHwgJmVsZW1lbnQtPmRvY3VtZW50KCkudG9wRG9jdW1lbnQoKSAhPSB0
aGlzKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmIChhdXRvKiBwYXJzZXIgPSBz
Y3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKTsgcGFyc2VyICYmIHBhcnNlci0+aGFzU2NyaXB0c1dh
aXRpbmdGb3JTdHlsZXNoZWV0cygpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIC8vIEZJ
WE1FOiBOZWVkIHRvIGlnbm9yZSBpZiB0aGUgaW5jbHVzaXZlIGFuY2VzdG9yIGRvY3VtZW50cyBo
YXMgYSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgLy8gRklYTUU6IFVzZSB0aGUgcmVzdWx0IG9m
IGdldHRpbmcgdGhlIGZvY3VzYWJsZSBhcmVhIGZvciBlbGVtZW50IGlmIGVsZW1lbnQgaXMgbm90
IGZvY3VzYWJsZS4KKyAgICAgICAgaWYgKGVsZW1lbnQtPmlzRm9jdXNhYmxlKCkpIHsKKyAgICAg
ICAgICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5jbGVhcigpOworICAgICAgICAgICAgbV9pc0F1
dG9mb2N1c1Byb2Nlc3NlZCA9IHRydWU7CisgICAgICAgICAgICBlbGVtZW50LT5ydW5Gb2N1c2lu
Z1N0ZXBzRm9yQXV0b2ZvY3VzKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAg
ICB9Cit9CisKIHZvaWQgRG9jdW1lbnQ6OmhvdmVyZWRFbGVtZW50RGlkRGV0YWNoKEVsZW1lbnQm
IGVsZW1lbnQpCiB7CiAgICAgaWYgKCFtX2hvdmVyZWRFbGVtZW50IHx8ICZlbGVtZW50ICE9IG1f
aG92ZXJlZEVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDI3OTQyZTcyMzJmNy4uMTZk
ZjAxYmMxY2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzg3LDYgKzc4NywxMCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBhZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVS
ZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogICAgIHZvaWQgYWRqdXN0Rm9jdXNOYXZpZ2F0
aW9uTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5v
ZGUpOwogCisgICAgYm9vbCBpc0F1dG9mb2N1c1Byb2Nlc3NlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNBdXRvZm9jdXNQcm9jZXNzZWQ7IH0KKyAgICB2b2lkIGFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0
ZShFbGVtZW50Jik7CisgICAgdm9pZCBmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKwogICAg
IHZvaWQgaG92ZXJlZEVsZW1lbnREaWREZXRhY2goRWxlbWVudCYpOwogICAgIHZvaWQgZWxlbWVu
dEluQWN0aXZlQ2hhaW5EaWREZXRhY2goRWxlbWVudCYpOwogCkBAIC0xODA0LDYgKzE4MDgsOCBA
QCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxET01JbXBsZW1lbnRhdGlvbj4gbV9pbXBs
ZW1lbnRhdGlvbjsKIAogICAgIFJlZlB0cjxOb2RlPiBtX2ZvY3VzTmF2aWdhdGlvblN0YXJ0aW5n
Tm9kZTsKKyAgICBMaXN0SGFzaFNldDxSZWY8RWxlbWVudD4+IG1fYXV0b2ZvY3VzQ2FuZGlkYXRl
czsKKyAgICBib29sIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQgeyBmYWxzZSB9OwogICAgIFJlZlB0
cjxFbGVtZW50PiBtX2ZvY3VzZWRFbGVtZW50OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2hvdmVy
ZWRFbGVtZW50OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2FjdGl2ZUVsZW1lbnQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKaW5kZXggM2EzOGY0ZGVhYmJlLi44ZDU1MTExMThmZWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKQEAgLTMxNzcsNiArMzE3NywxMSBAQCB2b2lkIEVsZW1lbnQ6OmJsdXIoKQog
ICAgIH0KIH0KIAordm9pZCBFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCkK
K3sKKyAgICBmb2N1cygpOworfQorCiB2b2lkIEVsZW1lbnQ6OmRpc3BhdGNoRm9jdXNJbkV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPEVsZW1lbnQ+JiYgb2xkRm9jdXNl
ZEVsZW1lbnQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
TihTY3JpcHREaXNhbGxvd2VkU2NvcGU6OkluTWFpblRocmVhZDo6aXNTY3JpcHRBbGxvd2VkKCkg
fHwgIWlzSW5XZWJQcm9jZXNzKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggYmEyNGEwMTdmNmFj
Li4wMGQzNzA1NTRlZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDExLDYgKzQxMSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFJlZlB0cjxFbGVtZW50PiBmb2N1c0FwcGVhcmFuY2VVcGRhdGVU
YXJnZXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlKFNlbGVjdGlv
blJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1v
ZGU6OlJldmVhbCk7CiAgICAgdmlydHVhbCB2b2lkIGJsdXIoKTsKKyAgICB2aXJ0dWFsIHZvaWQg
cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIGlubmVySFRNTCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBvdXRlckhU
TUwoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250
cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuY3BwCmluZGV4IDA0Zjc4ZWQ3MTAzMS4uNTA1MjAwOTJiNWM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTIwMywyOSArMjAzLDI2
IEBAIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cmVxdWlyZWRTdGF0ZUNoYW5nZWQoKQog
CiBzdGF0aWMgYm9vbCBzaG91bGRBdXRvZm9jdXMoSFRNTEZvcm1Db250cm9sRWxlbWVudCogZWxl
bWVudCkKIHsKLSAgICBpZiAoIWVsZW1lbnQtPnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBpZiAoIWVsZW1lbnQtPmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRp
b24oYXV0b2ZvY3VzQXR0cikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWVsZW1l
bnQtPmlzQ29ubmVjdGVkKCkgfHwgIWVsZW1lbnQtPmRvY3VtZW50KCkucmVuZGVyVmlldygpKQor
ICAgIFJlZiBkb2N1bWVudCA9IGVsZW1lbnQtPmRvY3VtZW50KCk7CisgICAgaWYgKCFlbGVtZW50
LT5pc0Nvbm5lY3RlZCgpIHx8ICFkb2N1bWVudC0+aGFzQnJvd3NpbmdDb250ZXh0KCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoZWxlbWVudC0+ZG9jdW1lbnQoKS5pc1NhbmRib3hl
ZChTYW5kYm94QXV0b21hdGljRmVhdHVyZXMpKSB7CisgICAgaWYgKGRvY3VtZW50LT5pc1NhbmRi
b3hlZChTYW5kYm94QXV0b21hdGljRmVhdHVyZXMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24g
dG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMu
Ci0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJCbG9ja2VkIGF1dG9mb2N1c2lu
ZyBvbiBhIGZvcm0gY29udHJvbCBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVk
IGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iX3MpOworICAg
ICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHks
IE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJCbG9ja2VkIGF1dG9mb2N1c2luZyBvbiBhIGZvcm0gY29u
dHJvbCBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93
LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iX3MpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCi0gICAgYXV0byYgZG9jdW1lbnQgPSBlbGVtZW50LT5kb2N1bWVudCgpOwot
ICAgIGlmICghZG9jdW1lbnQuZnJhbWUoKS0+aXNNYWluRnJhbWUoKSAmJiAhZG9jdW1lbnQudG9w
RG9jdW1lbnQoKS5zZWN1cml0eU9yaWdpbigpLmlzU2FtZU9yaWdpbkRvbWFpbihkb2N1bWVudC5z
ZWN1cml0eU9yaWdpbigpKSkgewotICAgICAgICBkb2N1bWVudC5hZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkJsb2NrZWQgYXV0
b2ZvY3VzaW5nIG9uIGEgZm9ybSBjb250cm9sIGluIGEgY3Jvc3Mtb3JpZ2luIHN1YmZyYW1lLiJf
cyk7CisgICAgaWYgKCFkb2N1bWVudC0+ZnJhbWUoKS0+aXNNYWluRnJhbWUoKSAmJiAhZG9jdW1l
bnQtPnRvcERvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKS5pc1NhbWVPcmlnaW5Eb21haW4oZG9j
dW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpKSB7CisgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkJs
b2NrZWQgYXV0b2ZvY3VzaW5nIG9uIGEgZm9ybSBjb250cm9sIGluIGEgY3Jvc3Mtb3JpZ2luIHN1
YmZyYW1lLiJfcyk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBpZiAoZWxl
bWVudC0+aGFzQXV0b2ZvY3VzZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8g
RklYTUU6IFNob3VsZCB0aGlzIHNldCBvZiBoYXNUYWdOYW1lIGNoZWNrcyBiZSByZXBsYWNlZCBi
eSBhCi0gICAgLy8gdmlydHVhbCBtZW1iZXIgZnVuY3Rpb24/CisgICAgLy8gRklYTUU6IGF1dG9m
b2N1cyBpcyBhIGdsb2JhbCBhdHRyaWJ1dGUuCiAgICAgaWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+
KCplbGVtZW50KSkKICAgICAgICAgcmV0dXJuICFkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50Pigq
ZWxlbWVudCkuaXNJbnB1dFR5cGVIaWRkZW4oKTsKICAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFt
ZShzZWxlY3RUYWcpKQpAQCAtMjQ3LDIyICsyNDQsNiBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiAgICAgLy8gb24gdGhlIHJlbmRlcmVyLgogICAg
IGlmIChyZW5kZXJlcigpKQogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgp
OwotCi0gICAgaWYgKHNob3VsZEF1dG9mb2N1cyh0aGlzKSkgewotICAgICAgICBzZXRBdXRvZm9j
dXNlZCgpOwotCi0gICAgICAgIFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PiBlbGVtZW50
ID0gdGhpczsKLSAgICAgICAgYXV0byBmcmFtZVZpZXcgPSBtYWtlUmVmUHRyKGRvY3VtZW50KCku
dmlldygpKTsKLSAgICAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91dENvbnRl
eHQoKS5pc0luTGF5b3V0KCkpIHsKLSAgICAgICAgICAgIGZyYW1lVmlldy0+cXVldWVQb3N0TGF5
b3V0Q2FsbGJhY2soW2VsZW1lbnRdIHsKLSAgICAgICAgICAgICAgICBlbGVtZW50LT5mb2N1cyh7
IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFN0eWxlOjpxdWV1ZVBvc3RS
ZXNvbHV0aW9uQ2FsbGJhY2soW2VsZW1lbnRdIHsKLSAgICAgICAgICAgICAgICBlbGVtZW50LT5m
b2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0KIH0KIAogdm9pZCBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVudCYgb2xkRG9jdW1lbnQsIERv
Y3VtZW50JiBuZXdEb2N1bWVudCkKQEAgLTMwMSw2ICsyODIsMTIgQEAgTm9kZTo6SW5zZXJ0ZWRJ
bnRvQW5jZXN0b3JSZXN1bHQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5j
ZXN0b3IoSW4KICAgICAgICAgc2V0QW5jZXN0b3JEaXNhYmxlZChjb21wdXRlSXNEaXNhYmxlZEJ5
RmllbGRzZXRBbmNlc3RvcigpKTsKICAgICBIVE1MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0
b3IoaW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJbnNlcnRlZFRyZWUpOwogICAgIEZvcm1Bc3NvY2lh
dGVkRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoaW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJ
bnNlcnRlZFRyZWUpOworCisgICAgaWYgKHNob3VsZEF1dG9mb2N1cyh0aGlzKSkgeworICAgICAg
ICBpZiAoUmVmIHRvcERvY3VtZW50ID0gZG9jdW1lbnQoKS50b3BEb2N1bWVudCgpOyAhdG9wRG9j
dW1lbnQtPmlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkpCisgICAgICAgICAgICB0b3BEb2N1bWVudC0+
YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKCp0aGlzKTsKKyAgICB9CisKICAgICByZXR1cm4gSW5z
ZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQ6Ok5lZWRzUG9zdEluc2VydGlvbkNhbGxiYWNrOwogfQog
CkBAIC0zNjYsNyArMzUzLDcgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaWRSZWNh
bGNTdHlsZShTdHlsZTo6Q2hhbmdlKQogICAgIC8vIHRyaWdnZXIgc3luY2hyb25vdXMgbGF5b3V0
LCBzbyBpdCBtdXN0IG5vdCBiZSBjYWxsZWQgZHVyaW5nIHN0eWxlIHJlY2FsYy4KICAgICBpZiAo
cmVuZGVyZXIoKSkgewogICAgICAgICBSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4gZWxl
bWVudCA9IHRoaXM7Ci0gICAgICAgIFN0eWxlOjpxdWV1ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2so
W2VsZW1lbnRdeworICAgICAgICBTdHlsZTo6ZGVwcmVjYXRlZFF1ZXVlUG9zdFJlc29sdXRpb25D
YWxsYmFjayhbZWxlbWVudF17CiAgICAgICAgICAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBlbGVt
ZW50LT5yZW5kZXJlcigpKQogICAgICAgICAgICAgICAgIHJlbmRlcmVyLT51cGRhdGVGcm9tRWxl
bWVudCgpOwogICAgICAgICB9KTsKQEAgLTM5Niw2ICszODMsMTEgQEAgYm9vbCBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50Ojppc01vdXNlRm9jdXNhYmxlKCkgY29uc3QKICNlbmRpZgogfQogCit2b2lk
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKQor
eworICAgIGZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFy
dCB9KTsKK30KKwogYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjptYXRjaGVzVmFsaWRQc2V1
ZG9DbGFzcygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHdpbGxWYWxpZGF0ZSgpICYmIGlzVmFsaWRG
b3JtQ29udHJvbEVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmgKaW5kZXggY2RmYTViZDMyNGRlLi5hY2E2YWM2N2RiYzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xNzAsNiArMTcwLDgg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHJlZkZvcm1Bc3NvY2lhdGVkRWxlbWVudCgpIG92ZXJyaWRl
IHsgcmVmKCk7IH0KICAgICB2b2lkIGRlcmVmRm9ybUFzc29jaWF0ZWRFbGVtZW50KCkgb3ZlcnJp
ZGUgeyBkZXJlZigpOyB9CiAKKyAgICB2b2lkIHJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMo
KSBmaW5hbDsKKwogICAgIGJvb2wgbWF0Y2hlc1ZhbGlkUHNldWRvQ2xhc3MoKSBjb25zdCBvdmVy
cmlkZTsKICAgICBib29sIG1hdGNoZXNJbnZhbGlkUHNldWRvQ2xhc3MoKSBjb25zdCBvdmVycmlk
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuY3BwCmlu
ZGV4IDYwMTY0OTdmMWMxMC4uMjFiYjFjYzRkYWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVPd25lckVsZW1lbnQuY3BwCkBAIC0xMjAsNyArMTIwLDcgQEAgdm9pZCBIVE1M
RnJhbWVPd25lckVsZW1lbnQ6OnNjaGVkdWxlSW52YWxpZGF0ZVN0eWxlQW5kTGF5ZXJDb21wb3Np
dGlvbigpCiB7CiAgICAgaWYgKFN0eWxlOjpwb3N0UmVzb2x1dGlvbkNhbGxiYWNrc0FyZVN1c3Bl
bmRlZCgpKSB7CiAgICAgICAgIFJlZlB0cjxIVE1MRnJhbWVPd25lckVsZW1lbnQ+IGVsZW1lbnQg
PSB0aGlzOwotICAgICAgICBTdHlsZTo6cXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKFtlbGVt
ZW50XSB7CisgICAgICAgIFN0eWxlOjpkZXByZWNhdGVkUXVldWVQb3N0UmVzb2x1dGlvbkNhbGxi
YWNrKFtlbGVtZW50XSB7CiAgICAgICAgICAgICBlbGVtZW50LT5pbnZhbGlkYXRlU3R5bGVBbmRM
YXllckNvbXBvc2l0aW9uKCk7CiAgICAgICAgIH0pOwogICAgIH0gZWxzZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggZDQ2OWJkMjJjMDUy
Li45NmJkYTkyZTY0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmNwcApAQCAtMTk1LDcgKzE5NSw3IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxl
bWVudDo6c2NoZWR1bGVVcGRhdGVGb3JBZnRlclN0eWxlUmVzb2x1dGlvbigpCiAKICAgICBtX2hh
c1VwZGF0ZVNjaGVkdWxlZEZvckFmdGVyU3R5bGVSZXNvbHV0aW9uID0gdHJ1ZTsKIAotICAgIFN0
eWxlOjpxdWV1ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2soW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKV0geworICAgIFN0eWxlOjpkZXByZWNhdGVkUXVldWVQb3N0UmVzb2x1dGlvbkNhbGxi
YWNrKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIHsKICAgICAgICAgcHJvdGVjdGVk
VGhpcy0+dXBkYXRlQWZ0ZXJTdHlsZVJlc29sdXRpb24oKTsKICAgICB9KTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCmluZGV4IDJkNWM3YjdjYTA4ZC4uMGVjODYxOThkMjQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAKQEAgLTE1NTQsNyArMTU1NCwxMCBAQCB2b2lkIFBhZ2U6OnVwZGF0ZVJlbmRlcmluZygpCiAg
ICAgICAgIGZvckVhY2hEb2N1bWVudChwZXJEb2N1bWVudEZ1bmN0aW9uKTsKICAgICB9OwogCi0g
ICAgLy8gRklYTUU6IEZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzLgorICAgIHJ1blByb2Nlc3Np
bmdTdGVwKFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlJlc2l6ZSwgW10gKERvY3VtZW50JiBkb2N1bWVu
dCkgeworICAgICAgICBpZiAoZG9jdW1lbnQuaXNUb3BEb2N1bWVudCgpKQorICAgICAgICAgICAg
ZG9jdW1lbnQuZmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CisgICAgfSk7CiAKICAgICBydW5Q
cm9jZXNzaW5nU3RlcChSZW5kZXJpbmdVcGRhdGVTdGVwOjpSZXNpemUsIFtdIChEb2N1bWVudCYg
ZG9jdW1lbnQpIHsKICAgICAgICAgZG9jdW1lbnQucnVuUmVzaXplU3RlcHMoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCAyMmZlOGRmMDYzMjUuLjZl
MTE5OGMxZmRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVz
b2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNw
cApAQCAtNjQ4LDcgKzY0OCw3IEBAIHN0YXRpYyBWZWN0b3I8UmVmUHRyPEZyYW1lPj4mIG1lbW9y
eUNhY2hlQ2xpZW50Q2FsbHNSZXN1bWVRdWV1ZSgpCiAgICAgcmV0dXJuIHZlY3RvcjsKIH0KIAot
dm9pZCBxdWV1ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2soRnVuY3Rpb248dm9pZCAoKT4mJiBjYWxs
YmFjaykKK3ZvaWQgZGVwcmVjYXRlZFF1ZXVlUG9zdFJlc29sdXRpb25DYWxsYmFjayhGdW5jdGlv
bjx2b2lkICgpPiYmIGNhbGxiYWNrKQogewogICAgIHBvc3RSZXNvbHV0aW9uQ2FsbGJhY2tRdWV1
ZSgpLmFwcGVuZChXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVUcmVlUmVzb2x2ZXIuaAppbmRleCA2N2VhMTc3MjE3YzMuLmM2MDRlMDA1OTgwMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oCkBAIC0xMTIsNyArMTEyLDcgQEAg
cHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXBkYXRlPiBtX3VwZGF0ZTsKIH07CiAKLXZv
aWQgcXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKEZ1bmN0aW9uPHZvaWQgKCk+JiYpOwordm9p
ZCBkZXByZWNhdGVkUXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKEZ1bmN0aW9uPHZvaWQgKCk+
JiYpOyAvLyBJbnRlZ3JhdGUgd2l0aCB0aGUgSFRNTDUgZXZlbnQgbG9vcCBpbnN0ZWFkLgogYm9v
bCBwb3N0UmVzb2x1dGlvbkNhbGxiYWNrc0FyZVN1c3BlbmRlZCgpOwogCiBjbGFzcyBQb3N0UmVz
b2x1dGlvbkNhbGxiYWNrRGlzYWJsZXIgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439376</attachid>
            <date>2021-09-27 11:54:11 -0700</date>
            <delta_ts>2021-10-05 03:47:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20210927115410.patch</filename>
            <type>text/plain</type>
            <size>45636</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmZjMDIyZjg0ZThiMTg1
NGY2MDM2NmZkMjk0ZmFlMzliZWRmOTFlYy4uZGYyZmYwNTM5OGFmZmUwMzc0NTFkZDIxMTY4NDU4
NDliN2IxY2ZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA5LTI3ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBuZXcg
YXV0b2ZvY3VzIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDMxMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2Mzk3MDE5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBXZWJL
aXQgdG8gbWF0Y2ggdGhlIHJldmlzZWQgYXV0b2ZvY3VzIGJlaGF2aW9yIGRlc2NyaWJlZCBpbiBo
dHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvcHVsbC80NzYzCisgICAgICAgIGFuZCBodHRw
czovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvcHVsbC81MDE1LgorCisgICAgICAgIFRoaXMgcGF0
Y2ggaXMgUnlvc3VrZSBOaXdhJ3Mgd29yay4KKworICAgICAgICBUZXN0ZWQgYnkgV1BUIGFuZCBy
ZXZpc2VkIExheW91dFRlc3QgdGVzdHMuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Zmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzKToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojppc0F1
dG9mb2N1c1Byb2Nlc3NlZCBjb25zdCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cyk6Cisg
ICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRlZEludG9BbmNl
c3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaWRSZWNh
bGNTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpydW5G
b2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnNjaGVkdWxlSW52YWxpZGF0
ZVN0eWxlQW5kTGF5ZXJDb21wb3NpdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6
OnNjaGVkdWxlVXBkYXRlRm9yQWZ0ZXJTdHlsZVJlc29sdXRpb24pOgorICAgICAgICAqIHBhZ2Uv
UGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVSZW5kZXJpbmcpOgorICAg
ICAgICAqIHN0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpkZXByZWNhdGVkUXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlOjpxdWV1ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2spOiBEZWxldGVkLgorICAg
ICAgICAqIHN0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmg6CisKIDIwMjEtMDktMjcgIEFudHRpIEtv
aXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ2FzY2FkZSBMYXllcnNd
IFN1cHBvcnQgQGxheWVyIHN0YXRlbWVudCBiZWZvcmUgQGltcG9ydCBzdGF0ZW1lbnRzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCAwNTgxMmMzNjE1OTI5YzkwYjY0MWM4MjBjNzkzOTEyYzBj
YzA2NjZmLi5hOGM0ODViNTA2NDhhMWRjNWE5YTZiMmUwZGQzNzFhMGRkOTlkNTQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ0NzMsNiArNDQ3MywzNyBAQCB2b2lkIERvY3VtZW50Ojph
ZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYgbm9kZSwgTm9kZVJlbW92YWwgbm9k
ZVJlbW92YQogICAgIH0KIH0KIAordm9pZCBEb2N1bWVudDo6YXBwZW5kQXV0b2ZvY3VzQ2FuZGlk
YXRlKEVsZW1lbnQmIGNhbmRpZGF0ZSkKK3sKKyAgICBBU1NFUlQoaXNUb3BEb2N1bWVudCgpKTsK
KyAgICBBU1NFUlQoIW1faXNBdXRvZm9jdXNQcm9jZXNzZWQpOworICAgIG1fYXV0b2ZvY3VzQ2Fu
ZGlkYXRlcy5hcHBlbmRPck1vdmVUb0xhc3QoY2FuZGlkYXRlKTsKK30KKwordm9pZCBEb2N1bWVu
dDo6Zmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzKCkKK3sKKyAgICBXVEZSZXBvcnRCYWNrdHJhY2Uo
KTsKKyAgICBBU1NFUlQoaXNUb3BEb2N1bWVudCgpKTsKKyAgICBpZiAobV9pc0F1dG9mb2N1c1By
b2Nlc3NlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yICg7ICFtX2F1dG9mb2N1c0NhbmRp
ZGF0ZXMuaXNFbXB0eSgpOyBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMucmVtb3ZlRmlyc3QoKSkgewor
ICAgICAgICBSZWYgZWxlbWVudCA9IG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5maXJzdCgpOworICAg
ICAgICBpZiAoIWVsZW1lbnQtPmRvY3VtZW50KCkuaXNGdWxseUFjdGl2ZSgpIHx8ICZlbGVtZW50
LT5kb2N1bWVudCgpLnRvcERvY3VtZW50KCkgIT0gdGhpcykKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICBpZiAoYXV0byogcGFyc2VyID0gc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCk7
IHBhcnNlciAmJiBwYXJzZXItPmhhc1NjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKSkKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBpZ25vcmUgaWYgdGhl
IGluY2x1c2l2ZSBhbmNlc3RvciBkb2N1bWVudHMgaGFzIGEgdGFyZ2V0IGVsZW1lbnQuCisgICAg
ICAgIC8vIEZJWE1FOiBVc2UgdGhlIHJlc3VsdCBvZiBnZXR0aW5nIHRoZSBmb2N1c2FibGUgYXJl
YSBmb3IgZWxlbWVudCBpZiBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUuCisgICAgICAgIGlmIChl
bGVtZW50LT5pc0ZvY3VzYWJsZSgpKSB7CisgICAgICAgICAgICBtX2F1dG9mb2N1c0NhbmRpZGF0
ZXMuY2xlYXIoKTsKKyAgICAgICAgICAgIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQgPSB0cnVlOwor
ICAgICAgICAgICAgZWxlbWVudC0+cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorfQorCiB2b2lkIERvY3VtZW50Ojpo
b3ZlcmVkRWxlbWVudERpZERldGFjaChFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmICghbV9o
b3ZlcmVkRWxlbWVudCB8fCAmZWxlbWVudCAhPSBtX2hvdmVyZWRFbGVtZW50KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCBlYTBhMDgwMmM1N2ZjNjljNTEzZDhmNDYyNGQ5ZjVmYTFiNjJmODc0Li5m
MzZjODM0YzNmMTJmMzUxOTA5YzM2NzBhM2ZiZjg3ZTY0NWZiOTAzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtNzg3LDYgKzc4NywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGp1c3RGb2N1c2Vk
Tm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5vZGUp
OwogICAgIHZvaWQgYWRqdXN0Rm9jdXNOYXZpZ2F0aW9uTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYs
IE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogCisgICAgYm9vbCBpc0F1dG9mb2N1
c1Byb2Nlc3NlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQ7IH0KKyAg
ICB2b2lkIGFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZShFbGVtZW50Jik7CisgICAgdm9pZCBmbHVz
aEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKwogICAgIHZvaWQgaG92ZXJlZEVsZW1lbnREaWREZXRh
Y2goRWxlbWVudCYpOwogICAgIHZvaWQgZWxlbWVudEluQWN0aXZlQ2hhaW5EaWREZXRhY2goRWxl
bWVudCYpOwogCkBAIC0xODAwLDYgKzE4MDQsOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVl
X3B0cjxET01JbXBsZW1lbnRhdGlvbj4gbV9pbXBsZW1lbnRhdGlvbjsKIAogICAgIFJlZlB0cjxO
b2RlPiBtX2ZvY3VzTmF2aWdhdGlvblN0YXJ0aW5nTm9kZTsKKyAgICBMaXN0SGFzaFNldDxSZWY8
RWxlbWVudD4+IG1fYXV0b2ZvY3VzQ2FuZGlkYXRlczsKKyAgICBib29sIG1faXNBdXRvZm9jdXNQ
cm9jZXNzZWQgeyBmYWxzZSB9OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2ZvY3VzZWRFbGVtZW50
OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2hvdmVyZWRFbGVtZW50OwogICAgIFJlZlB0cjxFbGVt
ZW50PiBtX2FjdGl2ZUVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggY2YwM2I4ZDU0
NzlmMGY5ODY1Y2JlZGYyZTM5OTcxY2ZhZmY3N2ZhMC4uM2Y5NmNiNjU2N2UxZDdiYmFhY2RhODY0
MjBjNDJiNGQwZWI1NjkzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzE3Myw2ICszMTcz
LDExIEBAIHZvaWQgRWxlbWVudDo6Ymx1cigpCiAgICAgfQogfQogCit2b2lkIEVsZW1lbnQ6OnJ1
bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKQoreworICAgIGZvY3VzKCk7Cit9CisKIHZvaWQg
RWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBSZWZQdHI8RWxlbWVudD4mJiBvbGRGb2N1c2VkRWxlbWVudCkKIHsKICAgICBSRUxFQVNFX0FT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5N
YWluVGhyZWFkOjppc1NjcmlwdEFsbG93ZWQoKSB8fCAhaXNJbldlYlByb2Nlc3MoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAppbmRleCA5ZjI3YjY1NGNmYjU1ZThjZWJjNDcxMzkwZjJlMjU0YTdhZDFhNmFh
Li45M2RmZjRiN2FkMTY0ZTBiMWFlOWFjMzA1NmNjN2M2OWVhMWIzYTY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKQEAgLTQwNSw2ICs0MDUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZWZQdHI8RWxl
bWVudD4gZm9jdXNBcHBlYXJhbmNlVXBkYXRlVGFyZ2V0KCk7CiAgICAgdmlydHVhbCB2b2lkIHVw
ZGF0ZUZvY3VzQXBwZWFyYW5jZShTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGUsIFNlbGVjdGlvblJl
dmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwpOwogICAgIHZpcnR1YWwgdm9p
ZCBibHVyKCk7CisgICAgdmlydHVhbCB2b2lkIHJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBpbm5lckhUTUwoKSBjb25zdDsKICAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgb3V0ZXJIVE1MKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBhMjY2MmE2NTBmMmNkODg0
NjYyM2QwYzYxMDg3NjcwN2ViY2JkMzAxLi5kNjlhZDk3ZjViMGNiOWJmOWQ4NmUzNTc3NTlhOWY2
MzA0ZmIzYjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAKQEAgLTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9s
bCAoa25vbGxAa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAo
a29pdmlzdG9Aa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11
ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqICAgICAgICAgICAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1
cnlha292IChhcEBueXBvcC5jb20pCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjAzLDI5ICsyMDMsMjYgQEAg
dm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpyZXF1aXJlZFN0YXRlQ2hhbmdlZCgpCiAKIHN0
YXRpYyBib29sIHNob3VsZEF1dG9mb2N1cyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBlbGVtZW50
KQogewotICAgIGlmICghZWxlbWVudC0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmICghZWxlbWVudC0+aGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihh
dXRvZm9jdXNBdHRyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghZWxlbWVudC0+
aXNDb25uZWN0ZWQoKSB8fCAhZWxlbWVudC0+ZG9jdW1lbnQoKS5yZW5kZXJWaWV3KCkpCisgICAg
UmVmIGRvY3VtZW50ID0gZWxlbWVudC0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWVsZW1lbnQtPmlz
Q29ubmVjdGVkKCkgfHwgIWRvY3VtZW50LT5oYXNCcm93c2luZ0NvbnRleHQoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIGlmIChlbGVtZW50LT5kb2N1bWVudCgpLmlzU2FuZGJveGVkKFNh
bmRib3hBdXRvbWF0aWNGZWF0dXJlcykpIHsKKyAgICBpZiAoZG9jdW1lbnQtPmlzU2FuZGJveGVk
KFNhbmRib3hBdXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVz
c2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAg
ICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
OjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkJsb2NrZWQgYXV0b2ZvY3VzaW5nIG9u
IGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5k
IHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiJfcyk7CisgICAgICAg
IGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVz
c2FnZUxldmVsOjpFcnJvciwgIkJsb2NrZWQgYXV0b2ZvY3VzaW5nIG9uIGEgZm9ybSBjb250cm9s
IGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctc2Ny
aXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiJfcyk7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CiAKLSAgICBhdXRvJiBkb2N1bWVudCA9IGVsZW1lbnQtPmRvY3VtZW50KCk7Ci0gICAg
aWYgKCFkb2N1bWVudC5mcmFtZSgpLT5pc01haW5GcmFtZSgpICYmICFkb2N1bWVudC50b3BEb2N1
bWVudCgpLnNlY3VyaXR5T3JpZ2luKCkuaXNTYW1lT3JpZ2luRG9tYWluKGRvY3VtZW50LnNlY3Vy
aXR5T3JpZ2luKCkpKSB7Ci0gICAgICAgIGRvY3VtZW50LmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tlZCBhdXRvZm9j
dXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgaW4gYSBjcm9zcy1vcmlnaW4gc3ViZnJhbWUuIl9zKTsK
KyAgICBpZiAoIWRvY3VtZW50LT5mcmFtZSgpLT5pc01haW5GcmFtZSgpICYmICFkb2N1bWVudC0+
dG9wRG9jdW1lbnQoKS5zZWN1cml0eU9yaWdpbigpLmlzU2FtZU9yaWdpbkRvbWFpbihkb2N1bWVu
dC0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKKyAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiQmxvY2tl
ZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgaW4gYSBjcm9zcy1vcmlnaW4gc3ViZnJh
bWUuIl9zKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAgIGlmIChlbGVtZW50
LT5oYXNBdXRvZm9jdXNlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBGSVhN
RTogU2hvdWxkIHRoaXMgc2V0IG9mIGhhc1RhZ05hbWUgY2hlY2tzIGJlIHJlcGxhY2VkIGJ5IGEK
LSAgICAvLyB2aXJ0dWFsIG1lbWJlciBmdW5jdGlvbj8KKyAgICAvLyBGSVhNRTogYXV0b2ZvY3Vz
IGlzIGEgZ2xvYmFsIGF0dHJpYnV0ZS4KICAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oKmVs
ZW1lbnQpKQogICAgICAgICByZXR1cm4gIWRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCplbGVt
ZW50KS5pc0lucHV0VHlwZUhpZGRlbigpOwogICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKHNl
bGVjdFRhZykpCkBAIC0yNDUsMjQgKzI0Miw4IEBAIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKICAgICAvLyBUaGUgY2FsbCB0byB1cGRhdGVGcm9tRWxl
bWVudCgpIG5lZWRzIHRvIGdvIGFmdGVyIHRoZSBjYWxsIHRocm91Z2gKICAgICAvLyB0byB0aGUg
YmFzZSBjbGFzcydzIGF0dGFjaCgpIGJlY2F1c2UgdGhhdCBjYW4gc29tZXRpbWVzIGRvIGEgY2xv
c2UKICAgICAvLyBvbiB0aGUgcmVuZGVyZXIuCi0gICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAg
IHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Ci0KLSAgICBpZiAoc2hvdWxkQXV0b2Zv
Y3VzKHRoaXMpKSB7Ci0gICAgICAgIHNldEF1dG9mb2N1c2VkKCk7Ci0KLSAgICAgICAgUmVmUHRy
PEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+IGVsZW1lbnQgPSB0aGlzOwotICAgICAgICBSZWZQdHIg
ZnJhbWVWaWV3ID0gZG9jdW1lbnQoKS52aWV3KCk7Ci0gICAgICAgIGlmIChmcmFtZVZpZXcgJiYg
ZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNJbkxheW91dCgpKSB7Ci0gICAgICAgICAgICBm
cmFtZVZpZXctPnF1ZXVlUG9zdExheW91dENhbGxiYWNrKFtlbGVtZW50XSB7Ci0gICAgICAgICAg
ICAgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBsYWNlQ2Fy
ZXRBdFN0YXJ0IH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICBTdHlsZTo6cXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKFtlbGVtZW50XSB7Ci0gICAg
ICAgICAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBs
YWNlQ2FyZXRBdFN0YXJ0IH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICB9Cisg
ICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKKyAgICAgICAgcmVuZGVy
ZXItPnVwZGF0ZUZyb21FbGVtZW50KCk7CiB9CiAKIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6ZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9jdW1lbnQmIG9sZERvY3VtZW50LCBEb2N1bWVudCYg
bmV3RG9jdW1lbnQpCkBAIC0zMDEsNiArMjgyLDEyIEBAIE5vZGU6Okluc2VydGVkSW50b0FuY2Vz
dG9yUmVzdWx0IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKElu
CiAgICAgICAgIHNldEFuY2VzdG9yRGlzYWJsZWQoY29tcHV0ZUlzRGlzYWJsZWRCeUZpZWxkc2V0
QW5jZXN0b3IoKSk7CiAgICAgSFRNTEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKGluc2Vy
dGlvblR5cGUsIHBhcmVudE9mSW5zZXJ0ZWRUcmVlKTsKICAgICBGb3JtQXNzb2NpYXRlZEVsZW1l
bnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKGluc2VydGlvblR5cGUsIHBhcmVudE9mSW5zZXJ0ZWRU
cmVlKTsKKworICAgIGlmIChzaG91bGRBdXRvZm9jdXModGhpcykpIHsKKyAgICAgICAgaWYgKFJl
ZiB0b3BEb2N1bWVudCA9IGRvY3VtZW50KCkudG9wRG9jdW1lbnQoKTsgIXRvcERvY3VtZW50LT5p
c0F1dG9mb2N1c1Byb2Nlc3NlZCgpKQorICAgICAgICAgICAgdG9wRG9jdW1lbnQtPmFwcGVuZEF1
dG9mb2N1c0NhbmRpZGF0ZSgqdGhpcyk7CisgICAgfQorCiAgICAgcmV0dXJuIEluc2VydGVkSW50
b0FuY2VzdG9yUmVzdWx0OjpOZWVkc1Bvc3RJbnNlcnRpb25DYWxsYmFjazsKIH0KIApAQCAtMzY2
LDcgKzM1Myw3IEBAIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlkUmVjYWxjU3R5bGUo
U3R5bGU6OkNoYW5nZSkKICAgICAvLyB0cmlnZ2VyIHN5bmNocm9ub3VzIGxheW91dCwgc28gaXQg
bXVzdCBub3QgYmUgY2FsbGVkIGR1cmluZyBzdHlsZSByZWNhbGMuCiAgICAgaWYgKHJlbmRlcmVy
KCkpIHsKICAgICAgICAgUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+IGVsZW1lbnQgPSB0
aGlzOwotICAgICAgICBTdHlsZTo6cXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKFtlbGVtZW50
XXsKKyAgICAgICAgU3R5bGU6OmRlcHJlY2F0ZWRRdWV1ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2so
W2VsZW1lbnRdIHsKICAgICAgICAgICAgIGlmIChhdXRvKiByZW5kZXJlciA9IGVsZW1lbnQtPnJl
bmRlcmVyKCkpCiAgICAgICAgICAgICAgICAgcmVuZGVyZXItPnVwZGF0ZUZyb21FbGVtZW50KCk7
CiAgICAgICAgIH0pOwpAQCAtMzk2LDYgKzM4MywxMSBAQCBib29sIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBjb25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgSFRNTEZv
cm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpCit7CisgICAg
Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOwor
fQorCiBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Om1hdGNoZXNWYWxpZFBzZXVkb0NsYXNz
KCkgY29uc3QKIHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgaXNWYWxpZEZvcm1Db250
cm9sRWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuaAppbmRleCBjZGZhNWJkMzI0ZGUwYjliNGI2M2M1ZDc5NjhhZTg0ZWYxN2RjZDMxLi5hY2E2
YWM2N2RiYzY3ZmEzZGZlNWNlNTY4ZjkyOWM0YjIzOWJkOGJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTcwLDYgKzE3MCw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCByZWZGb3JtQXNzb2NpYXRlZEVsZW1lbnQoKSBvdmVycmlkZSB7IHJlZigp
OyB9CiAgICAgdm9pZCBkZXJlZkZvcm1Bc3NvY2lhdGVkRWxlbWVudCgpIG92ZXJyaWRlIHsgZGVy
ZWYoKTsgfQogCisgICAgdm9pZCBydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCkgZmluYWw7
CisKICAgICBib29sIG1hdGNoZXNWYWxpZFBzZXVkb0NsYXNzKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBtYXRjaGVzSW52YWxpZFBzZXVkb0NsYXNzKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmNwcAppbmRleCA2MDE2
NDk3ZjFjMTAyZTliMDZkOTM2YjM3NzQ3MTIwN2JiNjQ5ZDkwLi4yMWJiMWNjNGRhZThkYzVhZjhh
YzU4MDBkOTA2OGRhNGY4MTFhMzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGcmFtZU93bmVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJh
bWVPd25lckVsZW1lbnQuY3BwCkBAIC0xMjAsNyArMTIwLDcgQEAgdm9pZCBIVE1MRnJhbWVPd25l
ckVsZW1lbnQ6OnNjaGVkdWxlSW52YWxpZGF0ZVN0eWxlQW5kTGF5ZXJDb21wb3NpdGlvbigpCiB7
CiAgICAgaWYgKFN0eWxlOjpwb3N0UmVzb2x1dGlvbkNhbGxiYWNrc0FyZVN1c3BlbmRlZCgpKSB7
CiAgICAgICAgIFJlZlB0cjxIVE1MRnJhbWVPd25lckVsZW1lbnQ+IGVsZW1lbnQgPSB0aGlzOwot
ICAgICAgICBTdHlsZTo6cXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKFtlbGVtZW50XSB7Cisg
ICAgICAgIFN0eWxlOjpkZXByZWNhdGVkUXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKFtlbGVt
ZW50XSB7CiAgICAgICAgICAgICBlbGVtZW50LT5pbnZhbGlkYXRlU3R5bGVBbmRMYXllckNvbXBv
c2l0aW9uKCk7CiAgICAgICAgIH0pOwogICAgIH0gZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYmUxZmViMWI2MWIwZjA3OTQ1MjI4
MWNmZDVhYjgxMzliOTg2NWM0MC4uMWFhZWE2OTYxZGZhNTU2YTA3ZGIxMTY1YWI1ZTM2YWUwZTIw
ZTM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQu
Y3BwCkBAIC0xOTUsNyArMTk1LDcgQEAgdm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzY2hl
ZHVsZVVwZGF0ZUZvckFmdGVyU3R5bGVSZXNvbHV0aW9uKCkKIAogICAgIG1faGFzVXBkYXRlU2No
ZWR1bGVkRm9yQWZ0ZXJTdHlsZVJlc29sdXRpb24gPSB0cnVlOwogCi0gICAgU3R5bGU6OnF1ZXVl
UG9zdFJlc29sdXRpb25DYWxsYmFjayhbcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dIHsK
KyAgICBTdHlsZTo6ZGVwcmVjYXRlZFF1ZXVlUG9zdFJlc29sdXRpb25DYWxsYmFjayhbcHJvdGVj
dGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dIHsKICAgICAgICAgcHJvdGVjdGVkVGhpcy0+dXBkYXRl
QWZ0ZXJTdHlsZVJlc29sdXRpb24oKTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4
IGYzMzVjOWFkNGI4ZWQwZDQ3NTVlZGRkYTMyYjU1YzA0ZmM1ZTEwZGQuLjM0YTUyNzg0YThmODdh
MDY1OGYxMzE5NTc3M2FmZTRjZmQ1ODg5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTU1Nyw3
ICsxNTU3LDEwIEBAIHZvaWQgUGFnZTo6dXBkYXRlUmVuZGVyaW5nKCkKICAgICAgICAgZm9yRWFj
aERvY3VtZW50KHBlckRvY3VtZW50RnVuY3Rpb24pOwogICAgIH07CiAKLSAgICAvLyBGSVhNRTog
Rmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMuCisgICAgcnVuUHJvY2Vzc2luZ1N0ZXAoUmVuZGVy
aW5nVXBkYXRlU3RlcDo6UmVzaXplLCBbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAg
IGlmIChkb2N1bWVudC5pc1RvcERvY3VtZW50KCkpCisgICAgICAgICAgICBkb2N1bWVudC5mbHVz
aEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKyAgICB9KTsKIAogICAgIHJ1blByb2Nlc3NpbmdTdGVw
KFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlJlc2l6ZSwgW10gKERvY3VtZW50JiBkb2N1bWVudCkgewog
ICAgICAgICBkb2N1bWVudC5ydW5SZXNpemVTdGVwcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4IDIyZmU4ZGYwNjMyNTc5NTE1ZmU4YWU4MmFiYzFm
OWQzODU5M2M2NzguLmQyOTIxYjU2OTRiODJmNTJlOWFkMmEwMDRiNzE4MWU3NzNlMmI3MTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKQEAgLTY0OCw3ICs2
NDgsNyBAQCBzdGF0aWMgVmVjdG9yPFJlZlB0cjxGcmFtZT4+JiBtZW1vcnlDYWNoZUNsaWVudENh
bGxzUmVzdW1lUXVldWUoKQogICAgIHJldHVybiB2ZWN0b3I7CiB9CiAKLXZvaWQgcXVldWVQb3N0
UmVzb2x1dGlvbkNhbGxiYWNrKEZ1bmN0aW9uPHZvaWQgKCk+JiYgY2FsbGJhY2spCit2b2lkIGRl
cHJlY2F0ZWRRdWV1ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2soRnVuY3Rpb248dm9pZCgpPiYmIGNh
bGxiYWNrKQogewogICAgIHBvc3RSZXNvbHV0aW9uQ2FsbGJhY2tRdWV1ZSgpLmFwcGVuZChXVEZN
b3ZlKGNhbGxiYWNrKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVRyZWVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIu
aAppbmRleCA2N2VhMTc3MjE3YzM0YTliMDUyYTgwMmVlMjZjZjI5YTVlMjY5MDg1Li4xMzdiMjhi
NjJmYTczMjk0ZTM2YmY1ZDYzZTFkY2U4YmVlZjJiNjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlVHJlZVJlc29sdmVyLmgKQEAgLTExMiw3ICsxMTIsNyBAQCBwcml2YXRlOgogICAgIHN0
ZDo6dW5pcXVlX3B0cjxVcGRhdGU+IG1fdXBkYXRlOwogfTsKIAotdm9pZCBxdWV1ZVBvc3RSZXNv
bHV0aW9uQ2FsbGJhY2soRnVuY3Rpb248dm9pZCAoKT4mJik7Cit2b2lkIGRlcHJlY2F0ZWRRdWV1
ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2soRnVuY3Rpb248dm9pZCgpPiYmKTsgLy8gSW50ZWdyYXRl
IHdpdGggdGhlIEhUTUw1IGV2ZW50IGxvb3AgaW5zdGVhZC4KIGJvb2wgcG9zdFJlc29sdXRpb25D
YWxsYmFja3NBcmVTdXNwZW5kZWQoKTsKIAogY2xhc3MgUG9zdFJlc29sdXRpb25DYWxsYmFja0Rp
c2FibGVyIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA4NjgxYzk1MDE3YWE2OGIzMTJhNzg2ZmNkOGRmZDY1NWRhNjAyOWUx
Li5mODJlYWE1MjdhZjhkZjk0ZjdiNTBiN2QwNzU3YjMxOGE3MzM1NTI5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzggQEAKKzIwMjEtMDktMjcgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9jdXMgYmVoYXZpb3IKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzEzOQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXBkYXRlIFdlYktpdCB0byBtYXRjaCB0aGUgcmV2aXNlZCBhdXRvZm9j
dXMgYmVoYXZpb3IgZGVzY3JpYmVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9w
dWxsLzQ3NjMKKyAgICAgICAgYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9wdWxs
LzUwMTUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBSeW9zdWtlIE5pd2EncyB3b3JrLgorCisg
ICAgICAgIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucyB0byByZWZsZWN0IHRoZSBuZXcgYXV0b2Zv
Y3VzIGJlaGF2aW9yLgorIAorICAgICAgICAqIGZhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWw6
CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNj
cmlwdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNh
bmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRv
Zm9jdXMta2V5Z2VuLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEt
MDAxLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAyLmh0bWw6
CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAzLmh0bWw6CisgICAgICAg
ICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA0Lmh0bWw6CisgICAgICAgICogZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA1Lmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRv
Zm9jdXMtb3BlcmEtMDA2Lmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3Bl
cmEtMDA3Lmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1pbi1m
b2N1cy1oYW5kbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBs
YWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRhYmxlLXZhbHVlLWV4cGVjdGVkLmh0bWw6CisgICAgICAg
ICogZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBsYWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRhYmxl
LXZhbHVlLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9yYW5nZS9yYW5nZS10eXBlLWNoYW5n
ZS1vbmNoYW5nZS5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvdGV4dGFyZWEvdGV4dGFyZWEt
YXV0b2ZvY3VzLXJlbW92YWwtd2hpbGUtZm9jdXNpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zy
YW1lcy9jcmFzaC13aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWw6Cisg
ICAgICAgICogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJl
c3RvcmUuaHRtbDoKKwogMjAyMS0wOS0yNyAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUu
Y29tPgogCiAgICAgICAgIFsgTWFjT1MgXSBpbnNwZWN0b3IvZG9tL2dldEFjY2Vzc2liaWxpdHlQ
cm9wZXJ0aWVzRm9yTm9kZS5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDQ5ZDc3ZjkyNTUwMzk5NTljNDdhZWFkZWViNWIzODEwNjY3NzNhN2UuLjg0MmQw
ODA3YzkxMjM5YTc3MjZkNTI5YThmNTBlYTUwMmQ4MDk4MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA5LTI3ICBCcmVudCBGdWxnaGFtICA8
YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBuZXcgYXV0b2ZvY3VzIGJl
aGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMxMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2Mzk3MDE5PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBXZWJLaXQgdG8gbWF0Y2gg
dGhlIHJldmlzZWQgYXV0b2ZvY3VzIGJlaGF2aW9yIGRlc2NyaWJlZCBpbiBodHRwczovL2dpdGh1
Yi5jb20vd2hhdHdnL2h0bWwvcHVsbC80NzYzCisgICAgICAgIGFuZCBodHRwczovL2dpdGh1Yi5j
b20vd2hhdHdnL2h0bWwvcHVsbC81MDE1LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgUnlvc3Vr
ZSBOaXdhJ3Mgd29yay4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgdG8gcmVm
bGVjdCB0aGF0IFNhZmFyaSBub3cgcGFzc2VzIHRoZXNlIFdQVCB0ZXN0cy4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMt
YXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRv
Zm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlv
bi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9m
b2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1h
dHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2F1dG9mb2N1cy9maXJzdC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zv
cm1zL2F1dG9mb2N1cy9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvYXV0b2ZvY3VzL3F1ZXVlLW5v
bi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA5LTI3ICBBbnR0aSBLb2l2aXN0byAg
PGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIENhc2NhZGUgTGF5ZXJzXSBTdXBwb3J0
IEBsYXllciBzdGF0ZW1lbnQgYmVmb3JlIEBpbXBvcnQgc3RhdGVtZW50cwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQKaW5kZXgg
ZWM5ODFlYWMxYWRiZmI0YmRkZmJjYWJkZTM1YzQxN2NhNjEzMTA5OC4uMjk1ZThkYWZkN2FhNGRi
NmQ4YmVmMmJjNmI3ZTgxYzA3NjljYzY4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEsNCBAQAogVGVz
dHMgZm9yIGEgY3Jhc2ggZHVlIHRvIGFkb3B0aW5nIGEgRE9NIG5vZGUgZHVyaW5nIERPTUZvY3Vz
T3V0IGV2ZW50LiBUZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLgogCisKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbAppbmRleCBmNjhkMDE3YmIz
MDdmZDIyYWE2Mzg4MDRjYmQ2NzZmMzQwM2JhOTY2Li44NmM2NjZhY2MxZmQ0ZGE4MTE3ZWIwMjhk
NjUwODRjY2FiMWFjNTBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1u
b2RlLWNyYXNoLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNy
YXNoLTIuaHRtbApAQCAtMzIsMTEgKzMyLDEzIEBAIGZ1bmN0aW9uIGRvaXQoKQogICAgIGRpdjEu
b3V0ZXJIVE1MID0gaGVhZGVyMS5vdXRlckhUTUw7CiB9CiB3aW5kb3cub25sb2FkID0gZnVuY3Rp
b24oKSB7Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIGludGVybmFscy51cGRh
dGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoKTsK
LSAgICBlbHNlCi0gICAgICAgIGRpdjIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgc2V0
VGltZW91dCgiZG9pdCgpIiwgMSk7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsK
KyAgICAgICAgc2V0VGltZW91dChkb2l0LCAwKTsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7
CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0sIDUwKTsKKyAgICB9KTsKIH0KIDwvc2Ny
aXB0PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9j
dXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhw
ZWN0ZWQudHh0CmluZGV4IGNmODZmYjRjNWVhNjkwM2ViMDhhNzBlMjY0YTAyNzg5YjYyMDg3OTQu
LjUwYWNmYjY3ZGY4OWIwMTUxMTc1N2YyMzkxNWI3MGY0YWZiYzdkOWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3Jp
cHRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1p
bi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKQEAgLTEsMiArMSw3IEBA
Ci1DT05TT0xFIE1FU1NBR0U6IElOUFVUCi1UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBhY3RpdmVF
bGVtZW50IGlzIHRoZSBpbnB1dCBlbGVtZW50IHJhdGhlciB0aGFuIHRoZSBib2R5ICh3aGljaCBp
dCB3b3VsZCBiZSBpZiB0aGUgc2FuZGJveCBkaWRuJ3QgYWxsb3cgYXV0b2ZvY3VzIGFsdGhvdWdo
IGFsbG93LXNjcmlwdHMgZmxhZyBpcyBzZXQpLgorVGhpcyB0ZXN0cyBoYXZpbmcgYW4gaW5wdXQg
ZWxlbWVudCB3aXRoIGF1dG9mb2N1cyBjb250ZW50IGF0dHJpYnV0ZSBpbnNpZGUgYSBzYW5kYm94
ZWQgaWZyYW1lLgorVGhlIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGF1dG9mb2N1c2VkIHNpbmNl
IHNjcmlwdHMgYXJlIGFsbG93ZWQuCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZTEtLT4n
CistLS0tLS0tLQorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRv
Zm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwKaW5k
ZXggNGYyMjM4NjhmZDdlNmYxODllYzUzZjcyNjJlNzZiZGI5ODY3YmM1YS4uODllMzJlZmExOTYy
ODBhYzM1MTlhNWVmYmM2Y2YyOTYxZjdiMTAzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ct
c2NyaXB0cy5odG1sCkBAIC0xLDggKzEsMjEgQEAKIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RS
dW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworfQogPC9zY3Jp
cHQ+Ci1UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBhY3RpdmVFbGVtZW50IGlzIHRoZSBpbnB1dCBl
bGVtZW50IHJhdGhlciB0aGFuIHRoZSBib2R5Ci0od2hpY2ggaXQgd291bGQgYmUgaWYgdGhlIHNh
bmRib3ggZGlkbid0IGFsbG93IGF1dG9mb2N1cyBhbHRob3VnaCBhbGxvdy1zY3JpcHRzIGZsYWcg
aXMgc2V0KS4KLTxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyBhbGxvdy1tb2RhbHMiCi0g
ICAgc3JjPSJkYXRhOnRleHQvaHRtbCw8aW5wdXQgYXV0b2ZvY3VzIG9uZm9jdXM+PHNjcmlwdD53
aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7IGNvbnNvbGUubG9nKGRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQudGFnTmFtZSkgfTwvc2NyaXB0PiI+PC9pZnJhbWU+CitUaGlzIHRlc3RzIGhhdmluZyBh
biBpbnB1dCBlbGVtZW50IHdpdGggYXV0b2ZvY3VzIGNvbnRlbnQgYXR0cmlidXRlIGluc2lkZSBh
IHNhbmRib3hlZCBpZnJhbWUuPGJyPgorVGhlIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGF1dG9m
b2N1c2VkIHNpbmNlIHNjcmlwdHMgYXJlIGFsbG93ZWQuCis8aWZyYW1lIHNhbmRib3g9ImFsbG93
LXNjcmlwdHMiCisgICAgc3JjPSJkYXRhOnRleHQvaHRtbCw8aW5wdXQgaWQ9aW5wdXQgYXV0b2Zv
Y3VzIG9uZm9jdXM+PHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
biAoKSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAg
ICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGlucHV0ID8gJ1BBU1MnIDogJ0ZBSUwnKTsKKyAg
ICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgfSwgMCk7CisgICAgICAgIH0p
OworICAgIH08L3NjcmlwdD4iPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9hdXRvZm9jdXMta2V5Z2VuLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1rZXlnZW4uaHRtbAppbmRleCA3NzA3MGU4ZGIwNmI1NGM5YjkwZmU2ZDMxMDI2ODNk
YTg1NGJjMGNjLi5jY2QwY2E1NDNkMjFjZjgwYmYyYzlkNzhkMDczYzg3N2I5OWZhODZlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbApAQCAtNiw5ICs2
LDEzIEBACiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKIGZ1bmN0aW9uIG9uTG9hZCgp
IHsKLSAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJrZXlnZW4iKScpOwotICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVt
ZW50LmF1dG9mb2N1cycsICd0cnVlJyk7Ci0gICAgZmluaXNoSlNUZXN0KCk7CisgICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAg
ICAgICAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJrZXlnZW4iKScpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFj
dGl2ZUVsZW1lbnQuYXV0b2ZvY3VzJywgJ3RydWUnKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICB9LCAwKTsKKyAgICB9KTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbAppbmRleCAz
Yjk0ZTg4YzIwOTA3ZDMxOWEwNGQ4ZWI1YjQxOTljMDQyOGI2ZTBjLi42NTBlYzA3MDU2MjJmYzhj
ZjU3YTA0OTg4ZDViOWY1Y2QwNmU2OGMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbApAQCAtMTEsMTMgKzExLDE5IEBACiAgICAgfQogCiAg
ICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgICAgICAgCi0gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVt
ZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQotICAgICAg
ICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJ
TFVSRSIpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
IH0KKworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAg
aWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoImlucHV0IilbMF0pCisgICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAyLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDIuaHRtbAppbmRleCBmYTcwYjU3
ZDRiYjEwZTg1OTQ2YTEwZDA1Y2Q4NjcxZTg1YTM4OTZjLi4yNGFlMmQ0ZmYzOTFhMjlmMjVjODFl
YjQ5NGM2OWIxNzVlZjhkY2FhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDIuaHRtbApAQCAtMTEsMTMgKzExLDIwIEBACiAgICAgfQogCiAgICAgZnVu
Y3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgICAgICAgCi0gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQotICAgICAgICAgICAg
bG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVSRSIp
OworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKwor
ICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlu
cHV0IilbMF0pCisgICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0pCisKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAzLmh0bWwKaW5kZXggOWFlYTIzZTdkYWEw
MjRlNGQyMTg2ZDFkMzFmYTU0YTU3ZmQ3OTY0Yy4uNGFkNzcwMTdiNDdmYWNkZmZiMDY5ODBhZTI4
ZGE0ZDg0NDNkMDU5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9j
dXMtb3BlcmEtMDAzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
b3BlcmEtMDAzLmh0bWwKQEAgLTEyLDE0ICsxMiwyMCBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9u
IHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CiAKLSAg
ICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImlucHV0IilbMF0gJiYKLSAgICAgICAgICAgIGRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsVG9wICE9IDApCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSAmJgorICAgICAg
ICAgICAgICAgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wICE9IDApCisgICAg
ICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOwog
ICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDQuaHRtbAppbmRleCA0YTNkZmM0NjdkOThiY2IwMjIzMDEzNmE5Mjdh
NTYyODhkNGY5ZTBhLi45ODBhYzA3MGZiMDUyZWFmYjIzMTg3ZDNmZjQzYTliYjRjM2RlMmYwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDQuaHRtbApA
QCAtMjEsNyArMjEsNyBAQAogICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ2F1dG9mb2N1cycs
J2ZhbHNlJyk7CiAgICAgICAgIHAuYXBwZW5kQ2hpbGQoaW5wdXQpOwogCi0gICAgICAgIHNldFRp
bWVvdXQoY2hlY2ssIDApOworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gc2V0
VGltZW91dChjaGVjaywgMCkpOwogICAgIH0KICAgICAKICAgICBmdW5jdGlvbiBjaGVjaygpIHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA1Lmh0bWwKaW5k
ZXggNTA5OGMwYWZkYWM5YmM3OWU5ODRiODk0MjU4NDQ2MjUyMzg1ZTUyZS4uZThiMDQxMTFkMzc5
OWNkMjM0YzA1ZjRlNWM1NWE3YTgzZDMwMThiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA1Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA1Lmh0bWwKQEAgLTIxLDggKzIxLDggQEAKICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHNldFRpbWVvdXQoY2hl
Y2ssIDApOworCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiBzZXRUaW1lb3V0
KGNoZWNrLCAwKSk7CiAgICAgfQogICAgIAogICAgIGZ1bmN0aW9uIGNoZWNrKCkgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbAppbmRleCAzZGEz
OTM0Njk4OGJmMzBmY2M0OGJjYTA2MTkzMTVmNDY1MTM1YzY5Li45ZDc3ZDljMDM4Y2MxZTYyYjE2
ZThmYjdmNTM4OTBkYjI1N2Y3YTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDYuaHRtbApAQCAtMTEsMjMgKzExLDMwIEBACiAgICAgfQogCiAgICAg
ZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
IH0KKworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAg
aWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRl
c3QiKSkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAg
ICAgICAgfSk7CiAKLSAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKSkKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKICAgICB9CiA8L3Njcmlw
dD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0idGVzdCgpIj4KIDxwPkFsbCBmb3JtIGNvbnRyb2xz
IGJlbG93IHNob3VsZCBoYXZlIGEgZ3JlZW4gYmFja2dyb3VuZDo8L3A+Ci08cD48aW5wdXQgYXV0
b2ZvY3VzPgorPHA+PGlucHV0IGF1dG9mb2N1cyBpZD0idGVzdCI+CiA8cD48aW5wdXQgYXV0b2Zv
Y3VzPgogPHA+PGlucHV0IGF1dG9mb2N1cz4KIDxwPjxpbnB1dD4KLTxwPjxpbnB1dCBhdXRvZm9j
dXMgaWQ9InRlc3QiPgorPHA+PGlucHV0IGF1dG9mb2N1cz4KIDxwPjxpbnB1dD4KIDxoci8+CiA8
b2wgaWQ9ImNvbnNvbGUiPjwvb2w+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2Zv
Y3VzLW9wZXJhLTAwNy5odG1sCmluZGV4IDExMjViNWIzZDlmMWZlYTM0MzgxMmZhNmJkYTM2MmU4
MWY2NzhiZTMuLjA2NjBhODBkMTFlYWE0MDI4OTgzNjNmNjkxMDQ0ZGU5OGMxOTkzOGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sCkBAIC0x
NywxMyArMTcsMTkgQEAKICAgICB9CiAgICAgCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KIAotICAgICAgICBpZiAoZ290Qmx1
cikKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsK
KyAgICAgICAgICAgIGlmIChnb3RCbHVyKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4t
Zm9jdXMtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQt
dHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwKaW5kZXggYjdhMWQ4YzlmODU5OGVlMDJhM2E2NzZm
MGRmOGU4YWZlNDRiMjg2NS4uZTQyZjIzMmViODJiMTgxMjI3NTk1MGIwNDg0NWQ1ZjNmZGE2OWQ2
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1p
bi1mb2N1cy1oYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2Ut
aW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwKQEAgLTEwLDE2ICsxMCwyNSBAQAogZnVu
Y3Rpb24gZm9jdXNlZCgpIHsKICAgICBpZiAoaW5wdXQuYXV0b2ZvY3VzKSB7CiAgICAgICAgIGlu
cHV0LnR5cGUgPSAiY2hlY2tib3giOwotICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
ICI8Y29kZSBzdHlsZT0nY29sb3I6IGdyZWVuJz5QQVNTPC9jb2RlPiI7CisgICAgICAgIGRvY3Vt
ZW50LmJvZHkuaW5uZXJIVE1MID0gIkZBSUwgLSBmb2N1cyBldmVudCBoYW5kbGVyIGNhbGxlZCI7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChpbnB1dCk7CiAgICAgaW5wdXQuYXV0b2ZvY3VzID0gdHJ1ZTsKKyAgICBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBkb2N1bWVudC5ib2R5LnRleHRD
b250ZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5ib2R5ID8gIlBBU1Mi
IDogIkZBSUwiOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKIH0KIAotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CiAKIGlucHV0LmZvY3VzKCk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251
bWJlci1wbGFjZWhvbGRlci13aXRoLXVuYWNjZXB0YWJsZS12YWx1ZS1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBsYWNlaG9sZGVyLXdpdGgtdW5h
Y2NlcHRhYmxlLXZhbHVlLWV4cGVjdGVkLmh0bWwKaW5kZXggOWQ3ZTdiZGJlZTFjYWQyNGE2MzA1
MDk5ODZkOGE5ZTNjMmYyYWU4NS4uZGRkYTAzNzAxYTg1NDIyMDlmM2JlMGIwNTA5MjQ1OTVjYWY2
ODkxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBs
YWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRhYmxlLXZhbHVlLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBsYWNlaG9sZGVyLXdpdGgtdW5hY2Nl
cHRhYmxlLXZhbHVlLWV4cGVjdGVkLmh0bWwKQEAgLTEsNCArMSw1IEBACi08aW5wdXQgdHlwZT0i
bnVtYmVyIiBhdXRvZm9jdXM+Cis8aW5wdXQgaWQ9InRleHRGaWVsZCIgdHlwZT0ibnVtYmVyIj4K
IDxzY3JpcHQ+Cit0ZXh0RmllbGQuZm9jdXMoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNl
cnR0ZXh0JywgZmFsc2UsICdhYWEnKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXBsYWNlaG9sZGVyLXdpdGgtdW5hY2NlcHRhYmxl
LXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItcGxhY2Vo
b2xkZXItd2l0aC11bmFjY2VwdGFibGUtdmFsdWUuaHRtbAppbmRleCBkYTM5MjRlYTFmMTVjZTFi
N2Q5MTMzZWQ3MDkwNGViYzI3OTgyZWVjLi4wZTkyOTc3MjAxZjJiZTU3MDkxOTU4MzAyZDBjOTFm
NzcxMDE5OThhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1i
ZXItcGxhY2Vob2xkZXItd2l0aC11bmFjY2VwdGFibGUtdmFsdWUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItcGxhY2Vob2xkZXItd2l0aC11bmFjY2VwdGFi
bGUtdmFsdWUuaHRtbApAQCAtMSw0ICsxLDUgQEAKLTxpbnB1dCB0eXBlPSJudW1iZXIiIHBsYWNl
aG9sZGVyPSJwbGFjZWhvbGRlciIgYXV0b2ZvY3VzPgorPGlucHV0IGlkPSJ0ZXh0RmllbGQiIHR5
cGU9Im51bWJlciIgcGxhY2Vob2xkZXI9InBsYWNlaG9sZGVyIj4KIDxzY3JpcHQ+Cit0ZXh0Rmll
bGQuZm9jdXMoKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnR0ZXh0JywgZmFsc2UsICdh
YWEnKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYW5n
ZS9yYW5nZS10eXBlLWNoYW5nZS1vbmNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9yYW5nZS9yYW5nZS10eXBlLWNoYW5nZS1vbmNoYW5nZS5odG1sCmluZGV4IGZjM2VlOWI1NzA3
ZjY2NTQ0OGU2MTUxMWNiNDQ0ZGE3MTljZjhiOTEuLjViMTYwYjVhYTRjZjRiNjE2ZmY0NDVkMTg1
MzIzODcxYTA3ZDI5MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFuZ2Uv
cmFuZ2UtdHlwZS1jaGFuZ2Utb25jaGFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3JhbmdlL3JhbmdlLXR5cGUtY2hhbmdlLW9uY2hhbmdlLmh0bWwKQEAgLTIsNyArMiw3IEBA
CiA8Ym9keT4KIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgogCi08aW5wdXQgaWQ9InJhbmdlMSIgdHlwZT0icmFuZ2UiIG9uY2hhbmdlPSJ1
cGRhdGVUeXBlKHRoaXMpIiBhdXRvZm9jdXM+Cis8aW5wdXQgaWQ9InJhbmdlMSIgdHlwZT0icmFu
Z2UiIG9uY2hhbmdlPSJ1cGRhdGVUeXBlKHRoaXMpIj4KIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbign
Q2hlY2sgaWYgbm8gcHJvYmxlbSBoYXBwZW5zIGJ5IHR5cGUgY2hhbmdlIGluIG9uY2hhbmdlIGhh
bmRsZXIuJyk7CiAKQEAgLTE3LDYgKzE3LDcgQEAgZnVuY3Rpb24gZmluaXNoKCkgewogfQogCiBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3JhbmdlMS5mb2N1cygpOwogZXZlbnRTZW5kZXIua2V5RG93
bigndXBBcnJvdycpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLWF1dG9mb2N1cy1yZW1vdmFsLXdoaWxlLWZvY3VzaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLWF1dG9mb2N1
cy1yZW1vdmFsLXdoaWxlLWZvY3VzaW5nLmh0bWwKaW5kZXggYzU5NWE5MjQzZTM4NzA4YjllYzM2
YTlkNzczMGNjYjEwODk0ZTg2Yy4uM2IxZjM2N2UyODc3Mzg0M2E2MzgzM2IxZTM0YTQwZGU1ODI5
YzFlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS90ZXh0YXJl
YS1hdXRvZm9jdXMtcmVtb3ZhbC13aGlsZS1mb2N1c2luZy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGV4dGFyZWEvdGV4dGFyZWEtYXV0b2ZvY3VzLXJlbW92YWwtd2hpbGUtZm9j
dXNpbmcuaHRtbApAQCAtMiwxNiArMiwyNSBAQAogPGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+Ci10
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotdmFy
IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKKworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKK2NvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKIHRleHRhcmVhLnNldEF0dHJpYnV0ZSgiYXV0b2Zv
Y3VzIiwgIiIpOwogdGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcigiRE9NRm9jdXNJbiIsIGZ1bmN0
aW9uICgpIHsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmlubmVySFRNTCA9ICIiOyB9LCBmYWxz
ZSk7CiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGV4dGFyZWEpOwotd2lu
ZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwg
PSAiUEFTUyB1bmxlc3MgY3Jhc2guIjsKLSAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0s
IDApOworCityZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgIHNldFRpbWVvdXQoKCkg
PT4geworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJQQVNTIHVubGVzcyBjcmFz
aC4iOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCAwKTsKK30pOworCiA8L3NjcmlwdD4KIDwvYm9keT4K
IDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4t
aWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbApp
bmRleCA2ZjVhMmU5MTllZGY5YTk2M2JhOGY3ZWRlNGU5MDY2MjE1MGJmNmZkLi5iNjA4ZjkyZGJi
MWYzNTk5ZmZhOWZiZjcxNDYxMDU2NDc2ZTgyMGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVt
b3ZlLWluLWV2ZW50aGFuZGxlci5odG1sCkBAIC02LDE4ICs2LDI4IEBAIFBBU1MgaWYgbm8gY3Jh
c2guCiA8c3BhbiBpZD13cmFwcGVyPjwvc3Bhbj4KIDx0ZXh0YXJlYSBpZD10ZXh0YXJlYSBvbmZv
Y3VzPSJldmVudGhhbmRsZXIoKSI+PC90ZXh0YXJlYT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRl
c3RSdW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwogZG9jdW1lbnQu
b2Zmc2V0SGVpZ2h0OwogdGV4dGFyZWEuYXV0b2ZvY3VzID0gdHJ1ZTsKIHZhciBpZnJhbWUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKIHNwYW4uYXBwZW5kQ2hpbGQoaWZyYW1l
KTsKIHdyYXBwZXIuYXBwZW5kQ2hpbGQodGV4dGFyZWEpOworcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCgpID0+IHsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSwgMCk7
Cit9KTsKIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgpOwogCiBm
dW5jdGlvbiBldmVudGhhbmRsZXIoKSB7CiAgICAgdGV4dGFyZWEuaW5zZXJ0QWRqYWNlbnRFbGVt
ZW50KCJiZWZvcmVCZWdpbiIsIHNwYW4pOwogfQorCiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1
dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkv
cGFnZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCmluZGV4IDYzY2Y4
YTIyMTk4ZDcwOWYzZmE5OGFmNTU5NzEzOTM4OTAyNTVkYTIuLjU2ZDg3ODcwNjRiZTNmZjg3Mjk2
ZTgwMDAwYmQzOTk2MTI3M2IxY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9y
eS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJl
c3RvcmUuaHRtbApAQCAtMTYsOCArMTYsMTIgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiB9
CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIChldmVudCkgPT4gewotICAg
IGlmIChldmVudC5wZXJzaXN0ZWQpCisgICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAg
ICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgc2V0VGltZW91dChm
aW5pc2gsIDApOworICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHNldFRpbWVvdXQocnVuVGVzdCwgMCk7CiB9KTsK
QEAgLTI5LDggKzMzLDEzIEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgIGxvY2F0aW9uLmhyZWYg
PSAncmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwnOwogfQogCitsZXQgZGlkRmluaXNo
ID0gZmFsc2U7CiBmdW5jdGlvbiBmaW5pc2goKQogeworICAgIGlmIChkaWRGaW5pc2gpCisgICAg
ICAgIHJldHVybjsKKworICAgIGRpZEZpbmlzaCA9IHRydWU7CiAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Jlc3VsdCcpLnRleHRDb250ZW50ID0gJ1BBU1MnOwogICAgIHNldFRpbWVvdXQo
KCkgPT4gewogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1l
bnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQKaW5kZXggYTQ1MmQ1M2VkYmE2MzU4
N2Q5YzJlYmRjNmY2YTUwZDUzZmU0ZWZlNS4uZDQxOTI5ZjliN2RmN2IxOGQ2MDJkYWQ0NjA4YmVm
ZTA3MTVmY2EyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
L2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1
cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4
cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAogCi1GQUlMIEF1dG9mb2N1cyBlbGVtZW50cyBp
biBpZnJhbWVkIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZyYWdtZW50cyBzaG91bGQgd29yay4gYXNz
ZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIEVsZW1lbnQgbm9kZSA8aW5wdXQg
YXV0b2ZvY3VzPSIiPjwvaW5wdXQ+CitQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVk
IGRvY3VtZW50cyB3aXRoIGVtcHR5IGZyYWdtZW50cyBzaG91bGQgd29yay4KIFBBU1MgQXV0b2Zv
Y3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRzIHdp
dGggZW1wdHkgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMv
dGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1l
bnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3RlZC50eHQKaW5kZXggMmIxZTU3ZDYy
ODI5NTY5MThkMjcyMTU1NWQwNGQ1ODAyYWI3ZGY2ZC4uOGRkNmI0Yzc3MGNlOWFhNWNjMjliZmM4
NWNjZTQyZDVkY2VlODc4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0
cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRl
cmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdt
ZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAogCi1GQUlMIEF1
dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRoIG5vbi1leGlzdGVudCBm
cmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2
YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBBdXRv
Zm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJh
Z21lbnRzIHNob3VsZCB3b3JrLgogUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gdG9wLWxldmVs
IGJyb3dzaW5nIGNvbnRleHQncyBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRz
IHNob3VsZCB3b3JrLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRy
aWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVj
dGVkLnR4dAppbmRleCAwMzc0MTA5YTMwYzYyNGRiZDk0ZDg3OTEzYjRlMzM4ZWU5MTk5M2VmLi44
YmE1MGE1MWEzZGFkNTcwZDQ5Mjc3NDk5OTcyZDU5NGQ1ZGZlYjk4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3At
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1
bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAot
RkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCAidG9wIiBm
cmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2
YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBBdXRv
Zm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCAidG9wIiBmcmFnbWVudHMg
c2hvdWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiB0b3AtbGV2ZWwgYnJvd3Np
bmcgY29udGV4dCdzIGRvY3VtZW50cyB3aXRoICJ0b3AiIGZyYWdtZW50cyBzaG91bGQgd29yay4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBl
Y3RlZC50eHQKaW5kZXggOTg3MzI3YjFhN2I5YmI2YWExZjJiNmI0NDA2Mzc3MTBiZThmMDA2ZS4u
Y2U5MjY3NjdmMzA0MmRlMjI5ODA0MDMzZDJlZmU1NTVlYWQ2NTJkMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rp
b24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0CkBAIC0x
LDQgKzEsNCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9mb2N1cyBlbGVtZW50IGluIHRoZSBk
b2N1bWVudCBzaG91bGQgd2luLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUg
PGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQg
YXV0b2ZvY3VzPSIiPjwvaW5wdXQ+CitQQVNTIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBp
biB0aGUgZG9jdW1lbnQgc2hvdWxkIHdpbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1h
dXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0
CmluZGV4IGZlMDIxMThhMzQ5YTNhY2M5ZjhjYWVkODkxNzgxZjAxYzI4ODE0NWYuLjVmNGMzMTVj
Njg3OGUzYzY4YjdhZDJmOGM5Y2EyOTYxMWVmZDVjOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90
aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJh
Y3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIAotRkFJTCBUaGUgZmlyc3QgYXV0b2ZvY3VzIGlu
IHRoZSBkb2N1bWVudCB3aW5zLCBldmVuIGlmIGVsZW1lbnRzIGFyZSBpbnNlcnRlZCBsYXRlci4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+
PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0
PgorUEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGluIHRoZSBkb2N1bWVudCB3aW5zLCBldmVuIGlm
IGVsZW1lbnRzIGFyZSBpbnNlcnRlZCBsYXRlci4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhw
ZWN0ZWQudHh0CmluZGV4IDMzZDgzMDg3ZTE4ZjZkOWQ5YjJmYWY0NTJhM2VkYmU5NjA3M2IxNWQu
LmE1ODQ5ZDYyMjM1MzE4Y2I4OGEzMWFmNGEyZDk0ZjdjNzExODEwNTAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlv
bi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9u
LWZvY3VzYWJsZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIAotRkFJTCBJZiB0aGUg
Zmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSwgYnV0IGJlY29tZXMgZm9j
dXNhYmxlIGJlZm9yZSBhIGZyYW1lLCBpdCBzaG91bGQgYmUgZm9jdXNlZC4gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDx0ZXh0YXJlYSBhdXRvZm9jdXM9IiI+PC90ZXh0YXJl
YT4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPHNlbGVjdCBhdXRvZm9jdXM9IiI+PC9zZWxlY3Q+CitQ
QVNTIElmIHRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpcyBub3QgZm9jdXNhYmxlLCBidXQg
YmVjb21lcyBmb2N1c2FibGUgYmVmb3JlIGEgZnJhbWUsIGl0IHNob3VsZCBiZSBmb2N1c2VkLgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2Zvcm1zL2F1dG9mb2N1cy9maXJzdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zv
cm1zL2F1dG9mb2N1cy9maXJzdC1leHBlY3RlZC50eHQKaW5kZXggOTg3MzI3YjFhN2I5YmI2YWEx
ZjJiNmI0NDA2Mzc3MTBiZThmMDA2ZS4uY2U5MjY3NjdmMzA0MmRlMjI5ODA0MDMzZDJlZmU1NTVl
YWQ2NTJkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9hdXRvZm9jdXMvZmlyc3QtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZm9ybXMvYXV0b2ZvY3VzL2ZpcnN0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQg
QEAKIAogCi1GQUlMIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQg
c2hvdWxkIHdpbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBh
dXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1
cz0iIj48L2lucHV0PgorUEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaW4gdGhlIGRv
Y3VtZW50IHNob3VsZCB3aW4uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvYXV0b2ZvY3VzL2ZpcnN0
LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9hdXRvZm9jdXMvZmlyc3Qtd2hlbi1s
YXRlci1leHBlY3RlZC50eHQKaW5kZXggZmUwMjExOGEzNDlhM2FjYzlmOGNhZWQ4OTE3ODFmMDFj
Mjg4MTQ1Zi4uNWY0YzMxNWM2ODc4ZTNjNjhiN2FkMmY4YzljYTI5NjExZWZkNWM5ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9mb3Jtcy9hdXRvZm9jdXMvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9mb3Jtcy9hdXRvZm9jdXMvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSw0IEBACiAKIAotRkFJTCBUaGUgZmlyc3QgYXV0b2ZvY3VzIGluIHRoZSBkb2N1bWVudCB3
aW5zLCBldmVuIGlmIGVsZW1lbnRzIGFyZSBpbnNlcnRlZCBsYXRlci4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdv
dCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBUaGUgZmly
c3QgYXV0b2ZvY3VzIGluIHRoZSBkb2N1bWVudCB3aW5zLCBldmVuIGlmIGVsZW1lbnRzIGFyZSBp
bnNlcnRlZCBsYXRlci4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9hdXRvZm9jdXMvcXVldWUtbm9u
LWZvY3VzYWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2F1dG9mb2N1cy9xdWV1ZS1ub24tZm9j
dXNhYmxlLWV4cGVjdGVkLnR4dAppbmRleCAzM2Q4MzA4N2UxOGY2ZDlkOWIyZmFmNDUyYTNlZGJl
OTYwNzNiMTVkLi5hNTg0OWQ2MjIzNTMxOGNiODhhMzFhZjRhMmQ5NGY3YzcxMTgxMDUwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2Zvcm1zL2F1dG9mb2N1cy9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2Zvcm1zL2F1dG9mb2N1cy9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIElmIHRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVu
dCBpcyBub3QgZm9jdXNhYmxlLCBidXQgYmVjb21lcyBmb2N1c2FibGUgYmVmb3JlIGEgZnJhbWUs
IGl0IHNob3VsZCBiZSBmb2N1c2VkLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5v
ZGUgPHRleHRhcmVhIGF1dG9mb2N1cz0iIj48L3RleHRhcmVhPiBidXQgZ290IEVsZW1lbnQgbm9k
ZSA8c2VsZWN0IGF1dG9mb2N1cz0iIj48L3NlbGVjdD4KK1BBU1MgSWYgdGhlIGZpcnN0IGF1dG9m
b2N1cyBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUsIGJ1dCBiZWNvbWVzIGZvY3VzYWJsZSBiZWZv
cmUgYSBmcmFtZSwgaXQgc2hvdWxkIGJlIGZvY3VzZWQuCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440195</attachid>
            <date>2021-10-05 03:47:59 -0700</date>
            <delta_ts>2021-10-05 06:00:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211005124757.patch</filename>
            <type>text/plain</type>
            <size>35858</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWVhMmE2MTkxZDQ4YWEy
ZThmZGI0MzU4YjMxODdiMDkxM2ZkM2ZlNS4uNDM0YjI2YTY1YWEyOGYzMTFiODJmZGEwZjFjOTcz
NWJiZWJiZjM3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMpOgorICAgICAgICAqIGRvbS9E
b2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzQXV0b2ZvY3VzUHJvY2Vz
c2VkIGNvbnN0KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKToKKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpzaG91bGRBdXRvZm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEZvcm1Db250cm9sRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JB
dXRvZm9jdXMpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oOgorICAg
ICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVSZW5k
ZXJpbmcpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCiAyMDIxLTEwLTA1ICBUaW0gTmd1eWVu
ICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW4gdXAgc2hvdWxkQXV0b2ZvY3VzIGlu
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4
YmRmMjIwOTA2YjBjZWJhMzkzZGE5ZjJkM2JlM2ZlNmRiZWNkY2NjLi4yOGE0NjYwOTc1MTM4MDhm
NjI5NjNiNmM0YmIxMmJjNTc5MDEwY2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ0
NzQsNiArNDQ3NCwzNiBAQCB2b2lkIERvY3VtZW50OjphZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJl
bW92YWwoTm9kZSYgbm9kZSwgTm9kZVJlbW92YWwgbm9kZVJlbW92YQogICAgIH0KIH0KIAordm9p
ZCBEb2N1bWVudDo6YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKEVsZW1lbnQmIGNhbmRpZGF0ZSkK
K3sKKyAgICBBU1NFUlQoaXNUb3BEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoIW1faXNBdXRvZm9j
dXNQcm9jZXNzZWQpOworICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5hcHBlbmRPck1vdmVUb0xh
c3QoY2FuZGlkYXRlKTsKK30KKwordm9pZCBEb2N1bWVudDo6Zmx1c2hBdXRvZm9jdXNDYW5kaWRh
dGVzKCkKK3sKKyAgICBBU1NFUlQoaXNUb3BEb2N1bWVudCgpKTsKKyAgICBpZiAobV9pc0F1dG9m
b2N1c1Byb2Nlc3NlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yICg7ICFtX2F1dG9mb2N1
c0NhbmRpZGF0ZXMuaXNFbXB0eSgpOyBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMucmVtb3ZlRmlyc3Qo
KSkgeworICAgICAgICBSZWYgZWxlbWVudCA9IG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5maXJzdCgp
OworICAgICAgICBpZiAoIWVsZW1lbnQtPmRvY3VtZW50KCkuaXNGdWxseUFjdGl2ZSgpIHx8ICZl
bGVtZW50LT5kb2N1bWVudCgpLnRvcERvY3VtZW50KCkgIT0gdGhpcykKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICBpZiAoYXV0byogcGFyc2VyID0gc2NyaXB0YWJsZURvY3VtZW50UGFy
c2VyKCk7IHBhcnNlciAmJiBwYXJzZXItPmhhc1NjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMo
KSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBpZ25vcmUg
aWYgdGhlIGluY2x1c2l2ZSBhbmNlc3RvciBkb2N1bWVudHMgaGFzIGEgdGFyZ2V0IGVsZW1lbnQu
CisgICAgICAgIC8vIEZJWE1FOiBVc2UgdGhlIHJlc3VsdCBvZiBnZXR0aW5nIHRoZSBmb2N1c2Fi
bGUgYXJlYSBmb3IgZWxlbWVudCBpZiBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUuCisgICAgICAg
IGlmIChlbGVtZW50LT5pc0ZvY3VzYWJsZSgpKSB7CisgICAgICAgICAgICBtX2F1dG9mb2N1c0Nh
bmRpZGF0ZXMuY2xlYXIoKTsKKyAgICAgICAgICAgIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQgPSB0
cnVlOworICAgICAgICAgICAgZWxlbWVudC0+cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorfQorCiB2b2lkIERvY3Vt
ZW50Ojpob3ZlcmVkRWxlbWVudERpZERldGFjaChFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlm
ICghbV9ob3ZlcmVkRWxlbWVudCB8fCAmZWxlbWVudCAhPSBtX2hvdmVyZWRFbGVtZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAppbmRleCAzODZlMzc4MjgwODhmM2ZkMWVhN2JmYzgwNjgyZTk1YTg1MDg5
MDA2Li5kZDc2Njc4MTc3OWY4YmEwYTI1OTI3MjUzNmViNWQ2YzM0ZmFkZGRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaApAQCAtNzg4LDYgKzc4OCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGp1c3RG
b2N1c2VkTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6
Ok5vZGUpOwogICAgIHZvaWQgYWRqdXN0Rm9jdXNOYXZpZ2F0aW9uTm9kZU9uTm9kZVJlbW92YWwo
Tm9kZSYsIE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogCisgICAgYm9vbCBpc0F1
dG9mb2N1c1Byb2Nlc3NlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQ7
IH0KKyAgICB2b2lkIGFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZShFbGVtZW50Jik7CisgICAgdm9p
ZCBmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKwogICAgIHZvaWQgaG92ZXJlZEVsZW1lbnRE
aWREZXRhY2goRWxlbWVudCYpOwogICAgIHZvaWQgZWxlbWVudEluQWN0aXZlQ2hhaW5EaWREZXRh
Y2goRWxlbWVudCYpOwogCkBAIC0xODAxLDYgKzE4MDUsOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6
dW5pcXVlX3B0cjxET01JbXBsZW1lbnRhdGlvbj4gbV9pbXBsZW1lbnRhdGlvbjsKIAogICAgIFJl
ZlB0cjxOb2RlPiBtX2ZvY3VzTmF2aWdhdGlvblN0YXJ0aW5nTm9kZTsKKyAgICBMaXN0SGFzaFNl
dDxSZWY8RWxlbWVudD4+IG1fYXV0b2ZvY3VzQ2FuZGlkYXRlczsKKyAgICBib29sIG1faXNBdXRv
Zm9jdXNQcm9jZXNzZWQgeyBmYWxzZSB9OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2ZvY3VzZWRF
bGVtZW50OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2hvdmVyZWRFbGVtZW50OwogICAgIFJlZlB0
cjxFbGVtZW50PiBtX2FjdGl2ZUVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOTk4
YjBhMWI1NzYwYjBiMWYzMTcyMTUwOTEzNDhlMTliZDUzN2FiZS4uNjE2MGE4YzVhMWM4NjQ5MmRh
ZDM1MTJlZTIwMjg1ZTAwMzNkN2VlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzE3Myw2
ICszMTczLDExIEBAIHZvaWQgRWxlbWVudDo6Ymx1cigpCiAgICAgfQogfQogCit2b2lkIEVsZW1l
bnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKQoreworICAgIGZvY3VzKCk7Cit9CisK
IHZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZl
bnRUeXBlLCBSZWZQdHI8RWxlbWVudD4mJiBvbGRGb2N1c2VkRWxlbWVudCkKIHsKICAgICBSRUxF
QVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKFNjcmlwdERpc2FsbG93ZWRTY29w
ZTo6SW5NYWluVGhyZWFkOjppc1NjcmlwdEFsbG93ZWQoKSB8fCAhaXNJbldlYlByb2Nlc3MoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaAppbmRleCA0NjdhMzU1Y2ExMzg3M2ZmNTgwYjNjMTUwYTIyMWNhODAy
ZWNhNzU0Li5iMGY4NmM4ZjFhODE5MjBmYzBkZTY2OThlZjZiNDY4NGEwYWVkNTA1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKQEAgLTQwNiw2ICs0MDYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZWZQ
dHI8RWxlbWVudD4gZm9jdXNBcHBlYXJhbmNlVXBkYXRlVGFyZ2V0KCk7CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZShTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGUsIFNlbGVj
dGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwpOwogICAgIHZpcnR1
YWwgdm9pZCBibHVyKCk7CisgICAgdmlydHVhbCB2b2lkIHJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRv
Zm9jdXMoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBpbm5lckhUTUwoKSBjb25zdDsK
ICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgb3V0ZXJIVE1MKCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCA5YjI2OTc2YTYw
MzRhODA1ZmYwOWRhNjQ0ZjU2YzExZWQ5ZmRhMWJjLi5jMTZjZmJjZGEyNTZmZjU0NTk2YTA4MTM5
MjAzYjQzYTdhNGE2OGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250
cm9sRWxlbWVudC5jcHAKQEAgLTIwOSw3ICsyMDksNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBdXRv
Zm9jdXMoY29uc3QgSFRNTEZvcm1Db250cm9sRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgYXV0byYgZG9jdW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7Ci0g
ICAgaWYgKCFlbGVtZW50LmlzQ29ubmVjdGVkKCkgfHwgIWRvY3VtZW50LnJlbmRlclZpZXcoKSkK
KyAgICBpZiAoIWVsZW1lbnQuaXNDb25uZWN0ZWQoKSB8fCAhZG9jdW1lbnQuaGFzQnJvd3NpbmdD
b250ZXh0KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZG9jdW1lbnQuaXNTYW5k
Ym94ZWQoU2FuZGJveEF1dG9tYXRpY0ZlYXR1cmVzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9u
IHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3Rz
LgpAQCAtMjI0LDggKzIyNCw3IEBAIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1cyhjb25zdCBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50JiBlbGVtZW50KQogICAgIGlmIChlbGVtZW50Lmhhc0F1dG9m
b2N1c2VkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIC8vIEZJWE1FOiBTaG91bGQg
dGhpcyBzZXQgb2YgaGFzVGFnTmFtZSBjaGVja3MgYmUgcmVwbGFjZWQgYnkgYQotICAgIC8vIHZp
cnR1YWwgbWVtYmVyIGZ1bmN0aW9uPworICAgIC8vIEZJWE1FOiBhdXRvZm9jdXMgaXMgYSBnbG9i
YWwgYXR0cmlidXRlLgogICAgIGlmIChpczxIVE1MSW5wdXRFbGVtZW50PihlbGVtZW50KSkKICAg
ICAgICAgcmV0dXJuICFkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PihlbGVtZW50KS5pc0lucHV0
VHlwZUhpZGRlbigpOwogICAgIGlmIChlbGVtZW50Lmhhc1RhZ05hbWUoc2VsZWN0VGFnKSkKQEAg
LTI0NywyMiArMjQ2LDYgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaWRBdHRhY2hS
ZW5kZXJlcnMoKQogICAgIC8vIG9uIHRoZSByZW5kZXJlci4KICAgICBpZiAocmVuZGVyZXIoKSkK
ICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKLQotICAgIGlmIChzaG91
bGRBdXRvZm9jdXMoKnRoaXMpKSB7Ci0gICAgICAgIHNldEF1dG9mb2N1c2VkKCk7Ci0KLSAgICAg
ICAgUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+IGVsZW1lbnQgPSB0aGlzOwotICAgICAg
ICBSZWZQdHIgZnJhbWVWaWV3ID0gZG9jdW1lbnQoKS52aWV3KCk7Ci0gICAgICAgIGlmIChmcmFt
ZVZpZXcgJiYgZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNJbkxheW91dCgpKSB7Ci0gICAg
ICAgICAgICBmcmFtZVZpZXctPnF1ZXVlUG9zdExheW91dENhbGxiYWNrKFtlbGVtZW50XSB7Ci0g
ICAgICAgICAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6
OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBTdHlsZTo6ZGVwcmVjYXRlZFF1ZXVlUG9zdFJlc29sdXRpb25DYWxsYmFj
ayhbZWxlbWVudF0gewotICAgICAgICAgICAgICAgIGVsZW1lbnQtPmZvY3VzKHsgU2VsZWN0aW9u
UmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFydCB9KTsKLSAgICAgICAgICAgIH0pOwot
ICAgICAgICB9Ci0gICAgfQogfQogCiB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpZE1v
dmVUb05ld0RvY3VtZW50KERvY3VtZW50JiBvbGREb2N1bWVudCwgRG9jdW1lbnQmIG5ld0RvY3Vt
ZW50KQpAQCAtMzAxLDYgKzI4NCwxMiBAQCBOb2RlOjpJbnNlcnRlZEludG9BbmNlc3RvclJlc3Vs
dCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihJbgogICAgICAg
ICBzZXRBbmNlc3RvckRpc2FibGVkKGNvbXB1dGVJc0Rpc2FibGVkQnlGaWVsZHNldEFuY2VzdG9y
KCkpOwogICAgIEhUTUxFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBl
LCBwYXJlbnRPZkluc2VydGVkVHJlZSk7CiAgICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjppbnNl
cnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7CisK
KyAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKCp0aGlzKSkgeworICAgICAgICBpZiAoUmVmIHRvcERv
Y3VtZW50ID0gZG9jdW1lbnQoKS50b3BEb2N1bWVudCgpOyAhdG9wRG9jdW1lbnQtPmlzQXV0b2Zv
Y3VzUHJvY2Vzc2VkKCkpCisgICAgICAgICAgICB0b3BEb2N1bWVudC0+YXBwZW5kQXV0b2ZvY3Vz
Q2FuZGlkYXRlKCp0aGlzKTsKKyAgICB9CisKICAgICByZXR1cm4gSW5zZXJ0ZWRJbnRvQW5jZXN0
b3JSZXN1bHQ6Ok5lZWRzUG9zdEluc2VydGlvbkNhbGxiYWNrOwogfQogCkBAIC0zOTYsNiArMzg1
LDExIEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNv
bnN0CiAjZW5kaWYKIH0KIAordm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpydW5Gb2N1c2lu
Z1N0ZXBzRm9yQXV0b2ZvY3VzKCkKK3sKKyAgICBmb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9u
TW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7Cit9CisKIGJvb2wgSFRNTEZvcm1Db250cm9sRWxl
bWVudDo6bWF0Y2hlc1ZhbGlkUHNldWRvQ2xhc3MoKSBjb25zdAogewogICAgIHJldHVybiB3aWxs
VmFsaWRhdGUoKSAmJiBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4IDI1ZTM0NTAwZWFhYTYwYWNm
Zjk5NTRjNGZhYmUzNTc1NDVmZTI5MTUuLjU0NjM2ODc0ZDJiMjc5MTJmMWViNDRkMmQ4ZDYzZWZl
NjdiMTU4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5oCkBAIC0xNzAsNiArMTcwLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlZkZvcm1Bc3NvY2lh
dGVkRWxlbWVudCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0KICAgICB2b2lkIGRlcmVmRm9ybUFzc29j
aWF0ZWRFbGVtZW50KCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CiAKKyAgICB2b2lkIHJ1bkZvY3Vz
aW5nU3RlcHNGb3JBdXRvZm9jdXMoKSBmaW5hbDsKKwogICAgIGJvb2wgbWF0Y2hlc1ZhbGlkUHNl
dWRvQ2xhc3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIG1hdGNoZXNJbnZhbGlkUHNldWRv
Q2xhc3MoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggODg1MzNiM2Qy
YjM3MTgyZTE2MDUyZmVkMTI5MzY4YTQ2ZTQyMjlhZi4uZDdiYmM0Y2JkNjgwMzc1YzRlYTk4NWUy
NmU3YWJkY2JiMGM2ZTBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xNTYwLDcgKzE1NjAsMTAg
QEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5kZXJpbmcoKQogICAgICAgICBmb3JFYWNoRG9jdW1lbnQo
cGVyRG9jdW1lbnRGdW5jdGlvbik7CiAgICAgfTsKIAotICAgIC8vIEZJWE1FOiBGbHVzaCBhdXRv
Zm9jdXMgY2FuZGlkYXRlcy4KKyAgICBydW5Qcm9jZXNzaW5nU3RlcChSZW5kZXJpbmdVcGRhdGVT
dGVwOjpGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMsIFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsK
KyAgICAgICAgaWYgKGRvY3VtZW50LmlzVG9wRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpOworICAgIH0pOwogCiAgICAgcnVuUHJvY2Vz
c2luZ1N0ZXAoUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVzaXplLCBbXSAoRG9jdW1lbnQmIGRvY3Vt
ZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnJ1blJlc2l6ZVN0ZXBzKCk7CkBAIC0zNjA1LDYgKzM2
MDgsNyBAQCBTcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb24mIFBhZ2U6OnNwZWVjaFJlY29nbml0
aW9uQ29ubmVjdGlvbigpCiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3Ry
ZWFtJiB0cywgUmVuZGVyaW5nVXBkYXRlU3RlcCBzdGVwKQogewogICAgIHN3aXRjaCAoc3RlcCkg
eworICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVz
OiB0cyA8PCAiRmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzIjsgYnJlYWs7CiAgICAgY2FzZSBSZW5k
ZXJpbmdVcGRhdGVTdGVwOjpSZXNpemU6IHRzIDw8ICJSZXNpemUiOyBicmVhazsKICAgICBjYXNl
IFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlNjcm9sbDogdHMgPDwgIlNjcm9sbCI7IGJyZWFrOwogICAg
IGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6TWVkaWFRdWVyeUV2YWx1YXRpb246IHRzIDw8ICJN
ZWRpYVF1ZXJ5RXZhbHVhdGlvbiI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5NGY4YjhkYTky
MDY5NjM3ODhjNTE2MTY1M2U1MDVjY2MwMDUzODM5Li5iNTNmNjhlNjMwZTMyMmU5NzQ0YTRiZmJj
OTA3YjllZWFlMmU1MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjA4LDkgKzIwOCwxMSBAQCBlbnVt
IGNsYXNzIFJlbmRlcmluZ1VwZGF0ZVN0ZXAgOiB1aW50MTZfdCB7CiAjaWYgRU5BQkxFKEFTWU5D
X1NDUk9MTElORykKICAgICBTY3JvbGxpbmdUcmVlVXBkYXRlICAgICAgICAgICAgID0gMSA8PCAx
MywKICNlbmRpZgorICAgIEZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyAgICAgICAgPSAxIDw8IDE0
LAogfTsKIAogY29uc3RleHByIE9wdGlvblNldDxSZW5kZXJpbmdVcGRhdGVTdGVwPiB1cGRhdGVS
ZW5kZXJpbmdTdGVwcyA9IHsKKyAgICBSZW5kZXJpbmdVcGRhdGVTdGVwOjpGbHVzaEF1dG9mb2N1
c0NhbmRpZGF0ZXMsCiAgICAgUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVzaXplLAogICAgIFJlbmRl
cmluZ1VwZGF0ZVN0ZXA6OlNjcm9sbCwKICAgICBSZW5kZXJpbmdVcGRhdGVTdGVwOjpNZWRpYVF1
ZXJ5RXZhbHVhdGlvbiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNTI3ZDk1ZWY2OTgzNWE4OTNiY2UzMWFlYmFlZDE3NTA0
MWUyYzRhLi45YmRlMmQ0MmU2YzI2ZTQ0ODA1ZGU2OWE4MWY3MWJhNDZjNWUyNWZiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMjEtMTAtMDUgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4K
KworICAgICAgICBJbXBsZW1lbnQgbmV3IGF1dG9mb2N1cyBiZWhhdmlvcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTM5CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NjM5NzAxOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIFdlYktpdCBtYXRjaCB0aGUgbmV3IGF1dG9mb2N1cyBzcGVjOgor
ICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2ludGVyYWN0
aW9uLmh0bWwjdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUKKyAgICAgICAgLSBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI2ZvY3VzaW5nLXN0ZXBz
CisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICog
ZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9m
b2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2F1dG9mb2N1cy1vcGVyYS0wMDIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVy
YS0wMDQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDUuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLWF1dG9mb2N1cy1yZW1vdmFsLXdoaWxlLWZv
Y3VzaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMt
cmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sOgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWw6CisKIDIwMjEtMTAtMDUg
IFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW5uZWNlc3Nh
cnkgYXV0b2ZvY3VzIGF0dHJpYnV0ZSBkZXBlbmRlbmNpZXMgaW4gdGVzdHMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IDA3ZGY5YWMzYzA5ZDU0NmUwMjNjZTVhNmE3MThlZDNiODUy
NzRkNzYuLmYxNWQyZmJhNjRmMTYwYzk5NDRjZjQ5YzZjYjBjY2UzMDdlNTkyZTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQt
ZW1wdHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJh
Z21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3Vt
ZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9m
aXJzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50
ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rp
b24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBl
Y3RlZC50eHQ6CisKIDIwMjEtMTAtMDUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KIAogICAgICAgICBUZXN0IGEgZm9udCBwYWxldHRlIGlkZW50aWZpZXIgb2YganVz
dCAiLS0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNo
LTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0y
LWV4cGVjdGVkLnR4dAppbmRleCBlYzk4MWVhYzFhZGJmYjRiZGRmYmNhYmRlMzVjNDE3Y2E2MTMx
MDk4Li4yOTVlOGRhZmQ3YWE0ZGI2ZDhiZWYyYmM2YjdlODFjMDc2OWNjNjg0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQK
QEAgLTEsMiArMSw0IEBACiBUZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8gYWRvcHRpbmcgYSBET00g
bm9kZSBkdXJpbmcgRE9NRm9jdXNPdXQgZXZlbnQuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3Qg
Y3Jhc2guCiAKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2Rl
LWNyYXNoLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5o
dG1sCmluZGV4IGY2OGQwMTdiYjMwN2ZkMjJhYTYzODgwNGNiZDY3NmYzNDAzYmE5NjYuLjg2YzY2
NmFjYzFmZDRkYTgxMTdlYjAyOGQ2NTA4NGNjYWIxYWM1MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sCkBAIC0zMiwxMSArMzIsMTMgQEAgZnVuY3Rp
b24gZG9pdCgpCiAgICAgZGl2MS5vdXRlckhUTUwgPSBoZWFkZXIxLm91dGVySFRNTDsKIH0KIHdp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAg
ICAgICAgaW50ZXJuYWxzLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1
blBvc3RMYXlvdXRUYXNrcygpOwotICAgIGVsc2UKLSAgICAgICAgZGl2Mi5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKLSAgICBzZXRUaW1lb3V0KCJkb2l0KCkiLCAxKTsKKyAgICByZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KGRvaXQsIDApOworICAgICAg
ICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSwgNTAp
OworICAgIH0pOwogfQogPC9zY3JpcHQ+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdp
dGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKaW5kZXggY2Y4NmZiNGM1ZWE2OTAzZWIwOGE3
MGUyNjRhMDI3ODliNjIwODc5NC4uNTBhY2ZiNjdkZjg5YjAxNTExNzU3ZjIzOTE1YjcwZjRhZmJj
N2Q5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2Fu
ZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVk
LnR4dApAQCAtMSwyICsxLDcgQEAKLUNPTlNPTEUgTUVTU0FHRTogSU5QVVQKLVRoaXMgdGVzdCBw
YXNzZXMgaWYgdGhlIGFjdGl2ZUVsZW1lbnQgaXMgdGhlIGlucHV0IGVsZW1lbnQgcmF0aGVyIHRo
YW4gdGhlIGJvZHkgKHdoaWNoIGl0IHdvdWxkIGJlIGlmIHRoZSBzYW5kYm94IGRpZG4ndCBhbGxv
dyBhdXRvZm9jdXMgYWx0aG91Z2ggYWxsb3ctc2NyaXB0cyBmbGFnIGlzIHNldCkuCitUaGlzIHRl
c3RzIGhhdmluZyBhbiBpbnB1dCBlbGVtZW50IHdpdGggYXV0b2ZvY3VzIGNvbnRlbnQgYXR0cmli
dXRlIGluc2lkZSBhIHNhbmRib3hlZCBpZnJhbWUuCitUaGUgaW5wdXQgZWxlbWVudCBzaG91bGQg
YmUgYXV0b2ZvY3VzZWQgc2luY2Ugc2NyaXB0cyBhcmUgYWxsb3dlZC4KKworLS0tLS0tLS0KK0Zy
YW1lOiAnPCEtLWZyYW1lMS0tPicKKy0tLS0tLS0tCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFs
bG93LXNjcmlwdHMuaHRtbAppbmRleCA0ZjIyMzg2OGZkN2U2ZjE4OWVjNTNmNzI2MmU3NmJkYjk4
NjdiYzVhLi44OWUzMmVmYTE5NjI4MGFjMzUxOWE1ZWZiYzZjZjI5NjFmN2IxMDNiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxs
b3ctc2NyaXB0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWlu
LXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwKQEAgLTEsOCArMSwyMSBAQAogPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVz
QXNUZXh0KCk7Cit9CiA8L3NjcmlwdD4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGFjdGl2ZUVs
ZW1lbnQgaXMgdGhlIGlucHV0IGVsZW1lbnQgcmF0aGVyIHRoYW4gdGhlIGJvZHkKLSh3aGljaCBp
dCB3b3VsZCBiZSBpZiB0aGUgc2FuZGJveCBkaWRuJ3QgYWxsb3cgYXV0b2ZvY3VzIGFsdGhvdWdo
IGFsbG93LXNjcmlwdHMgZmxhZyBpcyBzZXQpLgotPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3Jp
cHRzIGFsbG93LW1vZGFscyIKLSAgICBzcmM9ImRhdGE6dGV4dC9odG1sLDxpbnB1dCBhdXRvZm9j
dXMgb25mb2N1cz48c2NyaXB0PndpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsgY29uc29sZS5s
b2coZG9jdW1lbnQuYWN0aXZlRWxlbWVudC50YWdOYW1lKSB9PC9zY3JpcHQ+Ij48L2lmcmFtZT4K
K1RoaXMgdGVzdHMgaGF2aW5nIGFuIGlucHV0IGVsZW1lbnQgd2l0aCBhdXRvZm9jdXMgY29udGVu
dCBhdHRyaWJ1dGUgaW5zaWRlIGEgc2FuZGJveGVkIGlmcmFtZS48YnI+CitUaGUgaW5wdXQgZWxl
bWVudCBzaG91bGQgYmUgYXV0b2ZvY3VzZWQgc2luY2Ugc2NyaXB0cyBhcmUgYWxsb3dlZC4KKzxp
ZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIKKyAgICBzcmM9ImRhdGE6dGV4dC9odG1sLDxp
bnB1dCBpZD1pbnB1dCBhdXRvZm9jdXMgb25mb2N1cz48c2NyaXB0PgorICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2lu
ZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCgpID0+IHsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gaW5wdXQgPyAn
UEFTUycgOiAnRkFJTCcpOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAg
ICB9LCAwKTsKKyAgICAgICAgfSk7CisgICAgfTwvc2NyaXB0PiI+PC9pZnJhbWU+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sCmluZGV4IDc3MDcwZThkYjA2
YjU0YzliOTBmZTZkMzEwMjY4M2RhODU0YmMwY2MuLmNjZDBjYTU0M2QyMWNmODBiZjJjOWQ3OGQw
NzNjODc3Yjk5ZmE4NmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2Zv
Y3VzLWtleWdlbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtl
eWdlbi5odG1sCkBAIC02LDkgKzYsMTMgQEAKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
IAogZnVuY3Rpb24gb25Mb2FkKCkgewotICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVt
ZW50JywgJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImtleWdlbiIpJyk7Ci0gICAgc2hvdWxkQmUo
J2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYXV0b2ZvY3VzJywgJ3RydWUnKTsKLSAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBzZXRU
aW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVt
ZW50JywgJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImtleWdlbiIpJyk7CisgICAgICAgICAgICBz
aG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5hdXRvZm9jdXMnLCAndHJ1ZScpOworICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0sIDApOworICAgIH0pOwogfQogPC9z
Y3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwMS5odG1sCmluZGV4IDNiOTRlODhjMjA5MDdkMzE5YTA0ZDhlYjViNDE5OWMwNDI4YjZl
MGMuLjY1MGVjMDcwNTYyMmZjOGNmNTdhMDQ5ODhkNWI5ZjVjZDA2ZTY4YzIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sCkBAIC0xMSwxMyAr
MTEsMTkgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgaWYg
KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
ImlucHV0IilbMF0pCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgo
KSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBsb2co
IlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxV
UkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+
CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1v
cGVyYS0wMDIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAw
Mi5odG1sCmluZGV4IGZhNzBiNTdkNGJiMTBlODU5NDZhMTBkMDVjZDg2NzFlODVhMzg5NmMuLjI0
YWUyZDRmZjM5MWEyOWYyNWM4MWViNDk0YzY5YjE3NWVmOGRjYWEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCkBAIC0xMSwxMyArMTEsMjAg
QEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgaWYgKGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0
IilbMF0pCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7
CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NF
U1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSkKKwogICAgIH0KIDwvc2NyaXB0PgogPC9o
ZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEt
MDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRt
bAppbmRleCA5YWVhMjNlN2RhYTAyNGU0ZDIxODZkMWQzMWZhNTRhNTdmZDc5NjRjLi40YWQ3NzAx
N2I0N2ZhY2RmZmIwNjk4MGFlMjhkYTRkODQ0M2QwNTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbApAQCAtMTIsMTQgKzEyLDIwIEBACiAg
ICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgICAgICAgIH0KIAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSAmJgotICAgICAgICAgICAg
ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgIT0gMCkKLSAgICAgICAgICAgIGxv
ZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsK
KyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChk
b2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJp
bnB1dCIpWzBdICYmCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5z
Y3JvbGxUb3AgIT0gMCkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNC5odG1sCmluZGV4IDRhM2RmYzQ2
N2Q5OGJjYjAyMjMwMTM2YTkyN2E1NjI4OGQ0ZjllMGEuLjk4MGFjMDcwZmIwNTJlYWZiMjMxODdk
M2ZmNDNhOWJiNGMzZGUyZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0
b2ZvY3VzLW9wZXJhLTAwNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2Zv
Y3VzLW9wZXJhLTAwNC5odG1sCkBAIC0yMSw3ICsyMSw3IEBACiAgICAgICAgIGlucHV0LnNldEF0
dHJpYnV0ZSgnYXV0b2ZvY3VzJywnZmFsc2UnKTsKICAgICAgICAgcC5hcHBlbmRDaGlsZChpbnB1
dCk7CiAKLSAgICAgICAgc2V0VGltZW91dChjaGVjaywgMCk7CisgICAgICAgIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSgoKSA9PiBzZXRUaW1lb3V0KGNoZWNrLCAwKSk7CiAgICAgfQogICAgIAogICAg
IGZ1bmN0aW9uIGNoZWNrKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9h
dXRvZm9jdXMtb3BlcmEtMDA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1
cy1vcGVyYS0wMDUuaHRtbAppbmRleCA1MDk4YzBhZmRhYzliYzc5ZTk4NGI4OTQyNTg0NDYyNTIz
ODVlNTJlLi5lOGIwNDExMWQzNzk5Y2QyMzRjMDVmNGU1YzU1YTdhODNkMzAxOGJiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDUuaHRtbApAQCAtMjEs
OCArMjEsOCBAQAogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgfQotICAgICAgICAKLSAg
ICAgICAgc2V0VGltZW91dChjaGVjaywgMCk7CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCgpID0+IHNldFRpbWVvdXQoY2hlY2ssIDApKTsKICAgICB9CiAgICAgCiAgICAgZnVuY3Rp
b24gY2hlY2soKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1
cy1vcGVyYS0wMDYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJh
LTAwNi5odG1sCmluZGV4IDNkYTM5MzQ2OTg4YmYzMGZjYzQ4YmNhMDYxOTMxNWY0NjUxMzVjNjku
LjlkNzdkOWMwMzhjYzFlNjJiMTZlOGZiN2Y1Mzg5MGRiMjU3ZjdhNWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sCkBAIC0xMSwyMyArMTEs
MzAgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgo
KSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGVzdCIpKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKIAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0
aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpKQotICAgICAgICAg
ICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVS
RSIpOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgog
PHA+QWxsIGZvcm0gY29udHJvbHMgYmVsb3cgc2hvdWxkIGhhdmUgYSBncmVlbiBiYWNrZ3JvdW5k
OjwvcD4KLTxwPjxpbnB1dCBhdXRvZm9jdXM+Cis8cD48aW5wdXQgYXV0b2ZvY3VzIGlkPSJ0ZXN0
Ij4KIDxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8cD48aW5wdXQgYXV0b2ZvY3VzPgogPHA+PGlucHV0
PgotPHA+PGlucHV0IGF1dG9mb2N1cyBpZD0idGVzdCI+Cis8cD48aW5wdXQgYXV0b2ZvY3VzPgog
PHA+PGlucHV0PgogPGhyLz4KIDxvbCBpZD0iY29uc29sZSI+PC9vbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKaW5kZXggMTEyNWI1YjNkOWYx
ZmVhMzQzODEyZmE2YmRhMzYyZTgxZjY3OGJlMy4uMDY2MGE4MGQxMWVhYTQwMjg5ODM2M2Y2OTEw
NDRkZTk4YzE5OTM4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9j
dXMtb3BlcmEtMDA3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
b3BlcmEtMDA3Lmh0bWwKQEAgLTE3LDEzICsxNywxOSBAQAogICAgIH0KICAgICAKICAgICBmdW5j
dGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQog
Ci0gICAgICAgIGlmIChnb3RCbHVyKQotICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICByZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGdvdEJsdXIpCisgICAgICAgICAg
ICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
bG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOwogICAgIH0K
IDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9j
aGFuZ2UtaW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbAppbmRleCBiN2Ex
ZDhjOWY4NTk4ZWUwMmEzYTY3NmYwZGY4ZThhZmU0NGIyODY1Li5lNDJmMjMyZWI4MmIxODEyMjc1
OTUwYjA0ODQ1ZDVmM2ZkYTY5ZDZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbApAQCAt
MTAsMTYgKzEwLDI1IEBACiBmdW5jdGlvbiBmb2N1c2VkKCkgewogICAgIGlmIChpbnB1dC5hdXRv
Zm9jdXMpIHsKICAgICAgICAgaW5wdXQudHlwZSA9ICJjaGVja2JveCI7Ci0gICAgICAgIGRvY3Vt
ZW50LmJvZHkuaW5uZXJIVE1MID0gIjxjb2RlIHN0eWxlPSdjb2xvcjogZ3JlZW4nPlBBU1M8L2Nv
ZGU+IjsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiRkFJTCAtIGZvY3VzIGV2
ZW50IGhhbmRsZXIgY2FsbGVkIjsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKICAgICBpbnB1dC5hdXRv
Zm9jdXMgPSB0cnVlOworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAg
IGRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRv
Y3VtZW50LmJvZHkgPyAiUEFTUyIgOiAiRkFJTCI7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOwogfQog
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
K30KIAogaW5wdXQuZm9jdXMoKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90ZXh0YXJlYS90ZXh0YXJlYS1hdXRvZm9jdXMtcmVtb3ZhbC13aGlsZS1mb2N1
c2luZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS90ZXh0YXJlYS1hdXRv
Zm9jdXMtcmVtb3ZhbC13aGlsZS1mb2N1c2luZy5odG1sCmluZGV4IGM1OTVhOTI0M2UzODcwOGI5
ZWMzNmE5ZDc3MzBjY2IxMDg5NGU4NmMuLjNiMWYzNjdlMjg3NzM4NDNhNjM4MzNiMWUzNGE0MGRl
NTgyOWMxZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEvdGV4
dGFyZWEtYXV0b2ZvY3VzLXJlbW92YWwtd2hpbGUtZm9jdXNpbmcuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLWF1dG9mb2N1cy1yZW1vdmFsLXdoaWxl
LWZvY3VzaW5nLmh0bWwKQEAgLTIsMTYgKzIsMjUgQEAKIDxodG1sPgogPGJvZHk+CiA8c2NyaXB0
PgotdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci10ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LXZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7CisKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCitjb25zdCB0ZXh0YXJlYSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7CiB0ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoImF1
dG9mb2N1cyIsICIiKTsKIHRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUZvY3VzSW4iLCBm
dW5jdGlvbiAoKSB7IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUwgPSAiIjsgfSwg
ZmFsc2UpOwogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKHRleHRhcmVhKTsK
LXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgIGRvY3VtZW50LmJvZHkuaW5uZXJI
VE1MID0gIlBBU1MgdW5sZXNzIGNyYXNoLiI7Ci0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci19LCAwKTsKKworcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICBzZXRUaW1lb3V0
KCgpID0+IHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiUEFTUyB1bmxlc3Mg
Y3Jhc2guIjsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSwgMCk7Cit9KTsKKwogPC9zY3JpcHQ+CiA8L2Jv
ZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9jcmFzaC13
aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0
bWwKaW5kZXggNmY1YTJlOTE5ZWRmOWE5NjNiYThmN2VkZTRlOTA2NjIxNTBiZjZmZC4uYjYwOGY5
MmRiYjFmMzU5OWZmYTlmYmY3MTQ2MTA1NjQ3NmU4MjBjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlz
LXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbApAQCAtNiwxOCArNiwyOCBAQCBQQVNTIGlmIG5v
IGNyYXNoLgogPHNwYW4gaWQ9d3JhcHBlcj48L3NwYW4+CiA8dGV4dGFyZWEgaWQ9dGV4dGFyZWEg
b25mb2N1cz0iZXZlbnRoYW5kbGVyKCkiPjwvdGV4dGFyZWE+CiA8c2NyaXB0PgotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKIGRvY3Vt
ZW50Lm9mZnNldEhlaWdodDsKIHRleHRhcmVhLmF1dG9mb2N1cyA9IHRydWU7CiB2YXIgaWZyYW1l
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CiBzcGFuLmFwcGVuZENoaWxkKGlm
cmFtZSk7CiB3cmFwcGVyLmFwcGVuZENoaWxkKHRleHRhcmVhKTsKK3JlcXVlc3RBbmltYXRpb25G
cmFtZSgoKSA9PiB7CisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0s
IDApOworfSk7CiBpZnJhbWUuY29udGVudERvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsK
IAogZnVuY3Rpb24gZXZlbnRoYW5kbGVyKCkgewogICAgIHRleHRhcmVhLmluc2VydEFkamFjZW50
RWxlbWVudCgiYmVmb3JlQmVnaW4iLCBzcGFuKTsKIH0KKwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1l
eGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbAppbmRleCA2
M2NmOGEyMjE5OGQ3MDlmM2ZhOThhZjU1OTcxMzkzODkwMjU1ZGEyLi41NmQ4Nzg3MDY0YmUzZmY4
NzI5NmU4MDAwMGJkMzk5NjEyNzNiMWNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvcGFnZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmlu
Zy1yZXN0b3JlLmh0bWwKQEAgLTE2LDggKzE2LDEyIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogfQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCAoZXZlbnQpID0+IHsK
LSAgICBpZiAoZXZlbnQucGVyc2lzdGVkKQorICAgIGlmIChldmVudC5wZXJzaXN0ZWQpIHsKKyAg
ICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIHNldFRpbWVv
dXQoZmluaXNoLCAwKTsKKyAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDApOwog
fSk7CkBAIC0yOSw4ICszMywxMyBAQCBmdW5jdGlvbiBydW5UZXN0KCkKICAgICBsb2NhdGlvbi5o
cmVmID0gJ3Jlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sJzsKIH0KIAorbGV0IGRpZEZp
bmlzaCA9IGZhbHNlOwogZnVuY3Rpb24gZmluaXNoKCkKIHsKKyAgICBpZiAoZGlkRmluaXNoKQor
ICAgICAgICByZXR1cm47CisKKyAgICBkaWRGaW5pc2ggPSB0cnVlOwogICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdyZXN1bHQnKS50ZXh0Q29udGVudCA9ICdQQVNTJzsKICAgICBzZXRUaW1l
b3V0KCgpID0+IHsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQt
ZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2Rv
Y3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0CmluZGV4IGE0NTJkNTNlZGJh
NjM1ODdkOWMyZWJkYzZmNmE1MGQ1M2ZlNGVmZTUuLmQ0MTkyOWY5YjdkZjdiMThkNjAyZGFkNDYw
OGJlZmUwNzE1ZmNhMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJp
YnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0
eS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVu
dHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsu
IGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBFbGVtZW50IG5vZGUgPGlu
cHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZy
YW1lZCBkb2N1bWVudHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiBQQVNTIEF1
dG9mb2N1cyBlbGVtZW50cyBpbiB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCdzIGRvY3VtZW50
cyB3aXRoIGVtcHR5IGZyYWdtZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhp
c3RlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2Rv
Y3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDJiMWU1
N2Q2MjgyOTU2OTE4ZDI3MjE1NTVkMDRkNTgwMmFiN2RmNmQuLjhkZDZiNGM3NzBjZTlhYTVjYzI5
YmZjODVjY2U0MmQ1ZGNlZTg3ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3Vz
LWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1m
cmFnbWVudC1ub25leGlzdGVudC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJ
TCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBub24tZXhpc3Rl
bnQgZnJhZ21lbnRzIHNob3VsZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1Mg
QXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50
IGZyYWdtZW50cyBzaG91bGQgd29yay4KIFBBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1s
ZXZlbCBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdt
ZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMt
YXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9m
b2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1l
eHBlY3RlZC50eHQKaW5kZXggMDM3NDEwOWEzMGM2MjRkYmQ5NGQ4NzkxM2I0ZTMzOGVlOTE5OTNl
Zi4uOGJhNTBhNTFhM2RhZDU3MGQ0OTI3NzQ5OTk3MmQ1OTRkNWRmZWI5OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQt
dG9wLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
ZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3AtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAog
CiAKLUZBSUwgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRv
cCIgZnJhZ21lbnRzIHNob3VsZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93
ZWQgdmFsdWUgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1Mg
QXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21l
bnRzIHNob3VsZCB3b3JrLgogUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gdG9wLWxldmVsIGJy
b3dzaW5nIGNvbnRleHQncyBkb2N1bWVudHMgd2l0aCAidG9wIiBmcmFnbWVudHMgc2hvdWxkIHdv
cmsuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJz
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qt
ZXhwZWN0ZWQudHh0CmluZGV4IDk4NzMyN2IxYTdiOWJiNmFhMWYyYjZiNDQwNjM3NzEwYmU4ZjAw
NmUuLmNlOTI2NzY3ZjMwNDJkZTIyOTgwNDAzM2QyZWZlNTU1ZWFkNjUyZDMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFj
dGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0
aGUgZG9jdW1lbnQgc2hvdWxkIHdpbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBu
b2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlu
cHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1l
bnQgaW4gdGhlIGRvY3VtZW50IHNob3VsZCB3aW4uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90
aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlv
bi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVk
LnR4dAppbmRleCBmZTAyMTE4YTM0OWEzYWNjOWY4Y2FlZDg5MTc4MWYwMWMyODgxNDVmLi41ZjRj
MzE1YzY4NzhlM2M2OGI3YWQyZjhjOWNhMjk2MTFlZmQ1YzlmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9mb2N1
cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0
ZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3Vz
PSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9p
bnB1dD4KK1BBU1MgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZl
biBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1
cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRl
cmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxl
LWV4cGVjdGVkLnR4dAppbmRleCAzM2Q4MzA4N2UxOGY2ZDlkOWIyZmFmNDUyYTNlZGJlOTYwNzNi
MTVkLi5hNTg0OWQ2MjIzNTMxOGNiODhhMzFhZjRhMmQ5NGY3YzcxMTgxMDUwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJh
Y3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVl
LW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgSWYg
dGhlIGZpcnN0IGF1dG9mb2N1cyBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUsIGJ1dCBiZWNvbWVz
IGZvY3VzYWJsZSBiZWZvcmUgYSBmcmFtZSwgaXQgc2hvdWxkIGJlIGZvY3VzZWQuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8dGV4dGFyZWEgYXV0b2ZvY3VzPSIiPjwvdGV4
dGFyZWE+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzZWxlY3QgYXV0b2ZvY3VzPSIiPjwvc2VsZWN0
PgorUEFTUyBJZiB0aGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSwg
YnV0IGJlY29tZXMgZm9jdXNhYmxlIGJlZm9yZSBhIGZyYW1lLCBpdCBzaG91bGQgYmUgZm9jdXNl
ZC4KIAo=
</data>
<flag name="commit-queue"
          id="464044"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440204</attachid>
            <date>2021-10-05 05:54:15 -0700</date>
            <delta_ts>2021-10-05 07:42:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211005145414.patch</filename>
            <type>text/plain</type>
            <size>38890</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU0ZTQxMTQ4NTcxYjNk
YWM3YTIxZWQ0NGRmNDA2MDQwNmI5OWYwMC4uNjFiOTNiZmVlZjRkYzM0YjQ0MmQ4YmYyODBjODY4
OGFiMWNjMTY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMpOgorICAgICAgICAqIGRvbS9E
b2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzQXV0b2ZvY3VzUHJvY2Vz
c2VkIGNvbnN0KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKToKKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpzaG91bGRBdXRvZm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEZvcm1Db250cm9sRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JB
dXRvZm9jdXMpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oOgorICAg
ICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVSZW5k
ZXJpbmcpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCiAyMDIxLTEwLTA1ICBUaW0gTmd1eWVu
ICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVwbGFjZSBkb2N1bWVudC50b3BEb2N1bWVu
dCgpLnNlY3VyaXR5T3JpZ2luKCkgd2l0aCBkb2N1bWVudC50b3BPcmlnaW4oKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKaW5kZXggOGJkZjIyMDkwNmIwY2ViYTM5M2RhOWYyZDNiZTNmZTZkYmVjZGNj
Yy4uMjhhNDY2MDk3NTEzODA4ZjYyOTYzYjZjNGJiMTJiYzU3OTAxMGNiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCkBAIC00NDc0LDYgKzQ0NzQsMzYgQEAgdm9pZCBEb2N1bWVudDo6YWRqdXN0
Rm9jdXNlZE5vZGVPbk5vZGVSZW1vdmFsKE5vZGUmIG5vZGUsIE5vZGVSZW1vdmFsIG5vZGVSZW1v
dmEKICAgICB9CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OmFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZShF
bGVtZW50JiBjYW5kaWRhdGUpCit7CisgICAgQVNTRVJUKGlzVG9wRG9jdW1lbnQoKSk7CisgICAg
QVNTRVJUKCFtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkKTsKKyAgICBtX2F1dG9mb2N1c0NhbmRpZGF0
ZXMuYXBwZW5kT3JNb3ZlVG9MYXN0KGNhbmRpZGF0ZSk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OmZs
dXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpCit7CisgICAgQVNTRVJUKGlzVG9wRG9jdW1lbnQoKSk7
CisgICAgaWYgKG1faXNBdXRvZm9jdXNQcm9jZXNzZWQpCisgICAgICAgIHJldHVybjsKKworICAg
IGZvciAoOyAhbV9hdXRvZm9jdXNDYW5kaWRhdGVzLmlzRW1wdHkoKTsgbV9hdXRvZm9jdXNDYW5k
aWRhdGVzLnJlbW92ZUZpcnN0KCkpIHsKKyAgICAgICAgUmVmIGVsZW1lbnQgPSBtX2F1dG9mb2N1
c0NhbmRpZGF0ZXMuZmlyc3QoKTsKKyAgICAgICAgaWYgKCFlbGVtZW50LT5kb2N1bWVudCgpLmlz
RnVsbHlBY3RpdmUoKSB8fCAmZWxlbWVudC0+ZG9jdW1lbnQoKS50b3BEb2N1bWVudCgpICE9IHRo
aXMpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKGF1dG8qIHBhcnNlciA9IHNj
cmlwdGFibGVEb2N1bWVudFBhcnNlcigpOyBwYXJzZXIgJiYgcGFyc2VyLT5oYXNTY3JpcHRzV2Fp
dGluZ0ZvclN0eWxlc2hlZXRzKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgLy8gRklY
TUU6IE5lZWQgdG8gaWdub3JlIGlmIHRoZSBpbmNsdXNpdmUgYW5jZXN0b3IgZG9jdW1lbnRzIGhh
cyBhIHRhcmdldCBlbGVtZW50LgorICAgICAgICAvLyBGSVhNRTogVXNlIHRoZSByZXN1bHQgb2Yg
Z2V0dGluZyB0aGUgZm9jdXNhYmxlIGFyZWEgZm9yIGVsZW1lbnQgaWYgZWxlbWVudCBpcyBub3Qg
Zm9jdXNhYmxlLgorICAgICAgICBpZiAoZWxlbWVudC0+aXNGb2N1c2FibGUoKSkgeworICAgICAg
ICAgICAgbV9hdXRvZm9jdXNDYW5kaWRhdGVzLmNsZWFyKCk7CisgICAgICAgICAgICBtX2lzQXV0
b2ZvY3VzUHJvY2Vzc2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIGVsZW1lbnQtPnJ1bkZvY3VzaW5n
U3RlcHNGb3JBdXRvZm9jdXMoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0KK30KKwogdm9pZCBEb2N1bWVudDo6aG92ZXJlZEVsZW1lbnREaWREZXRhY2goRWxlbWVudCYg
ZWxlbWVudCkKIHsKICAgICBpZiAoIW1faG92ZXJlZEVsZW1lbnQgfHwgJmVsZW1lbnQgIT0gbV9o
b3ZlcmVkRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMzg2ZTM3ODI4MDg4ZjNmZDFl
YTdiZmM4MDY4MmU5NWE4NTA4OTAwNi4uZGQ3NjY3ODE3NzlmOGJhMGEyNTkyNzI1MzZlYjVkNmMz
NGZhZGRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTc4OCw2ICs3ODgsMTAgQEAgcHVibGlj
OgogICAgIHZvaWQgYWRqdXN0Rm9jdXNlZE5vZGVPbk5vZGVSZW1vdmFsKE5vZGUmLCBOb2RlUmVt
b3ZhbCA9IE5vZGVSZW1vdmFsOjpOb2RlKTsKICAgICB2b2lkIGFkanVzdEZvY3VzTmF2aWdhdGlv
bk5vZGVPbk5vZGVSZW1vdmFsKE5vZGUmLCBOb2RlUmVtb3ZhbCA9IE5vZGVSZW1vdmFsOjpOb2Rl
KTsKIAorICAgIGJvb2wgaXNBdXRvZm9jdXNQcm9jZXNzZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
QXV0b2ZvY3VzUHJvY2Vzc2VkOyB9CisgICAgdm9pZCBhcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUo
RWxlbWVudCYpOworICAgIHZvaWQgZmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CisKICAgICB2
b2lkIGhvdmVyZWRFbGVtZW50RGlkRGV0YWNoKEVsZW1lbnQmKTsKICAgICB2b2lkIGVsZW1lbnRJ
bkFjdGl2ZUNoYWluRGlkRGV0YWNoKEVsZW1lbnQmKTsKIApAQCAtMTgwMSw2ICsxODA1LDggQEAg
cHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NSW1wbGVtZW50YXRpb24+IG1faW1wbGVt
ZW50YXRpb247CiAKICAgICBSZWZQdHI8Tm9kZT4gbV9mb2N1c05hdmlnYXRpb25TdGFydGluZ05v
ZGU7CisgICAgTGlzdEhhc2hTZXQ8UmVmPEVsZW1lbnQ+PiBtX2F1dG9mb2N1c0NhbmRpZGF0ZXM7
CisgICAgYm9vbCBtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkIHsgZmFsc2UgfTsKICAgICBSZWZQdHI8
RWxlbWVudD4gbV9mb2N1c2VkRWxlbWVudDsKICAgICBSZWZQdHI8RWxlbWVudD4gbV9ob3ZlcmVk
RWxlbWVudDsKICAgICBSZWZQdHI8RWxlbWVudD4gbV9hY3RpdmVFbGVtZW50OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwCmluZGV4IGVhZDcyNjdhNjllNzdmMDk4OWVlYTE3ZWQ0Y2UzMjNmNThhNGY1YzYu
LjJmMmUwMjUyY2VlYTljM2I4NzUwNmFlYjAxZGY0YzhiYWQyN2ViNWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKQEAgLTMxNzMsNiArMzE3MywxMSBAQCB2b2lkIEVsZW1lbnQ6OmJsdXIoKQogICAg
IH0KIH0KIAordm9pZCBFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCkKK3sK
KyAgICBmb2N1cygpOworfQorCiB2b2lkIEVsZW1lbnQ6OmRpc3BhdGNoRm9jdXNJbkV2ZW50KGNv
bnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPEVsZW1lbnQ+JiYgb2xkRm9jdXNlZEVs
ZW1lbnQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihT
Y3JpcHREaXNhbGxvd2VkU2NvcGU6OkluTWFpblRocmVhZDo6aXNTY3JpcHRBbGxvd2VkKCkgfHwg
IWlzSW5XZWJQcm9jZXNzKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNDY3YTM1NWNhMTM4NzNm
ZjU4MGIzYzE1MGEyMjFjYTgwMmVjYTc1NC4uYjBmODZjOGYxYTgxOTIwZmMwZGU2Njk4ZWY2YjQ2
ODRhMGFlZDUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC00MDYsNiArNDA2LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgUmVmUHRyPEVsZW1lbnQ+IGZvY3VzQXBwZWFyYW5jZVVwZGF0ZVRhcmdl
dCgpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVGb2N1c0FwcGVhcmFuY2UoU2VsZWN0aW9uUmVz
dG9yYXRpb25Nb2RlLCBTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6
UmV2ZWFsKTsKICAgICB2aXJ0dWFsIHZvaWQgYmx1cigpOworICAgIHZpcnR1YWwgdm9pZCBydW5G
b2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
aW5uZXJIVE1MKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIG91dGVySFRNTCgp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAKaW5kZXggOWIyNjk3NmE2MDM0YTgwNWZmMDlkYTY0NGY1NmMxMWVkOWZkYTFiYy4uZjY0Mjdl
ZWVmNjk0NWQ3ZGJiZGRkN2Q4ZDFiMDUyZmM0NDdiYWYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0yMDMsMTMgKzIwMywxMSBAQCB2
b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlcXVpcmVkU3RhdGVDaGFuZ2VkKCkKIAogc3Rh
dGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKGNvbnN0IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQmIGVs
ZW1lbnQpCiB7Ci0gICAgaWYgKCFlbGVtZW50LnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBpZiAoIWVsZW1lbnQuaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlv
bihhdXRvZm9jdXNBdHRyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYXV0byYgZG9j
dW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7Ci0gICAgaWYgKCFlbGVtZW50LmlzQ29ubmVjdGVk
KCkgfHwgIWRvY3VtZW50LnJlbmRlclZpZXcoKSkKKyAgICBpZiAoIWVsZW1lbnQuaXNDb25uZWN0
ZWQoKSB8fCAhZG9jdW1lbnQuaGFzQnJvd3NpbmdDb250ZXh0KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBpZiAoZG9jdW1lbnQuaXNTYW5kYm94ZWQoU2FuZGJveEF1dG9tYXRpY0ZlYXR1
cmVzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBv
ZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgpAQCAtMjI0LDggKzIyMiw3IEBAIHN0YXRp
YyBib29sIHNob3VsZEF1dG9mb2N1cyhjb25zdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50JiBlbGVt
ZW50KQogICAgIGlmIChlbGVtZW50Lmhhc0F1dG9mb2N1c2VkKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgIC8vIEZJWE1FOiBTaG91bGQgdGhpcyBzZXQgb2YgaGFzVGFnTmFtZSBjaGVj
a3MgYmUgcmVwbGFjZWQgYnkgYQotICAgIC8vIHZpcnR1YWwgbWVtYmVyIGZ1bmN0aW9uPworICAg
IC8vIEZJWE1FOiBhdXRvZm9jdXMgaXMgYSBnbG9iYWwgYXR0cmlidXRlLgogICAgIGlmIChpczxI
VE1MSW5wdXRFbGVtZW50PihlbGVtZW50KSkKICAgICAgICAgcmV0dXJuICFkb3duY2FzdDxIVE1M
SW5wdXRFbGVtZW50PihlbGVtZW50KS5pc0lucHV0VHlwZUhpZGRlbigpOwogICAgIGlmIChlbGVt
ZW50Lmhhc1RhZ05hbWUoc2VsZWN0VGFnKSkKQEAgLTI0NywyMiArMjQ0LDYgQEAgdm9pZCBIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMoKQogICAgIC8vIG9uIHRoZSBy
ZW5kZXJlci4KICAgICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRl
RnJvbUVsZW1lbnQoKTsKLQotICAgIGlmIChzaG91bGRBdXRvZm9jdXMoKnRoaXMpKSB7Ci0gICAg
ICAgIHNldEF1dG9mb2N1c2VkKCk7Ci0KLSAgICAgICAgUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ+IGVsZW1lbnQgPSB0aGlzOwotICAgICAgICBSZWZQdHIgZnJhbWVWaWV3ID0gZG9jdW1l
bnQoKS52aWV3KCk7Ci0gICAgICAgIGlmIChmcmFtZVZpZXcgJiYgZnJhbWVWaWV3LT5sYXlvdXRD
b250ZXh0KCkuaXNJbkxheW91dCgpKSB7Ci0gICAgICAgICAgICBmcmFtZVZpZXctPnF1ZXVlUG9z
dExheW91dENhbGxiYWNrKFtlbGVtZW50XSB7Ci0gICAgICAgICAgICAgICAgZWxlbWVudC0+Zm9j
dXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOwotICAg
ICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBTdHlsZTo6ZGVwcmVj
YXRlZFF1ZXVlUG9zdFJlc29sdXRpb25DYWxsYmFjayhbZWxlbWVudF0gewotICAgICAgICAgICAg
ICAgIGVsZW1lbnQtPmZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0
QXRTdGFydCB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfQogfQogCiB2b2lk
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50JiBv
bGREb2N1bWVudCwgRG9jdW1lbnQmIG5ld0RvY3VtZW50KQpAQCAtMzAxLDYgKzI4MiwxMiBAQCBO
b2RlOjpJbnNlcnRlZEludG9BbmNlc3RvclJlc3VsdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojpp
bnNlcnRlZEludG9BbmNlc3RvcihJbgogICAgICAgICBzZXRBbmNlc3RvckRpc2FibGVkKGNvbXB1
dGVJc0Rpc2FibGVkQnlGaWVsZHNldEFuY2VzdG9yKCkpOwogICAgIEhUTUxFbGVtZW50OjppbnNl
cnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7CiAg
ICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25U
eXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7CisKKyAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKCp0
aGlzKSkgeworICAgICAgICBpZiAoUmVmIHRvcERvY3VtZW50ID0gZG9jdW1lbnQoKS50b3BEb2N1
bWVudCgpOyAhdG9wRG9jdW1lbnQtPmlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkpCisgICAgICAgICAg
ICB0b3BEb2N1bWVudC0+YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKCp0aGlzKTsKKyAgICB9CisK
ICAgICByZXR1cm4gSW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQ6Ok5lZWRzUG9zdEluc2VydGlv
bkNhbGxiYWNrOwogfQogCkBAIC0zOTYsNiArMzgzLDExIEBAIGJvb2wgSFRNTEZvcm1Db250cm9s
RWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0CiAjZW5kaWYKIH0KIAordm9pZCBIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCkKK3sKKyAg
ICBmb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7
Cit9CisKIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6bWF0Y2hlc1ZhbGlkUHNldWRvQ2xh
c3MoKSBjb25zdAogewogICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBpc1ZhbGlkRm9ybUNv
bnRyb2xFbGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5oCmluZGV4IDI1ZTM0NTAwZWFhYTYwYWNmZjk5NTRjNGZhYmUzNTc1NDVmZTI5MTUuLjU0
NjM2ODc0ZDJiMjc5MTJmMWViNDRkMmQ4ZDYzZWZlNjdiMTU4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xNzAsNiArMTcwLDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIHJlZkZvcm1Bc3NvY2lhdGVkRWxlbWVudCgpIG92ZXJyaWRlIHsgcmVm
KCk7IH0KICAgICB2b2lkIGRlcmVmRm9ybUFzc29jaWF0ZWRFbGVtZW50KCkgb3ZlcnJpZGUgeyBk
ZXJlZigpOyB9CiAKKyAgICB2b2lkIHJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKSBmaW5h
bDsKKwogICAgIGJvb2wgbWF0Y2hlc1ZhbGlkUHNldWRvQ2xhc3MoKSBjb25zdCBvdmVycmlkZTsK
ICAgICBib29sIG1hdGNoZXNJbnZhbGlkUHNldWRvQ2xhc3MoKSBjb25zdCBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKaW5kZXggODg1MzNiM2QyYjM3MTgyZTE2MDUyZmVkMTI5MzY4YTQ2ZTQy
MjlhZi4uZDdiYmM0Y2JkNjgwMzc1YzRlYTk4NWUyNmU3YWJkY2JiMGM2ZTBhZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCkBAIC0xNTYwLDcgKzE1NjAsMTAgQEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5kZXJp
bmcoKQogICAgICAgICBmb3JFYWNoRG9jdW1lbnQocGVyRG9jdW1lbnRGdW5jdGlvbik7CiAgICAg
fTsKIAotICAgIC8vIEZJWE1FOiBGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRlcy4KKyAgICBydW5Q
cm9jZXNzaW5nU3RlcChSZW5kZXJpbmdVcGRhdGVTdGVwOjpGbHVzaEF1dG9mb2N1c0NhbmRpZGF0
ZXMsIFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50LmlzVG9w
RG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGRvY3VtZW50LmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRl
cygpOworICAgIH0pOwogCiAgICAgcnVuUHJvY2Vzc2luZ1N0ZXAoUmVuZGVyaW5nVXBkYXRlU3Rl
cDo6UmVzaXplLCBbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnJ1
blJlc2l6ZVN0ZXBzKCk7CkBAIC0zNjA1LDYgKzM2MDgsNyBAQCBTcGVlY2hSZWNvZ25pdGlvbkNv
bm5lY3Rpb24mIFBhZ2U6OnNwZWVjaFJlY29nbml0aW9uQ29ubmVjdGlvbigpCiBXVEY6OlRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiB0cywgUmVuZGVyaW5nVXBkYXRlU3Rl
cCBzdGVwKQogewogICAgIHN3aXRjaCAoc3RlcCkgeworICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRl
U3RlcDo6Rmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzOiB0cyA8PCAiRmx1c2hBdXRvZm9jdXNDYW5k
aWRhdGVzIjsgYnJlYWs7CiAgICAgY2FzZSBSZW5kZXJpbmdVcGRhdGVTdGVwOjpSZXNpemU6IHRz
IDw8ICJSZXNpemUiOyBicmVhazsKICAgICBjYXNlIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlNjcm9s
bDogdHMgPDwgIlNjcm9sbCI7IGJyZWFrOwogICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6
TWVkaWFRdWVyeUV2YWx1YXRpb246IHRzIDw8ICJNZWRpYVF1ZXJ5RXZhbHVhdGlvbiI7IGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAppbmRleCA5NGY4YjhkYTkyMDY5NjM3ODhjNTE2MTY1M2U1MDVjY2MwMDUz
ODM5Li5iNTNmNjhlNjMwZTMyMmU5NzQ0YTRiZmJjOTA3YjllZWFlMmU1MDNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaApAQCAtMjA4LDkgKzIwOCwxMSBAQCBlbnVtIGNsYXNzIFJlbmRlcmluZ1VwZGF0ZVN0ZXAg
OiB1aW50MTZfdCB7CiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAgICBTY3JvbGxpbmdU
cmVlVXBkYXRlICAgICAgICAgICAgID0gMSA8PCAxMywKICNlbmRpZgorICAgIEZsdXNoQXV0b2Zv
Y3VzQ2FuZGlkYXRlcyAgICAgICAgPSAxIDw8IDE0LAogfTsKIAogY29uc3RleHByIE9wdGlvblNl
dDxSZW5kZXJpbmdVcGRhdGVTdGVwPiB1cGRhdGVSZW5kZXJpbmdTdGVwcyA9IHsKKyAgICBSZW5k
ZXJpbmdVcGRhdGVTdGVwOjpGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMsCiAgICAgUmVuZGVyaW5n
VXBkYXRlU3RlcDo6UmVzaXplLAogICAgIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlNjcm9sbCwKICAg
ICBSZW5kZXJpbmdVcGRhdGVTdGVwOjpNZWRpYVF1ZXJ5RXZhbHVhdGlvbiwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNTI3
ZDk1ZWY2OTgzNWE4OTNiY2UzMWFlYmFlZDE3NTA0MWUyYzRhLi41NzJiOGQwM2M1YWM0MDM2NTZl
MzcxMDEzZDI0OWJlOTFlOTI1MjgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMTAtMDUg
IFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgbmV3IGF1
dG9mb2N1cyBiZWhhdmlvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjAzMTM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjM5NzAxOT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFdlYktpdCBt
YXRjaCB0aGUgbmV3IGF1dG9mb2N1cyBzcGVjOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVj
LndoYXR3Zy5vcmcvbXVsdGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjdGhlLWF1dG9mb2N1cy1hdHRy
aWJ1dGUKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9p
bnRlcmFjdGlvbi5odG1sI2ZvY3VzaW5nLXN0ZXBzCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2gg
YnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBmYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0
b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy5o
dG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sOgorICAgICAg
ICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sOgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0
b2ZvY3VzLW9wZXJhLTAwMy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwNC5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNS5o
dG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sOgorICAg
ICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sOgorICAgICAgICAqIGZh
c3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5odG1sOgorICAgICAg
ICAqIGZhc3QvZm9ybXMvdGV4dGFyZWEvdGV4dGFyZWEtYXV0b2ZvY3VzLXJlbW92YWwtd2hpbGUt
Zm9jdXNpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1p
cy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbDoKKyAgICAgICAgKiBw
bHVnaW5zL29iamVjdC1vbmZvY3VzLW11dGF0aW9uLWNyYXNoLmh0bWw6CisKIDIwMjEtMTAtMDUg
IFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW5uZWNlc3Nh
cnkgYXV0b2ZvY3VzIGF0dHJpYnV0ZSBkZXBlbmRlbmNpZXMgaW4gdGVzdHMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IDA3ZGY5YWMzYzA5ZDU0NmUwMjNjZTVhNmE3MThlZDNiODUy
NzRkNzYuLjZmZGI2YWI5Yjc1OTA1MDc3MjY0OWNjNTE3NTVjZGU1MWVhYzBkYjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQt
ZW1wdHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJh
Z21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3Vt
ZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9m
aXJzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50
ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rp
b24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0
ZWQudHh0OgorCiAyMDIxLTEwLTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgVGVzdCBhIGZvbnQgcGFsZXR0ZSBpZGVudGlmaWVyIG9mIGp1c3Qg
Ii0tIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYWZhM2RjYjUzNDRkNWYxNTQ5OTNhZjg0N2NkNDNl
NGJlNWI2NjBhZi4uMDZkY2VkZWU4OGNhY2QyNGVkN2E5MGI0MTk5NDE1ODAzZTdmYzc1YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC04MDMsNyArODAzLDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWhpc3RvcnktaW50ZXJmYWNlLzAw
Mi4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5
L3RoZS1oaXN0b3J5LWludGVyZmFjZS9jb21iaW5hdGlvbl9oaXN0b3J5XzAwMi5odG1sIFsgRmFp
bHVyZSBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy9oaXN0b3J5L3RoZS1oaXN0b3J5LWludGVyZmFjZS9jb21iaW5hdGlvbl9oaXN0b3J5XzAwMy5o
dG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2V4ZWN1dGlvbi10aW1p
bmcvMDU4Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0
ZS10aGUtcmVuZGVyaW5nLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy93aWRnZXRzL2Jhc2VsaW5lLWFsaWdubWVudC1h
bmQtb3ZlcmZsb3cudGVudGF0aXZlLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlh
LWVsZW1lbnRzL2xvYWRpbmctdGhlLW1lZGlhLXJlc291cmNlL3Jlc291cmNlLXNlbGVjdGlvbi1w
b2ludGVyLXJlbW92ZS1zb3VyY2UuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWlm
cmFtZS1lbGVtZW50L2Nyb3NzLW9yaWdpbi10by13aG9tLndpbmRvdy5odG1sIFsgRmFpbHVyZSBQ
YXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gt
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIt
ZXhwZWN0ZWQudHh0CmluZGV4IGVjOTgxZWFjMWFkYmZiNGJkZGZiY2FiZGUzNWM0MTdjYTYxMzEw
OTguLjI5NWU4ZGFmZDdhYTRkYjZkOGJlZjJiYzZiN2U4MWMwNzY5Y2M2ODQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dApA
QCAtMSwyICsxLDQgQEAKIFRlc3RzIGZvciBhIGNyYXNoIGR1ZSB0byBhZG9wdGluZyBhIERPTSBu
b2RlIGR1cmluZyBET01Gb2N1c091dCBldmVudC4gVGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBj
cmFzaC4KIAorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUt
Y3Jhc2gtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0
bWwKaW5kZXggZjY4ZDAxN2JiMzA3ZmQyMmFhNjM4ODA0Y2JkNjc2ZjM0MDNiYTk2Ni4uODZjNjY2
YWNjMWZkNGRhODExN2ViMDI4ZDY1MDg0Y2NhYjFhYzUwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwKQEAgLTMyLDExICszMiwxMyBAQCBmdW5jdGlv
biBkb2l0KCkKICAgICBkaXYxLm91dGVySFRNTCA9IGhlYWRlcjEub3V0ZXJIVE1MOwogfQogd2lu
ZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAg
ICAgICBpbnRlcm5hbHMudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVu
UG9zdExheW91dFRhc2tzKCk7Ci0gICAgZWxzZQotICAgICAgICBkaXYyLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpOwotICAgIHNldFRpbWVvdXQoImRvaXQoKSIsIDEpOworICAgIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHNldFRpbWVvdXQoZG9pdCwgMCk7CisgICAgICAg
IHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9LCA1MCk7
CisgICAgfSk7CiB9CiA8L3NjcmlwdD4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0
aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4dAppbmRleCBjZjg2ZmI0YzVlYTY5MDNlYjA4YTcw
ZTI2NGEwMjc4OWI2MjA4Nzk0Li41MGFjZmI2N2RmODliMDE1MTE3NTdmMjM5MTViNzBmNGFmYmM3
ZDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5k
Ym94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDIgKzEsNyBAQAotQ09OU09MRSBNRVNTQUdFOiBJTlBVVAotVGhpcyB0ZXN0IHBh
c3NlcyBpZiB0aGUgYWN0aXZlRWxlbWVudCBpcyB0aGUgaW5wdXQgZWxlbWVudCByYXRoZXIgdGhh
biB0aGUgYm9keSAod2hpY2ggaXQgd291bGQgYmUgaWYgdGhlIHNhbmRib3ggZGlkbid0IGFsbG93
IGF1dG9mb2N1cyBhbHRob3VnaCBhbGxvdy1zY3JpcHRzIGZsYWcgaXMgc2V0KS4KK1RoaXMgdGVz
dHMgaGF2aW5nIGFuIGlucHV0IGVsZW1lbnQgd2l0aCBhdXRvZm9jdXMgY29udGVudCBhdHRyaWJ1
dGUgaW5zaWRlIGEgc2FuZGJveGVkIGlmcmFtZS4KK1RoZSBpbnB1dCBlbGVtZW50IHNob3VsZCBi
ZSBhdXRvZm9jdXNlZCBzaW5jZSBzY3JpcHRzIGFyZSBhbGxvd2VkLgorCistLS0tLS0tLQorRnJh
bWU6ICc8IS0tZnJhbWUxLS0+JworLS0tLS0tLS0KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxs
b3ctc2NyaXB0cy5odG1sCmluZGV4IDRmMjIzODY4ZmQ3ZTZmMTg5ZWM1M2Y3MjYyZTc2YmRiOTg2
N2JjNWEuLmVjM2UzODAxMGZjODQ0YWZiMzkyMjI4ODBlMzRmOTNiMTU5NmRmZDggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxv
dy1zY3JpcHRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4t
c2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbApAQCAtMSw4ICsxLDE5IEBACiA8c2NyaXB0
PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNB
c1RleHQoKTsKK30KIDwvc2NyaXB0PgotVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgYWN0aXZlRWxl
bWVudCBpcyB0aGUgaW5wdXQgZWxlbWVudCByYXRoZXIgdGhhbiB0aGUgYm9keQotKHdoaWNoIGl0
IHdvdWxkIGJlIGlmIHRoZSBzYW5kYm94IGRpZG4ndCBhbGxvdyBhdXRvZm9jdXMgYWx0aG91Z2gg
YWxsb3ctc2NyaXB0cyBmbGFnIGlzIHNldCkuCi08aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlw
dHMgYWxsb3ctbW9kYWxzIgotICAgIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGlucHV0IGF1dG9mb2N1
cyBvbmZvY3VzPjxzY3JpcHQ+d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyBjb25zb2xlLmxv
Zyhkb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWUpIH08L3NjcmlwdD4iPjwvaWZyYW1lPgor
VGhpcyB0ZXN0cyBoYXZpbmcgYW4gaW5wdXQgZWxlbWVudCB3aXRoIGF1dG9mb2N1cyBjb250ZW50
IGF0dHJpYnV0ZSBpbnNpZGUgYSBzYW5kYm94ZWQgaWZyYW1lLjxicj4KK1RoZSBpbnB1dCBlbGVt
ZW50IHNob3VsZCBiZSBhdXRvZm9jdXNlZCBzaW5jZSBzY3JpcHRzIGFyZSBhbGxvd2VkLgorPGlm
cmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIgorICAgIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGlu
cHV0IGlkPWlucHV0IGF1dG9mb2N1cyBvbmZvY3VzPjxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5k
b3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
KCkgPT4geworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCA9PSBpbnB1dCA/ICdQQVNTJyA6ICdGQUlMJyk7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0pOworICAgIH08L3NjcmlwdD4iPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMta2V5Z2VuLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbAppbmRleCA3NzA3MGU4ZGIwNmI1NGM5Yjkw
ZmU2ZDMxMDI2ODNkYTg1NGJjMGNjLi4wYzc2NWRlMzIzYTIzYjA1MjRkMzcwZWM1MmFkYmY1ZDA0
NmEyODViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXln
ZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRt
bApAQCAtNiw5ICs2LDExIEBACiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKIGZ1bmN0
aW9uIG9uTG9hZCgpIHsKLSAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJrZXlnZW4iKScpOwotICAgIHNob3VsZEJlKCdkb2N1bWVu
dC5hY3RpdmVFbGVtZW50LmF1dG9mb2N1cycsICd0cnVlJyk7Ci0gICAgZmluaXNoSlNUZXN0KCk7
CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgc2hvdWxkQmUoJ2Rv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQnLCAnZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigia2V5Z2VuIikn
KTsKKyAgICAgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYXV0b2ZvY3VzJywg
J3RydWUnKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSk7CiB9CiA8L3NjcmlwdD4K
IDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAx
Lmh0bWwKaW5kZXggM2I5NGU4OGMyMDkwN2QzMTlhMDRkOGViNWI0MTk5YzA0MjhiNmUwYy4uNjUw
ZWMwNzA1NjIyZmM4Y2Y1N2EwNDk4OGQ1YjlmNWNkMDZlNjhjMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwKQEAgLTExLDEzICsxMSwxOSBA
QAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIAotICAgICAgICBpZiAoZG9jdW1l
bnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQi
KVswXSkKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworICAgICAgICB9CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsK
KyAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VT
UyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVh
ZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAw
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAyLmh0bWwK
aW5kZXggZmE3MGI1N2Q0YmIxMGU4NTk0NmExMGQwNWNkODY3MWU4NWEzODk2Yy4uMjRhZTJkNGZm
MzkxYTI5ZjI1YzgxZWI0OTRjNjliMTc1ZWY4ZGNhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAyLmh0bWwKQEAgLTExLDEzICsxMSwyMCBAQAogICAg
IH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0
aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkK
LSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBs
b2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICB9CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAg
ICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCJpbnB1dCIpWzBdKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICB9KQorCiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sCmluZGV4
IDlhZWEyM2U3ZGFhMDI0ZTRkMjE4NmQxZDMxZmE1NGE1N2ZkNzk2NGMuLjRhZDc3MDE3YjQ3ZmFj
ZGZmYjA2OTgwYWUyOGRhNGQ4NDQzZDA1OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sCkBAIC0xMiwxNCArMTIsMjAgQEAKICAgICB9CiAK
ICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICAgICAgfQogCi0gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdICYmCi0gICAgICAgICAgICBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCAhPSAwKQotICAgICAgICAgICAgbG9nKCJTVUND
RVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAg
ICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0Iilb
MF0gJiYKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRv
cCAhPSAwKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
ICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA0Lmh0bWwKaW5kZXggNGEzZGZjNDY3ZDk4YmNi
MDIyMzAxMzZhOTI3YTU2Mjg4ZDRmOWUwYS4uMjZmYTJlMTg0MzMwZjM0NDk5NGZjYmU0MzkyOTI1
N2FmZWI5OTYzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
b3BlcmEtMDA0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3Bl
cmEtMDA0Lmh0bWwKQEAgLTIxLDkgKzIxLDkgQEAKICAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRl
KCdhdXRvZm9jdXMnLCdmYWxzZScpOwogICAgICAgICBwLmFwcGVuZENoaWxkKGlucHV0KTsKIAot
ICAgICAgICBzZXRUaW1lb3V0KGNoZWNrLCAwKTsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKGNoZWNrKTsKICAgICB9Ci0gICAgCisKICAgICBmdW5jdGlvbiBjaGVjaygpIHsKICAgICAg
ICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImlucHV0IilbMF0pCiAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA1Lmh0bWwKaW5kZXggNTA5OGMw
YWZkYWM5YmM3OWU5ODRiODk0MjU4NDQ2MjUyMzg1ZTUyZS4uZTUyNGJhMTRjMGU1ZjRiODAzMDRi
ZDk1YTNmZTU4NmY2ZTRmNWNmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9h
dXRvZm9jdXMtb3BlcmEtMDA1Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRv
Zm9jdXMtb3BlcmEtMDA1Lmh0bWwKQEAgLTIxLDEwICsyMSwxMCBAQAogICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgc2V0VGltZW91dChjaGVjaywgMCk7
CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNoZWNrKTsKICAgICB9Ci0gICAgCisK
ICAgICBmdW5jdGlvbiBjaGVjaygpIHsKICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0pCiAgICAgICAg
ICAgICBsb2coIlNVQ0NFU1MiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9j
dXMtb3BlcmEtMDA2Lmh0bWwKaW5kZXggM2RhMzkzNDY5ODhiZjMwZmNjNDhiY2EwNjE5MzE1ZjQ2
NTEzNWM2OS4uOWQ3N2Q5YzAzOGNjMWU2MmIxNmU4ZmI3ZjUzODkwZGIyNTdmN2E1YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwKQEAgLTEx
LDIzICsxMSwzMCBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikpCisgICAgICAgICAgICAgICAgbG9nKCJT
VUNDRVNTIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJF
Iik7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOwogCi0gICAgICAgIGlmIChkb2N1
bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikpCi0g
ICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9n
KCJGQUlMVVJFIik7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InRl
c3QoKSI+CiA8cD5BbGwgZm9ybSBjb250cm9scyBiZWxvdyBzaG91bGQgaGF2ZSBhIGdyZWVuIGJh
Y2tncm91bmQ6PC9wPgotPHA+PGlucHV0IGF1dG9mb2N1cz4KKzxwPjxpbnB1dCBhdXRvZm9jdXMg
aWQ9InRlc3QiPgogPHA+PGlucHV0IGF1dG9mb2N1cz4KIDxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8
cD48aW5wdXQ+Ci08cD48aW5wdXQgYXV0b2ZvY3VzIGlkPSJ0ZXN0Ij4KKzxwPjxpbnB1dCBhdXRv
Zm9jdXM+CiA8cD48aW5wdXQ+CiA8aHIvPgogPG9sIGlkPSJjb25zb2xlIj48L29sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbAppbmRleCAxMTI1
YjViM2Q5ZjFmZWEzNDM4MTJmYTZiZGEzNjJlODFmNjc4YmUzLi4wNjYwYTgwZDExZWFhNDAyODk4
MzYzZjY5MTA0NGRlOThjMTk5MzhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDcuaHRtbApAQCAtMTcsMTMgKzE3LDE5IEBACiAgICAgfQogICAgIAog
ICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
ICAgICB9CiAKLSAgICAgICAgaWYgKGdvdEJsdXIpCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1Mi
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgIHJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZ290Qmx1cikKKyAg
ICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7
CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5odG1sCmlu
ZGV4IGI3YTFkOGM5Zjg1OThlZTAyYTNhNjc2ZjBkZjhlOGFmZTQ0YjI4NjUuLmFkOWM2NjlhZTlh
MTg1MTAxMWFkOTZkMDRlNDliOWIyOWI1OTA1MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5o
dG1sCkBAIC0xMCwxNiArMTAsMjUgQEAKIGZ1bmN0aW9uIGZvY3VzZWQoKSB7CiAgICAgaWYgKGlu
cHV0LmF1dG9mb2N1cykgewogICAgICAgICBpbnB1dC50eXBlID0gImNoZWNrYm94IjsKLSAgICAg
ICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiPGNvZGUgc3R5bGU9J2NvbG9yOiBncmVlbic+
UEFTUzwvY29kZT4iOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJGQUlMIC0g
Zm9jdXMgZXZlbnQgaGFuZGxlciBjYWxsZWQgZm9yIGF1dG9mb2N1cyI7CisgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChp
bnB1dCk7CiAgICAgaW5wdXQuYXV0b2ZvY3VzID0gdHJ1ZTsKKyAgICByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoKCkgPT4geworICAgICAgICBkb2N1bWVudC5ib2R5LnRleHRDb250ZW50ID0gZG9jdW1l
bnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5ib2R5ID8gIlBBU1MiIDogIkZBSUwiOworICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKKyAgICB9KTsKIH0KIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Cit9CiAKIGlucHV0LmZvY3VzKCk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEvdGV4dGFyZWEtYXV0b2Zv
Y3VzLXJlbW92YWwtd2hpbGUtZm9jdXNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGV4dGFyZWEvdGV4dGFyZWEtYXV0b2ZvY3VzLXJlbW92YWwtd2hpbGUtZm9jdXNpbmcuaHRtbApp
bmRleCBjNTk1YTkyNDNlMzg3MDhiOWVjMzZhOWQ3NzMwY2NiMTA4OTRlODZjLi4yODlhNTk1YzVk
ZDNkNDQ1MWRiNzUxMDI2ODgwMTkwNjQzNmFhMDZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLWF1dG9mb2N1cy1yZW1vdmFsLXdoaWxlLWZvY3Vz
aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS90ZXh0YXJlYS1h
dXRvZm9jdXMtcmVtb3ZhbC13aGlsZS1mb2N1c2luZy5odG1sCkBAIC0yLDE2ICsyLDIzIEBACiA8
aHRtbD4KIDxib2R5PgogPHNjcmlwdD4KLXRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci12YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJ0ZXh0YXJlYSIpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwor
Y29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOwogdGV4
dGFyZWEuc2V0QXR0cmlidXRlKCJhdXRvZm9jdXMiLCAiIik7CiB0ZXh0YXJlYS5hZGRFdmVudExp
c3RlbmVyKCJET01Gb2N1c0luIiwgZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuaW5uZXJIVE1MID0gIiI7IH0sIGZhbHNlKTsKIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5h
cHBlbmRDaGlsZCh0ZXh0YXJlYSk7Ci13aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKwor
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRN
TCA9ICJQQVNTIHVubGVzcyBjcmFzaC4iOwotICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
fSwgMCk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKK30pOworCiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1p
bi1ldmVudGhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4t
aWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbAppbmRleCA2ZjVhMmU5MTllZGY5
YTk2M2JhOGY3ZWRlNGU5MDY2MjE1MGJmNmZkLi5jODk4NjY3ZmM0ZGM2NmE1Y2NiMGRjY2U0Yzcx
MGM1ZWViNjkxYTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9jcmFzaC13
aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxl
ci5odG1sCkBAIC02LDEzICs2LDIwIEBAIFBBU1MgaWYgbm8gY3Jhc2guCiA8c3BhbiBpZD13cmFw
cGVyPjwvc3Bhbj4KIDx0ZXh0YXJlYSBpZD10ZXh0YXJlYSBvbmZvY3VzPSJldmVudGhhbmRsZXIo
KSI+PC90ZXh0YXJlYT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwogZG9jdW1lbnQub2Zmc2V0SGVpZ2h0OwogdGV4
dGFyZWEuYXV0b2ZvY3VzID0gdHJ1ZTsKIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpZnJhbWUiKTsKIHNwYW4uYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIHdyYXBwZXIuYXBwZW5k
Q2hpbGQodGV4dGFyZWEpOworcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSk7
CiBpZnJhbWUuY29udGVudERvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsKIAogZnVuY3Rp
b24gZXZlbnRoYW5kbGVyKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3Jl
Lmh0bWwKaW5kZXggNjNjZjhhMjIxOThkNzA5ZjNmYTk4YWY1NTk3MTM5Mzg5MDI1NWRhMi4uYzJm
NTg0NTc1OTRiODMzYWQ3YjUyMzc0YjA1MWFiYTViZjQxYzk5OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3Rv
cmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRl
LXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCkBAIC0xNiw4ICsxNiwxMCBAQCBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKIH0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93Iiwg
KGV2ZW50KSA9PiB7Ci0gICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkKKyAgICBpZiAoZXZlbnQucGVy
c2lzdGVkKSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmaW5pc2gpOwogICAgICAg
ICByZXR1cm47CisgICAgfQogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgc2V0
VGltZW91dChydW5UZXN0LCAwKTsKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRv
Zm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21l
bnQtZW1wdHktZXhwZWN0ZWQudHh0CmluZGV4IGE0NTJkNTNlZGJhNjM1ODdkOWMyZWJkYzZmNmE1
MGQ1M2ZlNGVmZTUuLmQ0MTkyOWY5YjdkZjdiMThkNjAyZGFkNDYwOGJlZmUwNzE1ZmNhMjIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRo
LWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1
bWVudHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1YWxz
OiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48
L2lucHV0PgorUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0
aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBp
biB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCdzIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZyYWdt
ZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMt
YXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21l
bnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDJiMWU1N2Q2MjgyOTU2OTE4ZDI3MjE1
NTVkMDRkNTgwMmFiN2RmNmQuLjhkZDZiNGM3NzBjZTlhYTVjYzI5YmZjODVjY2U0MmQ1ZGNlZTg3
ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVu
dC13aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMv
dGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVu
dC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVu
dHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRzIHNob3Vs
ZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBu
b2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRz
IGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQg
d29yay4KIFBBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBjb250
ZXh0J3MgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50
LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3Vz
LWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQKaW5kZXgg
MDM3NDEwOWEzMGM2MjRkYmQ5NGQ4NzkxM2I0ZTMzOGVlOTE5OTNlZi4uOGJhNTBhNTFhM2RhZDU3
MGQ0OTI3NzQ5OTk3MmQ1OTRkNWRmZWI5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRv
Zm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50
ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFn
bWVudC10b3AtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKLUZBSUwgQXV0b2ZvY3Vz
IGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3Vs
ZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBu
b2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRz
IGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgog
UEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQncyBk
b2N1bWVudHMgd2l0aCAidG9wIiBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFj
dGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rp
b24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0CmluZGV4
IDk4NzMyN2IxYTdiOWJiNmFhMWYyYjZiNDQwNjM3NzEwYmU4ZjAwNmUuLmNlOTI2NzY3ZjMwNDJk
ZTIyOTgwNDAzM2QyZWZlNTU1ZWFkNjUyZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0
b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1h
dXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAog
Ci1GQUlMIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQgc2hvdWxk
IHdpbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9j
dXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48
L2lucHV0PgorUEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50
IHNob3VsZCB3aW4uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJp
YnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2Zv
Y3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dAppbmRleCBmZTAyMTE4
YTM0OWEzYWNjOWY4Y2FlZDg5MTc4MWYwMWMyODgxNDVmLi41ZjRjMzE1YzY4NzhlM2M2OGI3YWQy
ZjhjOWNhMjk2MTFlZmQ1YzlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1h
dHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0CkBAIC0x
LDQgKzEsNCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQg
d2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBn
b3QgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgVGhlIGZp
cnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUg
aW5zZXJ0ZWQgbGF0ZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUt
YXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dAppbmRl
eCAzM2Q4MzA4N2UxOGY2ZDlkOWIyZmFmNDUyYTNlZGJlOTYwNzNiMTVkLi5hNTg0OWQ2MjIzNTMx
OGNiODhhMzFhZjRhMmQ5NGY3YzcxMTgxMDUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1
dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgSWYgdGhlIGZpcnN0IGF1dG9mb2N1
cyBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUsIGJ1dCBiZWNvbWVzIGZvY3VzYWJsZSBiZWZvcmUg
YSBmcmFtZSwgaXQgc2hvdWxkIGJlIGZvY3VzZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVs
ZW1lbnQgbm9kZSA8dGV4dGFyZWEgYXV0b2ZvY3VzPSIiPjwvdGV4dGFyZWE+IGJ1dCBnb3QgRWxl
bWVudCBub2RlIDxzZWxlY3QgYXV0b2ZvY3VzPSIiPjwvc2VsZWN0PgorUEFTUyBJZiB0aGUgZmly
c3QgYXV0b2ZvY3VzIGVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSwgYnV0IGJlY29tZXMgZm9jdXNh
YmxlIGJlZm9yZSBhIGZyYW1lLCBpdCBzaG91bGQgYmUgZm9jdXNlZC4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhl
LXJlbmRlcmluZy1leHBlY3RlZC50eHQKaW5kZXggMTM1NDFmNjRmZDYxNTIxNDliMjc4OGNhNDI5
MjkzZGFjYmI3MjE4Ny4uMGNiYzc3ZWY3MWM5MjFlYWI4MWVhOTBiNTRmMWI1NWJlN2FmYzI5OSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUt
cmVuZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRy
aWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAog
Ci0KLUZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGFm
dGVyIHRoZSBmaXJzdCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzLCBhbmQgYmVmb3JlIGEgcmVz
aXplIGV2ZW50IGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZlbnQgbG9vcC4gYXNz
ZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDMgZ290IDQKK1BBU1Mg
IkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGJlZm9yZSBhIHNj
cm9sbCBldmVudCBhbmQgYW5pbWF0aW9uIGZyYW1lIGNhbGxiYWNrcwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbHVnaW5zL29iamVjdC1vbmZvY3VzLW11dGF0aW9uLWNyYXNoLmh0bWwgYi9M
YXlvdXRUZXN0cy9wbHVnaW5zL29iamVjdC1vbmZvY3VzLW11dGF0aW9uLWNyYXNoLmh0bWwKaW5k
ZXggYjU4MmFmNjk5MWM5MTdlY2RkZjdlOGQyNjVmYTQxOTA4MGVmYmMzNC4uNTIyZTI4MGZhNzJj
OTU4NGU5YzUzMDA5ZmM2ZjZlZjdjMDliMDljZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1
Z2lucy9vYmplY3Qtb25mb2N1cy1tdXRhdGlvbi1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3BsdWdpbnMvb2JqZWN0LW9uZm9jdXMtbXV0YXRpb24tY3Jhc2guaHRtbApAQCAtMSwxMiArMSwx
NyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgorPG9iamVjdCBkYXRhPSJhIj4K
KyAgICA8aW5wdXQgaWQ9ImlucHV0IiBvbmZvY3VzPSJjcmFzaCgpIj4KKzwvb2JqZWN0PgogPHNj
cmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogCitpbnB1dC5mb2N1cygp
OworCiBmdW5jdGlvbiBmaW5pc2goKSB7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKQEAgLTE0LDExICsxOSw4IEBAIGZ1bmN0aW9u
IGZpbmlzaCgpIHsKIAogZnVuY3Rpb24gY3Jhc2goKSB7CiAgICAgZG9jdW1lbnQuYm9keS5pbm5l
ckhUTUwgPSAiUEFTUy4gV2ViS2l0IGRpZG4ndCBjcmFzaC4iOwotICAgIHNldFRpbWVvdXQoImZp
bmlzaCgpIiwgMCk7CisgICAgZmluaXNoKCk7CiB9CiA8L3NjcmlwdD4KLTxvYmplY3QgZGF0YT0i
YSI+Ci08aW5wdXQgYXV0b2ZvY3VzPSIiIG9uZm9jdXM9ImNyYXNoKCkiPgotPC9vYmplY3Q+CiA8
L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440211</attachid>
            <date>2021-10-05 07:42:30 -0700</date>
            <delta_ts>2021-10-05 07:48:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211005164229.patch</filename>
            <type>text/plain</type>
            <size>40033</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU0ZTQxMTQ4NTcxYjNk
YWM3YTIxZWQ0NGRmNDA2MDQwNmI5OWYwMC4uNzgzODg0N2U5YTA3Mjk3ODdlYTAwOWEzNzkyZTk2
ZDM2YWYzMmIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMpOgorICAgICAgICAqIGRvbS9E
b2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzQXV0b2ZvY3VzUHJvY2Vz
c2VkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRBdXRvZm9jdXNQcm9j
ZXNzZWQpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMpOgorICAgICAgICAqIGRvbS9FbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9y
bUNvbnRyb2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEZvcm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9m
b2N1cyk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpoYXNBdXRvZm9jdXNlZCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXRB
dXRvZm9jdXNlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OnVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6
CisKIDIwMjEtMTAtMDUgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXBsYWNlIGRvY3VtZW50LnRvcERvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKSB3aXRoIGRvY3Vt
ZW50LnRvcE9yaWdpbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4YmRmMjIwOTA2YjBj
ZWJhMzkzZGE5ZjJkM2JlM2ZlNmRiZWNkY2NjLi4xYzIxMGIxOTE5NDYxY2E2M2U5MGUyYzc0ZGFj
ZTNmMGIyY2UxOGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ0NzQsNiArNDQ3NCwz
NiBAQCB2b2lkIERvY3VtZW50OjphZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYg
bm9kZSwgTm9kZVJlbW92YWwgbm9kZVJlbW92YQogICAgIH0KIH0KIAordm9pZCBEb2N1bWVudDo6
YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKEVsZW1lbnQmIGNhbmRpZGF0ZSkKK3sKKyAgICBBU1NF
UlQoaXNUb3BEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoIW1faXNBdXRvZm9jdXNQcm9jZXNzZWQp
OworICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5hcHBlbmRPck1vdmVUb0xhc3QoY2FuZGlkYXRl
KTsKK30KKwordm9pZCBEb2N1bWVudDo6Zmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzKCkKK3sKKyAg
ICBBU1NFUlQoaXNUb3BEb2N1bWVudCgpKTsKKyAgICBpZiAobV9pc0F1dG9mb2N1c1Byb2Nlc3Nl
ZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yICg7ICFtX2F1dG9mb2N1c0NhbmRpZGF0ZXMu
aXNFbXB0eSgpOyBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMucmVtb3ZlRmlyc3QoKSkgeworICAgICAg
ICBSZWYgZWxlbWVudCA9IG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5maXJzdCgpOworICAgICAgICBp
ZiAoIWVsZW1lbnQtPmRvY3VtZW50KCkuaXNGdWxseUFjdGl2ZSgpIHx8ICZlbGVtZW50LT5kb2N1
bWVudCgpLnRvcERvY3VtZW50KCkgIT0gdGhpcykKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICBpZiAoYXV0byogcGFyc2VyID0gc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCk7IHBhcnNl
ciAmJiBwYXJzZXItPmhhc1NjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKSkKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBpZ25vcmUgaWYgdGhlIGluY2x1
c2l2ZSBhbmNlc3RvciBkb2N1bWVudHMgaGFzIGEgdGFyZ2V0IGVsZW1lbnQuCisgICAgICAgIC8v
IEZJWE1FOiBVc2UgdGhlIHJlc3VsdCBvZiBnZXR0aW5nIHRoZSBmb2N1c2FibGUgYXJlYSBmb3Ig
ZWxlbWVudCBpZiBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUuCisgICAgICAgIGlmIChlbGVtZW50
LT5pc0ZvY3VzYWJsZSgpKSB7CisgICAgICAgICAgICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xl
YXIoKTsKKyAgICAgICAgICAgIHNldEF1dG9mb2N1c1Byb2Nlc3NlZCgpOworICAgICAgICAgICAg
ZWxlbWVudC0+cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgfQorfQorCiB2b2lkIERvY3VtZW50Ojpob3ZlcmVkRWxlbWVu
dERpZERldGFjaChFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmICghbV9ob3ZlcmVkRWxlbWVu
dCB8fCAmZWxlbWVudCAhPSBtX2hvdmVyZWRFbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCAzODZlMzc4MjgwODhmM2ZkMWVhN2JmYzgwNjgyZTk1YTg1MDg5MDA2Li5hOTdjYTg2MjUyODgx
YTBjZGZjZjc3Y2M4YjUyZGI3MDMzYjQxNzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzg4
LDYgKzc4OCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJl
bW92YWwoTm9kZSYsIE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogICAgIHZvaWQg
YWRqdXN0Rm9jdXNOYXZpZ2F0aW9uTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1vdmFs
ID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogCisgICAgYm9vbCBpc0F1dG9mb2N1c1Byb2Nlc3NlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQ7IH0KKyAgICB2b2lkIHNldEF1
dG9mb2N1c1Byb2Nlc3NlZCgpIHsgbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCA9IHRydWU7IH0KKyAg
ICB2b2lkIGFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZShFbGVtZW50Jik7CisgICAgdm9pZCBmbHVz
aEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKwogICAgIHZvaWQgaG92ZXJlZEVsZW1lbnREaWREZXRh
Y2goRWxlbWVudCYpOwogICAgIHZvaWQgZWxlbWVudEluQWN0aXZlQ2hhaW5EaWREZXRhY2goRWxl
bWVudCYpOwogCkBAIC0xODAxLDYgKzE4MDYsOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVl
X3B0cjxET01JbXBsZW1lbnRhdGlvbj4gbV9pbXBsZW1lbnRhdGlvbjsKIAogICAgIFJlZlB0cjxO
b2RlPiBtX2ZvY3VzTmF2aWdhdGlvblN0YXJ0aW5nTm9kZTsKKyAgICBMaXN0SGFzaFNldDxSZWY8
RWxlbWVudD4+IG1fYXV0b2ZvY3VzQ2FuZGlkYXRlczsKKyAgICBib29sIG1faXNBdXRvZm9jdXNQ
cm9jZXNzZWQgeyBmYWxzZSB9OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2ZvY3VzZWRFbGVtZW50
OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2hvdmVyZWRFbGVtZW50OwogICAgIFJlZlB0cjxFbGVt
ZW50PiBtX2FjdGl2ZUVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggZWFkNzI2N2E2
OWU3N2YwOTg5ZWVhMTdlZDRjZTMyM2Y1OGE0ZjVjNi4uMmYyZTAyNTJjZWVhOWMzYjg3NTA2YWVi
MDFkZjRjOGJhZDI3ZWI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzE3Myw2ICszMTcz
LDExIEBAIHZvaWQgRWxlbWVudDo6Ymx1cigpCiAgICAgfQogfQogCit2b2lkIEVsZW1lbnQ6OnJ1
bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKQoreworICAgIGZvY3VzKCk7Cit9CisKIHZvaWQg
RWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBSZWZQdHI8RWxlbWVudD4mJiBvbGRGb2N1c2VkRWxlbWVudCkKIHsKICAgICBSRUxFQVNFX0FT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5N
YWluVGhyZWFkOjppc1NjcmlwdEFsbG93ZWQoKSB8fCAhaXNJbldlYlByb2Nlc3MoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAppbmRleCA0NjdhMzU1Y2ExMzg3M2ZmNTgwYjNjMTUwYTIyMWNhODAyZWNhNzU0
Li5iMGY4NmM4ZjFhODE5MjBmYzBkZTY2OThlZjZiNDY4NGEwYWVkNTA1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKQEAgLTQwNiw2ICs0MDYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZWZQdHI8RWxl
bWVudD4gZm9jdXNBcHBlYXJhbmNlVXBkYXRlVGFyZ2V0KCk7CiAgICAgdmlydHVhbCB2b2lkIHVw
ZGF0ZUZvY3VzQXBwZWFyYW5jZShTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGUsIFNlbGVjdGlvblJl
dmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwpOwogICAgIHZpcnR1YWwgdm9p
ZCBibHVyKCk7CisgICAgdmlydHVhbCB2b2lkIHJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBpbm5lckhUTUwoKSBjb25zdDsKICAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgb3V0ZXJIVE1MKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCA5YjI2OTc2YTYwMzRhODA1
ZmYwOWRhNjQ0ZjU2YzExZWQ5ZmRhMWJjLi4wOTM3YWQ2OTE5MjBmZTg1ZDJlZTM1NzdmMmE0ZDNl
ODNmNjE3M2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAKQEAgLTcyLDcgKzcyLDYgQEAgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6SFRNTEZv
cm1Db250cm9sRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2MKICAgICAs
IG1fd2lsbFZhbGlkYXRlKHRydWUpCiAgICAgLCBtX2lzVmFsaWQodHJ1ZSkKICAgICAsIG1fd2Fz
Q2hhbmdlZFNpbmNlTGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoZmFsc2UpCi0gICAgLCBtX2hh
c0F1dG9mb2N1c2VkKGZhbHNlKQogewogICAgIHNldEhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxi
YWNrcygpOwogfQpAQCAtMjAzLDEzICsyMDIsMTEgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50OjpyZXF1aXJlZFN0YXRlQ2hhbmdlZCgpCiAKIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1
cyhjb25zdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50JiBlbGVtZW50KQogewotICAgIGlmICghZWxl
bWVudC5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFlbGVtZW50
Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXV0b2ZvY3VzQXR0cikpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8mIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVu
dCgpOwotICAgIGlmICghZWxlbWVudC5pc0Nvbm5lY3RlZCgpIHx8ICFkb2N1bWVudC5yZW5kZXJW
aWV3KCkpCisgICAgaWYgKCFlbGVtZW50LmlzQ29ubmVjdGVkKCkgfHwgIWRvY3VtZW50Lmhhc0Jy
b3dzaW5nQ29udGV4dCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGRvY3VtZW50
LmlzU2FuZGJveGVkKFNhbmRib3hBdXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklY
TUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBz
b2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0
IGV4aXN0cy4KQEAgLTIyMSwxMSArMjE4LDEwIEBAIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1
cyhjb25zdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50JiBlbGVtZW50KQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKGVsZW1lbnQuaGFzQXV0b2ZvY3VzZWQoKSkKKyAgICBp
ZiAoZG9jdW1lbnQudG9wRG9jdW1lbnQoKS5pc0F1dG9mb2N1c1Byb2Nlc3NlZCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBGSVhNRTogU2hvdWxkIHRoaXMgc2V0IG9mIGhhc1Rh
Z05hbWUgY2hlY2tzIGJlIHJlcGxhY2VkIGJ5IGEKLSAgICAvLyB2aXJ0dWFsIG1lbWJlciBmdW5j
dGlvbj8KKyAgICAvLyBGSVhNRTogYXV0b2ZvY3VzIGlzIGEgZ2xvYmFsIGF0dHJpYnV0ZS4KICAg
ICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJldHVybiAhZG93
bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkuaXNJbnB1dFR5cGVIaWRkZW4oKTsKICAg
ICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKHNlbGVjdFRhZykpCkBAIC0yNDcsMjIgKzI0Myw2IEBA
IHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKICAgICAv
LyBvbiB0aGUgcmVuZGVyZXIuCiAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVy
KCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Ci0KLSAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKCp0aGlz
KSkgewotICAgICAgICBzZXRBdXRvZm9jdXNlZCgpOwotCi0gICAgICAgIFJlZlB0cjxIVE1MRm9y
bUNvbnRyb2xFbGVtZW50PiBlbGVtZW50ID0gdGhpczsKLSAgICAgICAgUmVmUHRyIGZyYW1lVmll
dyA9IGRvY3VtZW50KCkudmlldygpOwotICAgICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmll
dy0+bGF5b3V0Q29udGV4dCgpLmlzSW5MYXlvdXQoKSkgewotICAgICAgICAgICAgZnJhbWVWaWV3
LT5xdWV1ZVBvc3RMYXlvdXRDYWxsYmFjayhbZWxlbWVudF0gewotICAgICAgICAgICAgICAgIGVs
ZW1lbnQtPmZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFy
dCB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgU3R5
bGU6OmRlcHJlY2F0ZWRRdWV1ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2soW2VsZW1lbnRdIHsKLSAg
ICAgICAgICAgICAgICBlbGVtZW50LT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6
UGxhY2VDYXJldEF0U3RhcnQgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0K
IH0KIAogdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChE
b2N1bWVudCYgb2xkRG9jdW1lbnQsIERvY3VtZW50JiBuZXdEb2N1bWVudCkKQEAgLTMwMSw2ICsy
ODEsMTAgQEAgTm9kZTo6SW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQgSFRNTEZvcm1Db250cm9s
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW4KICAgICAgICAgc2V0QW5jZXN0b3JEaXNh
YmxlZChjb21wdXRlSXNEaXNhYmxlZEJ5RmllbGRzZXRBbmNlc3RvcigpKTsKICAgICBIVE1MRWxl
bWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoaW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJbnNlcnRl
ZFRyZWUpOwogICAgIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3Io
aW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJbnNlcnRlZFRyZWUpOworCisgICAgaWYgKHNob3VsZEF1
dG9mb2N1cygqdGhpcykpCisgICAgICAgIGRvY3VtZW50KCkudG9wRG9jdW1lbnQoKS5hcHBlbmRB
dXRvZm9jdXNDYW5kaWRhdGUoKnRoaXMpOworCiAgICAgcmV0dXJuIEluc2VydGVkSW50b0FuY2Vz
dG9yUmVzdWx0OjpOZWVkc1Bvc3RJbnNlcnRpb25DYWxsYmFjazsKIH0KIApAQCAtMzk2LDYgKzM4
MCwxMSBAQCBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBj
b25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNp
bmdTdGVwc0ZvckF1dG9mb2N1cygpCit7CisgICAgZm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlv
bk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOworfQorCiBib29sIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6Om1hdGNoZXNWYWxpZFBzZXVkb0NsYXNzKCkgY29uc3QKIHsKICAgICByZXR1cm4gd2ls
bFZhbGlkYXRlKCkgJiYgaXNWYWxpZEZvcm1Db250cm9sRWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCAyNWUzNDUwMGVhYWE2MGFj
ZmY5OTU0YzRmYWJlMzU3NTQ1ZmUyOTE1Li45Y2JhYjE5ZDdlNDljZTIyYmM3NTNlMGM3ZGY2YWU2
ZTgyZWVlOGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuaApAQCAtMTE2LDkgKzExNiw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVhZE9ubHkoKSBj
b25zdCB7IHJldHVybiBtX2lzUmVhZE9ubHk7IH0KICAgICBib29sIGlzRGlzYWJsZWRPclJlYWRP
bmx5KCkgY29uc3QgeyByZXR1cm4gaXNEaXNhYmxlZEZvcm1Db250cm9sKCkgfHwgbV9pc1JlYWRP
bmx5OyB9CiAKLSAgICBib29sIGhhc0F1dG9mb2N1c2VkKCkgY29uc3QgeyByZXR1cm4gbV9oYXNB
dXRvZm9jdXNlZDsgfQotICAgIHZvaWQgc2V0QXV0b2ZvY3VzZWQoKSB7IG1faGFzQXV0b2ZvY3Vz
ZWQgPSB0cnVlOyB9Ci0KICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgYXV0b2NvbXBsZXRlKCkg
Y29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBdXRvY29tcGxldGUoY29uc3QgU3Ry
aW5nJik7CiAKQEAgLTE3MCw2ICsxNjcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVmRm9ybUFz
c29jaWF0ZWRFbGVtZW50KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQogICAgIHZvaWQgZGVyZWZGb3Jt
QXNzb2NpYXRlZEVsZW1lbnQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KIAorICAgIHZvaWQgcnVu
Rm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpIGZpbmFsOworCiAgICAgYm9vbCBtYXRjaGVzVmFs
aWRQc2V1ZG9DbGFzcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgbWF0Y2hlc0ludmFsaWRQ
c2V1ZG9DbGFzcygpIGNvbnN0IG92ZXJyaWRlOwogCkBAIC0yMTUsOCArMjE0LDYgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX2lzVmFsaWQgOiAxOwogCiAgICAgdW5zaWduZWQgbV93YXNDaGFu
Z2VkU2luY2VMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudCA6IDE7Ci0KLSAgICB1bnNpZ25lZCBt
X2hhc0F1dG9mb2N1c2VkIDogMTsKIH07CiAKIGNsYXNzIERlbGF5ZWRVcGRhdGVWYWxpZGl0eVNj
b3BlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDg4NTMzYjNkMmIzNzE4MmUxNjA1MmZlZDEyOTM2
OGE0NmU0MjI5YWYuLmQ3YmJjNGNiZDY4MDM3NWM0ZWE5ODVlMjZlN2FiZGNiYjBjNmUwYWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcApAQCAtMTU2MCw3ICsxNTYwLDEwIEBAIHZvaWQgUGFnZTo6dXBkYXRl
UmVuZGVyaW5nKCkKICAgICAgICAgZm9yRWFjaERvY3VtZW50KHBlckRvY3VtZW50RnVuY3Rpb24p
OwogICAgIH07CiAKLSAgICAvLyBGSVhNRTogRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMuCisg
ICAgcnVuUHJvY2Vzc2luZ1N0ZXAoUmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1c2hBdXRvZm9jdXND
YW5kaWRhdGVzLCBbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGlmIChkb2N1bWVu
dC5pc1RvcERvY3VtZW50KCkpCisgICAgICAgICAgICBkb2N1bWVudC5mbHVzaEF1dG9mb2N1c0Nh
bmRpZGF0ZXMoKTsKKyAgICB9KTsKIAogICAgIHJ1blByb2Nlc3NpbmdTdGVwKFJlbmRlcmluZ1Vw
ZGF0ZVN0ZXA6OlJlc2l6ZSwgW10gKERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1
bWVudC5ydW5SZXNpemVTdGVwcygpOwpAQCAtMzYwNSw2ICszNjA4LDcgQEAgU3BlZWNoUmVjb2du
aXRpb25Db25uZWN0aW9uJiBQYWdlOjpzcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb24oKQogV1RG
OjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYgdHMsIFJlbmRlcmluZ1Vw
ZGF0ZVN0ZXAgc3RlcCkKIHsKICAgICBzd2l0Y2ggKHN0ZXApIHsKKyAgICBjYXNlIFJlbmRlcmlu
Z1VwZGF0ZVN0ZXA6OkZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlczogdHMgPDwgIkZsdXNoQXV0b2Zv
Y3VzQ2FuZGlkYXRlcyI7IGJyZWFrOwogICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVz
aXplOiB0cyA8PCAiUmVzaXplIjsgYnJlYWs7CiAgICAgY2FzZSBSZW5kZXJpbmdVcGRhdGVTdGVw
OjpTY3JvbGw6IHRzIDw8ICJTY3JvbGwiOyBicmVhazsKICAgICBjYXNlIFJlbmRlcmluZ1VwZGF0
ZVN0ZXA6Ok1lZGlhUXVlcnlFdmFsdWF0aW9uOiB0cyA8PCAiTWVkaWFRdWVyeUV2YWx1YXRpb24i
OyBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTRmOGI4ZGE5MjA2OTYzNzg4YzUxNjE2NTNlNTA1
Y2NjMDA1MzgzOS4uYjUzZjY4ZTYzMGUzMjJlOTc0NGE0YmZiYzkwN2I5ZWVhZTJlNTAzYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKQEAgLTIwOCw5ICsyMDgsMTEgQEAgZW51bSBjbGFzcyBSZW5kZXJpbmdVcGRh
dGVTdGVwIDogdWludDE2X3QgewogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgU2Ny
b2xsaW5nVHJlZVVwZGF0ZSAgICAgICAgICAgICA9IDEgPDwgMTMsCiAjZW5kaWYKKyAgICBGbHVz
aEF1dG9mb2N1c0NhbmRpZGF0ZXMgICAgICAgID0gMSA8PCAxNCwKIH07CiAKIGNvbnN0ZXhwciBP
cHRpb25TZXQ8UmVuZGVyaW5nVXBkYXRlU3RlcD4gdXBkYXRlUmVuZGVyaW5nU3RlcHMgPSB7Cisg
ICAgUmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzLAogICAgIFJl
bmRlcmluZ1VwZGF0ZVN0ZXA6OlJlc2l6ZSwKICAgICBSZW5kZXJpbmdVcGRhdGVTdGVwOjpTY3Jv
bGwsCiAgICAgUmVuZGVyaW5nVXBkYXRlU3RlcDo6TWVkaWFRdWVyeUV2YWx1YXRpb24sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYzUyN2Q5NWVmNjk4MzVhODkzYmNlMzFhZWJhZWQxNzUwNDFlMmM0YS4uNTcyYjhkMDNjNWFj
NDAzNjU2ZTM3MTAxM2QyNDliZTkxZTkyNTI4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIx
LTEwLTA1ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50
IG5ldyBhdXRvZm9jdXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBX
ZWJLaXQgbWF0Y2ggdGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlCisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFs
IHBhdGNoIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNj
cmlwdHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVy
YS0wMDUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLWF1dG9mb2N1cy1yZW1vdmFs
LXdoaWxlLWZvY3VzaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1p
ZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sOgorICAgICAgICAqIGZhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWw6CisgICAg
ICAgICogcGx1Z2lucy9vYmplY3Qtb25mb2N1cy1tdXRhdGlvbi1jcmFzaC5odG1sOgorCiAyMDIx
LTEwLTA1ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVu
bmVjZXNzYXJ5IGF1dG9mb2N1cyBhdHRyaWJ1dGUgZGVwZW5kZW5jaWVzIGluIHRlc3RzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwN2RmOWFjM2MwOWQ1NDZlMDIzY2U1YTZhNzE4
ZWQzYjg1Mjc0ZDc2Li42ZmRiNmFiOWI3NTkwNTA3NzI2NDljYzUxNzU1Y2RlNTFlYWMwZGIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0xMC0w
NSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBuZXcg
YXV0b2ZvY3VzIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDMxMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2Mzk3MDE5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgV2ViS2l0
IG1hdGNoIHRoZSBuZXcgYXV0b2ZvY3VzIHNwZWM6CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCN0aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZQorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2ludGVyYWN0aW9uLmh0bWwjZm9jdXNpbmctc3RlcHMKKworICAgICAgICBPcmlnaW5hbCBwYXRj
aCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZy
YWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13
aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRy
aWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4t
bGF0ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2Fi
bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5n
LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMC0wNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgogCiAgICAgICAgIFRlc3QgYSBmb250IHBhbGV0dGUgaWRlbnRpZmllciBv
ZiBqdXN0ICItLSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFmYTNkY2I1MzQ0ZDVmMTU0OTkzYWY4
NDdjZDQzZTRiZTViNjYwYWYuLjA2ZGNlZGVlODhjYWNkMjRlZDdhOTBiNDE5OTQxNTgwM2U3ZmM3
NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODAzLDcgKzgwMyw2IEBAIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1oaXN0b3J5LWludGVy
ZmFjZS8wMDIuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
aGlzdG9yeS90aGUtaGlzdG9yeS1pbnRlcmZhY2UvY29tYmluYXRpb25faGlzdG9yeV8wMDIuaHRt
bCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvaGlzdG9yeS90aGUtaGlzdG9yeS1pbnRlcmZhY2UvY29tYmluYXRpb25faGlzdG9y
eV8wMDMuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9leGVjdXRp
b24tdGltaW5nLzA1OC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS91cGRhdGUtdGhlLXJlbmRlcmluZy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvd2lkZ2V0cy9iYXNlbGluZS1hbGln
bm1lbnQtYW5kLW92ZXJmbG93LnRlbnRhdGl2ZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVu
dC9tZWRpYS1lbGVtZW50cy9sb2FkaW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9yZXNvdXJjZS1zZWxl
Y3Rpb24tcG9pbnRlci1yZW1vdmUtc291cmNlLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50
L3RoZS1pZnJhbWUtZWxlbWVudC9jcm9zcy1vcmlnaW4tdG8td2hvbS53aW5kb3cuaHRtbCBbIEZh
aWx1cmUgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2Rl
LWNyYXNoLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1j
cmFzaC0yLWV4cGVjdGVkLnR4dAppbmRleCBlYzk4MWVhYzFhZGJmYjRiZGRmYmNhYmRlMzVjNDE3
Y2E2MTMxMDk4Li4yOTVlOGRhZmQ3YWE0ZGI2ZDhiZWYyYmM2YjdlODFjMDc2OWNjNjg0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3Rl
ZC50eHQKQEAgLTEsMiArMSw0IEBACiBUZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8gYWRvcHRpbmcg
YSBET00gbm9kZSBkdXJpbmcgRE9NRm9jdXNPdXQgZXZlbnQuIFRlc3QgcGFzc2VzIGlmIGl0IGRv
ZXNuJ3QgY3Jhc2guCiAKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9w
dC1ub2RlLWNyYXNoLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jh
c2gtMi5odG1sCmluZGV4IGY2OGQwMTdiYjMwN2ZkMjJhYTYzODgwNGNiZDY3NmYzNDAzYmE5NjYu
Ljg2YzY2NmFjYzFmZDRkYTgxMTdlYjAyOGQ2NTA4NGNjYWIxYWM1MGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sCkBAIC0zMiwxMSArMzIsMTMgQEAg
ZnVuY3Rpb24gZG9pdCgpCiAgICAgZGl2MS5vdXRlckhUTUwgPSBoZWFkZXIxLm91dGVySFRNTDsK
IH0KIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAod2luZG93LmludGVybmFs
cykKLSAgICAgICAgaW50ZXJuYWxzLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
c0FuZFJ1blBvc3RMYXlvdXRUYXNrcygpOwotICAgIGVsc2UKLSAgICAgICAgZGl2Mi5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTsKLSAgICBzZXRUaW1lb3V0KCJkb2l0KCkiLCAxKTsKKyAgICByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KGRvaXQsIDApOwor
ICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAg
fSwgNTApOworICAgIH0pOwogfQogPC9zY3JpcHQ+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5k
Ym94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKaW5kZXggY2Y4NmZiNGM1ZWE2OTAz
ZWIwOGE3MGUyNjRhMDI3ODliNjIwODc5NC4uNTBhY2ZiNjdkZjg5YjAxNTExNzU3ZjIzOTE1Yjcw
ZjRhZmJjN2Q5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
aW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4
cGVjdGVkLnR4dApAQCAtMSwyICsxLDcgQEAKLUNPTlNPTEUgTUVTU0FHRTogSU5QVVQKLVRoaXMg
dGVzdCBwYXNzZXMgaWYgdGhlIGFjdGl2ZUVsZW1lbnQgaXMgdGhlIGlucHV0IGVsZW1lbnQgcmF0
aGVyIHRoYW4gdGhlIGJvZHkgKHdoaWNoIGl0IHdvdWxkIGJlIGlmIHRoZSBzYW5kYm94IGRpZG4n
dCBhbGxvdyBhdXRvZm9jdXMgYWx0aG91Z2ggYWxsb3ctc2NyaXB0cyBmbGFnIGlzIHNldCkuCitU
aGlzIHRlc3RzIGhhdmluZyBhbiBpbnB1dCBlbGVtZW50IHdpdGggYXV0b2ZvY3VzIGNvbnRlbnQg
YXR0cmlidXRlIGluc2lkZSBhIHNhbmRib3hlZCBpZnJhbWUuCitUaGUgaW5wdXQgZWxlbWVudCBz
aG91bGQgYmUgYXV0b2ZvY3VzZWQgc2luY2Ugc2NyaXB0cyBhcmUgYWxsb3dlZC4KKworLS0tLS0t
LS0KK0ZyYW1lOiAnPCEtLWZyYW1lMS0tPicKKy0tLS0tLS0tCitQQVNTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2Ny
aXB0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13
aXRoLWFsbG93LXNjcmlwdHMuaHRtbAppbmRleCA0ZjIyMzg2OGZkN2U2ZjE4OWVjNTNmNzI2MmU3
NmJkYjk4NjdiYzVhLi5lYzNlMzgwMTBmYzg0NGFmYjM5MjIyODgwZTM0ZjkzYjE1OTZkZmQ4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdp
dGgtYWxsb3ctc2NyaXB0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2Zv
Y3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwKQEAgLTEsOCArMSwxOSBAQAog
PHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcENoaWxk
RnJhbWVzQXNUZXh0KCk7Cit9CiA8L3NjcmlwdD4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGFj
dGl2ZUVsZW1lbnQgaXMgdGhlIGlucHV0IGVsZW1lbnQgcmF0aGVyIHRoYW4gdGhlIGJvZHkKLSh3
aGljaCBpdCB3b3VsZCBiZSBpZiB0aGUgc2FuZGJveCBkaWRuJ3QgYWxsb3cgYXV0b2ZvY3VzIGFs
dGhvdWdoIGFsbG93LXNjcmlwdHMgZmxhZyBpcyBzZXQpLgotPGlmcmFtZSBzYW5kYm94PSJhbGxv
dy1zY3JpcHRzIGFsbG93LW1vZGFscyIKLSAgICBzcmM9ImRhdGE6dGV4dC9odG1sLDxpbnB1dCBh
dXRvZm9jdXMgb25mb2N1cz48c2NyaXB0PndpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsgY29u
c29sZS5sb2coZG9jdW1lbnQuYWN0aXZlRWxlbWVudC50YWdOYW1lKSB9PC9zY3JpcHQ+Ij48L2lm
cmFtZT4KK1RoaXMgdGVzdHMgaGF2aW5nIGFuIGlucHV0IGVsZW1lbnQgd2l0aCBhdXRvZm9jdXMg
Y29udGVudCBhdHRyaWJ1dGUgaW5zaWRlIGEgc2FuZGJveGVkIGlmcmFtZS48YnI+CitUaGUgaW5w
dXQgZWxlbWVudCBzaG91bGQgYmUgYXV0b2ZvY3VzZWQgc2luY2Ugc2NyaXB0cyBhcmUgYWxsb3dl
ZC4KKzxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIKKyAgICBzcmM9ImRhdGE6dGV4dC9o
dG1sLDxpbnB1dCBpZD1pbnB1dCBhdXRvZm9jdXMgb25mb2N1cz48c2NyaXB0PgorICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cisg
ICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQgPT0gaW5wdXQgPyAnUEFTUycgOiAnRkFJTCcpOworICAgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgICAgICB9KTsKKyAgICB9PC9zY3JpcHQ+Ij48L2lmcmFtZT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMta2V5Z2VuLmh0bWwKaW5kZXggNzcwNzBlOGRiMDZi
NTRjOWI5MGZlNmQzMTAyNjgzZGE4NTRiYzBjYy4uMGM3NjVkZTMyM2EyM2IwNTI0ZDM3MGVjNTJh
ZGJmNWQwNDZhMjg1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9j
dXMta2V5Z2VuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMta2V5
Z2VuLmh0bWwKQEAgLTYsOSArNiwxMSBAQAogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwog
CiBmdW5jdGlvbiBvbkxvYWQoKSB7Ci0gICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1l
bnQnLCAnZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigia2V5Z2VuIiknKTsKLSAgICBzaG91bGRCZSgn
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5hdXRvZm9jdXMnLCAndHJ1ZScpOwotICAgIGZpbmlzaEpT
VGVzdCgpOworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHNob3Vs
ZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50JywgJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImtl
eWdlbiIpJyk7CisgICAgICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmF1dG9m
b2N1cycsICd0cnVlJyk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0pOwogfQogPC9z
Y3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwMS5odG1sCmluZGV4IDNiOTRlODhjMjA5MDdkMzE5YTA0ZDhlYjViNDE5OWMwNDI4YjZl
MGMuLjY1MGVjMDcwNTYyMmZjOGNmNTdhMDQ5ODhkNWI5ZjVjZDA2ZTY4YzIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sCkBAIC0xMSwxMyAr
MTEsMTkgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgaWYg
KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
ImlucHV0IilbMF0pCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgo
KSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBsb2co
IlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxV
UkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+
CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1v
cGVyYS0wMDIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAw
Mi5odG1sCmluZGV4IGZhNzBiNTdkNGJiMTBlODU5NDZhMTBkMDVjZDg2NzFlODVhMzg5NmMuLjI0
YWUyZDRmZjM5MWEyOWYyNWM4MWViNDk0YzY5YjE3NWVmOGRjYWEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCkBAIC0xMSwxMyArMTEsMjAg
QEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgaWYgKGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0
IilbMF0pCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7
CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NF
U1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSkKKwogICAgIH0KIDwvc2NyaXB0PgogPC9o
ZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEt
MDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRt
bAppbmRleCA5YWVhMjNlN2RhYTAyNGU0ZDIxODZkMWQzMWZhNTRhNTdmZDc5NjRjLi40YWQ3NzAx
N2I0N2ZhY2RmZmIwNjk4MGFlMjhkYTRkODQ0M2QwNTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbApAQCAtMTIsMTQgKzEyLDIwIEBACiAg
ICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgICAgICAgIH0KIAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSAmJgotICAgICAgICAgICAg
ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgIT0gMCkKLSAgICAgICAgICAgIGxv
ZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsK
KyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChk
b2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJp
bnB1dCIpWzBdICYmCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5z
Y3JvbGxUb3AgIT0gMCkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNC5odG1sCmluZGV4IDRhM2RmYzQ2
N2Q5OGJjYjAyMjMwMTM2YTkyN2E1NjI4OGQ0ZjllMGEuLjI2ZmEyZTE4NDMzMGYzNDQ5OTRmY2Jl
NDM5MjkyNTdhZmViOTk2MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0
b2ZvY3VzLW9wZXJhLTAwNC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2Zv
Y3VzLW9wZXJhLTAwNC5odG1sCkBAIC0yMSw5ICsyMSw5IEBACiAgICAgICAgIGlucHV0LnNldEF0
dHJpYnV0ZSgnYXV0b2ZvY3VzJywnZmFsc2UnKTsKICAgICAgICAgcC5hcHBlbmRDaGlsZChpbnB1
dCk7CiAKLSAgICAgICAgc2V0VGltZW91dChjaGVjaywgMCk7CisgICAgICAgIHJlcXVlc3RBbmlt
YXRpb25GcmFtZShjaGVjayk7CiAgICAgfQotICAgIAorCiAgICAgZnVuY3Rpb24gY2hlY2soKSB7
CiAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQogICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNS5odG1sCmluZGV4
IDUwOThjMGFmZGFjOWJjNzllOTg0Yjg5NDI1ODQ0NjI1MjM4NWU1MmUuLmU1MjRiYTE0YzBlNWY0
YjgwMzA0YmQ5NWEzZmU1ODZmNmU0ZjVjZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvYXV0b2ZvY3VzLW9wZXJhLTAwNS5odG1sCkBAIC0yMSwxMCArMjEsMTAgQEAKICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHNldFRpbWVvdXQoY2hl
Y2ssIDApOworCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShjaGVjayk7CiAgICAgfQot
ICAgIAorCiAgICAgZnVuY3Rpb24gY2hlY2soKSB7CiAgICAgICAgIGlmIChkb2N1bWVudC5hY3Rp
dmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQog
ICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sCmluZGV4IDNkYTM5MzQ2OTg4YmYzMGZjYzQ4YmNhMDYx
OTMxNWY0NjUxMzVjNjkuLjlkNzdkOWMwMzhjYzFlNjJiMTZlOGZiN2Y1Mzg5MGRiMjU3ZjdhNWEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1s
CkBAIC0xMSwyMyArMTEsMzAgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3RB
bmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxl
bWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpKQorICAgICAgICAgICAgICAg
IGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygi
RkFJTFVSRSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKIAotICAgICAgICBp
ZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVz
dCIpKQotICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIGxvZygiRkFJTFVSRSIpOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25s
b2FkPSJ0ZXN0KCkiPgogPHA+QWxsIGZvcm0gY29udHJvbHMgYmVsb3cgc2hvdWxkIGhhdmUgYSBn
cmVlbiBiYWNrZ3JvdW5kOjwvcD4KLTxwPjxpbnB1dCBhdXRvZm9jdXM+Cis8cD48aW5wdXQgYXV0
b2ZvY3VzIGlkPSJ0ZXN0Ij4KIDxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8cD48aW5wdXQgYXV0b2Zv
Y3VzPgogPHA+PGlucHV0PgotPHA+PGlucHV0IGF1dG9mb2N1cyBpZD0idGVzdCI+Cis8cD48aW5w
dXQgYXV0b2ZvY3VzPgogPHA+PGlucHV0PgogPGhyLz4KIDxvbCBpZD0iY29uc29sZSI+PC9vbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKaW5k
ZXggMTEyNWI1YjNkOWYxZmVhMzQzODEyZmE2YmRhMzYyZTgxZjY3OGJlMy4uMDY2MGE4MGQxMWVh
YTQwMjg5ODM2M2Y2OTEwNDRkZTk4YzE5OTM4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKQEAgLTE3LDEzICsxNywxOSBAQAogICAgIH0K
ICAgICAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICAgICAgfQogCi0gICAgICAgIGlmIChnb3RCbHVyKQotICAgICAgICAgICAgbG9nKCJT
VUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAg
ICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGdvdEJs
dXIpCisgICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
ICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIu
aHRtbAppbmRleCBiN2ExZDhjOWY4NTk4ZWUwMmEzYTY3NmYwZGY4ZThhZmU0NGIyODY1Li5hZDlj
NjY5YWU5YTE4NTEwMTFhZDk2ZDA0ZTQ5YjliMjliNTkwNTA2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhh
bmRsZXIuaHRtbApAQCAtMTAsMTYgKzEwLDI1IEBACiBmdW5jdGlvbiBmb2N1c2VkKCkgewogICAg
IGlmIChpbnB1dC5hdXRvZm9jdXMpIHsKICAgICAgICAgaW5wdXQudHlwZSA9ICJjaGVja2JveCI7
Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIjxjb2RlIHN0eWxlPSdjb2xvcjog
Z3JlZW4nPlBBU1M8L2NvZGU+IjsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAi
RkFJTCAtIGZvY3VzIGV2ZW50IGhhbmRsZXIgY2FsbGVkIGZvciBhdXRvZm9jdXMiOworICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaW5wdXQpOwogICAgIGlucHV0LmF1dG9mb2N1cyA9IHRydWU7CisgICAgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCA9
IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuYm9keSA/ICJQQVNTIiA6ICJGQUlM
IjsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgfSk7CiB9CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQogCiBpbnB1dC5mb2N1cygpOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVh
LWF1dG9mb2N1cy1yZW1vdmFsLXdoaWxlLWZvY3VzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLWF1dG9mb2N1cy1yZW1vdmFsLXdoaWxlLWZvY3VzaW5n
Lmh0bWwKaW5kZXggYzU5NWE5MjQzZTM4NzA4YjllYzM2YTlkNzczMGNjYjEwODk0ZTg2Yy4uODY2
YTMyMTI5ZTUxZGYwODI2MDg3YTZiZWFkYTgyZGM5MjE4OGU2OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS90ZXh0YXJlYS1hdXRvZm9jdXMtcmVtb3ZhbC13aGls
ZS1mb2N1c2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEvdGV4
dGFyZWEtYXV0b2ZvY3VzLXJlbW92YWwtd2hpbGUtZm9jdXNpbmcuaHRtbApAQCAtMiwxNiArMiwy
MSBAQAogPGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+Ci10ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgidGV4dGFyZWEiKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
fQorCitjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7
CiB0ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoImF1dG9mb2N1cyIsICIiKTsKIHRleHRhcmVhLmFkZEV2
ZW50TGlzdGVuZXIoIkRPTUZvY3VzSW4iLCBmdW5jdGlvbiAoKSB7IGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5pbm5lckhUTUwgPSAiIjsgfSwgZmFsc2UpOwogZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LmFwcGVuZENoaWxkKHRleHRhcmVhKTsKLXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
eworCityZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gewogICAgIGRvY3VtZW50LmJvZHkuaW5u
ZXJIVE1MID0gIlBBU1MgdW5sZXNzIGNyYXNoLiI7Ci0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci19LCAwKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworfSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92
ZS1pbi1ldmVudGhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdo
ZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbAppbmRleCA2ZjVhMmU5MTll
ZGY5YTk2M2JhOGY3ZWRlNGU5MDY2MjE1MGJmNmZkLi5jODk4NjY3ZmM0ZGM2NmE1Y2NiMGRjY2U0
YzcxMGM1ZWViNjkxYTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9jcmFz
aC13aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFu
ZGxlci5odG1sCkBAIC02LDEzICs2LDIwIEBAIFBBU1MgaWYgbm8gY3Jhc2guCiA8c3BhbiBpZD13
cmFwcGVyPjwvc3Bhbj4KIDx0ZXh0YXJlYSBpZD10ZXh0YXJlYSBvbmZvY3VzPSJldmVudGhhbmRs
ZXIoKSI+PC90ZXh0YXJlYT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCitpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwogZG9jdW1lbnQub2Zmc2V0SGVpZ2h0Owog
dGV4dGFyZWEuYXV0b2ZvY3VzID0gdHJ1ZTsKIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpZnJhbWUiKTsKIHNwYW4uYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIHdyYXBwZXIuYXBw
ZW5kQ2hpbGQodGV4dGFyZWEpOworcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
fSk7CiBpZnJhbWUuY29udGVudERvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsKIAogZnVu
Y3Rpb24gZXZlbnRoYW5kbGVyKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0
b3JlLmh0bWwKaW5kZXggNjNjZjhhMjIxOThkNzA5ZjNmYTk4YWY1NTk3MTM5Mzg5MDI1NWRhMi4u
YzJmNTg0NTc1OTRiODMzYWQ3YjUyMzc0YjA1MWFiYTViZjQxYzk5OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJl
c3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVj
dXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCkBAIC0xNiw4ICsxNiwxMCBAQCBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93
IiwgKGV2ZW50KSA9PiB7Ci0gICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkKKyAgICBpZiAoZXZlbnQu
cGVyc2lzdGVkKSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmaW5pc2gpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAg
c2V0VGltZW91dChydW5UZXN0LCAwKTsKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1h
dXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJh
Z21lbnQtZW1wdHktZXhwZWN0ZWQudHh0CmluZGV4IGE0NTJkNTNlZGJhNjM1ODdkOWMyZWJkYzZm
NmE1MGQ1M2ZlNGVmZTUuLmQ0MTkyOWY5YjdkZjdiMThkNjAyZGFkNDYwOGJlZmUwNzE1ZmNhMjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13
aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9m
b2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBk
b2N1bWVudHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1
YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0i
Ij48L2lucHV0PgorUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMg
d2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVtZW50
cyBpbiB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCdzIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZy
YWdtZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJh
Z21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDJiMWU1N2Q2MjgyOTU2OTE4ZDI3
MjE1NTVkMDRkNTgwMmFiN2RmNmQuLjhkZDZiNGM3NzBjZTlhYTVjYzI5YmZjODVjY2U0MmQ1ZGNl
ZTg3ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1
bWVudC13aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlz
dGVudC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxl
bWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRzIHNo
b3VsZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVu
dCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1l
bnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91
bGQgd29yay4KIFBBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBj
b250ZXh0J3MgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29y
ay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3Vt
ZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2Zv
Y3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQKaW5k
ZXggMDM3NDEwOWEzMGM2MjRkYmQ5NGQ4NzkxM2I0ZTMzOGVlOTE5OTNlZi4uOGJhNTBhNTFhM2Rh
ZDU3MGQ0OTI3NzQ5OTk3MmQ1OTRkNWRmZWI5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1h
dXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1m
cmFnbWVudC10b3AtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKLUZBSUwgQXV0b2Zv
Y3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNo
b3VsZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVu
dCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1l
bnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3b3Jr
LgogUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQn
cyBkb2N1bWVudHMgd2l0aCAidG9wIiBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRl
cmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJh
Y3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDk4NzMyN2IxYTdiOWJiNmFhMWYyYjZiNDQwNjM3NzEwYmU4ZjAwNmUuLmNlOTI2NzY3ZjMw
NDJkZTIyOTgwNDAzM2QyZWZlNTU1ZWFkNjUyZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUt
YXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAK
IAogCi1GQUlMIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQgc2hv
dWxkIHdpbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRv
Zm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0i
Ij48L2lucHV0PgorUEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaW4gdGhlIGRvY3Vt
ZW50IHNob3VsZCB3aW4uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0
b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dAppbmRleCBmZTAy
MTE4YTM0OWEzYWNjOWY4Y2FlZDg5MTc4MWYwMWMyODgxNDVmLi41ZjRjMzE1YzY4NzhlM2M2OGI3
YWQyZjhjOWNhMjk2MTFlZmQ1YzlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1l
bnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1
dCBnb3QgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgVGhl
IGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBh
cmUgaW5zZXJ0ZWQgbGF0ZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3Vz
LWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90
aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dApp
bmRleCAzM2Q4MzA4N2UxOGY2ZDlkOWIyZmFmNDUyYTNlZGJlOTYwNzNiMTVkLi5hNTg0OWQ2MjIz
NTMxOGNiODhhMzFhZjRhMmQ5NGY3YzcxMTgxMDUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhl
LWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgSWYgdGhlIGZpcnN0IGF1dG9m
b2N1cyBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUsIGJ1dCBiZWNvbWVzIGZvY3VzYWJsZSBiZWZv
cmUgYSBmcmFtZSwgaXQgc2hvdWxkIGJlIGZvY3VzZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IEVsZW1lbnQgbm9kZSA8dGV4dGFyZWEgYXV0b2ZvY3VzPSIiPjwvdGV4dGFyZWE+IGJ1dCBnb3Qg
RWxlbWVudCBub2RlIDxzZWxlY3QgYXV0b2ZvY3VzPSIiPjwvc2VsZWN0PgorUEFTUyBJZiB0aGUg
Zmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSwgYnV0IGJlY29tZXMgZm9j
dXNhYmxlIGJlZm9yZSBhIGZyYW1lLCBpdCBzaG91bGQgYmUgZm9jdXNlZC4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5n
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUt
dGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKaW5kZXggMTM1NDFmNjRmZDYxNTIxNDliMjc4OGNh
NDI5MjkzZGFjYmI3MjE4Ny4uMGNiYzc3ZWY3MWM5MjFlYWI4MWVhOTBiNTRmMWI1NWJlN2FmYzI5
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10
aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1h
dHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBA
QAogCi0KLUZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVu
IGFmdGVyIHRoZSBmaXJzdCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzLCBhbmQgYmVmb3JlIGEg
cmVzaXplIGV2ZW50IGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZlbnQgbG9vcC4g
YXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDMgZ290IDQKK1BB
U1MgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGJlZm9yZSBh
IHNjcm9sbCBldmVudCBhbmQgYW5pbWF0aW9uIGZyYW1lIGNhbGxiYWNrcwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbHVnaW5zL29iamVjdC1vbmZvY3VzLW11dGF0aW9uLWNyYXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wbHVnaW5zL29iamVjdC1vbmZvY3VzLW11dGF0aW9uLWNyYXNoLmh0bWwK
aW5kZXggYjU4MmFmNjk5MWM5MTdlY2RkZjdlOGQyNjVmYTQxOTA4MGVmYmMzNC4uNTIyZTI4MGZh
NzJjOTU4NGU5YzUzMDA5ZmM2ZjZlZjdjMDliMDljZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGx1Z2lucy9vYmplY3Qtb25mb2N1cy1tdXRhdGlvbi1jcmFzaC5odG1sCisrKyBiL0xheW91dFRl
c3RzL3BsdWdpbnMvb2JqZWN0LW9uZm9jdXMtbXV0YXRpb24tY3Jhc2guaHRtbApAQCAtMSwxMiAr
MSwxNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgorPG9iamVjdCBkYXRhPSJh
Ij4KKyAgICA8aW5wdXQgaWQ9ImlucHV0IiBvbmZvY3VzPSJjcmFzaCgpIj4KKzwvb2JqZWN0Pgog
PHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogCitpbnB1dC5mb2N1
cygpOworCiBmdW5jdGlvbiBmaW5pc2goKSB7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKQEAgLTE0LDExICsxOSw4IEBAIGZ1bmN0
aW9uIGZpbmlzaCgpIHsKIAogZnVuY3Rpb24gY3Jhc2goKSB7CiAgICAgZG9jdW1lbnQuYm9keS5p
bm5lckhUTUwgPSAiUEFTUy4gV2ViS2l0IGRpZG4ndCBjcmFzaC4iOwotICAgIHNldFRpbWVvdXQo
ImZpbmlzaCgpIiwgMCk7CisgICAgZmluaXNoKCk7CiB9CiA8L3NjcmlwdD4KLTxvYmplY3QgZGF0
YT0iYSI+Ci08aW5wdXQgYXV0b2ZvY3VzPSIiIG9uZm9jdXM9ImNyYXNoKCkiPgotPC9vYmplY3Q+
CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440213</attachid>
            <date>2021-10-05 07:48:23 -0700</date>
            <delta_ts>2021-10-06 14:16:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211005164822.patch</filename>
            <type>text/plain</type>
            <size>41104</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU0ZTQxMTQ4NTcxYjNk
YWM3YTIxZWQ0NGRmNDA2MDQwNmI5OWYwMC4uNzgzODg0N2U5YTA3Mjk3ODdlYTAwOWEzNzkyZTk2
ZDM2YWYzMmIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMpOgorICAgICAgICAqIGRvbS9E
b2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzQXV0b2ZvY3VzUHJvY2Vz
c2VkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRBdXRvZm9jdXNQcm9j
ZXNzZWQpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMpOgorICAgICAgICAqIGRvbS9FbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9y
bUNvbnRyb2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEZvcm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9m
b2N1cyk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpoYXNBdXRvZm9jdXNlZCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXRB
dXRvZm9jdXNlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OnVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6
CisKIDIwMjEtMTAtMDUgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXBsYWNlIGRvY3VtZW50LnRvcERvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKSB3aXRoIGRvY3Vt
ZW50LnRvcE9yaWdpbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4YmRmMjIwOTA2YjBj
ZWJhMzkzZGE5ZjJkM2JlM2ZlNmRiZWNkY2NjLi4xYzIxMGIxOTE5NDYxY2E2M2U5MGUyYzc0ZGFj
ZTNmMGIyY2UxOGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ0NzQsNiArNDQ3NCwz
NiBAQCB2b2lkIERvY3VtZW50OjphZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYg
bm9kZSwgTm9kZVJlbW92YWwgbm9kZVJlbW92YQogICAgIH0KIH0KIAordm9pZCBEb2N1bWVudDo6
YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKEVsZW1lbnQmIGNhbmRpZGF0ZSkKK3sKKyAgICBBU1NF
UlQoaXNUb3BEb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoIW1faXNBdXRvZm9jdXNQcm9jZXNzZWQp
OworICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5hcHBlbmRPck1vdmVUb0xhc3QoY2FuZGlkYXRl
KTsKK30KKwordm9pZCBEb2N1bWVudDo6Zmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzKCkKK3sKKyAg
ICBBU1NFUlQoaXNUb3BEb2N1bWVudCgpKTsKKyAgICBpZiAobV9pc0F1dG9mb2N1c1Byb2Nlc3Nl
ZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yICg7ICFtX2F1dG9mb2N1c0NhbmRpZGF0ZXMu
aXNFbXB0eSgpOyBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMucmVtb3ZlRmlyc3QoKSkgeworICAgICAg
ICBSZWYgZWxlbWVudCA9IG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5maXJzdCgpOworICAgICAgICBp
ZiAoIWVsZW1lbnQtPmRvY3VtZW50KCkuaXNGdWxseUFjdGl2ZSgpIHx8ICZlbGVtZW50LT5kb2N1
bWVudCgpLnRvcERvY3VtZW50KCkgIT0gdGhpcykKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICBpZiAoYXV0byogcGFyc2VyID0gc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCk7IHBhcnNl
ciAmJiBwYXJzZXItPmhhc1NjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKSkKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBpZ25vcmUgaWYgdGhlIGluY2x1
c2l2ZSBhbmNlc3RvciBkb2N1bWVudHMgaGFzIGEgdGFyZ2V0IGVsZW1lbnQuCisgICAgICAgIC8v
IEZJWE1FOiBVc2UgdGhlIHJlc3VsdCBvZiBnZXR0aW5nIHRoZSBmb2N1c2FibGUgYXJlYSBmb3Ig
ZWxlbWVudCBpZiBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUuCisgICAgICAgIGlmIChlbGVtZW50
LT5pc0ZvY3VzYWJsZSgpKSB7CisgICAgICAgICAgICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xl
YXIoKTsKKyAgICAgICAgICAgIHNldEF1dG9mb2N1c1Byb2Nlc3NlZCgpOworICAgICAgICAgICAg
ZWxlbWVudC0+cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgfQorfQorCiB2b2lkIERvY3VtZW50Ojpob3ZlcmVkRWxlbWVu
dERpZERldGFjaChFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmICghbV9ob3ZlcmVkRWxlbWVu
dCB8fCAmZWxlbWVudCAhPSBtX2hvdmVyZWRFbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCAzODZlMzc4MjgwODhmM2ZkMWVhN2JmYzgwNjgyZTk1YTg1MDg5MDA2Li5hOTdjYTg2MjUyODgx
YTBjZGZjZjc3Y2M4YjUyZGI3MDMzYjQxNzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzg4
LDYgKzc4OCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJl
bW92YWwoTm9kZSYsIE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogICAgIHZvaWQg
YWRqdXN0Rm9jdXNOYXZpZ2F0aW9uTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1vdmFs
ID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogCisgICAgYm9vbCBpc0F1dG9mb2N1c1Byb2Nlc3NlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQ7IH0KKyAgICB2b2lkIHNldEF1
dG9mb2N1c1Byb2Nlc3NlZCgpIHsgbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCA9IHRydWU7IH0KKyAg
ICB2b2lkIGFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZShFbGVtZW50Jik7CisgICAgdm9pZCBmbHVz
aEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKwogICAgIHZvaWQgaG92ZXJlZEVsZW1lbnREaWREZXRh
Y2goRWxlbWVudCYpOwogICAgIHZvaWQgZWxlbWVudEluQWN0aXZlQ2hhaW5EaWREZXRhY2goRWxl
bWVudCYpOwogCkBAIC0xODAxLDYgKzE4MDYsOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVl
X3B0cjxET01JbXBsZW1lbnRhdGlvbj4gbV9pbXBsZW1lbnRhdGlvbjsKIAogICAgIFJlZlB0cjxO
b2RlPiBtX2ZvY3VzTmF2aWdhdGlvblN0YXJ0aW5nTm9kZTsKKyAgICBMaXN0SGFzaFNldDxSZWY8
RWxlbWVudD4+IG1fYXV0b2ZvY3VzQ2FuZGlkYXRlczsKKyAgICBib29sIG1faXNBdXRvZm9jdXNQ
cm9jZXNzZWQgeyBmYWxzZSB9OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2ZvY3VzZWRFbGVtZW50
OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2hvdmVyZWRFbGVtZW50OwogICAgIFJlZlB0cjxFbGVt
ZW50PiBtX2FjdGl2ZUVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggZWFkNzI2N2E2
OWU3N2YwOTg5ZWVhMTdlZDRjZTMyM2Y1OGE0ZjVjNi4uMmYyZTAyNTJjZWVhOWMzYjg3NTA2YWVi
MDFkZjRjOGJhZDI3ZWI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzE3Myw2ICszMTcz
LDExIEBAIHZvaWQgRWxlbWVudDo6Ymx1cigpCiAgICAgfQogfQogCit2b2lkIEVsZW1lbnQ6OnJ1
bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKQoreworICAgIGZvY3VzKCk7Cit9CisKIHZvaWQg
RWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBSZWZQdHI8RWxlbWVudD4mJiBvbGRGb2N1c2VkRWxlbWVudCkKIHsKICAgICBSRUxFQVNFX0FT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5N
YWluVGhyZWFkOjppc1NjcmlwdEFsbG93ZWQoKSB8fCAhaXNJbldlYlByb2Nlc3MoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAppbmRleCA0NjdhMzU1Y2ExMzg3M2ZmNTgwYjNjMTUwYTIyMWNhODAyZWNhNzU0
Li5iMGY4NmM4ZjFhODE5MjBmYzBkZTY2OThlZjZiNDY4NGEwYWVkNTA1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKQEAgLTQwNiw2ICs0MDYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZWZQdHI8RWxl
bWVudD4gZm9jdXNBcHBlYXJhbmNlVXBkYXRlVGFyZ2V0KCk7CiAgICAgdmlydHVhbCB2b2lkIHVw
ZGF0ZUZvY3VzQXBwZWFyYW5jZShTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGUsIFNlbGVjdGlvblJl
dmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwpOwogICAgIHZpcnR1YWwgdm9p
ZCBibHVyKCk7CisgICAgdmlydHVhbCB2b2lkIHJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBpbm5lckhUTUwoKSBjb25zdDsKICAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgb3V0ZXJIVE1MKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCA5YjI2OTc2YTYwMzRhODA1
ZmYwOWRhNjQ0ZjU2YzExZWQ5ZmRhMWJjLi4wOTM3YWQ2OTE5MjBmZTg1ZDJlZTM1NzdmMmE0ZDNl
ODNmNjE3M2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAKQEAgLTcyLDcgKzcyLDYgQEAgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6SFRNTEZv
cm1Db250cm9sRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2MKICAgICAs
IG1fd2lsbFZhbGlkYXRlKHRydWUpCiAgICAgLCBtX2lzVmFsaWQodHJ1ZSkKICAgICAsIG1fd2Fz
Q2hhbmdlZFNpbmNlTGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoZmFsc2UpCi0gICAgLCBtX2hh
c0F1dG9mb2N1c2VkKGZhbHNlKQogewogICAgIHNldEhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxi
YWNrcygpOwogfQpAQCAtMjAzLDEzICsyMDIsMTEgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50OjpyZXF1aXJlZFN0YXRlQ2hhbmdlZCgpCiAKIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1
cyhjb25zdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50JiBlbGVtZW50KQogewotICAgIGlmICghZWxl
bWVudC5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFlbGVtZW50
Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXV0b2ZvY3VzQXR0cikpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8mIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVu
dCgpOwotICAgIGlmICghZWxlbWVudC5pc0Nvbm5lY3RlZCgpIHx8ICFkb2N1bWVudC5yZW5kZXJW
aWV3KCkpCisgICAgaWYgKCFlbGVtZW50LmlzQ29ubmVjdGVkKCkgfHwgIWRvY3VtZW50Lmhhc0Jy
b3dzaW5nQ29udGV4dCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGRvY3VtZW50
LmlzU2FuZGJveGVkKFNhbmRib3hBdXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklY
TUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBz
b2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0
IGV4aXN0cy4KQEAgLTIyMSwxMSArMjE4LDEwIEBAIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1
cyhjb25zdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50JiBlbGVtZW50KQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKGVsZW1lbnQuaGFzQXV0b2ZvY3VzZWQoKSkKKyAgICBp
ZiAoZG9jdW1lbnQudG9wRG9jdW1lbnQoKS5pc0F1dG9mb2N1c1Byb2Nlc3NlZCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBGSVhNRTogU2hvdWxkIHRoaXMgc2V0IG9mIGhhc1Rh
Z05hbWUgY2hlY2tzIGJlIHJlcGxhY2VkIGJ5IGEKLSAgICAvLyB2aXJ0dWFsIG1lbWJlciBmdW5j
dGlvbj8KKyAgICAvLyBGSVhNRTogYXV0b2ZvY3VzIGlzIGEgZ2xvYmFsIGF0dHJpYnV0ZS4KICAg
ICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJldHVybiAhZG93
bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkuaXNJbnB1dFR5cGVIaWRkZW4oKTsKICAg
ICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKHNlbGVjdFRhZykpCkBAIC0yNDcsMjIgKzI0Myw2IEBA
IHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKICAgICAv
LyBvbiB0aGUgcmVuZGVyZXIuCiAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVy
KCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Ci0KLSAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKCp0aGlz
KSkgewotICAgICAgICBzZXRBdXRvZm9jdXNlZCgpOwotCi0gICAgICAgIFJlZlB0cjxIVE1MRm9y
bUNvbnRyb2xFbGVtZW50PiBlbGVtZW50ID0gdGhpczsKLSAgICAgICAgUmVmUHRyIGZyYW1lVmll
dyA9IGRvY3VtZW50KCkudmlldygpOwotICAgICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmll
dy0+bGF5b3V0Q29udGV4dCgpLmlzSW5MYXlvdXQoKSkgewotICAgICAgICAgICAgZnJhbWVWaWV3
LT5xdWV1ZVBvc3RMYXlvdXRDYWxsYmFjayhbZWxlbWVudF0gewotICAgICAgICAgICAgICAgIGVs
ZW1lbnQtPmZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFy
dCB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgU3R5
bGU6OmRlcHJlY2F0ZWRRdWV1ZVBvc3RSZXNvbHV0aW9uQ2FsbGJhY2soW2VsZW1lbnRdIHsKLSAg
ICAgICAgICAgICAgICBlbGVtZW50LT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6
UGxhY2VDYXJldEF0U3RhcnQgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0K
IH0KIAogdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChE
b2N1bWVudCYgb2xkRG9jdW1lbnQsIERvY3VtZW50JiBuZXdEb2N1bWVudCkKQEAgLTMwMSw2ICsy
ODEsMTAgQEAgTm9kZTo6SW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQgSFRNTEZvcm1Db250cm9s
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW4KICAgICAgICAgc2V0QW5jZXN0b3JEaXNh
YmxlZChjb21wdXRlSXNEaXNhYmxlZEJ5RmllbGRzZXRBbmNlc3RvcigpKTsKICAgICBIVE1MRWxl
bWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoaW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJbnNlcnRl
ZFRyZWUpOwogICAgIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3Io
aW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJbnNlcnRlZFRyZWUpOworCisgICAgaWYgKHNob3VsZEF1
dG9mb2N1cygqdGhpcykpCisgICAgICAgIGRvY3VtZW50KCkudG9wRG9jdW1lbnQoKS5hcHBlbmRB
dXRvZm9jdXNDYW5kaWRhdGUoKnRoaXMpOworCiAgICAgcmV0dXJuIEluc2VydGVkSW50b0FuY2Vz
dG9yUmVzdWx0OjpOZWVkc1Bvc3RJbnNlcnRpb25DYWxsYmFjazsKIH0KIApAQCAtMzk2LDYgKzM4
MCwxMSBAQCBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBj
b25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNp
bmdTdGVwc0ZvckF1dG9mb2N1cygpCit7CisgICAgZm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlv
bk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOworfQorCiBib29sIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6Om1hdGNoZXNWYWxpZFBzZXVkb0NsYXNzKCkgY29uc3QKIHsKICAgICByZXR1cm4gd2ls
bFZhbGlkYXRlKCkgJiYgaXNWYWxpZEZvcm1Db250cm9sRWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCAyNWUzNDUwMGVhYWE2MGFj
ZmY5OTU0YzRmYWJlMzU3NTQ1ZmUyOTE1Li45Y2JhYjE5ZDdlNDljZTIyYmM3NTNlMGM3ZGY2YWU2
ZTgyZWVlOGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuaApAQCAtMTE2LDkgKzExNiw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVhZE9ubHkoKSBj
b25zdCB7IHJldHVybiBtX2lzUmVhZE9ubHk7IH0KICAgICBib29sIGlzRGlzYWJsZWRPclJlYWRP
bmx5KCkgY29uc3QgeyByZXR1cm4gaXNEaXNhYmxlZEZvcm1Db250cm9sKCkgfHwgbV9pc1JlYWRP
bmx5OyB9CiAKLSAgICBib29sIGhhc0F1dG9mb2N1c2VkKCkgY29uc3QgeyByZXR1cm4gbV9oYXNB
dXRvZm9jdXNlZDsgfQotICAgIHZvaWQgc2V0QXV0b2ZvY3VzZWQoKSB7IG1faGFzQXV0b2ZvY3Vz
ZWQgPSB0cnVlOyB9Ci0KICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgYXV0b2NvbXBsZXRlKCkg
Y29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBdXRvY29tcGxldGUoY29uc3QgU3Ry
aW5nJik7CiAKQEAgLTE3MCw2ICsxNjcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVmRm9ybUFz
c29jaWF0ZWRFbGVtZW50KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQogICAgIHZvaWQgZGVyZWZGb3Jt
QXNzb2NpYXRlZEVsZW1lbnQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KIAorICAgIHZvaWQgcnVu
Rm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpIGZpbmFsOworCiAgICAgYm9vbCBtYXRjaGVzVmFs
aWRQc2V1ZG9DbGFzcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgbWF0Y2hlc0ludmFsaWRQ
c2V1ZG9DbGFzcygpIGNvbnN0IG92ZXJyaWRlOwogCkBAIC0yMTUsOCArMjE0LDYgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX2lzVmFsaWQgOiAxOwogCiAgICAgdW5zaWduZWQgbV93YXNDaGFu
Z2VkU2luY2VMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudCA6IDE7Ci0KLSAgICB1bnNpZ25lZCBt
X2hhc0F1dG9mb2N1c2VkIDogMTsKIH07CiAKIGNsYXNzIERlbGF5ZWRVcGRhdGVWYWxpZGl0eVNj
b3BlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDg4NTMzYjNkMmIzNzE4MmUxNjA1MmZlZDEyOTM2
OGE0NmU0MjI5YWYuLmQ3YmJjNGNiZDY4MDM3NWM0ZWE5ODVlMjZlN2FiZGNiYjBjNmUwYWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcApAQCAtMTU2MCw3ICsxNTYwLDEwIEBAIHZvaWQgUGFnZTo6dXBkYXRl
UmVuZGVyaW5nKCkKICAgICAgICAgZm9yRWFjaERvY3VtZW50KHBlckRvY3VtZW50RnVuY3Rpb24p
OwogICAgIH07CiAKLSAgICAvLyBGSVhNRTogRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMuCisg
ICAgcnVuUHJvY2Vzc2luZ1N0ZXAoUmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1c2hBdXRvZm9jdXND
YW5kaWRhdGVzLCBbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGlmIChkb2N1bWVu
dC5pc1RvcERvY3VtZW50KCkpCisgICAgICAgICAgICBkb2N1bWVudC5mbHVzaEF1dG9mb2N1c0Nh
bmRpZGF0ZXMoKTsKKyAgICB9KTsKIAogICAgIHJ1blByb2Nlc3NpbmdTdGVwKFJlbmRlcmluZ1Vw
ZGF0ZVN0ZXA6OlJlc2l6ZSwgW10gKERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1
bWVudC5ydW5SZXNpemVTdGVwcygpOwpAQCAtMzYwNSw2ICszNjA4LDcgQEAgU3BlZWNoUmVjb2du
aXRpb25Db25uZWN0aW9uJiBQYWdlOjpzcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb24oKQogV1RG
OjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYgdHMsIFJlbmRlcmluZ1Vw
ZGF0ZVN0ZXAgc3RlcCkKIHsKICAgICBzd2l0Y2ggKHN0ZXApIHsKKyAgICBjYXNlIFJlbmRlcmlu
Z1VwZGF0ZVN0ZXA6OkZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlczogdHMgPDwgIkZsdXNoQXV0b2Zv
Y3VzQ2FuZGlkYXRlcyI7IGJyZWFrOwogICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVz
aXplOiB0cyA8PCAiUmVzaXplIjsgYnJlYWs7CiAgICAgY2FzZSBSZW5kZXJpbmdVcGRhdGVTdGVw
OjpTY3JvbGw6IHRzIDw8ICJTY3JvbGwiOyBicmVhazsKICAgICBjYXNlIFJlbmRlcmluZ1VwZGF0
ZVN0ZXA6Ok1lZGlhUXVlcnlFdmFsdWF0aW9uOiB0cyA8PCAiTWVkaWFRdWVyeUV2YWx1YXRpb24i
OyBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTRmOGI4ZGE5MjA2OTYzNzg4YzUxNjE2NTNlNTA1
Y2NjMDA1MzgzOS4uYjUzZjY4ZTYzMGUzMjJlOTc0NGE0YmZiYzkwN2I5ZWVhZTJlNTAzYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKQEAgLTIwOCw5ICsyMDgsMTEgQEAgZW51bSBjbGFzcyBSZW5kZXJpbmdVcGRh
dGVTdGVwIDogdWludDE2X3QgewogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgU2Ny
b2xsaW5nVHJlZVVwZGF0ZSAgICAgICAgICAgICA9IDEgPDwgMTMsCiAjZW5kaWYKKyAgICBGbHVz
aEF1dG9mb2N1c0NhbmRpZGF0ZXMgICAgICAgID0gMSA8PCAxNCwKIH07CiAKIGNvbnN0ZXhwciBP
cHRpb25TZXQ8UmVuZGVyaW5nVXBkYXRlU3RlcD4gdXBkYXRlUmVuZGVyaW5nU3RlcHMgPSB7Cisg
ICAgUmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzLAogICAgIFJl
bmRlcmluZ1VwZGF0ZVN0ZXA6OlJlc2l6ZSwKICAgICBSZW5kZXJpbmdVcGRhdGVTdGVwOjpTY3Jv
bGwsCiAgICAgUmVuZGVyaW5nVXBkYXRlU3RlcDo6TWVkaWFRdWVyeUV2YWx1YXRpb24sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYzUyN2Q5NWVmNjk4MzVhODkzYmNlMzFhZWJhZWQxNzUwNDFlMmM0YS4uNTcyYjhkMDNjNWFj
NDAzNjU2ZTM3MTAxM2QyNDliZTkxZTkyNTI4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIx
LTEwLTA1ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50
IG5ldyBhdXRvZm9jdXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBX
ZWJLaXQgbWF0Y2ggdGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlCisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFs
IHBhdGNoIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNj
cmlwdHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVy
YS0wMDUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLWF1dG9mb2N1cy1yZW1vdmFs
LXdoaWxlLWZvY3VzaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1p
ZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sOgorICAgICAgICAqIGZhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWw6CisgICAg
ICAgICogcGx1Z2lucy9vYmplY3Qtb25mb2N1cy1tdXRhdGlvbi1jcmFzaC5odG1sOgorCiAyMDIx
LTEwLTA1ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHVu
bmVjZXNzYXJ5IGF1dG9mb2N1cyBhdHRyaWJ1dGUgZGVwZW5kZW5jaWVzIGluIHRlc3RzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwN2RmOWFjM2MwOWQ1NDZlMDIzY2U1YTZhNzE4
ZWQzYjg1Mjc0ZDc2Li42Mzk5MjY5NGRmMTRkNGExNjJjMGM3NDAzNmVjMmQ2YWQwOTg5OGU1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0xMC0w
NSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBuZXcg
YXV0b2ZvY3VzIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDMxMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2Mzk3MDE5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgV2ViS2l0
IG1hdGNoIHRoZSBuZXcgYXV0b2ZvY3VzIHNwZWM6CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCN0aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZQorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2ludGVyYWN0aW9uLmh0bWwjZm9jdXNpbmctc3RlcHMKKworICAgICAgICBPcmlnaW5hbCBwYXRj
aCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZy
YWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13
aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRy
aWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4t
bGF0ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2Fi
bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5n
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3Nl
bGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBFeHBlY3Rl
ZCBjaGFuZ2Ugc2luY2UgaW5wdXQgYXV0b2ZvY3VzIG5vdyBwbGFjZXMgY2FyZXQgYXQgc3RhcnQK
KwogMjAyMS0xMC0wNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgog
CiAgICAgICAgIFRlc3QgYSBmb250IHBhbGV0dGUgaWRlbnRpZmllciBvZiBqdXN0ICItLSIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IGFmYTNkY2I1MzQ0ZDVmMTU0OTkzYWY4NDdjZDQzZTRiZTViNjYw
YWYuLjA2ZGNlZGVlODhjYWNkMjRlZDdhOTBiNDE5OTQxNTgwM2U3ZmM3NWEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtODAzLDcgKzgwMyw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1oaXN0b3J5LWludGVyZmFjZS8wMDIuCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtaGlz
dG9yeS1pbnRlcmZhY2UvY29tYmluYXRpb25faGlzdG9yeV8wMDIuaHRtbCBbIEZhaWx1cmUgUGFz
cyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9y
eS90aGUtaGlzdG9yeS1pbnRlcmZhY2UvY29tYmluYXRpb25faGlzdG9yeV8wMDMuaHRtbCBbIEZh
aWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9leGVjdXRpb24tdGltaW5nLzA1OC5o
dG1sIFsgRmFpbHVyZSBQYXNzIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJl
bmRlcmluZy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9yZW5kZXJpbmcvd2lkZ2V0cy9iYXNlbGluZS1hbGlnbm1lbnQtYW5kLW92ZXJm
bG93LnRlbnRhdGl2ZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50
cy9sb2FkaW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9yZXNvdXJjZS1zZWxlY3Rpb24tcG9pbnRlci1y
ZW1vdmUtc291cmNlLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxl
bWVudC9jcm9zcy1vcmlnaW4tdG8td2hvbS53aW5kb3cuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVk
LnR4dAppbmRleCBlYzk4MWVhYzFhZGJmYjRiZGRmYmNhYmRlMzVjNDE3Y2E2MTMxMDk4Li4yOTVl
OGRhZmQ3YWE0ZGI2ZDhiZWYyYmM2YjdlODFjMDc2OWNjNjg0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQKQEAgLTEsMiAr
MSw0IEBACiBUZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8gYWRvcHRpbmcgYSBET00gbm9kZSBkdXJp
bmcgRE9NRm9jdXNPdXQgZXZlbnQuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guCiAK
KworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sCmluZGV4
IGY2OGQwMTdiYjMwN2ZkMjJhYTYzODgwNGNiZDY3NmYzNDAzYmE5NjYuLjg2YzY2NmFjYzFmZDRk
YTgxMTdlYjAyOGQ2NTA4NGNjYWIxYWM1MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fk
b3B0LW5vZGUtY3Jhc2gtMi5odG1sCkBAIC0zMiwxMSArMzIsMTMgQEAgZnVuY3Rpb24gZG9pdCgp
CiAgICAgZGl2MS5vdXRlckhUTUwgPSBoZWFkZXIxLm91dGVySFRNTDsKIH0KIHdpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgaW50
ZXJuYWxzLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlv
dXRUYXNrcygpOwotICAgIGVsc2UKLSAgICAgICAgZGl2Mi5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKLSAgICBzZXRUaW1lb3V0KCJkb2l0KCkiLCAxKTsKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoKCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KGRvaXQsIDApOworICAgICAgICBzZXRUaW1l
b3V0KCgpID0+IHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSwgNTApOworICAgIH0p
OwogfQogPC9zY3JpcHQ+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ct
c2NyaXB0cy1leHBlY3RlZC50eHQKaW5kZXggY2Y4NmZiNGM1ZWE2OTAzZWIwOGE3MGUyNjRhMDI3
ODliNjIwODc5NC4uNTBhY2ZiNjdkZjg5YjAxNTExNzU3ZjIzOTE1YjcwZjRhZmJjN2Q5YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRo
LWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAt
MSwyICsxLDcgQEAKLUNPTlNPTEUgTUVTU0FHRTogSU5QVVQKLVRoaXMgdGVzdCBwYXNzZXMgaWYg
dGhlIGFjdGl2ZUVsZW1lbnQgaXMgdGhlIGlucHV0IGVsZW1lbnQgcmF0aGVyIHRoYW4gdGhlIGJv
ZHkgKHdoaWNoIGl0IHdvdWxkIGJlIGlmIHRoZSBzYW5kYm94IGRpZG4ndCBhbGxvdyBhdXRvZm9j
dXMgYWx0aG91Z2ggYWxsb3ctc2NyaXB0cyBmbGFnIGlzIHNldCkuCitUaGlzIHRlc3RzIGhhdmlu
ZyBhbiBpbnB1dCBlbGVtZW50IHdpdGggYXV0b2ZvY3VzIGNvbnRlbnQgYXR0cmlidXRlIGluc2lk
ZSBhIHNhbmRib3hlZCBpZnJhbWUuCitUaGUgaW5wdXQgZWxlbWVudCBzaG91bGQgYmUgYXV0b2Zv
Y3VzZWQgc2luY2Ugc2NyaXB0cyBhcmUgYWxsb3dlZC4KKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEt
LWZyYW1lMS0tPicKKy0tLS0tLS0tCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlw
dHMuaHRtbAppbmRleCA0ZjIyMzg2OGZkN2U2ZjE4OWVjNTNmNzI2MmU3NmJkYjk4NjdiYzVhLi5l
YzNlMzgwMTBmYzg0NGFmYjM5MjIyODgwZTM0ZjkzYjE1OTZkZmQ4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gt
d2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwKQEAgLTEsOCArMSwxOSBAQAogPHNjcmlwdD4KLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7
Cit9CiA8L3NjcmlwdD4KLVRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGFjdGl2ZUVsZW1lbnQgaXMg
dGhlIGlucHV0IGVsZW1lbnQgcmF0aGVyIHRoYW4gdGhlIGJvZHkKLSh3aGljaCBpdCB3b3VsZCBi
ZSBpZiB0aGUgc2FuZGJveCBkaWRuJ3QgYWxsb3cgYXV0b2ZvY3VzIGFsdGhvdWdoIGFsbG93LXNj
cmlwdHMgZmxhZyBpcyBzZXQpLgotPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIGFsbG93
LW1vZGFscyIKLSAgICBzcmM9ImRhdGE6dGV4dC9odG1sLDxpbnB1dCBhdXRvZm9jdXMgb25mb2N1
cz48c2NyaXB0PndpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC50YWdOYW1lKSB9PC9zY3JpcHQ+Ij48L2lmcmFtZT4KK1RoaXMgdGVz
dHMgaGF2aW5nIGFuIGlucHV0IGVsZW1lbnQgd2l0aCBhdXRvZm9jdXMgY29udGVudCBhdHRyaWJ1
dGUgaW5zaWRlIGEgc2FuZGJveGVkIGlmcmFtZS48YnI+CitUaGUgaW5wdXQgZWxlbWVudCBzaG91
bGQgYmUgYXV0b2ZvY3VzZWQgc2luY2Ugc2NyaXB0cyBhcmUgYWxsb3dlZC4KKzxpZnJhbWUgc2Fu
ZGJveD0iYWxsb3ctc2NyaXB0cyIKKyAgICBzcmM9ImRhdGE6dGV4dC9odG1sLDxpbnB1dCBpZD1p
bnB1dCBhdXRvZm9jdXMgb25mb2N1cz48c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2luZG93Lm9ubG9h
ZCA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsK
KyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQg
PT0gaW5wdXQgPyAnUEFTUycgOiAnRkFJTCcpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAg
ICB9KTsKKyAgICB9PC9zY3JpcHQ+Ij48L2lmcmFtZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9hdXRvZm9jdXMta2V5Z2VuLmh0bWwKaW5kZXggNzcwNzBlOGRiMDZiNTRjOWI5MGZlNmQzMTAy
NjgzZGE4NTRiYzBjYy4uMGM3NjVkZTMyM2EyM2IwNTI0ZDM3MGVjNTJhZGJmNWQwNDZhMjg1YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMta2V5Z2VuLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMta2V5Z2VuLmh0bWwKQEAgLTYs
OSArNiwxMSBAQAogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiBmdW5jdGlvbiBvbkxv
YWQoKSB7Ci0gICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQnLCAnZG9jdW1lbnQu
cXVlcnlTZWxlY3Rvcigia2V5Z2VuIiknKTsKLSAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5hdXRvZm9jdXMnLCAndHJ1ZScpOwotICAgIGZpbmlzaEpTVGVzdCgpOworICAgIHJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHNob3VsZEJlKCdkb2N1bWVudC5h
Y3RpdmVFbGVtZW50JywgJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImtleWdlbiIpJyk7CisgICAg
ICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmF1dG9mb2N1cycsICd0cnVlJyk7
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0pOwogfQogPC9zY3JpcHQ+CiA8L2hlYWQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sCmlu
ZGV4IDNiOTRlODhjMjA5MDdkMzE5YTA0ZDhlYjViNDE5OWMwNDI4YjZlMGMuLjY1MGVjMDcwNTYy
MmZjOGNmNTdhMDQ5ODhkNWI5ZjVjZDA2ZTY4YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sCkBAIC0xMSwxMyArMTEsMTkgQEAKICAgICB9
CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0pCi0g
ICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9n
KCJGQUlMVVJFIik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICAgICAgfQorCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAg
ICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDIuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCmluZGV4IGZh
NzBiNTdkNGJiMTBlODU5NDZhMTBkMDVjZDg2NzFlODVhMzg5NmMuLjI0YWUyZDRmZjM5MWEyOWYy
NWM4MWViNDk0YzY5YjE3NWVmOGRjYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCkBAIC0xMSwxMyArMTEsMjAgQEAKICAgICB9CiAKICAg
ICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0pCi0gICAgICAg
ICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlM
VVJFIik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAg
fQorCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBp
ZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgfSkKKwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbAppbmRleCA5YWVhMjNl
N2RhYTAyNGU0ZDIxODZkMWQzMWZhNTRhNTdmZDc5NjRjLi40YWQ3NzAxN2I0N2ZhY2RmZmIwNjk4
MGFlMjhkYTRkODQ0M2QwNTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDMuaHRtbApAQCAtMTIsMTQgKzEyLDIwIEBACiAgICAgfQogCiAgICAgZnVu
Y3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0K
IAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSAmJgotICAgICAgICAgICAgZG9jdW1lbnQuc2Nyb2xs
aW5nRWxlbWVudC5zY3JvbGxUb3AgIT0gMCkKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVF
bGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdICYmCisg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgIT0gMCkK
KyAgICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAg
fSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvYXV0b2ZvY3VzLW9wZXJhLTAwNC5odG1sCmluZGV4IDRhM2RmYzQ2N2Q5OGJjYjAyMjMwMTM2
YTkyN2E1NjI4OGQ0ZjllMGEuLjI2ZmEyZTE4NDMzMGYzNDQ5OTRmY2JlNDM5MjkyNTdhZmViOTk2
MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAw
NC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNC5o
dG1sCkBAIC0yMSw5ICsyMSw5IEBACiAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgnYXV0b2Zv
Y3VzJywnZmFsc2UnKTsKICAgICAgICAgcC5hcHBlbmRDaGlsZChpbnB1dCk7CiAKLSAgICAgICAg
c2V0VGltZW91dChjaGVjaywgMCk7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShjaGVj
ayk7CiAgICAgfQotICAgIAorCiAgICAgZnVuY3Rpb24gY2hlY2soKSB7CiAgICAgICAgIGlmIChk
b2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJp
bnB1dCIpWzBdKQogICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNS5odG1sCmluZGV4IDUwOThjMGFmZGFjOWJj
NzllOTg0Yjg5NDI1ODQ0NjI1MjM4NWU1MmUuLmU1MjRiYTE0YzBlNWY0YjgwMzA0YmQ5NWEzZmU1
ODZmNmU0ZjVjZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3Vz
LW9wZXJhLTAwNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwNS5odG1sCkBAIC0yMSwxMCArMjEsMTAgQEAKICAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAg
ICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHNldFRpbWVvdXQoY2hlY2ssIDApOworCisgICAg
ICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShjaGVjayk7CiAgICAgfQotICAgIAorCiAgICAgZnVu
Y3Rpb24gY2hlY2soKSB7CiAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQogICAgICAgICAgICAgbG9n
KCJTVUNDRVNTIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1
cy1vcGVyYS0wMDYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJh
LTAwNi5odG1sCmluZGV4IDNkYTM5MzQ2OTg4YmYzMGZjYzQ4YmNhMDYxOTMxNWY0NjUxMzVjNjku
LjlkNzdkOWMwMzhjYzFlNjJiMTZlOGZiN2Y1Mzg5MGRiMjU3ZjdhNWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sCkBAIC0xMSwyMyArMTEs
MzAgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgo
KSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGVzdCIpKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKIAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0
aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpKQotICAgICAgICAg
ICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVS
RSIpOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgog
PHA+QWxsIGZvcm0gY29udHJvbHMgYmVsb3cgc2hvdWxkIGhhdmUgYSBncmVlbiBiYWNrZ3JvdW5k
OjwvcD4KLTxwPjxpbnB1dCBhdXRvZm9jdXM+Cis8cD48aW5wdXQgYXV0b2ZvY3VzIGlkPSJ0ZXN0
Ij4KIDxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8cD48aW5wdXQgYXV0b2ZvY3VzPgogPHA+PGlucHV0
PgotPHA+PGlucHV0IGF1dG9mb2N1cyBpZD0idGVzdCI+Cis8cD48aW5wdXQgYXV0b2ZvY3VzPgog
PHA+PGlucHV0PgogPGhyLz4KIDxvbCBpZD0iY29uc29sZSI+PC9vbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKaW5kZXggMTEyNWI1YjNkOWYx
ZmVhMzQzODEyZmE2YmRhMzYyZTgxZjY3OGJlMy4uMDY2MGE4MGQxMWVhYTQwMjg5ODM2M2Y2OTEw
NDRkZTk4YzE5OTM4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9j
dXMtb3BlcmEtMDA3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
b3BlcmEtMDA3Lmh0bWwKQEAgLTE3LDEzICsxNywxOSBAQAogICAgIH0KICAgICAKICAgICBmdW5j
dGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQog
Ci0gICAgICAgIGlmIChnb3RCbHVyKQotICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICByZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGdvdEJsdXIpCisgICAgICAgICAg
ICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
bG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOwogICAgIH0K
IDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9j
aGFuZ2UtaW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbAppbmRleCBiN2Ex
ZDhjOWY4NTk4ZWUwMmEzYTY3NmYwZGY4ZThhZmU0NGIyODY1Li5hZDljNjY5YWU5YTE4NTEwMTFh
ZDk2ZDA0ZTQ5YjliMjliNTkwNTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbApAQCAt
MTAsMTYgKzEwLDI1IEBACiBmdW5jdGlvbiBmb2N1c2VkKCkgewogICAgIGlmIChpbnB1dC5hdXRv
Zm9jdXMpIHsKICAgICAgICAgaW5wdXQudHlwZSA9ICJjaGVja2JveCI7Ci0gICAgICAgIGRvY3Vt
ZW50LmJvZHkuaW5uZXJIVE1MID0gIjxjb2RlIHN0eWxlPSdjb2xvcjogZ3JlZW4nPlBBU1M8L2Nv
ZGU+IjsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiRkFJTCAtIGZvY3VzIGV2
ZW50IGhhbmRsZXIgY2FsbGVkIGZvciBhdXRvZm9jdXMiOworICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpOwog
ICAgIGlucHV0LmF1dG9mb2N1cyA9IHRydWU7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCA9IGRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQgPT0gZG9jdW1lbnQuYm9keSA/ICJQQVNTIiA6ICJGQUlMIjsKKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgfSk7CiB9CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworfQogCiBpbnB1dC5mb2N1cygpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLWF1dG9mb2N1cy1yZW1v
dmFsLXdoaWxlLWZvY3VzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVh
L3RleHRhcmVhLWF1dG9mb2N1cy1yZW1vdmFsLXdoaWxlLWZvY3VzaW5nLmh0bWwKaW5kZXggYzU5
NWE5MjQzZTM4NzA4YjllYzM2YTlkNzczMGNjYjEwODk0ZTg2Yy4uODY2YTMyMTI5ZTUxZGYwODI2
MDg3YTZiZWFkYTgyZGM5MjE4OGU2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy90ZXh0YXJlYS90ZXh0YXJlYS1hdXRvZm9jdXMtcmVtb3ZhbC13aGlsZS1mb2N1c2luZy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEvdGV4dGFyZWEtYXV0b2ZvY3Vz
LXJlbW92YWwtd2hpbGUtZm9jdXNpbmcuaHRtbApAQCAtMiwxNiArMiwyMSBAQAogPGh0bWw+CiA8
Ym9keT4KIDxzY3JpcHQ+Ci10ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLXRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotdmFyIHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4
dGFyZWEiKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCitjb25zdCB0ZXh0
YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7CiB0ZXh0YXJlYS5zZXRB
dHRyaWJ1dGUoImF1dG9mb2N1cyIsICIiKTsKIHRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoIkRP
TUZvY3VzSW4iLCBmdW5jdGlvbiAoKSB7IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pbm5lckhU
TUwgPSAiIjsgfSwgZmFsc2UpOwogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxk
KHRleHRhcmVhKTsKLXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworCityZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKCkgPT4gewogICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIlBBU1Mg
dW5sZXNzIGNyYXNoLiI7Ci0gICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19LCAwKTsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworfSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRs
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJl
bW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbAppbmRleCA2ZjVhMmU5MTllZGY5YTk2M2JhOGY3ZWRl
NGU5MDY2MjE1MGJmNmZkLi5jODk4NjY3ZmM0ZGM2NmE1Y2NiMGRjY2U0YzcxMGM1ZWViNjkxYTJj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1p
cy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sCkBAIC02
LDEzICs2LDIwIEBAIFBBU1MgaWYgbm8gY3Jhc2guCiA8c3BhbiBpZD13cmFwcGVyPjwvc3Bhbj4K
IDx0ZXh0YXJlYSBpZD10ZXh0YXJlYSBvbmZvY3VzPSJldmVudGhhbmRsZXIoKSI+PC90ZXh0YXJl
YT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKK30KKwogZG9jdW1lbnQub2Zmc2V0SGVpZ2h0OwogdGV4dGFyZWEuYXV0b2Zv
Y3VzID0gdHJ1ZTsKIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKIHNwYW4uYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIHdyYXBwZXIuYXBwZW5kQ2hpbGQodGV4dGFy
ZWEpOworcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSk7CiBpZnJhbWUuY29u
dGVudERvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsKIAogZnVuY3Rpb24gZXZlbnRoYW5k
bGVyKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
ZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWwKaW5kZXgg
NjNjZjhhMjIxOThkNzA5ZjNmYTk4YWY1NTk3MTM5Mzg5MDI1NWRhMi4uYzJmNTg0NTc1OTRiODMz
YWQ3YjUyMzc0YjA1MWFiYTViZjQxYzk5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9o
aXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJp
bmctcmVzdG9yZS5odG1sCkBAIC0xNiw4ICsxNiwxMCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKIH0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgKGV2ZW50KSA9PiB7
Ci0gICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7Cisg
ICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmaW5pc2gpOwogICAgICAgICByZXR1cm47Cisg
ICAgfQogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgc2V0VGltZW91dChydW5U
ZXN0LCAwKTsKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmli
dXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhw
ZWN0ZWQudHh0CmluZGV4IGE0NTJkNTNlZGJhNjM1ODdkOWMyZWJkYzZmNmE1MGQ1M2ZlNGVmZTUu
LmQ0MTkyOWY5YjdkZjdiMThkNjAyZGFkNDYwOGJlZmUwNzE1ZmNhMjIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlv
bi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVt
cHR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
ZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBA
CiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBl
bXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFT
UyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBlbXB0eSBmcmFn
bWVudHMgc2hvdWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiB0b3AtbGV2ZWwg
YnJvd3NpbmcgY29udGV4dCdzIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZyYWdtZW50cyBzaG91bGQg
d29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2Rv
Y3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3Rl
bnQtZXhwZWN0ZWQudHh0CmluZGV4IDJiMWU1N2Q2MjgyOTU2OTE4ZDI3MjE1NTVkMDRkNTgwMmFi
N2RmNmQuLjhkZDZiNGM3NzBjZTlhYTVjYzI5YmZjODVjY2U0MmQ1ZGNlZTg3ODEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRl
cmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdt
ZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3RlZC50
eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1l
ZCBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRzIHNob3VsZCB3b3JrLiBhc3Nl
cnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBub2RlIDxpbnB1dCBh
dXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQg
ZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4KIFBBU1Mg
QXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0J3MgZG9jdW1l
bnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21l
bnQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9k
b2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQKaW5kZXggMDM3NDEwOWEzMGM2
MjRkYmQ5NGQ4NzkxM2I0ZTMzOGVlOTE5OTNlZi4uOGJhNTBhNTFhM2RhZDU3MGQ0OTI3NzQ5OTk3
MmQ1OTRkNWRmZWI5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmli
dXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3AtZXhw
ZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKLUZBSUwgQXV0b2ZvY3VzIGVsZW1lbnRzIGlu
IGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3b3JrLiBhc3Nl
cnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBub2RlIDxpbnB1dCBh
dXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQg
ZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogUEFTUyBBdXRvZm9j
dXMgZWxlbWVudHMgaW4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQncyBkb2N1bWVudHMgd2l0
aCAidG9wIiBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90
aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhl
LWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0CmluZGV4IDk4NzMyN2IxYTdi
OWJiNmFhMWYyYjZiNDQwNjM3NzEwYmU4ZjAwNmUuLmNlOTI2NzY3ZjMwNDJkZTIyOTgwNDAzM2Qy
ZWZlNTU1ZWFkNjUyZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJp
YnV0ZS9maXJzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0
cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIFRoZSBm
aXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQgc2hvdWxkIHdpbi4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1
dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFT
UyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50IHNob3VsZCB3aW4u
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13
aGVuLWxhdGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dAppbmRleCBmZTAyMTE4YTM0OWEzYWNjOWY4
Y2FlZDg5MTc4MWYwMWMyODgxNDVmLi41ZjRjMzE1YzY4NzhlM2M2OGI3YWQyZjhjOWNhMjk2MTFl
ZmQ1YzlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmly
c3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMt
YXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
CiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBp
ZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVs
ZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBu
b2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgVGhlIGZpcnN0IGF1dG9mb2N1
cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0
ZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1
ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dAppbmRleCAzM2Q4MzA4N2Ux
OGY2ZDlkOWIyZmFmNDUyYTNlZGJlOTYwNzNiMTVkLi5hNTg0OWQ2MjIzNTMxOGNiODhhMzFhZjRh
MmQ5NGY3YzcxMTgxMDUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRy
aWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgSWYgdGhlIGZpcnN0IGF1dG9mb2N1cyBlbGVtZW50IGlz
IG5vdCBmb2N1c2FibGUsIGJ1dCBiZWNvbWVzIGZvY3VzYWJsZSBiZWZvcmUgYSBmcmFtZSwgaXQg
c2hvdWxkIGJlIGZvY3VzZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8
dGV4dGFyZWEgYXV0b2ZvY3VzPSIiPjwvdGV4dGFyZWE+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxz
ZWxlY3QgYXV0b2ZvY3VzPSIiPjwvc2VsZWN0PgorUEFTUyBJZiB0aGUgZmlyc3QgYXV0b2ZvY3Vz
IGVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSwgYnV0IGJlY29tZXMgZm9jdXNhYmxlIGJlZm9yZSBh
IGZyYW1lLCBpdCBzaG91bGQgYmUgZm9jdXNlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFj
dGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1l
eHBlY3RlZC50eHQKaW5kZXggMTM1NDFmNjRmZDYxNTIxNDliMjc4OGNhNDI5MjkzZGFjYmI3MjE4
Ny4uMGNiYzc3ZWY3MWM5MjFlYWI4MWVhOTBiNTRmMWI1NWJlN2FmYzI5OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRl
LXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi0KLUZBSUwgIkZs
dXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGFmdGVyIHRoZSBmaXJz
dCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzLCBhbmQgYmVmb3JlIGEgcmVzaXplIGV2ZW50IGlu
IHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZlbnQgbG9vcC4gYXNzZXJ0X2FycmF5X2Vx
dWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDMgZ290IDQKK1BBU1MgIkZsdXNoIGF1dG9m
b2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGJlZm9yZSBhIHNjcm9sbCBldmVudCBh
bmQgYW5pbWF0aW9uIGZyYW1lIGNhbGxiYWNrcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0
LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1v
dmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDBhOTkwYTA1ZTBiMjE4YzVjNTBmNzYw
Mjc0ZDIxMzBhYTI0MmQ5YjEuLmE5NjA4YzE4ZDNiMzQ2M2IxOTRkZmQ0OTVjZGQzYjE5MWE5ZTQ5
NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQu
dHh0CkBAIC05LDQgKzksNSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MjMKICAgICAgIFJl
bmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAxNDd4MTkgW2JnY29sb3I9I0ZG
RkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KIGxheWVyIGF0ICg1LDYwNSkgc2l6
ZSAxNDF4MTMKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAxNDF4MTMKLWNhcmV0
OiBwb3NpdGlvbiAxIG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0RJVn0g
b2YgeyNkb2N1bWVudC1mcmFnbWVudH0gb2YgY2hpbGQgMiB7SU5QVVR9IG9mIGNoaWxkIDAge0hU
TUx9IG9mIGRvY3VtZW50CitzY3JvbGxlZCB0byAwLDIzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbHVnaW5zL29iamVjdC1vbmZvY3VzLW11dGF0aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9wbHVnaW5zL29iamVjdC1vbmZvY3VzLW11dGF0aW9uLWNyYXNoLmh0bWwKaW5kZXggYjU4MmFm
Njk5MWM5MTdlY2RkZjdlOGQyNjVmYTQxOTA4MGVmYmMzNC4uNTIyZTI4MGZhNzJjOTU4NGU5YzUz
MDA5ZmM2ZjZlZjdjMDliMDljZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9vYmpl
Y3Qtb25mb2N1cy1tdXRhdGlvbi1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMv
b2JqZWN0LW9uZm9jdXMtbXV0YXRpb24tY3Jhc2guaHRtbApAQCAtMSwxMiArMSwxNyBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgorPG9iamVjdCBkYXRhPSJhIj4KKyAgICA8aW5w
dXQgaWQ9ImlucHV0IiBvbmZvY3VzPSJjcmFzaCgpIj4KKzwvb2JqZWN0PgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogCitpbnB1dC5mb2N1cygpOworCiBmdW5j
dGlvbiBmaW5pc2goKSB7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKQEAgLTE0LDExICsxOSw4IEBAIGZ1bmN0aW9uIGZpbmlzaCgp
IHsKIAogZnVuY3Rpb24gY3Jhc2goKSB7CiAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAi
UEFTUy4gV2ViS2l0IGRpZG4ndCBjcmFzaC4iOwotICAgIHNldFRpbWVvdXQoImZpbmlzaCgpIiwg
MCk7CisgICAgZmluaXNoKCk7CiB9CiA8L3NjcmlwdD4KLTxvYmplY3QgZGF0YT0iYSI+Ci08aW5w
dXQgYXV0b2ZvY3VzPSIiIG9uZm9jdXM9ImNyYXNoKCkiPgotPC9vYmplY3Q+CiA8L2JvZHk+CiA8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440437</attachid>
            <date>2021-10-06 14:16:44 -0700</date>
            <delta_ts>2021-10-07 00:55:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211006231643.patch</filename>
            <type>text/plain</type>
            <size>44122</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjIyZjA4ODc0ODA1ZDhl
NGVmYzdjNTNjNzUzZjNmZjQyYjdmMTBhZi4uMzczZTM4ZjA0OWM1NGVjMTBiYmNjNTIzMjJhNGZi
NGNhMDk2MjhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMpOgorICAgICAgICAqIGRvbS9E
b2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzQXV0b2ZvY3VzUHJvY2Vz
c2VkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRBdXRvZm9jdXNQcm9j
ZXNzZWQpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMpOgorICAgICAgICAqIGRvbS9FbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9y
bUNvbnRyb2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEZvcm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9m
b2N1cyk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpoYXNBdXRvZm9jdXNlZCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXRB
dXRvZm9jdXNlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OnVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6
CisKIDIwMjEtMTAtMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3Igbm9uLXVuaWZpZWQgYnVpbGQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAppbmRleCA4YmRmMjIwOTA2YjBjZWJhMzkzZGE5ZjJkM2JlM2ZlNmRiZWNkY2Nj
Li4xYzIxMGIxOTE5NDYxY2E2M2U5MGUyYzc0ZGFjZTNmMGIyY2UxOGZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKQEAgLTQ0NzQsNiArNDQ3NCwzNiBAQCB2b2lkIERvY3VtZW50OjphZGp1c3RG
b2N1c2VkTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYgbm9kZSwgTm9kZVJlbW92YWwgbm9kZVJlbW92
YQogICAgIH0KIH0KIAordm9pZCBEb2N1bWVudDo6YXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKEVs
ZW1lbnQmIGNhbmRpZGF0ZSkKK3sKKyAgICBBU1NFUlQoaXNUb3BEb2N1bWVudCgpKTsKKyAgICBB
U1NFUlQoIW1faXNBdXRvZm9jdXNQcm9jZXNzZWQpOworICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRl
cy5hcHBlbmRPck1vdmVUb0xhc3QoY2FuZGlkYXRlKTsKK30KKwordm9pZCBEb2N1bWVudDo6Zmx1
c2hBdXRvZm9jdXNDYW5kaWRhdGVzKCkKK3sKKyAgICBBU1NFUlQoaXNUb3BEb2N1bWVudCgpKTsK
KyAgICBpZiAobV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
Zm9yICg7ICFtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuaXNFbXB0eSgpOyBtX2F1dG9mb2N1c0NhbmRp
ZGF0ZXMucmVtb3ZlRmlyc3QoKSkgeworICAgICAgICBSZWYgZWxlbWVudCA9IG1fYXV0b2ZvY3Vz
Q2FuZGlkYXRlcy5maXJzdCgpOworICAgICAgICBpZiAoIWVsZW1lbnQtPmRvY3VtZW50KCkuaXNG
dWxseUFjdGl2ZSgpIHx8ICZlbGVtZW50LT5kb2N1bWVudCgpLnRvcERvY3VtZW50KCkgIT0gdGhp
cykKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoYXV0byogcGFyc2VyID0gc2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyKCk7IHBhcnNlciAmJiBwYXJzZXItPmhhc1NjcmlwdHNXYWl0
aW5nRm9yU3R5bGVzaGVldHMoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAvLyBGSVhN
RTogTmVlZCB0byBpZ25vcmUgaWYgdGhlIGluY2x1c2l2ZSBhbmNlc3RvciBkb2N1bWVudHMgaGFz
IGEgdGFyZ2V0IGVsZW1lbnQuCisgICAgICAgIC8vIEZJWE1FOiBVc2UgdGhlIHJlc3VsdCBvZiBn
ZXR0aW5nIHRoZSBmb2N1c2FibGUgYXJlYSBmb3IgZWxlbWVudCBpZiBlbGVtZW50IGlzIG5vdCBm
b2N1c2FibGUuCisgICAgICAgIGlmIChlbGVtZW50LT5pc0ZvY3VzYWJsZSgpKSB7CisgICAgICAg
ICAgICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xlYXIoKTsKKyAgICAgICAgICAgIHNldEF1dG9m
b2N1c1Byb2Nlc3NlZCgpOworICAgICAgICAgICAgZWxlbWVudC0+cnVuRm9jdXNpbmdTdGVwc0Zv
ckF1dG9mb2N1cygpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorfQor
CiB2b2lkIERvY3VtZW50Ojpob3ZlcmVkRWxlbWVudERpZERldGFjaChFbGVtZW50JiBlbGVtZW50
KQogewogICAgIGlmICghbV9ob3ZlcmVkRWxlbWVudCB8fCAmZWxlbWVudCAhPSBtX2hvdmVyZWRF
bGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAzODZlMzc4MjgwODhmM2ZkMWVhN2JmYzgw
NjgyZTk1YTg1MDg5MDA2Li5hOTdjYTg2MjUyODgxYTBjZGZjZjc3Y2M4YjUyZGI3MDMzYjQxNzBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzg4LDYgKzc4OCwxMSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBhZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1vdmFsID0g
Tm9kZVJlbW92YWw6Ok5vZGUpOwogICAgIHZvaWQgYWRqdXN0Rm9jdXNOYXZpZ2F0aW9uTm9kZU9u
Tm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogCisg
ICAgYm9vbCBpc0F1dG9mb2N1c1Byb2Nlc3NlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNBdXRvZm9j
dXNQcm9jZXNzZWQ7IH0KKyAgICB2b2lkIHNldEF1dG9mb2N1c1Byb2Nlc3NlZCgpIHsgbV9pc0F1
dG9mb2N1c1Byb2Nlc3NlZCA9IHRydWU7IH0KKyAgICB2b2lkIGFwcGVuZEF1dG9mb2N1c0NhbmRp
ZGF0ZShFbGVtZW50Jik7CisgICAgdm9pZCBmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKwog
ICAgIHZvaWQgaG92ZXJlZEVsZW1lbnREaWREZXRhY2goRWxlbWVudCYpOwogICAgIHZvaWQgZWxl
bWVudEluQWN0aXZlQ2hhaW5EaWREZXRhY2goRWxlbWVudCYpOwogCkBAIC0xODAxLDYgKzE4MDYs
OCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxET01JbXBsZW1lbnRhdGlvbj4gbV9p
bXBsZW1lbnRhdGlvbjsKIAogICAgIFJlZlB0cjxOb2RlPiBtX2ZvY3VzTmF2aWdhdGlvblN0YXJ0
aW5nTm9kZTsKKyAgICBMaXN0SGFzaFNldDxSZWY8RWxlbWVudD4+IG1fYXV0b2ZvY3VzQ2FuZGlk
YXRlczsKKyAgICBib29sIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQgeyBmYWxzZSB9OwogICAgIFJl
ZlB0cjxFbGVtZW50PiBtX2ZvY3VzZWRFbGVtZW50OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2hv
dmVyZWRFbGVtZW50OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2FjdGl2ZUVsZW1lbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKaW5kZXggZWFkNzI2N2E2OWU3N2YwOTg5ZWVhMTdlZDRjZTMyM2Y1OGE0
ZjVjNi4uMmYyZTAyNTJjZWVhOWMzYjg3NTA2YWViMDFkZjRjOGJhZDI3ZWI1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcApAQCAtMzE3Myw2ICszMTczLDExIEBAIHZvaWQgRWxlbWVudDo6Ymx1cigp
CiAgICAgfQogfQogCit2b2lkIEVsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMo
KQoreworICAgIGZvY3VzKCk7Cit9CisKIHZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0luRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RWxlbWVudD4mJiBvbGRGb2N1
c2VkRWxlbWVudCkKIHsKICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkOjppc1NjcmlwdEFsbG93ZWQo
KSB8fCAhaXNJbldlYlByb2Nlc3MoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA0NjdhMzU1Y2Ex
Mzg3M2ZmNTgwYjNjMTUwYTIyMWNhODAyZWNhNzU0Li5iMGY4NmM4ZjFhODE5MjBmYzBkZTY2OThl
ZjZiNDY4NGEwYWVkNTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTQwNiw2ICs0MDYsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBSZWZQdHI8RWxlbWVudD4gZm9jdXNBcHBlYXJhbmNlVXBkYXRl
VGFyZ2V0KCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZShTZWxlY3Rp
b25SZXN0b3JhdGlvbk1vZGUsIFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxN
b2RlOjpSZXZlYWwpOwogICAgIHZpcnR1YWwgdm9pZCBibHVyKCk7CisgICAgdmlydHVhbCB2b2lk
IHJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBpbm5lckhUTUwoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgb3V0ZXJI
VE1MKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVt
ZW50LmNwcAppbmRleCA5YjI2OTc2YTYwMzRhODA1ZmYwOWRhNjQ0ZjU2YzExZWQ5ZmRhMWJjLi4w
OTM3YWQ2OTE5MjBmZTg1ZDJlZTM1NzdmMmE0ZDNlODNmNjE3M2RlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTcyLDcgKzcyLDYgQEAg
SFRNTEZvcm1Db250cm9sRWxlbWVudDo6SFRNTEZvcm1Db250cm9sRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2MKICAgICAsIG1fd2lsbFZhbGlkYXRlKHRydWUpCiAgICAg
LCBtX2lzVmFsaWQodHJ1ZSkKICAgICAsIG1fd2FzQ2hhbmdlZFNpbmNlTGFzdEZvcm1Db250cm9s
Q2hhbmdlRXZlbnQoZmFsc2UpCi0gICAgLCBtX2hhc0F1dG9mb2N1c2VkKGZhbHNlKQogewogICAg
IHNldEhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxiYWNrcygpOwogfQpAQCAtMjAzLDEzICsyMDIs
MTEgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpyZXF1aXJlZFN0YXRlQ2hhbmdlZCgp
CiAKIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1cyhjb25zdCBIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50JiBlbGVtZW50KQogewotICAgIGlmICghZWxlbWVudC5yZW5kZXJlcigpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24oYXV0b2ZvY3VzQXR0cikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1
dG8mIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOwotICAgIGlmICghZWxlbWVudC5pc0Nv
bm5lY3RlZCgpIHx8ICFkb2N1bWVudC5yZW5kZXJWaWV3KCkpCisgICAgaWYgKCFlbGVtZW50Lmlz
Q29ubmVjdGVkKCkgfHwgIWRvY3VtZW50Lmhhc0Jyb3dzaW5nQ29udGV4dCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgaWYgKGRvY3VtZW50LmlzU2FuZGJveGVkKFNhbmRib3hBdXRvbWF0
aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUg
bW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KQEAgLTIyMSwxMSArMjE4LDEw
IEBAIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1cyhjb25zdCBIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50JiBlbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKGVs
ZW1lbnQuaGFzQXV0b2ZvY3VzZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQudG9wRG9jdW1lbnQoKS5p
c0F1dG9mb2N1c1Byb2Nlc3NlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBG
SVhNRTogU2hvdWxkIHRoaXMgc2V0IG9mIGhhc1RhZ05hbWUgY2hlY2tzIGJlIHJlcGxhY2VkIGJ5
IGEKLSAgICAvLyB2aXJ0dWFsIG1lbWJlciBmdW5jdGlvbj8KKyAgICAvLyBGSVhNRTogYXV0b2Zv
Y3VzIGlzIGEgZ2xvYmFsIGF0dHJpYnV0ZS4KICAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4o
ZWxlbWVudCkpCiAgICAgICAgIHJldHVybiAhZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oZWxl
bWVudCkuaXNJbnB1dFR5cGVIaWRkZW4oKTsKICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKHNl
bGVjdFRhZykpCkBAIC0yNDcsMjIgKzI0Myw2IEBAIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKICAgICAvLyBvbiB0aGUgcmVuZGVyZXIuCiAgICAgaWYg
KHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Ci0K
LSAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKCp0aGlzKSkgewotICAgICAgICBzZXRBdXRvZm9jdXNl
ZCgpOwotCi0gICAgICAgIFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PiBlbGVtZW50ID0g
dGhpczsKLSAgICAgICAgUmVmUHRyIGZyYW1lVmlldyA9IGRvY3VtZW50KCkudmlldygpOwotICAg
ICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgpLmlzSW5MYXlv
dXQoKSkgewotICAgICAgICAgICAgZnJhbWVWaWV3LT5xdWV1ZVBvc3RMYXlvdXRDYWxsYmFjayhb
ZWxlbWVudF0gewotICAgICAgICAgICAgICAgIGVsZW1lbnQtPmZvY3VzKHsgU2VsZWN0aW9uUmVz
dG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFydCB9KTsKLSAgICAgICAgICAgIH0pOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgU3R5bGU6OmRlcHJlY2F0ZWRRdWV1ZVBvc3RSZXNv
bHV0aW9uQ2FsbGJhY2soW2VsZW1lbnRdIHsKLSAgICAgICAgICAgICAgICBlbGVtZW50LT5mb2N1
cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7Ci0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0KIH0KIAogdm9pZCBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVudCYgb2xkRG9jdW1lbnQsIERvY3Vt
ZW50JiBuZXdEb2N1bWVudCkKQEAgLTMwMSw2ICsyODEsMTAgQEAgTm9kZTo6SW5zZXJ0ZWRJbnRv
QW5jZXN0b3JSZXN1bHQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0
b3IoSW4KICAgICAgICAgc2V0QW5jZXN0b3JEaXNhYmxlZChjb21wdXRlSXNEaXNhYmxlZEJ5Rmll
bGRzZXRBbmNlc3RvcigpKTsKICAgICBIVE1MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3Io
aW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJbnNlcnRlZFRyZWUpOwogICAgIEZvcm1Bc3NvY2lhdGVk
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoaW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJbnNl
cnRlZFRyZWUpOworCisgICAgaWYgKHNob3VsZEF1dG9mb2N1cygqdGhpcykpCisgICAgICAgIGRv
Y3VtZW50KCkudG9wRG9jdW1lbnQoKS5hcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUoKnRoaXMpOwor
CiAgICAgcmV0dXJuIEluc2VydGVkSW50b0FuY2VzdG9yUmVzdWx0OjpOZWVkc1Bvc3RJbnNlcnRp
b25DYWxsYmFjazsKIH0KIApAQCAtMzk2LDYgKzM4MCwxMSBAQCBib29sIEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBjb25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgSFRN
TEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpCit7Cisg
ICAgZm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0p
OworfQorCiBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Om1hdGNoZXNWYWxpZFBzZXVkb0Ns
YXNzKCkgY29uc3QKIHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgaXNWYWxpZEZvcm1D
b250cm9sRWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaAppbmRleCAyNWUzNDUwMGVhYWE2MGFjZmY5OTU0YzRmYWJlMzU3NTQ1ZmUyOTE1Li45
Y2JhYjE5ZDdlNDljZTIyYmM3NTNlMGM3ZGY2YWU2ZTgyZWVlOGM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTE2LDkgKzExNiw2IEBAIHB1
YmxpYzoKICAgICBib29sIGlzUmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBtX2lzUmVhZE9ubHk7
IH0KICAgICBib29sIGlzRGlzYWJsZWRPclJlYWRPbmx5KCkgY29uc3QgeyByZXR1cm4gaXNEaXNh
YmxlZEZvcm1Db250cm9sKCkgfHwgbV9pc1JlYWRPbmx5OyB9CiAKLSAgICBib29sIGhhc0F1dG9m
b2N1c2VkKCkgY29uc3QgeyByZXR1cm4gbV9oYXNBdXRvZm9jdXNlZDsgfQotICAgIHZvaWQgc2V0
QXV0b2ZvY3VzZWQoKSB7IG1faGFzQXV0b2ZvY3VzZWQgPSB0cnVlOyB9Ci0KICAgICBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgYXV0b2NvbXBsZXRlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRBdXRvY29tcGxldGUoY29uc3QgU3RyaW5nJik7CiAKQEAgLTE3MCw2ICsxNjcsOCBA
QCBwcml2YXRlOgogICAgIHZvaWQgcmVmRm9ybUFzc29jaWF0ZWRFbGVtZW50KCkgb3ZlcnJpZGUg
eyByZWYoKTsgfQogICAgIHZvaWQgZGVyZWZGb3JtQXNzb2NpYXRlZEVsZW1lbnQoKSBvdmVycmlk
ZSB7IGRlcmVmKCk7IH0KIAorICAgIHZvaWQgcnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygp
IGZpbmFsOworCiAgICAgYm9vbCBtYXRjaGVzVmFsaWRQc2V1ZG9DbGFzcygpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGJvb2wgbWF0Y2hlc0ludmFsaWRQc2V1ZG9DbGFzcygpIGNvbnN0IG92ZXJyaWRl
OwogCkBAIC0yMTUsOCArMjE0LDYgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2lzVmFsaWQg
OiAxOwogCiAgICAgdW5zaWduZWQgbV93YXNDaGFuZ2VkU2luY2VMYXN0Rm9ybUNvbnRyb2xDaGFu
Z2VFdmVudCA6IDE7Ci0KLSAgICB1bnNpZ25lZCBtX2hhc0F1dG9mb2N1c2VkIDogMTsKIH07CiAK
IGNsYXNzIERlbGF5ZWRVcGRhdGVWYWxpZGl0eVNjb3BlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4
IDg4NTMzYjNkMmIzNzE4MmUxNjA1MmZlZDEyOTM2OGE0NmU0MjI5YWYuLmQ3YmJjNGNiZDY4MDM3
NWM0ZWE5ODVlMjZlN2FiZGNiYjBjNmUwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTU2MCw3
ICsxNTYwLDEwIEBAIHZvaWQgUGFnZTo6dXBkYXRlUmVuZGVyaW5nKCkKICAgICAgICAgZm9yRWFj
aERvY3VtZW50KHBlckRvY3VtZW50RnVuY3Rpb24pOwogICAgIH07CiAKLSAgICAvLyBGSVhNRTog
Rmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMuCisgICAgcnVuUHJvY2Vzc2luZ1N0ZXAoUmVuZGVy
aW5nVXBkYXRlU3RlcDo6Rmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzLCBbXSAoRG9jdW1lbnQmIGRv
Y3VtZW50KSB7CisgICAgICAgIGlmIChkb2N1bWVudC5pc1RvcERvY3VtZW50KCkpCisgICAgICAg
ICAgICBkb2N1bWVudC5mbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKyAgICB9KTsKIAogICAg
IHJ1blByb2Nlc3NpbmdTdGVwKFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlJlc2l6ZSwgW10gKERvY3Vt
ZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVudC5ydW5SZXNpemVTdGVwcygpOwpAQCAt
MzYwNSw2ICszNjA4LDcgQEAgU3BlZWNoUmVjb2duaXRpb25Db25uZWN0aW9uJiBQYWdlOjpzcGVl
Y2hSZWNvZ25pdGlvbkNvbm5lY3Rpb24oKQogV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdU
Rjo6VGV4dFN0cmVhbSYgdHMsIFJlbmRlcmluZ1VwZGF0ZVN0ZXAgc3RlcCkKIHsKICAgICBzd2l0
Y2ggKHN0ZXApIHsKKyAgICBjYXNlIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OkZsdXNoQXV0b2ZvY3Vz
Q2FuZGlkYXRlczogdHMgPDwgIkZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyI7IGJyZWFrOwogICAg
IGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVzaXplOiB0cyA8PCAiUmVzaXplIjsgYnJlYWs7
CiAgICAgY2FzZSBSZW5kZXJpbmdVcGRhdGVTdGVwOjpTY3JvbGw6IHRzIDw8ICJTY3JvbGwiOyBi
cmVhazsKICAgICBjYXNlIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6Ok1lZGlhUXVlcnlFdmFsdWF0aW9u
OiB0cyA8PCAiTWVkaWFRdWVyeUV2YWx1YXRpb24iOyBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXgg
OTRmOGI4ZGE5MjA2OTYzNzg4YzUxNjE2NTNlNTA1Y2NjMDA1MzgzOS4uYjUzZjY4ZTYzMGUzMjJl
OTc0NGE0YmZiYzkwN2I5ZWVhZTJlNTAzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTIwOCw5ICsyMDgs
MTEgQEAgZW51bSBjbGFzcyBSZW5kZXJpbmdVcGRhdGVTdGVwIDogdWludDE2X3QgewogI2lmIEVO
QUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgU2Nyb2xsaW5nVHJlZVVwZGF0ZSAgICAgICAgICAg
ICA9IDEgPDwgMTMsCiAjZW5kaWYKKyAgICBGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMgICAgICAg
ID0gMSA8PCAxNCwKIH07CiAKIGNvbnN0ZXhwciBPcHRpb25TZXQ8UmVuZGVyaW5nVXBkYXRlU3Rl
cD4gdXBkYXRlUmVuZGVyaW5nU3RlcHMgPSB7CisgICAgUmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1
c2hBdXRvZm9jdXNDYW5kaWRhdGVzLAogICAgIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlJlc2l6ZSwK
ICAgICBSZW5kZXJpbmdVcGRhdGVTdGVwOjpTY3JvbGwsCiAgICAgUmVuZGVyaW5nVXBkYXRlU3Rl
cDo6TWVkaWFRdWVyeUV2YWx1YXRpb24sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDY5ODE1ZWJmNWQ2ODZlZGM2NjkxMjQ3
NmM4ZTlkNGZkYTk3MTc4OS4uZjVlYWM3YWI0YTEwYjdhNTRkYjM1NjI2M2Q4ODBiMWJhY2ExMDcz
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTEwLTA1ICBUaW0gTmd1eWVuICA8bnRpbUBh
cHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9jdXMgYmVoYXZpb3IKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzEzOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2ggdGhlIG5ldyBhdXRvZm9j
dXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFn
ZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlCisgICAgICAgIC0gaHR0
cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNmb2N1
c2luZy1zdGVwcworCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5b3N1a2UgTml3YS4KKwor
ICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dp
bmRvdy1zY3JvbGwtaWdub3JlLW51bGwtZnJhbWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9h
ZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL2Fkb3B0
LW5vZGUtY3Jhc2gtMi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3dpbmRvdy1pbm5lci13aWR0
aC1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gt
d2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1
dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy5odG1sOgorICAgICAgICAqIGZh
c3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0
b2ZvY3VzLW9wZXJhLTAwMS5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwMi5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5o
dG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sOgorICAg
ICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sOgorICAgICAgICAqIGZh
c3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5odG1sOgorICAgICAg
ICAqIGZhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRs
ZXIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRlLXNjcmlw
dC1kdXJpbmctcmVzdG9yZS5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJp
YnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlv
bi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEwLTA2
ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVwbGFjZSBzZXRUaW1l
b3V0KHgsIDApIHdpdGggcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHgpIGluIHNvbWUgYXV0b2ZvY3Vz
IHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5Nzc4ZTU0NTM4NjY4YTRi
OTEyNmIyMzE0MjIxMTBlNjc4YWJhNmZjLi5mNTAzYTlmNDJjMzVkMzVmZTE2YTNlNTY0NGE2ZWY2
MzQ2NTdmOTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAyMS0xMC0wNSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIElt
cGxlbWVudCBuZXcgYXV0b2ZvY3VzIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMxMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2
Mzk3MDE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2UgV2ViS2l0IG1hdGNoIHRoZSBuZXcgYXV0b2ZvY3VzIHNwZWM6CisgICAgICAgIC0gaHR0
cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCN0aGUt
YXV0b2ZvY3VzLWF0dHJpYnV0ZQorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvbXVsdGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjZm9jdXNpbmctc3RlcHMKKworICAgICAgICBP
cmlnaW5hbCBwYXRjaCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1
bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2Zv
Y3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1
dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
L2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVl
LW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10
aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQu
dHh0OiBFeHBlY3RlZCBjaGFuZ2Ugc2luY2UgaW5wdXQgYXV0b2ZvY3VzIG5vdyBwbGFjZXMgY2Fy
ZXQgYXQgc3RhcnQKKwogMjAyMS0xMC0wNiAgS2lldCBIbyAgPHRobzIyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBJbXBvcnQgY3NzL21vdGlvbiB0ZXN0cyBmcm9tIFdQVApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggYWMzZjZmNDJjZWY4ZGNhZWExYjE0NzhiOGQ3OTdkYWQzNGE2ZDA2Yi4uZmNkNDIyMzRl
YTEyNTRiMmNjOTNjYTI3ODJiNDIyNGI2OWM3NDYwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC04
MDQsNyArODA0LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dz
ZXJzL2hpc3RvcnkvdGhlLWhpc3RvcnktaW50ZXJmYWNlLzAwMi4KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1oaXN0b3J5LWludGVyZmFj
ZS9jb21iaW5hdGlvbl9oaXN0b3J5XzAwMi5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1oaXN0b3J5
LWludGVyZmFjZS9jb21iaW5hdGlvbl9oaXN0b3J5XzAwMy5odG1sIFsgRmFpbHVyZSBQYXNzIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L2V4ZWN1dGlvbi10aW1pbmcvMDU4Lmh0bWwgWyBGYWlsdXJl
IFBhc3MgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLmh0bWwg
WyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Jl
bmRlcmluZy93aWRnZXRzL2Jhc2VsaW5lLWFsaWdubWVudC1hbmQtb3ZlcmZsb3cudGVudGF0aXZl
Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2xvYWRpbmctdGhl
LW1lZGlhLXJlc291cmNlL3Jlc291cmNlLXNlbGVjdGlvbi1wb2ludGVyLXJlbW92ZS1zb3VyY2Uu
aHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWlmcmFtZS1lbGVtZW50L2Nyb3NzLW9y
aWdpbi10by13aG9tLndpbmRvdy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxsLWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXNjcm9sbC1pZ25vcmUt
bnVsbC1mcmFtZS5odG1sCmluZGV4IGY2YTYxZjFhM2ZkZjY4MDZhODc1YjUxOWVjZWQzODc1YjM5
OGNmMjIuLmM3MTRjZDQwMTNlYWIwNTRlNzM3MjBiZTZmM2JjM2Q2ZGRkZjE0M2MgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxs
LWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1zY3Jv
bGwtaWdub3JlLW51bGwtZnJhbWUuaHRtbApAQCAtMiwxNCArMiwyMCBAQAogPHNjcmlwdD4KIAog
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CiAKICAgICBzZWxlY3Qx
LmFwcGVuZENoaWxkKGlucHV0UGFyZW50KTsKICAgICBpbnB1dDEuYXV0b2ZvY3VzID0gdHJ1ZTsK
ICAgICBpbnB1dDEuc2V0U2VsZWN0aW9uUmFuZ2UoMSwgMCk7CiAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChpbnB1dDEpOwotICAgIGZyYW1lMS5jb250ZW50V2luZG93LnNjcm9sbEJ5KHts
ZWZ0OiAxLCB0b3A6IDB9KTsKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAg
ICAgICBmcmFtZTEuY29udGVudFdpbmRvdy5zY3JvbGxCeSh7bGVmdDogMSwgdG9wOiAwfSk7Cisg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworICAgIH0pOwogfQogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0CmluZGV4IGVjOTgxZWFj
MWFkYmZiNGJkZGZiY2FiZGUzNWM0MTdjYTYxMzEwOTguLmJmMTViYTdiZTIzOGE5MTRiNGQzMmJi
OTMyMGFmYjUyYThjYjJkODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0
LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRv
cHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDQgQEAKLVRlc3RzIGZvciBh
IGNyYXNoIGR1ZSB0byBhZG9wdGluZyBhIERPTSBub2RlIGR1cmluZyBET01Gb2N1c091dCBldmVu
dC4gVGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4KK1Rlc3RzIGZvciBhIGNyYXNoIGR1
ZSB0byBhZG9wdGluZyBhIERPTSBub2RlIHdoZW4gdW5mb2N1c2luZy4gVGVzdCBwYXNzZXMgaWYg
aXQgZG9lc24ndCBjcmFzaC4KIAorUEFTUzogRm9jdXNlZCBub2RlIHNob3VsZCBiZSBrZXlnZW4K
K1BBU1M6IEZvY3VzZWQgbm9kZSBzaG91bGQgbm8gbG9uZ2VyIGJlIGtleWdlbgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbAppbmRleCBmNjhkMDE3YmIzMDdm
ZDIyYWE2Mzg4MDRjYmQ2NzZmMzQwM2JhOTY2Li5mYWVlMTZjMjdjY2ExOGE4NWU3NjE5ZGU0ZGMy
NDlmZmRkNjQ4YjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2Rl
LWNyYXNoLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNo
LTIuaHRtbApAQCAtMSw2ICsxLDYgQEAKIDwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgS2V5Z2VuRWxlbWVudEVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+Ci08ZGl2PlRl
c3RzIGZvciBhIGNyYXNoIGR1ZSB0byBhZG9wdGluZyBhIERPTSBub2RlIGR1cmluZyBET01Gb2N1
c091dCBldmVudC4gVGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC48L2Rpdj4KKzxkaXY+
VGVzdHMgZm9yIGEgY3Jhc2ggZHVlIHRvIGFkb3B0aW5nIGEgRE9NIG5vZGUgd2hlbiB1bmZvY3Vz
aW5nLiBUZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLjwvZGl2PgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwpAQCAt
MTQsMjkgKzE0LDMyIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIDwvaWZyYW1lPgog
ICA8L2FwcGxldD4KICAgPGhlYWRlciBpZD0iaGVhZGVyMSI+Ci0gICAgPGtleWdlbiBhdXRvZm9j
dXM+CisgICAgPGtleWdlbiBpZD0ia2V5Z2VuIiBhdXRvZm9jdXM+CiAgIDwvaGVhZGVyPgogPC9k
aXY+Cis8ZGl2IGlkPSJsb2dzIj48L2Rpdj4KIDxzY3JpcHQ+Ci1mdW5jdGlvbiBkb2l0KCkKLXsK
LSAgICBkaXYyLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUZvY3VzT3V0IiwgZnVuY3Rpb24gKCkgewot
ICAgICAgICBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVudCgiIiwgIiIsIG51
bGwpLmFkb3B0Tm9kZShkaXYyKTsKLSAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgICAgICAgICBpbnRlcm5hbHMudXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91dFRhc2tzKCk7
Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0sIDApOwotICAgIH0sIGZhbHNlKTsKLSAg
ICBkaXYxLm91dGVySFRNTCA9IGhlYWRlcjEub3V0ZXJIVE1MOworZnVuY3Rpb24gYXNzZXJ0X3Ry
dWUoYXNzZXJ0LCB0ZXh0KSB7CisgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgICAgaWYgKGFzc2VydCkKKyAgICAgICAgZGl2LnRleHRDb250ZW50ID0gIlBB
U1M6ICIgKyB0ZXh0OworICAgIGVsc2UKKyAgICAgICAgZGl2LnRleHRDb250ZW50ID0gIkZBSUw6
ICIgKyB0ZXh0OworICAgIGxvZ3MuYXBwZW5kKGRpdik7CiB9Ci13aW5kb3cub25sb2FkID0gZnVu
Y3Rpb24oKSB7CisKK2Z1bmN0aW9uIGRvaXQoKSB7CisgICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQu
YWN0aXZlRWxlbWVudCA9PSBrZXlnZW4sICJGb2N1c2VkIG5vZGUgc2hvdWxkIGJlIGtleWdlbiIp
OworICAgIGRpdjEub3V0ZXJIVE1MID0gaGVhZGVyMS5vdXRlckhUTUw7CisgICAgYXNzZXJ0X3Ry
dWUoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPSBrZXlnZW4sICJGb2N1c2VkIG5vZGUgc2hvdWxk
IG5vIGxvbmdlciBiZSBrZXlnZW4iKTsKKyAgICBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVh
dGVEb2N1bWVudCgiIiwgIiIsIG51bGwpLmFkb3B0Tm9kZShkaXYyKTsKICAgICBpZiAod2luZG93
LmludGVybmFscykKICAgICAgICAgaW50ZXJuYWxzLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcygpOwotICAgIGVsc2UKLSAgICAgICAgZGl2
Mi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICBzZXRUaW1lb3V0KCJkb2l0KCkiLCAxKTsK
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwogfQord2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHJlcXVlc3RBbmltYXRp
b25GcmFtZShkb2l0KTsKK307CiA8L3NjcmlwdD4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1pbm5lci13aWR0aC1jcmFzaC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vd2luZG93LWlubmVyLXdpZHRoLWNyYXNoLmh0bWwKaW5kZXggYmM3NWQzZjM3
MjJmMTY0ZGIxNjEwZTVmMWFjMGNmNzlkYmZmMDIyNy4uOTM5MzVmMDU3OGU3YjI4M2MzYzhmYTM5
MzllM2UzNmFjZWVjMTIzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93
LWlubmVyLXdpZHRoLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93
LWlubmVyLXdpZHRoLWNyYXNoLmh0bWwKQEAgLTYsOCArNiw4IEBAIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogZnVuY3Rpb24gcnVuVGVzdCgp
IHsKLSAgICBidXR0b24uYXV0b2ZvY3VzID0gdHJ1ZTsKICAgICBib2R5LmFwcGVuZENoaWxkKHBh
cmFncmFwaCk7CisgICAgYnV0dG9uLmZvY3VzKCk7CiAgICAgdmFyIHRlc3RWYWwgPSB3aW5kb3db
MF0uaW5uZXJXaWR0aDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9h
dXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlw
dHMtZXhwZWN0ZWQudHh0CmluZGV4IGNmODZmYjRjNWVhNjkwM2ViMDhhNzBlMjY0YTAyNzg5YjYy
MDg3OTQuLjUwYWNmYjY3ZGY4OWIwMTUxMTc1N2YyMzkxNWI3MGY0YWZiYzdkOWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxv
dy1zY3JpcHRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKQEAgLTEsMiAr
MSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IElOUFVUCi1UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBh
Y3RpdmVFbGVtZW50IGlzIHRoZSBpbnB1dCBlbGVtZW50IHJhdGhlciB0aGFuIHRoZSBib2R5ICh3
aGljaCBpdCB3b3VsZCBiZSBpZiB0aGUgc2FuZGJveCBkaWRuJ3QgYWxsb3cgYXV0b2ZvY3VzIGFs
dGhvdWdoIGFsbG93LXNjcmlwdHMgZmxhZyBpcyBzZXQpLgorVGhpcyB0ZXN0cyBoYXZpbmcgYW4g
aW5wdXQgZWxlbWVudCB3aXRoIGF1dG9mb2N1cyBjb250ZW50IGF0dHJpYnV0ZSBpbnNpZGUgYSBz
YW5kYm94ZWQgaWZyYW1lLgorVGhlIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGF1dG9mb2N1c2Vk
IHNpbmNlIHNjcmlwdHMgYXJlIGFsbG93ZWQuCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFt
ZTEtLT4nCistLS0tLS0tLQorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0
bWwKaW5kZXggNGYyMjM4NjhmZDdlNmYxODllYzUzZjcyNjJlNzZiZGI5ODY3YmM1YS4uZWMzZTM4
MDEwZmM4NDRhZmIzOTIyMjg4MGUzNGY5M2IxNTk2ZGZkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgt
YWxsb3ctc2NyaXB0cy5odG1sCkBAIC0xLDggKzEsMTkgQEAKIDxzY3JpcHQ+Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworfQog
PC9zY3JpcHQ+Ci1UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBhY3RpdmVFbGVtZW50IGlzIHRoZSBp
bnB1dCBlbGVtZW50IHJhdGhlciB0aGFuIHRoZSBib2R5Ci0od2hpY2ggaXQgd291bGQgYmUgaWYg
dGhlIHNhbmRib3ggZGlkbid0IGFsbG93IGF1dG9mb2N1cyBhbHRob3VnaCBhbGxvdy1zY3JpcHRz
IGZsYWcgaXMgc2V0KS4KLTxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyBhbGxvdy1tb2Rh
bHMiCi0gICAgc3JjPSJkYXRhOnRleHQvaHRtbCw8aW5wdXQgYXV0b2ZvY3VzIG9uZm9jdXM+PHNj
cmlwdD53aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7IGNvbnNvbGUubG9nKGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQudGFnTmFtZSkgfTwvc2NyaXB0PiI+PC9pZnJhbWU+CitUaGlzIHRlc3RzIGhh
dmluZyBhbiBpbnB1dCBlbGVtZW50IHdpdGggYXV0b2ZvY3VzIGNvbnRlbnQgYXR0cmlidXRlIGlu
c2lkZSBhIHNhbmRib3hlZCBpZnJhbWUuPGJyPgorVGhlIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJl
IGF1dG9mb2N1c2VkIHNpbmNlIHNjcmlwdHMgYXJlIGFsbG93ZWQuCis8aWZyYW1lIHNhbmRib3g9
ImFsbG93LXNjcmlwdHMiCisgICAgc3JjPSJkYXRhOnRleHQvaHRtbCw8aW5wdXQgaWQ9aW5wdXQg
YXV0b2ZvY3VzIG9uZm9jdXM+PHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5vbmxvYWQgPSBm
dW5jdGlvbiAoKSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAg
ICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGlu
cHV0ID8gJ1BBU1MnIDogJ0ZBSUwnKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7
CisgICAgfTwvc2NyaXB0PiI+PC9pZnJhbWU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0
b2ZvY3VzLWtleWdlbi5odG1sCmluZGV4IDc3MDcwZThkYjA2YjU0YzliOTBmZTZkMzEwMjY4M2Rh
ODU0YmMwY2MuLjBjNzY1ZGUzMjNhMjNiMDUyNGQzNzBlYzUyYWRiZjVkMDQ2YTI4NWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sCkBAIC02LDkgKzYs
MTEgQEAKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogZnVuY3Rpb24gb25Mb2FkKCkg
ewotICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50JywgJ2RvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoImtleWdlbiIpJyk7Ci0gICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuYXV0b2ZvY3VzJywgJ3RydWUnKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCcsICdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJrZXlnZW4iKScpOworICAgICAgICBz
aG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5hdXRvZm9jdXMnLCAndHJ1ZScpOworICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbAppbmRleCA5
ZDA1ZWRmYmY0NDAwODBlOTRmNGFiNDBmYzMzM2QyZTE0NDMxZTI1Li40OWJiZTljMDViZjM0NzY3
NmRiNGNmOWRhZTRiNWQ3NjM4ODg0YzNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbApAQCAtMTEsMTMgKzExLDE5IEBACiAgICAgfQogCiAg
ICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAg
ICAgIH0KIAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKLSAgICAgICAgICAgIGxvZygiU1VDQ0VT
UyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5h
Y3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBd
KQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAg
ICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAyLmh0bWwKaW5kZXggYjUxM2ZjOTc2MjE1MWJlMTNlMDk5
NmY5ZjhmYzE2ZGU0Yzk5ZDI3ZS4uOTNlNDUzZGQ5MmZhOWY3ZGNkZTJlNWQxMDMwNWFkOWE3MWY4
NGFjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEt
MDAyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAy
Lmh0bWwKQEAgLTExLDEzICsxMSwxOSBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CiAKLSAgICAgICAgaWYg
KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
ImlucHV0IilbMF0pCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBs
b2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZB
SUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3Jp
cHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1
cy1vcGVyYS0wMDMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJh
LTAwMy5odG1sCmluZGV4IDQxMjkwYjYxNWZmZWJjZTFlMjAwZDExYjI4YTU1NjAzODU5NWI0Njku
LjVlNWU4YTgwNjcxZTk1YTI5MmNlYmZkNDI5YmIyOTgwNzcwZjUxMjUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sCkBAIC0xMiwxNCArMTIs
MjAgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgfQogCi0gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVt
ZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdICYmCi0gICAg
ICAgICAgICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCAhPSAwKQotICAgICAg
ICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJ
TFVSRSIpOworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAg
ICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImlucHV0IilbMF0gJiYKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5zY3JvbGxpbmdF
bGVtZW50LnNjcm9sbFRvcCAhPSAwKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwKaW5kZXgg
ODQ4ZTYxYTQ3OGEwMjQzZGQyMmQ3MmJhZDE5NTg3Y2E4ZTZiYmQxYy4uZjJkNzlhNGZhZTI2ZGM4
NGI5YzkzYzMyYmJhYmY5OGRhOTUzNjQ2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwKQEAgLTExLDIzICsxMSwzMCBAQAogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
ICAgICB9CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAg
ICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0IikpCisgICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0pOwogCi0gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikpCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1Mi
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CiAgICAgfQogPC9z
Y3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CiA8cD5BbGwgZm9ybSBjb250
cm9scyBiZWxvdyBzaG91bGQgaGF2ZSBhIGdyZWVuIGJhY2tncm91bmQ6PC9wPgotPHA+PGlucHV0
IGF1dG9mb2N1cz4KKzxwPjxpbnB1dCBhdXRvZm9jdXMgaWQ9InRlc3QiPgogPHA+PGlucHV0IGF1
dG9mb2N1cz4KIDxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8cD48aW5wdXQ+Ci08cD48aW5wdXQgYXV0
b2ZvY3VzIGlkPSJ0ZXN0Ij4KKzxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8cD48aW5wdXQ+CiA8aHIv
PgogPG9sIGlkPSJjb25zb2xlIj48L29sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDcuaHRtbAppbmRleCAwOTBmMzkzNTcwMzVkZGI4ZTkzNzUwY2RiMWI3
OWJjMWE4NTBmMWJlLi4xMWJkMzk1MDRjOWRkYTg0ODkyMDFkZDhhNzUxNTQ3ODBkOTA4OWVlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbApA
QCAtMTcsMTMgKzE3LDE5IEBACiAgICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KIAotICAgICAgICBpZiAoZ290Qmx1
cikKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsK
KyAgICAgICAgICAgIGlmIChnb3RCbHVyKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4t
Zm9jdXMtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQt
dHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwKaW5kZXggYjdhMWQ4YzlmODU5OGVlMDJhM2E2NzZm
MGRmOGU4YWZlNDRiMjg2NS4uYWQ5YzY2OWFlOWExODUxMDExYWQ5NmQwNGU0OWI5YjI5YjU5MDUw
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1p
bi1mb2N1cy1oYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2Ut
aW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwKQEAgLTEwLDE2ICsxMCwyNSBAQAogZnVu
Y3Rpb24gZm9jdXNlZCgpIHsKICAgICBpZiAoaW5wdXQuYXV0b2ZvY3VzKSB7CiAgICAgICAgIGlu
cHV0LnR5cGUgPSAiY2hlY2tib3giOwotICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
ICI8Y29kZSBzdHlsZT0nY29sb3I6IGdyZWVuJz5QQVNTPC9jb2RlPiI7CisgICAgICAgIGRvY3Vt
ZW50LmJvZHkuaW5uZXJIVE1MID0gIkZBSUwgLSBmb2N1cyBldmVudCBoYW5kbGVyIGNhbGxlZCBm
b3IgYXV0b2ZvY3VzIjsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKICAgICBpbnB1dC5hdXRvZm9jdXMg
PSB0cnVlOworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIGRvY3Vt
ZW50LmJvZHkudGV4dENvbnRlbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50
LmJvZHkgPyAiUEFTUyIgOiAiRkFJTCI7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOwogfQogCi1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KIAog
aW5wdXQuZm9jdXMoKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2
ZW50aGFuZGxlci5odG1sCmluZGV4IDZmNWEyZTkxOWVkZjlhOTYzYmE4ZjdlZGU0ZTkwNjYyMTUw
YmY2ZmQuLmM4OTg2NjdmYzRkYzY2YTVjY2IwZGNjZTRjNzEwYzVlZWI2OTFhMmMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1p
bi1ldmVudGhhbmRsZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9jcmFzaC13
aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWwKQEAgLTYsMTMgKzYsMjAg
QEAgUEFTUyBpZiBubyBjcmFzaC4KIDxzcGFuIGlkPXdyYXBwZXI+PC9zcGFuPgogPHRleHRhcmVh
IGlkPXRleHRhcmVhIG9uZm9jdXM9ImV2ZW50aGFuZGxlcigpIj48L3RleHRhcmVhPgogPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworfQorCiBkb2N1bWVudC5vZmZzZXRIZWlnaHQ7CiB0ZXh0YXJlYS5hdXRvZm9jdXMgPSB0cnVl
OwogdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwogc3Bhbi5h
cHBlbmRDaGlsZChpZnJhbWUpOwogd3JhcHBlci5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7CityZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9KTsKIGlmcmFtZS5jb250ZW50RG9jdW1l
bnQuY2FyZXRSYW5nZUZyb21Qb2ludCgpOwogCiBmdW5jdGlvbiBldmVudGhhbmRsZXIoKSB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRlLXNj
cmlwdC1kdXJpbmctcmVzdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbAppbmRleCA2M2NmOGEyMjE5
OGQ3MDlmM2ZhOThhZjU1OTcxMzkzODkwMjU1ZGEyLi5jMmY1ODQ1NzU5NGI4MzNhZDdiNTIzNzRi
MDUxYWJhNWJmNDFjOTk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3Jl
Lmh0bWwKQEAgLTE2LDggKzE2LDEwIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogfQogCiB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCAoZXZlbnQpID0+IHsKLSAgICBpZiAo
ZXZlbnQucGVyc2lzdGVkKQorICAgIGlmIChldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgICAgcmVx
dWVzdEFuaW1hdGlvbkZyYW1lKGZpbmlzaCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDApOwog
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1l
bnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9m
b2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQK
aW5kZXggYTQ1MmQ1M2VkYmE2MzU4N2Q5YzJlYmRjNmY2YTUwZDUzZmU0ZWZlNS4uZDQxOTI5Zjli
N2RmN2IxOGQ2MDJkYWQ0NjA4YmVmZTA3MTVmY2EyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13
aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAogCi1GQUlM
IEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZyYWdt
ZW50cyBzaG91bGQgd29yay4gYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVl
IEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+CitQQVNTIEF1dG9mb2N1
cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZyYWdtZW50cyBzaG91
bGQgd29yay4KIFBBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBj
b250ZXh0J3MgZG9jdW1lbnRzIHdpdGggZW1wdHkgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0
aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9m
b2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3Rl
ZC50eHQKaW5kZXggMmIxZTU3ZDYyODI5NTY5MThkMjcyMTU1NWQwNGQ1ODAyYWI3ZGY2ZC4uOGRk
NmI0Yzc3MGNlOWFhNWNjMjliZmM4NWNjZTQyZDVkY2VlODc4MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhp
c3RlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dApAQCAtMSw1
ICsxLDUgQEAKIAogCi1GQUlMIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50
cyB3aXRoIG5vbi1leGlzdGVudCBmcmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1
YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0i
Ij48L2lucHV0PgorUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMg
d2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogUEFTUyBBdXRvZm9jdXMg
ZWxlbWVudHMgaW4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQncyBkb2N1bWVudHMgd2l0aCBu
b24tZXhpc3RlbnQgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3AtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdp
dGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dAppbmRleCAwMzc0MTA5YTMwYzYyNGRiZDk0ZDg3
OTEzYjRlMzM4ZWU5MTk5M2VmLi44YmE1MGE1MWEzZGFkNTcwZDQ5Mjc3NDk5OTcyZDU5NGQ1ZGZl
Yjk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1l
bnQtd2l0aC1mcmFnbWVudC10b3AtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0
b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBk
b2N1bWVudHMgd2l0aCAidG9wIiBmcmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1
YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0i
Ij48L2lucHV0PgorUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMg
d2l0aCAidG9wIiBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVtZW50
cyBpbiB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCdzIGRvY3VtZW50cyB3aXRoICJ0b3AiIGZy
YWdtZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3Vz
LWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQKaW5kZXggOTg3MzI3YjFhN2I5YmI2YWExZjJi
NmI0NDA2Mzc3MTBiZThmMDA2ZS4uY2U5MjY3NjdmMzA0MmRlMjI5ODA0MDMzZDJlZmU1NTVlYWQ2
NTJkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmly
c3QtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9m
b2N1cyBlbGVtZW50IGluIHRoZSBkb2N1bWVudCBzaG91bGQgd2luLiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PiBidXQgZ290
IEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+CitQQVNTIFRoZSBmaXJz
dCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQgc2hvdWxkIHdpbi4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdo
ZW4tbGF0ZXItZXhwZWN0ZWQudHh0CmluZGV4IGZlMDIxMThhMzQ5YTNhY2M5ZjhjYWVkODkxNzgx
ZjAxYzI4ODE0NWYuLjVmNGMzMTVjNjg3OGUzYzY4YjdhZDJmOGM5Y2EyOTYxMWVmZDVjOWYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxh
dGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
Zmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIAotRkFJTCBU
aGUgZmlyc3QgYXV0b2ZvY3VzIGluIHRoZSBkb2N1bWVudCB3aW5zLCBldmVuIGlmIGVsZW1lbnRz
IGFyZSBpbnNlcnRlZCBsYXRlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2Rl
IDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0
IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGluIHRoZSBk
b2N1bWVudCB3aW5zLCBldmVuIGlmIGVsZW1lbnRzIGFyZSBpbnNlcnRlZCBsYXRlci4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1
c2FibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1
ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0CmluZGV4IDMzZDgzMDg3ZTE4ZjZkOWQ5YjJm
YWY0NTJhM2VkYmU5NjA3M2IxNWQuLmE1ODQ5ZDYyMjM1MzE4Y2I4OGEzMWFmNGEyZDk0ZjdjNzEx
ODEwNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1
ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACiAKIAotRkFJTCBJZiB0aGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaXMgbm90IGZvY3Vz
YWJsZSwgYnV0IGJlY29tZXMgZm9jdXNhYmxlIGJlZm9yZSBhIGZyYW1lLCBpdCBzaG91bGQgYmUg
Zm9jdXNlZC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDx0ZXh0YXJlYSBh
dXRvZm9jdXM9IiI+PC90ZXh0YXJlYT4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPHNlbGVjdCBhdXRv
Zm9jdXM9IiI+PC9zZWxlY3Q+CitQQVNTIElmIHRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBp
cyBub3QgZm9jdXNhYmxlLCBidXQgYmVjb21lcyBmb2N1c2FibGUgYmVmb3JlIGEgZnJhbWUsIGl0
IHNob3VsZCBiZSBmb2N1c2VkLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4
dAppbmRleCAxMzU0MWY2NGZkNjE1MjE0OWIyNzg4Y2E0MjkyOTNkYWNiYjcyMTg3Li4wY2JjNzdl
ZjcxYzkyMWVhYjgxZWE5MGI1NGYxYjU1YmU3YWZjMjk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMv
dGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRl
cmluZy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLQotRkFJTCAiRmx1c2ggYXV0b2Zv
Y3VzIGNhbmRpZGF0ZXMiIHNob3VsZCBiZSBoYXBwZW4gYWZ0ZXIgdGhlIGZpcnN0IGFuaW1hdGlv
biBmcmFtZSBjYWxsYmFja3MsIGFuZCBiZWZvcmUgYSByZXNpemUgZXZlbnQgaW4gdGhlIG5leHQg
aXRlcmF0aW9uIG9mIHdpbmRvdyBldmVudCBsb29wLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5n
dGhzIGRpZmZlciwgZXhwZWN0ZWQgMyBnb3QgNAorUEFTUyAiRmx1c2ggYXV0b2ZvY3VzIGNhbmRp
ZGF0ZXMiIHNob3VsZCBiZSBoYXBwZW4gYmVmb3JlIGEgc2Nyb2xsIGV2ZW50IGFuZCBhbmltYXRp
b24gZnJhbWUgY2FsbGJhY2tzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUt
aW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1j
cmFzaC1leHBlY3RlZC50eHQKaW5kZXggMGE5OTBhMDVlMGIyMThjNWM1MGY3NjAyNzRkMjEzMGFh
MjQyZDliMS4uYTk2MDhjMThkM2IzNDYzYjE5NGRmZDQ5NWNkZDNiMTkxYTllNDk1YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rp
b24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24v
c2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTks
NCArOSw1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYyMwogICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE0N3gxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9y
ZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQogbGF5ZXIgYXQgKDUsNjA1KSBzaXplIDE0MXgxMwog
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXplIDE0MXgxMwotY2FyZXQ6IHBvc2l0aW9u
IDEgb2YgYm9keQorY2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7RElWfSBvZiB7I2RvY3Vt
ZW50LWZyYWdtZW50fSBvZiBjaGlsZCAyIHtJTlBVVH0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9j
dW1lbnQKK3Njcm9sbGVkIHRvIDAsMjMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCBjOTFiOTRlOTU3OTUxZDYyMTlhM2Q2YThiOTZkZjg1NDk1
NDVmMDA1Li5kNmIyNGM0ZDk3NThlNTliMDA3OWU4OTMyYjc4MWY5ODdkNDY2Njk2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMDQ4LDcg
KzIwNDgsNyBAQCB3ZWJraXQub3JnL2IvMjMwNDE4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvZGF0YS11cmxzL2Jhc2U2NC5hbnkudwogCiB3ZWJraXQub3JnL2IvMjI3OTk4
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQt
Y29udGVudC90aGUtZW1iZWQtZWxlbWVudC9lbWJlZC1uZXR3b3JrLWVycm9yLnN1Yi5odG1sIFsg
UGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIyNzc2MiBbIERlYnVnIF0gaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdmFsaWQuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvMjI3NzYyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVu
dC13aXRoLWZyYWdtZW50LXZhbGlkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3Jn
L2IvMjI2Nzg5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic3RvcmFnZS9ldmVu
dF9jYXNlX3NlbnNpdGl2ZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRo
ZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhl
LWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0Cmlu
ZGV4IDMyOTRhMGQzYTUyMjBjZjJhZTg4MDQ1MmM4MTgzZTYwNmNmNWNkYzQuLmEwYzEwYTQ1ZWUw
NmVhYzY4NmVhYjcyOGMwN2I2ODE4YzdjMDNlNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5n
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2Zv
Y3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACiAKIAotRkFJTCAiRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMiIHNob3VsZCBiZSBo
YXBwZW4gYWZ0ZXIgdGhlIGZpcnN0IGFuaW1hdGlvbiBmcmFtZSBjYWxsYmFja3MsIGFuZCBiZWZv
cmUgYSByZXNpemUgZXZlbnQgaW4gdGhlIG5leHQgaXRlcmF0aW9uIG9mIHdpbmRvdyBldmVudCBs
b29wLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAwLCBleHBlY3RlZCAiYW5pbWF0aW9u
RnJhbWUiIGJ1dCBnb3QgImF1dG9mb2N1cyIKK0ZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRh
dGVzIiBzaG91bGQgYmUgaGFwcGVuIGJlZm9yZSBhIHNjcm9sbCBldmVudCBhbmQgYW5pbWF0aW9u
IGZyYW1lIGNhbGxiYWNrcyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBhdXRvZm9jdXMsYW5pbWF0aW9u
RnJhbWUgbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5IFsiYXV0b2ZvY3VzIiwgInNjcm9s
bCIsICJhbmltYXRpb25GcmFtZSJdIGxlbmd0aCAzLCBnb3QgWyJhdXRvZm9jdXMiLCAiYW5pbWF0
aW9uRnJhbWUiXSBsZW5ndGggMgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNl
bGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0
aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggZDI4NjJh
YjM1NTI3NmU0OTBkM2RkYTJhOTZiMzUwZDk2YTVmYWUwOS4uOWFkNjhkNmY0MTQxODM0OTMwMjJi
YjM1NTZiNjY3MDQ1ODQwZGFhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxl
Y3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxl
Y3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5
LDQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjI1CiAgICAgICBSZW5kZXJUZXh0Q29udHJv
bCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTU1eDIyIFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6
ICgxcHggc29saWQgIzNDM0M0Mzk5KV0KIGxheWVyIGF0ICg5LDYwNSkgc2l6ZSAxNDF4MTQKICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDYsMykgc2l6ZSAxNDN4MTUKLWNhcmV0OiBwb3NpdGlvbiAx
IG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0RJVn0gb2YgeyNkb2N1bWVu
dC1mcmFnbWVudH0gb2YgY2hpbGQgMiB7SU5QVVR9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3Vt
ZW50Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440485</attachid>
            <date>2021-10-07 00:55:06 -0700</date>
            <delta_ts>2021-10-08 10:41:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211007095505.patch</filename>
            <type>text/plain</type>
            <size>45950</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjIyZjA4ODc0ODA1ZDhl
NGVmYzdjNTNjNzUzZjNmZjQyYjdmMTBhZi4uYmI2NTRlNTY3ZTU3ODllYTA3ZDllYTg2ZjUxMWFm
YmZjOTdkNDMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIFRoZSBuZXcgYXV0b2ZvY3VzIGJl
aGF2aW9yIHF1ZXVlcyB1cCBhbGwgYXV0b2ZvY3VzYWJsZSBlbGVtZW50cyAodmlzaWJsZSBvciBu
b3QpLCB0aGVuCisgICAgICAgIGZpcmVzIGF1dG9mb2N1cyBhc3luY2hyb25vdXNseSBkdXJpbmcg
dGhlICJ1cGRhdGUgcmVuZGVyaW5nIiBzdGVwcywgdW5saWtlIHRoZSBvbGQgYmVoYXZpb3IKKyAg
ICAgICAgd2hpY2ggcnVucyBmb2N1cyBzeW5jaHJvbm91c2x5IHdoZW5ldmVyIGl0IGZpbmRzIGEg
dmlzaWJsZSBhdXRvZm9jdXNhYmxlIGVsZW1lbnQuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2gg
YnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjphcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyk6CisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNBdXRvZm9jdXNQ
cm9jZXNzZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEF1dG9mb2N1
c1Byb2Nlc3NlZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cyk6CisgICAgICAgICogZG9t
L0VsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3Rvcik6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9y
QXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Omhhc0F1dG9mb2N1c2VkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6
OnNldEF1dG9mb2N1c2VkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6dXBkYXRlUmVuZGVyaW5nKToKKyAgICAgICAgKiBwYWdlL1Bh
Z2UuaDoKKwogMjAyMS0xMC0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciBub24tdW5pZmllZCBidWlsZC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCmluZGV4IDhiZGYyMjA5MDZiMGNlYmEzOTNkYTlmMmQzYmUzZmU2ZGJl
Y2RjY2MuLjFjMjEwYjE5MTk0NjFjYTYzZTkwZTJjNzRkYWNlM2YwYjJjZTE4ZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcApAQCAtNDQ3NCw2ICs0NDc0LDM2IEBAIHZvaWQgRG9jdW1lbnQ6OmFk
anVzdEZvY3VzZWROb2RlT25Ob2RlUmVtb3ZhbChOb2RlJiBub2RlLCBOb2RlUmVtb3ZhbCBub2Rl
UmVtb3ZhCiAgICAgfQogfQogCit2b2lkIERvY3VtZW50OjphcHBlbmRBdXRvZm9jdXNDYW5kaWRh
dGUoRWxlbWVudCYgY2FuZGlkYXRlKQoreworICAgIEFTU0VSVChpc1RvcERvY3VtZW50KCkpOwor
ICAgIEFTU0VSVCghbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCk7CisgICAgbV9hdXRvZm9jdXNDYW5k
aWRhdGVzLmFwcGVuZE9yTW92ZVRvTGFzdChjYW5kaWRhdGUpOworfQorCit2b2lkIERvY3VtZW50
OjpmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMoKQoreworICAgIEFTU0VSVChpc1RvcERvY3VtZW50
KCkpOworICAgIGlmIChtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkKQorICAgICAgICByZXR1cm47CisK
KyAgICBmb3IgKDsgIW1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5pc0VtcHR5KCk7IG1fYXV0b2ZvY3Vz
Q2FuZGlkYXRlcy5yZW1vdmVGaXJzdCgpKSB7CisgICAgICAgIFJlZiBlbGVtZW50ID0gbV9hdXRv
Zm9jdXNDYW5kaWRhdGVzLmZpcnN0KCk7CisgICAgICAgIGlmICghZWxlbWVudC0+ZG9jdW1lbnQo
KS5pc0Z1bGx5QWN0aXZlKCkgfHwgJmVsZW1lbnQtPmRvY3VtZW50KCkudG9wRG9jdW1lbnQoKSAh
PSB0aGlzKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmIChhdXRvKiBwYXJzZXIg
PSBzY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKTsgcGFyc2VyICYmIHBhcnNlci0+aGFzU2NyaXB0
c1dhaXRpbmdGb3JTdHlsZXNoZWV0cygpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIC8v
IEZJWE1FOiBOZWVkIHRvIGlnbm9yZSBpZiB0aGUgaW5jbHVzaXZlIGFuY2VzdG9yIGRvY3VtZW50
cyBoYXMgYSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgLy8gRklYTUU6IFVzZSB0aGUgcmVzdWx0
IG9mIGdldHRpbmcgdGhlIGZvY3VzYWJsZSBhcmVhIGZvciBlbGVtZW50IGlmIGVsZW1lbnQgaXMg
bm90IGZvY3VzYWJsZS4KKyAgICAgICAgaWYgKGVsZW1lbnQtPmlzRm9jdXNhYmxlKCkpIHsKKyAg
ICAgICAgICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5jbGVhcigpOworICAgICAgICAgICAgc2V0
QXV0b2ZvY3VzUHJvY2Vzc2VkKCk7CisgICAgICAgICAgICBlbGVtZW50LT5ydW5Gb2N1c2luZ1N0
ZXBzRm9yQXV0b2ZvY3VzKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9
Cit9CisKIHZvaWQgRG9jdW1lbnQ6OmhvdmVyZWRFbGVtZW50RGlkRGV0YWNoKEVsZW1lbnQmIGVs
ZW1lbnQpCiB7CiAgICAgaWYgKCFtX2hvdmVyZWRFbGVtZW50IHx8ICZlbGVtZW50ICE9IG1faG92
ZXJlZEVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDM4NmUzNzgyODA4OGYzZmQxZWE3
YmZjODA2ODJlOTVhODUwODkwMDYuLmE5N2NhODYyNTI4ODFhMGNkZmNmNzdjYzhiNTJkYjcwMzNi
NDE3MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC03ODgsNiArNzg4LDExIEBAIHB1YmxpYzoK
ICAgICB2b2lkIGFkanVzdEZvY3VzZWROb2RlT25Ob2RlUmVtb3ZhbChOb2RlJiwgTm9kZVJlbW92
YWwgPSBOb2RlUmVtb3ZhbDo6Tm9kZSk7CiAgICAgdm9pZCBhZGp1c3RGb2N1c05hdmlnYXRpb25O
b2RlT25Ob2RlUmVtb3ZhbChOb2RlJiwgTm9kZVJlbW92YWwgPSBOb2RlUmVtb3ZhbDo6Tm9kZSk7
CiAKKyAgICBib29sIGlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkgY29uc3QgeyByZXR1cm4gbV9pc0F1
dG9mb2N1c1Byb2Nlc3NlZDsgfQorICAgIHZvaWQgc2V0QXV0b2ZvY3VzUHJvY2Vzc2VkKCkgeyBt
X2lzQXV0b2ZvY3VzUHJvY2Vzc2VkID0gdHJ1ZTsgfQorICAgIHZvaWQgYXBwZW5kQXV0b2ZvY3Vz
Q2FuZGlkYXRlKEVsZW1lbnQmKTsKKyAgICB2b2lkIGZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygp
OworCiAgICAgdm9pZCBob3ZlcmVkRWxlbWVudERpZERldGFjaChFbGVtZW50Jik7CiAgICAgdm9p
ZCBlbGVtZW50SW5BY3RpdmVDaGFpbkRpZERldGFjaChFbGVtZW50Jik7CiAKQEAgLTE4MDEsNiAr
MTgwNiw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPERPTUltcGxlbWVudGF0aW9u
PiBtX2ltcGxlbWVudGF0aW9uOwogCiAgICAgUmVmUHRyPE5vZGU+IG1fZm9jdXNOYXZpZ2F0aW9u
U3RhcnRpbmdOb2RlOworICAgIExpc3RIYXNoU2V0PFJlZjxFbGVtZW50Pj4gbV9hdXRvZm9jdXND
YW5kaWRhdGVzOworICAgIGJvb2wgbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCB7IGZhbHNlIH07CiAg
ICAgUmVmUHRyPEVsZW1lbnQ+IG1fZm9jdXNlZEVsZW1lbnQ7CiAgICAgUmVmUHRyPEVsZW1lbnQ+
IG1faG92ZXJlZEVsZW1lbnQ7CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG1fYWN0aXZlRWxlbWVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBlYWQ3MjY3YTY5ZTc3ZjA5ODllZWExN2VkNGNlMzIz
ZjU4YTRmNWM2Li4yZjJlMDI1MmNlZWE5YzNiODc1MDZhZWIwMWRmNGM4YmFkMjdlYjVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0zMTczLDYgKzMxNzMsMTEgQEAgdm9pZCBFbGVtZW50Ojpi
bHVyKCkKICAgICB9CiB9CiAKK3ZvaWQgRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9m
b2N1cygpCit7CisgICAgZm9jdXMoKTsKK30KKwogdm9pZCBFbGVtZW50OjpkaXNwYXRjaEZvY3Vz
SW5FdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFbGVtZW50PiYmIG9s
ZEZvY3VzZWRFbGVtZW50KQogewogICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1Q
TElDQVRJT04oU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQ6OmlzU2NyaXB0QWxs
b3dlZCgpIHx8ICFpc0luV2ViUHJvY2VzcygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDQ2N2Ez
NTVjYTEzODczZmY1ODBiM2MxNTBhMjIxY2E4MDJlY2E3NTQuLmIwZjg2YzhmMWE4MTkyMGZjMGRl
NjY5OGVmNmI0Njg0YTBhZWQ1MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDA2LDYgKzQwNiw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlZlB0cjxFbGVtZW50PiBmb2N1c0FwcGVhcmFuY2VV
cGRhdGVUYXJnZXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlKFNl
bGVjdGlvblJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJl
dmVhbE1vZGU6OlJldmVhbCk7CiAgICAgdmlydHVhbCB2b2lkIGJsdXIoKTsKKyAgICB2aXJ0dWFs
IHZvaWQgcnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpOwogCiAgICAgV0VCQ09SRV9FWFBP
UlQgU3RyaW5nIGlubmVySFRNTCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBv
dXRlckhUTUwoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCmluZGV4IDliMjY5NzZhNjAzNGE4MDVmZjA5ZGE2NDRmNTZjMTFlZDlmZGEx
YmMuLjA5MzdhZDY5MTkyMGZlODVkMmVlMzU3N2YyYTRkM2U4M2Y2MTczZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtNzIsNyArNzIs
NiBAQCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvYwogICAgICwgbV93aWxsVmFsaWRhdGUodHJ1ZSkK
ICAgICAsIG1faXNWYWxpZCh0cnVlKQogICAgICwgbV93YXNDaGFuZ2VkU2luY2VMYXN0Rm9ybUNv
bnRyb2xDaGFuZ2VFdmVudChmYWxzZSkKLSAgICAsIG1faGFzQXV0b2ZvY3VzZWQoZmFsc2UpCiB7
CiAgICAgc2V0SGFzQ3VzdG9tU3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CkBAIC0yMDMsMTMg
KzIwMiwxMSBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlcXVpcmVkU3RhdGVDaGFu
Z2VkKCkKIAogc3RhdGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKGNvbnN0IEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQmIGVsZW1lbnQpCiB7Ci0gICAgaWYgKCFlbGVtZW50LnJlbmRlcmVyKCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWVsZW1lbnQuaGFzQXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbihhdXRvZm9jdXNBdHRyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgYXV0byYgZG9jdW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7Ci0gICAgaWYgKCFlbGVtZW50
LmlzQ29ubmVjdGVkKCkgfHwgIWRvY3VtZW50LnJlbmRlclZpZXcoKSkKKyAgICBpZiAoIWVsZW1l
bnQuaXNDb25uZWN0ZWQoKSB8fCAhZG9jdW1lbnQuaGFzQnJvd3NpbmdDb250ZXh0KCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZG9jdW1lbnQuaXNTYW5kYm94ZWQoU2FuZGJveEF1
dG9tYXRpY0ZlYXR1cmVzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3Vs
ZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgpAQCAtMjIxLDExICsy
MTgsMTAgQEAgc3RhdGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKGNvbnN0IEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBp
ZiAoZWxlbWVudC5oYXNBdXRvZm9jdXNlZCgpKQorICAgIGlmIChkb2N1bWVudC50b3BEb2N1bWVu
dCgpLmlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IC8vIEZJWE1FOiBTaG91bGQgdGhpcyBzZXQgb2YgaGFzVGFnTmFtZSBjaGVja3MgYmUgcmVwbGFj
ZWQgYnkgYQotICAgIC8vIHZpcnR1YWwgbWVtYmVyIGZ1bmN0aW9uPworICAgIC8vIEZJWE1FOiBh
dXRvZm9jdXMgaXMgYSBnbG9iYWwgYXR0cmlidXRlLgogICAgIGlmIChpczxIVE1MSW5wdXRFbGVt
ZW50PihlbGVtZW50KSkKICAgICAgICAgcmV0dXJuICFkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50
PihlbGVtZW50KS5pc0lucHV0VHlwZUhpZGRlbigpOwogICAgIGlmIChlbGVtZW50Lmhhc1RhZ05h
bWUoc2VsZWN0VGFnKSkKQEAgLTI0NywyMiArMjQzLDYgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMoKQogICAgIC8vIG9uIHRoZSByZW5kZXJlci4KICAg
ICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQo
KTsKLQotICAgIGlmIChzaG91bGRBdXRvZm9jdXMoKnRoaXMpKSB7Ci0gICAgICAgIHNldEF1dG9m
b2N1c2VkKCk7Ci0KLSAgICAgICAgUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+IGVsZW1l
bnQgPSB0aGlzOwotICAgICAgICBSZWZQdHIgZnJhbWVWaWV3ID0gZG9jdW1lbnQoKS52aWV3KCk7
Ci0gICAgICAgIGlmIChmcmFtZVZpZXcgJiYgZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNJ
bkxheW91dCgpKSB7Ci0gICAgICAgICAgICBmcmFtZVZpZXctPnF1ZXVlUG9zdExheW91dENhbGxi
YWNrKFtlbGVtZW50XSB7Ci0gICAgICAgICAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rp
b25SZXN0b3JhdGlvbk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOwotICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBTdHlsZTo6ZGVwcmVjYXRlZFF1ZXVlUG9z
dFJlc29sdXRpb25DYWxsYmFjayhbZWxlbWVudF0gewotICAgICAgICAgICAgICAgIGVsZW1lbnQt
PmZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFydCB9KTsK
LSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfQogfQogCiB2b2lkIEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQ6OmRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50JiBvbGREb2N1bWVudCwg
RG9jdW1lbnQmIG5ld0RvY3VtZW50KQpAQCAtMzAxLDYgKzI4MSwxMCBAQCBOb2RlOjpJbnNlcnRl
ZEludG9BbmNlc3RvclJlc3VsdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRlZEludG9B
bmNlc3RvcihJbgogICAgICAgICBzZXRBbmNlc3RvckRpc2FibGVkKGNvbXB1dGVJc0Rpc2FibGVk
QnlGaWVsZHNldEFuY2VzdG9yKCkpOwogICAgIEhUTUxFbGVtZW50OjppbnNlcnRlZEludG9BbmNl
c3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7CiAgICAgRm9ybUFzc29j
aWF0ZWRFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRP
Zkluc2VydGVkVHJlZSk7CisKKyAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKCp0aGlzKSkKKyAgICAg
ICAgZG9jdW1lbnQoKS50b3BEb2N1bWVudCgpLmFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZSgqdGhp
cyk7CisKICAgICByZXR1cm4gSW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQ6Ok5lZWRzUG9zdElu
c2VydGlvbkNhbGxiYWNrOwogfQogCkBAIC0zOTYsNiArMzgwLDExIEBAIGJvb2wgSFRNTEZvcm1D
b250cm9sRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0CiAjZW5kaWYKIH0KIAordm9p
ZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCkK
K3sKKyAgICBmb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3Rh
cnQgfSk7Cit9CisKIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6bWF0Y2hlc1ZhbGlkUHNl
dWRvQ2xhc3MoKSBjb25zdAogewogICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBpc1ZhbGlk
Rm9ybUNvbnRyb2xFbGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250
cm9sRWxlbWVudC5oCmluZGV4IDI1ZTM0NTAwZWFhYTYwYWNmZjk5NTRjNGZhYmUzNTc1NDVmZTI5
MTUuLjljYmFiMTlkN2U0OWNlMjJiYzc1M2UwYzdkZjZhZTZlODJlZWU4YzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xMTYsOSArMTE2LDYg
QEAgcHVibGljOgogICAgIGJvb2wgaXNSZWFkT25seSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZWFk
T25seTsgfQogICAgIGJvb2wgaXNEaXNhYmxlZE9yUmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBp
c0Rpc2FibGVkRm9ybUNvbnRyb2woKSB8fCBtX2lzUmVhZE9ubHk7IH0KIAotICAgIGJvb2wgaGFz
QXV0b2ZvY3VzZWQoKSBjb25zdCB7IHJldHVybiBtX2hhc0F1dG9mb2N1c2VkOyB9Ci0gICAgdm9p
ZCBzZXRBdXRvZm9jdXNlZCgpIHsgbV9oYXNBdXRvZm9jdXNlZCA9IHRydWU7IH0KLQogICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyBhdXRvY29tcGxldGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldEF1dG9jb21wbGV0ZShjb25zdCBTdHJpbmcmKTsKIApAQCAtMTcwLDYgKzE2
Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWZGb3JtQXNzb2NpYXRlZEVsZW1lbnQoKSBvdmVy
cmlkZSB7IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZkZvcm1Bc3NvY2lhdGVkRWxlbWVudCgpIG92
ZXJyaWRlIHsgZGVyZWYoKTsgfQogCisgICAgdm9pZCBydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2Zv
Y3VzKCkgZmluYWw7CisKICAgICBib29sIG1hdGNoZXNWYWxpZFBzZXVkb0NsYXNzKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgYm9vbCBtYXRjaGVzSW52YWxpZFBzZXVkb0NsYXNzKCkgY29uc3Qgb3Zl
cnJpZGU7CiAKQEAgLTIxNSw4ICsyMTQsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faXNW
YWxpZCA6IDE7CiAKICAgICB1bnNpZ25lZCBtX3dhc0NoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJv
bENoYW5nZUV2ZW50IDogMTsKLQotICAgIHVuc2lnbmVkIG1faGFzQXV0b2ZvY3VzZWQgOiAxOwog
fTsKIAogY2xhc3MgRGVsYXllZFVwZGF0ZVZhbGlkaXR5U2NvcGUgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
aW5kZXggODg1MzNiM2QyYjM3MTgyZTE2MDUyZmVkMTI5MzY4YTQ2ZTQyMjlhZi4uZDdiYmM0Y2Jk
NjgwMzc1YzRlYTk4NWUyNmU3YWJkY2JiMGM2ZTBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0x
NTYwLDcgKzE1NjAsMTAgQEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5kZXJpbmcoKQogICAgICAgICBm
b3JFYWNoRG9jdW1lbnQocGVyRG9jdW1lbnRGdW5jdGlvbik7CiAgICAgfTsKIAotICAgIC8vIEZJ
WE1FOiBGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRlcy4KKyAgICBydW5Qcm9jZXNzaW5nU3RlcChS
ZW5kZXJpbmdVcGRhdGVTdGVwOjpGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMsIFtdIChEb2N1bWVu
dCYgZG9jdW1lbnQpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50LmlzVG9wRG9jdW1lbnQoKSkKKyAg
ICAgICAgICAgIGRvY3VtZW50LmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpOworICAgIH0pOwog
CiAgICAgcnVuUHJvY2Vzc2luZ1N0ZXAoUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVzaXplLCBbXSAo
RG9jdW1lbnQmIGRvY3VtZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnJ1blJlc2l6ZVN0ZXBzKCk7
CkBAIC0zNjA1LDYgKzM2MDgsNyBAQCBTcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb24mIFBhZ2U6
OnNwZWVjaFJlY29nbml0aW9uQ29ubmVjdGlvbigpCiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoV1RGOjpUZXh0U3RyZWFtJiB0cywgUmVuZGVyaW5nVXBkYXRlU3RlcCBzdGVwKQogewogICAg
IHN3aXRjaCAoc3RlcCkgeworICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1c2hBdXRv
Zm9jdXNDYW5kaWRhdGVzOiB0cyA8PCAiRmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzIjsgYnJlYWs7
CiAgICAgY2FzZSBSZW5kZXJpbmdVcGRhdGVTdGVwOjpSZXNpemU6IHRzIDw8ICJSZXNpemUiOyBi
cmVhazsKICAgICBjYXNlIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlNjcm9sbDogdHMgPDwgIlNjcm9s
bCI7IGJyZWFrOwogICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6TWVkaWFRdWVyeUV2YWx1
YXRpb246IHRzIDw8ICJNZWRpYVF1ZXJ5RXZhbHVhdGlvbiI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApp
bmRleCA5NGY4YjhkYTkyMDY5NjM3ODhjNTE2MTY1M2U1MDVjY2MwMDUzODM5Li5iNTNmNjhlNjMw
ZTMyMmU5NzQ0YTRiZmJjOTA3YjllZWFlMmU1MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjA4LDkg
KzIwOCwxMSBAQCBlbnVtIGNsYXNzIFJlbmRlcmluZ1VwZGF0ZVN0ZXAgOiB1aW50MTZfdCB7CiAj
aWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAgICBTY3JvbGxpbmdUcmVlVXBkYXRlICAgICAg
ICAgICAgID0gMSA8PCAxMywKICNlbmRpZgorICAgIEZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyAg
ICAgICAgPSAxIDw8IDE0LAogfTsKIAogY29uc3RleHByIE9wdGlvblNldDxSZW5kZXJpbmdVcGRh
dGVTdGVwPiB1cGRhdGVSZW5kZXJpbmdTdGVwcyA9IHsKKyAgICBSZW5kZXJpbmdVcGRhdGVTdGVw
OjpGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMsCiAgICAgUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVz
aXplLAogICAgIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlNjcm9sbCwKICAgICBSZW5kZXJpbmdVcGRh
dGVTdGVwOjpNZWRpYVF1ZXJ5RXZhbHVhdGlvbiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0Njk4MTVlYmY1ZDY4NmVkYzY2
OTEyNDc2YzhlOWQ0ZmRhOTcxNzg5Li42ZTRkYjgyMmIzNmViYzVmOTVhNDZhZWZiMTQ1OTg1NjI4
OGU4ZWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjEtMTAtMDUgIFRpbSBOZ3V5ZW4gIDxu
dGltQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgbmV3IGF1dG9mb2N1cyBiZWhhdmlv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTM5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjM5NzAxOT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFdlYktpdCBtYXRjaCB0aGUgbmV3IGF1
dG9mb2N1cyBzcGVjOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUKKyAgICAgICAg
LSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1s
I2ZvY3VzaW5nLXN0ZXBzCisKKyAgICAgICAgVGhlIG5ldyBhdXRvZm9jdXMgYmVoYXZpb3IgcXVl
dWVzIHVwIGFsbCBhdXRvZm9jdXNhYmxlIGVsZW1lbnRzICh2aXNpYmxlIG9yIG5vdCksIHRoZW4K
KyAgICAgICAgZmlyZXMgYXV0b2ZvY3VzIGFzeW5jaHJvbm91c2x5IGR1cmluZyB0aGUgInVwZGF0
ZSByZW5kZXJpbmciIHN0ZXBzLCB1bmxpa2UgdGhlIG9sZCBiZWhhdmlvcgorICAgICAgICB3aGlj
aCBydW5zIGZvY3VzIHN5bmNocm9ub3VzbHkgd2hlbmV2ZXIgaXQgZmluZHMgYSB2aXNpYmxlIGF1
dG9mb2N1c2FibGUgZWxlbWVudC4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBSeW9zdWtl
IE5pd2EuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvZG9t
L1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxsLWZyYW1lLmh0bWw6CisgICAgICAgICog
ZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS93aW5kb3ct
aW5uZXItd2lkdGgtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1p
bi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbDoKKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1v
cGVyYS0wMDMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4t
ZXZlbnRoYW5kbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhl
Y3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mt
d2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9m
b2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlv
bi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhl
LXJlbmRlcmluZy1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTAtMDYgIFRpbSBOZ3V5ZW4gIDxudGlt
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXBsYWNlIHNldFRpbWVvdXQoeCwgMCkgd2l0aCByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoeCkgaW4gc29tZSBhdXRvZm9jdXMgdGVzdHMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IDk3NzhlNTQ1Mzg2NjhhNGI5MTI2YjIzMTQyMjExMGU2Nzhh
YmE2ZmMuLjcxYTg5ZTg3MmYwMjgxZjVmYzA3NGZmOGJkNWI2MTUwNjc4OTg3MDIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIFRoZSBuZXcgYXV0b2ZvY3VzIGJl
aGF2aW9yIHF1ZXVlcyB1cCBhbGwgYXV0b2ZvY3VzYWJsZSBlbGVtZW50cyAodmlzaWJsZSBvciBu
b3QpLCB0aGVuCisgICAgICAgIGZpcmVzIGF1dG9mb2N1cyBhc3luY2hyb25vdXNseSBkdXJpbmcg
dGhlICJ1cGRhdGUgcmVuZGVyaW5nIiBzdGVwcywgdW5saWtlIHRoZSBvbGQgYmVoYXZpb3IKKyAg
ICAgICAgd2hpY2ggcnVucyBmb2N1cyBzeW5jaHJvbm91c2x5IHdoZW5ldmVyIGl0IGZpbmRzIGEg
dmlzaWJsZSBhdXRvZm9jdXNhYmxlIGVsZW1lbnQuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2gg
YnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50
ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFn
bWVudC1lbXB0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0
aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
ZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmli
dXRlL2ZpcnN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxh
dGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRl
cmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFj
dGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxl
Y3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dDogRXhwZWN0ZWQg
Y2hhbmdlIHNpbmNlIGlucHV0IGF1dG9mb2N1cyBub3cgcGxhY2VzIGNhcmV0IGF0IHN0YXJ0CisK
IDIwMjEtMTAtMDYgIEtpZXQgSG8gIDx0aG8yMkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wb3J0
IGNzcy9tb3Rpb24gdGVzdHMgZnJvbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFjM2Y2ZjQy
Y2VmOGRjYWVhMWIxNDc4YjhkNzk3ZGFkMzRhNmQwNmIuLmZjZDQyMjM0ZWExMjU0YjJjYzkzY2Ey
NzgyYjQyMjRiNjljNzQ2MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODA0LDcgKzgwNCw2IEBA
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3Ro
ZS1oaXN0b3J5LWludGVyZmFjZS8wMDIuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtaGlzdG9yeS1pbnRlcmZhY2UvY29tYmluYXRpb25f
aGlzdG9yeV8wMDIuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtaGlzdG9yeS1pbnRlcmZhY2UvY29t
YmluYXRpb25faGlzdG9yeV8wMDMuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQt
ZWxlbWVudC9leGVjdXRpb24tdGltaW5nLzA1OC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0
b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy5odG1sIFsgRmFpbHVyZSBQYXNz
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvd2lkZ2V0
cy9iYXNlbGluZS1hbGlnbm1lbnQtYW5kLW92ZXJmbG93LnRlbnRhdGl2ZS5odG1sIFsgRmFpbHVy
ZSBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9sb2FkaW5nLXRoZS1tZWRpYS1yZXNvdXJj
ZS9yZXNvdXJjZS1zZWxlY3Rpb24tcG9pbnRlci1yZW1vdmUtc291cmNlLmh0bWwgWyBGYWlsdXJl
IFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9jcm9zcy1vcmlnaW4tdG8td2hvbS53
aW5kb3cuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXNjcm9sbC1pZ25vcmUtbnVsbC1mcmFtZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1zY3JvbGwtaWdub3JlLW51bGwtZnJhbWUuaHRt
bAppbmRleCBmNmE2MWYxYTNmZGY2ODA2YTg3NWI1MTllY2VkMzg3NWIzOThjZjIyLi5jNzE0Y2Q0
MDEzZWFiMDU0ZTczNzIwYmU2ZjNiYzNkNmRkZGYxNDNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXNjcm9sbC1pZ25vcmUtbnVsbC1mcmFtZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxs
LWZyYW1lLmh0bWwKQEAgLTIsMTQgKzIsMjAgQEAKIDxzY3JpcHQ+CiAKIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQogCiAgICAgc2VsZWN0MS5hcHBlbmRDaGlsZChp
bnB1dFBhcmVudCk7CiAgICAgaW5wdXQxLmF1dG9mb2N1cyA9IHRydWU7CiAgICAgaW5wdXQxLnNl
dFNlbGVjdGlvblJhbmdlKDEsIDApOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5w
dXQxKTsKLSAgICBmcmFtZTEuY29udGVudFdpbmRvdy5zY3JvbGxCeSh7bGVmdDogMSwgdG9wOiAw
fSk7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgZnJhbWUxLmNv
bnRlbnRXaW5kb3cuc2Nyb2xsQnkoe2xlZnQ6IDEsIHRvcDogMH0pOworICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAg
ICB9KTsKIH0KIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9h
ZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRv
cHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dAppbmRleCBlYzk4MWVhYzFhZGJmYjRiZGRmYmNh
YmRlMzVjNDE3Y2E2MTMxMDk4Li5iZjE1YmE3YmUyMzhhOTE0YjRkMzJiYjkzMjBhZmI1MmE4Y2Iy
ZDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gt
Mi1leHBlY3RlZC50eHQKQEAgLTEsMiArMSw0IEBACi1UZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8g
YWRvcHRpbmcgYSBET00gbm9kZSBkdXJpbmcgRE9NRm9jdXNPdXQgZXZlbnQuIFRlc3QgcGFzc2Vz
IGlmIGl0IGRvZXNuJ3QgY3Jhc2guCitUZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8gYWRvcHRpbmcg
YSBET00gbm9kZSB3aGVuIHVuZm9jdXNpbmcuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jh
c2guCiAKK1BBU1M6IEZvY3VzZWQgbm9kZSBzaG91bGQgYmUga2V5Z2VuCitQQVNTOiBGb2N1c2Vk
IG5vZGUgc2hvdWxkIG5vIGxvbmdlciBiZSBrZXlnZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
YWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwKaW5kZXggZjY4ZDAxN2JiMzA3ZmQyMmFhNjM4ODA0Y2Jk
Njc2ZjM0MDNiYTk2Ni4uZmFlZTE2YzI3Y2NhMThhODVlNzYxOWRlNGRjMjQ5ZmZkZDY0OGI2NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwKQEAgLTEs
NiArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIEtleWdl
bkVsZW1lbnRFbmFibGVkPXRydWUgXSAtLT4KIDxodG1sPgotPGRpdj5UZXN0cyBmb3IgYSBjcmFz
aCBkdWUgdG8gYWRvcHRpbmcgYSBET00gbm9kZSBkdXJpbmcgRE9NRm9jdXNPdXQgZXZlbnQuIFRl
c3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guPC9kaXY+Cis8ZGl2PlRlc3RzIGZvciBhIGNy
YXNoIGR1ZSB0byBhZG9wdGluZyBhIERPTSBub2RlIHdoZW4gdW5mb2N1c2luZy4gVGVzdCBwYXNz
ZXMgaWYgaXQgZG9lc24ndCBjcmFzaC48L2Rpdj4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKQEAgLTE0LDI5ICsxNCwzMiBA
QCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICA8L2lmcmFtZT4KICAgPC9hcHBsZXQ+CiAg
IDxoZWFkZXIgaWQ9ImhlYWRlcjEiPgotICAgIDxrZXlnZW4gYXV0b2ZvY3VzPgorICAgIDxrZXln
ZW4gaWQ9ImtleWdlbiIgYXV0b2ZvY3VzPgogICA8L2hlYWRlcj4KIDwvZGl2PgorPGRpdiBpZD0i
bG9ncyI+PC9kaXY+CiA8c2NyaXB0PgotZnVuY3Rpb24gZG9pdCgpCi17Ci0gICAgZGl2Mi5hZGRF
dmVudExpc3RlbmVyKCJET01Gb2N1c091dCIsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgZG9jdW1l
bnQuaW1wbGVtZW50YXRpb24uY3JlYXRlRG9jdW1lbnQoIiIsICIiLCBudWxsKS5hZG9wdE5vZGUo
ZGl2Mik7Ci0gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCi0gICAgICAgICAgICAgICAgaW50ZXJuYWxzLnVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcygpOwotICAgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgICAgICB9LCAwKTsKLSAgICB9LCBmYWxzZSk7Ci0gICAgZGl2MS5vdXRlckhU
TUwgPSBoZWFkZXIxLm91dGVySFRNTDsKK2Z1bmN0aW9uIGFzc2VydF90cnVlKGFzc2VydCwgdGV4
dCkgeworICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAg
IGlmIChhc3NlcnQpCisgICAgICAgIGRpdi50ZXh0Q29udGVudCA9ICJQQVNTOiAiICsgdGV4dDsK
KyAgICBlbHNlCisgICAgICAgIGRpdi50ZXh0Q29udGVudCA9ICJGQUlMOiAiICsgdGV4dDsKKyAg
ICBsb2dzLmFwcGVuZChkaXYpOwogfQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworCitm
dW5jdGlvbiBkb2l0KCkgeworICAgIGFzc2VydF90cnVlKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQg
PT0ga2V5Z2VuLCAiRm9jdXNlZCBub2RlIHNob3VsZCBiZSBrZXlnZW4iKTsKKyAgICBkaXYxLm91
dGVySFRNTCA9IGhlYWRlcjEub3V0ZXJIVE1MOworICAgIGFzc2VydF90cnVlKGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQgIT0ga2V5Z2VuLCAiRm9jdXNlZCBub2RlIHNob3VsZCBubyBsb25nZXIgYmUg
a2V5Z2VuIik7CisgICAgZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlRG9jdW1lbnQoIiIs
ICIiLCBudWxsKS5hZG9wdE5vZGUoZGl2Mik7CiAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAg
ICAgICAgIGludGVybmFscy51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRS
dW5Qb3N0TGF5b3V0VGFza3MoKTsKLSAgICBlbHNlCi0gICAgICAgIGRpdjIuZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCk7Ci0gICAgc2V0VGltZW91dCgiZG9pdCgpIiwgMSk7CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KK3dpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZG9pdCk7
Cit9OwogPC9zY3JpcHQ+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS93aW5kb3ctaW5uZXItd2lkdGgtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dp
bmRvdy1pbm5lci13aWR0aC1jcmFzaC5odG1sCmluZGV4IGJjNzVkM2YzNzIyZjE2NGRiMTYxMGU1
ZjFhYzBjZjc5ZGJmZjAyMjcuLjkzOTM1ZjA1NzhlN2IyODNjM2M4ZmEzOTM5ZTNlMzZhY2VlYzEy
MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1pbm5lci13aWR0aC1j
cmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1pbm5lci13aWR0aC1j
cmFzaC5odG1sCkBAIC02LDggKzYsOCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgYnV0dG9u
LmF1dG9mb2N1cyA9IHRydWU7CiAgICAgYm9keS5hcHBlbmRDaGlsZChwYXJhZ3JhcGgpOworICAg
IGJ1dHRvbi5mb2N1cygpOwogICAgIHZhciB0ZXN0VmFsID0gd2luZG93WzBdLmlubmVyV2lkdGg7
CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNh
bmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4
dAppbmRleCBjZjg2ZmI0YzVlYTY5MDNlYjA4YTcwZTI2NGEwMjc4OWI2MjA4Nzk0Li41MGFjZmI2
N2RmODliMDE1MTE3NTdmMjM5MTViNzBmNGFmYmM3ZDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJv
eC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEsNyBAQAotQ09OU09M
RSBNRVNTQUdFOiBJTlBVVAotVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgYWN0aXZlRWxlbWVudCBp
cyB0aGUgaW5wdXQgZWxlbWVudCByYXRoZXIgdGhhbiB0aGUgYm9keSAod2hpY2ggaXQgd291bGQg
YmUgaWYgdGhlIHNhbmRib3ggZGlkbid0IGFsbG93IGF1dG9mb2N1cyBhbHRob3VnaCBhbGxvdy1z
Y3JpcHRzIGZsYWcgaXMgc2V0KS4KK1RoaXMgdGVzdHMgaGF2aW5nIGFuIGlucHV0IGVsZW1lbnQg
d2l0aCBhdXRvZm9jdXMgY29udGVudCBhdHRyaWJ1dGUgaW5zaWRlIGEgc2FuZGJveGVkIGlmcmFt
ZS4KK1RoZSBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBhdXRvZm9jdXNlZCBzaW5jZSBzY3JpcHRz
IGFyZSBhbGxvd2VkLgorCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWUxLS0+JworLS0tLS0t
LS0KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWlu
LXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy5odG1sCmluZGV4IDRmMjIz
ODY4ZmQ3ZTZmMTg5ZWM1M2Y3MjYyZTc2YmRiOTg2N2JjNWEuLmVjM2UzODAxMGZjODQ0YWZiMzky
MjI4ODBlMzRmOTNiMTU5NmRmZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMu
aHRtbApAQCAtMSw4ICsxLDE5IEBACiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cisg
ICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKK30KIDwvc2NyaXB0PgotVGhp
cyB0ZXN0IHBhc3NlcyBpZiB0aGUgYWN0aXZlRWxlbWVudCBpcyB0aGUgaW5wdXQgZWxlbWVudCBy
YXRoZXIgdGhhbiB0aGUgYm9keQotKHdoaWNoIGl0IHdvdWxkIGJlIGlmIHRoZSBzYW5kYm94IGRp
ZG4ndCBhbGxvdyBhdXRvZm9jdXMgYWx0aG91Z2ggYWxsb3ctc2NyaXB0cyBmbGFnIGlzIHNldCku
Ci08aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMgYWxsb3ctbW9kYWxzIgotICAgIHNyYz0i
ZGF0YTp0ZXh0L2h0bWwsPGlucHV0IGF1dG9mb2N1cyBvbmZvY3VzPjxzY3JpcHQ+d2luZG93Lm9u
bG9hZCA9IGZ1bmN0aW9uKCkgeyBjb25zb2xlLmxvZyhkb2N1bWVudC5hY3RpdmVFbGVtZW50LnRh
Z05hbWUpIH08L3NjcmlwdD4iPjwvaWZyYW1lPgorVGhpcyB0ZXN0cyBoYXZpbmcgYW4gaW5wdXQg
ZWxlbWVudCB3aXRoIGF1dG9mb2N1cyBjb250ZW50IGF0dHJpYnV0ZSBpbnNpZGUgYSBzYW5kYm94
ZWQgaWZyYW1lLjxicj4KK1RoZSBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBhdXRvZm9jdXNlZCBz
aW5jZSBzY3JpcHRzIGFyZSBhbGxvd2VkLgorPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRz
IgorICAgIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGlucHV0IGlkPWlucHV0IGF1dG9mb2N1cyBvbmZv
Y3VzPjxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewor
ICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmQoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBpbnB1dCA/ICdQQVNTJyA6
ICdGQUlMJyk7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOworICAgIH08L3Njcmlw
dD4iPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9j
dXMta2V5Z2VuLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4u
aHRtbAppbmRleCA3NzA3MGU4ZGIwNmI1NGM5YjkwZmU2ZDMxMDI2ODNkYTg1NGJjMGNjLi4wYzc2
NWRlMzIzYTIzYjA1MjRkMzcwZWM1MmFkYmY1ZDA0NmEyODViIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbApAQCAtNiw5ICs2LDExIEBACiB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CiAKIGZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBzaG91bGRC
ZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJrZXln
ZW4iKScpOwotICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmF1dG9mb2N1cycs
ICd0cnVlJyk7Ci0gICAgZmluaXNoSlNUZXN0KCk7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCgpID0+IHsKKyAgICAgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQnLCAnZG9j
dW1lbnQucXVlcnlTZWxlY3Rvcigia2V5Z2VuIiknKTsKKyAgICAgICAgc2hvdWxkQmUoJ2RvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQuYXV0b2ZvY3VzJywgJ3RydWUnKTsKKyAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgfSk7CiB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwKaW5kZXggOWQwNWVkZmJmNDQwMDgw
ZTk0ZjRhYjQwZmMzMzNkMmUxNDQzMWUyNS4uNDliYmU5YzA1YmYzNDc2NzZkYjRjZjlkYWU0YjVk
NzYzODg4NGMzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
b3BlcmEtMDAxLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3Bl
cmEtMDAxLmh0bWwKQEAgLTExLDEzICsxMSwxOSBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRl
c3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CiAKLSAgICAg
ICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImlucHV0IilbMF0pCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAg
ZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgIHJlcXVlc3RBbmltYXRp
b25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAg
ICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBs
b2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQog
PC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3Vz
LW9wZXJhLTAwMi5odG1sCmluZGV4IGI1MTNmYzk3NjIxNTFiZTEzZTA5OTZmOWY4ZmMxNmRlNGM5
OWQyN2UuLjkzZTQ1M2RkOTJmYTlmN2RjZGUyZTVkMTAzMDVhZDlhNzFmODRhYzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCkBAIC0xMSwx
MyArMTEsMTkgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQogCi0gICAgICAgIGlmIChkb2N1bWVudC5hY3Rp
dmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQot
ICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxv
ZygiRkFJTFVSRSIpOworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAg
ICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImlucHV0IilbMF0pCisgICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbAppbmRl
eCA0MTI5MGI2MTVmZmViY2UxZTIwMGQxMWIyOGE1NTYwMzg1OTViNDY5Li41ZTVlOGE4MDY3MWU5
NWEyOTJjZWJmZDQyOWJiMjk4MDc3MGY1MTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbApAQCAtMTIsMTQgKzEyLDIwIEBACiAgICAgfQog
CiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cisg
ICAgICAgIH0KIAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSAmJgotICAgICAgICAgICAgZG9jdW1l
bnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgIT0gMCkKLSAgICAgICAgICAgIGxvZygiU1VD
Q0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAg
ICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChkb2N1bWVu
dC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIp
WzBdICYmCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxU
b3AgIT0gMCkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sCmluZGV4IDg0OGU2MWE0NzhhMDI0
M2RkMjJkNzJiYWQxOTU4N2NhOGU2YmJkMWMuLmYyZDc5YTRmYWUyNmRjODRiOWM5M2MzMmJiYWJm
OThkYTk1MzY0NjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3Vz
LW9wZXJhLTAwNi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwNi5odG1sCkBAIC0xMSwyMyArMTEsMzAgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0
ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1l
bnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpKQorICAg
ICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsK
IAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGVzdCIpKQotICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgogPHA+QWxsIGZvcm0gY29udHJvbHMgYmVsb3cgc2hv
dWxkIGhhdmUgYSBncmVlbiBiYWNrZ3JvdW5kOjwvcD4KLTxwPjxpbnB1dCBhdXRvZm9jdXM+Cis8
cD48aW5wdXQgYXV0b2ZvY3VzIGlkPSJ0ZXN0Ij4KIDxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8cD48
aW5wdXQgYXV0b2ZvY3VzPgogPHA+PGlucHV0PgotPHA+PGlucHV0IGF1dG9mb2N1cyBpZD0idGVz
dCI+Cis8cD48aW5wdXQgYXV0b2ZvY3VzPgogPHA+PGlucHV0PgogPGhyLz4KIDxvbCBpZD0iY29u
c29sZSI+PC9vbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3Vz
LW9wZXJhLTAwNy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEt
MDA3Lmh0bWwKaW5kZXggMDkwZjM5MzU3MDM1ZGRiOGU5Mzc1MGNkYjFiNzliYzFhODUwZjFiZS4u
MTFiZDM5NTA0YzlkZGE4NDg5MjAxZGQ4YTc1MTU0NzgwZDkwODllZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKQEAgLTE3LDEzICsxNywx
OSBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICB9CiAKLSAgICAgICAgaWYgKGdvdEJsdXIpCi0gICAgICAgICAg
ICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJF
Iik7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBp
ZiAoZ290Qmx1cikKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMt
aGFuZGxlci5odG1sCmluZGV4IGI3YTFkOGM5Zjg1OThlZTAyYTNhNjc2ZjBkZjhlOGFmZTQ0YjI4
NjUuLmFkOWM2NjlhZTlhMTg1MTAxMWFkOTZkMDRlNDliOWIyOWI1OTA1MDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4t
Zm9jdXMtaGFuZGxlci5odG1sCkBAIC0xMCwxNiArMTAsMjUgQEAKIGZ1bmN0aW9uIGZvY3VzZWQo
KSB7CiAgICAgaWYgKGlucHV0LmF1dG9mb2N1cykgewogICAgICAgICBpbnB1dC50eXBlID0gImNo
ZWNrYm94IjsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiPGNvZGUgc3R5bGU9
J2NvbG9yOiBncmVlbic+UEFTUzwvY29kZT4iOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVy
SFRNTCA9ICJGQUlMIC0gZm9jdXMgZXZlbnQgaGFuZGxlciBjYWxsZWQgZm9yIGF1dG9mb2N1cyI7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChpbnB1dCk7CiAgICAgaW5wdXQuYXV0b2ZvY3VzID0gdHJ1ZTsKKyAgICBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBkb2N1bWVudC5ib2R5LnRleHRD
b250ZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5ib2R5ID8gIlBBU1Mi
IDogIkZBSUwiOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKIH0KIAotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CiAKIGlucHV0LmZvY3VzKCk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdo
ZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRt
bAppbmRleCA2ZjVhMmU5MTllZGY5YTk2M2JhOGY3ZWRlNGU5MDY2MjE1MGJmNmZkLi5jODk4NjY3
ZmM0ZGM2NmE1Y2NiMGRjY2U0YzcxMGM1ZWViNjkxYTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMt
cmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sCkBAIC02LDEzICs2LDIwIEBAIFBBU1MgaWYgbm8g
Y3Jhc2guCiA8c3BhbiBpZD13cmFwcGVyPjwvc3Bhbj4KIDx0ZXh0YXJlYSBpZD10ZXh0YXJlYSBv
bmZvY3VzPSJldmVudGhhbmRsZXIoKSI+PC90ZXh0YXJlYT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwogZG9jdW1l
bnQub2Zmc2V0SGVpZ2h0OwogdGV4dGFyZWEuYXV0b2ZvY3VzID0gdHJ1ZTsKIHZhciBpZnJhbWUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKIHNwYW4uYXBwZW5kQ2hpbGQoaWZy
YW1lKTsKIHdyYXBwZXIuYXBwZW5kQ2hpbGQodGV4dGFyZWEpOworcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCgpID0+IHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworfSk7CiBpZnJhbWUuY29udGVudERvY3VtZW50LmNhcmV0UmFuZ2VG
cm9tUG9pbnQoKTsKIAogZnVuY3Rpb24gZXZlbnRoYW5kbGVyKCkgewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJl
c3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUt
c2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWwKaW5kZXggNjNjZjhhMjIxOThkNzA5ZjNmYTk4YWY1
NTk3MTM5Mzg5MDI1NWRhMi4uYzJmNTg0NTc1OTRiODMzYWQ3YjUyMzc0YjA1MWFiYTViZjQxYzk5
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0
ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCkBAIC0xNiw4
ICsxNiwxMCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoInBhZ2VzaG93IiwgKGV2ZW50KSA9PiB7Ci0gICAgaWYgKGV2ZW50LnBlcnNpc3Rl
ZCkKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25G
cmFtZShmaW5pc2gpOwogICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICAgICAgc2V0VGltZW91dChydW5UZXN0LCAwKTsKIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21l
bnQtZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
L2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0CmluZGV4IGE0NTJkNTNl
ZGJhNjM1ODdkOWMyZWJkYzZmNmE1MGQ1M2ZlNGVmZTUuLmQ0MTkyOWY5YjdkZjdiMThkNjAyZGFk
NDYwOGJlZmUwNzE1ZmNhMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rp
b24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1l
bXB0eS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxl
bWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdv
cmsuIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBFbGVtZW50IG5vZGUg
PGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4g
aWZyYW1lZCBkb2N1bWVudHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiBQQVNT
IEF1dG9mb2N1cyBlbGVtZW50cyBpbiB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCdzIGRvY3Vt
ZW50cyB3aXRoIGVtcHR5IGZyYWdtZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9u
ZXhpc3RlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
L2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDJi
MWU1N2Q2MjgyOTU2OTE4ZDI3MjE1NTVkMDRkNTgwMmFiN2RmNmQuLjhkZDZiNGM3NzBjZTlhYTVj
YzI5YmZjODVjY2U0MmQ1ZGNlZTg3ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2Zv
Y3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0
aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAot
RkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBub24tZXhp
c3RlbnQgZnJhZ21lbnRzIHNob3VsZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2Fs
bG93ZWQgdmFsdWUgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BB
U1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0
ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4KIFBBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRv
cC1sZXZlbCBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZy
YWdtZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlv
bi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRv
cC1leHBlY3RlZC50eHQKaW5kZXggMDM3NDEwOWEzMGM2MjRkYmQ5NGQ4NzkxM2I0ZTMzOGVlOTE5
OTNlZi4uOGJhNTBhNTFhM2RhZDU3MGQ0OTI3NzQ5OTk3MmQ1OTRkNWRmZWI5OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21l
bnQtdG9wLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1
dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3AtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBA
QAogCiAKLUZBSUwgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGgg
InRvcCIgZnJhZ21lbnRzIHNob3VsZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2Fs
bG93ZWQgdmFsdWUgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BB
U1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJh
Z21lbnRzIHNob3VsZCB3b3JrLgogUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gdG9wLWxldmVs
IGJyb3dzaW5nIGNvbnRleHQncyBkb2N1bWVudHMgd2l0aCAidG9wIiBmcmFnbWVudHMgc2hvdWxk
IHdvcmsuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9m
aXJzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmly
c3QtZXhwZWN0ZWQudHh0CmluZGV4IDk4NzMyN2IxYTdiOWJiNmFhMWYyYjZiNDQwNjM3NzEwYmU4
ZjAwNmUuLmNlOTI2NzY3ZjMwNDJkZTIyOTgwNDAzM2QyZWZlNTU1ZWFkNjUyZDMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRl
cmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBp
biB0aGUgZG9jdW1lbnQgc2hvdWxkIHdpbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVu
dCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUg
PGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVs
ZW1lbnQgaW4gdGhlIGRvY3VtZW50IHNob3VsZCB3aW4uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1
cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFj
dGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVj
dGVkLnR4dAppbmRleCBmZTAyMTE4YTM0OWEzYWNjOWY4Y2FlZDg5MTc4MWYwMWMyODgxNDVmLi41
ZjRjMzE1YzY4NzhlM2M2OGI3YWQyZjhjOWNhMjk2MTFlZmQ1YzlmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9m
b2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQg
bGF0ZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2Zv
Y3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+
PC9pbnB1dD4KK1BBU1MgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywg
ZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9m
b2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNh
YmxlLWV4cGVjdGVkLnR4dAppbmRleCAzM2Q4MzA4N2UxOGY2ZDlkOWIyZmFmNDUyYTNlZGJlOTYw
NzNiMTVkLi5hNTg0OWQ2MjIzNTMxOGNiODhhMzFhZjRhMmQ5NGY3YzcxMTgxMDUwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50
ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJs
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1
ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwg
SWYgdGhlIGZpcnN0IGF1dG9mb2N1cyBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUsIGJ1dCBiZWNv
bWVzIGZvY3VzYWJsZSBiZWZvcmUgYSBmcmFtZSwgaXQgc2hvdWxkIGJlIGZvY3VzZWQuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8dGV4dGFyZWEgYXV0b2ZvY3VzPSIiPjwv
dGV4dGFyZWE+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzZWxlY3QgYXV0b2ZvY3VzPSIiPjwvc2Vs
ZWN0PgorUEFTUyBJZiB0aGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaXMgbm90IGZvY3VzYWJs
ZSwgYnV0IGJlY29tZXMgZm9jdXNhYmxlIGJlZm9yZSBhIGZyYW1lLCBpdCBzaG91bGQgYmUgZm9j
dXNlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3Vw
ZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3Vz
LWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKaW5kZXggMTM1NDFm
NjRmZDYxNTIxNDliMjc4OGNhNDI5MjkzZGFjYmI3MjE4Ny4uMGNiYzc3ZWY3MWM5MjFlYWI4MWVh
OTBiNTRmMWI1NWJlN2FmYzI5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMt
YXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQu
dHh0CkBAIC0xLDQgKzEsMyBAQAogCi0KLUZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVz
IiBzaG91bGQgYmUgaGFwcGVuIGFmdGVyIHRoZSBmaXJzdCBhbmltYXRpb24gZnJhbWUgY2FsbGJh
Y2tzLCBhbmQgYmVmb3JlIGEgcmVzaXplIGV2ZW50IGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3
aW5kb3cgZXZlbnQgbG9vcC4gYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4
cGVjdGVkIDMgZ290IDQKK1BBU1MgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQg
YmUgaGFwcGVuIGJlZm9yZSBhIHNjcm9sbCBldmVudCBhbmQgYW5pbWF0aW9uIGZyYW1lIGNhbGxi
YWNrcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQu
dHh0CmluZGV4IDBhOTkwYTA1ZTBiMjE4YzVjNTBmNzYwMjc0ZDIxMzBhYTI0MmQ5YjEuLmE5NjA4
YzE4ZDNiMzQ2M2IxOTRkZmQ0OTVjZGQzYjE5MWE5ZTQ5NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1z
ZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxl
Y3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC05LDQgKzksNSBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDc4NXg2MjMKICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0g
YXQgKDIsMikgc2l6ZSAxNDd4MTkgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNl
dCAjMDAwMDAwKV0KIGxheWVyIGF0ICg1LDYwNSkgc2l6ZSAxNDF4MTMKICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDMsMykgc2l6ZSAxNDF4MTMKLWNhcmV0OiBwb3NpdGlvbiAxIG9mIGJvZHkKK2Nh
cmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0RJVn0gb2YgeyNkb2N1bWVudC1mcmFnbWVudH0g
b2YgY2hpbGQgMiB7SU5QVVR9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CitzY3JvbGxl
ZCB0byAwLDIzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYzkxYjk0ZTk1Nzk1MWQ2MjE5YTNkNmE4Yjk2ZGY4NTQ5NTQ1ZjAwNS4uZDZiMjRj
NGQ5NzU4ZTU5YjAwNzllODkzMmI3ODFmOTg3ZDQ2NjY5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjA0OCw3ICsyMDQ4LDcgQEAgd2Vi
a2l0Lm9yZy9iLzIzMDQxOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Rh
dGEtdXJscy9iYXNlNjQuYW55LncKIAogd2Via2l0Lm9yZy9iLzIyNzk5OCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWVt
YmVkLWVsZW1lbnQvZW1iZWQtbmV0d29yay1lcnJvci5zdWIuaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKLXdlYmtpdC5vcmcvYi8yMjc3NjIgWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9k
b2N1bWVudC13aXRoLWZyYWdtZW50LXZhbGlkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzIyNzc2MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJh
Y3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVu
dC12YWxpZC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIyNjc4OSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnN0b3JhZ2UvZXZlbnRfY2FzZV9zZW5zaXRp
dmUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0
cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAppbmRleCAzMjk0YTBkM2E1
MjIwY2YyYWU4ODA0NTJjODE4M2U2MDZjZjVjZGM0Li5mNjUxMjc3NzdiMGFlYTYyZTJjYmYxZjll
OWM5ZWZiMTYxYTY3ZGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90
aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
dXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi0KLUZB
SUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGFmdGVyIHRo
ZSBmaXJzdCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzLCBhbmQgYmVmb3JlIGEgcmVzaXplIGV2
ZW50IGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZlbnQgbG9vcC4gYXNzZXJ0X2Fy
cmF5X2VxdWFsczogcHJvcGVydHkgMCwgZXhwZWN0ZWQgImFuaW1hdGlvbkZyYW1lIiBidXQgZ290
ICJhdXRvZm9jdXMiCitGQUlMICJGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRlcyIgc2hvdWxkIGJl
IGhhcHBlbiBiZWZvcmUgYSBzY3JvbGwgZXZlbnQgYW5kIGFuaW1hdGlvbiBmcmFtZSBjYWxsYmFj
a3MgYXNzZXJ0X2FycmF5X2VxdWFsczogYXV0b2ZvY3VzLGFuaW1hdGlvbkZyYW1lIGxlbmd0aHMg
ZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbImF1dG9mb2N1cyIsICJzY3JvbGwiLCAiYW5pbWF0aW9u
RnJhbWUiXSBsZW5ndGggMywgZ290IFsiYXV0b2ZvY3VzIiwgImFuaW1hdGlvbkZyYW1lIl0gbGVu
Z3RoIDIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUt
aW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxs
LW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IGQyODYyYWIzNTUyNzZlNDkwZDNk
ZGEyYTk2YjM1MGQ5NmE1ZmFlMDkuLjlhZDY4ZDZmNDE0MTgzNDkzMDIyYmIzNTU2YjY2NzA0NTg0
MGRhYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlu
cHV0LWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1h
bGwtbW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTksNCArOSw0IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYyNQogICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAo
MiwyKSBzaXplIDE1NXgyMiBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMz
QzNDNDM5OSldCiBsYXllciBhdCAoOSw2MDUpIHNpemUgMTQxeDE0CiAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICg2LDMpIHNpemUgMTQzeDE1Ci1jYXJldDogcG9zaXRpb24gMSBvZiBib2R5CitjYXJl
dDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtESVZ9IG9mIHsjZG9jdW1lbnQtZnJhZ21lbnR9IG9m
IGNoaWxkIDIge0lOUFVUfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBk
YXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZDQ5MTUxYjY2MjM4Mjc5NTNmMzhk
ZjIxNjYzYTNhMmEzMWRiNGE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmli
dXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDQgKzAsMCBAQAotCi0KLUZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQg
YmUgaGFwcGVuIGFmdGVyIHRoZSBmaXJzdCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzLCBhbmQg
YmVmb3JlIGEgcmVzaXplIGV2ZW50IGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZl
bnQgbG9vcC4gYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDMg
Z290IDIKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440642</attachid>
            <date>2021-10-08 10:41:12 -0700</date>
            <delta_ts>2021-10-08 11:24:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211008194110.patch</filename>
            <type>text/plain</type>
            <size>47123</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM1ZmY2M2Y0MDk3ZmUw
OTczYjI0NTE0NDIwNWQ1OGZlOTE1NjI1YS4uZWI4M2EyYzFhMjE0MTEzMGZlNzc2OTYyNjk5NmNm
MDg0MWQwOTA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIFRoZSBuZXcgYXV0b2ZvY3VzIGJl
aGF2aW9yIHF1ZXVlcyB1cCBhbGwgYXV0b2ZvY3VzYWJsZSBlbGVtZW50cyAodmlzaWJsZSBvciBu
b3QpLCB0aGVuCisgICAgICAgIGZpcmVzIGF1dG9mb2N1cyBhc3luY2hyb25vdXNseSBkdXJpbmcg
dGhlICJ1cGRhdGUgcmVuZGVyaW5nIiBzdGVwcywgdW5saWtlIHRoZSBvbGQgYmVoYXZpb3IKKyAg
ICAgICAgd2hpY2ggcnVucyBmb2N1cyBzeW5jaHJvbm91c2x5IHdoZW5ldmVyIGl0IGZpbmRzIGEg
dmlzaWJsZSBhdXRvZm9jdXNhYmxlIGVsZW1lbnQuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2gg
YnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjphcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6Y29tbW9uVGVhcmRvd24pOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzQXV0b2ZvY3VzUHJvY2Vzc2VkIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRBdXRvZm9jdXNQcm9jZXNzZWQp
OgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRy
b2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cyk6
CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpoYXNBdXRvZm9jdXNlZCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXRBdXRvZm9j
dXNlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OnVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisKIDIw
MjEtMTAtMDggIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIE1h
a2UgV1RGOjpJdGVyYXRvclJhbmdlIHJldmVyc2libGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IDU5ZjllOGQ5OGM0NTFkOWQ2OTFlNzcwMDllNjY1OWRkZDk2OWJhYzEuLjE3N2M1NTNiMTVk
ZThjN2JlM2RkYTcwNTVkMTk5ZGZhMjExNGE1NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtODcyLDYgKzg3Miw3IEBAIHZvaWQgRG9jdW1lbnQ6OmNvbW1vblRlYXJkb3duKCkKIAogICAg
IG1fdGltZWxpbmUgPSBudWxscHRyOwogICAgIG1fYXNzb2NpYXRlZEZvcm1Db250cm9scy5jbGVh
cigpOworICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5jbGVhcigpOwogICAgIG1fZGlkQXNzb2Np
YXRlRm9ybUNvbnRyb2xzVGltZXIuc3RvcCgpOwogfQogCkBAIC00NDcwLDYgKzQ0NzEsMzYgQEAg
dm9pZCBEb2N1bWVudDo6YWRqdXN0Rm9jdXNlZE5vZGVPbk5vZGVSZW1vdmFsKE5vZGUmIG5vZGUs
IE5vZGVSZW1vdmFsIG5vZGVSZW1vdmEKICAgICB9CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OmFwcGVu
ZEF1dG9mb2N1c0NhbmRpZGF0ZShFbGVtZW50JiBjYW5kaWRhdGUpCit7CisgICAgQVNTRVJUKGlz
VG9wRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKCFtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkKTsKKyAg
ICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuYXBwZW5kT3JNb3ZlVG9MYXN0KGNhbmRpZGF0ZSk7Cit9
CisKK3ZvaWQgRG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpCit7CisgICAgQVNT
RVJUKGlzVG9wRG9jdW1lbnQoKSk7CisgICAgaWYgKG1faXNBdXRvZm9jdXNQcm9jZXNzZWQpCisg
ICAgICAgIHJldHVybjsKKworICAgIGZvciAoOyAhbV9hdXRvZm9jdXNDYW5kaWRhdGVzLmlzRW1w
dHkoKTsgbV9hdXRvZm9jdXNDYW5kaWRhdGVzLnJlbW92ZUZpcnN0KCkpIHsKKyAgICAgICAgUmVm
IGVsZW1lbnQgPSBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuZmlyc3QoKTsKKyAgICAgICAgaWYgKCFl
bGVtZW50LT5kb2N1bWVudCgpLmlzRnVsbHlBY3RpdmUoKSB8fCAmZWxlbWVudC0+ZG9jdW1lbnQo
KS50b3BEb2N1bWVudCgpICE9IHRoaXMpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
aWYgKGF1dG8qIHBhcnNlciA9IHNjcmlwdGFibGVEb2N1bWVudFBhcnNlcigpOyBwYXJzZXIgJiYg
cGFyc2VyLT5oYXNTY3JpcHRzV2FpdGluZ0ZvclN0eWxlc2hlZXRzKCkpCisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgLy8gRklYTUU6IE5lZWQgdG8gaWdub3JlIGlmIHRoZSBpbmNsdXNpdmUg
YW5jZXN0b3IgZG9jdW1lbnRzIGhhcyBhIHRhcmdldCBlbGVtZW50LgorICAgICAgICAvLyBGSVhN
RTogVXNlIHRoZSByZXN1bHQgb2YgZ2V0dGluZyB0aGUgZm9jdXNhYmxlIGFyZWEgZm9yIGVsZW1l
bnQgaWYgZWxlbWVudCBpcyBub3QgZm9jdXNhYmxlLgorICAgICAgICBpZiAoZWxlbWVudC0+aXNG
b2N1c2FibGUoKSkgeworICAgICAgICAgICAgbV9hdXRvZm9jdXNDYW5kaWRhdGVzLmNsZWFyKCk7
CisgICAgICAgICAgICBzZXRBdXRvZm9jdXNQcm9jZXNzZWQoKTsKKyAgICAgICAgICAgIGVsZW1l
bnQtPnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorICAgIH0KK30KKwogdm9pZCBEb2N1bWVudDo6aG92ZXJlZEVsZW1lbnREaWRE
ZXRhY2goRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBpZiAoIW1faG92ZXJlZEVsZW1lbnQgfHwg
JmVsZW1lbnQgIT0gbV9ob3ZlcmVkRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMzg2
ZTM3ODI4MDg4ZjNmZDFlYTdiZmM4MDY4MmU5NWE4NTA4OTAwNi4uYTk3Y2E4NjI1Mjg4MWEwY2Rm
Y2Y3N2NjOGI1MmRiNzAzM2I0MTcwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTc4OCw2ICs3
ODgsMTEgQEAgcHVibGljOgogICAgIHZvaWQgYWRqdXN0Rm9jdXNlZE5vZGVPbk5vZGVSZW1vdmFs
KE5vZGUmLCBOb2RlUmVtb3ZhbCA9IE5vZGVSZW1vdmFsOjpOb2RlKTsKICAgICB2b2lkIGFkanVz
dEZvY3VzTmF2aWdhdGlvbk5vZGVPbk5vZGVSZW1vdmFsKE5vZGUmLCBOb2RlUmVtb3ZhbCA9IE5v
ZGVSZW1vdmFsOjpOb2RlKTsKIAorICAgIGJvb2wgaXNBdXRvZm9jdXNQcm9jZXNzZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkOyB9CisgICAgdm9pZCBzZXRBdXRvZm9j
dXNQcm9jZXNzZWQoKSB7IG1faXNBdXRvZm9jdXNQcm9jZXNzZWQgPSB0cnVlOyB9CisgICAgdm9p
ZCBhcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUoRWxlbWVudCYpOworICAgIHZvaWQgZmx1c2hBdXRv
Zm9jdXNDYW5kaWRhdGVzKCk7CisKICAgICB2b2lkIGhvdmVyZWRFbGVtZW50RGlkRGV0YWNoKEVs
ZW1lbnQmKTsKICAgICB2b2lkIGVsZW1lbnRJbkFjdGl2ZUNoYWluRGlkRGV0YWNoKEVsZW1lbnQm
KTsKIApAQCAtMTgwMSw2ICsxODA2LDggQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
RE9NSW1wbGVtZW50YXRpb24+IG1faW1wbGVtZW50YXRpb247CiAKICAgICBSZWZQdHI8Tm9kZT4g
bV9mb2N1c05hdmlnYXRpb25TdGFydGluZ05vZGU7CisgICAgTGlzdEhhc2hTZXQ8UmVmPEVsZW1l
bnQ+PiBtX2F1dG9mb2N1c0NhbmRpZGF0ZXM7CisgICAgYm9vbCBtX2lzQXV0b2ZvY3VzUHJvY2Vz
c2VkIHsgZmFsc2UgfTsKICAgICBSZWZQdHI8RWxlbWVudD4gbV9mb2N1c2VkRWxlbWVudDsKICAg
ICBSZWZQdHI8RWxlbWVudD4gbV9ob3ZlcmVkRWxlbWVudDsKICAgICBSZWZQdHI8RWxlbWVudD4g
bV9hY3RpdmVFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGM2ZTZjZTg3NzBiMWRh
NWRjNDAwNzVkYTIxN2Y4OTI5NTEzMzMzODYuLmQyMThjZDBiZTc4MzQwODAxMTQ3NmMzMGFjOWQ0
NGQ3ZDk3YjI1MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTMxNzUsNiArMzE3NSwxMSBA
QCB2b2lkIEVsZW1lbnQ6OmJsdXIoKQogICAgIH0KIH0KIAordm9pZCBFbGVtZW50OjpydW5Gb2N1
c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCkKK3sKKyAgICBmb2N1cygpOworfQorCiB2b2lkIEVsZW1l
bnQ6OmRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVm
UHRyPEVsZW1lbnQ+JiYgb2xkRm9jdXNlZEVsZW1lbnQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihTY3JpcHREaXNhbGxvd2VkU2NvcGU6OkluTWFpblRo
cmVhZDo6aXNTY3JpcHRBbGxvd2VkKCkgfHwgIWlzSW5XZWJQcm9jZXNzKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKaW5kZXggNDY3YTM1NWNhMTM4NzNmZjU4MGIzYzE1MGEyMjFjYTgwMmVjYTc1NC4uYjBm
ODZjOGYxYTgxOTIwZmMwZGU2Njk4ZWY2YjQ2ODRhMGFlZDUwNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CkBAIC00MDYsNiArNDA2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVmUHRyPEVsZW1lbnQ+
IGZvY3VzQXBwZWFyYW5jZVVwZGF0ZVRhcmdldCgpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVG
b2N1c0FwcGVhcmFuY2UoU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlLCBTZWxlY3Rpb25SZXZlYWxN
b2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsKTsKICAgICB2aXJ0dWFsIHZvaWQgYmx1
cigpOworICAgIHZpcnR1YWwgdm9pZCBydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCk7CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgaW5uZXJIVE1MKCkgY29uc3Q7CiAgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIG91dGVySFRNTCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5kZXggOWIyNjk3NmE2MDM0YTgwNWZmMDlk
YTY0NGY1NmMxMWVkOWZkYTFiYy4uMDkzN2FkNjkxOTIwZmU4NWQyZWUzNTc3ZjJhNGQzZTgzZjYx
NzNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQu
Y3BwCkBAIC03Miw3ICs3Miw2IEBAIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OkhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jCiAgICAgLCBtX3dp
bGxWYWxpZGF0ZSh0cnVlKQogICAgICwgbV9pc1ZhbGlkKHRydWUpCiAgICAgLCBtX3dhc0NoYW5n
ZWRTaW5jZUxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50KGZhbHNlKQotICAgICwgbV9oYXNBdXRv
Zm9jdXNlZChmYWxzZSkKIHsKICAgICBzZXRIYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3Mo
KTsKIH0KQEAgLTIwMywxMyArMjAyLDExIEBAIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6
cmVxdWlyZWRTdGF0ZUNoYW5nZWQoKQogCiBzdGF0aWMgYm9vbCBzaG91bGRBdXRvZm9jdXMoY29u
c3QgSFRNTEZvcm1Db250cm9sRWxlbWVudCYgZWxlbWVudCkKIHsKLSAgICBpZiAoIWVsZW1lbnQu
cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZWxlbWVudC5oYXNB
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGF1dG9mb2N1c0F0dHIpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBhdXRvJiBkb2N1bWVudCA9IGVsZW1lbnQuZG9jdW1lbnQoKTsK
LSAgICBpZiAoIWVsZW1lbnQuaXNDb25uZWN0ZWQoKSB8fCAhZG9jdW1lbnQucmVuZGVyVmlldygp
KQorICAgIGlmICghZWxlbWVudC5pc0Nvbm5lY3RlZCgpIHx8ICFkb2N1bWVudC5oYXNCcm93c2lu
Z0NvbnRleHQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChkb2N1bWVudC5pc1Nh
bmRib3hlZChTYW5kYm94QXV0b21hdGljRmVhdHVyZXMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBU
aGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRp
b24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlz
dHMuCkBAIC0yMjEsMTEgKzIxOCwxMCBAQCBzdGF0aWMgYm9vbCBzaG91bGRBdXRvZm9jdXMoY29u
c3QgSFRNTEZvcm1Db250cm9sRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIAotICAgIGlmIChlbGVtZW50Lmhhc0F1dG9mb2N1c2VkKCkpCisgICAgaWYgKGRv
Y3VtZW50LnRvcERvY3VtZW50KCkuaXNBdXRvZm9jdXNQcm9jZXNzZWQoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgLy8gRklYTUU6IFNob3VsZCB0aGlzIHNldCBvZiBoYXNUYWdOYW1l
IGNoZWNrcyBiZSByZXBsYWNlZCBieSBhCi0gICAgLy8gdmlydHVhbCBtZW1iZXIgZnVuY3Rpb24/
CisgICAgLy8gRklYTUU6IGF1dG9mb2N1cyBpcyBhIGdsb2JhbCBhdHRyaWJ1dGUuCiAgICAgaWYg
KGlzPEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpKQogICAgICAgICByZXR1cm4gIWRvd25jYXN0
PEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpLmlzSW5wdXRUeXBlSGlkZGVuKCk7CiAgICAgaWYg
KGVsZW1lbnQuaGFzVGFnTmFtZShzZWxlY3RUYWcpKQpAQCAtMjQ3LDIyICsyNDMsNiBAQCB2b2lk
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiAgICAgLy8gb24g
dGhlIHJlbmRlcmVyLgogICAgIGlmIChyZW5kZXJlcigpKQogICAgICAgICByZW5kZXJlcigpLT51
cGRhdGVGcm9tRWxlbWVudCgpOwotCi0gICAgaWYgKHNob3VsZEF1dG9mb2N1cygqdGhpcykpIHsK
LSAgICAgICAgc2V0QXV0b2ZvY3VzZWQoKTsKLQotICAgICAgICBSZWZQdHI8SFRNTEZvcm1Db250
cm9sRWxlbWVudD4gZWxlbWVudCA9IHRoaXM7Ci0gICAgICAgIFJlZlB0ciBmcmFtZVZpZXcgPSBk
b2N1bWVudCgpLnZpZXcoKTsKLSAgICAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxh
eW91dENvbnRleHQoKS5pc0luTGF5b3V0KCkpIHsKLSAgICAgICAgICAgIGZyYW1lVmlldy0+cXVl
dWVQb3N0TGF5b3V0Q2FsbGJhY2soW2VsZW1lbnRdIHsKLSAgICAgICAgICAgICAgICBlbGVtZW50
LT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFN0eWxlOjpk
ZXByZWNhdGVkUXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKFtlbGVtZW50XSB7Ci0gICAgICAg
ICAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBsYWNl
Q2FyZXRBdFN0YXJ0IH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICB9CiB9CiAK
IHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9jdW1l
bnQmIG9sZERvY3VtZW50LCBEb2N1bWVudCYgbmV3RG9jdW1lbnQpCkBAIC0zMDEsNiArMjgxLDEw
IEBAIE5vZGU6Okluc2VydGVkSW50b0FuY2VzdG9yUmVzdWx0IEhUTUxGb3JtQ29udHJvbEVsZW1l
bnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKEluCiAgICAgICAgIHNldEFuY2VzdG9yRGlzYWJsZWQo
Y29tcHV0ZUlzRGlzYWJsZWRCeUZpZWxkc2V0QW5jZXN0b3IoKSk7CiAgICAgSFRNTEVsZW1lbnQ6
Omluc2VydGVkSW50b0FuY2VzdG9yKGluc2VydGlvblR5cGUsIHBhcmVudE9mSW5zZXJ0ZWRUcmVl
KTsKICAgICBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKGluc2Vy
dGlvblR5cGUsIHBhcmVudE9mSW5zZXJ0ZWRUcmVlKTsKKworICAgIGlmIChzaG91bGRBdXRvZm9j
dXMoKnRoaXMpKQorICAgICAgICBkb2N1bWVudCgpLnRvcERvY3VtZW50KCkuYXBwZW5kQXV0b2Zv
Y3VzQ2FuZGlkYXRlKCp0aGlzKTsKKwogICAgIHJldHVybiBJbnNlcnRlZEludG9BbmNlc3RvclJl
c3VsdDo6TmVlZHNQb3N0SW5zZXJ0aW9uQ2FsbGJhY2s7CiB9CiAKQEAgLTM5Niw2ICszODAsMTEg
QEAgYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojppc01vdXNlRm9jdXNhYmxlKCkgY29uc3QK
ICNlbmRpZgogfQogCit2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJ1bkZvY3VzaW5nU3Rl
cHNGb3JBdXRvZm9jdXMoKQoreworICAgIGZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2Rl
OjpQbGFjZUNhcmV0QXRTdGFydCB9KTsKK30KKwogYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
OjptYXRjaGVzVmFsaWRQc2V1ZG9DbGFzcygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHdpbGxWYWxp
ZGF0ZSgpICYmIGlzVmFsaWRGb3JtQ29udHJvbEVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggMjVlMzQ1MDBlYWFhNjBhY2ZmOTk1
NGM0ZmFiZTM1NzU0NWZlMjkxNS4uOWNiYWIxOWQ3ZTQ5Y2UyMmJjNzUzZTBjN2RmNmFlNmU4MmVl
ZThjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgK
QEAgLTExNiw5ICsxMTYsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlYWRPbmx5KCkgY29uc3Qg
eyByZXR1cm4gbV9pc1JlYWRPbmx5OyB9CiAgICAgYm9vbCBpc0Rpc2FibGVkT3JSZWFkT25seSgp
IGNvbnN0IHsgcmV0dXJuIGlzRGlzYWJsZWRGb3JtQ29udHJvbCgpIHx8IG1faXNSZWFkT25seTsg
fQogCi0gICAgYm9vbCBoYXNBdXRvZm9jdXNlZCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQXV0b2Zv
Y3VzZWQ7IH0KLSAgICB2b2lkIHNldEF1dG9mb2N1c2VkKCkgeyBtX2hhc0F1dG9mb2N1c2VkID0g
dHJ1ZTsgfQotCiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGF1dG9jb21wbGV0ZSgpIGNvbnN0
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QXV0b2NvbXBsZXRlKGNvbnN0IFN0cmluZyYp
OwogCkBAIC0xNzAsNiArMTY3LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlZkZvcm1Bc3NvY2lh
dGVkRWxlbWVudCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0KICAgICB2b2lkIGRlcmVmRm9ybUFzc29j
aWF0ZWRFbGVtZW50KCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9CiAKKyAgICB2b2lkIHJ1bkZvY3Vz
aW5nU3RlcHNGb3JBdXRvZm9jdXMoKSBmaW5hbDsKKwogICAgIGJvb2wgbWF0Y2hlc1ZhbGlkUHNl
dWRvQ2xhc3MoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIG1hdGNoZXNJbnZhbGlkUHNldWRv
Q2xhc3MoKSBjb25zdCBvdmVycmlkZTsKIApAQCAtMjE1LDggKzIxNCw2IEBAIHByaXZhdGU6CiAg
ICAgdW5zaWduZWQgbV9pc1ZhbGlkIDogMTsKIAogICAgIHVuc2lnbmVkIG1fd2FzQ2hhbmdlZFNp
bmNlTGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQgOiAxOwotCi0gICAgdW5zaWduZWQgbV9oYXNB
dXRvZm9jdXNlZCA6IDE7CiB9OwogCiBjbGFzcyBEZWxheWVkVXBkYXRlVmFsaWRpdHlTY29wZSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcAppbmRleCA4ODUzM2IzZDJiMzcxODJlMTYwNTJmZWQxMjkzNjhhNDZl
NDIyOWFmLi5kN2JiYzRjYmQ2ODAzNzVjNGVhOTg1ZTI2ZTdhYmRjYmIwYzZlMGFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKQEAgLTE1NjAsNyArMTU2MCwxMCBAQCB2b2lkIFBhZ2U6OnVwZGF0ZVJlbmRl
cmluZygpCiAgICAgICAgIGZvckVhY2hEb2N1bWVudChwZXJEb2N1bWVudEZ1bmN0aW9uKTsKICAg
ICB9OwogCi0gICAgLy8gRklYTUU6IEZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzLgorICAgIHJ1
blByb2Nlc3NpbmdTdGVwKFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OkZsdXNoQXV0b2ZvY3VzQ2FuZGlk
YXRlcywgW10gKERvY3VtZW50JiBkb2N1bWVudCkgeworICAgICAgICBpZiAoZG9jdW1lbnQuaXNU
b3BEb2N1bWVudCgpKQorICAgICAgICAgICAgZG9jdW1lbnQuZmx1c2hBdXRvZm9jdXNDYW5kaWRh
dGVzKCk7CisgICAgfSk7CiAKICAgICBydW5Qcm9jZXNzaW5nU3RlcChSZW5kZXJpbmdVcGRhdGVT
dGVwOjpSZXNpemUsIFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAgICAgICAgZG9jdW1lbnQu
cnVuUmVzaXplU3RlcHMoKTsKQEAgLTM2MDUsNiArMzYwOCw3IEBAIFNwZWVjaFJlY29nbml0aW9u
Q29ubmVjdGlvbiYgUGFnZTo6c3BlZWNoUmVjb2duaXRpb25Db25uZWN0aW9uKCkKIFdURjo6VGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mIHRzLCBSZW5kZXJpbmdVcGRhdGVT
dGVwIHN0ZXApCiB7CiAgICAgc3dpdGNoIChzdGVwKSB7CisgICAgY2FzZSBSZW5kZXJpbmdVcGRh
dGVTdGVwOjpGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXM6IHRzIDw8ICJGbHVzaEF1dG9mb2N1c0Nh
bmRpZGF0ZXMiOyBicmVhazsKICAgICBjYXNlIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlJlc2l6ZTog
dHMgPDwgIlJlc2l6ZSI7IGJyZWFrOwogICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6U2Ny
b2xsOiB0cyA8PCAiU2Nyb2xsIjsgYnJlYWs7CiAgICAgY2FzZSBSZW5kZXJpbmdVcGRhdGVTdGVw
OjpNZWRpYVF1ZXJ5RXZhbHVhdGlvbjogdHMgPDwgIk1lZGlhUXVlcnlFdmFsdWF0aW9uIjsgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oCmluZGV4IDk0ZjhiOGRhOTIwNjk2Mzc4OGM1MTYxNjUzZTUwNWNjYzAw
NTM4MzkuLmI1M2Y2OGU2MzBlMzIyZTk3NDRhNGJmYmM5MDdiOWVlYWUyZTUwM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCkBAIC0yMDgsOSArMjA4LDExIEBAIGVudW0gY2xhc3MgUmVuZGVyaW5nVXBkYXRlU3Rl
cCA6IHVpbnQxNl90IHsKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogICAgIFNjcm9sbGlu
Z1RyZWVVcGRhdGUgICAgICAgICAgICAgPSAxIDw8IDEzLAogI2VuZGlmCisgICAgRmx1c2hBdXRv
Zm9jdXNDYW5kaWRhdGVzICAgICAgICA9IDEgPDwgMTQsCiB9OwogCiBjb25zdGV4cHIgT3B0aW9u
U2V0PFJlbmRlcmluZ1VwZGF0ZVN0ZXA+IHVwZGF0ZVJlbmRlcmluZ1N0ZXBzID0geworICAgIFJl
bmRlcmluZ1VwZGF0ZVN0ZXA6OkZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcywKICAgICBSZW5kZXJp
bmdVcGRhdGVTdGVwOjpSZXNpemUsCiAgICAgUmVuZGVyaW5nVXBkYXRlU3RlcDo6U2Nyb2xsLAog
ICAgIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6Ok1lZGlhUXVlcnlFdmFsdWF0aW9uLApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFl
ZTBmYTc3NmMzYTExZDA1ZTg5MDJlN2VmNmM4NDMxN2NmN2Q4ODEuLmNmN2EwNmM1OGJiZTczN2Ez
YzQ0YjNiNzI1YWZlZTI0MzQzNWE0MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAyMS0xMC0w
NSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBuZXcg
YXV0b2ZvY3VzIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDMxMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2Mzk3MDE5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgV2ViS2l0
IG1hdGNoIHRoZSBuZXcgYXV0b2ZvY3VzIHNwZWM6CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCN0aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZQorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2ludGVyYWN0aW9uLmh0bWwjZm9jdXNpbmctc3RlcHMKKworICAgICAgICBUaGUgbmV3IGF1dG9m
b2N1cyBiZWhhdmlvciBxdWV1ZXMgdXAgYWxsIGF1dG9mb2N1c2FibGUgZWxlbWVudHMgKHZpc2li
bGUgb3Igbm90KSwgdGhlbgorICAgICAgICBmaXJlcyBhdXRvZm9jdXMgYXN5bmNocm9ub3VzbHkg
ZHVyaW5nIHRoZSAidXBkYXRlIHJlbmRlcmluZyIgc3RlcHMsIHVubGlrZSB0aGUgb2xkIGJlaGF2
aW9yCisgICAgICAgIHdoaWNoIHJ1bnMgZm9jdXMgc3luY2hyb25vdXNseSB3aGVuZXZlciBpdCBm
aW5kcyBhIHZpc2libGUgYXV0b2ZvY3VzYWJsZSBlbGVtZW50LgorCisgICAgICAgIE9yaWdpbmFs
IHBhdGNoIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1zY3JvbGwtaWdub3JlLW51bGwtZnJhbWUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL3dpbmRvdy1pbm5lci13aWR0aC1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ct
c2NyaXB0cy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1s
OgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sOgorICAgICAg
ICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sOgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0
b2ZvY3VzLW9wZXJhLTAwNi5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwNy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4t
Zm9jdXMtaGFuZGxlci5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1zdWJtaXNzaW9u
LWNyYXNoLTMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1p
cy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vaW9z
LXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTAtMDggIEF5dW1p
IEtvamltYSAgPGF5dW1pX2tvamltYUBhcHBsZS5jb20+CiAKICAgICAgICAgWyBpT1MgMTUgXSBS
ZWJhc2VsaW5pbmcgcGxhdGZvcm0vaW9zL2lvcy9mYXN0L3RleHQvb3B0aWNhbEZvbnRXaXRoV2Vp
Z2h0Lmh0bWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlZDM4M2I5MTIyZTJm
YTk5MzAyODlkNDJhZjlmNWMyZGFkN2E3OTA0Li40MjEzOTE4YWVmMmM2MGYyYzRmMGE1YmU0YTUx
ODM4NTE4MjNmNzRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MCBAQAorMjAyMS0xMC0wNSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAg
IEltcGxlbWVudCBuZXcgYXV0b2ZvY3VzIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMxMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzU2Mzk3MDE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1ha2UgV2ViS2l0IG1hdGNoIHRoZSBuZXcgYXV0b2ZvY3VzIHNwZWM6CisgICAgICAgIC0g
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCN0
aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZQorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3
Zy5vcmcvbXVsdGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjZm9jdXNpbmctc3RlcHMKKworICAgICAg
ICBUaGUgbmV3IGF1dG9mb2N1cyBiZWhhdmlvciBxdWV1ZXMgdXAgYWxsIGF1dG9mb2N1c2FibGUg
ZWxlbWVudHMgKHZpc2libGUgb3Igbm90KSwgdGhlbgorICAgICAgICBmaXJlcyBhdXRvZm9jdXMg
YXN5bmNocm9ub3VzbHkgZHVyaW5nIHRoZSAidXBkYXRlIHJlbmRlcmluZyIgc3RlcHMsIHVubGlr
ZSB0aGUgb2xkIGJlaGF2aW9yCisgICAgICAgIHdoaWNoIHJ1bnMgZm9jdXMgc3luY2hyb25vdXNs
eSB3aGVuZXZlciBpdCBmaW5kcyBhIHZpc2libGUgYXV0b2ZvY3VzYWJsZSBlbGVtZW50LgorCisg
ICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmli
dXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMt
YXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1
cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1h
dHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1
dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
dXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1l
eHBlY3RlZC50eHQ6IEV4cGVjdGVkIGNoYW5nZSBzaW5jZSBpbnB1dCBhdXRvZm9jdXMgbm93IHBs
YWNlcyBjYXJldCBhdCBzdGFydAorCiAyMDIxLTEwLTA4ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmUtc3luYyB0aGUtZGlhbG9nLWVsZW1lbnQgYW5kIGluZXJ0IFdQ
VCBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlOTJiYzRmMjVhZDBlOThiZDEw
MjIxZTQ3MzRiN2FjMTc2YjY1OTUwLi5mMjRhM2EwMGJhMzllYjE3Y2QzZDg5Yjc2NWYxYjA3YmE0
YmUyYjQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTgwNCw3ICs4MDQsNiBAQCBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtaGlzdG9yeS1p
bnRlcmZhY2UvMDAyLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dz
ZXJzL2hpc3RvcnkvdGhlLWhpc3RvcnktaW50ZXJmYWNlL2NvbWJpbmF0aW9uX2hpc3RvcnlfMDAy
Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWhpc3RvcnktaW50ZXJmYWNlL2NvbWJpbmF0aW9uX2hp
c3RvcnlfMDAzLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9zY3JpcHRpbmctMS90aGUtc2NyaXB0LWVsZW1lbnQvZXhl
Y3V0aW9uLXRpbWluZy8wNTguaHRtbCBbIEZhaWx1cmUgUGFzcyBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRy
aWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmcuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3dpZGdldHMvYmFzZWxpbmUt
YWxpZ25tZW50LWFuZC1vdmVyZmxvdy50ZW50YXRpdmUuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvbWVkaWEtZWxlbWVudHMvbG9hZGluZy10aGUtbWVkaWEtcmVzb3VyY2UvcmVzb3VyY2Ut
c2VsZWN0aW9uLXBvaW50ZXItcmVtb3ZlLXNvdXJjZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC90aGUtaWZyYW1lLWVsZW1lbnQvY3Jvc3Mtb3JpZ2luLXRvLXdob20ud2luZG93Lmh0bWwg
WyBGYWlsdXJlIFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1zY3JvbGwtaWdub3JlLW51bGwtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxsLWZyYW1lLmh0bWwKaW5kZXggZjZh
NjFmMWEzZmRmNjgwNmE4NzViNTE5ZWNlZDM4NzViMzk4Y2YyMi4uYzcxNGNkNDAxM2VhYjA1NGU3
MzcyMGJlNmYzYmMzZDZkZGRmMTQzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1zY3JvbGwtaWdub3JlLW51bGwtZnJhbWUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXNjcm9sbC1pZ25vcmUtbnVsbC1mcmFtZS5odG1s
CkBAIC0yLDE0ICsyLDIwIEBACiA8c2NyaXB0PgogCiBmdW5jdGlvbiBydW5UZXN0KCkgewotICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgIH0KIAogICAgIHNlbGVjdDEuYXBwZW5kQ2hpbGQoaW5wdXRQYXJlbnQp
OwogICAgIGlucHV0MS5hdXRvZm9jdXMgPSB0cnVlOwogICAgIGlucHV0MS5zZXRTZWxlY3Rpb25S
YW5nZSgxLCAwKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0MSk7Ci0gICAg
ZnJhbWUxLmNvbnRlbnRXaW5kb3cuc2Nyb2xsQnkoe2xlZnQ6IDEsIHRvcDogMH0pOworICAgIHJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIGZyYW1lMS5jb250ZW50V2luZG93
LnNjcm9sbEJ5KHtsZWZ0OiAxLCB0b3A6IDB9KTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSk7CiB9CiAK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1j
cmFzaC0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jh
c2gtMi1leHBlY3RlZC50eHQKaW5kZXggZWM5ODFlYWMxYWRiZmI0YmRkZmJjYWJkZTM1YzQxN2Nh
NjEzMTA5OC4uYmYxNWJhN2JlMjM4YTkxNGI0ZDMyYmI5MzIwYWZiNTJhOGNiMmQ4NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQu
dHh0CkBAIC0xLDIgKzEsNCBAQAotVGVzdHMgZm9yIGEgY3Jhc2ggZHVlIHRvIGFkb3B0aW5nIGEg
RE9NIG5vZGUgZHVyaW5nIERPTUZvY3VzT3V0IGV2ZW50LiBUZXN0IHBhc3NlcyBpZiBpdCBkb2Vz
bid0IGNyYXNoLgorVGVzdHMgZm9yIGEgY3Jhc2ggZHVlIHRvIGFkb3B0aW5nIGEgRE9NIG5vZGUg
d2hlbiB1bmZvY3VzaW5nLiBUZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLgogCitQQVNT
OiBGb2N1c2VkIG5vZGUgc2hvdWxkIGJlIGtleWdlbgorUEFTUzogRm9jdXNlZCBub2RlIHNob3Vs
ZCBubyBsb25nZXIgYmUga2V5Z2VuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9h
ZG9wdC1ub2RlLWNyYXNoLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUt
Y3Jhc2gtMi5odG1sCmluZGV4IGY2OGQwMTdiYjMwN2ZkMjJhYTYzODgwNGNiZDY3NmYzNDAzYmE5
NjYuLmZhZWUxNmMyN2NjYTE4YTg1ZTc2MTlkZTRkYzI0OWZmZGQ2NDhiNjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi5odG1sCkBAIC0xLDYgKzEsNiBAQAog
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBLZXlnZW5FbGVtZW50RW5h
YmxlZD10cnVlIF0gLS0+CiA8aHRtbD4KLTxkaXY+VGVzdHMgZm9yIGEgY3Jhc2ggZHVlIHRvIGFk
b3B0aW5nIGEgRE9NIG5vZGUgZHVyaW5nIERPTUZvY3VzT3V0IGV2ZW50LiBUZXN0IHBhc3NlcyBp
ZiBpdCBkb2Vzbid0IGNyYXNoLjwvZGl2PgorPGRpdj5UZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8g
YWRvcHRpbmcgYSBET00gbm9kZSB3aGVuIHVuZm9jdXNpbmcuIFRlc3QgcGFzc2VzIGlmIGl0IGRv
ZXNuJ3QgY3Jhc2guPC9kaXY+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CkBAIC0xNCwyOSArMTQsMzIgQEAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgPC9pZnJhbWU+CiAgIDwvYXBwbGV0PgogICA8aGVhZGVyIGlk
PSJoZWFkZXIxIj4KLSAgICA8a2V5Z2VuIGF1dG9mb2N1cz4KKyAgICA8a2V5Z2VuIGlkPSJrZXln
ZW4iIGF1dG9mb2N1cz4KICAgPC9oZWFkZXI+CiA8L2Rpdj4KKzxkaXYgaWQ9ImxvZ3MiPjwvZGl2
PgogPHNjcmlwdD4KLWZ1bmN0aW9uIGRvaXQoKQotewotICAgIGRpdjIuYWRkRXZlbnRMaXN0ZW5l
cigiRE9NRm9jdXNPdXQiLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgIGRvY3VtZW50LmltcGxlbWVu
dGF0aW9uLmNyZWF0ZURvY3VtZW50KCIiLCAiIiwgbnVsbCkuYWRvcHROb2RlKGRpdjIpOwotICAg
ICAgICBzZXRUaW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQotICAgICAgICAgICAgICAgIGludGVybmFscy51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoKTsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAg
ICAgICAgfSwgMCk7Ci0gICAgfSwgZmFsc2UpOwotICAgIGRpdjEub3V0ZXJIVE1MID0gaGVhZGVy
MS5vdXRlckhUTUw7CitmdW5jdGlvbiBhc3NlcnRfdHJ1ZShhc3NlcnQsIHRleHQpIHsKKyAgICBj
b25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBpZiAoYXNzZXJ0
KQorICAgICAgICBkaXYudGV4dENvbnRlbnQgPSAiUEFTUzogIiArIHRleHQ7CisgICAgZWxzZQor
ICAgICAgICBkaXYudGV4dENvbnRlbnQgPSAiRkFJTDogIiArIHRleHQ7CisgICAgbG9ncy5hcHBl
bmQoZGl2KTsKIH0KLXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKworZnVuY3Rpb24gZG9p
dCgpIHsKKyAgICBhc3NlcnRfdHJ1ZShkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGtleWdlbiwg
IkZvY3VzZWQgbm9kZSBzaG91bGQgYmUga2V5Z2VuIik7CisgICAgZGl2MS5vdXRlckhUTUwgPSBo
ZWFkZXIxLm91dGVySFRNTDsKKyAgICBhc3NlcnRfdHJ1ZShkb2N1bWVudC5hY3RpdmVFbGVtZW50
ICE9IGtleWdlbiwgIkZvY3VzZWQgbm9kZSBzaG91bGQgbm8gbG9uZ2VyIGJlIGtleWdlbiIpOwor
ICAgIGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KCIiLCAiIiwgbnVsbCku
YWRvcHROb2RlKGRpdjIpOwogICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICBpbnRl
cm5hbHMudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91
dFRhc2tzKCk7Ci0gICAgZWxzZQotICAgICAgICBkaXYyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OwotICAgIHNldFRpbWVvdXQoImRvaXQoKSIsIDEpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiB9Cit3aW5kb3cub25sb2FkID0g
ZnVuY3Rpb24oKSB7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRvaXQpOworfTsKIDwvc2Ny
aXB0PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LWlu
bmVyLXdpZHRoLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3ctaW5uZXIt
d2lkdGgtY3Jhc2guaHRtbAppbmRleCBiYzc1ZDNmMzcyMmYxNjRkYjE2MTBlNWYxYWMwY2Y3OWRi
ZmYwMjI3Li45MzkzNWYwNTc4ZTdiMjgzYzNjOGZhMzkzOWUzZTM2YWNlZWMxMjM1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3ctaW5uZXItd2lkdGgtY3Jhc2guaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3ctaW5uZXItd2lkdGgtY3Jhc2guaHRtbApA
QCAtNiw4ICs2LDggQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogCiBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgIGJ1dHRvbi5hdXRvZm9jdXMg
PSB0cnVlOwogICAgIGJvZHkuYXBwZW5kQ2hpbGQocGFyYWdyYXBoKTsKKyAgICBidXR0b24uZm9j
dXMoKTsKICAgICB2YXIgdGVzdFZhbCA9IHdpbmRvd1swXS5pbm5lcldpZHRoOwogfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgt
YWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKaW5kZXggY2Y4
NmZiNGM1ZWE2OTAzZWIwOGE3MGUyNjRhMDI3ODliNjIwODc5NC4uNTBhY2ZiNjdkZjg5YjAxNTEx
NzU3ZjIzOTE1YjcwZjRhZmJjN2Q5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxv
dy1zY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDcgQEAKLUNPTlNPTEUgTUVTU0FHRTog
SU5QVVQKLVRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGFjdGl2ZUVsZW1lbnQgaXMgdGhlIGlucHV0
IGVsZW1lbnQgcmF0aGVyIHRoYW4gdGhlIGJvZHkgKHdoaWNoIGl0IHdvdWxkIGJlIGlmIHRoZSBz
YW5kYm94IGRpZG4ndCBhbGxvdyBhdXRvZm9jdXMgYWx0aG91Z2ggYWxsb3ctc2NyaXB0cyBmbGFn
IGlzIHNldCkuCitUaGlzIHRlc3RzIGhhdmluZyBhbiBpbnB1dCBlbGVtZW50IHdpdGggYXV0b2Zv
Y3VzIGNvbnRlbnQgYXR0cmlidXRlIGluc2lkZSBhIHNhbmRib3hlZCBpZnJhbWUuCitUaGUgaW5w
dXQgZWxlbWVudCBzaG91bGQgYmUgYXV0b2ZvY3VzZWQgc2luY2Ugc2NyaXB0cyBhcmUgYWxsb3dl
ZC4KKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lMS0tPicKKy0tLS0tLS0tCitQQVNTCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdp
dGgtYWxsb3ctc2NyaXB0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
aW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbAppbmRleCA0ZjIyMzg2OGZkN2U2ZjE4
OWVjNTNmNzI2MmU3NmJkYjk4NjdiYzVhLi5lYzNlMzgwMTBmYzg0NGFmYjM5MjIyODgwZTM0Zjkz
YjE1OTZkZmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1p
bi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwKQEAgLTEs
OCArMSwxOSBAQAogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5u
ZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Cit9CiA8L3NjcmlwdD4KLVRoaXMgdGVzdCBwYXNz
ZXMgaWYgdGhlIGFjdGl2ZUVsZW1lbnQgaXMgdGhlIGlucHV0IGVsZW1lbnQgcmF0aGVyIHRoYW4g
dGhlIGJvZHkKLSh3aGljaCBpdCB3b3VsZCBiZSBpZiB0aGUgc2FuZGJveCBkaWRuJ3QgYWxsb3cg
YXV0b2ZvY3VzIGFsdGhvdWdoIGFsbG93LXNjcmlwdHMgZmxhZyBpcyBzZXQpLgotPGlmcmFtZSBz
YW5kYm94PSJhbGxvdy1zY3JpcHRzIGFsbG93LW1vZGFscyIKLSAgICBzcmM9ImRhdGE6dGV4dC9o
dG1sLDxpbnB1dCBhdXRvZm9jdXMgb25mb2N1cz48c2NyaXB0PndpbmRvdy5vbmxvYWQgPSBmdW5j
dGlvbigpIHsgY29uc29sZS5sb2coZG9jdW1lbnQuYWN0aXZlRWxlbWVudC50YWdOYW1lKSB9PC9z
Y3JpcHQ+Ij48L2lmcmFtZT4KK1RoaXMgdGVzdHMgaGF2aW5nIGFuIGlucHV0IGVsZW1lbnQgd2l0
aCBhdXRvZm9jdXMgY29udGVudCBhdHRyaWJ1dGUgaW5zaWRlIGEgc2FuZGJveGVkIGlmcmFtZS48
YnI+CitUaGUgaW5wdXQgZWxlbWVudCBzaG91bGQgYmUgYXV0b2ZvY3VzZWQgc2luY2Ugc2NyaXB0
cyBhcmUgYWxsb3dlZC4KKzxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIKKyAgICBzcmM9
ImRhdGE6dGV4dC9odG1sLDxpbnB1dCBpZD1pbnB1dCBhdXRvZm9jdXMgb25mb2N1cz48c2NyaXB0
PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CisgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgcmVx
dWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gaW5wdXQgPyAnUEFTUycgOiAnRkFJTCcpOwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKKyAgICB9PC9zY3JpcHQ+Ij48L2lmcmFt
ZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMta2V5Z2VuLmh0bWwKaW5kZXgg
NzcwNzBlOGRiMDZiNTRjOWI5MGZlNmQzMTAyNjgzZGE4NTRiYzBjYy4uMGM3NjVkZTMyM2EyM2Iw
NTI0ZDM3MGVjNTJhZGJmNWQwNDZhMjg1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMta2V5Z2VuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9h
dXRvZm9jdXMta2V5Z2VuLmh0bWwKQEAgLTYsOSArNiwxMSBAQAogd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOwogCiBmdW5jdGlvbiBvbkxvYWQoKSB7Ci0gICAgc2hvdWxkQmUoJ2RvY3VtZW50
LmFjdGl2ZUVsZW1lbnQnLCAnZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigia2V5Z2VuIiknKTsKLSAg
ICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5hdXRvZm9jdXMnLCAndHJ1ZScpOwot
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7Cisg
ICAgICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50JywgJ2RvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoImtleWdlbiIpJyk7CisgICAgICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVF
bGVtZW50LmF1dG9mb2N1cycsICd0cnVlJyk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
IH0pOwogfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sCmluZGV4IDlkMDVlZGZiZjQ0MDA4MGU5NGY0YWI0MGZj
MzMzZDJlMTQ0MzFlMjUuLjQ5YmJlOWMwNWJmMzQ3Njc2ZGI0Y2Y5ZGFlNGI1ZDc2Mzg4ODRjM2Eg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1s
CkBAIC0xMSwxMyArMTEsMTkgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQogCi0gICAgICAgIGlmIChkb2N1
bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1
dCIpWzBdKQotICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkg
PT4geworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0pCisgICAgICAgICAgICAgICAgbG9nKCJT
VUNDRVNTIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJF
Iik7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0Pgog
PC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3Bl
cmEtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDIu
aHRtbAppbmRleCBiNTEzZmM5NzYyMTUxYmUxM2UwOTk2ZjlmOGZjMTZkZTRjOTlkMjdlLi45M2U0
NTNkZDkyZmE5ZjdkY2RlMmU1ZDEwMzA1YWQ5YTcxZjg0YWM2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDIuaHRtbApAQCAtMTEsMTMgKzExLDE5IEBA
CiAgICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CisgICAgICAgIH0KIAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKLSAgICAgICAgICAg
IGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUi
KTsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlm
IChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJpbnB1dCIpWzBdKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAzLmh0bWwKaW5kZXggNDEyOTBiNjE1
ZmZlYmNlMWUyMDBkMTFiMjhhNTU2MDM4NTk1YjQ2OS4uNWU1ZThhODA2NzFlOTVhMjkyY2ViZmQ0
MjliYjI5ODA3NzBmNTEyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRv
Zm9jdXMtb3BlcmEtMDAzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9j
dXMtb3BlcmEtMDAzLmh0bWwKQEAgLTEyLDE0ICsxMiwyMCBAQAogICAgIH0KIAogICAgIGZ1bmN0
aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CiAK
LSAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImlucHV0IilbMF0gJiYKLSAgICAgICAgICAgIGRvY3VtZW50LnNjcm9sbGlu
Z0VsZW1lbnQuc2Nyb2xsVG9wICE9IDApCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgIHJlcXVlc3RB
bmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxl
bWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSAmJgorICAg
ICAgICAgICAgICAgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wICE9IDApCisg
ICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0p
OwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbAppbmRleCA4NDhlNjFhNDc4YTAyNDNkZDIyZDcyYmFk
MTk1ODdjYThlNmJiZDFjLi5mMmQ3OWE0ZmFlMjZkYzg0YjljOTNjMzJiYmFiZjk4ZGE5NTM2NDYy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRt
bApAQCAtMTEsMjMgKzExLDMwIEBACiAgICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKSkKKyAgICAgICAgICAgICAg
ICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2co
IkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAKLSAgICAgICAg
aWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRl
c3QiKSkKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBsb2coIkZBSUxVUkUiKTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9u
bG9hZD0idGVzdCgpIj4KIDxwPkFsbCBmb3JtIGNvbnRyb2xzIGJlbG93IHNob3VsZCBoYXZlIGEg
Z3JlZW4gYmFja2dyb3VuZDo8L3A+Ci08cD48aW5wdXQgYXV0b2ZvY3VzPgorPHA+PGlucHV0IGF1
dG9mb2N1cyBpZD0idGVzdCI+CiA8cD48aW5wdXQgYXV0b2ZvY3VzPgogPHA+PGlucHV0IGF1dG9m
b2N1cz4KIDxwPjxpbnB1dD4KLTxwPjxpbnB1dCBhdXRvZm9jdXMgaWQ9InRlc3QiPgorPHA+PGlu
cHV0IGF1dG9mb2N1cz4KIDxwPjxpbnB1dD4KIDxoci8+CiA8b2wgaWQ9ImNvbnNvbGUiPjwvb2w+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sCmlu
ZGV4IDA5MGYzOTM1NzAzNWRkYjhlOTM3NTBjZGIxYjc5YmMxYTg1MGYxYmUuLjExYmQzOTUwNGM5
ZGRhODQ4OTIwMWRkOGE3NTE1NDc4MGQ5MDg5ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1sCkBAIC0xNywxMyArMTcsMTkgQEAKICAgICB9
CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgfQogCi0gICAgICAgIGlmIChnb3RCbHVyKQotICAgICAgICAgICAgbG9nKCJTVUND
RVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAg
ICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGdvdEJsdXIp
CisgICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAg
IH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRt
bAppbmRleCBiN2ExZDhjOWY4NTk4ZWUwMmEzYTY3NmYwZGY4ZThhZmU0NGIyODY1Li5hZDljNjY5
YWU5YTE4NTEwMTFhZDk2ZDA0ZTQ5YjliMjliNTkwNTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRs
ZXIuaHRtbApAQCAtMTAsMTYgKzEwLDI1IEBACiBmdW5jdGlvbiBmb2N1c2VkKCkgewogICAgIGlm
IChpbnB1dC5hdXRvZm9jdXMpIHsKICAgICAgICAgaW5wdXQudHlwZSA9ICJjaGVja2JveCI7Ci0g
ICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIjxjb2RlIHN0eWxlPSdjb2xvcjogZ3Jl
ZW4nPlBBU1M8L2NvZGU+IjsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiRkFJ
TCAtIGZvY3VzIGV2ZW50IGhhbmRsZXIgY2FsbGVkIGZvciBhdXRvZm9jdXMiOworICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaW5wdXQpOwogICAgIGlucHV0LmF1dG9mb2N1cyA9IHRydWU7CisgICAgcmVxdWVzdEFuaW1h
dGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCA9IGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuYm9keSA/ICJQQVNTIiA6ICJGQUlMIjsK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgfSk7CiB9CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQogCiBpbnB1dC5mb2N1cygpOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi1jcmFz
aC0zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi1jcmFzaC0z
Lmh0bWwKaW5kZXggNzgwNjFjYWQ5YWVhN2MzNDY2YjYzZDkyZjI0YTdhNWYwYzA1ZGVhNS4uYWZm
MzQyYTEzNWM5MjI0MWNiNmQ4MzFkYWM5YjNjOTFiZDRmNDg0NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tY3Jhc2gtMy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1zdWJtaXNzaW9uLWNyYXNoLTMuaHRtbApAQCAtMTAsMTAg
KzEwLDE0IEBAIGZ1bmN0aW9uIGV2ZW50aGFuZGxlcigpIHsKICAgICBkaXYxLmlubmVySFRNTCA9
ICJmb28iOwogICAgIGdjKCk7CiB9Ci0gCisKIGZ1bmN0aW9uIGV2ZW50aGFuZGxlcjIoKSB7CiB9
CiAKK2FkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCAoKSA9PiB7CisgICAgaW5w
dXQuZm9jdXMoKTsKK30pOworCiBmdW5jdGlvbiBzdGFydCgpIHsKICAgICBidXR0b24uc2V0QXR0
cmlidXRlKCJmb3JtIiwgImZvcm0xIik7CiAgICAgYnV0dG9uLnNldEN1c3RvbVZhbGlkaXR5KCJm
b28iKTsKQEAgLTI2LDcgKzMwLDcgQEAgZnVuY3Rpb24gc3RhcnQoKSB7CiA8L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgotPGlucHV0IGlkPSJpbnB1dCIgYXV0b2ZvY3VzPSJhdXRvZm9jdXMiIHR5
cGU9ImJ1dHRvbiI+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJidXR0b24iPgogPGRpdiBpZD0i
ZGl2MSI+CiAgICAgPGZvcm0gaWQ9ImZvcm0xIj48L2Zvcm0+CiA8L2Rpdj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1l
dmVudGhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZy
YW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbAppbmRleCA2ZjVhMmU5MTllZGY5YTk2
M2JhOGY3ZWRlNGU5MDY2MjE1MGJmNmZkLi5jODk4NjY3ZmM0ZGM2NmE1Y2NiMGRjY2U0YzcxMGM1
ZWViNjkxYTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9jcmFzaC13aGVu
LWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxlci5o
dG1sCkBAIC02LDEzICs2LDIwIEBAIFBBU1MgaWYgbm8gY3Jhc2guCiA8c3BhbiBpZD13cmFwcGVy
Pjwvc3Bhbj4KIDx0ZXh0YXJlYSBpZD10ZXh0YXJlYSBvbmZvY3VzPSJldmVudGhhbmRsZXIoKSI+
PC90ZXh0YXJlYT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwogZG9jdW1lbnQub2Zmc2V0SGVpZ2h0OwogdGV4dGFy
ZWEuYXV0b2ZvY3VzID0gdHJ1ZTsKIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJpZnJhbWUiKTsKIHNwYW4uYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIHdyYXBwZXIuYXBwZW5kQ2hp
bGQodGV4dGFyZWEpOworcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSk7CiBp
ZnJhbWUuY29udGVudERvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsKIAogZnVuY3Rpb24g
ZXZlbnRoYW5kbGVyKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0
bWwKaW5kZXggNjNjZjhhMjIxOThkNzA5ZjNmYTk4YWY1NTk3MTM5Mzg5MDI1NWRhMi4uYzJmNTg0
NTc1OTRiODMzYWQ3YjUyMzc0YjA1MWFiYTViZjQxYzk5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRlLXNj
cmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCkBAIC0xNiw4ICsxNiwxMCBAQCBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKIH0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgKGV2
ZW50KSA9PiB7Ci0gICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkKKyAgICBpZiAoZXZlbnQucGVyc2lz
dGVkKSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmaW5pc2gpOwogICAgICAgICBy
ZXR1cm47CisgICAgfQogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgc2V0VGlt
ZW91dChydW5UZXN0LCAwKTsKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQt
ZW1wdHktZXhwZWN0ZWQudHh0CmluZGV4IGE0NTJkNTNlZGJhNjM1ODdkOWMyZWJkYzZmNmE1MGQ1
M2ZlNGVmZTUuLmQ0MTkyOWY5YjdkZjdiMThkNjAyZGFkNDYwOGJlZmUwNzE1ZmNhMjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZy
YWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1h
dHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQKQEAgLTEs
NSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVu
dHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1YWxzOiBn
b3QgZGlzYWxsb3dlZCB2YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lu
cHV0PgorUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBl
bXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiB0
b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCdzIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZyYWdtZW50
cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0
cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQt
bm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDJiMWU1N2Q2MjgyOTU2OTE4ZDI3MjE1NTVk
MDRkNTgwMmFiN2RmNmQuLjhkZDZiNGM3NzBjZTlhYTVjYzI5YmZjODVjY2U0MmQ1ZGNlZTg3ODEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13
aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhl
LWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1l
eHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMg
aW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRzIHNob3VsZCB3
b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBub2Rl
IDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGlu
IGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29y
ay4KIFBBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0
J3MgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdp
dGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQKaW5kZXggMDM3
NDEwOWEzMGM2MjRkYmQ5NGQ4NzkxM2I0ZTMzOGVlOTE5OTNlZi4uOGJhNTBhNTFhM2RhZDU3MGQ0
OTI3NzQ5OTk3MmQ1OTRkNWRmZWI5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJh
Y3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVu
dC10b3AtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKLUZBSUwgQXV0b2ZvY3VzIGVs
ZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3
b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBub2Rl
IDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGlu
IGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogUEFT
UyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQncyBkb2N1
bWVudHMgd2l0aCAidG9wIiBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlv
bi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0CmluZGV4IDk4
NzMyN2IxYTdiOWJiNmFhMWYyYjZiNDQwNjM3NzEwYmU4ZjAwNmUuLmNlOTI2NzY3ZjMwNDJkZTIy
OTgwNDAzM2QyZWZlNTU1ZWFkNjUyZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2Zv
Y3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRv
Zm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogCi1G
QUlMIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQgc2hvdWxkIHdp
bi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9
IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lu
cHV0PgorUEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50IHNo
b3VsZCB3aW4uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3Vz
LWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dAppbmRleCBmZTAyMTE4YTM0
OWEzYWNjOWY4Y2FlZDg5MTc4MWYwMWMyODgxNDVmLi41ZjRjMzE1YzY4NzhlM2M2OGI3YWQyZjhj
OWNhMjk2MTFlZmQ1YzlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRy
aWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1h
dXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQg
KzEsNCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lu
cywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3Qg
RWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgVGhlIGZpcnN0
IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5z
ZXJ0ZWQgbGF0ZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJp
YnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0
b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dAppbmRleCAz
M2Q4MzA4N2UxOGY2ZDlkOWIyZmFmNDUyYTNlZGJlOTYwNzNiMTVkLi5hNTg0OWQ2MjIzNTMxOGNi
ODhhMzFhZjRhMmQ5NGY3YzcxMTgxMDUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9m
b2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgSWYgdGhlIGZpcnN0IGF1dG9mb2N1cyBl
bGVtZW50IGlzIG5vdCBmb2N1c2FibGUsIGJ1dCBiZWNvbWVzIGZvY3VzYWJsZSBiZWZvcmUgYSBm
cmFtZSwgaXQgc2hvdWxkIGJlIGZvY3VzZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1l
bnQgbm9kZSA8dGV4dGFyZWEgYXV0b2ZvY3VzPSIiPjwvdGV4dGFyZWE+IGJ1dCBnb3QgRWxlbWVu
dCBub2RlIDxzZWxlY3QgYXV0b2ZvY3VzPSIiPjwvc2VsZWN0PgorUEFTUyBJZiB0aGUgZmlyc3Qg
YXV0b2ZvY3VzIGVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSwgYnV0IGJlY29tZXMgZm9jdXNhYmxl
IGJlZm9yZSBhIGZyYW1lLCBpdCBzaG91bGQgYmUgZm9jdXNlZC4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJl
bmRlcmluZy1leHBlY3RlZC50eHQKaW5kZXggMTM1NDFmNjRmZDYxNTIxNDliMjc4OGNhNDI5Mjkz
ZGFjYmI3MjE4Ny4uMGNiYzc3ZWY3MWM5MjFlYWI4MWVhOTBiNTRmMWI1NWJlN2FmYzI5OSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVu
ZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1
dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi0K
LUZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGFmdGVy
IHRoZSBmaXJzdCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzLCBhbmQgYmVmb3JlIGEgcmVzaXpl
IGV2ZW50IGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZlbnQgbG9vcC4gYXNzZXJ0
X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDMgZ290IDQKK1BBU1MgIkZs
dXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGJlZm9yZSBhIHNjcm9s
bCBldmVudCBhbmQgYW5pbWF0aW9uIGZyYW1lIGNhbGxiYWNrcwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxlY3Rp
b24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxl
Y3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDBhOTkwYTA1ZTBiMjE4
YzVjNTBmNzYwMjc0ZDIxMzBhYTI0MmQ5YjEuLmE5NjA4YzE4ZDNiMzQ2M2IxOTRkZmQ0OTVjZGQz
YjE5MWE5ZTQ5NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jh
c2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gt
ZXhwZWN0ZWQudHh0CkBAIC05LDQgKzksNSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MjMK
ICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAxNDd4MTkgW2Jn
Y29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KIGxheWVyIGF0ICg1
LDYwNSkgc2l6ZSAxNDF4MTMKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAxNDF4
MTMKLWNhcmV0OiBwb3NpdGlvbiAxIG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxk
IDAge0RJVn0gb2YgeyNkb2N1bWVudC1mcmFnbWVudH0gb2YgY2hpbGQgMiB7SU5QVVR9IG9mIGNo
aWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CitzY3JvbGxlZCB0byAwLDIzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWRkNjc0MDA0YTA1Yjk4
MTFkOTBkOWNjYTI2NmRmNjI1OTNlMmQ0NC4uNWY1MmUwM2MyYWYwODg2ZDM5NGQ5OTZiMTExZjA1
YTQyMGVmY2I0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjA1OCw3ICsyMDU4LDcgQEAgd2Via2l0Lm9yZy9iLzIzMDQxOCBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2RhdGEtdXJscy9iYXNlNjQuYW55LncKIAog
d2Via2l0Lm9yZy9iLzIyNzk5OCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWVtYmVkLWVsZW1lbnQvZW1iZWQtbmV0d29y
ay1lcnJvci5zdWIuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMjc3NjIg
WyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlv
bi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXZh
bGlkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzIyNzc2MiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC12YWxpZC5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIAogd2Via2l0Lm9yZy9iLzIyNjc4OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnN0b3JhZ2UvZXZlbnRfY2FzZV9zZW5zaXRpdmUuaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMt
YXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVy
aW5nLWV4cGVjdGVkLnR4dAppbmRleCAzMjk0YTBkM2E1MjIwY2YyYWU4ODA0NTJjODE4M2U2MDZj
ZjVjZGM0Li5mNjUxMjc3NzdiMGFlYTYyZTJjYmYxZjllOWM5ZWZiMTYxYTY3ZGJlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91
cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rp
b24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi0KLUZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5k
aWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGFmdGVyIHRoZSBmaXJzdCBhbmltYXRpb24gZnJhbWUg
Y2FsbGJhY2tzLCBhbmQgYmVmb3JlIGEgcmVzaXplIGV2ZW50IGluIHRoZSBuZXh0IGl0ZXJhdGlv
biBvZiB3aW5kb3cgZXZlbnQgbG9vcC4gYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgMCwg
ZXhwZWN0ZWQgImFuaW1hdGlvbkZyYW1lIiBidXQgZ290ICJhdXRvZm9jdXMiCitGQUlMICJGbHVz
aCBhdXRvZm9jdXMgY2FuZGlkYXRlcyIgc2hvdWxkIGJlIGhhcHBlbiBiZWZvcmUgYSBzY3JvbGwg
ZXZlbnQgYW5kIGFuaW1hdGlvbiBmcmFtZSBjYWxsYmFja3MgYXNzZXJ0X2FycmF5X2VxdWFsczog
YXV0b2ZvY3VzLGFuaW1hdGlvbkZyYW1lIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBb
ImF1dG9mb2N1cyIsICJzY3JvbGwiLCAiYW5pbWF0aW9uRnJhbWUiXSBsZW5ndGggMywgZ290IFsi
YXV0b2ZvY3VzIiwgImFuaW1hdGlvbkZyYW1lIl0gbGVuZ3RoIDIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vs
ZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0
ZWQudHh0CmluZGV4IGQyODYyYWIzNTUyNzZlNDkwZDNkZGEyYTk2YjM1MGQ5NmE1ZmFlMDkuLjlh
ZDY4ZDZmNDE0MTgzNDkzMDIyYmIzNTU2YjY2NzA0NTg0MGRhYTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVj
dGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTksNCArOSw0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYyNQogICAg
ICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE1NXgyMiBbYmdjb2xv
cj0jRkZGRkZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMzQzNDNDM5OSldCiBsYXllciBhdCAoOSw2
MDUpIHNpemUgMTQxeDE0CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2LDMpIHNpemUgMTQzeDE1
Ci1jYXJldDogcG9zaXRpb24gMSBvZiBib2R5CitjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAw
IHtESVZ9IG9mIHsjZG9jdW1lbnQtZnJhZ21lbnR9IG9mIGNoaWxkIDIge0lOUFVUfSBvZiBjaGls
ZCAwIHtIVE1MfSBvZiBkb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1
dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmZDQ5MTUxYjY2MjM4Mjc5NTNmMzhkZjIxNjYzYTNhMmEzMWRiNGE1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5n
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotCi0KLUZBSUwgIkZs
dXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGFmdGVyIHRoZSBmaXJz
dCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzLCBhbmQgYmVmb3JlIGEgcmVzaXplIGV2ZW50IGlu
IHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZlbnQgbG9vcC4gYXNzZXJ0X2FycmF5X2Vx
dWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDMgZ290IDIKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440644</attachid>
            <date>2021-10-08 10:50:30 -0700</date>
            <delta_ts>2021-10-11 08:08:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211008195028.patch</filename>
            <type>text/plain</type>
            <size>47091</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM1ZmY2M2Y0MDk3ZmUw
OTczYjI0NTE0NDIwNWQ1OGZlOTE1NjI1YS4uZWI4M2EyYzFhMjE0MTEzMGZlNzc2OTYyNjk5NmNm
MDg0MWQwOTA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIFRoZSBuZXcgYXV0b2ZvY3VzIGJl
aGF2aW9yIHF1ZXVlcyB1cCBhbGwgYXV0b2ZvY3VzYWJsZSBlbGVtZW50cyAodmlzaWJsZSBvciBu
b3QpLCB0aGVuCisgICAgICAgIGZpcmVzIGF1dG9mb2N1cyBhc3luY2hyb25vdXNseSBkdXJpbmcg
dGhlICJ1cGRhdGUgcmVuZGVyaW5nIiBzdGVwcywgdW5saWtlIHRoZSBvbGQgYmVoYXZpb3IKKyAg
ICAgICAgd2hpY2ggcnVucyBmb2N1cyBzeW5jaHJvbm91c2x5IHdoZW5ldmVyIGl0IGZpbmRzIGEg
dmlzaWJsZSBhdXRvZm9jdXNhYmxlIGVsZW1lbnQuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2gg
YnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjphcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6Y29tbW9uVGVhcmRvd24pOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzQXV0b2ZvY3VzUHJvY2Vzc2VkIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRBdXRvZm9jdXNQcm9jZXNzZWQp
OgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRy
b2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cyk6
CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpoYXNBdXRvZm9jdXNlZCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXRBdXRvZm9j
dXNlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OnVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisKIDIw
MjEtMTAtMDggIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIE1h
a2UgV1RGOjpJdGVyYXRvclJhbmdlIHJldmVyc2libGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IDU5ZjllOGQ5OGM0NTFkOWQ2OTFlNzcwMDllNjY1OWRkZDk2OWJhYzEuLjJiYjZkYWRjODlm
ODc2MjZkYWZjYWFkMGM1ZGQ0YjAzOGFlODE3ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtODcyLDYgKzg3Miw3IEBAIHZvaWQgRG9jdW1lbnQ6OmNvbW1vblRlYXJkb3duKCkKIAogICAg
IG1fdGltZWxpbmUgPSBudWxscHRyOwogICAgIG1fYXNzb2NpYXRlZEZvcm1Db250cm9scy5jbGVh
cigpOworICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5jbGVhcigpOwogICAgIG1fZGlkQXNzb2Np
YXRlRm9ybUNvbnRyb2xzVGltZXIuc3RvcCgpOwogfQogCkBAIC00NDcwLDYgKzQ0NzEsMzYgQEAg
dm9pZCBEb2N1bWVudDo6YWRqdXN0Rm9jdXNlZE5vZGVPbk5vZGVSZW1vdmFsKE5vZGUmIG5vZGUs
IE5vZGVSZW1vdmFsIG5vZGVSZW1vdmEKICAgICB9CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OmFwcGVu
ZEF1dG9mb2N1c0NhbmRpZGF0ZShFbGVtZW50JiBjYW5kaWRhdGUpCit7CisgICAgQVNTRVJUKGlz
VG9wRG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKCFtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkKTsKKyAg
ICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuYXBwZW5kT3JNb3ZlVG9MYXN0KGNhbmRpZGF0ZSk7Cit9
CisKK3ZvaWQgRG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpCit7CisgICAgQVNT
RVJUKGlzVG9wRG9jdW1lbnQoKSk7CisgICAgaWYgKG1faXNBdXRvZm9jdXNQcm9jZXNzZWQpCisg
ICAgICAgIHJldHVybjsKKworICAgIHdoaWxlICghbV9hdXRvZm9jdXNDYW5kaWRhdGVzLmlzRW1w
dHkoKSkgeworICAgICAgICBhdXRvIGVsZW1lbnQgPSBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMudGFr
ZUZpcnN0KCk7CisgICAgICAgIGlmICghZWxlbWVudC0+ZG9jdW1lbnQoKS5pc0Z1bGx5QWN0aXZl
KCkgfHwgJmVsZW1lbnQtPmRvY3VtZW50KCkudG9wRG9jdW1lbnQoKSAhPSB0aGlzKQorICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIGlmIChhdXRvKiBwYXJzZXIgPSBzY3JpcHRhYmxlRG9j
dW1lbnRQYXJzZXIoKTsgcGFyc2VyICYmIHBhcnNlci0+aGFzU2NyaXB0c1dhaXRpbmdGb3JTdHls
ZXNoZWV0cygpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIC8vIEZJWE1FOiBOZWVkIHRv
IGlnbm9yZSBpZiB0aGUgaW5jbHVzaXZlIGFuY2VzdG9yIGRvY3VtZW50cyBoYXMgYSB0YXJnZXQg
ZWxlbWVudC4KKyAgICAgICAgLy8gRklYTUU6IFVzZSB0aGUgcmVzdWx0IG9mIGdldHRpbmcgdGhl
IGZvY3VzYWJsZSBhcmVhIGZvciBlbGVtZW50IGlmIGVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZS4K
KyAgICAgICAgaWYgKGVsZW1lbnQtPmlzRm9jdXNhYmxlKCkpIHsKKyAgICAgICAgICAgIG1fYXV0
b2ZvY3VzQ2FuZGlkYXRlcy5jbGVhcigpOworICAgICAgICAgICAgc2V0QXV0b2ZvY3VzUHJvY2Vz
c2VkKCk7CisgICAgICAgICAgICBlbGVtZW50LT5ydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3Vz
KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9CisKIHZvaWQgRG9j
dW1lbnQ6OmhvdmVyZWRFbGVtZW50RGlkRGV0YWNoKEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAg
aWYgKCFtX2hvdmVyZWRFbGVtZW50IHx8ICZlbGVtZW50ICE9IG1faG92ZXJlZEVsZW1lbnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCmluZGV4IDM4NmUzNzgyODA4OGYzZmQxZWE3YmZjODA2ODJlOTVhODUw
ODkwMDYuLmE5N2NhODYyNTI4ODFhMGNkZmNmNzdjYzhiNTJkYjcwMzNiNDE3MGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCkBAIC03ODgsNiArNzg4LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGFkanVz
dEZvY3VzZWROb2RlT25Ob2RlUmVtb3ZhbChOb2RlJiwgTm9kZVJlbW92YWwgPSBOb2RlUmVtb3Zh
bDo6Tm9kZSk7CiAgICAgdm9pZCBhZGp1c3RGb2N1c05hdmlnYXRpb25Ob2RlT25Ob2RlUmVtb3Zh
bChOb2RlJiwgTm9kZVJlbW92YWwgPSBOb2RlUmVtb3ZhbDo6Tm9kZSk7CiAKKyAgICBib29sIGlz
QXV0b2ZvY3VzUHJvY2Vzc2VkKCkgY29uc3QgeyByZXR1cm4gbV9pc0F1dG9mb2N1c1Byb2Nlc3Nl
ZDsgfQorICAgIHZvaWQgc2V0QXV0b2ZvY3VzUHJvY2Vzc2VkKCkgeyBtX2lzQXV0b2ZvY3VzUHJv
Y2Vzc2VkID0gdHJ1ZTsgfQorICAgIHZvaWQgYXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKEVsZW1l
bnQmKTsKKyAgICB2b2lkIGZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpOworCiAgICAgdm9pZCBo
b3ZlcmVkRWxlbWVudERpZERldGFjaChFbGVtZW50Jik7CiAgICAgdm9pZCBlbGVtZW50SW5BY3Rp
dmVDaGFpbkRpZERldGFjaChFbGVtZW50Jik7CiAKQEAgLTE4MDEsNiArMTgwNiw4IEBAIHByaXZh
dGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPERPTUltcGxlbWVudGF0aW9uPiBtX2ltcGxlbWVudGF0
aW9uOwogCiAgICAgUmVmUHRyPE5vZGU+IG1fZm9jdXNOYXZpZ2F0aW9uU3RhcnRpbmdOb2RlOwor
ICAgIExpc3RIYXNoU2V0PFJlZjxFbGVtZW50Pj4gbV9hdXRvZm9jdXNDYW5kaWRhdGVzOworICAg
IGJvb2wgbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCB7IGZhbHNlIH07CiAgICAgUmVmUHRyPEVsZW1l
bnQ+IG1fZm9jdXNlZEVsZW1lbnQ7CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG1faG92ZXJlZEVsZW1l
bnQ7CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG1fYWN0aXZlRWxlbWVudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAppbmRleCBjNmU2Y2U4NzcwYjFkYTVkYzQwMDc1ZGEyMTdmODkyOTUxMzMzMzg2Li5kMjE4
Y2QwYmU3ODM0MDgwMTE0NzZjMzBhYzlkNDRkN2Q5N2IyNTM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCkBAIC0zMTc1LDYgKzMxNzUsMTEgQEAgdm9pZCBFbGVtZW50OjpibHVyKCkKICAgICB9CiB9
CiAKK3ZvaWQgRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpCit7CisgICAg
Zm9jdXMoKTsKK30KKwogdm9pZCBFbGVtZW50OjpkaXNwYXRjaEZvY3VzSW5FdmVudChjb25zdCBB
dG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFbGVtZW50PiYmIG9sZEZvY3VzZWRFbGVtZW50
KQogewogICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oU2NyaXB0
RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQ6OmlzU2NyaXB0QWxsb3dlZCgpIHx8ICFpc0lu
V2ViUHJvY2VzcygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDQ2N2EzNTVjYTEzODczZmY1ODBi
M2MxNTBhMjIxY2E4MDJlY2E3NTQuLmIwZjg2YzhmMWE4MTkyMGZjMGRlNjY5OGVmNmI0Njg0YTBh
ZWQ1MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDA2LDYgKzQwNiw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFJlZlB0cjxFbGVtZW50PiBmb2N1c0FwcGVhcmFuY2VVcGRhdGVUYXJnZXQoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlKFNlbGVjdGlvblJlc3RvcmF0
aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVh
bCk7CiAgICAgdmlydHVhbCB2b2lkIGJsdXIoKTsKKyAgICB2aXJ0dWFsIHZvaWQgcnVuRm9jdXNp
bmdTdGVwc0ZvckF1dG9mb2N1cygpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGlubmVy
SFRNTCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBvdXRlckhUTUwoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmlu
ZGV4IDliMjY5NzZhNjAzNGE4MDVmZjA5ZGE2NDRmNTZjMTFlZDlmZGExYmMuLjA5MzdhZDY5MTky
MGZlODVkMmVlMzU3N2YyYTRkM2U4M2Y2MTczZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtNzIsNyArNzIsNiBAQCBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvYwogICAgICwgbV93aWxsVmFsaWRhdGUodHJ1ZSkKICAgICAsIG1faXNWYWxp
ZCh0cnVlKQogICAgICwgbV93YXNDaGFuZ2VkU2luY2VMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVu
dChmYWxzZSkKLSAgICAsIG1faGFzQXV0b2ZvY3VzZWQoZmFsc2UpCiB7CiAgICAgc2V0SGFzQ3Vz
dG9tU3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CkBAIC0yMDMsMTMgKzIwMiwxMSBAQCB2b2lk
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlcXVpcmVkU3RhdGVDaGFuZ2VkKCkKIAogc3RhdGlj
IGJvb2wgc2hvdWxkQXV0b2ZvY3VzKGNvbnN0IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQmIGVsZW1l
bnQpCiB7Ci0gICAgaWYgKCFlbGVtZW50LnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICBpZiAoIWVsZW1lbnQuaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihh
dXRvZm9jdXNBdHRyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYXV0byYgZG9jdW1l
bnQgPSBlbGVtZW50LmRvY3VtZW50KCk7Ci0gICAgaWYgKCFlbGVtZW50LmlzQ29ubmVjdGVkKCkg
fHwgIWRvY3VtZW50LnJlbmRlclZpZXcoKSkKKyAgICBpZiAoIWVsZW1lbnQuaXNDb25uZWN0ZWQo
KSB8fCAhZG9jdW1lbnQuaGFzQnJvd3NpbmdDb250ZXh0KCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICBpZiAoZG9jdW1lbnQuaXNTYW5kYm94ZWQoU2FuZGJveEF1dG9tYXRpY0ZlYXR1cmVz
KSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYg
dGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgpAQCAtMjIxLDExICsyMTgsMTAgQEAgc3RhdGlj
IGJvb2wgc2hvdWxkQXV0b2ZvY3VzKGNvbnN0IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQmIGVsZW1l
bnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAoZWxlbWVudC5oYXNB
dXRvZm9jdXNlZCgpKQorICAgIGlmIChkb2N1bWVudC50b3BEb2N1bWVudCgpLmlzQXV0b2ZvY3Vz
UHJvY2Vzc2VkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIC8vIEZJWE1FOiBTaG91
bGQgdGhpcyBzZXQgb2YgaGFzVGFnTmFtZSBjaGVja3MgYmUgcmVwbGFjZWQgYnkgYQotICAgIC8v
IHZpcnR1YWwgbWVtYmVyIGZ1bmN0aW9uPworICAgIC8vIEZJWE1FOiBhdXRvZm9jdXMgaXMgYSBn
bG9iYWwgYXR0cmlidXRlLgogICAgIGlmIChpczxIVE1MSW5wdXRFbGVtZW50PihlbGVtZW50KSkK
ICAgICAgICAgcmV0dXJuICFkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PihlbGVtZW50KS5pc0lu
cHV0VHlwZUhpZGRlbigpOwogICAgIGlmIChlbGVtZW50Lmhhc1RhZ05hbWUoc2VsZWN0VGFnKSkK
QEAgLTI0NywyMiArMjQzLDYgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaWRBdHRh
Y2hSZW5kZXJlcnMoKQogICAgIC8vIG9uIHRoZSByZW5kZXJlci4KICAgICBpZiAocmVuZGVyZXIo
KSkKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKLQotICAgIGlmIChz
aG91bGRBdXRvZm9jdXMoKnRoaXMpKSB7Ci0gICAgICAgIHNldEF1dG9mb2N1c2VkKCk7Ci0KLSAg
ICAgICAgUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+IGVsZW1lbnQgPSB0aGlzOwotICAg
ICAgICBSZWZQdHIgZnJhbWVWaWV3ID0gZG9jdW1lbnQoKS52aWV3KCk7Ci0gICAgICAgIGlmIChm
cmFtZVZpZXcgJiYgZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0KCkuaXNJbkxheW91dCgpKSB7Ci0g
ICAgICAgICAgICBmcmFtZVZpZXctPnF1ZXVlUG9zdExheW91dENhbGxiYWNrKFtlbGVtZW50XSB7
Ci0gICAgICAgICAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1v
ZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICBTdHlsZTo6ZGVwcmVjYXRlZFF1ZXVlUG9zdFJlc29sdXRpb25DYWxs
YmFjayhbZWxlbWVudF0gewotICAgICAgICAgICAgICAgIGVsZW1lbnQtPmZvY3VzKHsgU2VsZWN0
aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFydCB9KTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICB9Ci0gICAgfQogfQogCiB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRp
ZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50JiBvbGREb2N1bWVudCwgRG9jdW1lbnQmIG5ld0Rv
Y3VtZW50KQpAQCAtMzAxLDYgKzI4MSwxMCBAQCBOb2RlOjpJbnNlcnRlZEludG9BbmNlc3RvclJl
c3VsdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihJbgogICAg
ICAgICBzZXRBbmNlc3RvckRpc2FibGVkKGNvbXB1dGVJc0Rpc2FibGVkQnlGaWVsZHNldEFuY2Vz
dG9yKCkpOwogICAgIEhUTUxFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25U
eXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7CiAgICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojpp
bnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7
CisKKyAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKCp0aGlzKSkKKyAgICAgICAgZG9jdW1lbnQoKS50
b3BEb2N1bWVudCgpLmFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZSgqdGhpcyk7CisKICAgICByZXR1
cm4gSW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQ6Ok5lZWRzUG9zdEluc2VydGlvbkNhbGxiYWNr
OwogfQogCkBAIC0zOTYsNiArMzgwLDExIEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6
aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0CiAjZW5kaWYKIH0KIAordm9pZCBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCkKK3sKKyAgICBmb2N1cyh7
IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7Cit9CisKIGJv
b2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6bWF0Y2hlc1ZhbGlkUHNldWRvQ2xhc3MoKSBjb25z
dAogewogICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVt
ZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmlu
ZGV4IDI1ZTM0NTAwZWFhYTYwYWNmZjk5NTRjNGZhYmUzNTc1NDVmZTI5MTUuLjljYmFiMTlkN2U0
OWNlMjJiYzc1M2UwYzdkZjZhZTZlODJlZWU4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xMTYsOSArMTE2LDYgQEAgcHVibGljOgogICAg
IGJvb2wgaXNSZWFkT25seSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZWFkT25seTsgfQogICAgIGJv
b2wgaXNEaXNhYmxlZE9yUmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBpc0Rpc2FibGVkRm9ybUNv
bnRyb2woKSB8fCBtX2lzUmVhZE9ubHk7IH0KIAotICAgIGJvb2wgaGFzQXV0b2ZvY3VzZWQoKSBj
b25zdCB7IHJldHVybiBtX2hhc0F1dG9mb2N1c2VkOyB9Ci0gICAgdm9pZCBzZXRBdXRvZm9jdXNl
ZCgpIHsgbV9oYXNBdXRvZm9jdXNlZCA9IHRydWU7IH0KLQogICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBhdXRvY29tcGxldGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEF1
dG9jb21wbGV0ZShjb25zdCBTdHJpbmcmKTsKIApAQCAtMTcwLDYgKzE2Nyw4IEBAIHByaXZhdGU6
CiAgICAgdm9pZCByZWZGb3JtQXNzb2NpYXRlZEVsZW1lbnQoKSBvdmVycmlkZSB7IHJlZigpOyB9
CiAgICAgdm9pZCBkZXJlZkZvcm1Bc3NvY2lhdGVkRWxlbWVudCgpIG92ZXJyaWRlIHsgZGVyZWYo
KTsgfQogCisgICAgdm9pZCBydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCkgZmluYWw7CisK
ICAgICBib29sIG1hdGNoZXNWYWxpZFBzZXVkb0NsYXNzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
Ym9vbCBtYXRjaGVzSW52YWxpZFBzZXVkb0NsYXNzKCkgY29uc3Qgb3ZlcnJpZGU7CiAKQEAgLTIx
NSw4ICsyMTQsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faXNWYWxpZCA6IDE7CiAKICAg
ICB1bnNpZ25lZCBtX3dhc0NoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50IDog
MTsKLQotICAgIHVuc2lnbmVkIG1faGFzQXV0b2ZvY3VzZWQgOiAxOwogfTsKIAogY2xhc3MgRGVs
YXllZFVwZGF0ZVZhbGlkaXR5U2NvcGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggODg1MzNiM2Qy
YjM3MTgyZTE2MDUyZmVkMTI5MzY4YTQ2ZTQyMjlhZi4uZDdiYmM0Y2JkNjgwMzc1YzRlYTk4NWUy
NmU3YWJkY2JiMGM2ZTBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xNTYwLDcgKzE1NjAsMTAg
QEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5kZXJpbmcoKQogICAgICAgICBmb3JFYWNoRG9jdW1lbnQo
cGVyRG9jdW1lbnRGdW5jdGlvbik7CiAgICAgfTsKIAotICAgIC8vIEZJWE1FOiBGbHVzaCBhdXRv
Zm9jdXMgY2FuZGlkYXRlcy4KKyAgICBydW5Qcm9jZXNzaW5nU3RlcChSZW5kZXJpbmdVcGRhdGVT
dGVwOjpGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMsIFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsK
KyAgICAgICAgaWYgKGRvY3VtZW50LmlzVG9wRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpOworICAgIH0pOwogCiAgICAgcnVuUHJvY2Vz
c2luZ1N0ZXAoUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVzaXplLCBbXSAoRG9jdW1lbnQmIGRvY3Vt
ZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnJ1blJlc2l6ZVN0ZXBzKCk7CkBAIC0zNjA1LDYgKzM2
MDgsNyBAQCBTcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb24mIFBhZ2U6OnNwZWVjaFJlY29nbml0
aW9uQ29ubmVjdGlvbigpCiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3Ry
ZWFtJiB0cywgUmVuZGVyaW5nVXBkYXRlU3RlcCBzdGVwKQogewogICAgIHN3aXRjaCAoc3RlcCkg
eworICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVz
OiB0cyA8PCAiRmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzIjsgYnJlYWs7CiAgICAgY2FzZSBSZW5k
ZXJpbmdVcGRhdGVTdGVwOjpSZXNpemU6IHRzIDw8ICJSZXNpemUiOyBicmVhazsKICAgICBjYXNl
IFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlNjcm9sbDogdHMgPDwgIlNjcm9sbCI7IGJyZWFrOwogICAg
IGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6TWVkaWFRdWVyeUV2YWx1YXRpb246IHRzIDw8ICJN
ZWRpYVF1ZXJ5RXZhbHVhdGlvbiI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5NGY4YjhkYTky
MDY5NjM3ODhjNTE2MTY1M2U1MDVjY2MwMDUzODM5Li5iNTNmNjhlNjMwZTMyMmU5NzQ0YTRiZmJj
OTA3YjllZWFlMmU1MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjA4LDkgKzIwOCwxMSBAQCBlbnVt
IGNsYXNzIFJlbmRlcmluZ1VwZGF0ZVN0ZXAgOiB1aW50MTZfdCB7CiAjaWYgRU5BQkxFKEFTWU5D
X1NDUk9MTElORykKICAgICBTY3JvbGxpbmdUcmVlVXBkYXRlICAgICAgICAgICAgID0gMSA8PCAx
MywKICNlbmRpZgorICAgIEZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyAgICAgICAgPSAxIDw8IDE0
LAogfTsKIAogY29uc3RleHByIE9wdGlvblNldDxSZW5kZXJpbmdVcGRhdGVTdGVwPiB1cGRhdGVS
ZW5kZXJpbmdTdGVwcyA9IHsKKyAgICBSZW5kZXJpbmdVcGRhdGVTdGVwOjpGbHVzaEF1dG9mb2N1
c0NhbmRpZGF0ZXMsCiAgICAgUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVzaXplLAogICAgIFJlbmRl
cmluZ1VwZGF0ZVN0ZXA6OlNjcm9sbCwKICAgICBSZW5kZXJpbmdVcGRhdGVTdGVwOjpNZWRpYVF1
ZXJ5RXZhbHVhdGlvbiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZWUwZmE3NzZjM2ExMWQwNWU4OTAyZTdlZjZjODQzMTdj
ZjdkODgxLi5jZjdhMDZjNThiYmU3MzdhM2M0NGIzYjcyNWFmZWUyNDM0MzVhNDI5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDMgQEAKKzIwMjEtMTAtMDUgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4K
KworICAgICAgICBJbXBsZW1lbnQgbmV3IGF1dG9mb2N1cyBiZWhhdmlvcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTM5CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NjM5NzAxOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIFdlYktpdCBtYXRjaCB0aGUgbmV3IGF1dG9mb2N1cyBzcGVjOgor
ICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2ludGVyYWN0
aW9uLmh0bWwjdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUKKyAgICAgICAgLSBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI2ZvY3VzaW5nLXN0ZXBz
CisKKyAgICAgICAgVGhlIG5ldyBhdXRvZm9jdXMgYmVoYXZpb3IgcXVldWVzIHVwIGFsbCBhdXRv
Zm9jdXNhYmxlIGVsZW1lbnRzICh2aXNpYmxlIG9yIG5vdCksIHRoZW4KKyAgICAgICAgZmlyZXMg
YXV0b2ZvY3VzIGFzeW5jaHJvbm91c2x5IGR1cmluZyB0aGUgInVwZGF0ZSByZW5kZXJpbmciIHN0
ZXBzLCB1bmxpa2UgdGhlIG9sZCBiZWhhdmlvcgorICAgICAgICB3aGljaCBydW5zIGZvY3VzIHN5
bmNocm9ub3VzbHkgd2hlbmV2ZXIgaXQgZmluZHMgYSB2aXNpYmxlIGF1dG9mb2N1c2FibGUgZWxl
bWVudC4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAg
ICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
c2Nyb2xsLWlnbm9yZS1udWxsLWZyYW1lLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vYWRvcHQt
bm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9hZG9wdC1ub2Rl
LWNyYXNoLTIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS93aW5kb3ctaW5uZXItd2lkdGgtY3Jh
c2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgt
YWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9j
dXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1
cy1vcGVyYS0wMDEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0w
MDIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi1jcmFzaC0zLmh0bWw6CisgICAgICAgICogZmFzdC9m
cmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sOgor
ICAgICAgICAqIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1y
ZXN0b3JlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25z
OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0
ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1h
bGwtbW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQu
dHh0OgorCiAyMDIxLTEwLTA4ICBBeXVtaSBLb2ppbWEgIDxheXVtaV9rb2ppbWFAYXBwbGUuY29t
PgogCiAgICAgICAgIFsgaU9TIDE1IF0gUmViYXNlbGluaW5nIHBsYXRmb3JtL2lvcy9pb3MvZmFz
dC90ZXh0L29wdGljYWxGb250V2l0aFdlaWdodC5odG1sLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggZWQzODNiOTEyMmUyZmE5OTMwMjg5ZDQyYWY5ZjVjMmRhZDdhNzkwNC4uNDIx
MzkxOGFlZjJjNjBmMmM0ZjBhNWJlNGE1MTgzODUxODIzZjc0YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjEtMTAtMDUgIFRpbSBOZ3V5ZW4gIDxu
dGltQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgbmV3IGF1dG9mb2N1cyBiZWhhdmlv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTM5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjM5NzAxOT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFdlYktpdCBtYXRjaCB0aGUgbmV3IGF1
dG9mb2N1cyBzcGVjOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUKKyAgICAgICAg
LSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1s
I2ZvY3VzaW5nLXN0ZXBzCisKKyAgICAgICAgVGhlIG5ldyBhdXRvZm9jdXMgYmVoYXZpb3IgcXVl
dWVzIHVwIGFsbCBhdXRvZm9jdXNhYmxlIGVsZW1lbnRzICh2aXNpYmxlIG9yIG5vdCksIHRoZW4K
KyAgICAgICAgZmlyZXMgYXV0b2ZvY3VzIGFzeW5jaHJvbm91c2x5IGR1cmluZyB0aGUgInVwZGF0
ZSByZW5kZXJpbmciIHN0ZXBzLCB1bmxpa2UgdGhlIG9sZCBiZWhhdmlvcgorICAgICAgICB3aGlj
aCBydW5zIGZvY3VzIHN5bmNocm9ub3VzbHkgd2hlbmV2ZXIgaXQgZmluZHMgYSB2aXNpYmxlIGF1
dG9mb2N1c2FibGUgZWxlbWVudC4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBSeW9zdWtl
IE5pd2EuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9m
b2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFj
dGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50
LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13
aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxl
Y3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBFeHBlY3RlZCBjaGFuZ2Ugc2lu
Y2UgaW5wdXQgYXV0b2ZvY3VzIG5vdyBwbGFjZXMgY2FyZXQgYXQgc3RhcnQKKwogMjAyMS0xMC0w
OCAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlLXN5bmMgdGhlLWRp
YWxvZy1lbGVtZW50IGFuZCBpbmVydCBXUFQgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggZTkyYmM0ZjI1YWQwZTk4YmQxMDIyMWU0NzM0YjdhYzE3NmI2NTk1MC4uZjI0YTNhMDBi
YTM5ZWIxN2NkM2Q4OWI3NjVmMWIwN2JhNGJlMmI0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC04
MDQsNyArODA0LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dz
ZXJzL2hpc3RvcnkvdGhlLWhpc3RvcnktaW50ZXJmYWNlLzAwMi4KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1oaXN0b3J5LWludGVyZmFj
ZS9jb21iaW5hdGlvbl9oaXN0b3J5XzAwMi5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1oaXN0b3J5
LWludGVyZmFjZS9jb21iaW5hdGlvbl9oaXN0b3J5XzAwMy5odG1sIFsgRmFpbHVyZSBQYXNzIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5n
LTEvdGhlLXNjcmlwdC1lbGVtZW50L2V4ZWN1dGlvbi10aW1pbmcvMDU4Lmh0bWwgWyBGYWlsdXJl
IFBhc3MgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLmh0bWwg
WyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Jl
bmRlcmluZy93aWRnZXRzL2Jhc2VsaW5lLWFsaWdubWVudC1hbmQtb3ZlcmZsb3cudGVudGF0aXZl
Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2xvYWRpbmctdGhl
LW1lZGlhLXJlc291cmNlL3Jlc291cmNlLXNlbGVjdGlvbi1wb2ludGVyLXJlbW92ZS1zb3VyY2Uu
aHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWlmcmFtZS1lbGVtZW50L2Nyb3NzLW9y
aWdpbi10by13aG9tLndpbmRvdy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxsLWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXNjcm9sbC1pZ25vcmUt
bnVsbC1mcmFtZS5odG1sCmluZGV4IGY2YTYxZjFhM2ZkZjY4MDZhODc1YjUxOWVjZWQzODc1YjM5
OGNmMjIuLmM3MTRjZDQwMTNlYWIwNTRlNzM3MjBiZTZmM2JjM2Q2ZGRkZjE0M2MgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxs
LWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1zY3Jv
bGwtaWdub3JlLW51bGwtZnJhbWUuaHRtbApAQCAtMiwxNCArMiwyMCBAQAogPHNjcmlwdD4KIAog
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CiAKICAgICBzZWxlY3Qx
LmFwcGVuZENoaWxkKGlucHV0UGFyZW50KTsKICAgICBpbnB1dDEuYXV0b2ZvY3VzID0gdHJ1ZTsK
ICAgICBpbnB1dDEuc2V0U2VsZWN0aW9uUmFuZ2UoMSwgMCk7CiAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChpbnB1dDEpOwotICAgIGZyYW1lMS5jb250ZW50V2luZG93LnNjcm9sbEJ5KHts
ZWZ0OiAxLCB0b3A6IDB9KTsKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAg
ICAgICBmcmFtZTEuY29udGVudFdpbmRvdy5zY3JvbGxCeSh7bGVmdDogMSwgdG9wOiAwfSk7Cisg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworICAgIH0pOwogfQogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0CmluZGV4IGVjOTgxZWFj
MWFkYmZiNGJkZGZiY2FiZGUzNWM0MTdjYTYxMzEwOTguLmJmMTViYTdiZTIzOGE5MTRiNGQzMmJi
OTMyMGFmYjUyYThjYjJkODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0
LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRv
cHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDQgQEAKLVRlc3RzIGZvciBh
IGNyYXNoIGR1ZSB0byBhZG9wdGluZyBhIERPTSBub2RlIGR1cmluZyBET01Gb2N1c091dCBldmVu
dC4gVGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4KK1Rlc3RzIGZvciBhIGNyYXNoIGR1
ZSB0byBhZG9wdGluZyBhIERPTSBub2RlIHdoZW4gdW5mb2N1c2luZy4gVGVzdCBwYXNzZXMgaWYg
aXQgZG9lc24ndCBjcmFzaC4KIAorUEFTUzogRm9jdXNlZCBub2RlIHNob3VsZCBiZSBrZXlnZW4K
K1BBU1M6IEZvY3VzZWQgbm9kZSBzaG91bGQgbm8gbG9uZ2VyIGJlIGtleWdlbgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbAppbmRleCBmNjhkMDE3YmIzMDdm
ZDIyYWE2Mzg4MDRjYmQ2NzZmMzQwM2JhOTY2Li5mYWVlMTZjMjdjY2ExOGE4NWU3NjE5ZGU0ZGMy
NDlmZmRkNjQ4YjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2Rl
LWNyYXNoLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNo
LTIuaHRtbApAQCAtMSw2ICsxLDYgQEAKIDwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgS2V5Z2VuRWxlbWVudEVuYWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+Ci08ZGl2PlRl
c3RzIGZvciBhIGNyYXNoIGR1ZSB0byBhZG9wdGluZyBhIERPTSBub2RlIGR1cmluZyBET01Gb2N1
c091dCBldmVudC4gVGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC48L2Rpdj4KKzxkaXY+
VGVzdHMgZm9yIGEgY3Jhc2ggZHVlIHRvIGFkb3B0aW5nIGEgRE9NIG5vZGUgd2hlbiB1bmZvY3Vz
aW5nLiBUZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLjwvZGl2PgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwpAQCAt
MTQsMjkgKzE0LDMyIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIDwvaWZyYW1lPgog
ICA8L2FwcGxldD4KICAgPGhlYWRlciBpZD0iaGVhZGVyMSI+Ci0gICAgPGtleWdlbiBhdXRvZm9j
dXM+CisgICAgPGtleWdlbiBpZD0ia2V5Z2VuIiBhdXRvZm9jdXM+CiAgIDwvaGVhZGVyPgogPC9k
aXY+Cis8ZGl2IGlkPSJsb2dzIj48L2Rpdj4KIDxzY3JpcHQ+Ci1mdW5jdGlvbiBkb2l0KCkKLXsK
LSAgICBkaXYyLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUZvY3VzT3V0IiwgZnVuY3Rpb24gKCkgewot
ICAgICAgICBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVudCgiIiwgIiIsIG51
bGwpLmFkb3B0Tm9kZShkaXYyKTsKLSAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgICAgICAgICBpbnRlcm5hbHMudXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91dFRhc2tzKCk7
Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0sIDApOwotICAgIH0sIGZhbHNlKTsKLSAg
ICBkaXYxLm91dGVySFRNTCA9IGhlYWRlcjEub3V0ZXJIVE1MOworZnVuY3Rpb24gYXNzZXJ0X3Ry
dWUoYXNzZXJ0LCB0ZXh0KSB7CisgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgICAgaWYgKGFzc2VydCkKKyAgICAgICAgZGl2LnRleHRDb250ZW50ID0gIlBB
U1M6ICIgKyB0ZXh0OworICAgIGVsc2UKKyAgICAgICAgZGl2LnRleHRDb250ZW50ID0gIkZBSUw6
ICIgKyB0ZXh0OworICAgIGxvZ3MuYXBwZW5kKGRpdik7CiB9Ci13aW5kb3cub25sb2FkID0gZnVu
Y3Rpb24oKSB7CisKK2Z1bmN0aW9uIGRvaXQoKSB7CisgICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQu
YWN0aXZlRWxlbWVudCA9PSBrZXlnZW4sICJGb2N1c2VkIG5vZGUgc2hvdWxkIGJlIGtleWdlbiIp
OworICAgIGRpdjEub3V0ZXJIVE1MID0gaGVhZGVyMS5vdXRlckhUTUw7CisgICAgYXNzZXJ0X3Ry
dWUoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPSBrZXlnZW4sICJGb2N1c2VkIG5vZGUgc2hvdWxk
IG5vIGxvbmdlciBiZSBrZXlnZW4iKTsKKyAgICBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVh
dGVEb2N1bWVudCgiIiwgIiIsIG51bGwpLmFkb3B0Tm9kZShkaXYyKTsKICAgICBpZiAod2luZG93
LmludGVybmFscykKICAgICAgICAgaW50ZXJuYWxzLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcygpOwotICAgIGVsc2UKLSAgICAgICAgZGl2
Mi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICBzZXRUaW1lb3V0KCJkb2l0KCkiLCAxKTsK
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwogfQord2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHJlcXVlc3RBbmltYXRp
b25GcmFtZShkb2l0KTsKK307CiA8L3NjcmlwdD4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1pbm5lci13aWR0aC1jcmFzaC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vd2luZG93LWlubmVyLXdpZHRoLWNyYXNoLmh0bWwKaW5kZXggYmM3NWQzZjM3
MjJmMTY0ZGIxNjEwZTVmMWFjMGNmNzlkYmZmMDIyNy4uOTM5MzVmMDU3OGU3YjI4M2MzYzhmYTM5
MzllM2UzNmFjZWVjMTIzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93
LWlubmVyLXdpZHRoLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93
LWlubmVyLXdpZHRoLWNyYXNoLmh0bWwKQEAgLTYsOCArNiw4IEBAIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogZnVuY3Rpb24gcnVuVGVzdCgp
IHsKLSAgICBidXR0b24uYXV0b2ZvY3VzID0gdHJ1ZTsKICAgICBib2R5LmFwcGVuZENoaWxkKHBh
cmFncmFwaCk7CisgICAgYnV0dG9uLmZvY3VzKCk7CiAgICAgdmFyIHRlc3RWYWwgPSB3aW5kb3db
MF0uaW5uZXJXaWR0aDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9h
dXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlw
dHMtZXhwZWN0ZWQudHh0CmluZGV4IGNmODZmYjRjNWVhNjkwM2ViMDhhNzBlMjY0YTAyNzg5YjYy
MDg3OTQuLjUwYWNmYjY3ZGY4OWIwMTUxMTc1N2YyMzkxNWI3MGY0YWZiYzdkOWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxv
dy1zY3JpcHRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKQEAgLTEsMiAr
MSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IElOUFVUCi1UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBh
Y3RpdmVFbGVtZW50IGlzIHRoZSBpbnB1dCBlbGVtZW50IHJhdGhlciB0aGFuIHRoZSBib2R5ICh3
aGljaCBpdCB3b3VsZCBiZSBpZiB0aGUgc2FuZGJveCBkaWRuJ3QgYWxsb3cgYXV0b2ZvY3VzIGFs
dGhvdWdoIGFsbG93LXNjcmlwdHMgZmxhZyBpcyBzZXQpLgorVGhpcyB0ZXN0cyBoYXZpbmcgYW4g
aW5wdXQgZWxlbWVudCB3aXRoIGF1dG9mb2N1cyBjb250ZW50IGF0dHJpYnV0ZSBpbnNpZGUgYSBz
YW5kYm94ZWQgaWZyYW1lLgorVGhlIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGF1dG9mb2N1c2Vk
IHNpbmNlIHNjcmlwdHMgYXJlIGFsbG93ZWQuCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFt
ZTEtLT4nCistLS0tLS0tLQorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0
bWwKaW5kZXggNGYyMjM4NjhmZDdlNmYxODllYzUzZjcyNjJlNzZiZGI5ODY3YmM1YS4uZWMzZTM4
MDEwZmM4NDRhZmIzOTIyMjg4MGUzNGY5M2IxNTk2ZGZkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgt
YWxsb3ctc2NyaXB0cy5odG1sCkBAIC0xLDggKzEsMTkgQEAKIDxzY3JpcHQ+Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworfQog
PC9zY3JpcHQ+Ci1UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBhY3RpdmVFbGVtZW50IGlzIHRoZSBp
bnB1dCBlbGVtZW50IHJhdGhlciB0aGFuIHRoZSBib2R5Ci0od2hpY2ggaXQgd291bGQgYmUgaWYg
dGhlIHNhbmRib3ggZGlkbid0IGFsbG93IGF1dG9mb2N1cyBhbHRob3VnaCBhbGxvdy1zY3JpcHRz
IGZsYWcgaXMgc2V0KS4KLTxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyBhbGxvdy1tb2Rh
bHMiCi0gICAgc3JjPSJkYXRhOnRleHQvaHRtbCw8aW5wdXQgYXV0b2ZvY3VzIG9uZm9jdXM+PHNj
cmlwdD53aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7IGNvbnNvbGUubG9nKGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQudGFnTmFtZSkgfTwvc2NyaXB0PiI+PC9pZnJhbWU+CitUaGlzIHRlc3RzIGhh
dmluZyBhbiBpbnB1dCBlbGVtZW50IHdpdGggYXV0b2ZvY3VzIGNvbnRlbnQgYXR0cmlidXRlIGlu
c2lkZSBhIHNhbmRib3hlZCBpZnJhbWUuPGJyPgorVGhlIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJl
IGF1dG9mb2N1c2VkIHNpbmNlIHNjcmlwdHMgYXJlIGFsbG93ZWQuCis8aWZyYW1lIHNhbmRib3g9
ImFsbG93LXNjcmlwdHMiCisgICAgc3JjPSJkYXRhOnRleHQvaHRtbCw8aW5wdXQgaWQ9aW5wdXQg
YXV0b2ZvY3VzIG9uZm9jdXM+PHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5vbmxvYWQgPSBm
dW5jdGlvbiAoKSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAg
ICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGlu
cHV0ID8gJ1BBU1MnIDogJ0ZBSUwnKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7
CisgICAgfTwvc2NyaXB0PiI+PC9pZnJhbWU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0
b2ZvY3VzLWtleWdlbi5odG1sCmluZGV4IDc3MDcwZThkYjA2YjU0YzliOTBmZTZkMzEwMjY4M2Rh
ODU0YmMwY2MuLjBjNzY1ZGUzMjNhMjNiMDUyNGQzNzBlYzUyYWRiZjVkMDQ2YTI4NWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sCkBAIC02LDkgKzYs
MTEgQEAKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogZnVuY3Rpb24gb25Mb2FkKCkg
ewotICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50JywgJ2RvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoImtleWdlbiIpJyk7Ci0gICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuYXV0b2ZvY3VzJywgJ3RydWUnKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCcsICdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJrZXlnZW4iKScpOworICAgICAgICBz
aG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5hdXRvZm9jdXMnLCAndHJ1ZScpOworICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbAppbmRleCA5
ZDA1ZWRmYmY0NDAwODBlOTRmNGFiNDBmYzMzM2QyZTE0NDMxZTI1Li40OWJiZTljMDViZjM0NzY3
NmRiNGNmOWRhZTRiNWQ3NjM4ODg0YzNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbApAQCAtMTEsMTMgKzExLDE5IEBACiAgICAgfQogCiAg
ICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAg
ICAgIH0KIAotICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKLSAgICAgICAgICAgIGxvZygiU1VDQ0VT
UyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5h
Y3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBd
KQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAg
ICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAyLmh0bWwKaW5kZXggYjUxM2ZjOTc2MjE1MWJlMTNlMDk5
NmY5ZjhmYzE2ZGU0Yzk5ZDI3ZS4uOTNlNDUzZGQ5MmZhOWY3ZGNkZTJlNWQxMDMwNWFkOWE3MWY4
NGFjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEt
MDAyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAy
Lmh0bWwKQEAgLTExLDEzICsxMSwxOSBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CiAKLSAgICAgICAgaWYg
KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
ImlucHV0IilbMF0pCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBs
b2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZB
SUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3Jp
cHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1
cy1vcGVyYS0wMDMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJh
LTAwMy5odG1sCmluZGV4IDQxMjkwYjYxNWZmZWJjZTFlMjAwZDExYjI4YTU1NjAzODU5NWI0Njku
LjVlNWU4YTgwNjcxZTk1YTI5MmNlYmZkNDI5YmIyOTgwNzcwZjUxMjUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sCkBAIC0xMiwxNCArMTIs
MjAgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgfQogCi0gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVt
ZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdICYmCi0gICAg
ICAgICAgICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCAhPSAwKQotICAgICAg
ICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJ
TFVSRSIpOworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAg
ICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImlucHV0IilbMF0gJiYKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5zY3JvbGxpbmdF
bGVtZW50LnNjcm9sbFRvcCAhPSAwKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwKaW5kZXgg
ODQ4ZTYxYTQ3OGEwMjQzZGQyMmQ3MmJhZDE5NTg3Y2E4ZTZiYmQxYy4uZjJkNzlhNGZhZTI2ZGM4
NGI5YzkzYzMyYmJhYmY5OGRhOTUzNjQ2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwKQEAgLTExLDIzICsxMSwzMCBAQAogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
ICAgICB9CisKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAg
ICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0IikpCisgICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0pOwogCi0gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikpCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1Mi
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CiAgICAgfQogPC9z
Y3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CiA8cD5BbGwgZm9ybSBjb250
cm9scyBiZWxvdyBzaG91bGQgaGF2ZSBhIGdyZWVuIGJhY2tncm91bmQ6PC9wPgotPHA+PGlucHV0
IGF1dG9mb2N1cz4KKzxwPjxpbnB1dCBhdXRvZm9jdXMgaWQ9InRlc3QiPgogPHA+PGlucHV0IGF1
dG9mb2N1cz4KIDxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8cD48aW5wdXQ+Ci08cD48aW5wdXQgYXV0
b2ZvY3VzIGlkPSJ0ZXN0Ij4KKzxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8cD48aW5wdXQ+CiA8aHIv
PgogPG9sIGlkPSJjb25zb2xlIj48L29sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1vcGVyYS0wMDcuaHRtbAppbmRleCAwOTBmMzkzNTcwMzVkZGI4ZTkzNzUwY2RiMWI3
OWJjMWE4NTBmMWJlLi4xMWJkMzk1MDRjOWRkYTg0ODkyMDFkZDhhNzUxNTQ3ODBkOTA4OWVlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbApA
QCAtMTcsMTMgKzE3LDE5IEBACiAgICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KIAotICAgICAgICBpZiAoZ290Qmx1
cikKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsK
KyAgICAgICAgICAgIGlmIChnb3RCbHVyKQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4t
Zm9jdXMtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQt
dHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwKaW5kZXggYjdhMWQ4YzlmODU5OGVlMDJhM2E2NzZm
MGRmOGU4YWZlNDRiMjg2NS4uYWQ5YzY2OWFlOWExODUxMDExYWQ5NmQwNGU0OWI5YjI5YjU5MDUw
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1p
bi1mb2N1cy1oYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2Ut
aW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwKQEAgLTEwLDE2ICsxMCwyNSBAQAogZnVu
Y3Rpb24gZm9jdXNlZCgpIHsKICAgICBpZiAoaW5wdXQuYXV0b2ZvY3VzKSB7CiAgICAgICAgIGlu
cHV0LnR5cGUgPSAiY2hlY2tib3giOwotICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
ICI8Y29kZSBzdHlsZT0nY29sb3I6IGdyZWVuJz5QQVNTPC9jb2RlPiI7CisgICAgICAgIGRvY3Vt
ZW50LmJvZHkuaW5uZXJIVE1MID0gIkZBSUwgLSBmb2N1cyBldmVudCBoYW5kbGVyIGNhbGxlZCBm
b3IgYXV0b2ZvY3VzIjsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0KTsKICAgICBpbnB1dC5hdXRvZm9jdXMg
PSB0cnVlOworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIGRvY3Vt
ZW50LmJvZHkudGV4dENvbnRlbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50
LmJvZHkgPyAiUEFTUyIgOiAiRkFJTCI7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOwogfQogCi1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KIAog
aW5wdXQuZm9jdXMoKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9mb3JtLXN1Ym1pc3Npb24tY3Jhc2gtMy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9mb3JtLXN1Ym1pc3Npb24tY3Jhc2gtMy5odG1sCmluZGV4IDc4MDYxY2FkOWFlYTdjMzQ2NmI2
M2Q5MmYyNGE3YTVmMGMwNWRlYTUuLmFmZjM0MmExMzVjOTIyNDFjYjZkODMxZGFjOWIzYzkxYmQ0
ZjQ4NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1zdWJtaXNzaW9u
LWNyYXNoLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0tc3VibWlzc2lv
bi1jcmFzaC0zLmh0bWwKQEAgLTEwLDEwICsxMCwxNCBAQCBmdW5jdGlvbiBldmVudGhhbmRsZXIo
KSB7CiAgICAgZGl2MS5pbm5lckhUTUwgPSAiZm9vIjsKICAgICBnYygpOwogfQotIAorCiBmdW5j
dGlvbiBldmVudGhhbmRsZXIyKCkgewogfQogCithZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50
TG9hZGVkIiwgKCkgPT4geworICAgIGlucHV0LmZvY3VzKCk7Cit9KTsKKwogZnVuY3Rpb24gc3Rh
cnQoKSB7CiAgICAgYnV0dG9uLnNldEF0dHJpYnV0ZSgiZm9ybSIsICJmb3JtMSIpOwogICAgIGJ1
dHRvbi5zZXRDdXN0b21WYWxpZGl0eSgiZm9vIik7CkBAIC0yNiw3ICszMCw3IEBAIGZ1bmN0aW9u
IHN0YXJ0KCkgewogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxpbnB1dCBpZD0iaW5wdXQi
IGF1dG9mb2N1cz0iYXV0b2ZvY3VzIiB0eXBlPSJidXR0b24iPgorPGlucHV0IGlkPSJpbnB1dCIg
dHlwZT0iYnV0dG9uIj4KIDxkaXYgaWQ9ImRpdjEiPgogICAgIDxmb3JtIGlkPSJmb3JtMSI+PC9m
b3JtPgogPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9jcmFzaC13
aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0
bWwKaW5kZXggNmY1YTJlOTE5ZWRmOWE5NjNiYThmN2VkZTRlOTA2NjIxNTBiZjZmZC4uYzg5ODY2
N2ZjNGRjNjZhNWNjYjBkY2NlNGM3MTBjNWVlYjY5MWEyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlz
LXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbApAQCAtNiwxMyArNiwyMCBAQCBQQVNTIGlmIG5v
IGNyYXNoLgogPHNwYW4gaWQ9d3JhcHBlcj48L3NwYW4+CiA8dGV4dGFyZWEgaWQ9dGV4dGFyZWEg
b25mb2N1cz0iZXZlbnRoYW5kbGVyKCkiPjwvdGV4dGFyZWE+CiA8c2NyaXB0PgotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKIGRvY3Vt
ZW50Lm9mZnNldEhlaWdodDsKIHRleHRhcmVhLmF1dG9mb2N1cyA9IHRydWU7CiB2YXIgaWZyYW1l
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CiBzcGFuLmFwcGVuZENoaWxkKGlm
cmFtZSk7CiB3cmFwcGVyLmFwcGVuZENoaWxkKHRleHRhcmVhKTsKK3JlcXVlc3RBbmltYXRpb25G
cmFtZSgoKSA9PiB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKK30pOwogaWZyYW1lLmNvbnRlbnREb2N1bWVudC5jYXJldFJhbmdl
RnJvbVBvaW50KCk7CiAKIGZ1bmN0aW9uIGV2ZW50aGFuZGxlcigpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1y
ZXN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRl
LXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCmluZGV4IDYzY2Y4YTIyMTk4ZDcwOWYzZmE5OGFm
NTU5NzEzOTM4OTAyNTVkYTIuLmMyZjU4NDU3NTk0YjgzM2FkN2I1MjM3NGIwNTFhYmE1YmY0MWM5
OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1
dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbApAQCAtMTYs
OCArMTYsMTAgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiB9CiAKIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCJwYWdlc2hvdyIsIChldmVudCkgPT4gewotICAgIGlmIChldmVudC5wZXJzaXN0
ZWQpCisgICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoZmluaXNoKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgICAgIHNldFRpbWVvdXQocnVuVGVzdCwgMCk7CiB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRl
cmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdt
ZW50LWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dAppbmRleCBhNDUyZDUz
ZWRiYTYzNTg3ZDljMmViZGM2ZjZhNTBkNTNmZTRlZmU1Li5kNDE5MjlmOWI3ZGY3YjE4ZDYwMmRh
ZDQ2MDhiZWZlMDcxNWZjYTIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1h
dHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQt
ZW1wdHktZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKLUZBSUwgQXV0b2ZvY3VzIGVs
ZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggZW1wdHkgZnJhZ21lbnRzIHNob3VsZCB3
b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBub2Rl
IDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGlu
IGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggZW1wdHkgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogUEFT
UyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQncyBkb2N1
bWVudHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlv
bi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LW5v
bmV4aXN0ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dAppbmRleCAy
YjFlNTdkNjI4Mjk1NjkxOGQyNzIxNTU1ZDA0ZDU4MDJhYjdkZjZkLi44ZGQ2YjRjNzcwY2U5YWE1
Y2MyOWJmYzg1Y2NlNDJkNWRjZWU4NzgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9m
b2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdp
dGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiAK
LUZBSUwgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggbm9uLWV4
aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4gYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNh
bGxvd2VkIHZhbHVlIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+CitQ
QVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRoIG5vbi1leGlz
dGVudCBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiB0
b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCdzIGRvY3VtZW50cyB3aXRoIG5vbi1leGlzdGVudCBm
cmFnbWVudHMgc2hvdWxkIHdvcmsuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2Zv
Y3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rp
b24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10
b3AtZXhwZWN0ZWQudHh0CmluZGV4IDAzNzQxMDlhMzBjNjI0ZGJkOTRkODc5MTNiNGUzMzhlZTkx
OTkzZWYuLjhiYTUwYTUxYTNkYWQ1NzBkNDkyNzc0OTk5NzJkNTk0ZDVkZmViOTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRl
cmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdt
ZW50LXRvcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmli
dXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUg
QEAKIAogCi1GQUlMIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRo
ICJ0b3AiIGZyYWdtZW50cyBzaG91bGQgd29yay4gYXNzZXJ0X25vdF9lcXVhbHM6IGdvdCBkaXNh
bGxvd2VkIHZhbHVlIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+CitQ
QVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRoICJ0b3AiIGZy
YWdtZW50cyBzaG91bGQgd29yay4KIFBBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZl
bCBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3Vs
ZCB3b3JrLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
Zmlyc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2Zp
cnN0LWV4cGVjdGVkLnR4dAppbmRleCA5ODczMjdiMWE3YjliYjZhYTFmMmI2YjQ0MDYzNzcxMGJl
OGYwMDZlLi5jZTkyNjc2N2YzMDQyZGUyMjk4MDQwMzNkMmVmZTU1NWVhZDY1MmQzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50
ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw0IEBACiAKIAotRkFJTCBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQg
aW4gdGhlIGRvY3VtZW50IHNob3VsZCB3aW4uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1l
bnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2Rl
IDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgVGhlIGZpcnN0IGF1dG9mb2N1cyBl
bGVtZW50IGluIHRoZSBkb2N1bWVudCBzaG91bGQgd2luLgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJh
Y3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBl
Y3RlZC50eHQKaW5kZXggZmUwMjExOGEzNDlhM2FjYzlmOGNhZWQ4OTE3ODFmMDFjMjg4MTQ1Zi4u
NWY0YzMxNWM2ODc4ZTNjNjhiN2FkMmY4YzljYTI5NjExZWZkNWM5ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxh
dGVyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIFRoZSBmaXJzdCBhdXRv
Zm9jdXMgaW4gdGhlIGRvY3VtZW50IHdpbnMsIGV2ZW4gaWYgZWxlbWVudHMgYXJlIGluc2VydGVk
IGxhdGVyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9m
b2N1cz0iIj48L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIi
PjwvaW5wdXQ+CitQQVNTIFRoZSBmaXJzdCBhdXRvZm9jdXMgaW4gdGhlIGRvY3VtZW50IHdpbnMs
IGV2ZW4gaWYgZWxlbWVudHMgYXJlIGluc2VydGVkIGxhdGVyLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3Vz
YWJsZS1leHBlY3RlZC50eHQKaW5kZXggMzNkODMwODdlMThmNmQ5ZDliMmZhZjQ1MmEzZWRiZTk2
MDczYjE1ZC4uYTU4NDlkNjIyMzUzMThjYjg4YTMxYWY0YTJkOTRmN2M3MTE4MTA1MCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2Fi
bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9x
dWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlM
IElmIHRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpcyBub3QgZm9jdXNhYmxlLCBidXQgYmVj
b21lcyBmb2N1c2FibGUgYmVmb3JlIGEgZnJhbWUsIGl0IHNob3VsZCBiZSBmb2N1c2VkLiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPHRleHRhcmVhIGF1dG9mb2N1cz0iIj48
L3RleHRhcmVhPiBidXQgZ290IEVsZW1lbnQgbm9kZSA8c2VsZWN0IGF1dG9mb2N1cz0iIj48L3Nl
bGVjdD4KK1BBU1MgSWYgdGhlIGZpcnN0IGF1dG9mb2N1cyBlbGVtZW50IGlzIG5vdCBmb2N1c2Fi
bGUsIGJ1dCBiZWNvbWVzIGZvY3VzYWJsZSBiZWZvcmUgYSBmcmFtZSwgaXQgc2hvdWxkIGJlIGZv
Y3VzZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91
cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CmluZGV4IDEzNTQx
ZjY0ZmQ2MTUyMTQ5YjI3ODhjYTQyOTI5M2RhY2JiNzIxODcuLjBjYmM3N2VmNzFjOTIxZWFiODFl
YTkwYjU0ZjFiNTViZTdhZmMyOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3Vz
LWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDMgQEAKIAotCi1GQUlMICJGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRl
cyIgc2hvdWxkIGJlIGhhcHBlbiBhZnRlciB0aGUgZmlyc3QgYW5pbWF0aW9uIGZyYW1lIGNhbGxi
YWNrcywgYW5kIGJlZm9yZSBhIHJlc2l6ZSBldmVudCBpbiB0aGUgbmV4dCBpdGVyYXRpb24gb2Yg
d2luZG93IGV2ZW50IGxvb3AuIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBl
eHBlY3RlZCAzIGdvdCA0CitQQVNTICJGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRlcyIgc2hvdWxk
IGJlIGhhcHBlbiBiZWZvcmUgYSBzY3JvbGwgZXZlbnQgYW5kIGFuaW1hdGlvbiBmcmFtZSBjYWxs
YmFja3MKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVk
LnR4dAppbmRleCAwYTk5MGEwNWUwYjIxOGM1YzUwZjc2MDI3NGQyMTMwYWEyNDJkOWIxLi5hOTYw
OGMxOGQzYjM0NjNiMTk0ZGZkNDk1Y2RkM2IxOTFhOWU0OTVjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24t
c2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2Vs
ZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5LDUgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjIzCiAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9
IGF0ICgyLDIpIHNpemUgMTQ3eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5z
ZXQgIzAwMDAwMCldCiBsYXllciBhdCAoNSw2MDUpIHNpemUgMTQxeDEzCiAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgzLDMpIHNpemUgMTQxeDEzCi1jYXJldDogcG9zaXRpb24gMSBvZiBib2R5Citj
YXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtESVZ9IG9mIHsjZG9jdW1lbnQtZnJhZ21lbnR9
IG9mIGNoaWxkIDIge0lOUFVUfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudAorc2Nyb2xs
ZWQgdG8gMCwyMwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IGVkZDY3NDAwNGEwNWI5ODExZDkwZDljY2EyNjZkZjYyNTkzZTJkNDQuLjVmNTJl
MDNjMmFmMDg4NmQzOTRkOTk2YjExMWYwNWE0MjBlZmNiNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIwNTgsNyArMjA1OCw3IEBAIHdl
YmtpdC5vcmcvYi8yMzA0MTggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9k
YXRhLXVybHMvYmFzZTY0LmFueS53CiAKIHdlYmtpdC5vcmcvYi8yMjc5OTggaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1l
bWJlZC1lbGVtZW50L2VtYmVkLW5ldHdvcmstZXJyb3Iuc3ViLmh0bWwgWyBQYXNzIEZhaWx1cmUg
XQogCi13ZWJraXQub3JnL2IvMjI3NzYyIFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
ZG9jdW1lbnQtd2l0aC1mcmFnbWVudC12YWxpZC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8yMjc3NjIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVy
YWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21l
bnQtdmFsaWQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMjY3ODkgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzdG9yYWdlL2V2ZW50X2Nhc2Vfc2Vuc2l0
aXZlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFj
dGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKaW5kZXggMzI5NGEwZDNh
NTIyMGNmMmFlODgwNDUyYzgxODNlNjA2Y2Y1Y2RjNC4uZjY1MTI3Nzc3YjBhZWE2MmUyY2JmMWY5
ZTljOWVmYjE2MWE2N2RiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
Mi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMv
dGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
L3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotCi1G
QUlMICJGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRlcyIgc2hvdWxkIGJlIGhhcHBlbiBhZnRlciB0
aGUgZmlyc3QgYW5pbWF0aW9uIGZyYW1lIGNhbGxiYWNrcywgYW5kIGJlZm9yZSBhIHJlc2l6ZSBl
dmVudCBpbiB0aGUgbmV4dCBpdGVyYXRpb24gb2Ygd2luZG93IGV2ZW50IGxvb3AuIGFzc2VydF9h
cnJheV9lcXVhbHM6IHByb3BlcnR5IDAsIGV4cGVjdGVkICJhbmltYXRpb25GcmFtZSIgYnV0IGdv
dCAiYXV0b2ZvY3VzIgorRkFJTCAiRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMiIHNob3VsZCBi
ZSBoYXBwZW4gYmVmb3JlIGEgc2Nyb2xsIGV2ZW50IGFuZCBhbmltYXRpb24gZnJhbWUgY2FsbGJh
Y2tzIGFzc2VydF9hcnJheV9lcXVhbHM6IGF1dG9mb2N1cyxhbmltYXRpb25GcmFtZSBsZW5ndGhz
IGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJhdXRvZm9jdXMiLCAic2Nyb2xsIiwgImFuaW1hdGlv
bkZyYW1lIl0gbGVuZ3RoIDMsIGdvdCBbImF1dG9mb2N1cyIsICJhbmltYXRpb25GcmFtZSJdIGxl
bmd0aCAyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3Zl
LWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFs
bC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBkMjg2MmFiMzU1Mjc2ZTQ5MGQz
ZGRhMmE5NmIzNTBkOTZhNWZhZTA5Li45YWQ2OGQ2ZjQxNDE4MzQ5MzAyMmJiMzU1NmI2NjcwNDU4
NDBkYWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1p
bnB1dC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3Qt
YWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC05LDQgKzksNCBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MjUKICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQg
KDIsMikgc2l6ZSAxNTV4MjIgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDFweCBzb2xpZCAj
M0MzQzQzOTkpXQogbGF5ZXIgYXQgKDksNjA1KSBzaXplIDE0MXgxNAogICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoNiwzKSBzaXplIDE0M3gxNQotY2FyZXQ6IHBvc2l0aW9uIDEgb2YgYm9keQorY2Fy
ZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7RElWfSBvZiB7I2RvY3VtZW50LWZyYWdtZW50fSBv
ZiBjaGlsZCAyIHtJTlBVVH0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3Vw
ZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQ0OTE1MWI2NjIzODI3OTUzZjM4
ZGYyMTY2M2EzYTJhMzFkYjRhNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJp
YnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw0ICswLDAgQEAKLQotCi1GQUlMICJGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRlcyIgc2hvdWxk
IGJlIGhhcHBlbiBhZnRlciB0aGUgZmlyc3QgYW5pbWF0aW9uIGZyYW1lIGNhbGxiYWNrcywgYW5k
IGJlZm9yZSBhIHJlc2l6ZSBldmVudCBpbiB0aGUgbmV4dCBpdGVyYXRpb24gb2Ygd2luZG93IGV2
ZW50IGxvb3AuIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAz
IGdvdCAyCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440795</attachid>
            <date>2021-10-11 08:08:21 -0700</date>
            <delta_ts>2021-10-11 11:55:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211011170819.patch</filename>
            <type>text/plain</type>
            <size>46871</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJhMDA2NDYzZjNkOGRk
NzAxZTg2ODJlNGIzZmJiZjY5NGVkNWVkMC4uNDJjM2Y2OWFjYzhiYmY0NWJkNWE1N2YzZWQzYTRj
YzRlMTM5YjNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIFRoZSBuZXcgYXV0b2ZvY3VzIGJl
aGF2aW9yIHF1ZXVlcyB1cCBhbGwgYXV0b2ZvY3VzYWJsZSBlbGVtZW50cyAodmlzaWJsZSBvciBu
b3QpLCB0aGVuCisgICAgICAgIGZpcmVzIGF1dG9mb2N1cyBhc3luY2hyb25vdXNseSBkdXJpbmcg
dGhlICJ1cGRhdGUgcmVuZGVyaW5nIiBzdGVwcywgdW5saWtlIHRoZSBvbGQgYmVoYXZpb3IKKyAg
ICAgICAgd2hpY2ggcnVucyBmb2N1cyBzeW5jaHJvbm91c2x5IHdoZW5ldmVyIGl0IGZpbmRzIGEg
dmlzaWJsZSBhdXRvZm9jdXNhYmxlIGVsZW1lbnQuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2gg
YnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjphcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6Y29tbW9uVGVhcmRvd24pOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzQXV0b2ZvY3VzUHJvY2Vzc2VkIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRBdXRvZm9jdXNQcm9jZXNzZWQp
OgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRy
b2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cyk6
CisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpoYXNBdXRvZm9jdXNlZCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXRBdXRvZm9j
dXNlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OnVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisKIDIw
MjEtMTAtMTAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGl0ZXJhdGluZyBGaWxlU3lzdGVtRGlyZWN0b3J5SGFuZGxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAppbmRleCA5YjdkZTMyYzUyNTAwZDg2MTcyMTQzZDU4OGRlYmNlMWE5Mjk5
MmM3Li41NDBlOTU1NGViODYxNzA1ZTgwMjg2ODJhYmVmYThjNzcwZThiM2JhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKQEAgLTg3Miw2ICs4NzIsNyBAQCB2b2lkIERvY3VtZW50Ojpjb21tb25U
ZWFyZG93bigpCiAKICAgICBtX3RpbWVsaW5lID0gbnVsbHB0cjsKICAgICBtX2Fzc29jaWF0ZWRG
b3JtQ29udHJvbHMuY2xlYXIoKTsKKyAgICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xlYXIoKTsK
ICAgICBtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLnN0b3AoKTsKIH0KIApAQCAtNDQ3
MCw2ICs0NDcxLDM2IEBAIHZvaWQgRG9jdW1lbnQ6OmFkanVzdEZvY3VzZWROb2RlT25Ob2RlUmVt
b3ZhbChOb2RlJiBub2RlLCBOb2RlUmVtb3ZhbCBub2RlUmVtb3ZhCiAgICAgfQogfQogCit2b2lk
IERvY3VtZW50OjphcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUoRWxlbWVudCYgY2FuZGlkYXRlKQor
eworICAgIEFTU0VSVChpc1RvcERvY3VtZW50KCkpOworICAgIEFTU0VSVCghbV9pc0F1dG9mb2N1
c1Byb2Nlc3NlZCk7CisgICAgbV9hdXRvZm9jdXNDYW5kaWRhdGVzLmFwcGVuZE9yTW92ZVRvTGFz
dChjYW5kaWRhdGUpOworfQorCit2b2lkIERvY3VtZW50OjpmbHVzaEF1dG9mb2N1c0NhbmRpZGF0
ZXMoKQoreworICAgIEFTU0VSVChpc1RvcERvY3VtZW50KCkpOworICAgIGlmIChtX2lzQXV0b2Zv
Y3VzUHJvY2Vzc2VkKQorICAgICAgICByZXR1cm47CisKKyAgICB3aGlsZSAoIW1fYXV0b2ZvY3Vz
Q2FuZGlkYXRlcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgYXV0byBlbGVtZW50ID0gbV9hdXRvZm9j
dXNDYW5kaWRhdGVzLnRha2VGaXJzdCgpOworICAgICAgICBpZiAoIWVsZW1lbnQtPmRvY3VtZW50
KCkuaXNGdWxseUFjdGl2ZSgpIHx8ICZlbGVtZW50LT5kb2N1bWVudCgpLnRvcERvY3VtZW50KCkg
IT0gdGhpcykKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoYXV0byogcGFyc2Vy
ID0gc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCk7IHBhcnNlciAmJiBwYXJzZXItPmhhc1Njcmlw
dHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAv
LyBGSVhNRTogTmVlZCB0byBpZ25vcmUgaWYgdGhlIGluY2x1c2l2ZSBhbmNlc3RvciBkb2N1bWVu
dHMgaGFzIGEgdGFyZ2V0IGVsZW1lbnQuCisgICAgICAgIC8vIEZJWE1FOiBVc2UgdGhlIHJlc3Vs
dCBvZiBnZXR0aW5nIHRoZSBmb2N1c2FibGUgYXJlYSBmb3IgZWxlbWVudCBpZiBlbGVtZW50IGlz
IG5vdCBmb2N1c2FibGUuCisgICAgICAgIGlmIChlbGVtZW50LT5pc0ZvY3VzYWJsZSgpKSB7Cisg
ICAgICAgICAgICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xlYXIoKTsKKyAgICAgICAgICAgIHNl
dEF1dG9mb2N1c1Byb2Nlc3NlZCgpOworICAgICAgICAgICAgZWxlbWVudC0+cnVuRm9jdXNpbmdT
dGVwc0ZvckF1dG9mb2N1cygpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
fQorfQorCiB2b2lkIERvY3VtZW50Ojpob3ZlcmVkRWxlbWVudERpZERldGFjaChFbGVtZW50JiBl
bGVtZW50KQogewogICAgIGlmICghbV9ob3ZlcmVkRWxlbWVudCB8fCAmZWxlbWVudCAhPSBtX2hv
dmVyZWRFbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAzODZlMzc4MjgwODhmM2ZkMWVh
N2JmYzgwNjgyZTk1YTg1MDg5MDA2Li5hOTdjYTg2MjUyODgxYTBjZGZjZjc3Y2M4YjUyZGI3MDMz
YjQxNzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzg4LDYgKzc4OCwxMSBAQCBwdWJsaWM6
CiAgICAgdm9pZCBhZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1v
dmFsID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogICAgIHZvaWQgYWRqdXN0Rm9jdXNOYXZpZ2F0aW9u
Tm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5vZGUp
OwogCisgICAgYm9vbCBpc0F1dG9mb2N1c1Byb2Nlc3NlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNB
dXRvZm9jdXNQcm9jZXNzZWQ7IH0KKyAgICB2b2lkIHNldEF1dG9mb2N1c1Byb2Nlc3NlZCgpIHsg
bV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCA9IHRydWU7IH0KKyAgICB2b2lkIGFwcGVuZEF1dG9mb2N1
c0NhbmRpZGF0ZShFbGVtZW50Jik7CisgICAgdm9pZCBmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMo
KTsKKwogICAgIHZvaWQgaG92ZXJlZEVsZW1lbnREaWREZXRhY2goRWxlbWVudCYpOwogICAgIHZv
aWQgZWxlbWVudEluQWN0aXZlQ2hhaW5EaWREZXRhY2goRWxlbWVudCYpOwogCkBAIC0xODAxLDYg
KzE4MDYsOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxET01JbXBsZW1lbnRhdGlv
bj4gbV9pbXBsZW1lbnRhdGlvbjsKIAogICAgIFJlZlB0cjxOb2RlPiBtX2ZvY3VzTmF2aWdhdGlv
blN0YXJ0aW5nTm9kZTsKKyAgICBMaXN0SGFzaFNldDxSZWY8RWxlbWVudD4+IG1fYXV0b2ZvY3Vz
Q2FuZGlkYXRlczsKKyAgICBib29sIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQgeyBmYWxzZSB9Owog
ICAgIFJlZlB0cjxFbGVtZW50PiBtX2ZvY3VzZWRFbGVtZW50OwogICAgIFJlZlB0cjxFbGVtZW50
PiBtX2hvdmVyZWRFbGVtZW50OwogICAgIFJlZlB0cjxFbGVtZW50PiBtX2FjdGl2ZUVsZW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggNDgwY2Y4MDlmYzFlMjQ2YzNkMDY2ZWNkM2M5OWIz
NjQ3OTI5NzdhOS4uNGFiYWYyYWUzZjA2NzVmM2RmZjYwMGY0YTIxNTZhMWNiZjMwZTkxYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzE3Niw2ICszMTc2LDExIEBAIHZvaWQgRWxlbWVudDo6
Ymx1cigpCiAgICAgfQogfQogCit2b2lkIEVsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRv
Zm9jdXMoKQoreworICAgIGZvY3VzKCk7Cit9CisKIHZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hGb2N1
c0luRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RWxlbWVudD4mJiBv
bGRGb2N1c2VkRWxlbWVudCkKIHsKICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKFNjcmlwdERpc2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkOjppc1NjcmlwdEFs
bG93ZWQoKSB8fCAhaXNJbldlYlByb2Nlc3MoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA4ZDdi
NjI0YmJjZjc4YTNlNWFmYTY4OGFjZTNjYWIwN2EyYTUwMTU4Li41MGNlN2NiOWQzZWMwNjZkZmMw
MDkxNzE5MWFjNTg0YzVjMGMxYWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTQyMiw2ICs0MjIs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZWZQdHI8RWxlbWVudD4gZm9jdXNBcHBlYXJhbmNl
VXBkYXRlVGFyZ2V0KCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZShT
ZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGUsIFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25S
ZXZlYWxNb2RlOjpSZXZlYWwpOwogICAgIHZpcnR1YWwgdm9pZCBibHVyKCk7CisgICAgdmlydHVh
bCB2b2lkIHJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKTsKIAogICAgIFdFQkNPUkVfRVhQ
T1JUIFN0cmluZyBpbm5lckhUTUwoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
b3V0ZXJIVE1MKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmNwcAppbmRleCAyMzM3MGYyNGViODFkOWU1Zjg3ZWRhYTQ0NTIzNjJmZmJkZWJh
YzViLi43ODAwMGNkNWZjOWZmOTk1MTQ1ZDM2YmJhY2Q3M2NiMjM5N2JjN2QzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTcyLDcgKzcy
LDYgQEAgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6SFRNTEZvcm1Db250cm9sRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2MKICAgICAsIG1fd2lsbFZhbGlkYXRlKHRydWUp
CiAgICAgLCBtX2lzVmFsaWQodHJ1ZSkKICAgICAsIG1fd2FzQ2hhbmdlZFNpbmNlTGFzdEZvcm1D
b250cm9sQ2hhbmdlRXZlbnQoZmFsc2UpCi0gICAgLCBtX2hhc0F1dG9mb2N1c2VkKGZhbHNlKQog
ewogICAgIHNldEhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxiYWNrcygpOwogfQpAQCAtMjAzLDEz
ICsyMDIsMTEgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpyZXF1aXJlZFN0YXRlQ2hh
bmdlZCgpCiAKIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1cyhjb25zdCBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50JiBlbGVtZW50KQogewotICAgIGlmICghZWxlbWVudC5yZW5kZXJlcigpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhvdXRT
eW5jaHJvbml6YXRpb24oYXV0b2ZvY3VzQXR0cikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIGF1dG8mIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOwotICAgIGlmICghZWxlbWVu
dC5pc0Nvbm5lY3RlZCgpIHx8ICFkb2N1bWVudC5yZW5kZXJWaWV3KCkpCisgICAgaWYgKCFlbGVt
ZW50LmlzQ29ubmVjdGVkKCkgfHwgIWRvY3VtZW50Lmhhc0Jyb3dzaW5nQ29udGV4dCgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGRvY3VtZW50LmlzU2FuZGJveGVkKFNhbmRib3hB
dXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91
bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KQEAgLTIyMSwxMSAr
MjE4LDEwIEBAIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1cyhjb25zdCBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50JiBlbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAg
aWYgKGVsZW1lbnQuaGFzQXV0b2ZvY3VzZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQudG9wRG9jdW1l
bnQoKS5pc0F1dG9mb2N1c1Byb2Nlc3NlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICAvLyBGSVhNRTogU2hvdWxkIHRoaXMgc2V0IG9mIGhhc1RhZ05hbWUgY2hlY2tzIGJlIHJlcGxh
Y2VkIGJ5IGEKLSAgICAvLyB2aXJ0dWFsIG1lbWJlciBmdW5jdGlvbj8KKyAgICAvLyBGSVhNRTog
YXV0b2ZvY3VzIGlzIGEgZ2xvYmFsIGF0dHJpYnV0ZS4KICAgICBpZiAoaXM8SFRNTElucHV0RWxl
bWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJldHVybiAhZG93bmNhc3Q8SFRNTElucHV0RWxlbWVu
dD4oZWxlbWVudCkuaXNJbnB1dFR5cGVIaWRkZW4oKTsKICAgICBpZiAoZWxlbWVudC5oYXNUYWdO
YW1lKHNlbGVjdFRhZykpCkBAIC0yNDcsMjIgKzI0Myw2IEBAIHZvaWQgSFRNTEZvcm1Db250cm9s
RWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKICAgICAvLyBvbiB0aGUgcmVuZGVyZXIuCiAg
ICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50
KCk7Ci0KLSAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKCp0aGlzKSkgewotICAgICAgICBzZXRBdXRv
Zm9jdXNlZCgpOwotCi0gICAgICAgIFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PiBlbGVt
ZW50ID0gdGhpczsKLSAgICAgICAgUmVmUHRyIGZyYW1lVmlldyA9IGRvY3VtZW50KCkudmlldygp
OwotICAgICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgpLmlz
SW5MYXlvdXQoKSkgewotICAgICAgICAgICAgZnJhbWVWaWV3LT5xdWV1ZVBvc3RMYXlvdXRDYWxs
YmFjayhbZWxlbWVudF0gewotICAgICAgICAgICAgICAgIGVsZW1lbnQtPmZvY3VzKHsgU2VsZWN0
aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFydCB9KTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgU3R5bGU6OmRlcHJlY2F0ZWRRdWV1ZVBv
c3RSZXNvbHV0aW9uQ2FsbGJhY2soW2VsZW1lbnRdIHsKLSAgICAgICAgICAgICAgICBlbGVtZW50
LT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7
Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgIH0KIH0KIAogdm9pZCBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVudCYgb2xkRG9jdW1lbnQs
IERvY3VtZW50JiBuZXdEb2N1bWVudCkKQEAgLTMwMSw2ICsyODEsMTAgQEAgTm9kZTo6SW5zZXJ0
ZWRJbnRvQW5jZXN0b3JSZXN1bHQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRv
QW5jZXN0b3IoSW4KICAgICAgICAgc2V0QW5jZXN0b3JEaXNhYmxlZChjb21wdXRlSXNEaXNhYmxl
ZEJ5RmllbGRzZXRBbmNlc3RvcigpKTsKICAgICBIVE1MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5j
ZXN0b3IoaW5zZXJ0aW9uVHlwZSwgcGFyZW50T2ZJbnNlcnRlZFRyZWUpOwogICAgIEZvcm1Bc3Nv
Y2lhdGVkRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IoaW5zZXJ0aW9uVHlwZSwgcGFyZW50
T2ZJbnNlcnRlZFRyZWUpOworCisgICAgaWYgKHNob3VsZEF1dG9mb2N1cygqdGhpcykpCisgICAg
ICAgIGRvY3VtZW50KCkudG9wRG9jdW1lbnQoKS5hcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUoKnRo
aXMpOworCiAgICAgcmV0dXJuIEluc2VydGVkSW50b0FuY2VzdG9yUmVzdWx0OjpOZWVkc1Bvc3RJ
bnNlcnRpb25DYWxsYmFjazsKIH0KIApAQCAtMzk2LDYgKzM4MCwxMSBAQCBib29sIEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBjb25zdAogI2VuZGlmCiB9CiAKK3Zv
aWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygp
Cit7CisgICAgZm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBsYWNlQ2FyZXRBdFN0
YXJ0IH0pOworfQorCiBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Om1hdGNoZXNWYWxpZFBz
ZXVkb0NsYXNzKCkgY29uc3QKIHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgaXNWYWxp
ZEZvcm1Db250cm9sRWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuaAppbmRleCA0MWQ5YzMyMzBjNTNiMjZhZWNiMTc0MmZjZWQ3ZGFlNTE3NmMz
ZTUzLi5mYTJmNzU3YTQ3ZGZiMmZhNWVlOWRlZjNjZTRiMjJhYjE2YWYwMmJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTE2LDkgKzExNiw2
IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBtX2lzUmVh
ZE9ubHk7IH0KICAgICBib29sIGlzRGlzYWJsZWRPclJlYWRPbmx5KCkgY29uc3QgeyByZXR1cm4g
aXNEaXNhYmxlZEZvcm1Db250cm9sKCkgfHwgbV9pc1JlYWRPbmx5OyB9CiAKLSAgICBib29sIGhh
c0F1dG9mb2N1c2VkKCkgY29uc3QgeyByZXR1cm4gbV9oYXNBdXRvZm9jdXNlZDsgfQotICAgIHZv
aWQgc2V0QXV0b2ZvY3VzZWQoKSB7IG1faGFzQXV0b2ZvY3VzZWQgPSB0cnVlOyB9Ci0KICAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgYXV0b2NvbXBsZXRlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRBdXRvY29tcGxldGUoY29uc3QgU3RyaW5nJik7CiAKQEAgLTE3MCw2ICsx
NjcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVmRm9ybUFzc29jaWF0ZWRFbGVtZW50KCkgb3Zl
cnJpZGUgeyByZWYoKTsgfQogICAgIHZvaWQgZGVyZWZGb3JtQXNzb2NpYXRlZEVsZW1lbnQoKSBv
dmVycmlkZSB7IGRlcmVmKCk7IH0KIAorICAgIHZvaWQgcnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9m
b2N1cygpIGZpbmFsOworCiAgICAgYm9vbCBtYXRjaGVzVmFsaWRQc2V1ZG9DbGFzcygpIGNvbnN0
IG92ZXJyaWRlOwogICAgIGJvb2wgbWF0Y2hlc0ludmFsaWRQc2V1ZG9DbGFzcygpIGNvbnN0IG92
ZXJyaWRlOwogCkBAIC0yMTUsOCArMjE0LDYgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2lz
VmFsaWQgOiAxOwogCiAgICAgdW5zaWduZWQgbV93YXNDaGFuZ2VkU2luY2VMYXN0Rm9ybUNvbnRy
b2xDaGFuZ2VFdmVudCA6IDE7Ci0KLSAgICB1bnNpZ25lZCBtX2hhc0F1dG9mb2N1c2VkIDogMTsK
IH07CiAKIGNsYXNzIERlbGF5ZWRVcGRhdGVWYWxpZGl0eVNjb3BlIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CmluZGV4IDg4NTMzYjNkMmIzNzE4MmUxNjA1MmZlZDEyOTM2OGE0NmU0MjI5YWYuLmQ3YmJjNGNi
ZDY4MDM3NWM0ZWE5ODVlMjZlN2FiZGNiYjBjNmUwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAt
MTU2MCw3ICsxNTYwLDEwIEBAIHZvaWQgUGFnZTo6dXBkYXRlUmVuZGVyaW5nKCkKICAgICAgICAg
Zm9yRWFjaERvY3VtZW50KHBlckRvY3VtZW50RnVuY3Rpb24pOwogICAgIH07CiAKLSAgICAvLyBG
SVhNRTogRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMuCisgICAgcnVuUHJvY2Vzc2luZ1N0ZXAo
UmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzLCBbXSAoRG9jdW1l
bnQmIGRvY3VtZW50KSB7CisgICAgICAgIGlmIChkb2N1bWVudC5pc1RvcERvY3VtZW50KCkpCisg
ICAgICAgICAgICBkb2N1bWVudC5mbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKyAgICB9KTsK
IAogICAgIHJ1blByb2Nlc3NpbmdTdGVwKFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlJlc2l6ZSwgW10g
KERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVudC5ydW5SZXNpemVTdGVwcygp
OwpAQCAtMzYwNSw2ICszNjA4LDcgQEAgU3BlZWNoUmVjb2duaXRpb25Db25uZWN0aW9uJiBQYWdl
OjpzcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb24oKQogV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRv
cjw8KFdURjo6VGV4dFN0cmVhbSYgdHMsIFJlbmRlcmluZ1VwZGF0ZVN0ZXAgc3RlcCkKIHsKICAg
ICBzd2l0Y2ggKHN0ZXApIHsKKyAgICBjYXNlIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OkZsdXNoQXV0
b2ZvY3VzQ2FuZGlkYXRlczogdHMgPDwgIkZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyI7IGJyZWFr
OwogICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVzaXplOiB0cyA8PCAiUmVzaXplIjsg
YnJlYWs7CiAgICAgY2FzZSBSZW5kZXJpbmdVcGRhdGVTdGVwOjpTY3JvbGw6IHRzIDw8ICJTY3Jv
bGwiOyBicmVhazsKICAgICBjYXNlIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6Ok1lZGlhUXVlcnlFdmFs
dWF0aW9uOiB0cyA8PCAiTWVkaWFRdWVyeUV2YWx1YXRpb24iOyBicmVhazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
aW5kZXggOTRmOGI4ZGE5MjA2OTYzNzg4YzUxNjE2NTNlNTA1Y2NjMDA1MzgzOS4uYjUzZjY4ZTYz
MGUzMjJlOTc0NGE0YmZiYzkwN2I5ZWVhZTJlNTAzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTIwOCw5
ICsyMDgsMTEgQEAgZW51bSBjbGFzcyBSZW5kZXJpbmdVcGRhdGVTdGVwIDogdWludDE2X3Qgewog
I2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgU2Nyb2xsaW5nVHJlZVVwZGF0ZSAgICAg
ICAgICAgICA9IDEgPDwgMTMsCiAjZW5kaWYKKyAgICBGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMg
ICAgICAgID0gMSA8PCAxNCwKIH07CiAKIGNvbnN0ZXhwciBPcHRpb25TZXQ8UmVuZGVyaW5nVXBk
YXRlU3RlcD4gdXBkYXRlUmVuZGVyaW5nU3RlcHMgPSB7CisgICAgUmVuZGVyaW5nVXBkYXRlU3Rl
cDo6Rmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzLAogICAgIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlJl
c2l6ZSwKICAgICBSZW5kZXJpbmdVcGRhdGVTdGVwOjpTY3JvbGwsCiAgICAgUmVuZGVyaW5nVXBk
YXRlU3RlcDo6TWVkaWFRdWVyeUV2YWx1YXRpb24sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzk2YWNjM2ExYTQwOWJhOWRm
MTNkMmJhMmRkZDFjNWI1Mjg4M2FlYi4uOWJhMzFmNDA5OWE2MjE5ODk3OTljYmQ5MzU5NzBlOGNh
NzljYjA1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTA1ICBUaW0gTmd1eWVuICA8
bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9jdXMgYmVoYXZp
b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzEz
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2ggdGhlIG5ldyBh
dXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlCisgICAgICAg
IC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRt
bCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIFRoZSBuZXcgYXV0b2ZvY3VzIGJlaGF2aW9yIHF1
ZXVlcyB1cCBhbGwgYXV0b2ZvY3VzYWJsZSBlbGVtZW50cyAodmlzaWJsZSBvciBub3QpLCB0aGVu
CisgICAgICAgIGZpcmVzIGF1dG9mb2N1cyBhc3luY2hyb25vdXNseSBkdXJpbmcgdGhlICJ1cGRh
dGUgcmVuZGVyaW5nIiBzdGVwcywgdW5saWtlIHRoZSBvbGQgYmVoYXZpb3IKKyAgICAgICAgd2hp
Y2ggcnVucyBmb2N1cyBzeW5jaHJvbm91c2x5IHdoZW5ldmVyIGl0IGZpbmRzIGEgdmlzaWJsZSBh
dXRvZm9jdXNhYmxlIGVsZW1lbnQuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgUnlvc3Vr
ZSBOaXdhLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXNjcm9sbC1pZ25vcmUtbnVsbC1mcmFtZS5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vd2luZG93
LWlubmVyLXdpZHRoLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
aW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWw6Cisg
ICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMta2V5Z2VuLmh0bWw6CisgICAgICAgICogZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9h
dXRvZm9jdXMtb3BlcmEtMDAyLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
b3BlcmEtMDAzLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2
Lmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWw6Cisg
ICAgICAgICogZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0
bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWlu
LWV2ZW50aGFuZGxlci5odG1sOgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4
ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vaW9z
LXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRv
Zm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rp
b24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRo
ZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zOgorCiAyMDIxLTEwLTExICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgSW1wb3J0IG5ldyB0b3AgbGF5ZXIgV1BUcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggODc3Mzc2ZTM0N2RmNDZkMTk5ZDllZDc2ZTE1OTU1ZDk1NWVmYTRhZC4uY2Ni
NWY4YjBjMWM0NGJlMmFkMDVjOWM3NDJjNTJiMjRjMTM3YWQ0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjEtMTAtMDUgIFRpbSBOZ3V5ZW4gIDxu
dGltQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgbmV3IGF1dG9mb2N1cyBiZWhhdmlv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMTM5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjM5NzAxOT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFdlYktpdCBtYXRjaCB0aGUgbmV3IGF1
dG9mb2N1cyBzcGVjOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUKKyAgICAgICAg
LSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1s
I2ZvY3VzaW5nLXN0ZXBzCisKKyAgICAgICAgVGhlIG5ldyBhdXRvZm9jdXMgYmVoYXZpb3IgcXVl
dWVzIHVwIGFsbCBhdXRvZm9jdXNhYmxlIGVsZW1lbnRzICh2aXNpYmxlIG9yIG5vdCksIHRoZW4K
KyAgICAgICAgZmlyZXMgYXV0b2ZvY3VzIGFzeW5jaHJvbm91c2x5IGR1cmluZyB0aGUgInVwZGF0
ZSByZW5kZXJpbmciIHN0ZXBzLCB1bmxpa2UgdGhlIG9sZCBiZWhhdmlvcgorICAgICAgICB3aGlj
aCBydW5zIGZvY3VzIHN5bmNocm9ub3VzbHkgd2hlbmV2ZXIgaXQgZmluZHMgYSB2aXNpYmxlIGF1
dG9mb2N1c2FibGUgZWxlbWVudC4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBSeW9zdWtl
IE5pd2EuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9m
b2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFj
dGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50
LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13
aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxl
Y3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBFeHBlY3RlZCBjaGFuZ2Ugc2lu
Y2UgaW5wdXQgYXV0b2ZvY3VzIG5vdyBwbGFjZXMgY2FyZXQgYXQgc3RhcnQKKwogMjAyMS0xMC0x
MSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBuZXcgdG9w
IGxheWVyIFdQVHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGUzYTQzNzcyOTZiMTJmNjY2ZTU5YjAw
ZmY2MDhlY2RiNDhmZWQ5ZDguLmVkNTk1MjcxMTRhNmQ1N2MzNzNlMmI1M2U0OWRjZDcwZjFkNTg3
OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODA2LDcgKzgwNiw2IEBAIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1oaXN0b3J5LWludGVy
ZmFjZS8wMDIuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
aGlzdG9yeS90aGUtaGlzdG9yeS1pbnRlcmZhY2UvY29tYmluYXRpb25faGlzdG9yeV8wMDIuaHRt
bCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvaGlzdG9yeS90aGUtaGlzdG9yeS1pbnRlcmZhY2UvY29tYmluYXRpb25faGlzdG9y
eV8wMDMuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL3NjcmlwdGluZy0xL3RoZS1zY3JpcHQtZWxlbWVudC9leGVjdXRp
b24tdGltaW5nLzA1OC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0
ZS91cGRhdGUtdGhlLXJlbmRlcmluZy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvd2lkZ2V0cy9iYXNlbGluZS1hbGln
bm1lbnQtYW5kLW92ZXJmbG93LnRlbnRhdGl2ZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVu
dC9tZWRpYS1lbGVtZW50cy9sb2FkaW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9yZXNvdXJjZS1zZWxl
Y3Rpb24tcG9pbnRlci1yZW1vdmUtc291cmNlLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50
L3RoZS1pZnJhbWUtZWxlbWVudC9jcm9zcy1vcmlnaW4tdG8td2hvbS53aW5kb3cuaHRtbCBbIEZh
aWx1cmUgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXNjcm9sbC1pZ25vcmUtbnVsbC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1zY3JvbGwtaWdub3JlLW51bGwtZnJhbWUuaHRtbAppbmRleCBmNmE2MWYx
YTNmZGY2ODA2YTg3NWI1MTllY2VkMzg3NWIzOThjZjIyLi5jNzE0Y2Q0MDEzZWFiMDU0ZTczNzIw
YmU2ZjNiYzNkNmRkZGYxNDNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXNjcm9sbC1pZ25vcmUtbnVsbC1mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxsLWZyYW1lLmh0bWwKQEAg
LTIsMTQgKzIsMjAgQEAKIDxzY3JpcHQ+CiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CisgICAgfQogCiAgICAgc2VsZWN0MS5hcHBlbmRDaGlsZChpbnB1dFBhcmVudCk7CiAg
ICAgaW5wdXQxLmF1dG9mb2N1cyA9IHRydWU7CiAgICAgaW5wdXQxLnNldFNlbGVjdGlvblJhbmdl
KDEsIDApOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQxKTsKLSAgICBmcmFt
ZTEuY29udGVudFdpbmRvdy5zY3JvbGxCeSh7bGVmdDogMSwgdG9wOiAwfSk7CisgICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgZnJhbWUxLmNvbnRlbnRXaW5kb3cuc2Ny
b2xsQnkoe2xlZnQ6IDEsIHRvcDogMH0pOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKIH0KIAogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNo
LTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0y
LWV4cGVjdGVkLnR4dAppbmRleCBlYzk4MWVhYzFhZGJmYjRiZGRmYmNhYmRlMzVjNDE3Y2E2MTMx
MDk4Li5iZjE1YmE3YmUyMzhhOTE0YjRkMzJiYjkzMjBhZmI1MmE4Y2IyZDg0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50eHQK
QEAgLTEsMiArMSw0IEBACi1UZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8gYWRvcHRpbmcgYSBET00g
bm9kZSBkdXJpbmcgRE9NRm9jdXNPdXQgZXZlbnQuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3Qg
Y3Jhc2guCitUZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8gYWRvcHRpbmcgYSBET00gbm9kZSB3aGVu
IHVuZm9jdXNpbmcuIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guCiAKK1BBU1M6IEZv
Y3VzZWQgbm9kZSBzaG91bGQgYmUga2V5Z2VuCitQQVNTOiBGb2N1c2VkIG5vZGUgc2hvdWxkIG5v
IGxvbmdlciBiZSBrZXlnZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0
LW5vZGUtY3Jhc2gtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFz
aC0yLmh0bWwKaW5kZXggZjY4ZDAxN2JiMzA3ZmQyMmFhNjM4ODA0Y2JkNjc2ZjM0MDNiYTk2Ni4u
ZmFlZTE2YzI3Y2NhMThhODVlNzYxOWRlNGRjMjQ5ZmZkZDY0OGI2NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwKQEAgLTEsNiArMSw2IEBACiA8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIEtleWdlbkVsZW1lbnRFbmFibGVk
PXRydWUgXSAtLT4KIDxodG1sPgotPGRpdj5UZXN0cyBmb3IgYSBjcmFzaCBkdWUgdG8gYWRvcHRp
bmcgYSBET00gbm9kZSBkdXJpbmcgRE9NRm9jdXNPdXQgZXZlbnQuIFRlc3QgcGFzc2VzIGlmIGl0
IGRvZXNuJ3QgY3Jhc2guPC9kaXY+Cis8ZGl2PlRlc3RzIGZvciBhIGNyYXNoIGR1ZSB0byBhZG9w
dGluZyBhIERPTSBub2RlIHdoZW4gdW5mb2N1c2luZy4gVGVzdCBwYXNzZXMgaWYgaXQgZG9lc24n
dCBjcmFzaC48L2Rpdj4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKQEAgLTE0LDI5ICsxNCwzMiBAQCBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICA8L2lmcmFtZT4KICAgPC9hcHBsZXQ+CiAgIDxoZWFkZXIgaWQ9Imhl
YWRlcjEiPgotICAgIDxrZXlnZW4gYXV0b2ZvY3VzPgorICAgIDxrZXlnZW4gaWQ9ImtleWdlbiIg
YXV0b2ZvY3VzPgogICA8L2hlYWRlcj4KIDwvZGl2PgorPGRpdiBpZD0ibG9ncyI+PC9kaXY+CiA8
c2NyaXB0PgotZnVuY3Rpb24gZG9pdCgpCi17Ci0gICAgZGl2Mi5hZGRFdmVudExpc3RlbmVyKCJE
T01Gb2N1c091dCIsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgZG9jdW1lbnQuaW1wbGVtZW50YXRp
b24uY3JlYXRlRG9jdW1lbnQoIiIsICIiLCBudWxsKS5hZG9wdE5vZGUoZGl2Mik7Ci0gICAgICAg
IHNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0g
ICAgICAgICAgICAgICAgaW50ZXJuYWxzLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcygpOwotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAg
ICB9LCAwKTsKLSAgICB9LCBmYWxzZSk7Ci0gICAgZGl2MS5vdXRlckhUTUwgPSBoZWFkZXIxLm91
dGVySFRNTDsKK2Z1bmN0aW9uIGFzc2VydF90cnVlKGFzc2VydCwgdGV4dCkgeworICAgIGNvbnN0
IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGlmIChhc3NlcnQpCisg
ICAgICAgIGRpdi50ZXh0Q29udGVudCA9ICJQQVNTOiAiICsgdGV4dDsKKyAgICBlbHNlCisgICAg
ICAgIGRpdi50ZXh0Q29udGVudCA9ICJGQUlMOiAiICsgdGV4dDsKKyAgICBsb2dzLmFwcGVuZChk
aXYpOwogfQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworCitmdW5jdGlvbiBkb2l0KCkg
eworICAgIGFzc2VydF90cnVlKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0ga2V5Z2VuLCAiRm9j
dXNlZCBub2RlIHNob3VsZCBiZSBrZXlnZW4iKTsKKyAgICBkaXYxLm91dGVySFRNTCA9IGhlYWRl
cjEub3V0ZXJIVE1MOworICAgIGFzc2VydF90cnVlKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT0g
a2V5Z2VuLCAiRm9jdXNlZCBub2RlIHNob3VsZCBubyBsb25nZXIgYmUga2V5Z2VuIik7CisgICAg
ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlRG9jdW1lbnQoIiIsICIiLCBudWxsKS5hZG9w
dE5vZGUoZGl2Mik7CiAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIGludGVybmFs
cy51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFz
a3MoKTsKLSAgICBlbHNlCi0gICAgICAgIGRpdjIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0g
ICAgc2V0VGltZW91dCgiZG9pdCgpIiwgMSk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKIH0KK3dpbmRvdy5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZG9pdCk7Cit9OwogPC9zY3JpcHQ+
CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS93aW5kb3ctaW5uZXIt
d2lkdGgtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1pbm5lci13aWR0
aC1jcmFzaC5odG1sCmluZGV4IGJjNzVkM2YzNzIyZjE2NGRiMTYxMGU1ZjFhYzBjZjc5ZGJmZjAy
MjcuLjkzOTM1ZjA1NzhlN2IyODNjM2M4ZmEzOTM5ZTNlMzZhY2VlYzEyMzUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1pbm5lci13aWR0aC1jcmFzaC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1pbm5lci13aWR0aC1jcmFzaC5odG1sCkBAIC02
LDggKzYsOCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAKIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgYnV0dG9uLmF1dG9mb2N1cyA9IHRy
dWU7CiAgICAgYm9keS5hcHBlbmRDaGlsZChwYXJhZ3JhcGgpOworICAgIGJ1dHRvbi5mb2N1cygp
OwogICAgIHZhciB0ZXN0VmFsID0gd2luZG93WzBdLmlubmVyV2lkdGg7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxv
dy1zY3JpcHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3Vz
LWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4dAppbmRleCBjZjg2ZmI0
YzVlYTY5MDNlYjA4YTcwZTI2NGEwMjc4OWI2MjA4Nzk0Li41MGFjZmI2N2RmODliMDE1MTE3NTdm
MjM5MTViNzBmNGFmYmM3ZDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1
dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNj
cmlwdHMtZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEsNyBAQAotQ09OU09MRSBNRVNTQUdFOiBJTlBV
VAotVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgYWN0aXZlRWxlbWVudCBpcyB0aGUgaW5wdXQgZWxl
bWVudCByYXRoZXIgdGhhbiB0aGUgYm9keSAod2hpY2ggaXQgd291bGQgYmUgaWYgdGhlIHNhbmRi
b3ggZGlkbid0IGFsbG93IGF1dG9mb2N1cyBhbHRob3VnaCBhbGxvdy1zY3JpcHRzIGZsYWcgaXMg
c2V0KS4KK1RoaXMgdGVzdHMgaGF2aW5nIGFuIGlucHV0IGVsZW1lbnQgd2l0aCBhdXRvZm9jdXMg
Y29udGVudCBhdHRyaWJ1dGUgaW5zaWRlIGEgc2FuZGJveGVkIGlmcmFtZS4KK1RoZSBpbnB1dCBl
bGVtZW50IHNob3VsZCBiZSBhdXRvZm9jdXNlZCBzaW5jZSBzY3JpcHRzIGFyZSBhbGxvd2VkLgor
CistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWUxLS0+JworLS0tLS0tLS0KK1BBU1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1h
bGxvdy1zY3JpcHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1z
YW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy5odG1sCmluZGV4IDRmMjIzODY4ZmQ3ZTZmMTg5ZWM1
M2Y3MjYyZTc2YmRiOTg2N2JjNWEuLmVjM2UzODAxMGZjODQ0YWZiMzkyMjI4ODBlMzRmOTNiMTU5
NmRmZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWluLXNh
bmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbApAQCAtMSw4ICsx
LDE5IEBACiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQoraWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5k
dW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKK30KIDwvc2NyaXB0PgotVGhpcyB0ZXN0IHBhc3NlcyBp
ZiB0aGUgYWN0aXZlRWxlbWVudCBpcyB0aGUgaW5wdXQgZWxlbWVudCByYXRoZXIgdGhhbiB0aGUg
Ym9keQotKHdoaWNoIGl0IHdvdWxkIGJlIGlmIHRoZSBzYW5kYm94IGRpZG4ndCBhbGxvdyBhdXRv
Zm9jdXMgYWx0aG91Z2ggYWxsb3ctc2NyaXB0cyBmbGFnIGlzIHNldCkuCi08aWZyYW1lIHNhbmRi
b3g9ImFsbG93LXNjcmlwdHMgYWxsb3ctbW9kYWxzIgotICAgIHNyYz0iZGF0YTp0ZXh0L2h0bWws
PGlucHV0IGF1dG9mb2N1cyBvbmZvY3VzPjxzY3JpcHQ+d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9u
KCkgeyBjb25zb2xlLmxvZyhkb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWUpIH08L3Njcmlw
dD4iPjwvaWZyYW1lPgorVGhpcyB0ZXN0cyBoYXZpbmcgYW4gaW5wdXQgZWxlbWVudCB3aXRoIGF1
dG9mb2N1cyBjb250ZW50IGF0dHJpYnV0ZSBpbnNpZGUgYSBzYW5kYm94ZWQgaWZyYW1lLjxicj4K
K1RoZSBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBhdXRvZm9jdXNlZCBzaW5jZSBzY3JpcHRzIGFy
ZSBhbGxvd2VkLgorPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIgorICAgIHNyYz0iZGF0
YTp0ZXh0L2h0bWwsPGlucHV0IGlkPWlucHV0IGF1dG9mb2N1cyBvbmZvY3VzPjxzY3JpcHQ+Cisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgICAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQo
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBpbnB1dCA/ICdQQVNTJyA6ICdGQUlMJyk7CisgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOworICAgIH08L3NjcmlwdD4iPjwvaWZyYW1lPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMta2V5Z2VuLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbAppbmRleCA3NzA3
MGU4ZGIwNmI1NGM5YjkwZmU2ZDMxMDI2ODNkYTg1NGJjMGNjLi4wYzc2NWRlMzIzYTIzYjA1MjRk
MzcwZWM1MmFkYmY1ZDA0NmEyODViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1rZXlnZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9m
b2N1cy1rZXlnZW4uaHRtbApAQCAtNiw5ICs2LDExIEBACiB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CiAKIGZ1bmN0aW9uIG9uTG9hZCgpIHsKLSAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0
aXZlRWxlbWVudCcsICdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJrZXlnZW4iKScpOwotICAgIHNo
b3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmF1dG9mb2N1cycsICd0cnVlJyk7Ci0gICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAg
ICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQnLCAnZG9jdW1lbnQucXVlcnlTZWxl
Y3Rvcigia2V5Z2VuIiknKTsKKyAgICAgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuYXV0b2ZvY3VzJywgJ3RydWUnKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSk7
CiB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvYXV0b2ZvY3VzLW9wZXJhLTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRv
Zm9jdXMtb3BlcmEtMDAxLmh0bWwKaW5kZXggOWQwNWVkZmJmNDQwMDgwZTk0ZjRhYjQwZmMzMzNk
MmUxNDQzMWUyNS4uNDliYmU5YzA1YmYzNDc2NzZkYjRjZjlkYWU0YjVkNzYzODg4NGMzYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwKQEAg
LTExLDEzICsxMSwxOSBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CiAKLSAgICAgICAgaWYgKGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0Iilb
MF0pCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7
CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NF
U1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hl
YWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0w
MDIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1s
CmluZGV4IGI1MTNmYzk3NjIxNTFiZTEzZTA5OTZmOWY4ZmMxNmRlNGM5OWQyN2UuLjkzZTQ1M2Rk
OTJmYTlmN2RjZGUyZTVkMTAzMDVhZDlhNzFmODRhYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMi5odG1sCkBAIC0xMSwxMyArMTEsMTkgQEAKICAg
ICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICAgICAgfQogCi0gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQotICAgICAgICAgICAgbG9n
KCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOwor
ICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlu
cHV0IilbMF0pCisgICAgICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbAppbmRleCA0MTI5MGI2MTVmZmVi
Y2UxZTIwMGQxMWIyOGE1NTYwMzg1OTViNDY5Li41ZTVlOGE4MDY3MWU5NWEyOTJjZWJmZDQyOWJi
Mjk4MDc3MGY1MTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1
cy1vcGVyYS0wMDMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1v
cGVyYS0wMDMuaHRtbApAQCAtMTIsMTQgKzEyLDIwIEBACiAgICAgfQogCiAgICAgZnVuY3Rpb24g
dGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KIAotICAg
ICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiaW5wdXQiKVswXSAmJgotICAgICAgICAgICAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxl
bWVudC5zY3JvbGxUb3AgIT0gMCkKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgcmVxdWVzdEFuaW1h
dGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50
ID09IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdICYmCisgICAgICAg
ICAgICAgICAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgIT0gMCkKKyAgICAg
ICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAg
ICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2F1dG9mb2N1cy1vcGVyYS0wMDYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0
b2ZvY3VzLW9wZXJhLTAwNi5odG1sCmluZGV4IDg0OGU2MWE0NzhhMDI0M2RkMjJkNzJiYWQxOTU4
N2NhOGU2YmJkMWMuLmYyZDc5YTRmYWUyNmRjODRiOWM5M2MzMmJiYWJmOThkYTk1MzY0NjIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sCkBA
IC0xMSwyMyArMTEsMzAgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpKQorICAgICAgICAgICAgICAgIGxv
ZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJ
TFVSRSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKIAotICAgICAgICBpZiAo
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIp
KQotICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IGxvZygiRkFJTFVSRSIpOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgogPHA+QWxsIGZvcm0gY29udHJvbHMgYmVsb3cgc2hvdWxkIGhhdmUgYSBncmVl
biBiYWNrZ3JvdW5kOjwvcD4KLTxwPjxpbnB1dCBhdXRvZm9jdXM+Cis8cD48aW5wdXQgYXV0b2Zv
Y3VzIGlkPSJ0ZXN0Ij4KIDxwPjxpbnB1dCBhdXRvZm9jdXM+CiA8cD48aW5wdXQgYXV0b2ZvY3Vz
PgogPHA+PGlucHV0PgotPHA+PGlucHV0IGF1dG9mb2N1cyBpZD0idGVzdCI+Cis8cD48aW5wdXQg
YXV0b2ZvY3VzPgogPHA+PGlucHV0PgogPGhyLz4KIDxvbCBpZD0iY29uc29sZSI+PC9vbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKaW5kZXgg
MDkwZjM5MzU3MDM1ZGRiOGU5Mzc1MGNkYjFiNzliYzFhODUwZjFiZS4uMTFiZDM5NTA0YzlkZGE4
NDg5MjAxZGQ4YTc1MTU0NzgwZDkwODllZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9hdXRvZm9jdXMtb3BlcmEtMDA3Lmh0bWwKQEAgLTE3LDEzICsxNywxOSBAQAogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
ICAgICB9CiAKLSAgICAgICAgaWYgKGdvdEJsdXIpCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1Mi
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJFIik7CisgICAgICAgIHJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBpZiAoZ290Qmx1cikKKyAg
ICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7
CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRsZXIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5odG1sCmlu
ZGV4IGI3YTFkOGM5Zjg1OThlZTAyYTNhNjc2ZjBkZjhlOGFmZTQ0YjI4NjUuLmFkOWM2NjlhZTlh
MTg1MTAxMWFkOTZkMDRlNDliOWIyOWI1OTA1MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5o
dG1sCkBAIC0xMCwxNiArMTAsMjUgQEAKIGZ1bmN0aW9uIGZvY3VzZWQoKSB7CiAgICAgaWYgKGlu
cHV0LmF1dG9mb2N1cykgewogICAgICAgICBpbnB1dC50eXBlID0gImNoZWNrYm94IjsKLSAgICAg
ICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiPGNvZGUgc3R5bGU9J2NvbG9yOiBncmVlbic+
UEFTUzwvY29kZT4iOworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJGQUlMIC0g
Zm9jdXMgZXZlbnQgaGFuZGxlciBjYWxsZWQgZm9yIGF1dG9mb2N1cyI7CisgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChp
bnB1dCk7CiAgICAgaW5wdXQuYXV0b2ZvY3VzID0gdHJ1ZTsKKyAgICByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoKCkgPT4geworICAgICAgICBkb2N1bWVudC5ib2R5LnRleHRDb250ZW50ID0gZG9jdW1l
bnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5ib2R5ID8gIlBBU1MiIDogIkZBSUwiOworICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKKyAgICB9KTsKIH0KIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Cit9CiAKIGlucHV0LmZvY3VzKCk7CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJl
bW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2NyYXNo
LXdoZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbAppbmRleCA2ZjVhMmU5
MTllZGY5YTk2M2JhOGY3ZWRlNGU5MDY2MjE1MGJmNmZkLi5jODk4NjY3ZmM0ZGM2NmE1Y2NiMGRj
Y2U0YzcxMGM1ZWViNjkxYTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9j
cmFzaC13aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4tZXZlbnRoYW5kbGVyLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50
aGFuZGxlci5odG1sCkBAIC02LDEzICs2LDIwIEBAIFBBU1MgaWYgbm8gY3Jhc2guCiA8c3BhbiBp
ZD13cmFwcGVyPjwvc3Bhbj4KIDx0ZXh0YXJlYSBpZD10ZXh0YXJlYSBvbmZvY3VzPSJldmVudGhh
bmRsZXIoKSI+PC90ZXh0YXJlYT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCitp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwogZG9jdW1lbnQub2Zmc2V0SGVpZ2h0
OwogdGV4dGFyZWEuYXV0b2ZvY3VzID0gdHJ1ZTsKIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKIHNwYW4uYXBwZW5kQ2hpbGQoaWZyYW1lKTsKIHdyYXBwZXIu
YXBwZW5kQ2hpbGQodGV4dGFyZWEpOworcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworfSk7CiBpZnJhbWUuY29udGVudERvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKTsKIAog
ZnVuY3Rpb24gZXZlbnRoYW5kbGVyKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9o
aXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1y
ZXN0b3JlLmh0bWwKaW5kZXggNjNjZjhhMjIxOThkNzA5ZjNmYTk4YWY1NTk3MTM5Mzg5MDI1NWRh
Mi4uYzJmNTg0NTc1OTRiODMzYWQ3YjUyMzc0YjA1MWFiYTViZjQxYzk5OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5n
LXJlc3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1l
eGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCkBAIC0xNiw4ICsxNiwxMCBAQCBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2Vz
aG93IiwgKGV2ZW50KSA9PiB7Ci0gICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkKKyAgICBpZiAoZXZl
bnQucGVyc2lzdGVkKSB7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmaW5pc2gpOwog
ICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAg
ICAgc2V0VGltZW91dChydW5UZXN0LCAwKTsKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgt
ZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0CmluZGV4IGE0NTJkNTNlZGJhNjM1ODdkOWMyZWJk
YzZmNmE1MGQ1M2ZlNGVmZTUuLmQ0MTkyOWY5YjdkZjdiMThkNjAyZGFkNDYwOGJlZmUwNzE1ZmNh
MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVu
dC13aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1
dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50
eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1l
ZCBkb2N1bWVudHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3Rf
ZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1
cz0iIj48L2lucHV0PgorUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVu
dHMgd2l0aCBlbXB0eSBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVt
ZW50cyBpbiB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCdzIGRvY3VtZW50cyB3aXRoIGVtcHR5
IGZyYWdtZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRv
Zm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgt
ZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDJiMWU1N2Q2MjgyOTU2OTE4
ZDI3MjE1NTVkMDRkNTgwMmFiN2RmNmQuLjhkZDZiNGM3NzBjZTlhYTVjYzI5YmZjODVjY2U0MmQ1
ZGNlZTg3ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9k
b2N1bWVudC13aXRoLWZyYWdtZW50LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25l
eGlzdGVudC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMg
ZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRz
IHNob3VsZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxl
bWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVs
ZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBz
aG91bGQgd29yay4KIFBBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2lu
ZyBjb250ZXh0J3MgZG9jdW1lbnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQg
d29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2Rv
Y3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0
b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQK
aW5kZXggMDM3NDEwOWEzMGM2MjRkYmQ5NGQ4NzkxM2I0ZTMzOGVlOTE5OTNlZi4uOGJhNTBhNTFh
M2RhZDU3MGQ0OTI3NzQ5OTk3MmQ1OTRkNWRmZWI5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0
aC1mcmFnbWVudC10b3AtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKLUZBSUwgQXV0
b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRz
IHNob3VsZCB3b3JrLiBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxl
bWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVs
ZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3
b3JrLgogUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRl
eHQncyBkb2N1bWVudHMgd2l0aCAidG9wIiBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50
ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0
CmluZGV4IDk4NzMyN2IxYTdiOWJiNmFhMWYyYjZiNDQwNjM3NzEwYmU4ZjAwNmUuLmNlOTI2NzY3
ZjMwNDJkZTIyOTgwNDAzM2QyZWZlNTU1ZWFkNjUyZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90
aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQg
QEAKIAogCi1GQUlMIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQg
c2hvdWxkIHdpbi4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBh
dXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1
cz0iIj48L2lucHV0PgorUEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaW4gdGhlIGRv
Y3VtZW50IHNob3VsZCB3aW4uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3Vz
LWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUt
YXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dAppbmRleCBm
ZTAyMTE4YTM0OWEzYWNjOWY4Y2FlZDg5MTc4MWYwMWMyODgxNDVmLi41ZjRjMzE1YzY4NzhlM2M2
OGI3YWQyZjhjOWNhMjk2MTFlZmQ1YzlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9m
b2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9j
dW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+
IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1Mg
VGhlIGZpcnN0IGF1dG9mb2N1cyBpbiB0aGUgZG9jdW1lbnQgd2lucywgZXZlbiBpZiBlbGVtZW50
cyBhcmUgaW5zZXJ0ZWQgbGF0ZXIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2Zv
Y3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1
cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVkLnR4
dAppbmRleCAzM2Q4MzA4N2UxOGY2ZDlkOWIyZmFmNDUyYTNlZGJlOTYwNzNiMTVkLi5hNTg0OWQ2
MjIzNTMxOGNiODhhMzFhZjRhMmQ5NGY3YzcxMTgxMDUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMv
dGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2Fi
bGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgSWYgdGhlIGZpcnN0IGF1
dG9mb2N1cyBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUsIGJ1dCBiZWNvbWVzIGZvY3VzYWJsZSBi
ZWZvcmUgYSBmcmFtZSwgaXQgc2hvdWxkIGJlIGZvY3VzZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIEVsZW1lbnQgbm9kZSA8dGV4dGFyZWEgYXV0b2ZvY3VzPSIiPjwvdGV4dGFyZWE+IGJ1dCBn
b3QgRWxlbWVudCBub2RlIDxzZWxlY3QgYXV0b2ZvY3VzPSIiPjwvc2VsZWN0PgorUEFTUyBJZiB0
aGUgZmlyc3QgYXV0b2ZvY3VzIGVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSwgYnV0IGJlY29tZXMg
Zm9jdXNhYmxlIGJlZm9yZSBhIGZyYW1lLCBpdCBzaG91bGQgYmUgZm9jdXNlZC4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVy
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRh
dGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKaW5kZXggMTM1NDFmNjRmZDYxNTIxNDliMjc4
OGNhNDI5MjkzZGFjYmI3MjE4Ny4uMGNiYzc3ZWY3MWM5MjFlYWI4MWVhOTBiNTRmMWI1NWJlN2Fm
YzI5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0
ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
MyBAQAogCi0KLUZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFw
cGVuIGFmdGVyIHRoZSBmaXJzdCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzLCBhbmQgYmVmb3Jl
IGEgcmVzaXplIGV2ZW50IGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZlbnQgbG9v
cC4gYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDMgZ290IDQK
K1BBU1MgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGJlZm9y
ZSBhIHNjcm9sbCBldmVudCBhbmQgYW5pbWF0aW9uIGZyYW1lIGNhbGxiYWNrcwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlv
bi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVj
dGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDBhOTkw
YTA1ZTBiMjE4YzVjNTBmNzYwMjc0ZDIxMzBhYTI0MmQ5YjEuLmE5NjA4YzE4ZDNiMzQ2M2IxOTRk
ZmQ0OTVjZGQzYjE5MWE5ZTQ5NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUt
aW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5w
dXQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC05LDQgKzksNSBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXg2MjMKICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAx
NDd4MTkgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KIGxh
eWVyIGF0ICg1LDYwNSkgc2l6ZSAxNDF4MTMKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykg
c2l6ZSAxNDF4MTMKLWNhcmV0OiBwb3NpdGlvbiAxIG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlvbiAw
IG9mIGNoaWxkIDAge0RJVn0gb2YgeyNkb2N1bWVudC1mcmFnbWVudH0gb2YgY2hpbGQgMiB7SU5Q
VVR9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CitzY3JvbGxlZCB0byAwLDIzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjE4MDY0
NzEyY2NjNjc5Y2VjODdiNjYxYzZjNzg3MjQ0MTM0MjY4NC4uMWNjOTNmNDZkMjAyZTQyNWI1MmI3
YjIwZTVjNWNmY2VjYWUzZWFiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMjA2MCw3ICsyMDYwLDcgQEAgd2Via2l0Lm9yZy9iLzIzMDQx
OCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2RhdGEtdXJscy9iYXNlNjQu
YW55LncKIAogd2Via2l0Lm9yZy9iLzIyNzk5OCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWVtYmVkLWVsZW1lbnQvZW1i
ZWQtbmV0d29yay1lcnJvci5zdWIuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcv
Yi8yMjc3NjIgWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZy
YWdtZW50LXZhbGlkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzIyNzc2MiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhl
LWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC12YWxpZC5odG1sIFsg
UGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIyNjc4OSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnN0b3JhZ2UvZXZlbnRfY2FzZV9zZW5zaXRpdmUuaHRtbCBbIFBhc3Mg
RmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1h
dXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10
aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAppbmRleCAzMjk0YTBkM2E1MjIwY2YyYWU4ODA0NTJj
ODE4M2U2MDZjZjVjZGM0Li5mNjUxMjc3NzdiMGFlYTYyZTJjYmYxZjllOWM5ZWZiMTYxYTY3ZGJl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0
dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5k
ZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi0KLUZBSUwgIkZsdXNoIGF1dG9m
b2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGFmdGVyIHRoZSBmaXJzdCBhbmltYXRp
b24gZnJhbWUgY2FsbGJhY2tzLCBhbmQgYmVmb3JlIGEgcmVzaXplIGV2ZW50IGluIHRoZSBuZXh0
IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZlbnQgbG9vcC4gYXNzZXJ0X2FycmF5X2VxdWFsczogcHJv
cGVydHkgMCwgZXhwZWN0ZWQgImFuaW1hdGlvbkZyYW1lIiBidXQgZ290ICJhdXRvZm9jdXMiCitG
QUlMICJGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRlcyIgc2hvdWxkIGJlIGhhcHBlbiBiZWZvcmUg
YSBzY3JvbGwgZXZlbnQgYW5kIGFuaW1hdGlvbiBmcmFtZSBjYWxsYmFja3MgYXNzZXJ0X2FycmF5
X2VxdWFsczogYXV0b2ZvY3VzLGFuaW1hdGlvbkZyYW1lIGxlbmd0aHMgZGlmZmVyLCBleHBlY3Rl
ZCBhcnJheSBbImF1dG9mb2N1cyIsICJzY3JvbGwiLCAiYW5pbWF0aW9uRnJhbWUiXSBsZW5ndGgg
MywgZ290IFsiYXV0b2ZvY3VzIiwgImFuaW1hdGlvbkZyYW1lIl0gbGVuZ3RoIDIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jh
c2gtZXhwZWN0ZWQudHh0CmluZGV4IGQyODYyYWIzNTUyNzZlNDkwZDNkZGEyYTk2YjM1MGQ5NmE1
ZmFlMDkuLjlhZDY4ZDZmNDE0MTgzNDkzMDIyYmIzNTU2YjY2NzA0NTg0MGRhYTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1j
cmFzaC1leHBlY3RlZC50eHQKQEAgLTksNCArOSw0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYyNQogICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE1NXgy
MiBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMzQzNDNDM5OSldCiBsYXll
ciBhdCAoOSw2MDUpIHNpemUgMTQxeDE0CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2LDMpIHNp
emUgMTQzeDE1Ci1jYXJldDogcG9zaXRpb24gMSBvZiBib2R5CitjYXJldDogcG9zaXRpb24gMCBv
ZiBjaGlsZCAwIHtESVZ9IG9mIHsjZG9jdW1lbnQtZnJhZ21lbnR9IG9mIGNoaWxkIDIge0lOUFVU
fSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50
ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1
cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBmZDQ5MTUxYjY2MjM4Mjc5NTNmMzhkZjIxNjYzYTNhMmEzMWRi
NGE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3VwZGF0ZS10aGUt
cmVuZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotCi0K
LUZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGFmdGVy
IHRoZSBmaXJzdCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzLCBhbmQgYmVmb3JlIGEgcmVzaXpl
IGV2ZW50IGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB3aW5kb3cgZXZlbnQgbG9vcC4gYXNzZXJ0
X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDMgZ290IDIKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzODlhYjJiM2RjMTQwNjQ4
YzhkOTAzM2RiMGVkOWY2ZWJlNWIwY2QxLi40M2U5ZTJkNGQ3OTZkMDlhOGNjYjA0OWI0Mzk1NzMy
NzE0ODViN2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNDYwNyw3ICs0NjA3LDcgQEAgZmFzdC9kb20vZm9jdXMtc2hpZnQtY3Jhc2guaHRtbCBbIFRp
bWVvdXQgXQogZmFzdC9ldmVudHMvd2hlZWwvcmVkaXNwYXRjaGVkLXdoZWVsLWV2ZW50Lmh0bWwg
WyBUaW1lb3V0IF0KIGZhc3QvaW5saW5lL2NyYXNoLXdoZW4tbmVnYXRpdmUtc3BhY2luZy1wcm9k
dWNlLW5hbi5odG1sIFsgVGltZW91dCBdCiBpbXBvcnRlZC9ibGluay9mYXN0L2RvbS9XaW5kb3cv
b3Blbi13aW5kb3ctZmVhdHVyZXMtZnV6ei5odG1sIFsgVGltZW91dCBdCi0KK2Zhc3QvZm9ybXMv
Zm9ybS1zdWJtaXNzaW9uLWNyYXNoLTMuaHRtbCBbIFRpbWVvdXQgXQogCiB3ZWJraXQub3JnL2Iv
MjI3ODk2IGZhc3QvdGV4dC9wdWEtY2hhcmFjdGVyc1RyZWF0ZWRBc1NwYWNlLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440812</attachid>
            <date>2021-10-11 11:55:34 -0700</date>
            <delta_ts>2021-10-11 13:59:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203139-20211011205533.patch</filename>
            <type>text/plain</type>
            <size>47047</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJhMDA2NDYzZjNkOGRk
NzAxZTg2ODJlNGIzZmJiZjY5NGVkNWVkMC4uODIyNTljNmU4MWQ1NWUwYTAyY2JlZTc3NWVmNDhm
Zjk5NzQxYTZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTEwLTA1ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMzEzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzOTcwMTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBXZWJLaXQgbWF0Y2gg
dGhlIG5ldyBhdXRvZm9jdXMgc3BlYzoKKyAgICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJh
Y3Rpb24uaHRtbCNmb2N1c2luZy1zdGVwcworCisgICAgICAgIFRoZSBuZXcgYXV0b2ZvY3VzIGJl
aGF2aW9yIHF1ZXVlcyB1cCBhbGwgYXV0b2ZvY3VzYWJsZSBlbGVtZW50cyAodmlzaWJsZSBvciBu
b3QpLCB0aGVuCisgICAgICAgIGZpcmVzIGF1dG9mb2N1cyBhc3luY2hyb25vdXNseSBkdXJpbmcg
dGhlICJ1cGRhdGUgcmVuZGVyaW5nIiBzdGVwcywgdW5saWtlIHRoZSBvbGQgYmVoYXZpb3IKKyAg
ICAgICAgd2hpY2ggcnVucyBmb2N1cyBzeW5jaHJvbm91c2x5IHdoZW5ldmVyIGl0IGZpbmRzIGEg
dmlzaWJsZSBhdXRvZm9jdXNhYmxlIGVsZW1lbnQuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2gg
YnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjphcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcyk6CisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNBdXRvZm9jdXNQ
cm9jZXNzZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEF1dG9mb2N1
c1Byb2Nlc3NlZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cyk6CisgICAgICAgICogZG9t
L0VsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3Rvcik6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9y
QXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Omhhc0F1dG9mb2N1c2VkIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6
OnNldEF1dG9mb2N1c2VkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6dXBkYXRlUmVuZGVyaW5nKToKKyAgICAgICAgKiBwYWdlL1Bh
Z2UuaDoKKwogMjAyMS0xMC0xMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAog
ICAgICAgICBBZGQgc3VwcG9ydCBmb3IgaXRlcmF0aW5nIEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5k
bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDliN2RlMzJjNTI1MDBkODYxNzIxNDNkNTg4
ZGViY2UxYTkyOTkyYzcuLjhlMTZmNjg3YjBmNjU5MTBiODBlNTFhOTYyZjYzYzZkMDIyZmY3MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDQ3MCw2ICs0NDcwLDQwIEBAIHZvaWQgRG9j
dW1lbnQ6OmFkanVzdEZvY3VzZWROb2RlT25Ob2RlUmVtb3ZhbChOb2RlJiBub2RlLCBOb2RlUmVt
b3ZhbCBub2RlUmVtb3ZhCiAgICAgfQogfQogCit2b2lkIERvY3VtZW50OjphcHBlbmRBdXRvZm9j
dXNDYW5kaWRhdGUoRWxlbWVudCYgY2FuZGlkYXRlKQoreworICAgIEFTU0VSVChpc1RvcERvY3Vt
ZW50KCkpOworICAgIEFTU0VSVCghbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCk7CisgICAgYXV0byBp
dCA9IG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5maW5kSWYoWyZjYW5kaWRhdGVdKGF1dG8mIGMpIHsK
KyAgICAgICAgcmV0dXJuIGMgPT0gJmNhbmRpZGF0ZTsKKyAgICB9KTsKKyAgICBpZiAoaXQgIT0g
bV9hdXRvZm9jdXNDYW5kaWRhdGVzLmVuZCgpKQorICAgICAgICBtX2F1dG9mb2N1c0NhbmRpZGF0
ZXMucmVtb3ZlKGl0KTsKKyAgICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuYXBwZW5kKG1ha2VXZWFr
UHRyKGNhbmRpZGF0ZSkpOworfQorCit2b2lkIERvY3VtZW50OjpmbHVzaEF1dG9mb2N1c0NhbmRp
ZGF0ZXMoKQoreworICAgIEFTU0VSVChpc1RvcERvY3VtZW50KCkpOworICAgIGlmIChtX2lzQXV0
b2ZvY3VzUHJvY2Vzc2VkKQorICAgICAgICByZXR1cm47CisgICAgd2hpbGUgKCFtX2F1dG9mb2N1
c0NhbmRpZGF0ZXMuaXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0ciBlbGVtZW50ID0gbV9hdXRv
Zm9jdXNDYW5kaWRhdGVzLnRha2VGaXJzdCgpLmdldCgpOworICAgICAgICBpZiAoIWVsZW1lbnQg
fHwgIWVsZW1lbnQtPmRvY3VtZW50KCkuaXNGdWxseUFjdGl2ZSgpIHx8ICZlbGVtZW50LT5kb2N1
bWVudCgpLnRvcERvY3VtZW50KCkgIT0gdGhpcykKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICBpZiAoYXV0byogcGFyc2VyID0gc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCk7IHBhcnNl
ciAmJiBwYXJzZXItPmhhc1NjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVldHMoKSkKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBpZ25vcmUgaWYgdGhlIGluY2x1
c2l2ZSBhbmNlc3RvciBkb2N1bWVudHMgaGFzIGEgdGFyZ2V0IGVsZW1lbnQuCisgICAgICAgIC8v
IEZJWE1FOiBVc2UgdGhlIHJlc3VsdCBvZiBnZXR0aW5nIHRoZSBmb2N1c2FibGUgYXJlYSBmb3Ig
ZWxlbWVudCBpZiBlbGVtZW50IGlzIG5vdCBmb2N1c2FibGUuCisgICAgICAgIGlmIChlbGVtZW50
LT5pc0ZvY3VzYWJsZSgpKSB7CisgICAgICAgICAgICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xl
YXIoKTsKKyAgICAgICAgICAgIHNldEF1dG9mb2N1c1Byb2Nlc3NlZCgpOworICAgICAgICAgICAg
ZWxlbWVudC0+cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgfQorfQorCiB2b2lkIERvY3VtZW50Ojpob3ZlcmVkRWxlbWVu
dERpZERldGFjaChFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmICghbV9ob3ZlcmVkRWxlbWVu
dCB8fCAmZWxlbWVudCAhPSBtX2hvdmVyZWRFbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCAzODZlMzc4MjgwODhmM2ZkMWVhN2JmYzgwNjgyZTk1YTg1MDg5MDA2Li5hMjI1NGQxNThlNDM5
NmFhOTE3YjI1NmI3NjAyNDFkZjAwZjY2ZDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNzg4
LDYgKzc4OCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGp1c3RGb2N1c2VkTm9kZU9uTm9kZVJl
bW92YWwoTm9kZSYsIE5vZGVSZW1vdmFsID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogICAgIHZvaWQg
YWRqdXN0Rm9jdXNOYXZpZ2F0aW9uTm9kZU9uTm9kZVJlbW92YWwoTm9kZSYsIE5vZGVSZW1vdmFs
ID0gTm9kZVJlbW92YWw6Ok5vZGUpOwogCisgICAgYm9vbCBpc0F1dG9mb2N1c1Byb2Nlc3NlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQ7IH0KKyAgICB2b2lkIHNldEF1
dG9mb2N1c1Byb2Nlc3NlZCgpIHsgbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCA9IHRydWU7IH0KKyAg
ICB2b2lkIGFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZShFbGVtZW50Jik7CisgICAgdm9pZCBmbHVz
aEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKKwogICAgIHZvaWQgaG92ZXJlZEVsZW1lbnREaWREZXRh
Y2goRWxlbWVudCYpOwogICAgIHZvaWQgZWxlbWVudEluQWN0aXZlQ2hhaW5EaWREZXRhY2goRWxl
bWVudCYpOwogCkBAIC0xODAxLDYgKzE4MDYsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVl
X3B0cjxET01JbXBsZW1lbnRhdGlvbj4gbV9pbXBsZW1lbnRhdGlvbjsKIAogICAgIFJlZlB0cjxO
b2RlPiBtX2ZvY3VzTmF2aWdhdGlvblN0YXJ0aW5nTm9kZTsKKyAgICBEZXF1ZTxXZWFrUHRyPEVs
ZW1lbnQ+PiBtX2F1dG9mb2N1c0NhbmRpZGF0ZXM7CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG1fZm9j
dXNlZEVsZW1lbnQ7CiAgICAgUmVmUHRyPEVsZW1lbnQ+IG1faG92ZXJlZEVsZW1lbnQ7CiAgICAg
UmVmUHRyPEVsZW1lbnQ+IG1fYWN0aXZlRWxlbWVudDsKQEAgLTIxMTMsNiArMjExOSw4IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2lzU3ludGhlc2l6ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9p
c05vblJlbmRlcmVkUGxhY2Vob2xkZXIgeyBmYWxzZSB9OwogCisgICAgYm9vbCBtX2lzQXV0b2Zv
Y3VzUHJvY2Vzc2VkIHsgZmFsc2UgfTsKKwogICAgIGJvb2wgbV9zYXdFbGVtZW50c0luS25vd25O
YW1lc3BhY2VzIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNTcmNkb2NEb2N1bWVudCB7IGZhbHNl
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA0ODBjZjgwOWZjMWUyNDZjM2QwNjZlY2Qz
Yzk5YjM2NDc5Mjk3N2E5Li40YWJhZjJhZTNmMDY3NWYzZGZmNjAwZjRhMjE1NmExY2JmMzBlOTFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0zMTc2LDYgKzMxNzYsMTEgQEAgdm9pZCBFbGVt
ZW50OjpibHVyKCkKICAgICB9CiB9CiAKK3ZvaWQgRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0Zv
ckF1dG9mb2N1cygpCit7CisgICAgZm9jdXMoKTsKK30KKwogdm9pZCBFbGVtZW50OjpkaXNwYXRj
aEZvY3VzSW5FdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFbGVtZW50
PiYmIG9sZEZvY3VzZWRFbGVtZW50KQogewogICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04oU2NyaXB0RGlzYWxsb3dlZFNjb3BlOjpJbk1haW5UaHJlYWQ6OmlzU2Ny
aXB0QWxsb3dlZCgpIHx8ICFpc0luV2ViUHJvY2VzcygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4
IDhkN2I2MjRiYmNmNzhhM2U1YWZhNjg4YWNlM2NhYjA3YTJhNTAxNTguLjUwY2U3Y2I5ZDNlYzA2
NmRmYzAwOTE3MTkxYWM1ODRjNWMwYzFhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDIyLDYg
KzQyMiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlZlB0cjxFbGVtZW50PiBmb2N1c0FwcGVh
cmFuY2VVcGRhdGVUYXJnZXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJh
bmNlKFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVj
dGlvblJldmVhbE1vZGU6OlJldmVhbCk7CiAgICAgdmlydHVhbCB2b2lkIGJsdXIoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgcnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpOwogCiAgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIGlubmVySFRNTCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBvdXRlckhUTUwoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwCmluZGV4IDIzMzcwZjI0ZWI4MWQ5ZTVmODdlZGFhNDQ1MjM2MmZm
YmRlYmFjNWIuLjc4MDAwY2Q1ZmM5ZmY5OTUxNDVkMzZiYmFjZDczY2IyMzk3YmM3ZDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtNzIs
NyArNzIsNiBAQCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvYwogICAgICwgbV93aWxsVmFsaWRhdGUo
dHJ1ZSkKICAgICAsIG1faXNWYWxpZCh0cnVlKQogICAgICwgbV93YXNDaGFuZ2VkU2luY2VMYXN0
Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudChmYWxzZSkKLSAgICAsIG1faGFzQXV0b2ZvY3VzZWQoZmFs
c2UpCiB7CiAgICAgc2V0SGFzQ3VzdG9tU3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CkBAIC0y
MDMsMTMgKzIwMiwxMSBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlcXVpcmVkU3Rh
dGVDaGFuZ2VkKCkKIAogc3RhdGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKGNvbnN0IEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQmIGVsZW1lbnQpCiB7Ci0gICAgaWYgKCFlbGVtZW50LnJlbmRlcmVyKCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWVsZW1lbnQuaGFzQXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihhdXRvZm9jdXNBdHRyKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgYXV0byYgZG9jdW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7Ci0gICAgaWYgKCFl
bGVtZW50LmlzQ29ubmVjdGVkKCkgfHwgIWRvY3VtZW50LnJlbmRlclZpZXcoKSkKKyAgICBpZiAo
IWVsZW1lbnQuaXNDb25uZWN0ZWQoKSB8fCAhZG9jdW1lbnQuaGFzQnJvd3NpbmdDb250ZXh0KCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZG9jdW1lbnQuaXNTYW5kYm94ZWQoU2Fu
ZGJveEF1dG9tYXRpY0ZlYXR1cmVzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdl
IHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgpAQCAtMjIx
LDExICsyMTgsMTAgQEAgc3RhdGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKGNvbnN0IEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAK
LSAgICBpZiAoZWxlbWVudC5oYXNBdXRvZm9jdXNlZCgpKQorICAgIGlmIChkb2N1bWVudC50b3BE
b2N1bWVudCgpLmlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIC8vIEZJWE1FOiBTaG91bGQgdGhpcyBzZXQgb2YgaGFzVGFnTmFtZSBjaGVja3MgYmUg
cmVwbGFjZWQgYnkgYQotICAgIC8vIHZpcnR1YWwgbWVtYmVyIGZ1bmN0aW9uPworICAgIC8vIEZJ
WE1FOiBhdXRvZm9jdXMgaXMgYSBnbG9iYWwgYXR0cmlidXRlLgogICAgIGlmIChpczxIVE1MSW5w
dXRFbGVtZW50PihlbGVtZW50KSkKICAgICAgICAgcmV0dXJuICFkb3duY2FzdDxIVE1MSW5wdXRF
bGVtZW50PihlbGVtZW50KS5pc0lucHV0VHlwZUhpZGRlbigpOwogICAgIGlmIChlbGVtZW50Lmhh
c1RhZ05hbWUoc2VsZWN0VGFnKSkKQEAgLTI0NywyMiArMjQzLDYgQEAgdm9pZCBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMoKQogICAgIC8vIG9uIHRoZSByZW5kZXJl
ci4KICAgICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVs
ZW1lbnQoKTsKLQotICAgIGlmIChzaG91bGRBdXRvZm9jdXMoKnRoaXMpKSB7Ci0gICAgICAgIHNl
dEF1dG9mb2N1c2VkKCk7Ci0KLSAgICAgICAgUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+
IGVsZW1lbnQgPSB0aGlzOwotICAgICAgICBSZWZQdHIgZnJhbWVWaWV3ID0gZG9jdW1lbnQoKS52
aWV3KCk7Ci0gICAgICAgIGlmIChmcmFtZVZpZXcgJiYgZnJhbWVWaWV3LT5sYXlvdXRDb250ZXh0
KCkuaXNJbkxheW91dCgpKSB7Ci0gICAgICAgICAgICBmcmFtZVZpZXctPnF1ZXVlUG9zdExheW91
dENhbGxiYWNrKFtlbGVtZW50XSB7Ci0gICAgICAgICAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBT
ZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBTdHlsZTo6ZGVwcmVjYXRlZFF1
ZXVlUG9zdFJlc29sdXRpb25DYWxsYmFjayhbZWxlbWVudF0gewotICAgICAgICAgICAgICAgIGVs
ZW1lbnQtPmZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFy
dCB9KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfQogfQogCiB2b2lkIEhUTUxG
b3JtQ29udHJvbEVsZW1lbnQ6OmRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50JiBvbGREb2N1
bWVudCwgRG9jdW1lbnQmIG5ld0RvY3VtZW50KQpAQCAtMzAxLDYgKzI4MSwxMCBAQCBOb2RlOjpJ
bnNlcnRlZEludG9BbmNlc3RvclJlc3VsdCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjppbnNlcnRl
ZEludG9BbmNlc3RvcihJbgogICAgICAgICBzZXRBbmNlc3RvckRpc2FibGVkKGNvbXB1dGVJc0Rp
c2FibGVkQnlGaWVsZHNldEFuY2VzdG9yKCkpOwogICAgIEhUTUxFbGVtZW50OjppbnNlcnRlZElu
dG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7CiAgICAgRm9y
bUFzc29jaWF0ZWRFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBw
YXJlbnRPZkluc2VydGVkVHJlZSk7CisKKyAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKCp0aGlzKSkK
KyAgICAgICAgZG9jdW1lbnQoKS50b3BEb2N1bWVudCgpLmFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0
ZSgqdGhpcyk7CisKICAgICByZXR1cm4gSW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQ6Ok5lZWRz
UG9zdEluc2VydGlvbkNhbGxiYWNrOwogfQogCkBAIC0zOTYsNiArMzgwLDExIEBAIGJvb2wgSFRN
TEZvcm1Db250cm9sRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0CiAjZW5kaWYKIH0K
IAordm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2Zv
Y3VzKCkKK3sKKyAgICBmb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJl
dEF0U3RhcnQgfSk7Cit9CisKIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6bWF0Y2hlc1Zh
bGlkUHNldWRvQ2xhc3MoKSBjb25zdAogewogICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBp
c1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oCmluZGV4IDQxZDljMzIzMGM1M2IyNmFlY2IxNzQyZmNlZDdkYWU1
MTc2YzNlNTMuLmZhMmY3NTdhNDdkZmIyZmE1ZWU5ZGVmM2NlNGIyMmFiMTZhZjAyYmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xMTYsOSAr
MTE2LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNSZWFkT25seSgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNSZWFkT25seTsgfQogICAgIGJvb2wgaXNEaXNhYmxlZE9yUmVhZE9ubHkoKSBjb25zdCB7IHJl
dHVybiBpc0Rpc2FibGVkRm9ybUNvbnRyb2woKSB8fCBtX2lzUmVhZE9ubHk7IH0KIAotICAgIGJv
b2wgaGFzQXV0b2ZvY3VzZWQoKSBjb25zdCB7IHJldHVybiBtX2hhc0F1dG9mb2N1c2VkOyB9Ci0g
ICAgdm9pZCBzZXRBdXRvZm9jdXNlZCgpIHsgbV9oYXNBdXRvZm9jdXNlZCA9IHRydWU7IH0KLQog
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBhdXRvY29tcGxldGUoKSBjb25zdDsKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldEF1dG9jb21wbGV0ZShjb25zdCBTdHJpbmcmKTsKIApAQCAtMTcw
LDYgKzE2Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWZGb3JtQXNzb2NpYXRlZEVsZW1lbnQo
KSBvdmVycmlkZSB7IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZkZvcm1Bc3NvY2lhdGVkRWxlbWVu
dCgpIG92ZXJyaWRlIHsgZGVyZWYoKTsgfQogCisgICAgdm9pZCBydW5Gb2N1c2luZ1N0ZXBzRm9y
QXV0b2ZvY3VzKCkgZmluYWw7CisKICAgICBib29sIG1hdGNoZXNWYWxpZFBzZXVkb0NsYXNzKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBtYXRjaGVzSW52YWxpZFBzZXVkb0NsYXNzKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKQEAgLTIxNSw4ICsyMTQsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVk
IG1faXNWYWxpZCA6IDE7CiAKICAgICB1bnNpZ25lZCBtX3dhc0NoYW5nZWRTaW5jZUxhc3RGb3Jt
Q29udHJvbENoYW5nZUV2ZW50IDogMTsKLQotICAgIHVuc2lnbmVkIG1faGFzQXV0b2ZvY3VzZWQg
OiAxOwogfTsKIAogY2xhc3MgRGVsYXllZFVwZGF0ZVZhbGlkaXR5U2NvcGUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKaW5kZXggODg1MzNiM2QyYjM3MTgyZTE2MDUyZmVkMTI5MzY4YTQ2ZTQyMjlhZi4uZDdi
YmM0Y2JkNjgwMzc1YzRlYTk4NWUyNmU3YWJkY2JiMGM2ZTBhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CkBAIC0xNTYwLDcgKzE1NjAsMTAgQEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5kZXJpbmcoKQogICAg
ICAgICBmb3JFYWNoRG9jdW1lbnQocGVyRG9jdW1lbnRGdW5jdGlvbik7CiAgICAgfTsKIAotICAg
IC8vIEZJWE1FOiBGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRlcy4KKyAgICBydW5Qcm9jZXNzaW5n
U3RlcChSZW5kZXJpbmdVcGRhdGVTdGVwOjpGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMsIFtdIChE
b2N1bWVudCYgZG9jdW1lbnQpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50LmlzVG9wRG9jdW1lbnQo
KSkKKyAgICAgICAgICAgIGRvY3VtZW50LmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpOworICAg
IH0pOwogCiAgICAgcnVuUHJvY2Vzc2luZ1N0ZXAoUmVuZGVyaW5nVXBkYXRlU3RlcDo6UmVzaXpl
LCBbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CiAgICAgICAgIGRvY3VtZW50LnJ1blJlc2l6ZVN0
ZXBzKCk7CkBAIC0zNjA1LDYgKzM2MDgsNyBAQCBTcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb24m
IFBhZ2U6OnNwZWVjaFJlY29nbml0aW9uQ29ubmVjdGlvbigpCiBXVEY6OlRleHRTdHJlYW0mIG9w
ZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiB0cywgUmVuZGVyaW5nVXBkYXRlU3RlcCBzdGVwKQog
ewogICAgIHN3aXRjaCAoc3RlcCkgeworICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6Rmx1
c2hBdXRvZm9jdXNDYW5kaWRhdGVzOiB0cyA8PCAiRmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzIjsg
YnJlYWs7CiAgICAgY2FzZSBSZW5kZXJpbmdVcGRhdGVTdGVwOjpSZXNpemU6IHRzIDw8ICJSZXNp
emUiOyBicmVhazsKICAgICBjYXNlIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlNjcm9sbDogdHMgPDwg
IlNjcm9sbCI7IGJyZWFrOwogICAgIGNhc2UgUmVuZGVyaW5nVXBkYXRlU3RlcDo6TWVkaWFRdWVy
eUV2YWx1YXRpb246IHRzIDw8ICJNZWRpYVF1ZXJ5RXZhbHVhdGlvbiI7IGJyZWFrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaAppbmRleCA5NGY4YjhkYTkyMDY5NjM3ODhjNTE2MTY1M2U1MDVjY2MwMDUzODM5Li5iNTNm
NjhlNjMwZTMyMmU5NzQ0YTRiZmJjOTA3YjllZWFlMmU1MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAt
MjA4LDkgKzIwOCwxMSBAQCBlbnVtIGNsYXNzIFJlbmRlcmluZ1VwZGF0ZVN0ZXAgOiB1aW50MTZf
dCB7CiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAgICBTY3JvbGxpbmdUcmVlVXBkYXRl
ICAgICAgICAgICAgID0gMSA8PCAxMywKICNlbmRpZgorICAgIEZsdXNoQXV0b2ZvY3VzQ2FuZGlk
YXRlcyAgICAgICAgPSAxIDw8IDE0LAogfTsKIAogY29uc3RleHByIE9wdGlvblNldDxSZW5kZXJp
bmdVcGRhdGVTdGVwPiB1cGRhdGVSZW5kZXJpbmdTdGVwcyA9IHsKKyAgICBSZW5kZXJpbmdVcGRh
dGVTdGVwOjpGbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMsCiAgICAgUmVuZGVyaW5nVXBkYXRlU3Rl
cDo6UmVzaXplLAogICAgIFJlbmRlcmluZ1VwZGF0ZVN0ZXA6OlNjcm9sbCwKICAgICBSZW5kZXJp
bmdVcGRhdGVTdGVwOjpNZWRpYVF1ZXJ5RXZhbHVhdGlvbiwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzOTZhY2MzYTFhNDA5
YmE5ZGYxM2QyYmEyZGRkMWM1YjUyODgzYWViLi45YmEzMWY0MDk5YTYyMTk4OTc5OWNiZDkzNTk3
MGU4Y2E3OWNiMDU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMTAtMDUgIFRpbSBOZ3V5
ZW4gIDxudGltQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgbmV3IGF1dG9mb2N1cyBi
ZWhhdmlvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjAzMTM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjM5NzAxOT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFdlYktpdCBtYXRjaCB0aGUg
bmV3IGF1dG9mb2N1cyBzcGVjOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvbXVsdGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUKKyAg
ICAgICAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlv
bi5odG1sI2ZvY3VzaW5nLXN0ZXBzCisKKyAgICAgICAgVGhlIG5ldyBhdXRvZm9jdXMgYmVoYXZp
b3IgcXVldWVzIHVwIGFsbCBhdXRvZm9jdXNhYmxlIGVsZW1lbnRzICh2aXNpYmxlIG9yIG5vdCks
IHRoZW4KKyAgICAgICAgZmlyZXMgYXV0b2ZvY3VzIGFzeW5jaHJvbm91c2x5IGR1cmluZyB0aGUg
InVwZGF0ZSByZW5kZXJpbmciIHN0ZXBzLCB1bmxpa2UgdGhlIG9sZCBiZWhhdmlvcgorICAgICAg
ICB3aGljaCBydW5zIGZvY3VzIHN5bmNocm9ub3VzbHkgd2hlbmV2ZXIgaXQgZmluZHMgYSB2aXNp
YmxlIGF1dG9mb2N1c2FibGUgZWxlbWVudC4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBS
eW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZh
c3QvZG9tL1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxsLWZyYW1lLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS93
aW5kb3ctaW5uZXItd2lkdGgtY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9m
b2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4uaHRtbDoKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2F1dG9mb2N1cy1vcGVyYS0wMDIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9m
b2N1cy1vcGVyYS0wMDMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVy
YS0wMDYuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dC10eXBlLWluLWZvY3VzLWhhbmRs
ZXIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1pcy1yZW1v
dmUtaW4tZXZlbnRoYW5kbGVyLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3BhZ2UtY2Fj
aGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhl
LWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
bGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlucHV0LWNyYXNoLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRh
dGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMTAtMTEgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNv
bT4KIAogICAgICAgICBJbXBvcnQgbmV3IHRvcCBsYXllciBXUFRzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCA4NzczNzZlMzQ3ZGY0NmQxOTlkOWVkNzZlMTU5NTVkOTU1ZWZhNGFk
Li5jY2I1ZjhiMGMxYzQ0YmUyYWQwNWM5Yzc0MmM1MmIyNGMxMzdhZDRkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMS0xMC0wNSAgVGltIE5ndXll
biAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBuZXcgYXV0b2ZvY3VzIGJl
aGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMxMzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2Mzk3MDE5PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgV2ViS2l0IG1hdGNoIHRoZSBu
ZXcgYXV0b2ZvY3VzIHNwZWM6CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9y
Zy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCN0aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZQorICAg
ICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2ludGVyYWN0aW9u
Lmh0bWwjZm9jdXNpbmctc3RlcHMKKworICAgICAgICBUaGUgbmV3IGF1dG9mb2N1cyBiZWhhdmlv
ciBxdWV1ZXMgdXAgYWxsIGF1dG9mb2N1c2FibGUgZWxlbWVudHMgKHZpc2libGUgb3Igbm90KSwg
dGhlbgorICAgICAgICBmaXJlcyBhdXRvZm9jdXMgYXN5bmNocm9ub3VzbHkgZHVyaW5nIHRoZSAi
dXBkYXRlIHJlbmRlcmluZyIgc3RlcHMsIHVubGlrZSB0aGUgb2xkIGJlaGF2aW9yCisgICAgICAg
IHdoaWNoIHJ1bnMgZm9jdXMgc3luY2hyb25vdXNseSB3aGVuZXZlciBpdCBmaW5kcyBhIHZpc2li
bGUgYXV0b2ZvY3VzYWJsZSBlbGVtZW50LgorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0
aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQt
ZW1wdHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
dGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJh
Z21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3Vt
ZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9m
aXJzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50
ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rp
b24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZvY3VzYWJsZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9u
LXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQ6IEV4cGVjdGVkIGNoYW5n
ZSBzaW5jZSBpbnB1dCBhdXRvZm9jdXMgbm93IHBsYWNlcyBjYXJldCBhdCBzdGFydAorCiAyMDIx
LTEwLTExICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wb3J0IG5l
dyB0b3AgbGF5ZXIgV1BUcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZTNhNDM3NzI5NmIxMmY2NjZl
NTliMDBmZjYwOGVjZGI0OGZlZDlkOC4uZWQ1OTUyNzExNGE2ZDU3YzM3M2UyYjUzZTQ5ZGNkNzBm
MWQ1ODc5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC04MDYsNyArODA2LDYgQEAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWhpc3Rvcnkt
aW50ZXJmYWNlLzAwMi4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93
c2Vycy9oaXN0b3J5L3RoZS1oaXN0b3J5LWludGVyZmFjZS9jb21iaW5hdGlvbl9oaXN0b3J5XzAw
Mi5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1oaXN0b3J5LWludGVyZmFjZS9jb21iaW5hdGlvbl9o
aXN0b3J5XzAwMy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mvc2NyaXB0aW5nLTEvdGhlLXNjcmlwdC1lbGVtZW50L2V4
ZWN1dGlvbi10aW1pbmcvMDU4Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0
cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy93aWRnZXRzL2Jhc2VsaW5l
LWFsaWdubWVudC1hbmQtb3ZlcmZsb3cudGVudGF0aXZlLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L21lZGlhLWVsZW1lbnRzL2xvYWRpbmctdGhlLW1lZGlhLXJlc291cmNlL3Jlc291cmNl
LXNlbGVjdGlvbi1wb2ludGVyLXJlbW92ZS1zb3VyY2UuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvdGhlLWlmcmFtZS1lbGVtZW50L2Nyb3NzLW9yaWdpbi10by13aG9tLndpbmRvdy5odG1s
IFsgRmFpbHVyZSBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxsLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXNjcm9sbC1pZ25vcmUtbnVsbC1mcmFtZS5odG1sCmluZGV4IGY2
YTYxZjFhM2ZkZjY4MDZhODc1YjUxOWVjZWQzODc1YjM5OGNmMjIuLmM3MTRjZDQwMTNlYWIwNTRl
NzM3MjBiZTZmM2JjM2Q2ZGRkZjE0M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctc2Nyb2xsLWlnbm9yZS1udWxsLWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1zY3JvbGwtaWdub3JlLW51bGwtZnJhbWUuaHRt
bApAQCAtMiwxNCArMiwyMCBAQAogPHNjcmlwdD4KIAogZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICB9CiAKICAgICBzZWxlY3QxLmFwcGVuZENoaWxkKGlucHV0UGFyZW50
KTsKICAgICBpbnB1dDEuYXV0b2ZvY3VzID0gdHJ1ZTsKICAgICBpbnB1dDEuc2V0U2VsZWN0aW9u
UmFuZ2UoMSwgMCk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dDEpOwotICAg
IGZyYW1lMS5jb250ZW50V2luZG93LnNjcm9sbEJ5KHtsZWZ0OiAxLCB0b3A6IDB9KTsKKyAgICBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBmcmFtZTEuY29udGVudFdpbmRv
dy5zY3JvbGxCeSh7bGVmdDogMSwgdG9wOiAwfSk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOwogfQog
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUt
Y3Jhc2gtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNy
YXNoLTItZXhwZWN0ZWQudHh0CmluZGV4IGVjOTgxZWFjMWFkYmZiNGJkZGZiY2FiZGUzNWM0MTdj
YTYxMzEwOTguLmJmMTViYTdiZTIzOGE5MTRiNGQzMmJiOTMyMGFmYjUyYThjYjJkODQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fkb3B0LW5vZGUtY3Jhc2gtMi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLWV4cGVjdGVk
LnR4dApAQCAtMSwyICsxLDQgQEAKLVRlc3RzIGZvciBhIGNyYXNoIGR1ZSB0byBhZG9wdGluZyBh
IERPTSBub2RlIGR1cmluZyBET01Gb2N1c091dCBldmVudC4gVGVzdCBwYXNzZXMgaWYgaXQgZG9l
c24ndCBjcmFzaC4KK1Rlc3RzIGZvciBhIGNyYXNoIGR1ZSB0byBhZG9wdGluZyBhIERPTSBub2Rl
IHdoZW4gdW5mb2N1c2luZy4gVGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4KIAorUEFT
UzogRm9jdXNlZCBub2RlIHNob3VsZCBiZSBrZXlnZW4KK1BBU1M6IEZvY3VzZWQgbm9kZSBzaG91
bGQgbm8gbG9uZ2VyIGJlIGtleWdlbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
YWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2Rl
LWNyYXNoLTIuaHRtbAppbmRleCBmNjhkMDE3YmIzMDdmZDIyYWE2Mzg4MDRjYmQ2NzZmMzQwM2Jh
OTY2Li5mYWVlMTZjMjdjY2ExOGE4NWU3NjE5ZGU0ZGMyNDlmZmRkNjQ4YjY3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9hZG9wdC1ub2RlLWNyYXNoLTIuaHRtbApAQCAtMSw2ICsxLDYgQEAK
IDwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgS2V5Z2VuRWxlbWVudEVu
YWJsZWQ9dHJ1ZSBdIC0tPgogPGh0bWw+Ci08ZGl2PlRlc3RzIGZvciBhIGNyYXNoIGR1ZSB0byBh
ZG9wdGluZyBhIERPTSBub2RlIGR1cmluZyBET01Gb2N1c091dCBldmVudC4gVGVzdCBwYXNzZXMg
aWYgaXQgZG9lc24ndCBjcmFzaC48L2Rpdj4KKzxkaXY+VGVzdHMgZm9yIGEgY3Jhc2ggZHVlIHRv
IGFkb3B0aW5nIGEgRE9NIG5vZGUgd2hlbiB1bmZvY3VzaW5nLiBUZXN0IHBhc3NlcyBpZiBpdCBk
b2Vzbid0IGNyYXNoLjwvZGl2PgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewog
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwpAQCAtMTQsMjkgKzE0LDMyIEBAIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogICAgIDwvaWZyYW1lPgogICA8L2FwcGxldD4KICAgPGhlYWRlciBp
ZD0iaGVhZGVyMSI+Ci0gICAgPGtleWdlbiBhdXRvZm9jdXM+CisgICAgPGtleWdlbiBpZD0ia2V5
Z2VuIiBhdXRvZm9jdXM+CiAgIDwvaGVhZGVyPgogPC9kaXY+Cis8ZGl2IGlkPSJsb2dzIj48L2Rp
dj4KIDxzY3JpcHQ+Ci1mdW5jdGlvbiBkb2l0KCkKLXsKLSAgICBkaXYyLmFkZEV2ZW50TGlzdGVu
ZXIoIkRPTUZvY3VzT3V0IiwgZnVuY3Rpb24gKCkgewotICAgICAgICBkb2N1bWVudC5pbXBsZW1l
bnRhdGlvbi5jcmVhdGVEb2N1bWVudCgiIiwgIiIsIG51bGwpLmFkb3B0Tm9kZShkaXYyKTsKLSAg
ICAgICAgc2V0VGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykKLSAgICAgICAgICAgICAgICBpbnRlcm5hbHMudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzQW5kUnVuUG9zdExheW91dFRhc2tzKCk7Ci0gICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgICAgIH0sIDApOwotICAgIH0sIGZhbHNlKTsKLSAgICBkaXYxLm91dGVySFRNTCA9IGhlYWRl
cjEub3V0ZXJIVE1MOworZnVuY3Rpb24gYXNzZXJ0X3RydWUoYXNzZXJ0LCB0ZXh0KSB7CisgICAg
Y29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgaWYgKGFzc2Vy
dCkKKyAgICAgICAgZGl2LnRleHRDb250ZW50ID0gIlBBU1M6ICIgKyB0ZXh0OworICAgIGVsc2UK
KyAgICAgICAgZGl2LnRleHRDb250ZW50ID0gIkZBSUw6ICIgKyB0ZXh0OworICAgIGxvZ3MuYXBw
ZW5kKGRpdik7CiB9Ci13aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisKK2Z1bmN0aW9uIGRv
aXQoKSB7CisgICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBrZXlnZW4s
ICJGb2N1c2VkIG5vZGUgc2hvdWxkIGJlIGtleWdlbiIpOworICAgIGRpdjEub3V0ZXJIVE1MID0g
aGVhZGVyMS5vdXRlckhUTUw7CisgICAgYXNzZXJ0X3RydWUoZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dCAhPSBrZXlnZW4sICJGb2N1c2VkIG5vZGUgc2hvdWxkIG5vIGxvbmdlciBiZSBrZXlnZW4iKTsK
KyAgICBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVudCgiIiwgIiIsIG51bGwp
LmFkb3B0Tm9kZShkaXYyKTsKICAgICBpZiAod2luZG93LmludGVybmFscykKICAgICAgICAgaW50
ZXJuYWxzLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlv
dXRUYXNrcygpOwotICAgIGVsc2UKLSAgICAgICAgZGl2Mi5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKLSAgICBzZXRUaW1lb3V0KCJkb2l0KCkiLCAxKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQord2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShkb2l0KTsKK307CiA8L3Nj
cmlwdD4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3dpbmRvdy1p
bm5lci13aWR0aC1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LWlubmVy
LXdpZHRoLWNyYXNoLmh0bWwKaW5kZXggYmM3NWQzZjM3MjJmMTY0ZGIxNjEwZTVmMWFjMGNmNzlk
YmZmMDIyNy4uOTM5MzVmMDU3OGU3YjI4M2MzYzhmYTM5MzllM2UzNmFjZWVjMTIzNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LWlubmVyLXdpZHRoLWNyYXNoLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LWlubmVyLXdpZHRoLWNyYXNoLmh0bWwK
QEAgLTYsOCArNiw4IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKIAogZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBidXR0b24uYXV0b2ZvY3Vz
ID0gdHJ1ZTsKICAgICBib2R5LmFwcGVuZENoaWxkKHBhcmFncmFwaCk7CisgICAgYnV0dG9uLmZv
Y3VzKCk7CiAgICAgdmFyIHRlc3RWYWwgPSB3aW5kb3dbMF0uaW5uZXJXaWR0aDsKIH0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13aXRo
LWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRv
Zm9jdXMtaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtZXhwZWN0ZWQudHh0CmluZGV4IGNm
ODZmYjRjNWVhNjkwM2ViMDhhNzBlMjY0YTAyNzg5YjYyMDg3OTQuLjUwYWNmYjY3ZGY4OWIwMTUx
MTc1N2YyMzkxNWI3MGY0YWZiYzdkOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvYXV0b2ZvY3VzLWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxs
b3ctc2NyaXB0cy1leHBlY3RlZC50eHQKQEAgLTEsMiArMSw3IEBACi1DT05TT0xFIE1FU1NBR0U6
IElOUFVUCi1UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBhY3RpdmVFbGVtZW50IGlzIHRoZSBpbnB1
dCBlbGVtZW50IHJhdGhlciB0aGFuIHRoZSBib2R5ICh3aGljaCBpdCB3b3VsZCBiZSBpZiB0aGUg
c2FuZGJveCBkaWRuJ3QgYWxsb3cgYXV0b2ZvY3VzIGFsdGhvdWdoIGFsbG93LXNjcmlwdHMgZmxh
ZyBpcyBzZXQpLgorVGhpcyB0ZXN0cyBoYXZpbmcgYW4gaW5wdXQgZWxlbWVudCB3aXRoIGF1dG9m
b2N1cyBjb250ZW50IGF0dHJpYnV0ZSBpbnNpZGUgYSBzYW5kYm94ZWQgaWZyYW1lLgorVGhlIGlu
cHV0IGVsZW1lbnQgc2hvdWxkIGJlIGF1dG9mb2N1c2VkIHNpbmNlIHNjcmlwdHMgYXJlIGFsbG93
ZWQuCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZTEtLT4nCistLS0tLS0tLQorUEFTUwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtaW4tc2FuZGJveC13
aXRoLWFsbG93LXNjcmlwdHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3Vz
LWluLXNhbmRib3gtd2l0aC1hbGxvdy1zY3JpcHRzLmh0bWwKaW5kZXggNGYyMjM4NjhmZDdlNmYx
ODllYzUzZjcyNjJlNzZiZGI5ODY3YmM1YS4uZWMzZTM4MDEwZmM4NDRhZmIzOTIyMjg4MGUzNGY5
M2IxNTk2ZGZkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMt
aW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG9mb2N1cy1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy5odG1sCkBAIC0x
LDggKzEsMTkgQEAKIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVu
bmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworfQogPC9zY3JpcHQ+Ci1UaGlzIHRlc3QgcGFz
c2VzIGlmIHRoZSBhY3RpdmVFbGVtZW50IGlzIHRoZSBpbnB1dCBlbGVtZW50IHJhdGhlciB0aGFu
IHRoZSBib2R5Ci0od2hpY2ggaXQgd291bGQgYmUgaWYgdGhlIHNhbmRib3ggZGlkbid0IGFsbG93
IGF1dG9mb2N1cyBhbHRob3VnaCBhbGxvdy1zY3JpcHRzIGZsYWcgaXMgc2V0KS4KLTxpZnJhbWUg
c2FuZGJveD0iYWxsb3ctc2NyaXB0cyBhbGxvdy1tb2RhbHMiCi0gICAgc3JjPSJkYXRhOnRleHQv
aHRtbCw8aW5wdXQgYXV0b2ZvY3VzIG9uZm9jdXM+PHNjcmlwdD53aW5kb3cub25sb2FkID0gZnVu
Y3Rpb24oKSB7IGNvbnNvbGUubG9nKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQudGFnTmFtZSkgfTwv
c2NyaXB0PiI+PC9pZnJhbWU+CitUaGlzIHRlc3RzIGhhdmluZyBhbiBpbnB1dCBlbGVtZW50IHdp
dGggYXV0b2ZvY3VzIGNvbnRlbnQgYXR0cmlidXRlIGluc2lkZSBhIHNhbmRib3hlZCBpZnJhbWUu
PGJyPgorVGhlIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGF1dG9mb2N1c2VkIHNpbmNlIHNjcmlw
dHMgYXJlIGFsbG93ZWQuCis8aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiCisgICAgc3Jj
PSJkYXRhOnRleHQvaHRtbCw8aW5wdXQgaWQ9aW5wdXQgYXV0b2ZvY3VzIG9uZm9jdXM+PHNjcmlw
dD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgICAgIHJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGlucHV0ID8gJ1BBU1MnIDogJ0ZBSUwnKTsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CisgICAgfTwvc2NyaXB0PiI+PC9pZnJh
bWU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1rZXlnZW4u
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sCmluZGV4
IDc3MDcwZThkYjA2YjU0YzliOTBmZTZkMzEwMjY4M2RhODU0YmMwY2MuLjBjNzY1ZGUzMjNhMjNi
MDUyNGQzNzBlYzUyYWRiZjVkMDQ2YTI4NWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvYXV0b2ZvY3VzLWtleWdlbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0b2ZvY3VzLWtleWdlbi5odG1sCkBAIC02LDkgKzYsMTEgQEAKIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKIAogZnVuY3Rpb24gb25Mb2FkKCkgewotICAgIHNob3VsZEJlKCdkb2N1bWVu
dC5hY3RpdmVFbGVtZW50JywgJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImtleWdlbiIpJyk7Ci0g
ICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYXV0b2ZvY3VzJywgJ3RydWUnKTsK
LSAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gewor
ICAgICAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJrZXlnZW4iKScpOworICAgICAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5hdXRvZm9jdXMnLCAndHJ1ZScpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICB9KTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRtbAppbmRleCA5ZDA1ZWRmYmY0NDAwODBlOTRmNGFiNDBm
YzMzM2QyZTE0NDMxZTI1Li40OWJiZTljMDViZjM0NzY3NmRiNGNmOWRhZTRiNWQ3NjM4ODg0YzNh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDEuaHRt
bApAQCAtMTEsMTMgKzExLDE5IEBACiAgICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KIAotICAgICAgICBpZiAoZG9j
dW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5w
dXQiKVswXSkKLSAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdKQorICAgICAgICAgICAgICAgIGxvZygi
U1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygiRkFJTFVS
RSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4K
IDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9w
ZXJhLTAwMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAy
Lmh0bWwKaW5kZXggYjUxM2ZjOTc2MjE1MWJlMTNlMDk5NmY5ZjhmYzE2ZGU0Yzk5ZDI3ZS4uOTNl
NDUzZGQ5MmZhOWY3ZGNkZTJlNWQxMDMwNWFkOWE3MWY4NGFjNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDAyLmh0bWwKQEAgLTExLDEzICsxMSwxOSBA
QAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworICAgICAgICB9CiAKLSAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQg
PT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0pCi0gICAgICAgICAg
ICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMVVJF
Iik7CisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBp
ZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgiaW5wdXQiKVswXSkKKyAgICAgICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwMy5odG1sCmluZGV4IDQxMjkwYjYx
NWZmZWJjZTFlMjAwZDExYjI4YTU1NjAzODU5NWI0NjkuLjVlNWU4YTgwNjcxZTk1YTI5MmNlYmZk
NDI5YmIyOTgwNzcwZjUxMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0
b2ZvY3VzLW9wZXJhLTAwMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2Zv
Y3VzLW9wZXJhLTAwMy5odG1sCkBAIC0xMiwxNCArMTIsMjAgQEAKICAgICB9CiAKICAgICBmdW5j
dGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQog
Ci0gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdICYmCi0gICAgICAgICAgICBkb2N1bWVudC5zY3JvbGxp
bmdFbGVtZW50LnNjcm9sbFRvcCAhPSAwKQotICAgICAgICAgICAgbG9nKCJTVUNDRVNTIik7Ci0g
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0gJiYKKyAg
ICAgICAgICAgICAgICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCAhPSAwKQor
ICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9
KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvYXV0b2ZvY3VzLW9wZXJhLTAwNi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0bWwKaW5kZXggODQ4ZTYxYTQ3OGEwMjQzZGQyMmQ3MmJh
ZDE5NTg3Y2E4ZTZiYmQxYy4uZjJkNzlhNGZhZTI2ZGM4NGI5YzkzYzMyYmJhYmY5OGRhOTUzNjQ2
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA2Lmh0
bWwKQEAgLTExLDIzICsxMSwzMCBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0g
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVF
bGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikpCisgICAgICAgICAgICAg
ICAgbG9nKCJTVUNDRVNTIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9n
KCJGQUlMVVJFIik7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOwogCi0gICAgICAg
IGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXN0IikpCi0gICAgICAgICAgICBsb2coIlNVQ0NFU1MiKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgbG9nKCJGQUlMVVJFIik7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBv
bmxvYWQ9InRlc3QoKSI+CiA8cD5BbGwgZm9ybSBjb250cm9scyBiZWxvdyBzaG91bGQgaGF2ZSBh
IGdyZWVuIGJhY2tncm91bmQ6PC9wPgotPHA+PGlucHV0IGF1dG9mb2N1cz4KKzxwPjxpbnB1dCBh
dXRvZm9jdXMgaWQ9InRlc3QiPgogPHA+PGlucHV0IGF1dG9mb2N1cz4KIDxwPjxpbnB1dCBhdXRv
Zm9jdXM+CiA8cD48aW5wdXQ+Ci08cD48aW5wdXQgYXV0b2ZvY3VzIGlkPSJ0ZXN0Ij4KKzxwPjxp
bnB1dCBhdXRvZm9jdXM+CiA8cD48aW5wdXQ+CiA8aHIvPgogPG9sIGlkPSJjb25zb2xlIj48L29s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvZm9jdXMtb3BlcmEtMDA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbApp
bmRleCAwOTBmMzkzNTcwMzVkZGI4ZTkzNzUwY2RiMWI3OWJjMWE4NTBmMWJlLi4xMWJkMzk1MDRj
OWRkYTg0ODkyMDFkZDhhNzUxNTQ3ODBkOTA4OWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2F1dG9mb2N1cy1vcGVyYS0wMDcuaHRtbApAQCAtMTcsMTMgKzE3LDE5IEBACiAgICAg
fQogCiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgIH0KIAotICAgICAgICBpZiAoZ290Qmx1cikKLSAgICAgICAgICAgIGxvZygiU1VD
Q0VTUyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIkZBSUxVUkUiKTsKKyAgICAg
ICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgIGlmIChnb3RCbHVy
KQorICAgICAgICAgICAgICAgIGxvZygiU1VDQ0VTUyIpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIGxvZygiRkFJTFVSRSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAg
ICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0LXR5cGUtaW4tZm9jdXMtaGFuZGxlci5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0
bWwKaW5kZXggYjdhMWQ4YzlmODU5OGVlMDJhM2E2NzZmMGRmOGU4YWZlNDRiMjg2NS4uYWQ5YzY2
OWFlOWExODUxMDExYWQ5NmQwNGU0OWI5YjI5YjU5MDUwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5kbGVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXQtdHlwZS1pbi1mb2N1cy1oYW5k
bGVyLmh0bWwKQEAgLTEwLDE2ICsxMCwyNSBAQAogZnVuY3Rpb24gZm9jdXNlZCgpIHsKICAgICBp
ZiAoaW5wdXQuYXV0b2ZvY3VzKSB7CiAgICAgICAgIGlucHV0LnR5cGUgPSAiY2hlY2tib3giOwot
ICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICI8Y29kZSBzdHlsZT0nY29sb3I6IGdy
ZWVuJz5QQVNTPC9jb2RlPiI7CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIkZB
SUwgLSBmb2N1cyBldmVudCBoYW5kbGVyIGNhbGxlZCBmb3IgYXV0b2ZvY3VzIjsKKyAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGlucHV0KTsKICAgICBpbnB1dC5hdXRvZm9jdXMgPSB0cnVlOworICAgIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIGRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQgPSBk
b2N1bWVudC5hY3RpdmVFbGVtZW50ID09IGRvY3VtZW50LmJvZHkgPyAiUEFTUyIgOiAiRkFJTCI7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgIH0pOwogfQogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCitpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KIAogaW5wdXQuZm9jdXMoKTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvY3Jhc2gtd2hlbi1pZnJhbWUt
aXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
Y3Jhc2gtd2hlbi1pZnJhbWUtaXMtcmVtb3ZlLWluLWV2ZW50aGFuZGxlci5odG1sCmluZGV4IDZm
NWEyZTkxOWVkZjlhOTYzYmE4ZjdlZGU0ZTkwNjYyMTUwYmY2ZmQuLmM4OTg2NjdmYzRkYzY2YTVj
Y2IwZGNjZTRjNzEwYzVlZWI2OTFhMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2NyYXNoLXdoZW4taWZyYW1lLWlzLXJlbW92ZS1pbi1ldmVudGhhbmRsZXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9jcmFzaC13aGVuLWlmcmFtZS1pcy1yZW1vdmUtaW4t
ZXZlbnRoYW5kbGVyLmh0bWwKQEAgLTYsMTMgKzYsMjAgQEAgUEFTUyBpZiBubyBjcmFzaC4KIDxz
cGFuIGlkPXdyYXBwZXI+PC9zcGFuPgogPHRleHRhcmVhIGlkPXRleHRhcmVhIG9uZm9jdXM9ImV2
ZW50aGFuZGxlcigpIj48L3RleHRhcmVhPgogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCiBkb2N1bWVudC5vZmZzZXRI
ZWlnaHQ7CiB0ZXh0YXJlYS5hdXRvZm9jdXMgPSB0cnVlOwogdmFyIGlmcmFtZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwogc3Bhbi5hcHBlbmRDaGlsZChpZnJhbWUpOwogd3Jh
cHBlci5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7CityZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4g
eworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Cit9KTsKIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgp
OwogCiBmdW5jdGlvbiBldmVudGhhbmRsZXIoKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVy
aW5nLXJlc3RvcmUuaHRtbAppbmRleCA2M2NmOGEyMjE5OGQ3MDlmM2ZhOThhZjU1OTcxMzkzODkw
MjU1ZGEyLi5jMmY1ODQ1NzU5NGI4MzNhZDdiNTIzNzRiMDUxYWJhNWJmNDFjOTk5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1k
dXJpbmctcmVzdG9yZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNh
Y2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWwKQEAgLTE2LDggKzE2LDEwIEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogfQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
cGFnZXNob3ciLCAoZXZlbnQpID0+IHsKLSAgICBpZiAoZXZlbnQucGVyc2lzdGVkKQorICAgIGlm
IChldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZpbmlz
aCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgICAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDApOwogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1lbXB0eS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQt
d2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQKaW5kZXggYTQ1MmQ1M2VkYmE2MzU4N2Q5
YzJlYmRjNmY2YTUwZDUzZmU0ZWZlNS4uZDQxOTI5ZjliN2RmN2IxOGQ2MDJkYWQ0NjA4YmVmZTA3
MTVmY2EyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2Rv
Y3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90
aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVj
dGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAogCi1GQUlMIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBp
ZnJhbWVkIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZyYWdtZW50cyBzaG91bGQgd29yay4gYXNzZXJ0
X25vdF9lcXVhbHM6IGdvdCBkaXNhbGxvd2VkIHZhbHVlIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0
b2ZvY3VzPSIiPjwvaW5wdXQ+CitQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRv
Y3VtZW50cyB3aXRoIGVtcHR5IGZyYWdtZW50cyBzaG91bGQgd29yay4KIFBBU1MgQXV0b2ZvY3Vz
IGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRzIHdpdGgg
ZW1wdHkgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhl
LWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQt
d2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3RlZC50eHQKaW5kZXggMmIxZTU3ZDYyODI5
NTY5MThkMjcyMTU1NWQwNGQ1ODAyYWI3ZGY2ZC4uOGRkNmI0Yzc3MGNlOWFhNWNjMjliZmM4NWNj
ZTQyZDVkY2VlODc4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmli
dXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFj
dGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50
LW5vbmV4aXN0ZW50LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAogCi1GQUlMIEF1dG9m
b2N1cyBlbGVtZW50cyBpbiBpZnJhbWVkIGRvY3VtZW50cyB3aXRoIG5vbi1leGlzdGVudCBmcmFn
bWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBBdXRvZm9j
dXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21l
bnRzIHNob3VsZCB3b3JrLgogUEFTUyBBdXRvZm9jdXMgZWxlbWVudHMgaW4gdG9wLWxldmVsIGJy
b3dzaW5nIGNvbnRleHQncyBkb2N1bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRzIHNo
b3VsZCB3b3JrLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1
dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3Ro
ZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVk
LnR4dAppbmRleCAwMzc0MTA5YTMwYzYyNGRiZDk0ZDg3OTEzYjRlMzM4ZWU5MTk5M2VmLi44YmE1
MGE1MWEzZGFkNTcwZDQ5Mjc3NDk5OTcyZDU5NGQ1ZGZlYjk4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9j
dXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3AtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVu
dC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotRkFJ
TCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCAidG9wIiBmcmFn
bWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2YWx1
ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBBdXRvZm9j
dXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCAidG9wIiBmcmFnbWVudHMgc2hv
dWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiB0b3AtbGV2ZWwgYnJvd3Npbmcg
Y29udGV4dCdzIGRvY3VtZW50cyB3aXRoICJ0b3AiIGZyYWdtZW50cyBzaG91bGQgd29yay4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC1leHBlY3Rl
ZC50eHQKaW5kZXggOTg3MzI3YjFhN2I5YmI2YWExZjJiNmI0NDA2Mzc3MTBiZThmMDA2ZS4uY2U5
MjY3NjdmMzA0MmRlMjI5ODA0MDMzZDJlZmU1NTVlYWQ2NTJkMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2Zv
Y3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24v
Zm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDQg
KzEsNCBAQAogCiAKLUZBSUwgVGhlIGZpcnN0IGF1dG9mb2N1cyBlbGVtZW50IGluIHRoZSBkb2N1
bWVudCBzaG91bGQgd2luLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlu
cHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0
b2ZvY3VzPSIiPjwvaW5wdXQ+CitQQVNTIFRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpbiB0
aGUgZG9jdW1lbnQgc2hvdWxkIHdpbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRv
Zm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3Vz
L3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2ZpcnN0LXdoZW4tbGF0ZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IGZlMDIxMThhMzQ5YTNhY2M5ZjhjYWVkODkxNzgxZjAxYzI4ODE0NWYuLjVmNGMzMTVjNjg3
OGUzYzY4YjdhZDJmOGM5Y2EyOTYxMWVmZDVjOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUt
YXV0b2ZvY3VzLWF0dHJpYnV0ZS9maXJzdC13aGVuLWxhdGVyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rp
b24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZmlyc3Qtd2hlbi1sYXRlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIAotRkFJTCBUaGUgZmlyc3QgYXV0b2ZvY3VzIGluIHRo
ZSBkb2N1bWVudCB3aW5zLCBldmVuIGlmIGVsZW1lbnRzIGFyZSBpbnNlcnRlZCBsYXRlci4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9p
bnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0Pgor
UEFTUyBUaGUgZmlyc3QgYXV0b2ZvY3VzIGluIHRoZSBkb2N1bWVudCB3aW5zLCBldmVuIGlmIGVs
ZW1lbnRzIGFyZSBpbnNlcnRlZCBsYXRlci4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1h
dXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL3F1ZXVlLW5vbi1mb2N1c2FibGUtZXhwZWN0
ZWQudHh0CmluZGV4IDMzZDgzMDg3ZTE4ZjZkOWQ5YjJmYWY0NTJhM2VkYmU5NjA3M2IxNWQuLmE1
ODQ5ZDYyMjM1MzE4Y2I4OGEzMWFmNGEyZDk0ZjdjNzExODEwNTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9m
b2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9xdWV1ZS1ub24tZm9jdXNhYmxlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvcXVldWUtbm9uLWZv
Y3VzYWJsZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIAotRkFJTCBJZiB0aGUgZmly
c3QgYXV0b2ZvY3VzIGVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSwgYnV0IGJlY29tZXMgZm9jdXNh
YmxlIGJlZm9yZSBhIGZyYW1lLCBpdCBzaG91bGQgYmUgZm9jdXNlZC4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgRWxlbWVudCBub2RlIDx0ZXh0YXJlYSBhdXRvZm9jdXM9IiI+PC90ZXh0YXJlYT4g
YnV0IGdvdCBFbGVtZW50IG5vZGUgPHNlbGVjdCBhdXRvZm9jdXM9IiI+PC9zZWxlY3Q+CitQQVNT
IElmIHRoZSBmaXJzdCBhdXRvZm9jdXMgZWxlbWVudCBpcyBub3QgZm9jdXNhYmxlLCBidXQgYmVj
b21lcyBmb2N1c2FibGUgYmVmb3JlIGEgZnJhbWUsIGl0IHNob3VsZCBiZSBmb2N1c2VkLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1y
ZW5kZXJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRl
L3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAppbmRleCAxMzU0MWY2NGZkNjE1MjE0
OWIyNzg4Y2E0MjkyOTNkYWNiYjcyMTg3Li4wY2JjNzdlZjcxYzkyMWVhYjgxZWE5MGI1NGYxYjU1
YmU3YWZjMjk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUv
dXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0
b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSwzIEBACiAKLQotRkFJTCAiRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMiIHNob3VsZCBi
ZSBoYXBwZW4gYWZ0ZXIgdGhlIGZpcnN0IGFuaW1hdGlvbiBmcmFtZSBjYWxsYmFja3MsIGFuZCBi
ZWZvcmUgYSByZXNpemUgZXZlbnQgaW4gdGhlIG5leHQgaXRlcmF0aW9uIG9mIHdpbmRvdyBldmVu
dCBsb29wLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMyBn
b3QgNAorUEFTUyAiRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMiIHNob3VsZCBiZSBoYXBwZW4g
YmVmb3JlIGEgc2Nyb2xsIGV2ZW50IGFuZCBhbmltYXRpb24gZnJhbWUgY2FsbGJhY2tzCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vs
ZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24v
c2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXgg
MGE5OTBhMDVlMGIyMThjNWM1MGY3NjAyNzRkMjEzMGFhMjQyZDliMS4uYTk2MDhjMThkM2IzNDYz
YjE5NGRmZDQ5NWNkZDNiMTkxYTllNDk1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwt
bW92ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92
ZS1pbnB1dC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTksNCArOSw1IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgNzg1eDYyMwogICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBz
aXplIDE0N3gxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDAp
XQogbGF5ZXIgYXQgKDUsNjA1KSBzaXplIDE0MXgxMwogICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MywzKSBzaXplIDE0MXgxMwotY2FyZXQ6IHBvc2l0aW9uIDEgb2YgYm9keQorY2FyZXQ6IHBvc2l0
aW9uIDAgb2YgY2hpbGQgMCB7RElWfSBvZiB7I2RvY3VtZW50LWZyYWdtZW50fSBvZiBjaGlsZCAy
IHtJTlBVVH0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKK3Njcm9sbGVkIHRvIDAsMjMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBi
MTgwNjQ3MTJjY2M2NzljZWM4N2I2NjFjNmM3ODcyNDQxMzQyNjg0Li4xY2M5M2Y0NmQyMDJlNDI1
YjUyYjdiMjBlNWM1Y2ZjZWNhZTNlYWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMDYwLDcgKzIwNjAsNyBAQCB3ZWJraXQub3JnL2Iv
MjMwNDE4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvZGF0YS11cmxzL2Jh
c2U2NC5hbnkudwogCiB3ZWJraXQub3JnL2IvMjI3OTk4IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtZW1iZWQtZWxlbWVu
dC9lbWJlZC1uZXR3b3JrLWVycm9yLnN1Yi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0
Lm9yZy9iLzIyNzc2MiBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdp
dGgtZnJhZ21lbnQtdmFsaWQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMjI3
NzYyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1
cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LXZhbGlkLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjI2Nzg5IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2Vic3RvcmFnZS9ldmVudF9jYXNlX3NlbnNpdGl2ZS5odG1sIFsg
UGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
Mi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMv
dGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBk
YXRlLXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CmluZGV4IDMyOTRhMGQzYTUyMjBjZjJhZTg4
MDQ1MmM4MTgzZTYwNmNmNWNkYzQuLmY2NTEyNzc3N2IwYWVhNjJlMmNiZjFmOWU5YzllZmIxNjFh
NjdkYmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9j
dXMtYXR0cmlidXRlL3VwZGF0ZS10aGUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhl
LXJlbmRlcmluZy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLQotRkFJTCAiRmx1c2gg
YXV0b2ZvY3VzIGNhbmRpZGF0ZXMiIHNob3VsZCBiZSBoYXBwZW4gYWZ0ZXIgdGhlIGZpcnN0IGFu
aW1hdGlvbiBmcmFtZSBjYWxsYmFja3MsIGFuZCBiZWZvcmUgYSByZXNpemUgZXZlbnQgaW4gdGhl
IG5leHQgaXRlcmF0aW9uIG9mIHdpbmRvdyBldmVudCBsb29wLiBhc3NlcnRfYXJyYXlfZXF1YWxz
OiBwcm9wZXJ0eSAwLCBleHBlY3RlZCAiYW5pbWF0aW9uRnJhbWUiIGJ1dCBnb3QgImF1dG9mb2N1
cyIKK0ZBSUwgIkZsdXNoIGF1dG9mb2N1cyBjYW5kaWRhdGVzIiBzaG91bGQgYmUgaGFwcGVuIGJl
Zm9yZSBhIHNjcm9sbCBldmVudCBhbmQgYW5pbWF0aW9uIGZyYW1lIGNhbGxiYWNrcyBhc3NlcnRf
YXJyYXlfZXF1YWxzOiBhdXRvZm9jdXMsYW5pbWF0aW9uRnJhbWUgbGVuZ3RocyBkaWZmZXIsIGV4
cGVjdGVkIGFycmF5IFsiYXV0b2ZvY3VzIiwgInNjcm9sbCIsICJhbmltYXRpb25GcmFtZSJdIGxl
bmd0aCAzLCBnb3QgWyJhdXRvZm9jdXMiLCAiYW5pbWF0aW9uRnJhbWUiXSBsZW5ndGggMgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1dC1jcmFz
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vc2VsZWN0aW9uLXNlbGVjdC1hbGwtbW92ZS1pbnB1
dC1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggZDI4NjJhYjM1NTI3NmU0OTBkM2RkYTJhOTZiMzUw
ZDk2YTVmYWUwOS4uOWFkNjhkNmY0MTQxODM0OTMwMjJiYjM1NTZiNjY3MDQ1ODQwZGFhOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZWxlY3QtYWxsLW1vdmUtaW5wdXQtY3Jhc2gt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2VsZWN0LWFsbC1tb3ZlLWlu
cHV0LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtOSw0ICs5LDQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjI1CiAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUg
MTU1eDIyIFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgxcHggc29saWQgIzNDM0M0Mzk5KV0K
IGxheWVyIGF0ICg5LDYwNSkgc2l6ZSAxNDF4MTQKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDYs
Mykgc2l6ZSAxNDN4MTUKLWNhcmV0OiBwb3NpdGlvbiAxIG9mIGJvZHkKK2NhcmV0OiBwb3NpdGlv
biAwIG9mIGNoaWxkIDAge0RJVn0gb2YgeyNkb2N1bWVudC1mcmFnbWVudH0gb2YgY2hpbGQgMiB7
SU5QVVR9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJl
bmRlcmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0
b2ZvY3VzLWF0dHJpYnV0ZS91cGRhdGUtdGhlLXJlbmRlcmluZy1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkNDkxNTFiNjYyMzgyNzk1M2YzOGRmMjE2NjNhM2Ey
YTMxZGI0YTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvdXBkYXRl
LXRoZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci0KLQotRkFJTCAiRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMiIHNob3VsZCBiZSBoYXBwZW4g
YWZ0ZXIgdGhlIGZpcnN0IGFuaW1hdGlvbiBmcmFtZSBjYWxsYmFja3MsIGFuZCBiZWZvcmUgYSBy
ZXNpemUgZXZlbnQgaW4gdGhlIG5leHQgaXRlcmF0aW9uIG9mIHdpbmRvdyBldmVudCBsb29wLiBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMyBnb3QgMgotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDM4OWFiMmIzZGMx
NDA2NDhjOGQ5MDMzZGIwZWQ5ZjZlYmU1YjBjZDEuLjQzZTllMmQ0ZDc5NmQwOWE4Y2NiMDQ5YjQz
OTU3MzI3MTQ4NWI3YTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRp
b25zCkBAIC00NjA3LDcgKzQ2MDcsNyBAQCBmYXN0L2RvbS9mb2N1cy1zaGlmdC1jcmFzaC5odG1s
IFsgVGltZW91dCBdCiBmYXN0L2V2ZW50cy93aGVlbC9yZWRpc3BhdGNoZWQtd2hlZWwtZXZlbnQu
aHRtbCBbIFRpbWVvdXQgXQogZmFzdC9pbmxpbmUvY3Jhc2gtd2hlbi1uZWdhdGl2ZS1zcGFjaW5n
LXByb2R1Y2UtbmFuLmh0bWwgWyBUaW1lb3V0IF0KIGltcG9ydGVkL2JsaW5rL2Zhc3QvZG9tL1dp
bmRvdy9vcGVuLXdpbmRvdy1mZWF0dXJlcy1mdXp6Lmh0bWwgWyBUaW1lb3V0IF0KLQorZmFzdC9m
b3Jtcy9mb3JtLXN1Ym1pc3Npb24tY3Jhc2gtMy5odG1sIFsgVGltZW91dCBdCiAKIHdlYmtpdC5v
cmcvYi8yMjc4OTYgZmFzdC90ZXh0L3B1YS1jaGFyYWN0ZXJzVHJlYXRlZEFzU3BhY2UuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>