<?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>225909</bug_id>
          
          <creation_ts>2021-05-18 00:54:18 -0700</creation_ts>
          <short_desc>AX: Settings: Increase contrast isn&apos;t detected in browser until an additional setting is applied</short_desc>
          <delta_ts>2021-06-02 11:59:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>226202</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>pvollan</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1761075</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-18 00:54:18 -0700</bug_when>
    <thetext>When using a media query to detect the setting &quot;Increase Contrast&quot; AX setting, the setting can&apos;t be detected until an additional setting is updated.

&lt;rdar://problem/77580880&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761856</commentid>
    <comment_count>1</comment_count>
      <attachid>429143</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-20 00:37:24 -0700</bug_when>
    <thetext>Created attachment 429143
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761859</commentid>
    <comment_count>2</comment_count>
      <attachid>429144</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-20 00:55:24 -0700</bug_when>
    <thetext>Created attachment 429144
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762033</commentid>
    <comment_count>3</comment_count>
      <attachid>429187</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-20 10:52:14 -0700</bug_when>
    <thetext>Created attachment 429187
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762036</commentid>
    <comment_count>4</comment_count>
      <attachid>429188</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-20 11:00:15 -0700</bug_when>
    <thetext>Created attachment 429188
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762085</commentid>
    <comment_count>5</comment_count>
      <attachid>429204</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-20 12:24:40 -0700</bug_when>
    <thetext>Created attachment 429204
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762165</commentid>
    <comment_count>6</comment_count>
      <attachid>429204</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-05-20 15:12:33 -0700</bug_when>
    <thetext>Comment on attachment 429204
patch

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

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1130
&gt; +    auto cfKey = key.createCFString().get();

I think you may need to retain the CFStringRef here.

auto cfKey = key.createCFString();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762384</commentid>
    <comment_count>7</comment_count>
      <attachid>429204</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-05-21 06:24:30 -0700</bug_when>
    <thetext>Comment on attachment 429204
patch

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

R=me.

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1074
&gt; +static const WTF::String&amp; invertColorsPreferenceKey()

Is there an existing constant you can use for this key?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762486</commentid>
    <comment_count>8</comment_count>
      <attachid>429204</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-21 10:52:26 -0700</bug_when>
    <thetext>Comment on attachment 429204
patch

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

&gt;&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1074
&gt;&gt; +static const WTF::String&amp; invertColorsPreferenceKey()
&gt; 
&gt; Is there an existing constant you can use for this key?

unfortunately no, I can ask to expose one for the future though (Rdar://78317458)

&gt;&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1130
&gt;&gt; +    auto cfKey = key.createCFString().get();
&gt; 
&gt; I think you may need to retain the CFStringRef here.
&gt; 
&gt; auto cfKey = key.createCFString();

done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762487</commentid>
    <comment_count>9</comment_count>
      <attachid>429312</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-21 10:53:24 -0700</bug_when>
    <thetext>Created attachment 429312
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762488</commentid>
    <comment_count>10</comment_count>
      <attachid>429313</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-21 10:54:24 -0700</bug_when>
    <thetext>Created attachment 429313
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763158</commentid>
    <comment_count>11</comment_count>
      <attachid>429538</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-24 09:27:36 -0700</bug_when>
    <thetext>Created attachment 429538
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763280</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-24 15:27:10 -0700</bug_when>
    <thetext>Committed r277971 (238093@main): &lt;https://commits.webkit.org/238093@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429538.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763359</commentid>
    <comment_count>13</comment_count>
      <attachid>429538</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-05-24 17:53:02 -0700</bug_when>
    <thetext>Comment on attachment 429538
patch

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

&gt; Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:99
&gt; +WK_EXPORT void WKAccessibilityTestingInjectPreference(WKBundlePageRef, const String&amp; domain, const String&amp; key, const Optional&lt;String&gt;&amp; encodedValue);

You can&apos;t use WTF::String in API; see WKStringRef. This breaks the build (I&apos;m not sure why EWS didn&apos;t catch it, but it&apos;s failing for other patches now that it&apos;s landed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763361</commentid>
    <comment_count>14</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-24 18:06:48 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #13)
&gt; Comment on attachment 429538 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=429538&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:99
&gt; &gt; +WK_EXPORT void WKAccessibilityTestingInjectPreference(WKBundlePageRef, const String&amp; domain, const String&amp; key, const Optional&lt;String&gt;&amp; encodedValue);
&gt; 
&gt; You can&apos;t use WTF::String in API; see WKStringRef. This breaks the build
&gt; (I&apos;m not sure why EWS didn&apos;t catch it, but it&apos;s failing for other patches
&gt; now that it&apos;s landed).

Ok will update</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763363</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-05-24 18:07:12 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 226202</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764830</commentid>
    <comment_count>16</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-05-28 10:53:31 -0700</bug_when>
    <thetext>It looks like the changes in https://trac.webkit.org/changeset/277971/webkit

broke TestWebKitAPI.WebKit.AccessibilityReduceMotion and is now timing out

history:
https://results.webkit.org/?suite=api-tests&amp;test=TestWebKitAPI.WebKit.AccessibilityReduceMotion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764833</commentid>
    <comment_count>17</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-05-28 10:57:46 -0700</bug_when>
    <thetext>(In reply to Truitt Savell from comment #16)
&gt; It looks like the changes in https://trac.webkit.org/changeset/277971/webkit
&gt; 
&gt; broke TestWebKitAPI.WebKit.AccessibilityReduceMotion and is now timing out
&gt; 
&gt; history:
&gt; https://results.webkit.org/?suite=api-tests&amp;test=TestWebKitAPI.WebKit.
&gt; AccessibilityReduceMotion

Thanks for pointing out. Will take a look at that test. Whatever it was checking wasn’t accurate if it was passing before…</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765677</commentid>
    <comment_count>18</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-06-01 10:38:40 -0700</bug_when>
    <thetext>Filed https://bugs.webkit.org/show_bug.cgi?id=226505</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429143</attachid>
            <date>2021-05-20 00:37:24 -0700</date>
            <delta_ts>2021-05-20 00:55:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_225909.txt</filename>
            <type>text/plain</type>
            <size>16211</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZh
bHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMv
bWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS1leHBlY3RlZC50eHQNCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjQxNTIwYjQwMmNkOA0KLS0tIC9kZXYvbnVsbA0KKysr
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5n
ZS1leHBlY3RlZC50eHQNCkBAIC0wLDAgKzEsMTkgQEANCitubyBjb250cmFzdA0KK25vIG1vdGlv
bg0KK1RoaXMgdGVzdHMgdGhhdCBDU1MgQWNjZXNzaWJpbGl0eSBtZWRpYSBxdWVyaWVzIGdldCB1
cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdlDQorDQorT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
Lg0KKw0KKw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ3Zpc2libGUnDQorUEFTUyB1cGRh
dGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ3Zp
c2libGUnDQorUEFTUyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BBU1MgZGVmYXVs
dFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNTIHVwZGF0ZWRWaXNpYmlsaXR5IGlzICd2aXNp
YmxlJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNTIHVwZGF0ZWRW
aXNpYmlsaXR5IGlzICd2aXNpYmxlJw0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUN
CisNCitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sDQpuZXcgZmlsZSBt
b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5jYTUzZjYzZGM1NzgNCi0tLSAvZGV2L251
bGwNCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVl
cy1jaGFuZ2UuaHRtbA0KQEAgLTAsMCArMSwxMDYgQEANCis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+DQorPGh0bWw+DQorPGhlYWQ+DQorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+DQorPHN0
eWxlPg0KKw0KKyAgICBAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG5vLXByZWZlcmVuY2UpIHsN
CisgICAgICAgIC5jb250cmFzdE5vIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxl
Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgLmNvbnRyYXN0TW9yZSB7DQorICAgICAgICAgICAgdmlz
aWJpbGl0eTogaGlkZGVuOw0KKyAgICAgICAgfQ0KKyAgICB9DQorICAgIEBtZWRpYSAocHJlZmVy
cy1jb250cmFzdDogbW9yZSkgew0KKyAgICAgICAgLmNvbnRyYXN0Tm8gew0KKyAgICAgICAgICAg
IHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgICAgIC5jb250cmFzdE1vcmUg
ew0KKyAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQorICAgICAgICB9DQorICAgIH0N
CisNCisgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7
DQorICAgICAgICAubW90aW9uTm8gew0KKyAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsN
CisgICAgICAgIH0NCisgICAgICAgIC5tb3Rpb25SZWR1Y2Ugew0KKyAgICAgICAgICAgIHZpc2li
aWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBAbWVkaWEgKHByZWZlcnMt
cmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgew0KKyAgICAgICAgLm1vdGlvbk5vIHsNCisgICAgICAg
ICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgICAgICB9DQorICAgICAgICAubW90aW9uUmVk
dWNlIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KKyAgICAgICAgfQ0KKyAg
ICB9DQorDQorPC9zdHlsZT4NCis8L2hlYWQ+DQorPGJvZHk+DQorDQorPGRpdiBpZD0ibm8tY29u
dHJhc3QiIGNsYXNzPSJjb250cmFzdE5vIj5ubyBjb250cmFzdDwvZGl2Pg0KKzxkaXYgaWQ9Im1v
cmUtY29udHJhc3QiIGNsYXNzPSJjb250cmFzdE1vcmUiPm1vcmU8L2Rpdj4NCisNCis8ZGl2IGlk
PSJuby1tb3Rpb24iIGNsYXNzPSJtb3Rpb25ObyI+bm8gbW90aW9uPC9kaXY+DQorPGRpdiBpZD0i
cmVkdWNlLW1vdGlvbiIgY2xhc3M9Im1vdGlvblJlZHVjZSI+cmVkdWNlPC9kaXY+DQorDQorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+DQorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+DQorDQorPHNj
cmlwdD4NCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBDU1MgQWNjZXNzaWJpbGl0
eSBtZWRpYSBxdWVyaWVzIGdldCB1cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdlIik7DQorDQor
ICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsNCisNCisgICAgZnVuY3Rpb24gdmlzaWJp
bGl0eShkb21JZCkgew0KKyAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoZG9tSWQpKS52aXNpYmlsaXR5Ow0KKyAgICB9DQorDQorICAgIHZhciBk
ZWZhdWx0VmlzaWJpbGl0eTsNCisgICAgdmFyIHVwZGF0ZWRWaXNpYmlsaXR5Ow0KKyAgICBmdW5j
dGlvbiB0ZXN0VmlzaWJpbGl0eShkZWZhdWx0SWQsIHVwZGF0ZWRJZCwga2V5LCBlbmRUZXN0KSB7
DQorICAgICAgICBkZWZhdWx0VmlzaWJpbGl0eSA9IHZpc2liaWxpdHkoZGVmYXVsdElkKTsNCisg
ICAgICAgIHVwZGF0ZWRWaXNpYmlsaXR5ID0gdmlzaWJpbGl0eSh1cGRhdGVkSWQpOw0KKw0KKyAg
ICAgICAgc2hvdWxkQmUoImRlZmF1bHRWaXNpYmlsaXR5IiwgIid2aXNpYmxlJyIpOw0KKyAgICAg
ICAgc2hvdWxkQmUoInVwZGF0ZWRWaXNpYmlsaXR5IiwgIidoaWRkZW4nIik7DQorICAgICAgICBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSgiY29t
LmFwcGxlLnVuaXZlcnNhbGFjY2VzcyIsIGtleSwgIjEiKTsNCisNCisgICAgICAgIHNldFRpbWVv
dXQoYXN5bmMgKCkgPT4gew0KKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gew0KKyAg
ICAgICAgICAgICAgIHJldHVybiB2aXNpYmlsaXR5KHVwZGF0ZWRJZCkgPT0gJ3Zpc2libGUnOw0K
KyAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgICAgIGRlZmF1bHRWaXNpYmlsaXR5ID0gdmlz
aWJpbGl0eShkZWZhdWx0SWQpOw0KKyAgICAgICAgICAgIHVwZGF0ZWRWaXNpYmlsaXR5ID0gdmlz
aWJpbGl0eSh1cGRhdGVkSWQpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJkZWZhdWx0VmlzaWJp
bGl0eSIsICInaGlkZGVuJyIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJ1cGRhdGVkVmlzaWJp
bGl0eSIsICIndmlzaWJsZSciKTsNCisgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSgiY29tLmFwcGxlLnVuaXZlcnNhbGFjY2Vz
cyIsIGtleSwgIjAiKTsNCisgICAgICAgICAgICBpZiAoZW5kVGVzdCkgew0KKyAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9LCAwKTsNCisg
ICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBoYW5kbGVDb250cmFzdChlbmRUZXN0KSB7DQorICAgICAg
ICB0ZXN0VmlzaWJpbGl0eSgibm8tY29udHJhc3QiLCAibW9yZS1jb250cmFzdCIsICJpbmNyZWFz
ZUNvbnRyYXN0IiwgZW5kVGVzdCk7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gaGFuZGxlTW90
aW9uKGVuZFRlc3QpIHsNCisgICAgICAgIHRlc3RWaXNpYmlsaXR5KCJuby1tb3Rpb24iLCAicmVk
dWNlLW1vdGlvbiIsICJyZWR1Y2VNb3Rpb24iLCBlbmRUZXN0KTsNCisgICAgfQ0KKw0KKyAgICBp
ZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7DQorICAgICAgICBoYW5kbGVDb250
cmFzdChmYWxzZSk7DQorICAgICAgICBoYW5kbGVNb3Rpb24odHJ1ZSk7DQorICAgIH0NCisNCis8
L3NjcmlwdD4NCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZw0KaW5kZXggMWQ2
NDM0NWEzYWUyLi43YjNiZjk1YjIzY2QgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nDQpAQCAtMSwzICsx
LDEyIEBADQorMjAyMS0wNS0yMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29t
Pg0KKw0KKyAgICAgICAgQVg6IFNldHRpbmdzOiBJbmNyZWFzZSBjb250cmFzdCBpc24ndCBkZXRl
Y3RlZCBpbiBicm93c2VyIHVudGlsIGFuIGFkZGl0aW9uYWwgc2V0dGluZyBpcyBhcHBsaWVkDQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQor
DQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgICogcGFs
L3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oOg0KKw0KIDIwMjEtMDUtMTAgIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+DQogDQogICAgICAgICBbbWFjT1NdIEFsbG93IGltbWVk
aWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8gYmVnaW4gd2hlbiBmb3JjZSBjbGlja2luZyB0ZXh0IGlu
c2lkZSBpbWFnZSBvdmVybGF5cw0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL21hYy9ISVNlcnZpY2VzU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMv
SElTZXJ2aWNlc1NQSS5oDQppbmRleCBiY2E4Mjk5MmE4OTQuLmI4ZGYwYTFiY2M4OSAxMDA2NDQN
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgNCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgNCkBAIC0x
NTIsNiArMTUyLDggQEAgdm9pZCBfQVhTZXRDbGllbnRJZGVudGlmaWNhdGlvbk92ZXJyaWRlKEFY
Q2xpZW50VHlwZSk7DQogZXh0ZXJuIENGU3RyaW5nUmVmIGtBWEludGVyZmFjZVJlZHVjZU1vdGlv
bktleTsNCiBleHRlcm4gQ0ZTdHJpbmdSZWYga0FYSW50ZXJmYWNlUmVkdWNlTW90aW9uU3RhdHVz
RGlkQ2hhbmdlTm90aWZpY2F0aW9uOw0KIA0KK2V4dGVybiBDRlN0cmluZ1JlZiBrQVhJbnRlcmZh
Y2VJbmNyZWFzZUNvbnRyYXN0S2V5Ow0KKw0KIFdURl9FWFRFUk5fQ19FTkQNCiANCiAjZW5kaWYg
Ly8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nDQppbmRleCBkMTFhZTVlNjA5N2UuLjZi
ZGU2MWNjYTcyYyAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nDQorKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZw0KQEAgLTEsMyArMSwyNSBAQA0KKzIwMjEtMDUtMjAgIENo
cmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBTZXR0
aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0ZWQgaW4gYnJvd3NlciB1bnRpbCBh
biBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9tYWMvbWVk
aWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sDQorDQorICAgICAgICAxKSBXZWJDb250ZW50IGJs
b2NrcyBhY2Nlc3MgdG8gZGlzdHJpYnV0ZWQgbm90aWZpY2F0aW9uIGNlbnRlciwgc28gd2UgY2Fu
J3QgcmVseSBvbiB0aGF0IHRvIHJlLXBvc3Qgbm90aWZpY2F0aW9ucw0KKyAgICAgICAgMikgQXBw
S2l0IGNhY2hlcyB0aGUgdmFsdWVzIG9mIHRoZXNlIEFYIHNldHRpbmdzLCBzbyB3ZSBuZWVkIHRv
IGludmFsaWRhdGUgdGhhdCBjYWNoZSBkaXJlY3RseQ0KKw0KKyAgICAgICAgKiBQbGF0Zm9ybS9z
cGkvbWFjL0FwcEtpdFNQSS5oOg0KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6DQorICAgICAgICAoV0tBY2Nlc3NpYmlsaXR5VGVzdGlu
Z0luamVjdFByZWZlcmVuY2UpOg0KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaDoNCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06DQorICAgICAgICAoV2ViS2l0OjppbnZlcnRDb2xvcnNQcmVm
ZXJlbmNlS2V5KToNCisgICAgICAgIChXZWJLaXQ6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0
aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2UpOg0KKyAgICAgICAgKFdlYktpdDo6c2V0UHJlZmVyZW5j
ZVZhbHVlKToNCisgICAgICAgIChXZWJLaXQ6OnJlZHVjZU1vdGlvblByZWZlcmVuY2VLZXkpOiBE
ZWxldGVkLg0KKw0KIDIwMjEtMDUtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+DQogDQogICAgICAgICBbbWFjT1NdIEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVy
ZXMgdG8gYmVnaW4gd2hlbiBmb3JjZSBjbGlja2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5
cw0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEku
aCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KaW5kZXggOTdm
NGU5NGNlOTc0Li42NjdlOThlNDNjMmMgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3Bp
L21hYy9BcHBLaXRTUEkuaA0KQEAgLTU4LDYgKzU4LDEwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhO
U1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRvd09wdGlvbnMpIHsNCiANCiAjZW5kaWYNCiANCitAaW50
ZXJmYWNlIE5TV29ya3NwYWNlIChOU1dvcmtzcGFjZUFjY2Vzc2liaWxpdHlEaXNwbGF5SW50ZXJu
YWxfSVBJKQ0KKysgKHZvaWQpX2ludmFsaWRhdGVBY2Nlc3NpYmlsaXR5RGlzcGxheVZhbHVlczsN
CitAZW5kDQorDQogQGludGVyZmFjZSBOU0luc3BlY3RvckJhciAoSVBJKQ0KIC0gKHZvaWQpX3Vw
ZGF0ZTsNCiBAZW5kDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcA0KaW5kZXggZWMyMmI2Njgy
ZmU3Li42ZDAzN2VkMTU0YWQgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcA0KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHANCkBAIC01
Niw2ICs1Niw3IEBADQogI2luY2x1ZGUgIldlYlBhZ2UuaCINCiAjaW5jbHVkZSAiV2ViUGFnZUdy
b3VwUHJveHkuaCINCiAjaW5jbHVkZSAiV2ViUGFnZU92ZXJsYXkuaCINCisjaW5jbHVkZSAiV2Vi
UHJvY2Vzcy5oIg0KICNpbmNsdWRlIDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4NCiAjaW5jbHVk
ZSA8V2ViQ29yZS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmg+DQogI2luY2x1ZGUgPFdl
YkNvcmUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4NCkBAIC0yMzAsNiArMjMxLDE2IEBAIHZv
aWQgV0tCdW5kbGVQYWdlSW5zZXJ0TmV3bGluZUluUXVvdGVkQ29udGVudChXS0J1bmRsZVBhZ2VS
ZWYgcGFnZVJlZikNCiAgICAgV2ViS2l0Ojp0b0ltcGwocGFnZVJlZiktPmluc2VydE5ld2xpbmVJ
blF1b3RlZENvbnRlbnQoKTsNCiB9DQogDQordm9pZCBXS0FjY2Vzc2liaWxpdHlUZXN0aW5nSW5q
ZWN0UHJlZmVyZW5jZShXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21h
aW4sIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFs
dWUpDQorew0KKyAgICBpZiAoIXBhZ2VSZWYpDQorICAgICAgICByZXR1cm47DQorICAgIA0KKyNp
ZiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkNCisgICAgV2ViS2l0OjpXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5ub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRW
YWx1ZSk7DQorI2VuZGlmDQorfQ0KKw0KIHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3Qo
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpDQogew0KICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkN
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaA0KaW5kZXggYTIwMDg4MWRkMDgy
Li5jNjFmOGMyOTc5MTUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oDQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5o
DQpAQCAtOTYsNiArOTYsNyBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlN
RVR5cGUoV0tCdW5kbGVQYWdlUmVmLCBXS1N0cmluZ1JlZiBtaW1lVHlwZQ0KIFdLX0VYUE9SVCB2
b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7DQogV0tfRVhQ
T1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsN
CiBXS19FWFBPUlQgYm9vbCBXS0FjY2Vzc2liaWxpdHlDYW5Vc2VTZWNvbmRhcnlBWFRocmVhZChX
S0J1bmRsZVBhZ2VSZWYpOw0KK1dLX0VYUE9SVCB2b2lkIFdLQWNjZXNzaWJpbGl0eVRlc3RpbmdJ
bmplY3RQcmVmZXJlbmNlKFdLQnVuZGxlUGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpOw0K
IA0KIFdLX0VYUE9SVCB2b2lkIFdLQWNjZXNzaWJpbGl0eUVuYWJsZUVuaGFuY2VkQWNjZXNzaWJp
bGl0eShib29sKTsNCiBXS19FWFBPUlQgYm9vbCBXS0FjY2Vzc2liaWxpdHlFbmhhbmNlZEFjY2Vz
c2liaWxpdHlFbmFibGVkKCk7DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0NCmluZGV4IGY1NzIzY2UxNTc0MS4uNDczYWE4MzNhYTkwIDEw
MDY0NA0KLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQ0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQ0KQEAgLTEzMSw2ICsxMzEsNyBAQA0KICNlbmRpZg0KIA0KICNpZiBQTEFURk9STShNQUMp
DQorI2ltcG9ydCAiQXBwS2l0U1BJLmgiDQogI2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFn
ZU9iamVjdE1hYy5oIg0KICNpbXBvcnQgIldlYlN3aXRjaGluZ0dQVUNsaWVudC5oIg0KICNpbXBv
cnQgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xNYW5hZ2VyLmg+DQpAQCAtMTA3MCw5
ICsxMDcxLDkgQEAgc3RhdGljIGNvbnN0IFdURjo6U3RyaW5nJiB1c2VySGlnaGxpZ2h0Q29sb3JQ
cmVmZXJlbmNlS2V5KCkNCiAgICAgcmV0dXJuIHVzZXJIaWdobGlnaHRDb2xvclByZWZlcmVuY2VL
ZXk7DQogfQ0KIA0KLXN0YXRpYyBjb25zdCBXVEY6OlN0cmluZyYgcmVkdWNlTW90aW9uUHJlZmVy
ZW5jZUtleSgpDQorc3RhdGljIGNvbnN0IFdURjo6U3RyaW5nJiBpbnZlcnRDb2xvcnNQcmVmZXJl
bmNlS2V5KCkNCiB7DQotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmluZz4ga2V5
KE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJyZWR1Y2VNb3Rpb24iKSk7DQorICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxXVEY6OlN0cmluZz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJ3
aGl0ZU9uQmxhY2siKSk7DQogICAgIHJldHVybiBrZXk7DQogfQ0KICNlbmRpZg0KQEAgLTEwOTMs
OSArMTA5NCw2IEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0Zv
clByZWZlcmVuY2VDaGFuZ2UoY29uc3QgU3RyaW5nJiBrZXkpDQogICAgICAgICBhdXRvIG5vdGlm
aWNhdGlvbkNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsNCiAg
ICAgICAgIFtub3RpZmljYXRpb25DZW50ZXIgcG9zdE5vdGlmaWNhdGlvbk5hbWU6QCJOU1N5c3Rl
bUNvbG9yc1dpbGxDaGFuZ2VOb3RpZmljYXRpb24iIG9iamVjdDpuaWxdOw0KICAgICAgICAgW25v
dGlmaWNhdGlvbkNlbnRlciBwb3N0Tm90aWZpY2F0aW9uTmFtZTpOU1N5c3RlbUNvbG9yc0RpZENo
YW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsNCi0gICAgfSBlbHNlIGlmIChrZXkgPT0gcmVk
dWNlTW90aW9uUHJlZmVyZW5jZUtleSgpKSB7DQotICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNl
bnRlciA9IENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGlzdHJpYnV0ZWRDZW50ZXIoKTsNCi0gICAg
ICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUG9zdE5vdGlmaWNhdGlvbihub3RpZmljYXRpb25DZW50
ZXIsIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvblN0YXR1c0RpZENoYW5nZU5vdGlmaWNhdGlvbiwg
bnVsbHB0ciwgbnVsbHB0ciwgdHJ1ZSk7DQogICAgIH0NCiAjZW5kaWYNCiB9DQpAQCAtMTEyNyw2
ICsxMTI1LDEyIEBAIHN0YXRpYyB2b2lkIHNldFByZWZlcmVuY2VWYWx1ZShjb25zdCBTdHJpbmcm
IGRvbWFpbiwgY29uc3QgU3RyaW5nJiBrZXksIGlkIHZhbHVlDQogICAgICAgICAgICAgX0FYU1Vw
ZGF0ZVdlYkFjY2Vzc2liaWxpdHlTZXR0aW5nc1B0cigpKCk7DQogICAgIH0NCiAjZW5kaWYNCisg
ICAgDQorI2lmIFVTRShBUFBLSVQpDQorICAgIGF1dG8gY2ZLZXkgPSBrZXkuY3JlYXRlQ0ZTdHJp
bmcoKS5nZXQoKTsNCisgICAgaWYgKENGRXF1YWwoY2ZLZXksIGtBWEludGVyZmFjZVJlZHVjZU1v
dGlvbktleSkgfHwgQ0ZFcXVhbChjZktleSwga0FYSW50ZXJmYWNlSW5jcmVhc2VDb250cmFzdEtl
eSkgfHwga2V5ID09IGludmVydENvbG9yc1ByZWZlcmVuY2VLZXkoKSkNCisgICAgICAgIFtOU1dv
cmtzcGFjZSBfaW52YWxpZGF0ZUFjY2Vzc2liaWxpdHlEaXNwbGF5VmFsdWVzXTsNCisjZW5kaWYN
CiB9DQogDQogdm9pZCBXZWJQcm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3Qg
U3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+
JiBlbmNvZGVkVmFsdWUpDQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nDQppbmRleCAxMDE3Yjg0OGQ2ZjcuLmU2ZjhlYjE4NzgzMCAxMDA2NDQNCi0tLSBhL1Rv
b2xzL0NoYW5nZUxvZw0KKysrIGIvVG9vbHMvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDE3IEBADQor
MjAyMS0wNS0yMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAg
ICAgICAgQVg6IFNldHRpbmdzOiBJbmNyZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBi
cm93c2VyIHVudGlsIGFuIGFkZGl0aW9uYWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHA6DQorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZl
cmVuY2UpOg0KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmg6DQorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsOg0KKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlck1hYy5tbToNCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmpl
Y3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSk6DQorDQogMjAyMS0wNS0xMCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPg0KIA0KICAgICAgICAgVXNlIG5vbi10aHJvd2luZyBzdGQ6OmZp
bGVzeXN0ZW0gQVBJIGluIFRlc3RSdW5uZXINCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Y3BwDQppbmRleCBhZDRhMjVhZTViMDcuLjU1ODJkMzMyYjE1MCAxMDA2NDQNCi0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Y3BwDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmNwcA0KQEAgLTc1LDYgKzc1LDEyIEBAIHZvaWQgQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXI6OnVwZGF0ZUlzb2xhdGVkVHJlZU1vZGUoKQ0KIH0NCiAjZW5kaWYNCiANCisj
aWYgIVBMQVRGT1JNKENPQ09BKQ0KK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmluamVj
dEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3RyaW5nUmVmLCBKU1N0cmluZ1JlZiwgSlNTdHJp
bmdSZWYpDQorew0KK30NCisjZW5kaWYNCisNCiB2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVy
OjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0KQ0KIHsNCiAgICAgc2V0R2xv
YmFsT2JqZWN0UHJvcGVydHkoY29udGV4dCwgImFjY2Vzc2liaWxpdHlDb250cm9sbGVyIiwgdGhp
cyk7DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oDQppbmRleCBkZDFjNjgxOWVlMDAuLjNk
MDYxMmFkNDE5YSAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaA0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oDQpAQCAtNzMsNiAr
NzMsNyBAQCBwdWJsaWM6DQogICAgIHZvaWQgZXhlY3V0ZU9uQVhUaHJlYWRBbmRXYWl0KEZ1bmN0
aW9uPHZvaWQoKT4mJik7DQogICAgIHZvaWQgZXhlY3V0ZU9uQVhUaHJlYWQoRnVuY3Rpb248dm9p
ZCgpPiYmKTsNCiAgICAgdm9pZCBleGVjdXRlT25NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4m
Jik7DQorICAgIHZvaWQgaW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYg
ZG9tYWluLCBKU1N0cmluZ1JlZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKTsNCiAjZW5kaWYNCiAN
CiAgICAgYm9vbCBhZGROb3RpZmljYXRpb25MaXN0ZW5lcihKU1ZhbHVlUmVmIGZ1bmN0aW9uQ2Fs
bGJhY2spOw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5p
ZGwNCmluZGV4IGFhMzI2NTViMmQxYy4uMmZkYWEwY2E1OWJkIDEwMDY0NA0KLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5pZGwNCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsDQpAQCAtMzQsNiArMzQsNyBAQA0K
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBmb2N1c2VkRWxl
bWVudDsNCiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBlbGVtZW50QXRQb2ludChsb25nIHgs
IGxvbmcgeSk7DQogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKERPTVN0cmluZyBpZCk7DQorICAgIHVuZGVmaW5lZCBpbmplY3RBY2Nlc3NpYmlsaXR5UHJl
ZmVyZW5jZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5LCBET01TdHJpbmcgdmFsdWUp
Ow0KICAgICANCiAgICAgYm9vbGVhbiBhZGROb3RpZmljYXRpb25MaXN0ZW5lcihvYmplY3QgZnVu
Y3Rpb25DYWxsYmFjayk7DQogICAgIGJvb2xlYW4gcmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIo
KTsNCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21h
Yy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tDQppbmRleCBh
ODg3ZGU1Yzg1ZDUuLjQwNGU1MGNiNzFmMCAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tDQor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlck1hYy5tbQ0KQEAgLTk1LDYgKzk1LDE0IEBAIHN0YXRpYyBpZCBmaW5kQWNj
ZXNzaWJsZU9iamVjdEJ5SWQoaWQgb2JqLCBOU1N0cmluZyAqaWRBdHRyaWJ1dGUpDQogICAgIHJl
dHVybiBudWxscHRyOw0KIH0NCiANCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmpl
Y3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZShKU1N0cmluZ1JlZiBkb21haW4sIEpTU3RyaW5nUmVm
IGtleSwgSlNTdHJpbmdSZWYgdmFsdWUpDQorew0KKyAgICBOU051bWJlciAqbnVtYmVyVmFsdWUg
PSBAKFtbTlNTdHJpbmcgc3RyaW5nV2l0aEpTU3RyaW5nUmVmOnZhbHVlXSBpbnRlZ2VyVmFsdWVd
KTsNCisgICAgTlNEYXRhICplbmNvZGVkRGF0YSA9IFtOU0tleWVkQXJjaGl2ZXIgYXJjaGl2ZWRE
YXRhV2l0aFJvb3RPYmplY3Q6bnVtYmVyVmFsdWUgcmVxdWlyaW5nU2VjdXJlQ29kaW5nOllFUyBl
cnJvcjpuaWxdOw0KKyAgICBOU1N0cmluZyAqZW5jb2RlZFN0cmluZyA9IFtlbmNvZGVkRGF0YSBi
YXNlNjRFbmNvZGVkU3RyaW5nV2l0aE9wdGlvbnM6MF07DQorICAgIFdLQWNjZXNzaWJpbGl0eVRl
c3RpbmdJbmplY3RQcmVmZXJlbmNlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCkt
PnBhZ2UoKSwgdG9XVEZTdHJpbmcoZG9tYWluKSwgdG9XVEZTdHJpbmcoa2V5KSwgKFN0cmluZyll
bmNvZGVkU3RyaW5nKTsNCit9DQorDQogUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYg
aWRBdHRyaWJ1dGUpDQogew0KICAgICBhdXRvIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xl
dG9uKCkucGFnZSgpLT5wYWdlKCk7DQo=
</data>
<flag name="commit-queue"
          id="450239"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429144</attachid>
            <date>2021-05-20 00:55:24 -0700</date>
            <delta_ts>2021-05-20 10:52:14 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_225909.txt</filename>
            <type>text/plain</type>
            <size>19167</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggODllZjliMTM0ZDk3Li4xODcxMjYzYmMzMGMgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
MyBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0
ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0K
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4NCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5n
ZS5odG1sOiBBZGRlZC4NCisNCiAyMDIxLTA1LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+DQogDQogICAgICAgICBbIG1hY09TIFJlbGVhc2Ugd2syIF0gaHR0cC90ZXN0cy9jYWNo
ZS1zdG9yYWdlL2NhY2hlLXJlY29yZHMtcGVyc2lzdGVuY3kuaHR0cHMuaHRtbCBpcyBmbGFreSBj
cmFzaGluZw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlh
LXF1ZXJ5LXZhbHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS1leHBlY3RlZC50eHQNCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjQxNTIwYjQwMmNkOA0KLS0tIC9kZXYv
bnVsbA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFs
dWVzLWNoYW5nZS1leHBlY3RlZC50eHQNCkBAIC0wLDAgKzEsMTkgQEANCitubyBjb250cmFzdA0K
K25vIG1vdGlvbg0KK1RoaXMgdGVzdHMgdGhhdCBDU1MgQWNjZXNzaWJpbGl0eSBtZWRpYSBxdWVy
aWVzIGdldCB1cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdlDQorDQorT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLg0KKw0KKw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ3Zpc2libGUnDQor
UEFTUyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxp
dHkgaXMgJ3Zpc2libGUnDQorUEFTUyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BB
U1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNTIHVwZGF0ZWRWaXNpYmlsaXR5
IGlzICd2aXNpYmxlJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNT
IHVwZGF0ZWRWaXNpYmlsaXR5IGlzICd2aXNpYmxlJw0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUNCisNCitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sDQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5jYTUzZjYzZGM1NzgNCi0t
LSAvZGV2L251bGwNCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1
ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbA0KQEAgLTAsMCArMSwxMDYgQEANCis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+DQorPGh0bWw+DQorPGhlYWQ+DQorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+DQorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3Jp
cHQ+DQorPHN0eWxlPg0KKw0KKyAgICBAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG5vLXByZWZl
cmVuY2UpIHsNCisgICAgICAgIC5jb250cmFzdE5vIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5
OiB2aXNpYmxlOw0KKyAgICAgICAgfQ0KKyAgICAgICAgLmNvbnRyYXN0TW9yZSB7DQorICAgICAg
ICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KKyAgICAgICAgfQ0KKyAgICB9DQorICAgIEBtZWRp
YSAocHJlZmVycy1jb250cmFzdDogbW9yZSkgew0KKyAgICAgICAgLmNvbnRyYXN0Tm8gew0KKyAg
ICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgICAgIC5jb250
cmFzdE1vcmUgew0KKyAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQorICAgICAgICB9
DQorICAgIH0NCisNCisgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVm
ZXJlbmNlKSB7DQorICAgICAgICAubW90aW9uTm8gew0KKyAgICAgICAgICAgdmlzaWJpbGl0eTog
dmlzaWJsZTsNCisgICAgICAgIH0NCisgICAgICAgIC5tb3Rpb25SZWR1Y2Ugew0KKyAgICAgICAg
ICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBAbWVkaWEg
KHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgew0KKyAgICAgICAgLm1vdGlvbk5vIHsN
CisgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgICAgICB9DQorICAgICAgICAu
bW90aW9uUmVkdWNlIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KKyAgICAg
ICAgfQ0KKyAgICB9DQorDQorPC9zdHlsZT4NCis8L2hlYWQ+DQorPGJvZHk+DQorDQorPGRpdiBp
ZD0ibm8tY29udHJhc3QiIGNsYXNzPSJjb250cmFzdE5vIj5ubyBjb250cmFzdDwvZGl2Pg0KKzxk
aXYgaWQ9Im1vcmUtY29udHJhc3QiIGNsYXNzPSJjb250cmFzdE1vcmUiPm1vcmU8L2Rpdj4NCisN
Cis8ZGl2IGlkPSJuby1tb3Rpb24iIGNsYXNzPSJtb3Rpb25ObyI+bm8gbW90aW9uPC9kaXY+DQor
PGRpdiBpZD0icmVkdWNlLW1vdGlvbiIgY2xhc3M9Im1vdGlvblJlZHVjZSI+cmVkdWNlPC9kaXY+
DQorDQorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+DQorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
DQorDQorPHNjcmlwdD4NCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBDU1MgQWNj
ZXNzaWJpbGl0eSBtZWRpYSBxdWVyaWVzIGdldCB1cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdl
Iik7DQorDQorICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsNCisNCisgICAgZnVuY3Rp
b24gdmlzaWJpbGl0eShkb21JZCkgew0KKyAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZG9tSWQpKS52aXNpYmlsaXR5Ow0KKyAgICB9DQorDQor
ICAgIHZhciBkZWZhdWx0VmlzaWJpbGl0eTsNCisgICAgdmFyIHVwZGF0ZWRWaXNpYmlsaXR5Ow0K
KyAgICBmdW5jdGlvbiB0ZXN0VmlzaWJpbGl0eShkZWZhdWx0SWQsIHVwZGF0ZWRJZCwga2V5LCBl
bmRUZXN0KSB7DQorICAgICAgICBkZWZhdWx0VmlzaWJpbGl0eSA9IHZpc2liaWxpdHkoZGVmYXVs
dElkKTsNCisgICAgICAgIHVwZGF0ZWRWaXNpYmlsaXR5ID0gdmlzaWJpbGl0eSh1cGRhdGVkSWQp
Ow0KKw0KKyAgICAgICAgc2hvdWxkQmUoImRlZmF1bHRWaXNpYmlsaXR5IiwgIid2aXNpYmxlJyIp
Ow0KKyAgICAgICAgc2hvdWxkQmUoInVwZGF0ZWRWaXNpYmlsaXR5IiwgIidoaWRkZW4nIik7DQor
ICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZSgiY29tLmFwcGxlLnVuaXZlcnNhbGFjY2VzcyIsIGtleSwgIjEiKTsNCisNCisgICAgICAg
IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4gew0KKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkg
PT4gew0KKyAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmlsaXR5KHVwZGF0ZWRJZCkgPT0gJ3Zp
c2libGUnOw0KKyAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgICAgIGRlZmF1bHRWaXNpYmls
aXR5ID0gdmlzaWJpbGl0eShkZWZhdWx0SWQpOw0KKyAgICAgICAgICAgIHVwZGF0ZWRWaXNpYmls
aXR5ID0gdmlzaWJpbGl0eSh1cGRhdGVkSWQpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJkZWZh
dWx0VmlzaWJpbGl0eSIsICInaGlkZGVuJyIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJ1cGRh
dGVkVmlzaWJpbGl0eSIsICIndmlzaWJsZSciKTsNCisgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSgiY29tLmFwcGxlLnVuaXZl
cnNhbGFjY2VzcyIsIGtleSwgIjAiKTsNCisgICAgICAgICAgICBpZiAoZW5kVGVzdCkgew0KKyAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9
LCAwKTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBoYW5kbGVDb250cmFzdChlbmRUZXN0KSB7
DQorICAgICAgICB0ZXN0VmlzaWJpbGl0eSgibm8tY29udHJhc3QiLCAibW9yZS1jb250cmFzdCIs
ICJpbmNyZWFzZUNvbnRyYXN0IiwgZW5kVGVzdCk7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24g
aGFuZGxlTW90aW9uKGVuZFRlc3QpIHsNCisgICAgICAgIHRlc3RWaXNpYmlsaXR5KCJuby1tb3Rp
b24iLCAicmVkdWNlLW1vdGlvbiIsICJyZWR1Y2VNb3Rpb24iLCBlbmRUZXN0KTsNCisgICAgfQ0K
Kw0KKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7DQorICAgICAgICBo
YW5kbGVDb250cmFzdChmYWxzZSk7DQorICAgICAgICBoYW5kbGVNb3Rpb24odHJ1ZSk7DQorICAg
IH0NCisNCis8L3NjcmlwdD4NCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMNCmluZGV4IDhiYzI4MzZlNGE2OS4uNWJi
ZTgwYTliMTJkIDEwMDY0NA0KLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0
RXhwZWN0YXRpb25zDQorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMNCkBAIC0yMTIsNiArMjEyLDcgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvbmF2aWdhdGUtc2VsZi10by1kYXRhLXVybC5odG1sIFsgU2tpcA0KIA0K
ICMgQ29sb3Igd2VsbCBpcyB0dXJuZWQgb2ZmLg0KIGFjY2Vzc2liaWxpdHkvY29sb3Itd2VsbC5o
dG1sIFsgU2tpcCBdDQorYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5n
ZS5odG1sIFsgU2tpcCBdDQogZWRpdGluZy9wYXN0ZWJvYXJkL2RyYWctYW5kLWRyb3AtY29sb3It
aW5wdXQtZXZlbnRzLmh0bWwgWyBTa2lwIF0NCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZHJhZy1hbmQt
ZHJvcC1jb2xvci1pbnB1dC5odG1sIFsgU2tpcCBdDQogZmFzdC9jc3MvcHNldWRvLXZpc2l0ZWQt
YmFja2dyb3VuZC1jb2xvci1vbi1pbnB1dC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdDQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cNCmluZGV4IDFkNjQzNDVhM2FlMi4uN2IzYmY5NWIyM2NkIDEwMDY0NA0KLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZw0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZw0KQEAgLTEsMyArMSwxMiBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNo
ICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVh
c2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFs
IHNldHRpbmcgaXMgYXBwbGllZA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNTkwOQ0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuDQorDQorICAgICAgICAqIHBhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaDoNCisNCiAyMDIx
LTA1LTEwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPg0KIA0KICAgICAg
ICAgW21hY09TXSBBbGxvdyBpbW1lZGlhdGUgYWN0aW9uIGdlc3R1cmVzIHRvIGJlZ2luIHdoZW4g
Zm9yY2UgY2xpY2tpbmcgdGV4dCBpbnNpZGUgaW1hZ2Ugb3ZlcmxheXMNCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaA0KaW5kZXggYmNhODI5OTJhODk0
Li5iOGRmMGExYmNjODkgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9t
YWMvSElTZXJ2aWNlc1NQSS5oDQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMv
SElTZXJ2aWNlc1NQSS5oDQpAQCAtMTUyLDYgKzE1Miw4IEBAIHZvaWQgX0FYU2V0Q2xpZW50SWRl
bnRpZmljYXRpb25PdmVycmlkZShBWENsaWVudFR5cGUpOw0KIGV4dGVybiBDRlN0cmluZ1JlZiBr
QVhJbnRlcmZhY2VSZWR1Y2VNb3Rpb25LZXk7DQogZXh0ZXJuIENGU3RyaW5nUmVmIGtBWEludGVy
ZmFjZVJlZHVjZU1vdGlvblN0YXR1c0RpZENoYW5nZU5vdGlmaWNhdGlvbjsNCiANCitleHRlcm4g
Q0ZTdHJpbmdSZWYga0FYSW50ZXJmYWNlSW5jcmVhc2VDb250cmFzdEtleTsNCisNCiBXVEZfRVhU
RVJOX0NfRU5EDQogDQogI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspDQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZw0K
aW5kZXggZDExYWU1ZTYwOTdlLi42YmRlNjFjY2E3MmMgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZw0KKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEs
MjUgQEANCisyMDIxLTA1LTIwICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
DQorDQorICAgICAgICBBWDogU2V0dGluZ3M6IEluY3JlYXNlIGNvbnRyYXN0IGlzbid0IGRldGVj
dGVkIGluIGJyb3dzZXIgdW50aWwgYW4gYWRkaXRpb25hbCBzZXR0aW5nIGlzIGFwcGxpZWQNCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU5MDkNCisN
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgVGVzdHM6
IGFjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbA0KKw0KKyAg
ICAgICAgMSkgV2ViQ29udGVudCBibG9ja3MgYWNjZXNzIHRvIGRpc3RyaWJ1dGVkIG5vdGlmaWNh
dGlvbiBjZW50ZXIsIHNvIHdlIGNhbid0IHJlbHkgb24gdGhhdCB0byByZS1wb3N0IG5vdGlmaWNh
dGlvbnMNCisgICAgICAgIDIpIEFwcEtpdCBjYWNoZXMgdGhlIHZhbHVlcyBvZiB0aGVzZSBBWCBz
ZXR0aW5ncywgc28gd2UgbmVlZCB0byBpbnZhbGlkYXRlIHRoYXQgY2FjaGUgZGlyZWN0bHkNCisN
CisgICAgICAgICogUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaDoNCisgICAgICAgICogV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOg0KKyAgICAgICAg
KFdLQWNjZXNzaWJpbGl0eVRlc3RpbmdJbmplY3RQcmVmZXJlbmNlKToNCisgICAgICAgICogV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmg6DQorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOg0KKyAgICAgICAgKFdl
YktpdDo6aW52ZXJ0Q29sb3JzUHJlZmVyZW5jZUtleSk6DQorICAgICAgICAoV2ViS2l0OjpkaXNw
YXRjaFNpbXVsYXRlZE5vdGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdlKToNCisgICAgICAg
IChXZWJLaXQ6OnNldFByZWZlcmVuY2VWYWx1ZSk6DQorICAgICAgICAoV2ViS2l0OjpyZWR1Y2VN
b3Rpb25QcmVmZXJlbmNlS2V5KTogRGVsZXRlZC4NCisNCiAyMDIxLTA1LTEwICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPg0KIA0KICAgICAgICAgW21hY09TXSBBbGxvdyBp
bW1lZGlhdGUgYWN0aW9uIGdlc3R1cmVzIHRvIGJlZ2luIHdoZW4gZm9yY2UgY2xpY2tpbmcgdGV4
dCBpbnNpZGUgaW1hZ2Ugb3ZlcmxheXMNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL3NwaS9tYWMvQXBwS2l0U1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMv
QXBwS2l0U1BJLmgNCmluZGV4IDk3ZjRlOTRjZTk3NC4uNjY3ZTk4ZTQzYzJjIDEwMDY0NA0KLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oDQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgNCkBAIC01OCw2ICs1OCwxMCBA
QCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgTlNXaW5kb3dTaGFkb3dPcHRpb25zKSB7
DQogDQogI2VuZGlmDQogDQorQGludGVyZmFjZSBOU1dvcmtzcGFjZSAoTlNXb3Jrc3BhY2VBY2Nl
c3NpYmlsaXR5RGlzcGxheUludGVybmFsX0lQSSkNCisrICh2b2lkKV9pbnZhbGlkYXRlQWNjZXNz
aWJpbGl0eURpc3BsYXlWYWx1ZXM7DQorQGVuZA0KKw0KIEBpbnRlcmZhY2UgTlNJbnNwZWN0b3JC
YXIgKElQSSkNCiAtICh2b2lkKV91cGRhdGU7DQogQGVuZA0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5jcHANCmluZGV4IGVjMjJiNjY4MmZlNy4uNmQwMzdlZDE1NGFkIDEwMDY0NA0KLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5j
cHANCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2UuY3BwDQpAQCAtNTYsNiArNTYsNyBAQA0KICNpbmNsdWRlICJXZWJQYWdlLmgi
DQogI2luY2x1ZGUgIldlYlBhZ2VHcm91cFByb3h5LmgiDQogI2luY2x1ZGUgIldlYlBhZ2VPdmVy
bGF5LmgiDQorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCINCiAjaW5jbHVkZSA8V2ViQ29yZS9BWE9i
amVjdENhY2hlLmg+DQogI2luY2x1ZGUgPFdlYkNvcmUvQWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZS5oPg0KICNpbmNsdWRlIDxXZWJDb3JlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg+DQpA
QCAtMjMwLDYgKzIzMSwxNiBAQCB2b2lkIFdLQnVuZGxlUGFnZUluc2VydE5ld2xpbmVJblF1b3Rl
ZENvbnRlbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpDQogICAgIFdlYktpdDo6dG9JbXBsKHBh
Z2VSZWYpLT5pbnNlcnROZXdsaW5lSW5RdW90ZWRDb250ZW50KCk7DQogfQ0KIA0KK3ZvaWQgV0tB
Y2Nlc3NpYmlsaXR5VGVzdGluZ0luamVjdFByZWZlcmVuY2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2VS
ZWYsIGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgT3B0aW9u
YWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKQ0KK3sNCisgICAgaWYgKCFwYWdlUmVmKQ0KKyAgICAg
ICAgcmV0dXJuOw0KKyAgICANCisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpDQorICAg
IFdlYktpdDo6V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2Vk
KGRvbWFpbiwga2V5LCBlbmNvZGVkVmFsdWUpOw0KKyNlbmRpZg0KK30NCisNCiB2b2lkKiBXS0Fj
Y2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQ0KIHsNCiAjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRl
LmgNCmluZGV4IGEyMDA4ODFkZDA4Mi4uYzYxZjhjMjk3OTE1IDEwMDY0NA0KLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZh
dGUuaA0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZVByaXZhdGUuaA0KQEAgLTk2LDYgKzk2LDcgQEAgV0tfRVhQT1JUIGJvb2wg
V0tCdW5kbGVQYWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYg
bWltZVR5cGUNCiBXS19FWFBPUlQgdm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1
bmRsZVBhZ2VSZWYpOw0KIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlGb2N1c2VkT2Jq
ZWN0KFdLQnVuZGxlUGFnZVJlZik7DQogV0tfRVhQT1JUIGJvb2wgV0tBY2Nlc3NpYmlsaXR5Q2Fu
VXNlU2Vjb25kYXJ5QVhUaHJlYWQoV0tCdW5kbGVQYWdlUmVmKTsNCitXS19FWFBPUlQgdm9pZCBX
S0FjY2Vzc2liaWxpdHlUZXN0aW5nSW5qZWN0UHJlZmVyZW5jZShXS0J1bmRsZVBhZ2VSZWYsIGNv
bnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgT3B0aW9uYWw8U3Ry
aW5nPiYgZW5jb2RlZFZhbHVlKTsNCiANCiBXS19FWFBPUlQgdm9pZCBXS0FjY2Vzc2liaWxpdHlF
bmFibGVFbmhhbmNlZEFjY2Vzc2liaWxpdHkoYm9vbCk7DQogV0tfRVhQT1JUIGJvb2wgV0tBY2Nl
c3NpYmlsaXR5RW5oYW5jZWRBY2Nlc3NpYmlsaXR5RW5hYmxlZCgpOw0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tDQppbmRleCBmNTcyM2Nl
MTU3NDEuLjQ3M2FhODMzYWE5MCAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0NCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0NCkBAIC0xMzEsNiArMTMxLDcgQEANCiAjZW5kaWYN
CiANCiAjaWYgUExBVEZPUk0oTUFDKQ0KKyNpbXBvcnQgIkFwcEtpdFNQSS5oIg0KICNpbXBvcnQg
IldLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RNYWMuaCINCiAjaW1wb3J0ICJXZWJTd2l0Y2hp
bmdHUFVDbGllbnQuaCINCiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdM
TWFuYWdlci5oPg0KQEAgLTEwNzAsOSArMTA3MSw5IEBAIHN0YXRpYyBjb25zdCBXVEY6OlN0cmlu
ZyYgdXNlckhpZ2hsaWdodENvbG9yUHJlZmVyZW5jZUtleSgpDQogICAgIHJldHVybiB1c2VySGln
aGxpZ2h0Q29sb3JQcmVmZXJlbmNlS2V5Ow0KIH0NCiANCi1zdGF0aWMgY29uc3QgV1RGOjpTdHJp
bmcmIHJlZHVjZU1vdGlvblByZWZlcmVuY2VLZXkoKQ0KK3N0YXRpYyBjb25zdCBXVEY6OlN0cmlu
ZyYgaW52ZXJ0Q29sb3JzUHJlZmVyZW5jZUtleSgpDQogew0KLSAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8V1RGOjpTdHJpbmc+IGtleShNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgicmVkdWNlTW90
aW9uIikpOw0KKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8V1RGOjpTdHJpbmc+IGtleShNQUtF
X1NUQVRJQ19TVFJJTkdfSU1QTCgid2hpdGVPbkJsYWNrIikpOw0KICAgICByZXR1cm4ga2V5Ow0K
IH0NCiAjZW5kaWYNCkBAIC0xMDkzLDkgKzEwOTQsNiBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaFNp
bXVsYXRlZE5vdGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdlKGNvbnN0IFN0cmluZyYga2V5
KQ0KICAgICAgICAgYXV0byBub3RpZmljYXRpb25DZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl07DQogICAgICAgICBbbm90aWZpY2F0aW9uQ2VudGVyIHBvc3ROb3Rp
ZmljYXRpb25OYW1lOkAiTlNTeXN0ZW1Db2xvcnNXaWxsQ2hhbmdlTm90aWZpY2F0aW9uIiBvYmpl
Y3Q6bmlsXTsNCiAgICAgICAgIFtub3RpZmljYXRpb25DZW50ZXIgcG9zdE5vdGlmaWNhdGlvbk5h
bWU6TlNTeXN0ZW1Db2xvcnNEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07DQotICAg
IH0gZWxzZSBpZiAoa2V5ID09IHJlZHVjZU1vdGlvblByZWZlcmVuY2VLZXkoKSkgew0KLSAgICAg
ICAgYXV0byBub3RpZmljYXRpb25DZW50ZXIgPSBDRk5vdGlmaWNhdGlvbkNlbnRlckdldERpc3Ry
aWJ1dGVkQ2VudGVyKCk7DQotICAgICAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclBvc3ROb3RpZmlj
YXRpb24obm90aWZpY2F0aW9uQ2VudGVyLCBrQVhJbnRlcmZhY2VSZWR1Y2VNb3Rpb25TdGF0dXNE
aWRDaGFuZ2VOb3RpZmljYXRpb24sIG51bGxwdHIsIG51bGxwdHIsIHRydWUpOw0KICAgICB9DQog
I2VuZGlmDQogfQ0KQEAgLTExMjcsNiArMTEyNSwxMiBAQCBzdGF0aWMgdm9pZCBzZXRQcmVmZXJl
bmNlVmFsdWUoY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBpZCB2YWx1
ZQ0KICAgICAgICAgICAgIF9BWFNVcGRhdGVXZWJBY2Nlc3NpYmlsaXR5U2V0dGluZ3NQdHIoKSgp
Ow0KICAgICB9DQogI2VuZGlmDQorICAgIA0KKyNpZiBVU0UoQVBQS0lUKQ0KKyAgICBhdXRvIGNm
S2V5ID0ga2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCk7DQorICAgIGlmIChDRkVxdWFsKGNmS2V5
LCBrQVhJbnRlcmZhY2VSZWR1Y2VNb3Rpb25LZXkpIHx8IENGRXF1YWwoY2ZLZXksIGtBWEludGVy
ZmFjZUluY3JlYXNlQ29udHJhc3RLZXkpIHx8IGtleSA9PSBpbnZlcnRDb2xvcnNQcmVmZXJlbmNl
S2V5KCkpDQorICAgICAgICBbTlNXb3Jrc3BhY2UgX2ludmFsaWRhdGVBY2Nlc3NpYmlsaXR5RGlz
cGxheVZhbHVlc107DQorI2VuZGlmDQogfQ0KIA0KIHZvaWQgV2ViUHJvY2Vzczo6bm90aWZ5UHJl
ZmVyZW5jZXNDaGFuZ2VkKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwg
Y29uc3QgT3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKQ0KZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZw0KaW5kZXggMTAxN2I4NDhkNmY3Li5lNmY4ZWIx
ODc4MzAgMTAwNjQ0DQotLS0gYS9Ub29scy9DaGFuZ2VMb2cNCisrKyBiL1Rvb2xzL0NoYW5nZUxv
Zw0KQEAgLTEsMyArMSwxNyBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJh
c3QgaXNuJ3QgZGV0ZWN0ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcg
aXMgYXBwbGllZA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNTkwOQ0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuY3BwOg0KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6Omlu
amVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKToNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oOg0KKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmlkbDoNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9t
YWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW06DQorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UpOg0KKw0KIDIw
MjEtMDUtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4NCiANCiAgICAgICAgIFVz
ZSBub24tdGhyb3dpbmcgc3RkOjpmaWxlc3lzdGVtIEFQSSBpbiBUZXN0UnVubmVyDQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5oDQppbmRleCBkZDFjNjgxOWVlMDAuLjNkMDYxMmFkNDE5YSAx
MDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuaA0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oDQpAQCAtNzMsNiArNzMsNyBAQCBwdWJs
aWM6DQogICAgIHZvaWQgZXhlY3V0ZU9uQVhUaHJlYWRBbmRXYWl0KEZ1bmN0aW9uPHZvaWQoKT4m
Jik7DQogICAgIHZvaWQgZXhlY3V0ZU9uQVhUaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKTsNCiAg
ICAgdm9pZCBleGVjdXRlT25NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJik7DQorICAgIHZv
aWQgaW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9tYWluLCBKU1N0
cmluZ1JlZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKTsNCiAjZW5kaWYNCiANCiAgICAgYm9vbCBh
ZGROb3RpZmljYXRpb25MaXN0ZW5lcihKU1ZhbHVlUmVmIGZ1bmN0aW9uQ2FsbGJhY2spOw0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGwNCmluZGV4IGFh
MzI2NTViMmQxYy4uMmZkYWEwY2E1OWJkIDEwMDY0NA0KLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGwN
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsDQpAQCAtMzQsNiArMzQsNyBAQA0KICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBmb2N1c2VkRWxlbWVudDsNCiAgICAg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudCBlbGVtZW50QXRQb2ludChsb25nIHgsIGxvbmcgeSk7DQog
ICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgYWNjZXNzaWJsZUVsZW1lbnRCeUlkKERPTVN0cmlu
ZyBpZCk7DQorICAgIHVuZGVmaW5lZCBpbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZShET01T
dHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5LCBET01TdHJpbmcgdmFsdWUpOw0KICAgICANCiAg
ICAgYm9vbGVhbiBhZGROb3RpZmljYXRpb25MaXN0ZW5lcihvYmplY3QgZnVuY3Rpb25DYWxsYmFj
ayk7DQogICAgIGJvb2xlYW4gcmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsNCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlckF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHANCmluZGV4IDhmNjdjM2UzMzQy
OS4uMTEwNmQxMWU3NDc2IDEwMDY0NA0KLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwDQorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlckF0ay5jcHANCkBAIC0xMDAsNiArMTAwLDEwIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cGxhdGZvcm1OYW1lKCkNCiAgICAgcmV0dXJuIHBs
YXRmb3JtTmFtZTsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0
QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYsIEpTU3RyaW5nUmVmLCBKU1N0cmlu
Z1JlZikNCit7DQorfQ0KKw0KIFJlZjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQ0KIHsNCiAgICAgV0tCdW5kbGVQYWdlUmVmIHBh
Z2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7DQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQ0KaW5kZXggYzk4YjllOTk2Y2Qx
Li4xYzg1MGRjYzA3M2IgMTAwNjQ0DQotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQ0KKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXJJT1MubW0NCkBAIC04OCw2ICs4OCwxMCBAQCBzdGF0aWMgaWQgZmluZEFjY2Vzc2libGVPYmpl
Y3RCeUlkKGlkIG9iaiwgTlNTdHJpbmcgKmlkQXR0cmlidXRlKQ0KICAgICByZXR1cm4gbmlsOw0K
IH0NCiANCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5
UHJlZmVyZW5jZShKU1N0cmluZ1JlZiwgSlNTdHJpbmdSZWYsIEpTU3RyaW5nUmVmKQ0KK3sNCit9
DQorDQogUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYgaWRBdHRyaWJ1dGUpDQogew0K
ICAgICBhdXRvIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdl
KCk7DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9t
YWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQ0KaW5kZXgg
YTg4N2RlNWM4NWQ1Li40MDRlNTBjYjcxZjAgMTAwNjQ0DQotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQ0K
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJNYWMubW0NCkBAIC05NSw2ICs5NSwxNCBAQCBzdGF0aWMgaWQgZmluZEFj
Y2Vzc2libGVPYmplY3RCeUlkKGlkIG9iaiwgTlNTdHJpbmcgKmlkQXR0cmlidXRlKQ0KICAgICBy
ZXR1cm4gbnVsbHB0cjsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5q
ZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9tYWluLCBKU1N0cmluZ1Jl
ZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKQ0KK3sNCisgICAgTlNOdW1iZXIgKm51bWJlclZhbHVl
ID0gQChbW05TU3RyaW5nIHN0cmluZ1dpdGhKU1N0cmluZ1JlZjp2YWx1ZV0gaW50ZWdlclZhbHVl
XSk7DQorICAgIE5TRGF0YSAqZW5jb2RlZERhdGEgPSBbTlNLZXllZEFyY2hpdmVyIGFyY2hpdmVk
RGF0YVdpdGhSb290T2JqZWN0Om51bWJlclZhbHVlIHJlcXVpcmluZ1NlY3VyZUNvZGluZzpZRVMg
ZXJyb3I6bmlsXTsNCisgICAgTlNTdHJpbmcgKmVuY29kZWRTdHJpbmcgPSBbZW5jb2RlZERhdGEg
YmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdOw0KKyAgICBXS0FjY2Vzc2liaWxpdHlU
ZXN0aW5nSW5qZWN0UHJlZmVyZW5jZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgp
LT5wYWdlKCksIHRvV1RGU3RyaW5nKGRvbWFpbiksIHRvV1RGU3RyaW5nKGtleSksIChTdHJpbmcp
ZW5jb2RlZFN0cmluZyk7DQorfQ0KKw0KIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5nUmVm
IGlkQXR0cmlidXRlKQ0KIHsNCiAgICAgYXV0byBwYWdlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmds
ZXRvbigpLnBhZ2UoKS0+cGFnZSgpOw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyV2luLmNwcA0KaW5kZXggNzU1MDVkYTE0MDkwLi5lYWE4Y2MyNjViYmEgMTAwNjQ0DQot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlcldpbi5jcHANCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcA0KQEAgLTUwLDYgKzUw
LDEyIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6
cGxhdGZvcm1OYW1lKCkNCiAgICAgcmV0dXJuIG51bGxwdHI7DQogfQ0KIA0KK3ZvaWQgQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3RyaW5n
UmVmLCBKU1N0cmluZ1JlZiwgSlNTdHJpbmdSZWYpDQorew0KKyAgICBub3RJbXBsZW1lbnRlZCgp
Ow0KKyAgICByZXR1cm4gbnVsbHB0cjsNCit9DQorDQogUmVmPEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyb290RWxlbWVudCgpDQogew0KICAgICBub3RJ
bXBsZW1lbnRlZCgpOw0K
</data>
<flag name="commit-queue"
          id="450241"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429187</attachid>
            <date>2021-05-20 10:52:14 -0700</date>
            <delta_ts>2021-05-20 11:00:15 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_225909.txt</filename>
            <type>text/plain</type>
            <size>19782</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggODllZjliMTM0ZDk3Li4xODcxMjYzYmMzMGMgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
MyBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0
ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0K
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4NCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5n
ZS5odG1sOiBBZGRlZC4NCisNCiAyMDIxLTA1LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+DQogDQogICAgICAgICBbIG1hY09TIFJlbGVhc2Ugd2syIF0gaHR0cC90ZXN0cy9jYWNo
ZS1zdG9yYWdlL2NhY2hlLXJlY29yZHMtcGVyc2lzdGVuY3kuaHR0cHMuaHRtbCBpcyBmbGFreSBj
cmFzaGluZw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlh
LXF1ZXJ5LXZhbHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS1leHBlY3RlZC50eHQNCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjQxNTIwYjQwMmNkOA0KLS0tIC9kZXYv
bnVsbA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFs
dWVzLWNoYW5nZS1leHBlY3RlZC50eHQNCkBAIC0wLDAgKzEsMTkgQEANCitubyBjb250cmFzdA0K
K25vIG1vdGlvbg0KK1RoaXMgdGVzdHMgdGhhdCBDU1MgQWNjZXNzaWJpbGl0eSBtZWRpYSBxdWVy
aWVzIGdldCB1cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdlDQorDQorT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLg0KKw0KKw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ3Zpc2libGUnDQor
UEFTUyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxp
dHkgaXMgJ3Zpc2libGUnDQorUEFTUyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BB
U1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNTIHVwZGF0ZWRWaXNpYmlsaXR5
IGlzICd2aXNpYmxlJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNT
IHVwZGF0ZWRWaXNpYmlsaXR5IGlzICd2aXNpYmxlJw0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUNCisNCitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sDQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5jYTUzZjYzZGM1NzgNCi0t
LSAvZGV2L251bGwNCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1
ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbA0KQEAgLTAsMCArMSwxMDYgQEANCis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+DQorPGh0bWw+DQorPGhlYWQ+DQorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+DQorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3Jp
cHQ+DQorPHN0eWxlPg0KKw0KKyAgICBAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG5vLXByZWZl
cmVuY2UpIHsNCisgICAgICAgIC5jb250cmFzdE5vIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5
OiB2aXNpYmxlOw0KKyAgICAgICAgfQ0KKyAgICAgICAgLmNvbnRyYXN0TW9yZSB7DQorICAgICAg
ICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KKyAgICAgICAgfQ0KKyAgICB9DQorICAgIEBtZWRp
YSAocHJlZmVycy1jb250cmFzdDogbW9yZSkgew0KKyAgICAgICAgLmNvbnRyYXN0Tm8gew0KKyAg
ICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgICAgIC5jb250
cmFzdE1vcmUgew0KKyAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQorICAgICAgICB9
DQorICAgIH0NCisNCisgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVm
ZXJlbmNlKSB7DQorICAgICAgICAubW90aW9uTm8gew0KKyAgICAgICAgICAgdmlzaWJpbGl0eTog
dmlzaWJsZTsNCisgICAgICAgIH0NCisgICAgICAgIC5tb3Rpb25SZWR1Y2Ugew0KKyAgICAgICAg
ICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBAbWVkaWEg
KHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgew0KKyAgICAgICAgLm1vdGlvbk5vIHsN
CisgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgICAgICB9DQorICAgICAgICAu
bW90aW9uUmVkdWNlIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KKyAgICAg
ICAgfQ0KKyAgICB9DQorDQorPC9zdHlsZT4NCis8L2hlYWQ+DQorPGJvZHk+DQorDQorPGRpdiBp
ZD0ibm8tY29udHJhc3QiIGNsYXNzPSJjb250cmFzdE5vIj5ubyBjb250cmFzdDwvZGl2Pg0KKzxk
aXYgaWQ9Im1vcmUtY29udHJhc3QiIGNsYXNzPSJjb250cmFzdE1vcmUiPm1vcmU8L2Rpdj4NCisN
Cis8ZGl2IGlkPSJuby1tb3Rpb24iIGNsYXNzPSJtb3Rpb25ObyI+bm8gbW90aW9uPC9kaXY+DQor
PGRpdiBpZD0icmVkdWNlLW1vdGlvbiIgY2xhc3M9Im1vdGlvblJlZHVjZSI+cmVkdWNlPC9kaXY+
DQorDQorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+DQorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
DQorDQorPHNjcmlwdD4NCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBDU1MgQWNj
ZXNzaWJpbGl0eSBtZWRpYSBxdWVyaWVzIGdldCB1cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdl
Iik7DQorDQorICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsNCisNCisgICAgZnVuY3Rp
b24gdmlzaWJpbGl0eShkb21JZCkgew0KKyAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZG9tSWQpKS52aXNpYmlsaXR5Ow0KKyAgICB9DQorDQor
ICAgIHZhciBkZWZhdWx0VmlzaWJpbGl0eTsNCisgICAgdmFyIHVwZGF0ZWRWaXNpYmlsaXR5Ow0K
KyAgICBmdW5jdGlvbiB0ZXN0VmlzaWJpbGl0eShkZWZhdWx0SWQsIHVwZGF0ZWRJZCwga2V5LCBl
bmRUZXN0KSB7DQorICAgICAgICBkZWZhdWx0VmlzaWJpbGl0eSA9IHZpc2liaWxpdHkoZGVmYXVs
dElkKTsNCisgICAgICAgIHVwZGF0ZWRWaXNpYmlsaXR5ID0gdmlzaWJpbGl0eSh1cGRhdGVkSWQp
Ow0KKw0KKyAgICAgICAgc2hvdWxkQmUoImRlZmF1bHRWaXNpYmlsaXR5IiwgIid2aXNpYmxlJyIp
Ow0KKyAgICAgICAgc2hvdWxkQmUoInVwZGF0ZWRWaXNpYmlsaXR5IiwgIidoaWRkZW4nIik7DQor
ICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZSgiY29tLmFwcGxlLnVuaXZlcnNhbGFjY2VzcyIsIGtleSwgIjEiKTsNCisNCisgICAgICAg
IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4gew0KKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkg
PT4gew0KKyAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmlsaXR5KHVwZGF0ZWRJZCkgPT0gJ3Zp
c2libGUnOw0KKyAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgICAgIGRlZmF1bHRWaXNpYmls
aXR5ID0gdmlzaWJpbGl0eShkZWZhdWx0SWQpOw0KKyAgICAgICAgICAgIHVwZGF0ZWRWaXNpYmls
aXR5ID0gdmlzaWJpbGl0eSh1cGRhdGVkSWQpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJkZWZh
dWx0VmlzaWJpbGl0eSIsICInaGlkZGVuJyIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJ1cGRh
dGVkVmlzaWJpbGl0eSIsICIndmlzaWJsZSciKTsNCisgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSgiY29tLmFwcGxlLnVuaXZl
cnNhbGFjY2VzcyIsIGtleSwgIjAiKTsNCisgICAgICAgICAgICBpZiAoZW5kVGVzdCkgew0KKyAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9
LCAwKTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBoYW5kbGVDb250cmFzdChlbmRUZXN0KSB7
DQorICAgICAgICB0ZXN0VmlzaWJpbGl0eSgibm8tY29udHJhc3QiLCAibW9yZS1jb250cmFzdCIs
ICJpbmNyZWFzZUNvbnRyYXN0IiwgZW5kVGVzdCk7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24g
aGFuZGxlTW90aW9uKGVuZFRlc3QpIHsNCisgICAgICAgIHRlc3RWaXNpYmlsaXR5KCJuby1tb3Rp
b24iLCAicmVkdWNlLW1vdGlvbiIsICJyZWR1Y2VNb3Rpb24iLCBlbmRUZXN0KTsNCisgICAgfQ0K
Kw0KKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7DQorICAgICAgICBo
YW5kbGVDb250cmFzdChmYWxzZSk7DQorICAgICAgICBoYW5kbGVNb3Rpb24odHJ1ZSk7DQorICAg
IH0NCisNCis8L3NjcmlwdD4NCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9UZXN0RXhwZWN0YXRpb25zDQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5kOGE3MzFjNzY5ZDcNCi0tLSAvZGV2L251bGwN
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9UZXN0RXhwZWN0YXRpb25z
DQpAQCAtMCwwICsxLDUgQEANCisjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQor
IyBQbGF0Zm9ybS1zcGVjaWZpYyB0ZXN0cy4gRW5hYmxlZCBnbG9iYWxseSwgdGhlbiBza2lwcGVk
IGhlcmUuDQorIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKw0KK2FjY2Vzc2li
aWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbCBbIFNraXAgXQ0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucw0KaW5kZXggOGJjMjgz
NmU0YTY5Li41YmJlODBhOWIxMmQgMTAwNjQ0DQotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMNCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucw0KQEAgLTIxMiw2ICsyMTIsNyBAQCBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9uYXZpZ2F0ZS1zZWxmLXRvLWRhdGEtdXJsLmh0bWwg
WyBTa2lwDQogDQogIyBDb2xvciB3ZWxsIGlzIHR1cm5lZCBvZmYuDQogYWNjZXNzaWJpbGl0eS9j
b2xvci13ZWxsLmh0bWwgWyBTa2lwIF0NCithY2Nlc3NpYmlsaXR5L21hYy9tZWRpYS1xdWVyeS12
YWx1ZXMtY2hhbmdlLmh0bWwgWyBTa2lwIF0NCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZHJhZy1hbmQt
ZHJvcC1jb2xvci1pbnB1dC1ldmVudHMuaHRtbCBbIFNraXAgXQ0KIGVkaXRpbmcvcGFzdGVib2Fy
ZC9kcmFnLWFuZC1kcm9wLWNvbG9yLWlucHV0Lmh0bWwgWyBTa2lwIF0NCiBmYXN0L2Nzcy9wc2V1
ZG8tdmlzaXRlZC1iYWNrZ3JvdW5kLWNvbG9yLW9uLWlucHV0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZw0KaW5kZXggMWQ2NDM0NWEzYWUyLi43YjNiZjk1YjIzY2Qg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nDQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDEyIEBADQorMjAyMS0wNS0yMCAgQ2hy
aXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IFNldHRp
bmdzOiBJbmNyZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBicm93c2VyIHVudGlsIGFu
IGFkZGl0aW9uYWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgICogcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5o
Og0KKw0KIDIwMjEtMDUtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
DQogDQogICAgICAgICBbbWFjT1NdIEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8g
YmVnaW4gd2hlbiBmb3JjZSBjbGlja2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5cw0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oDQppbmRleCBi
Y2E4Mjk5MmE4OTQuLmI4ZGYwYTFiY2M4OSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgNCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgNCkBAIC0xNTIsNiArMTUyLDggQEAgdm9pZCBfQVhT
ZXRDbGllbnRJZGVudGlmaWNhdGlvbk92ZXJyaWRlKEFYQ2xpZW50VHlwZSk7DQogZXh0ZXJuIENG
U3RyaW5nUmVmIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleTsNCiBleHRlcm4gQ0ZTdHJpbmdS
ZWYga0FYSW50ZXJmYWNlUmVkdWNlTW90aW9uU3RhdHVzRGlkQ2hhbmdlTm90aWZpY2F0aW9uOw0K
IA0KK2V4dGVybiBDRlN0cmluZ1JlZiBrQVhJbnRlcmZhY2VJbmNyZWFzZUNvbnRyYXN0S2V5Ow0K
Kw0KIFdURl9FWFRFUk5fQ19FTkQNCiANCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nDQppbmRleCBkMTFhZTVlNjA5N2UuLjZiZGU2MWNjYTcyYyAxMDA2NDQNCi0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nDQorKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZw0K
QEAgLTEsMyArMSwyNSBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNo
QGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3Qg
aXNuJ3QgZGV0ZWN0ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMg
YXBwbGllZA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNTkwOQ0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAg
ICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5o
dG1sDQorDQorICAgICAgICAxKSBXZWJDb250ZW50IGJsb2NrcyBhY2Nlc3MgdG8gZGlzdHJpYnV0
ZWQgbm90aWZpY2F0aW9uIGNlbnRlciwgc28gd2UgY2FuJ3QgcmVseSBvbiB0aGF0IHRvIHJlLXBv
c3Qgbm90aWZpY2F0aW9ucw0KKyAgICAgICAgMikgQXBwS2l0IGNhY2hlcyB0aGUgdmFsdWVzIG9m
IHRoZXNlIEFYIHNldHRpbmdzLCBzbyB3ZSBuZWVkIHRvIGludmFsaWRhdGUgdGhhdCBjYWNoZSBk
aXJlY3RseQ0KKw0KKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oOg0KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6
DQorICAgICAgICAoV0tBY2Nlc3NpYmlsaXR5VGVzdGluZ0luamVjdFByZWZlcmVuY2UpOg0KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZh
dGUuaDoNCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06DQor
ICAgICAgICAoV2ViS2l0OjppbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5KToNCisgICAgICAgIChX
ZWJLaXQ6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2Up
Og0KKyAgICAgICAgKFdlYktpdDo6c2V0UHJlZmVyZW5jZVZhbHVlKToNCisgICAgICAgIChXZWJL
aXQ6OnJlZHVjZU1vdGlvblByZWZlcmVuY2VLZXkpOiBEZWxldGVkLg0KKw0KIDIwMjEtMDUtMTAg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+DQogDQogICAgICAgICBbbWFj
T1NdIEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8gYmVnaW4gd2hlbiBmb3JjZSBj
bGlja2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5cw0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KaW5kZXggOTdmNGU5NGNlOTc0Li42NjdlOThlNDNjMmMg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgN
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KQEAgLTU4
LDYgKzU4LDEwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRv
d09wdGlvbnMpIHsNCiANCiAjZW5kaWYNCiANCitAaW50ZXJmYWNlIE5TV29ya3NwYWNlIChOU1dv
cmtzcGFjZUFjY2Vzc2liaWxpdHlEaXNwbGF5SW50ZXJuYWxfSVBJKQ0KKysgKHZvaWQpX2ludmFs
aWRhdGVBY2Nlc3NpYmlsaXR5RGlzcGxheVZhbHVlczsNCitAZW5kDQorDQogQGludGVyZmFjZSBO
U0luc3BlY3RvckJhciAoSVBJKQ0KIC0gKHZvaWQpX3VwZGF0ZTsNCiBAZW5kDQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmNwcA0KaW5kZXggZWMyMmI2NjgyZmU3Li42ZDAzN2VkMTU0YWQgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlLmNwcA0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHANCkBAIC01Niw2ICs1Niw3IEBADQogI2luY2x1ZGUg
IldlYlBhZ2UuaCINCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHkuaCINCiAjaW5jbHVkZSAi
V2ViUGFnZU92ZXJsYXkuaCINCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIg0KICNpbmNsdWRlIDxX
ZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4NCiAjaW5jbHVkZSA8V2ViQ29yZS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmg+DQogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UuaD4NCkBAIC0yMzAsNiArMjMxLDE2IEBAIHZvaWQgV0tCdW5kbGVQYWdlSW5zZXJ0TmV3
bGluZUluUXVvdGVkQ29udGVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikNCiAgICAgV2ViS2l0
Ojp0b0ltcGwocGFnZVJlZiktPmluc2VydE5ld2xpbmVJblF1b3RlZENvbnRlbnQoKTsNCiB9DQog
DQordm9pZCBXS0FjY2Vzc2liaWxpdHlUZXN0aW5nSW5qZWN0UHJlZmVyZW5jZShXS0J1bmRsZVBh
Z2VSZWYgcGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBj
b25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpDQorew0KKyAgICBpZiAoIXBhZ2VS
ZWYpDQorICAgICAgICByZXR1cm47DQorICAgIA0KKyNpZiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1Rf
TU9ERSkNCisgICAgV2ViS2l0OjpXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5ub3RpZnlQcmVmZXJl
bmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1ZSk7DQorI2VuZGlmDQorfQ0KKw0K
IHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYp
DQogew0KICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaA0KaW5kZXggYTIwMDg4MWRkMDgyLi5jNjFmOGMyOTc5MTUgMTAwNjQ0DQot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlUHJpdmF0ZS5oDQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oDQpAQCAtOTYsNiArOTYsNyBAQCBXS19F
WFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUoV0tCdW5kbGVQYWdlUmVmLCBX
S1N0cmluZ1JlZiBtaW1lVHlwZQ0KIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290
T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7DQogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0
eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsNCiBXS19FWFBPUlQgYm9vbCBXS0FjY2Vz
c2liaWxpdHlDYW5Vc2VTZWNvbmRhcnlBWFRocmVhZChXS0J1bmRsZVBhZ2VSZWYpOw0KK1dLX0VY
UE9SVCB2b2lkIFdLQWNjZXNzaWJpbGl0eVRlc3RpbmdJbmplY3RQcmVmZXJlbmNlKFdLQnVuZGxl
UGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBP
cHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpOw0KIA0KIFdLX0VYUE9SVCB2b2lkIFdLQWNj
ZXNzaWJpbGl0eUVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eShib29sKTsNCiBXS19FWFBPUlQg
Ym9vbCBXS0FjY2Vzc2liaWxpdHlFbmhhbmNlZEFjY2Vzc2liaWxpdHlFbmFibGVkKCk7DQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0NCmlu
ZGV4IGY1NzIzY2UxNTc0MS4uNDczYWE4MzNhYTkwIDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0KQEAgLTEzMSw2ICsxMzEsNyBA
QA0KICNlbmRpZg0KIA0KICNpZiBQTEFURk9STShNQUMpDQorI2ltcG9ydCAiQXBwS2l0U1BJLmgi
DQogI2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5oIg0KICNpbXBvcnQg
IldlYlN3aXRjaGluZ0dQVUNsaWVudC5oIg0KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0xNYW5hZ2VyLmg+DQpAQCAtMTA3MCw5ICsxMDcxLDkgQEAgc3RhdGljIGNvbnN0
IFdURjo6U3RyaW5nJiB1c2VySGlnaGxpZ2h0Q29sb3JQcmVmZXJlbmNlS2V5KCkNCiAgICAgcmV0
dXJuIHVzZXJIaWdobGlnaHRDb2xvclByZWZlcmVuY2VLZXk7DQogfQ0KIA0KLXN0YXRpYyBjb25z
dCBXVEY6OlN0cmluZyYgcmVkdWNlTW90aW9uUHJlZmVyZW5jZUtleSgpDQorc3RhdGljIGNvbnN0
IFdURjo6U3RyaW5nJiBpbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5KCkNCiB7DQotICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmluZz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBM
KCJyZWR1Y2VNb3Rpb24iKSk7DQorICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmlu
Zz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJ3aGl0ZU9uQmxhY2siKSk7DQogICAgIHJl
dHVybiBrZXk7DQogfQ0KICNlbmRpZg0KQEAgLTEwOTMsOSArMTA5NCw2IEBAIHN0YXRpYyB2b2lk
IGRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2UoY29uc3Qg
U3RyaW5nJiBrZXkpDQogICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNlbnRlciA9IFtOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsNCiAgICAgICAgIFtub3RpZmljYXRpb25DZW50
ZXIgcG9zdE5vdGlmaWNhdGlvbk5hbWU6QCJOU1N5c3RlbUNvbG9yc1dpbGxDaGFuZ2VOb3RpZmlj
YXRpb24iIG9iamVjdDpuaWxdOw0KICAgICAgICAgW25vdGlmaWNhdGlvbkNlbnRlciBwb3N0Tm90
aWZpY2F0aW9uTmFtZTpOU1N5c3RlbUNvbG9yc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6
bmlsXTsNCi0gICAgfSBlbHNlIGlmIChrZXkgPT0gcmVkdWNlTW90aW9uUHJlZmVyZW5jZUtleSgp
KSB7DQotICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNlbnRlciA9IENGTm90aWZpY2F0aW9uQ2Vu
dGVyR2V0RGlzdHJpYnV0ZWRDZW50ZXIoKTsNCi0gICAgICAgIENGTm90aWZpY2F0aW9uQ2VudGVy
UG9zdE5vdGlmaWNhdGlvbihub3RpZmljYXRpb25DZW50ZXIsIGtBWEludGVyZmFjZVJlZHVjZU1v
dGlvblN0YXR1c0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgbnVsbHB0ciwgbnVsbHB0ciwgdHJ1ZSk7
DQogICAgIH0NCiAjZW5kaWYNCiB9DQpAQCAtMTEyNyw2ICsxMTI1LDEyIEBAIHN0YXRpYyB2b2lk
IHNldFByZWZlcmVuY2VWYWx1ZShjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBr
ZXksIGlkIHZhbHVlDQogICAgICAgICAgICAgX0FYU1VwZGF0ZVdlYkFjY2Vzc2liaWxpdHlTZXR0
aW5nc1B0cigpKCk7DQogICAgIH0NCiAjZW5kaWYNCisgICAgDQorI2lmIFVTRShBUFBLSVQpDQor
ICAgIGF1dG8gY2ZLZXkgPSBrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKTsNCisgICAgaWYgKENG
RXF1YWwoY2ZLZXksIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleSkgfHwgQ0ZFcXVhbChjZktl
eSwga0FYSW50ZXJmYWNlSW5jcmVhc2VDb250cmFzdEtleSkgfHwga2V5ID09IGludmVydENvbG9y
c1ByZWZlcmVuY2VLZXkoKSkNCisgICAgICAgIFtOU1dvcmtzcGFjZSBfaW52YWxpZGF0ZUFjY2Vz
c2liaWxpdHlEaXNwbGF5VmFsdWVzXTsNCisjZW5kaWYNCiB9DQogDQogdm9pZCBXZWJQcm9jZXNz
Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0
cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpDQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nDQppbmRleCAxMDE3Yjg0OGQ2
ZjcuLmU2ZjhlYjE4NzgzMCAxMDA2NDQNCi0tLSBhL1Rvb2xzL0NoYW5nZUxvZw0KKysrIGIvVG9v
bHMvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDE3IEBADQorMjAyMS0wNS0yMCAgQ2hyaXMgRmxlaXph
Y2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IFNldHRpbmdzOiBJbmNy
ZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBicm93c2VyIHVudGlsIGFuIGFkZGl0aW9u
YWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5jcHA6DQorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UpOg0KKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmg6DQor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuaWRsOg0KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToNCisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5j
ZSk6DQorDQogMjAyMS0wNS0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPg0KIA0K
ICAgICAgICAgVXNlIG5vbi10aHJvd2luZyBzdGQ6OmZpbGVzeXN0ZW0gQVBJIGluIFRlc3RSdW5u
ZXINCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgNCmluZGV4IGRkMWM2ODE5ZWUwMC4uM2Qw
NjEyYWQ0MTlhIDEwMDY0NA0KLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgNCkBAIC03Myw2ICs3
Myw3IEBAIHB1YmxpYzoNCiAgICAgdm9pZCBleGVjdXRlT25BWFRocmVhZEFuZFdhaXQoRnVuY3Rp
b248dm9pZCgpPiYmKTsNCiAgICAgdm9pZCBleGVjdXRlT25BWFRocmVhZChGdW5jdGlvbjx2b2lk
KCk+JiYpOw0KICAgICB2b2lkIGV4ZWN1dGVPbk1haW5UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYm
KTsNCisgICAgdm9pZCBpbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZShKU1N0cmluZ1JlZiBk
b21haW4sIEpTU3RyaW5nUmVmIGtleSwgSlNTdHJpbmdSZWYgdmFsdWUpOw0KICNlbmRpZg0KIA0K
ICAgICBib29sIGFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKEpTVmFsdWVSZWYgZnVuY3Rpb25DYWxs
YmFjayk7DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmlk
bA0KaW5kZXggYWEzMjY1NWIyZDFjLi4yZmRhYTBjYTU5YmQgMTAwNjQ0DQotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmlkbA0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGwNCkBAIC0zNCw2ICszNCw3IEBADQog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGZvY3VzZWRFbGVt
ZW50Ow0KICAgICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGVsZW1lbnRBdFBvaW50KGxvbmcgeCwg
bG9uZyB5KTsNCiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBhY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoRE9NU3RyaW5nIGlkKTsNCisgICAgdW5kZWZpbmVkIGluamVjdEFjY2Vzc2liaWxpdHlQcmVm
ZXJlbmNlKERPTVN0cmluZyBkb21haW4sIERPTVN0cmluZyBrZXksIERPTVN0cmluZyB2YWx1ZSk7
DQogICAgIA0KICAgICBib29sZWFuIGFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKG9iamVjdCBmdW5j
dGlvbkNhbGxiYWNrKTsNCiAgICAgYm9vbGVhbiByZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigp
Ow0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcA0KaW5kZXgg
OGY2N2MzZTMzNDI5Li44YzJhZGFjMTkwMDggMTAwNjQ0DQotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAN
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyQXRrLmNwcA0KQEAgLTEwMCw2ICsxMDAsMTAgQEAgSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpwbGF0Zm9ybU5hbWUoKQ0KICAg
ICByZXR1cm4gcGxhdGZvcm1OYW1lOw0KIH0NCiANCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZShKU1N0cmluZ1JlZiBkb21haW4sIEpT
U3RyaW5nUmVmIGtleSwgSlNTdHJpbmdSZWYgdmFsdWUpDQorew0KK30NCisNCiBSZWY8QWNjZXNz
aWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50KCkN
CiB7DQogICAgIFdLQnVuZGxlUGFnZVJlZiBwYWdlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRv
bigpLnBhZ2UoKS0+cGFnZSgpOw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlDb250cm9sbGVySU9TLm1tIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXJJT1MubW0NCmluZGV4IGM5OGI5ZTk5NmNkMS4uMWM4NTBkY2MwNzNiIDEwMDY0NA0KLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXJJT1MubW0NCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvaW9zL0FjY2Vzc2liaWxpdHlDb250cm9sbGVySU9TLm1tDQpAQCAtODgsNiArODgsMTAgQEAg
c3RhdGljIGlkIGZpbmRBY2Nlc3NpYmxlT2JqZWN0QnlJZChpZCBvYmosIE5TU3RyaW5nICppZEF0
dHJpYnV0ZSkNCiAgICAgcmV0dXJuIG5pbDsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYsIEpTU3Ry
aW5nUmVmLCBKU1N0cmluZ1JlZikNCit7DQorfQ0KKw0KIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpT
U3RyaW5nUmVmIGlkQXR0cmlidXRlKQ0KIHsNCiAgICAgYXV0byBwYWdlID0gSW5qZWN0ZWRCdW5k
bGU6OnNpbmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpOw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFj
Lm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJNYWMubW0NCmluZGV4IGE4ODdkZTVjODVkNS4uNDA0ZTUwY2I3MWYwIDEw
MDY0NA0KLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0NCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tDQpAQCAtOTUs
NiArOTUsMTQgQEAgc3RhdGljIGlkIGZpbmRBY2Nlc3NpYmxlT2JqZWN0QnlJZChpZCBvYmosIE5T
U3RyaW5nICppZEF0dHJpYnV0ZSkNCiAgICAgcmV0dXJuIG51bGxwdHI7DQogfQ0KIA0KK3ZvaWQg
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpT
U3RyaW5nUmVmIGRvbWFpbiwgSlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1ZSkNCit7
DQorICAgIE5TTnVtYmVyICpudW1iZXJWYWx1ZSA9IEAoW1tOU1N0cmluZyBzdHJpbmdXaXRoSlNT
dHJpbmdSZWY6dmFsdWVdIGludGVnZXJWYWx1ZV0pOw0KKyAgICBOU0RhdGEgKmVuY29kZWREYXRh
ID0gW05TS2V5ZWRBcmNoaXZlciBhcmNoaXZlZERhdGFXaXRoUm9vdE9iamVjdDpudW1iZXJWYWx1
ZSByZXF1aXJpbmdTZWN1cmVDb2Rpbmc6WUVTIGVycm9yOm5pbF07DQorICAgIE5TU3RyaW5nICpl
bmNvZGVkU3RyaW5nID0gW2VuY29kZWREYXRhIGJhc2U2NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9u
czowXTsNCisgICAgV0tBY2Nlc3NpYmlsaXR5VGVzdGluZ0luamVjdFByZWZlcmVuY2UoSW5qZWN0
ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpLCB0b1dURlN0cmluZyhkb21haW4p
LCB0b1dURlN0cmluZyhrZXkpLCAoU3RyaW5nKWVuY29kZWRTdHJpbmcpOw0KK30NCisNCiBSZWZQ
dHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vz
c2libGVFbGVtZW50QnlJZChKU1N0cmluZ1JlZiBpZEF0dHJpYnV0ZSkNCiB7DQogICAgIGF1dG8g
cGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKTsNCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcldpbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHANCmluZGV4IDc1NTA1ZGEx
NDA5MC4uOWU5ZTViZDc0ZDkwIDEwMDY0NA0KLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwDQorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcldpbi5jcHANCkBAIC01MCw2ICs1MCwxMiBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnBsYXRmb3JtTmFtZSgpDQogICAgIHJldHVybiBu
dWxscHRyOw0KIH0NCiANCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nl
c3NpYmlsaXR5UHJlZmVyZW5jZShKU1N0cmluZ1JlZiBkb21haW4sIEpTU3RyaW5nUmVmIGtleSwg
SlNTdHJpbmdSZWYgdmFsdWUpDQorew0KKyAgICBub3RJbXBsZW1lbnRlZCgpOw0KKyAgICByZXR1
cm4gbnVsbHB0cjsNCit9DQorDQogUmVmPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2li
aWxpdHlDb250cm9sbGVyOjpyb290RWxlbWVudCgpDQogew0KICAgICBub3RJbXBsZW1lbnRlZCgp
Ow0K
</data>
<flag name="commit-queue"
          id="450296"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429188</attachid>
            <date>2021-05-20 11:00:15 -0700</date>
            <delta_ts>2021-05-20 12:24:40 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_225909.txt</filename>
            <type>text/plain</type>
            <size>19789</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggODllZjliMTM0ZDk3Li4xODcxMjYzYmMzMGMgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
MyBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0
ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0K
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4NCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5n
ZS5odG1sOiBBZGRlZC4NCisNCiAyMDIxLTA1LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+DQogDQogICAgICAgICBbIG1hY09TIFJlbGVhc2Ugd2syIF0gaHR0cC90ZXN0cy9jYWNo
ZS1zdG9yYWdlL2NhY2hlLXJlY29yZHMtcGVyc2lzdGVuY3kuaHR0cHMuaHRtbCBpcyBmbGFreSBj
cmFzaGluZw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlh
LXF1ZXJ5LXZhbHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS1leHBlY3RlZC50eHQNCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjQxNTIwYjQwMmNkOA0KLS0tIC9kZXYv
bnVsbA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFs
dWVzLWNoYW5nZS1leHBlY3RlZC50eHQNCkBAIC0wLDAgKzEsMTkgQEANCitubyBjb250cmFzdA0K
K25vIG1vdGlvbg0KK1RoaXMgdGVzdHMgdGhhdCBDU1MgQWNjZXNzaWJpbGl0eSBtZWRpYSBxdWVy
aWVzIGdldCB1cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdlDQorDQorT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLg0KKw0KKw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ3Zpc2libGUnDQor
UEFTUyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxp
dHkgaXMgJ3Zpc2libGUnDQorUEFTUyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BB
U1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNTIHVwZGF0ZWRWaXNpYmlsaXR5
IGlzICd2aXNpYmxlJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNT
IHVwZGF0ZWRWaXNpYmlsaXR5IGlzICd2aXNpYmxlJw0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUNCisNCitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sDQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5jYTUzZjYzZGM1NzgNCi0t
LSAvZGV2L251bGwNCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1
ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbA0KQEAgLTAsMCArMSwxMDYgQEANCis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+DQorPGh0bWw+DQorPGhlYWQ+DQorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+DQorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3Jp
cHQ+DQorPHN0eWxlPg0KKw0KKyAgICBAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG5vLXByZWZl
cmVuY2UpIHsNCisgICAgICAgIC5jb250cmFzdE5vIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5
OiB2aXNpYmxlOw0KKyAgICAgICAgfQ0KKyAgICAgICAgLmNvbnRyYXN0TW9yZSB7DQorICAgICAg
ICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KKyAgICAgICAgfQ0KKyAgICB9DQorICAgIEBtZWRp
YSAocHJlZmVycy1jb250cmFzdDogbW9yZSkgew0KKyAgICAgICAgLmNvbnRyYXN0Tm8gew0KKyAg
ICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgICAgIC5jb250
cmFzdE1vcmUgew0KKyAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQorICAgICAgICB9
DQorICAgIH0NCisNCisgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVm
ZXJlbmNlKSB7DQorICAgICAgICAubW90aW9uTm8gew0KKyAgICAgICAgICAgdmlzaWJpbGl0eTog
dmlzaWJsZTsNCisgICAgICAgIH0NCisgICAgICAgIC5tb3Rpb25SZWR1Y2Ugew0KKyAgICAgICAg
ICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBAbWVkaWEg
KHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgew0KKyAgICAgICAgLm1vdGlvbk5vIHsN
CisgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgICAgICB9DQorICAgICAgICAu
bW90aW9uUmVkdWNlIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KKyAgICAg
ICAgfQ0KKyAgICB9DQorDQorPC9zdHlsZT4NCis8L2hlYWQ+DQorPGJvZHk+DQorDQorPGRpdiBp
ZD0ibm8tY29udHJhc3QiIGNsYXNzPSJjb250cmFzdE5vIj5ubyBjb250cmFzdDwvZGl2Pg0KKzxk
aXYgaWQ9Im1vcmUtY29udHJhc3QiIGNsYXNzPSJjb250cmFzdE1vcmUiPm1vcmU8L2Rpdj4NCisN
Cis8ZGl2IGlkPSJuby1tb3Rpb24iIGNsYXNzPSJtb3Rpb25ObyI+bm8gbW90aW9uPC9kaXY+DQor
PGRpdiBpZD0icmVkdWNlLW1vdGlvbiIgY2xhc3M9Im1vdGlvblJlZHVjZSI+cmVkdWNlPC9kaXY+
DQorDQorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+DQorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
DQorDQorPHNjcmlwdD4NCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBDU1MgQWNj
ZXNzaWJpbGl0eSBtZWRpYSBxdWVyaWVzIGdldCB1cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdl
Iik7DQorDQorICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsNCisNCisgICAgZnVuY3Rp
b24gdmlzaWJpbGl0eShkb21JZCkgew0KKyAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZG9tSWQpKS52aXNpYmlsaXR5Ow0KKyAgICB9DQorDQor
ICAgIHZhciBkZWZhdWx0VmlzaWJpbGl0eTsNCisgICAgdmFyIHVwZGF0ZWRWaXNpYmlsaXR5Ow0K
KyAgICBmdW5jdGlvbiB0ZXN0VmlzaWJpbGl0eShkZWZhdWx0SWQsIHVwZGF0ZWRJZCwga2V5LCBl
bmRUZXN0KSB7DQorICAgICAgICBkZWZhdWx0VmlzaWJpbGl0eSA9IHZpc2liaWxpdHkoZGVmYXVs
dElkKTsNCisgICAgICAgIHVwZGF0ZWRWaXNpYmlsaXR5ID0gdmlzaWJpbGl0eSh1cGRhdGVkSWQp
Ow0KKw0KKyAgICAgICAgc2hvdWxkQmUoImRlZmF1bHRWaXNpYmlsaXR5IiwgIid2aXNpYmxlJyIp
Ow0KKyAgICAgICAgc2hvdWxkQmUoInVwZGF0ZWRWaXNpYmlsaXR5IiwgIidoaWRkZW4nIik7DQor
ICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZSgiY29tLmFwcGxlLnVuaXZlcnNhbGFjY2VzcyIsIGtleSwgIjEiKTsNCisNCisgICAgICAg
IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4gew0KKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkg
PT4gew0KKyAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmlsaXR5KHVwZGF0ZWRJZCkgPT0gJ3Zp
c2libGUnOw0KKyAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgICAgIGRlZmF1bHRWaXNpYmls
aXR5ID0gdmlzaWJpbGl0eShkZWZhdWx0SWQpOw0KKyAgICAgICAgICAgIHVwZGF0ZWRWaXNpYmls
aXR5ID0gdmlzaWJpbGl0eSh1cGRhdGVkSWQpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJkZWZh
dWx0VmlzaWJpbGl0eSIsICInaGlkZGVuJyIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJ1cGRh
dGVkVmlzaWJpbGl0eSIsICIndmlzaWJsZSciKTsNCisgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSgiY29tLmFwcGxlLnVuaXZl
cnNhbGFjY2VzcyIsIGtleSwgIjAiKTsNCisgICAgICAgICAgICBpZiAoZW5kVGVzdCkgew0KKyAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9
LCAwKTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBoYW5kbGVDb250cmFzdChlbmRUZXN0KSB7
DQorICAgICAgICB0ZXN0VmlzaWJpbGl0eSgibm8tY29udHJhc3QiLCAibW9yZS1jb250cmFzdCIs
ICJpbmNyZWFzZUNvbnRyYXN0IiwgZW5kVGVzdCk7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24g
aGFuZGxlTW90aW9uKGVuZFRlc3QpIHsNCisgICAgICAgIHRlc3RWaXNpYmlsaXR5KCJuby1tb3Rp
b24iLCAicmVkdWNlLW1vdGlvbiIsICJyZWR1Y2VNb3Rpb24iLCBlbmRUZXN0KTsNCisgICAgfQ0K
Kw0KKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7DQorICAgICAgICBo
YW5kbGVDb250cmFzdChmYWxzZSk7DQorICAgICAgICBoYW5kbGVNb3Rpb24odHJ1ZSk7DQorICAg
IH0NCisNCis8L3NjcmlwdD4NCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9UZXN0RXhwZWN0YXRpb25zDQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5kOGE3MzFjNzY5ZDcNCi0tLSAvZGV2L251bGwN
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9UZXN0RXhwZWN0YXRpb25z
DQpAQCAtMCwwICsxLDUgQEANCisjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQor
IyBQbGF0Zm9ybS1zcGVjaWZpYyB0ZXN0cy4gRW5hYmxlZCBnbG9iYWxseSwgdGhlbiBza2lwcGVk
IGhlcmUuDQorIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKw0KK2FjY2Vzc2li
aWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbCBbIFNraXAgXQ0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucw0KaW5kZXggOGJjMjgz
NmU0YTY5Li41YmJlODBhOWIxMmQgMTAwNjQ0DQotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMNCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucw0KQEAgLTIxMiw2ICsyMTIsNyBAQCBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9uYXZpZ2F0ZS1zZWxmLXRvLWRhdGEtdXJsLmh0bWwg
WyBTa2lwDQogDQogIyBDb2xvciB3ZWxsIGlzIHR1cm5lZCBvZmYuDQogYWNjZXNzaWJpbGl0eS9j
b2xvci13ZWxsLmh0bWwgWyBTa2lwIF0NCithY2Nlc3NpYmlsaXR5L21hYy9tZWRpYS1xdWVyeS12
YWx1ZXMtY2hhbmdlLmh0bWwgWyBTa2lwIF0NCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZHJhZy1hbmQt
ZHJvcC1jb2xvci1pbnB1dC1ldmVudHMuaHRtbCBbIFNraXAgXQ0KIGVkaXRpbmcvcGFzdGVib2Fy
ZC9kcmFnLWFuZC1kcm9wLWNvbG9yLWlucHV0Lmh0bWwgWyBTa2lwIF0NCiBmYXN0L2Nzcy9wc2V1
ZG8tdmlzaXRlZC1iYWNrZ3JvdW5kLWNvbG9yLW9uLWlucHV0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZw0KaW5kZXggMWQ2NDM0NWEzYWUyLi43YjNiZjk1YjIzY2Qg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nDQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDEyIEBADQorMjAyMS0wNS0yMCAgQ2hy
aXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IFNldHRp
bmdzOiBJbmNyZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBicm93c2VyIHVudGlsIGFu
IGFkZGl0aW9uYWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgICogcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5o
Og0KKw0KIDIwMjEtMDUtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
DQogDQogICAgICAgICBbbWFjT1NdIEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8g
YmVnaW4gd2hlbiBmb3JjZSBjbGlja2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5cw0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oDQppbmRleCBi
Y2E4Mjk5MmE4OTQuLmI4ZGYwYTFiY2M4OSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgNCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgNCkBAIC0xNTIsNiArMTUyLDggQEAgdm9pZCBfQVhT
ZXRDbGllbnRJZGVudGlmaWNhdGlvbk92ZXJyaWRlKEFYQ2xpZW50VHlwZSk7DQogZXh0ZXJuIENG
U3RyaW5nUmVmIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleTsNCiBleHRlcm4gQ0ZTdHJpbmdS
ZWYga0FYSW50ZXJmYWNlUmVkdWNlTW90aW9uU3RhdHVzRGlkQ2hhbmdlTm90aWZpY2F0aW9uOw0K
IA0KK2V4dGVybiBDRlN0cmluZ1JlZiBrQVhJbnRlcmZhY2VJbmNyZWFzZUNvbnRyYXN0S2V5Ow0K
Kw0KIFdURl9FWFRFUk5fQ19FTkQNCiANCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nDQppbmRleCBkMTFhZTVlNjA5N2UuLjZiZGU2MWNjYTcyYyAxMDA2NDQNCi0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nDQorKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZw0K
QEAgLTEsMyArMSwyNSBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNo
QGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3Qg
aXNuJ3QgZGV0ZWN0ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMg
YXBwbGllZA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNTkwOQ0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAg
ICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5o
dG1sDQorDQorICAgICAgICAxKSBXZWJDb250ZW50IGJsb2NrcyBhY2Nlc3MgdG8gZGlzdHJpYnV0
ZWQgbm90aWZpY2F0aW9uIGNlbnRlciwgc28gd2UgY2FuJ3QgcmVseSBvbiB0aGF0IHRvIHJlLXBv
c3Qgbm90aWZpY2F0aW9ucw0KKyAgICAgICAgMikgQXBwS2l0IGNhY2hlcyB0aGUgdmFsdWVzIG9m
IHRoZXNlIEFYIHNldHRpbmdzLCBzbyB3ZSBuZWVkIHRvIGludmFsaWRhdGUgdGhhdCBjYWNoZSBk
aXJlY3RseQ0KKw0KKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oOg0KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6
DQorICAgICAgICAoV0tBY2Nlc3NpYmlsaXR5VGVzdGluZ0luamVjdFByZWZlcmVuY2UpOg0KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZh
dGUuaDoNCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06DQor
ICAgICAgICAoV2ViS2l0OjppbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5KToNCisgICAgICAgIChX
ZWJLaXQ6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2Up
Og0KKyAgICAgICAgKFdlYktpdDo6c2V0UHJlZmVyZW5jZVZhbHVlKToNCisgICAgICAgIChXZWJL
aXQ6OnJlZHVjZU1vdGlvblByZWZlcmVuY2VLZXkpOiBEZWxldGVkLg0KKw0KIDIwMjEtMDUtMTAg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+DQogDQogICAgICAgICBbbWFj
T1NdIEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8gYmVnaW4gd2hlbiBmb3JjZSBj
bGlja2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5cw0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KaW5kZXggOTdmNGU5NGNlOTc0Li42NjdlOThlNDNjMmMg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgN
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KQEAgLTU4
LDYgKzU4LDEwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRv
d09wdGlvbnMpIHsNCiANCiAjZW5kaWYNCiANCitAaW50ZXJmYWNlIE5TV29ya3NwYWNlIChOU1dv
cmtzcGFjZUFjY2Vzc2liaWxpdHlEaXNwbGF5SW50ZXJuYWxfSVBJKQ0KKysgKHZvaWQpX2ludmFs
aWRhdGVBY2Nlc3NpYmlsaXR5RGlzcGxheVZhbHVlczsNCitAZW5kDQorDQogQGludGVyZmFjZSBO
U0luc3BlY3RvckJhciAoSVBJKQ0KIC0gKHZvaWQpX3VwZGF0ZTsNCiBAZW5kDQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmNwcA0KaW5kZXggZWMyMmI2NjgyZmU3Li42ZDAzN2VkMTU0YWQgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlLmNwcA0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHANCkBAIC01Niw2ICs1Niw3IEBADQogI2luY2x1ZGUg
IldlYlBhZ2UuaCINCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHkuaCINCiAjaW5jbHVkZSAi
V2ViUGFnZU92ZXJsYXkuaCINCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIg0KICNpbmNsdWRlIDxX
ZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4NCiAjaW5jbHVkZSA8V2ViQ29yZS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmg+DQogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UuaD4NCkBAIC0yMzAsNiArMjMxLDE2IEBAIHZvaWQgV0tCdW5kbGVQYWdlSW5zZXJ0TmV3
bGluZUluUXVvdGVkQ29udGVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikNCiAgICAgV2ViS2l0
Ojp0b0ltcGwocGFnZVJlZiktPmluc2VydE5ld2xpbmVJblF1b3RlZENvbnRlbnQoKTsNCiB9DQog
DQordm9pZCBXS0FjY2Vzc2liaWxpdHlUZXN0aW5nSW5qZWN0UHJlZmVyZW5jZShXS0J1bmRsZVBh
Z2VSZWYgcGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBj
b25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpDQorew0KKyAgICBpZiAoIXBhZ2VS
ZWYpDQorICAgICAgICByZXR1cm47DQorICAgIA0KKyNpZiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1Rf
TU9ERSkNCisgICAgV2ViS2l0OjpXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5ub3RpZnlQcmVmZXJl
bmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1ZSk7DQorI2VuZGlmDQorfQ0KKw0K
IHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYp
DQogew0KICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaA0KaW5kZXggYTIwMDg4MWRkMDgyLi5jNjFmOGMyOTc5MTUgMTAwNjQ0DQot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlUHJpdmF0ZS5oDQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oDQpAQCAtOTYsNiArOTYsNyBAQCBXS19F
WFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUoV0tCdW5kbGVQYWdlUmVmLCBX
S1N0cmluZ1JlZiBtaW1lVHlwZQ0KIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290
T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7DQogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0
eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsNCiBXS19FWFBPUlQgYm9vbCBXS0FjY2Vz
c2liaWxpdHlDYW5Vc2VTZWNvbmRhcnlBWFRocmVhZChXS0J1bmRsZVBhZ2VSZWYpOw0KK1dLX0VY
UE9SVCB2b2lkIFdLQWNjZXNzaWJpbGl0eVRlc3RpbmdJbmplY3RQcmVmZXJlbmNlKFdLQnVuZGxl
UGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBP
cHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpOw0KIA0KIFdLX0VYUE9SVCB2b2lkIFdLQWNj
ZXNzaWJpbGl0eUVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eShib29sKTsNCiBXS19FWFBPUlQg
Ym9vbCBXS0FjY2Vzc2liaWxpdHlFbmhhbmNlZEFjY2Vzc2liaWxpdHlFbmFibGVkKCk7DQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0NCmlu
ZGV4IGY1NzIzY2UxNTc0MS4uNDczYWE4MzNhYTkwIDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0KQEAgLTEzMSw2ICsxMzEsNyBA
QA0KICNlbmRpZg0KIA0KICNpZiBQTEFURk9STShNQUMpDQorI2ltcG9ydCAiQXBwS2l0U1BJLmgi
DQogI2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5oIg0KICNpbXBvcnQg
IldlYlN3aXRjaGluZ0dQVUNsaWVudC5oIg0KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0xNYW5hZ2VyLmg+DQpAQCAtMTA3MCw5ICsxMDcxLDkgQEAgc3RhdGljIGNvbnN0
IFdURjo6U3RyaW5nJiB1c2VySGlnaGxpZ2h0Q29sb3JQcmVmZXJlbmNlS2V5KCkNCiAgICAgcmV0
dXJuIHVzZXJIaWdobGlnaHRDb2xvclByZWZlcmVuY2VLZXk7DQogfQ0KIA0KLXN0YXRpYyBjb25z
dCBXVEY6OlN0cmluZyYgcmVkdWNlTW90aW9uUHJlZmVyZW5jZUtleSgpDQorc3RhdGljIGNvbnN0
IFdURjo6U3RyaW5nJiBpbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5KCkNCiB7DQotICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmluZz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBM
KCJyZWR1Y2VNb3Rpb24iKSk7DQorICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmlu
Zz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJ3aGl0ZU9uQmxhY2siKSk7DQogICAgIHJl
dHVybiBrZXk7DQogfQ0KICNlbmRpZg0KQEAgLTEwOTMsOSArMTA5NCw2IEBAIHN0YXRpYyB2b2lk
IGRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2UoY29uc3Qg
U3RyaW5nJiBrZXkpDQogICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNlbnRlciA9IFtOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsNCiAgICAgICAgIFtub3RpZmljYXRpb25DZW50
ZXIgcG9zdE5vdGlmaWNhdGlvbk5hbWU6QCJOU1N5c3RlbUNvbG9yc1dpbGxDaGFuZ2VOb3RpZmlj
YXRpb24iIG9iamVjdDpuaWxdOw0KICAgICAgICAgW25vdGlmaWNhdGlvbkNlbnRlciBwb3N0Tm90
aWZpY2F0aW9uTmFtZTpOU1N5c3RlbUNvbG9yc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6
bmlsXTsNCi0gICAgfSBlbHNlIGlmIChrZXkgPT0gcmVkdWNlTW90aW9uUHJlZmVyZW5jZUtleSgp
KSB7DQotICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNlbnRlciA9IENGTm90aWZpY2F0aW9uQ2Vu
dGVyR2V0RGlzdHJpYnV0ZWRDZW50ZXIoKTsNCi0gICAgICAgIENGTm90aWZpY2F0aW9uQ2VudGVy
UG9zdE5vdGlmaWNhdGlvbihub3RpZmljYXRpb25DZW50ZXIsIGtBWEludGVyZmFjZVJlZHVjZU1v
dGlvblN0YXR1c0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgbnVsbHB0ciwgbnVsbHB0ciwgdHJ1ZSk7
DQogICAgIH0NCiAjZW5kaWYNCiB9DQpAQCAtMTEyNyw2ICsxMTI1LDEyIEBAIHN0YXRpYyB2b2lk
IHNldFByZWZlcmVuY2VWYWx1ZShjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBr
ZXksIGlkIHZhbHVlDQogICAgICAgICAgICAgX0FYU1VwZGF0ZVdlYkFjY2Vzc2liaWxpdHlTZXR0
aW5nc1B0cigpKCk7DQogICAgIH0NCiAjZW5kaWYNCisgICAgDQorI2lmIFVTRShBUFBLSVQpDQor
ICAgIGF1dG8gY2ZLZXkgPSBrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKTsNCisgICAgaWYgKENG
RXF1YWwoY2ZLZXksIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleSkgfHwgQ0ZFcXVhbChjZktl
eSwga0FYSW50ZXJmYWNlSW5jcmVhc2VDb250cmFzdEtleSkgfHwga2V5ID09IGludmVydENvbG9y
c1ByZWZlcmVuY2VLZXkoKSkNCisgICAgICAgIFtOU1dvcmtzcGFjZSBfaW52YWxpZGF0ZUFjY2Vz
c2liaWxpdHlEaXNwbGF5VmFsdWVzXTsNCisjZW5kaWYNCiB9DQogDQogdm9pZCBXZWJQcm9jZXNz
Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0
cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpDQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nDQppbmRleCAxMDE3Yjg0OGQ2
ZjcuLmU2ZjhlYjE4NzgzMCAxMDA2NDQNCi0tLSBhL1Rvb2xzL0NoYW5nZUxvZw0KKysrIGIvVG9v
bHMvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDE3IEBADQorMjAyMS0wNS0yMCAgQ2hyaXMgRmxlaXph
Y2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IFNldHRpbmdzOiBJbmNy
ZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBicm93c2VyIHVudGlsIGFuIGFkZGl0aW9u
YWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5jcHA6DQorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UpOg0KKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmg6DQor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuaWRsOg0KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToNCisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5j
ZSk6DQorDQogMjAyMS0wNS0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPg0KIA0K
ICAgICAgICAgVXNlIG5vbi10aHJvd2luZyBzdGQ6OmZpbGVzeXN0ZW0gQVBJIGluIFRlc3RSdW5u
ZXINCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgNCmluZGV4IGRkMWM2ODE5ZWUwMC4uNDM1
ZmI0MGU4ZWE4IDEwMDY0NA0KLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgNCkBAIC03Nyw2ICs3
Nyw3IEBAIHB1YmxpYzoNCiANCiAgICAgYm9vbCBhZGROb3RpZmljYXRpb25MaXN0ZW5lcihKU1Zh
bHVlUmVmIGZ1bmN0aW9uQ2FsbGJhY2spOw0KICAgICBib29sIHJlbW92ZU5vdGlmaWNhdGlvbkxp
c3RlbmVyKCk7DQorICAgIHZvaWQgaW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJp
bmdSZWYgZG9tYWluLCBKU1N0cmluZ1JlZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKTsNCiANCiAg
ICAgLy8gSGVyZSBmb3IgY29uc2lzdGVuY3kgd2l0aCBEUlQuIE5vdCBpbXBsZW1lbnRlZCBiZWNh
dXNlIHRoZXkgZG9uJ3QgZG8gYW55dGhpbmcgb24gdGhlIE1hYy4NCiAgICAgdm9pZCBsb2dGb2N1
c0V2ZW50cygpIHsgfQ0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5pZGwNCmluZGV4IGFhMzI2NTViMmQxYy4uMmZkYWEwY2E1OWJkIDEwMDY0NA0KLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5pZGwNCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsDQpAQCAtMzQsNiArMzQs
NyBAQA0KICAgICByZWFkb25seSBhdHRyaWJ1dGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBmb2N1
c2VkRWxlbWVudDsNCiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBlbGVtZW50QXRQb2ludChs
b25nIHgsIGxvbmcgeSk7DQogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKERPTVN0cmluZyBpZCk7DQorICAgIHVuZGVmaW5lZCBpbmplY3RBY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5LCBET01TdHJpbmcg
dmFsdWUpOw0KICAgICANCiAgICAgYm9vbGVhbiBhZGROb3RpZmljYXRpb25MaXN0ZW5lcihvYmpl
Y3QgZnVuY3Rpb25DYWxsYmFjayk7DQogICAgIGJvb2xlYW4gcmVtb3ZlTm90aWZpY2F0aW9uTGlz
dGVuZXIoKTsNCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAN
CmluZGV4IDhmNjdjM2UzMzQyOS4uOGMyYWRhYzE5MDA4IDEwMDY0NA0KLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJB
dGsuY3BwDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHANCkBAIC0xMDAsNiArMTAwLDEwIEBAIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cGxhdGZvcm1OYW1l
KCkNCiAgICAgcmV0dXJuIHBsYXRmb3JtTmFtZTsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9t
YWluLCBKU1N0cmluZ1JlZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKQ0KK3sNCit9DQorDQogUmVm
PEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyb290RWxl
bWVudCgpDQogew0KICAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpz
aW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKTsNCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbSBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVySU9TLm1tDQppbmRleCBjOThiOWU5OTZjZDEuLjFjODUwZGNjMDczYiAxMDA2NDQN
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVySU9TLm1tDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQ0KQEAgLTg4LDYgKzg4
LDEwIEBAIHN0YXRpYyBpZCBmaW5kQWNjZXNzaWJsZU9iamVjdEJ5SWQoaWQgb2JqLCBOU1N0cmlu
ZyAqaWRBdHRyaWJ1dGUpDQogICAgIHJldHVybiBuaWw7DQogfQ0KIA0KK3ZvaWQgQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3RyaW5nUmVm
LCBKU1N0cmluZ1JlZiwgSlNTdHJpbmdSZWYpDQorew0KK30NCisNCiBSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50
QnlJZChKU1N0cmluZ1JlZiBpZEF0dHJpYnV0ZSkNCiB7DQogICAgIGF1dG8gcGFnZSA9IEluamVj
dGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKTsNCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tDQppbmRleCBhODg3ZGU1Yzg1ZDUuLjQwNGU1MGNi
NzFmMCAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
bWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tDQorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQ0K
QEAgLTk1LDYgKzk1LDE0IEBAIHN0YXRpYyBpZCBmaW5kQWNjZXNzaWJsZU9iamVjdEJ5SWQoaWQg
b2JqLCBOU1N0cmluZyAqaWRBdHRyaWJ1dGUpDQogICAgIHJldHVybiBudWxscHRyOw0KIH0NCiAN
Cit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZShKU1N0cmluZ1JlZiBkb21haW4sIEpTU3RyaW5nUmVmIGtleSwgSlNTdHJpbmdSZWYgdmFs
dWUpDQorew0KKyAgICBOU051bWJlciAqbnVtYmVyVmFsdWUgPSBAKFtbTlNTdHJpbmcgc3RyaW5n
V2l0aEpTU3RyaW5nUmVmOnZhbHVlXSBpbnRlZ2VyVmFsdWVdKTsNCisgICAgTlNEYXRhICplbmNv
ZGVkRGF0YSA9IFtOU0tleWVkQXJjaGl2ZXIgYXJjaGl2ZWREYXRhV2l0aFJvb3RPYmplY3Q6bnVt
YmVyVmFsdWUgcmVxdWlyaW5nU2VjdXJlQ29kaW5nOllFUyBlcnJvcjpuaWxdOw0KKyAgICBOU1N0
cmluZyAqZW5jb2RlZFN0cmluZyA9IFtlbmNvZGVkRGF0YSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0
aE9wdGlvbnM6MF07DQorICAgIFdLQWNjZXNzaWJpbGl0eVRlc3RpbmdJbmplY3RQcmVmZXJlbmNl
KEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKSwgdG9XVEZTdHJpbmco
ZG9tYWluKSwgdG9XVEZTdHJpbmcoa2V5KSwgKFN0cmluZyllbmNvZGVkU3RyaW5nKTsNCit9DQor
DQogUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVy
OjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYgaWRBdHRyaWJ1dGUpDQogew0KICAg
ICBhdXRvIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7
DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4v
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwDQppbmRleCA3
NTUwNWRhMTQwOTAuLjllOWU1YmQ3NGQ5MCAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcA0K
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJXaW4uY3BwDQpAQCAtNTAsNiArNTAsMTIgQEAgSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpwbGF0Zm9ybU5hbWUoKQ0KICAgICBy
ZXR1cm4gbnVsbHB0cjsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5q
ZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9tYWluLCBKU1N0cmluZ1Jl
ZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKQ0KK3sNCisgICAgbm90SW1wbGVtZW50ZWQoKTsNCisg
ICAgcmV0dXJuIG51bGxwdHI7DQorfQ0KKw0KIFJlZjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQ0KIHsNCiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsNCg==
</data>
<flag name="commit-queue"
          id="450308"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429204</attachid>
            <date>2021-05-20 12:24:40 -0700</date>
            <delta_ts>2021-05-21 10:53:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_225909.txt</filename>
            <type>text/plain</type>
            <size>19767</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggODllZjliMTM0ZDk3Li4xODcxMjYzYmMzMGMgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
MyBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0
ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0K
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4NCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5n
ZS5odG1sOiBBZGRlZC4NCisNCiAyMDIxLTA1LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+DQogDQogICAgICAgICBbIG1hY09TIFJlbGVhc2Ugd2syIF0gaHR0cC90ZXN0cy9jYWNo
ZS1zdG9yYWdlL2NhY2hlLXJlY29yZHMtcGVyc2lzdGVuY3kuaHR0cHMuaHRtbCBpcyBmbGFreSBj
cmFzaGluZw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlh
LXF1ZXJ5LXZhbHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS1leHBlY3RlZC50eHQNCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjQxNTIwYjQwMmNkOA0KLS0tIC9kZXYv
bnVsbA0KKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFs
dWVzLWNoYW5nZS1leHBlY3RlZC50eHQNCkBAIC0wLDAgKzEsMTkgQEANCitubyBjb250cmFzdA0K
K25vIG1vdGlvbg0KK1RoaXMgdGVzdHMgdGhhdCBDU1MgQWNjZXNzaWJpbGl0eSBtZWRpYSBxdWVy
aWVzIGdldCB1cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdlDQorDQorT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLg0KKw0KKw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ3Zpc2libGUnDQor
UEFTUyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxp
dHkgaXMgJ3Zpc2libGUnDQorUEFTUyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAnaGlkZGVuJw0KK1BB
U1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNTIHVwZGF0ZWRWaXNpYmlsaXR5
IGlzICd2aXNpYmxlJw0KK1BBU1MgZGVmYXVsdFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNT
IHVwZGF0ZWRWaXNpYmlsaXR5IGlzICd2aXNpYmxlJw0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUNCisNCitURVNUIENPTVBMRVRFDQorDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sDQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5jYTUzZjYzZGM1NzgNCi0t
LSAvZGV2L251bGwNCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1
ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbA0KQEAgLTAsMCArMSwxMDYgQEANCis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+DQorPGh0bWw+DQorPGhlYWQ+DQorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+DQorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3Jp
cHQ+DQorPHN0eWxlPg0KKw0KKyAgICBAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG5vLXByZWZl
cmVuY2UpIHsNCisgICAgICAgIC5jb250cmFzdE5vIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5
OiB2aXNpYmxlOw0KKyAgICAgICAgfQ0KKyAgICAgICAgLmNvbnRyYXN0TW9yZSB7DQorICAgICAg
ICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KKyAgICAgICAgfQ0KKyAgICB9DQorICAgIEBtZWRp
YSAocHJlZmVycy1jb250cmFzdDogbW9yZSkgew0KKyAgICAgICAgLmNvbnRyYXN0Tm8gew0KKyAg
ICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgICAgIC5jb250
cmFzdE1vcmUgew0KKyAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQorICAgICAgICB9
DQorICAgIH0NCisNCisgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVm
ZXJlbmNlKSB7DQorICAgICAgICAubW90aW9uTm8gew0KKyAgICAgICAgICAgdmlzaWJpbGl0eTog
dmlzaWJsZTsNCisgICAgICAgIH0NCisgICAgICAgIC5tb3Rpb25SZWR1Y2Ugew0KKyAgICAgICAg
ICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBAbWVkaWEg
KHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgew0KKyAgICAgICAgLm1vdGlvbk5vIHsN
CisgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgICAgICB9DQorICAgICAgICAu
bW90aW9uUmVkdWNlIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KKyAgICAg
ICAgfQ0KKyAgICB9DQorDQorPC9zdHlsZT4NCis8L2hlYWQ+DQorPGJvZHk+DQorDQorPGRpdiBp
ZD0ibm8tY29udHJhc3QiIGNsYXNzPSJjb250cmFzdE5vIj5ubyBjb250cmFzdDwvZGl2Pg0KKzxk
aXYgaWQ9Im1vcmUtY29udHJhc3QiIGNsYXNzPSJjb250cmFzdE1vcmUiPm1vcmU8L2Rpdj4NCisN
Cis8ZGl2IGlkPSJuby1tb3Rpb24iIGNsYXNzPSJtb3Rpb25ObyI+bm8gbW90aW9uPC9kaXY+DQor
PGRpdiBpZD0icmVkdWNlLW1vdGlvbiIgY2xhc3M9Im1vdGlvblJlZHVjZSI+cmVkdWNlPC9kaXY+
DQorDQorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+DQorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
DQorDQorPHNjcmlwdD4NCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBDU1MgQWNj
ZXNzaWJpbGl0eSBtZWRpYSBxdWVyaWVzIGdldCB1cGRhdGVzIHdoZW4gc2V0dGluZ3MgY2hhbmdl
Iik7DQorDQorICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsNCisNCisgICAgZnVuY3Rp
b24gdmlzaWJpbGl0eShkb21JZCkgew0KKyAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZG9tSWQpKS52aXNpYmlsaXR5Ow0KKyAgICB9DQorDQor
ICAgIHZhciBkZWZhdWx0VmlzaWJpbGl0eTsNCisgICAgdmFyIHVwZGF0ZWRWaXNpYmlsaXR5Ow0K
KyAgICBmdW5jdGlvbiB0ZXN0VmlzaWJpbGl0eShkZWZhdWx0SWQsIHVwZGF0ZWRJZCwga2V5LCBl
bmRUZXN0KSB7DQorICAgICAgICBkZWZhdWx0VmlzaWJpbGl0eSA9IHZpc2liaWxpdHkoZGVmYXVs
dElkKTsNCisgICAgICAgIHVwZGF0ZWRWaXNpYmlsaXR5ID0gdmlzaWJpbGl0eSh1cGRhdGVkSWQp
Ow0KKw0KKyAgICAgICAgc2hvdWxkQmUoImRlZmF1bHRWaXNpYmlsaXR5IiwgIid2aXNpYmxlJyIp
Ow0KKyAgICAgICAgc2hvdWxkQmUoInVwZGF0ZWRWaXNpYmlsaXR5IiwgIidoaWRkZW4nIik7DQor
ICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZSgiY29tLmFwcGxlLnVuaXZlcnNhbGFjY2VzcyIsIGtleSwgIjEiKTsNCisNCisgICAgICAg
IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4gew0KKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkg
PT4gew0KKyAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmlsaXR5KHVwZGF0ZWRJZCkgPT0gJ3Zp
c2libGUnOw0KKyAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgICAgIGRlZmF1bHRWaXNpYmls
aXR5ID0gdmlzaWJpbGl0eShkZWZhdWx0SWQpOw0KKyAgICAgICAgICAgIHVwZGF0ZWRWaXNpYmls
aXR5ID0gdmlzaWJpbGl0eSh1cGRhdGVkSWQpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJkZWZh
dWx0VmlzaWJpbGl0eSIsICInaGlkZGVuJyIpOw0KKyAgICAgICAgICAgIHNob3VsZEJlKCJ1cGRh
dGVkVmlzaWJpbGl0eSIsICIndmlzaWJsZSciKTsNCisgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5pbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSgiY29tLmFwcGxlLnVuaXZl
cnNhbGFjY2VzcyIsIGtleSwgIjAiKTsNCisgICAgICAgICAgICBpZiAoZW5kVGVzdCkgew0KKyAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9
LCAwKTsNCisgICAgfQ0KKw0KKyAgICBmdW5jdGlvbiBoYW5kbGVDb250cmFzdChlbmRUZXN0KSB7
DQorICAgICAgICB0ZXN0VmlzaWJpbGl0eSgibm8tY29udHJhc3QiLCAibW9yZS1jb250cmFzdCIs
ICJpbmNyZWFzZUNvbnRyYXN0IiwgZW5kVGVzdCk7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24g
aGFuZGxlTW90aW9uKGVuZFRlc3QpIHsNCisgICAgICAgIHRlc3RWaXNpYmlsaXR5KCJuby1tb3Rp
b24iLCAicmVkdWNlLW1vdGlvbiIsICJyZWR1Y2VNb3Rpb24iLCBlbmRUZXN0KTsNCisgICAgfQ0K
Kw0KKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7DQorICAgICAgICBo
YW5kbGVDb250cmFzdChmYWxzZSk7DQorICAgICAgICBoYW5kbGVNb3Rpb24odHJ1ZSk7DQorICAg
IH0NCisNCis8L3NjcmlwdD4NCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9UZXN0RXhwZWN0YXRpb25zDQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5kOGE3MzFjNzY5ZDcNCi0tLSAvZGV2L251bGwN
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9UZXN0RXhwZWN0YXRpb25z
DQpAQCAtMCwwICsxLDUgQEANCisjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQor
IyBQbGF0Zm9ybS1zcGVjaWZpYyB0ZXN0cy4gRW5hYmxlZCBnbG9iYWxseSwgdGhlbiBza2lwcGVk
IGhlcmUuDQorIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKw0KK2FjY2Vzc2li
aWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbCBbIFNraXAgXQ0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucw0KaW5kZXggOGJjMjgz
NmU0YTY5Li41YmJlODBhOWIxMmQgMTAwNjQ0DQotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMNCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucw0KQEAgLTIxMiw2ICsyMTIsNyBAQCBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9uYXZpZ2F0ZS1zZWxmLXRvLWRhdGEtdXJsLmh0bWwg
WyBTa2lwDQogDQogIyBDb2xvciB3ZWxsIGlzIHR1cm5lZCBvZmYuDQogYWNjZXNzaWJpbGl0eS9j
b2xvci13ZWxsLmh0bWwgWyBTa2lwIF0NCithY2Nlc3NpYmlsaXR5L21hYy9tZWRpYS1xdWVyeS12
YWx1ZXMtY2hhbmdlLmh0bWwgWyBTa2lwIF0NCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZHJhZy1hbmQt
ZHJvcC1jb2xvci1pbnB1dC1ldmVudHMuaHRtbCBbIFNraXAgXQ0KIGVkaXRpbmcvcGFzdGVib2Fy
ZC9kcmFnLWFuZC1kcm9wLWNvbG9yLWlucHV0Lmh0bWwgWyBTa2lwIF0NCiBmYXN0L2Nzcy9wc2V1
ZG8tdmlzaXRlZC1iYWNrZ3JvdW5kLWNvbG9yLW9uLWlucHV0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZw0KaW5kZXggMWQ2NDM0NWEzYWUyLi43YjNiZjk1YjIzY2Qg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nDQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDEyIEBADQorMjAyMS0wNS0yMCAgQ2hy
aXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IFNldHRp
bmdzOiBJbmNyZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBicm93c2VyIHVudGlsIGFu
IGFkZGl0aW9uYWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAgICogcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5o
Og0KKw0KIDIwMjEtMDUtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
DQogDQogICAgICAgICBbbWFjT1NdIEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8g
YmVnaW4gd2hlbiBmb3JjZSBjbGlja2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5cw0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oDQppbmRleCBi
Y2E4Mjk5MmE4OTQuLmI4ZGYwYTFiY2M4OSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgNCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgNCkBAIC0xNTIsNiArMTUyLDggQEAgdm9pZCBfQVhT
ZXRDbGllbnRJZGVudGlmaWNhdGlvbk92ZXJyaWRlKEFYQ2xpZW50VHlwZSk7DQogZXh0ZXJuIENG
U3RyaW5nUmVmIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleTsNCiBleHRlcm4gQ0ZTdHJpbmdS
ZWYga0FYSW50ZXJmYWNlUmVkdWNlTW90aW9uU3RhdHVzRGlkQ2hhbmdlTm90aWZpY2F0aW9uOw0K
IA0KK2V4dGVybiBDRlN0cmluZ1JlZiBrQVhJbnRlcmZhY2VJbmNyZWFzZUNvbnRyYXN0S2V5Ow0K
Kw0KIFdURl9FWFRFUk5fQ19FTkQNCiANCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nDQppbmRleCBkMTFhZTVlNjA5N2UuLjZiZGU2MWNjYTcyYyAxMDA2NDQNCi0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nDQorKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZw0K
QEAgLTEsMyArMSwyNSBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNo
QGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3Qg
aXNuJ3QgZGV0ZWN0ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMg
YXBwbGllZA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNTkwOQ0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAg
ICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5o
dG1sDQorDQorICAgICAgICAxKSBXZWJDb250ZW50IGJsb2NrcyBhY2Nlc3MgdG8gZGlzdHJpYnV0
ZWQgbm90aWZpY2F0aW9uIGNlbnRlciwgc28gd2UgY2FuJ3QgcmVseSBvbiB0aGF0IHRvIHJlLXBv
c3Qgbm90aWZpY2F0aW9ucw0KKyAgICAgICAgMikgQXBwS2l0IGNhY2hlcyB0aGUgdmFsdWVzIG9m
IHRoZXNlIEFYIHNldHRpbmdzLCBzbyB3ZSBuZWVkIHRvIGludmFsaWRhdGUgdGhhdCBjYWNoZSBk
aXJlY3RseQ0KKw0KKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oOg0KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6
DQorICAgICAgICAoV0tBY2Nlc3NpYmlsaXR5VGVzdGluZ0luamVjdFByZWZlcmVuY2UpOg0KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZh
dGUuaDoNCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06DQor
ICAgICAgICAoV2ViS2l0OjppbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5KToNCisgICAgICAgIChX
ZWJLaXQ6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2Up
Og0KKyAgICAgICAgKFdlYktpdDo6c2V0UHJlZmVyZW5jZVZhbHVlKToNCisgICAgICAgIChXZWJL
aXQ6OnJlZHVjZU1vdGlvblByZWZlcmVuY2VLZXkpOiBEZWxldGVkLg0KKw0KIDIwMjEtMDUtMTAg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+DQogDQogICAgICAgICBbbWFj
T1NdIEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8gYmVnaW4gd2hlbiBmb3JjZSBj
bGlja2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5cw0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KaW5kZXggOTdmNGU5NGNlOTc0Li42NjdlOThlNDNjMmMg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgN
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KQEAgLTU4
LDYgKzU4LDEwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRv
d09wdGlvbnMpIHsNCiANCiAjZW5kaWYNCiANCitAaW50ZXJmYWNlIE5TV29ya3NwYWNlIChOU1dv
cmtzcGFjZUFjY2Vzc2liaWxpdHlEaXNwbGF5SW50ZXJuYWxfSVBJKQ0KKysgKHZvaWQpX2ludmFs
aWRhdGVBY2Nlc3NpYmlsaXR5RGlzcGxheVZhbHVlczsNCitAZW5kDQorDQogQGludGVyZmFjZSBO
U0luc3BlY3RvckJhciAoSVBJKQ0KIC0gKHZvaWQpX3VwZGF0ZTsNCiBAZW5kDQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmNwcA0KaW5kZXggZWMyMmI2NjgyZmU3Li42ZDAzN2VkMTU0YWQgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlLmNwcA0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHANCkBAIC01Niw2ICs1Niw3IEBADQogI2luY2x1ZGUg
IldlYlBhZ2UuaCINCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHkuaCINCiAjaW5jbHVkZSAi
V2ViUGFnZU92ZXJsYXkuaCINCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIg0KICNpbmNsdWRlIDxX
ZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4NCiAjaW5jbHVkZSA8V2ViQ29yZS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmg+DQogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UuaD4NCkBAIC0yMzAsNiArMjMxLDE2IEBAIHZvaWQgV0tCdW5kbGVQYWdlSW5zZXJ0TmV3
bGluZUluUXVvdGVkQ29udGVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikNCiAgICAgV2ViS2l0
Ojp0b0ltcGwocGFnZVJlZiktPmluc2VydE5ld2xpbmVJblF1b3RlZENvbnRlbnQoKTsNCiB9DQog
DQordm9pZCBXS0FjY2Vzc2liaWxpdHlUZXN0aW5nSW5qZWN0UHJlZmVyZW5jZShXS0J1bmRsZVBh
Z2VSZWYgcGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBj
b25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpDQorew0KKyAgICBpZiAoIXBhZ2VS
ZWYpDQorICAgICAgICByZXR1cm47DQorICAgIA0KKyNpZiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1Rf
TU9ERSkNCisgICAgV2ViS2l0OjpXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5ub3RpZnlQcmVmZXJl
bmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1ZSk7DQorI2VuZGlmDQorfQ0KKw0K
IHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYp
DQogew0KICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaA0KaW5kZXggYTIwMDg4MWRkMDgyLi5jNjFmOGMyOTc5MTUgMTAwNjQ0DQot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlUHJpdmF0ZS5oDQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oDQpAQCAtOTYsNiArOTYsNyBAQCBXS19F
WFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUoV0tCdW5kbGVQYWdlUmVmLCBX
S1N0cmluZ1JlZiBtaW1lVHlwZQ0KIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlSb290
T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7DQogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJpbGl0
eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsNCiBXS19FWFBPUlQgYm9vbCBXS0FjY2Vz
c2liaWxpdHlDYW5Vc2VTZWNvbmRhcnlBWFRocmVhZChXS0J1bmRsZVBhZ2VSZWYpOw0KK1dLX0VY
UE9SVCB2b2lkIFdLQWNjZXNzaWJpbGl0eVRlc3RpbmdJbmplY3RQcmVmZXJlbmNlKFdLQnVuZGxl
UGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBP
cHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpOw0KIA0KIFdLX0VYUE9SVCB2b2lkIFdLQWNj
ZXNzaWJpbGl0eUVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eShib29sKTsNCiBXS19FWFBPUlQg
Ym9vbCBXS0FjY2Vzc2liaWxpdHlFbmhhbmNlZEFjY2Vzc2liaWxpdHlFbmFibGVkKCk7DQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0NCmlu
ZGV4IGY1NzIzY2UxNTc0MS4uNDczYWE4MzNhYTkwIDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0KQEAgLTEzMSw2ICsxMzEsNyBA
QA0KICNlbmRpZg0KIA0KICNpZiBQTEFURk9STShNQUMpDQorI2ltcG9ydCAiQXBwS2l0U1BJLmgi
DQogI2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5oIg0KICNpbXBvcnQg
IldlYlN3aXRjaGluZ0dQVUNsaWVudC5oIg0KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0xNYW5hZ2VyLmg+DQpAQCAtMTA3MCw5ICsxMDcxLDkgQEAgc3RhdGljIGNvbnN0
IFdURjo6U3RyaW5nJiB1c2VySGlnaGxpZ2h0Q29sb3JQcmVmZXJlbmNlS2V5KCkNCiAgICAgcmV0
dXJuIHVzZXJIaWdobGlnaHRDb2xvclByZWZlcmVuY2VLZXk7DQogfQ0KIA0KLXN0YXRpYyBjb25z
dCBXVEY6OlN0cmluZyYgcmVkdWNlTW90aW9uUHJlZmVyZW5jZUtleSgpDQorc3RhdGljIGNvbnN0
IFdURjo6U3RyaW5nJiBpbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5KCkNCiB7DQotICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmluZz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBM
KCJyZWR1Y2VNb3Rpb24iKSk7DQorICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmlu
Zz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJ3aGl0ZU9uQmxhY2siKSk7DQogICAgIHJl
dHVybiBrZXk7DQogfQ0KICNlbmRpZg0KQEAgLTEwOTMsOSArMTA5NCw2IEBAIHN0YXRpYyB2b2lk
IGRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2UoY29uc3Qg
U3RyaW5nJiBrZXkpDQogICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNlbnRlciA9IFtOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsNCiAgICAgICAgIFtub3RpZmljYXRpb25DZW50
ZXIgcG9zdE5vdGlmaWNhdGlvbk5hbWU6QCJOU1N5c3RlbUNvbG9yc1dpbGxDaGFuZ2VOb3RpZmlj
YXRpb24iIG9iamVjdDpuaWxdOw0KICAgICAgICAgW25vdGlmaWNhdGlvbkNlbnRlciBwb3N0Tm90
aWZpY2F0aW9uTmFtZTpOU1N5c3RlbUNvbG9yc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6
bmlsXTsNCi0gICAgfSBlbHNlIGlmIChrZXkgPT0gcmVkdWNlTW90aW9uUHJlZmVyZW5jZUtleSgp
KSB7DQotICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNlbnRlciA9IENGTm90aWZpY2F0aW9uQ2Vu
dGVyR2V0RGlzdHJpYnV0ZWRDZW50ZXIoKTsNCi0gICAgICAgIENGTm90aWZpY2F0aW9uQ2VudGVy
UG9zdE5vdGlmaWNhdGlvbihub3RpZmljYXRpb25DZW50ZXIsIGtBWEludGVyZmFjZVJlZHVjZU1v
dGlvblN0YXR1c0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgbnVsbHB0ciwgbnVsbHB0ciwgdHJ1ZSk7
DQogICAgIH0NCiAjZW5kaWYNCiB9DQpAQCAtMTEyNyw2ICsxMTI1LDEyIEBAIHN0YXRpYyB2b2lk
IHNldFByZWZlcmVuY2VWYWx1ZShjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBr
ZXksIGlkIHZhbHVlDQogICAgICAgICAgICAgX0FYU1VwZGF0ZVdlYkFjY2Vzc2liaWxpdHlTZXR0
aW5nc1B0cigpKCk7DQogICAgIH0NCiAjZW5kaWYNCisgICAgDQorI2lmIFVTRShBUFBLSVQpDQor
ICAgIGF1dG8gY2ZLZXkgPSBrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKTsNCisgICAgaWYgKENG
RXF1YWwoY2ZLZXksIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleSkgfHwgQ0ZFcXVhbChjZktl
eSwga0FYSW50ZXJmYWNlSW5jcmVhc2VDb250cmFzdEtleSkgfHwga2V5ID09IGludmVydENvbG9y
c1ByZWZlcmVuY2VLZXkoKSkNCisgICAgICAgIFtOU1dvcmtzcGFjZSBfaW52YWxpZGF0ZUFjY2Vz
c2liaWxpdHlEaXNwbGF5VmFsdWVzXTsNCisjZW5kaWYNCiB9DQogDQogdm9pZCBXZWJQcm9jZXNz
Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0
cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpDQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nDQppbmRleCAxMDE3Yjg0OGQ2
ZjcuLmU2ZjhlYjE4NzgzMCAxMDA2NDQNCi0tLSBhL1Rvb2xzL0NoYW5nZUxvZw0KKysrIGIvVG9v
bHMvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDE3IEBADQorMjAyMS0wNS0yMCAgQ2hyaXMgRmxlaXph
Y2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IFNldHRpbmdzOiBJbmNy
ZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBicm93c2VyIHVudGlsIGFuIGFkZGl0aW9u
YWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4NCisNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5jcHA6DQorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UpOg0KKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmg6DQor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuaWRsOg0KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToNCisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5j
ZSk6DQorDQogMjAyMS0wNS0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPg0KIA0K
ICAgICAgICAgVXNlIG5vbi10aHJvd2luZyBzdGQ6OmZpbGVzeXN0ZW0gQVBJIGluIFRlc3RSdW5u
ZXINCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgNCmluZGV4IGRkMWM2ODE5ZWUwMC4uNDM1
ZmI0MGU4ZWE4IDEwMDY0NA0KLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgNCkBAIC03Nyw2ICs3
Nyw3IEBAIHB1YmxpYzoNCiANCiAgICAgYm9vbCBhZGROb3RpZmljYXRpb25MaXN0ZW5lcihKU1Zh
bHVlUmVmIGZ1bmN0aW9uQ2FsbGJhY2spOw0KICAgICBib29sIHJlbW92ZU5vdGlmaWNhdGlvbkxp
c3RlbmVyKCk7DQorICAgIHZvaWQgaW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJp
bmdSZWYgZG9tYWluLCBKU1N0cmluZ1JlZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKTsNCiANCiAg
ICAgLy8gSGVyZSBmb3IgY29uc2lzdGVuY3kgd2l0aCBEUlQuIE5vdCBpbXBsZW1lbnRlZCBiZWNh
dXNlIHRoZXkgZG9uJ3QgZG8gYW55dGhpbmcgb24gdGhlIE1hYy4NCiAgICAgdm9pZCBsb2dGb2N1
c0V2ZW50cygpIHsgfQ0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5pZGwNCmluZGV4IGFhMzI2NTViMmQxYy4uMmZkYWEwY2E1OWJkIDEwMDY0NA0KLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5pZGwNCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsDQpAQCAtMzQsNiArMzQs
NyBAQA0KICAgICByZWFkb25seSBhdHRyaWJ1dGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBmb2N1
c2VkRWxlbWVudDsNCiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBlbGVtZW50QXRQb2ludChs
b25nIHgsIGxvbmcgeSk7DQogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKERPTVN0cmluZyBpZCk7DQorICAgIHVuZGVmaW5lZCBpbmplY3RBY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZShET01TdHJpbmcgZG9tYWluLCBET01TdHJpbmcga2V5LCBET01TdHJpbmcg
dmFsdWUpOw0KICAgICANCiAgICAgYm9vbGVhbiBhZGROb3RpZmljYXRpb25MaXN0ZW5lcihvYmpl
Y3QgZnVuY3Rpb25DYWxsYmFjayk7DQogICAgIGJvb2xlYW4gcmVtb3ZlTm90aWZpY2F0aW9uTGlz
dGVuZXIoKTsNCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAN
CmluZGV4IDhmNjdjM2UzMzQyOS4uOGMyYWRhYzE5MDA4IDEwMDY0NA0KLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJB
dGsuY3BwDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHANCkBAIC0xMDAsNiArMTAwLDEwIEBAIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cGxhdGZvcm1OYW1l
KCkNCiAgICAgcmV0dXJuIHBsYXRmb3JtTmFtZTsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9t
YWluLCBKU1N0cmluZ1JlZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKQ0KK3sNCit9DQorDQogUmVm
PEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyb290RWxl
bWVudCgpDQogew0KICAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpz
aW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKTsNCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbSBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVySU9TLm1tDQppbmRleCBjOThiOWU5OTZjZDEuLjFjODUwZGNjMDczYiAxMDA2NDQN
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVySU9TLm1tDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQ0KQEAgLTg4LDYgKzg4
LDEwIEBAIHN0YXRpYyBpZCBmaW5kQWNjZXNzaWJsZU9iamVjdEJ5SWQoaWQgb2JqLCBOU1N0cmlu
ZyAqaWRBdHRyaWJ1dGUpDQogICAgIHJldHVybiBuaWw7DQogfQ0KIA0KK3ZvaWQgQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3RyaW5nUmVm
LCBKU1N0cmluZ1JlZiwgSlNTdHJpbmdSZWYpDQorew0KK30NCisNCiBSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50
QnlJZChKU1N0cmluZ1JlZiBpZEF0dHJpYnV0ZSkNCiB7DQogICAgIGF1dG8gcGFnZSA9IEluamVj
dGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKTsNCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tDQppbmRleCBhODg3ZGU1Yzg1ZDUuLjQwNGU1MGNi
NzFmMCAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
bWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tDQorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQ0K
QEAgLTk1LDYgKzk1LDE0IEBAIHN0YXRpYyBpZCBmaW5kQWNjZXNzaWJsZU9iamVjdEJ5SWQoaWQg
b2JqLCBOU1N0cmluZyAqaWRBdHRyaWJ1dGUpDQogICAgIHJldHVybiBudWxscHRyOw0KIH0NCiAN
Cit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZShKU1N0cmluZ1JlZiBkb21haW4sIEpTU3RyaW5nUmVmIGtleSwgSlNTdHJpbmdSZWYgdmFs
dWUpDQorew0KKyAgICBOU051bWJlciAqbnVtYmVyVmFsdWUgPSBAKFtbTlNTdHJpbmcgc3RyaW5n
V2l0aEpTU3RyaW5nUmVmOnZhbHVlXSBpbnRlZ2VyVmFsdWVdKTsNCisgICAgTlNEYXRhICplbmNv
ZGVkRGF0YSA9IFtOU0tleWVkQXJjaGl2ZXIgYXJjaGl2ZWREYXRhV2l0aFJvb3RPYmplY3Q6bnVt
YmVyVmFsdWUgcmVxdWlyaW5nU2VjdXJlQ29kaW5nOllFUyBlcnJvcjpuaWxdOw0KKyAgICBOU1N0
cmluZyAqZW5jb2RlZFN0cmluZyA9IFtlbmNvZGVkRGF0YSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0
aE9wdGlvbnM6MF07DQorICAgIFdLQWNjZXNzaWJpbGl0eVRlc3RpbmdJbmplY3RQcmVmZXJlbmNl
KEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKSwgdG9XVEZTdHJpbmco
ZG9tYWluKSwgdG9XVEZTdHJpbmcoa2V5KSwgKFN0cmluZyllbmNvZGVkU3RyaW5nKTsNCit9DQor
DQogUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVy
OjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYgaWRBdHRyaWJ1dGUpDQogew0KICAg
ICBhdXRvIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7
DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4v
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwDQppbmRleCA3
NTUwNWRhMTQwOTAuLjkwMDViZjAxNjkxMSAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcA0K
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJXaW4uY3BwDQpAQCAtNTAsNiArNTAsMTEgQEAgSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpwbGF0Zm9ybU5hbWUoKQ0KICAgICBy
ZXR1cm4gbnVsbHB0cjsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5q
ZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9tYWluLCBKU1N0cmluZ1Jl
ZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKQ0KK3sNCisgICAgbm90SW1wbGVtZW50ZWQoKTsNCit9
DQorDQogUmVmPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVy
Ojpyb290RWxlbWVudCgpDQogew0KICAgICBub3RJbXBsZW1lbnRlZCgpOw0K
</data>
<flag name="review"
          id="450340"
          type_id="1"
          status="+"
          setter="pvollan"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429312</attachid>
            <date>2021-05-21 10:53:24 -0700</date>
            <delta_ts>2021-05-21 10:54:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_225909.txt</filename>
            <type>text/plain</type>
            <size>17326</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggODllZjliMTM0ZDk3Li41ZjdkMjc5YmU4MjkgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
MyBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0
ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0K
KyAgICAgICAgUmV2aWV3ZWQgYnkgUGVyIEFybmUgVm9sbGFuLg0KKw0KKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9tZWRpYS1xdWVyeS12YWx1ZXMtY2hhbmdlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuDQorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFu
Z2UuaHRtbDogQWRkZWQuDQorDQogMjAyMS0wNS0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPg0KIA0KICAgICAgICAgWyBtYWNPUyBSZWxlYXNlIHdrMiBdIGh0dHAvdGVzdHMvY2Fj
aGUtc3RvcmFnZS9jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Lmh0dHBzLmh0bWwgaXMgZmxha3kg
Y3Jhc2hpbmcNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9tZW51
LXNlbGVjdGlvbi1ub3RpZmljYXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvbWVudS1zZWxlY3Rpb24tbm90aWZpY2F0aW9uLWNyYXNoLWV4cGVj
dGVkLnR4dA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCA5NWY3ZjU2MzEzY2EuLjAw
MDAwMDAwMDAwMA0KLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVudS1zZWxl
Y3Rpb24tbm90aWZpY2F0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dA0KKysrIC9kZXYvbnVsbA0KQEAg
LTEsMTMgKzAsMCBAQA0KLQ0KLVRoaXMgdGVzdHMgdGhhdCBpbnNlcnRpbmcgYSBub2RlIGludG8g
YSBzZWxlY3QgbWVudSB3b24ndCBjYXVzZSBhIGNyYXNoLg0KLQ0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4NCi0NCi0NCi1QQVNTIGFkZGVkTm90aWZpY2F0aW9uIGlzIHRydWUNCi1tZW51IHJv
bGU6IEFYUm9sZTogQVhQb3BVcEJ1dHRvbg0KLU5vdGlmaWNhdGlvbiByZWNlaXZlZCBzdWNjZXNz
ZnVsbHkuDQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQ0KLQ0KLVRFU1QgQ09NUExF
VEUNCi0NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9tZW51LXNl
bGVjdGlvbi1ub3RpZmljYXRpb24tY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvbWFjL21lbnUtc2VsZWN0aW9uLW5vdGlmaWNhdGlvbi1jcmFzaC5odG1sDQpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQNCmluZGV4IDE1OGI2MTQ2YzM5Yy4uMDAwMDAwMDAwMDAwDQotLS0gYS9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9tZW51LXNlbGVjdGlvbi1ub3RpZmljYXRpb24t
Y3Jhc2guaHRtbA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsNDggKzAsMCBAQA0KLTwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4NCi08aHRtbD4NCi08aGVhZD4NCi08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4NCi08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48L3Nj
cmlwdD4NCi08L2hlYWQ+DQotPGJvZHkgaWQ9ImJvZHkiPg0KLQ0KLTxkaXYgaWQ9ImNvbnRlbnQi
Pg0KLTxzZWxlY3QgaWQ9Im1lbnUiPg0KLTwvc2VsZWN0Pg0KLTwvZGl2Pg0KLQ0KLTxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPg0KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pg0KLQ0KLTxzY3JpcHQ+
DQotDQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgaW5zZXJ0aW5nIGEgbm9kZSBp
bnRvIGEgc2VsZWN0IG1lbnUgd29uJ3QgY2F1c2UgYSBjcmFzaC4iKTsNCi0NCi0gICAgdmFyIGF4
Tm90aWZpY2F0aW9uRWxlbWVudCA9IG51bGw7DQotICAgIGZ1bmN0aW9uIG5vdGlmaWNhdGlvbkNh
bGxiYWNrKGVsZW1lbnQsIG5vdGlmaWNhdGlvbiwgc3RhdGUpIHsNCi0gICAgICAgIGlmIChub3Rp
ZmljYXRpb24gPT0gIkFYTWVudUl0ZW1TZWxlY3RlZCIpIHsNCi0gICAgICAgICAgICBkZWJ1Zygi
Tm90aWZpY2F0aW9uIHJlY2VpdmVkIHN1Y2Nlc3NmdWxseS4iKTsNCi0gICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsNCi0gICAgICAgIH0NCi0gICAgfQ0KLQ0KLSAgICBpZiAod2luZG93LmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKSB7DQotICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsNCi0g
ICAgICAgIHZhciBhZGRlZE5vdGlmaWNhdGlvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFk
ZE5vdGlmaWNhdGlvbkxpc3RlbmVyKG5vdGlmaWNhdGlvbkNhbGxiYWNrKTsNCi0gICAgICAgIHNo
b3VsZEJlVHJ1ZSgiYWRkZWROb3RpZmljYXRpb24iKTsNCi0NCi0gICAgICAgIHZhciBtZW51ID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJtZW51Iik7DQot
ICAgICAgICBkZWJ1ZygibWVudSByb2xlOiAiICsgbWVudS5yb2xlKTsNCi0gICAgICAgIA0KLSAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCi0gICAgICAgICAgICB2YXIgb3B0ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7DQotICAgICAgICAgICAgb3B0LnZhbHVlID0g
ImMiOw0KLSAgICAgICAgICAgIG9wdC5pbm5lckhUTUwgPSAiYyI7DQotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lbnUiKS5hcHBlbmRDaGlsZChvcHQpOw0KLSAgICAgICAg
fSwgMCk7DQotICAgIH0NCi0NCi08L3NjcmlwdD4NCi08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+DQotPC9ib2R5Pg0KLTwvaHRtbD4NCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMNCmluZGV4IDhiYzI4
MzZlNGE2OS4uNWJiZTgwYTliMTJkIDEwMDY0NA0KLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zDQorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMNCkBAIC0yMTIsNiArMjEyLDcgQEAgaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvbmF2aWdhdGUtc2VsZi10by1kYXRhLXVybC5odG1s
IFsgU2tpcA0KIA0KICMgQ29sb3Igd2VsbCBpcyB0dXJuZWQgb2ZmLg0KIGFjY2Vzc2liaWxpdHkv
Y29sb3Itd2VsbC5odG1sIFsgU2tpcCBdDQorYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnkt
dmFsdWVzLWNoYW5nZS5odG1sIFsgU2tpcCBdDQogZWRpdGluZy9wYXN0ZWJvYXJkL2RyYWctYW5k
LWRyb3AtY29sb3ItaW5wdXQtZXZlbnRzLmh0bWwgWyBTa2lwIF0NCiBlZGl0aW5nL3Bhc3RlYm9h
cmQvZHJhZy1hbmQtZHJvcC1jb2xvci1pbnB1dC5odG1sIFsgU2tpcCBdDQogZmFzdC9jc3MvcHNl
dWRvLXZpc2l0ZWQtYmFja2dyb3VuZC1jb2xvci1vbi1pbnB1dC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cNCmluZGV4IDFkNjQzNDVhM2FlMi4uMjc4MWIwMTBmN2E2
IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZw0KKysrIGIvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZw0KQEAgLTEsMyArMSwxMiBAQA0KKzIwMjEtMDUtMjAgIENo
cmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBTZXR0
aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0ZWQgaW4gYnJvd3NlciB1bnRpbCBh
biBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkg
UGVyIEFybmUgVm9sbGFuLg0KKw0KKyAgICAgICAgKiBwYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJ
Lmg6DQorDQogMjAyMS0wNS0xMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4NCiANCiAgICAgICAgIFttYWNPU10gQWxsb3cgaW1tZWRpYXRlIGFjdGlvbiBnZXN0dXJlcyB0
byBiZWdpbiB3aGVuIGZvcmNlIGNsaWNraW5nIHRleHQgaW5zaWRlIGltYWdlIG92ZXJsYXlzDQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0hJU2VydmljZXNTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgNCmluZGV4
IGJjYTgyOTkyYTg5NC4uYjhkZjBhMWJjYzg5IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaA0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaA0KQEAgLTE1Miw2ICsxNTIsOCBAQCB2b2lkIF9B
WFNldENsaWVudElkZW50aWZpY2F0aW9uT3ZlcnJpZGUoQVhDbGllbnRUeXBlKTsNCiBleHRlcm4g
Q0ZTdHJpbmdSZWYga0FYSW50ZXJmYWNlUmVkdWNlTW90aW9uS2V5Ow0KIGV4dGVybiBDRlN0cmlu
Z1JlZiBrQVhJbnRlcmZhY2VSZWR1Y2VNb3Rpb25TdGF0dXNEaWRDaGFuZ2VOb3RpZmljYXRpb247
DQogDQorZXh0ZXJuIENGU3RyaW5nUmVmIGtBWEludGVyZmFjZUluY3JlYXNlQ29udHJhc3RLZXk7
DQorDQogV1RGX0VYVEVSTl9DX0VORA0KIA0KICNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQ0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cNCmluZGV4IGQxMWFlNWU2MDk3ZS4uOTExNzY1ZGU0YTYxIDEwMDY0NA0KLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cNCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
DQpAQCAtMSwzICsxLDI1IEBADQorMjAyMS0wNS0yMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IFNldHRpbmdzOiBJbmNyZWFzZSBjb250cmFz
dCBpc24ndCBkZXRlY3RlZCBpbiBicm93c2VyIHVudGlsIGFuIGFkZGl0aW9uYWwgc2V0dGluZyBp
cyBhcHBsaWVkDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI1OTA5DQorDQorICAgICAgICBSZXZpZXdlZCBieSBQZXIgQXJuZSBWb2xsYW4uDQorDQor
ICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5n
ZS5odG1sDQorDQorICAgICAgICAxKSBXZWJDb250ZW50IGJsb2NrcyBhY2Nlc3MgdG8gZGlzdHJp
YnV0ZWQgbm90aWZpY2F0aW9uIGNlbnRlciwgc28gd2UgY2FuJ3QgcmVseSBvbiB0aGF0IHRvIHJl
LXBvc3Qgbm90aWZpY2F0aW9ucw0KKyAgICAgICAgMikgQXBwS2l0IGNhY2hlcyB0aGUgdmFsdWVz
IG9mIHRoZXNlIEFYIHNldHRpbmdzLCBzbyB3ZSBuZWVkIHRvIGludmFsaWRhdGUgdGhhdCBjYWNo
ZSBkaXJlY3RseQ0KKw0KKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oOg0K
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5j
cHA6DQorICAgICAgICAoV0tBY2Nlc3NpYmlsaXR5VGVzdGluZ0luamVjdFByZWZlcmVuY2UpOg0K
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVBy
aXZhdGUuaDoNCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
DQorICAgICAgICAoV2ViS2l0OjppbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5KToNCisgICAgICAg
IChXZWJLaXQ6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFu
Z2UpOg0KKyAgICAgICAgKFdlYktpdDo6c2V0UHJlZmVyZW5jZVZhbHVlKToNCisgICAgICAgIChX
ZWJLaXQ6OnJlZHVjZU1vdGlvblByZWZlcmVuY2VLZXkpOiBEZWxldGVkLg0KKw0KIDIwMjEtMDUt
MTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+DQogDQogICAgICAgICBb
bWFjT1NdIEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8gYmVnaW4gd2hlbiBmb3Jj
ZSBjbGlja2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5cw0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KaW5kZXggOTdmNGU5NGNlOTc0Li42NjdlOThlNDNj
MmMgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJ
LmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KQEAg
LTU4LDYgKzU4LDEwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1No
YWRvd09wdGlvbnMpIHsNCiANCiAjZW5kaWYNCiANCitAaW50ZXJmYWNlIE5TV29ya3NwYWNlIChO
U1dvcmtzcGFjZUFjY2Vzc2liaWxpdHlEaXNwbGF5SW50ZXJuYWxfSVBJKQ0KKysgKHZvaWQpX2lu
dmFsaWRhdGVBY2Nlc3NpYmlsaXR5RGlzcGxheVZhbHVlczsNCitAZW5kDQorDQogQGludGVyZmFj
ZSBOU0luc3BlY3RvckJhciAoSVBJKQ0KIC0gKHZvaWQpX3VwZGF0ZTsNCiBAZW5kDQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlLmNwcA0KaW5kZXggZWMyMmI2NjgyZmU3Li42ZDAzN2VkMTU0YWQgMTAw
NjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmNwcA0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHANCkBAIC01Niw2ICs1Niw3IEBADQogI2luY2x1
ZGUgIldlYlBhZ2UuaCINCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHkuaCINCiAjaW5jbHVk
ZSAiV2ViUGFnZU92ZXJsYXkuaCINCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIg0KICNpbmNsdWRl
IDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4NCiAjaW5jbHVkZSA8V2ViQ29yZS9BY2Nlc3NpYmls
aXR5T2JqZWN0SW50ZXJmYWNlLmg+DQogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UuaD4NCkBAIC0yMzAsNiArMjMxLDE2IEBAIHZvaWQgV0tCdW5kbGVQYWdlSW5zZXJ0
TmV3bGluZUluUXVvdGVkQ29udGVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikNCiAgICAgV2Vi
S2l0Ojp0b0ltcGwocGFnZVJlZiktPmluc2VydE5ld2xpbmVJblF1b3RlZENvbnRlbnQoKTsNCiB9
DQogDQordm9pZCBXS0FjY2Vzc2liaWxpdHlUZXN0aW5nSW5qZWN0UHJlZmVyZW5jZShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5
LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpDQorew0KKyAgICBpZiAoIXBh
Z2VSZWYpDQorICAgICAgICByZXR1cm47DQorICAgIA0KKyNpZiBFTkFCTEUoQ0ZQUkVGU19ESVJF
Q1RfTU9ERSkNCisgICAgV2ViS2l0OjpXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5ub3RpZnlQcmVm
ZXJlbmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1ZSk7DQorI2VuZGlmDQorfQ0K
Kw0KIHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5kbGVQYWdlUmVmIHBhZ2VS
ZWYpDQogew0KICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkNCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZVByaXZhdGUuaA0KaW5kZXggYTIwMDg4MWRkMDgyLi5jNjFmOGMyOTc5MTUgMTAwNjQ0
DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlUHJpdmF0ZS5oDQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oDQpAQCAtOTYsNiArOTYsNyBAQCBX
S19FWFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUoV0tCdW5kbGVQYWdlUmVm
LCBXS1N0cmluZ1JlZiBtaW1lVHlwZQ0KIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlS
b290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7DQogV0tfRVhQT1JUIHZvaWQqIFdLQWNjZXNzaWJp
bGl0eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsNCiBXS19FWFBPUlQgYm9vbCBXS0Fj
Y2Vzc2liaWxpdHlDYW5Vc2VTZWNvbmRhcnlBWFRocmVhZChXS0J1bmRsZVBhZ2VSZWYpOw0KK1dL
X0VYUE9SVCB2b2lkIFdLQWNjZXNzaWJpbGl0eVRlc3RpbmdJbmplY3RQcmVmZXJlbmNlKFdLQnVu
ZGxlUGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBjb25z
dCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpOw0KIA0KIFdLX0VYUE9SVCB2b2lkIFdL
QWNjZXNzaWJpbGl0eUVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eShib29sKTsNCiBXS19FWFBP
UlQgYm9vbCBXS0FjY2Vzc2liaWxpdHlFbmhhbmNlZEFjY2Vzc2liaWxpdHlFbmFibGVkKCk7DQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0N
CmluZGV4IGY1NzIzY2UxNTc0MS4uYzhkNDA0YWI4YThlIDEwMDY0NA0KLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0KQEAgLTEzMSw2ICsxMzEs
NyBAQA0KICNlbmRpZg0KIA0KICNpZiBQTEFURk9STShNQUMpDQorI2ltcG9ydCAiQXBwS2l0U1BJ
LmgiDQogI2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5oIg0KICNpbXBv
cnQgIldlYlN3aXRjaGluZ0dQVUNsaWVudC5oIg0KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0xNYW5hZ2VyLmg+DQpAQCAtMTA3MCw5ICsxMDcxLDkgQEAgc3RhdGljIGNv
bnN0IFdURjo6U3RyaW5nJiB1c2VySGlnaGxpZ2h0Q29sb3JQcmVmZXJlbmNlS2V5KCkNCiAgICAg
cmV0dXJuIHVzZXJIaWdobGlnaHRDb2xvclByZWZlcmVuY2VLZXk7DQogfQ0KIA0KLXN0YXRpYyBj
b25zdCBXVEY6OlN0cmluZyYgcmVkdWNlTW90aW9uUHJlZmVyZW5jZUtleSgpDQorc3RhdGljIGNv
bnN0IFdURjo6U3RyaW5nJiBpbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5KCkNCiB7DQotICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmluZz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19J
TVBMKCJyZWR1Y2VNb3Rpb24iKSk7DQorICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0
cmluZz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJ3aGl0ZU9uQmxhY2siKSk7DQogICAg
IHJldHVybiBrZXk7DQogfQ0KICNlbmRpZg0KQEAgLTEwOTMsOSArMTA5NCw2IEBAIHN0YXRpYyB2
b2lkIGRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2UoY29u
c3QgU3RyaW5nJiBrZXkpDQogICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNlbnRlciA9IFtOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsNCiAgICAgICAgIFtub3RpZmljYXRpb25D
ZW50ZXIgcG9zdE5vdGlmaWNhdGlvbk5hbWU6QCJOU1N5c3RlbUNvbG9yc1dpbGxDaGFuZ2VOb3Rp
ZmljYXRpb24iIG9iamVjdDpuaWxdOw0KICAgICAgICAgW25vdGlmaWNhdGlvbkNlbnRlciBwb3N0
Tm90aWZpY2F0aW9uTmFtZTpOU1N5c3RlbUNvbG9yc0RpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmpl
Y3Q6bmlsXTsNCi0gICAgfSBlbHNlIGlmIChrZXkgPT0gcmVkdWNlTW90aW9uUHJlZmVyZW5jZUtl
eSgpKSB7DQotICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNlbnRlciA9IENGTm90aWZpY2F0aW9u
Q2VudGVyR2V0RGlzdHJpYnV0ZWRDZW50ZXIoKTsNCi0gICAgICAgIENGTm90aWZpY2F0aW9uQ2Vu
dGVyUG9zdE5vdGlmaWNhdGlvbihub3RpZmljYXRpb25DZW50ZXIsIGtBWEludGVyZmFjZVJlZHVj
ZU1vdGlvblN0YXR1c0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgbnVsbHB0ciwgbnVsbHB0ciwgdHJ1
ZSk7DQogICAgIH0NCiAjZW5kaWYNCiB9DQpAQCAtMTEyNyw2ICsxMTI1LDEyIEBAIHN0YXRpYyB2
b2lkIHNldFByZWZlcmVuY2VWYWx1ZShjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5n
JiBrZXksIGlkIHZhbHVlDQogICAgICAgICAgICAgX0FYU1VwZGF0ZVdlYkFjY2Vzc2liaWxpdHlT
ZXR0aW5nc1B0cigpKCk7DQogICAgIH0NCiAjZW5kaWYNCisgICAgDQorI2lmIFVTRShBUFBLSVQp
DQorICAgIGF1dG8gY2ZLZXkgPSBrZXkuY3JlYXRlQ0ZTdHJpbmcoKTsNCisgICAgaWYgKENGRXF1
YWwoY2ZLZXkuZ2V0KCksIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleSkgfHwgQ0ZFcXVhbChj
ZktleS5nZXQoKSwga0FYSW50ZXJmYWNlSW5jcmVhc2VDb250cmFzdEtleSkgfHwga2V5ID09IGlu
dmVydENvbG9yc1ByZWZlcmVuY2VLZXkoKSkNCisgICAgICAgIFtOU1dvcmtzcGFjZSBfaW52YWxp
ZGF0ZUFjY2Vzc2liaWxpdHlEaXNwbGF5VmFsdWVzXTsNCisjZW5kaWYNCiB9DQogDQogdm9pZCBX
ZWJQcm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4s
IGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUp
DQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nDQppbmRleCAx
MDE3Yjg0OGQ2ZjcuLmU1ZWRkYzRkYTFkZSAxMDA2NDQNCi0tLSBhL1Rvb2xzL0NoYW5nZUxvZw0K
KysrIGIvVG9vbHMvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDE3IEBADQorMjAyMS0wNS0yMCAgQ2hy
aXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IFNldHRp
bmdzOiBJbmNyZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBicm93c2VyIHVudGlsIGFu
IGFkZGl0aW9uYWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAgICBSZXZpZXdlZCBieSBQ
ZXIgQXJuZSBWb2xsYW4uDQorDQorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwOg0KKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKToNCisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5oOg0KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmlkbDoNCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW06DQor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0
eVByZWZlcmVuY2UpOg0KKw0KIDIwMjEtMDUtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4NCiANCiAgICAgICAgIFVzZSBub24tdGhyb3dpbmcgc3RkOjpmaWxlc3lzdGVtIEFQSSBp
biBUZXN0UnVubmVyDQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oDQppbmRleCBkZDFjNjgx
OWVlMDAuLjQzNWZiNDBlOGVhOCAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaA0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oDQpA
QCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6DQogDQogICAgIGJvb2wgYWRkTm90aWZpY2F0aW9uTGlz
dGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNrKTsNCiAgICAgYm9vbCByZW1vdmVOb3Rp
ZmljYXRpb25MaXN0ZW5lcigpOw0KKyAgICB2b2lkIGluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJl
bmNlKEpTU3RyaW5nUmVmIGRvbWFpbiwgSlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1
ZSk7DQogDQogICAgIC8vIEhlcmUgZm9yIGNvbnNpc3RlbmN5IHdpdGggRFJULiBOb3QgaW1wbGVt
ZW50ZWQgYmVjYXVzZSB0aGV5IGRvbid0IGRvIGFueXRoaW5nIG9uIHRoZSBNYWMuDQogICAgIHZv
aWQgbG9nRm9jdXNFdmVudHMoKSB7IH0NCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmlkbCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuaWRsDQppbmRleCBhYTMyNjU1YjJkMWMuLjJmZGFhMGNhNTliZCAxMDA2
NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsDQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmlkbA0KQEAg
LTM0LDYgKzM0LDcgQEANCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQgZm9jdXNlZEVsZW1lbnQ7DQogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgZWxlbWVu
dEF0UG9pbnQobG9uZyB4LCBsb25nIHkpOw0KICAgICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGFj
Y2Vzc2libGVFbGVtZW50QnlJZChET01TdHJpbmcgaWQpOw0KKyAgICB1bmRlZmluZWQgaW5qZWN0
QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoRE9NU3RyaW5nIGRvbWFpbiwgRE9NU3RyaW5nIGtleSwg
RE9NU3RyaW5nIHZhbHVlKTsNCiAgICAgDQogICAgIGJvb2xlYW4gYWRkTm90aWZpY2F0aW9uTGlz
dGVuZXIob2JqZWN0IGZ1bmN0aW9uQ2FsbGJhY2spOw0KICAgICBib29sZWFuIHJlbW92ZU5vdGlm
aWNhdGlvbkxpc3RlbmVyKCk7DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXJBdGsuY3BwDQppbmRleCA4ZjY3YzNlMzM0MjkuLjhjMmFkYWMxOTAwOCAxMDA2NDQNCi0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyQXRrLmNwcA0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwDQpAQCAtMTAwLDYgKzEwMCwx
MCBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnBs
YXRmb3JtTmFtZSgpDQogICAgIHJldHVybiBwbGF0Zm9ybU5hbWU7DQogfQ0KIA0KK3ZvaWQgQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3Ry
aW5nUmVmIGRvbWFpbiwgSlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1ZSkNCit7DQor
fQ0KKw0KIFJlZjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6cm9vdEVsZW1lbnQoKQ0KIHsNCiAgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3Rl
ZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7DQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQ0KaW5kZXggYzk4YjllOTk2Y2QxLi4xYzg1MGRjYzA3
M2IgMTAwNjQ0DQotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lv
cy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQ0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJJT1MubW0NCkBA
IC04OCw2ICs4OCwxMCBAQCBzdGF0aWMgaWQgZmluZEFjY2Vzc2libGVPYmplY3RCeUlkKGlkIG9i
aiwgTlNTdHJpbmcgKmlkQXR0cmlidXRlKQ0KICAgICByZXR1cm4gbmlsOw0KIH0NCiANCit2b2lk
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZShK
U1N0cmluZ1JlZiwgSlNTdHJpbmdSZWYsIEpTU3RyaW5nUmVmKQ0KK3sNCit9DQorDQogUmVmUHRy
PEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYgaWRBdHRyaWJ1dGUpDQogew0KICAgICBhdXRvIHBh
Z2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7DQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQ0KaW5kZXggYTg4N2RlNWM4NWQ1
Li40MDRlNTBjYjcxZjAgMTAwNjQ0DQotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQ0KKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXJNYWMubW0NCkBAIC05NSw2ICs5NSwxNCBAQCBzdGF0aWMgaWQgZmluZEFjY2Vzc2libGVPYmpl
Y3RCeUlkKGlkIG9iaiwgTlNTdHJpbmcgKmlkQXR0cmlidXRlKQ0KICAgICByZXR1cm4gbnVsbHB0
cjsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJp
bGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9tYWluLCBKU1N0cmluZ1JlZiBrZXksIEpTU3Ry
aW5nUmVmIHZhbHVlKQ0KK3sNCisgICAgTlNOdW1iZXIgKm51bWJlclZhbHVlID0gQChbW05TU3Ry
aW5nIHN0cmluZ1dpdGhKU1N0cmluZ1JlZjp2YWx1ZV0gaW50ZWdlclZhbHVlXSk7DQorICAgIE5T
RGF0YSAqZW5jb2RlZERhdGEgPSBbTlNLZXllZEFyY2hpdmVyIGFyY2hpdmVkRGF0YVdpdGhSb290
T2JqZWN0Om51bWJlclZhbHVlIHJlcXVpcmluZ1NlY3VyZUNvZGluZzpZRVMgZXJyb3I6bmlsXTsN
CisgICAgTlNTdHJpbmcgKmVuY29kZWRTdHJpbmcgPSBbZW5jb2RlZERhdGEgYmFzZTY0RW5jb2Rl
ZFN0cmluZ1dpdGhPcHRpb25zOjBdOw0KKyAgICBXS0FjY2Vzc2liaWxpdHlUZXN0aW5nSW5qZWN0
UHJlZmVyZW5jZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCksIHRv
V1RGU3RyaW5nKGRvbWFpbiksIHRvV1RGU3RyaW5nKGtleSksIChTdHJpbmcpZW5jb2RlZFN0cmlu
Zyk7DQorfQ0KKw0KIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5nUmVmIGlkQXR0cmlidXRl
KQ0KIHsNCiAgICAgYXV0byBwYWdlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnBhZ2Uo
KS0+cGFnZSgpOw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNw
cA0KaW5kZXggNzU1MDVkYTE0MDkwLi45MDA1YmYwMTY5MTEgMTAwNjQ0DQotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cldpbi5jcHANCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2lu
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcA0KQEAgLTUwLDYgKzUwLDExIEBAIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cGxhdGZvcm1OYW1l
KCkNCiAgICAgcmV0dXJuIG51bGxwdHI7DQogfQ0KIA0KK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3RyaW5nUmVmIGRvbWFpbiwg
SlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1ZSkNCit7DQorICAgIG5vdEltcGxlbWVu
dGVkKCk7DQorfQ0KKw0KIFJlZjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQ0KIHsNCiAgICAgbm90SW1wbGVtZW50ZWQoKTsNCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429313</attachid>
            <date>2021-05-21 10:54:24 -0700</date>
            <delta_ts>2021-05-24 09:27:36 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_225909.txt</filename>
            <type>text/plain</type>
            <size>14890</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggODllZjliMTM0ZDk3Li41ZjdkMjc5YmU4MjkgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
MyBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0
ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0K
KyAgICAgICAgUmV2aWV3ZWQgYnkgUGVyIEFybmUgVm9sbGFuLg0KKw0KKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9tZWRpYS1xdWVyeS12YWx1ZXMtY2hhbmdlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuDQorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFu
Z2UuaHRtbDogQWRkZWQuDQorDQogMjAyMS0wNS0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPg0KIA0KICAgICAgICAgWyBtYWNPUyBSZWxlYXNlIHdrMiBdIGh0dHAvdGVzdHMvY2Fj
aGUtc3RvcmFnZS9jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Lmh0dHBzLmh0bWwgaXMgZmxha3kg
Y3Jhc2hpbmcNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMNCmluZGV4IDhiYzI4MzZlNGE2OS4uNWJiZTgwYTliMTJkIDEwMDY0NA0KLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zDQorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMNCkBAIC0yMTIsNiArMjEyLDcgQEAg
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvbmF2aWdhdGUtc2VsZi10
by1kYXRhLXVybC5odG1sIFsgU2tpcA0KIA0KICMgQ29sb3Igd2VsbCBpcyB0dXJuZWQgb2ZmLg0K
IGFjY2Vzc2liaWxpdHkvY29sb3Itd2VsbC5odG1sIFsgU2tpcCBdDQorYWNjZXNzaWJpbGl0eS9t
YWMvbWVkaWEtcXVlcnktdmFsdWVzLWNoYW5nZS5odG1sIFsgU2tpcCBdDQogZWRpdGluZy9wYXN0
ZWJvYXJkL2RyYWctYW5kLWRyb3AtY29sb3ItaW5wdXQtZXZlbnRzLmh0bWwgWyBTa2lwIF0NCiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvZHJhZy1hbmQtZHJvcC1jb2xvci1pbnB1dC5odG1sIFsgU2tpcCBd
DQogZmFzdC9jc3MvcHNldWRvLXZpc2l0ZWQtYmFja2dyb3VuZC1jb2xvci1vbi1pbnB1dC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cNCmluZGV4IDFkNjQzNDVhM2Fl
Mi4uMjc4MWIwMTBmN2E2IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
Zw0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZw0KQEAgLTEsMyArMSwxMiBAQA0K
KzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4NCisNCisg
ICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0ZWQgaW4g
YnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0KKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUGVyIEFybmUgVm9sbGFuLg0KKw0KKyAgICAgICAgKiBwYWwvc3BpL21h
Yy9ISVNlcnZpY2VzU1BJLmg6DQorDQogMjAyMS0wNS0xMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4NCiANCiAgICAgICAgIFttYWNPU10gQWxsb3cgaW1tZWRpYXRlIGFj
dGlvbiBnZXN0dXJlcyB0byBiZWdpbiB3aGVuIGZvcmNlIGNsaWNraW5nIHRleHQgaW5zaWRlIGlt
YWdlIG92ZXJsYXlzDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L0hJU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZp
Y2VzU1BJLmgNCmluZGV4IGJjYTgyOTkyYTg5NC4uYjhkZjBhMWJjYzg5IDEwMDY0NA0KLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaA0KKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaA0KQEAgLTE1Miw2ICsx
NTIsOCBAQCB2b2lkIF9BWFNldENsaWVudElkZW50aWZpY2F0aW9uT3ZlcnJpZGUoQVhDbGllbnRU
eXBlKTsNCiBleHRlcm4gQ0ZTdHJpbmdSZWYga0FYSW50ZXJmYWNlUmVkdWNlTW90aW9uS2V5Ow0K
IGV4dGVybiBDRlN0cmluZ1JlZiBrQVhJbnRlcmZhY2VSZWR1Y2VNb3Rpb25TdGF0dXNEaWRDaGFu
Z2VOb3RpZmljYXRpb247DQogDQorZXh0ZXJuIENGU3RyaW5nUmVmIGtBWEludGVyZmFjZUluY3Jl
YXNlQ29udHJhc3RLZXk7DQorDQogV1RGX0VYVEVSTl9DX0VORA0KIA0KICNlbmRpZiAvLyBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQ0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cNCmluZGV4IGQxMWFlNWU2MDk3ZS4uOTExNzY1ZGU0
YTYxIDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cNCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDI1IEBADQorMjAyMS0wNS0yMCAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAgICAgICAgQVg6IFNldHRpbmdzOiBJ
bmNyZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBicm93c2VyIHVudGlsIGFuIGFkZGl0
aW9uYWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAgICBSZXZpZXdlZCBieSBQZXIgQXJu
ZSBWb2xsYW4uDQorDQorICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVl
cnktdmFsdWVzLWNoYW5nZS5odG1sDQorDQorICAgICAgICAxKSBXZWJDb250ZW50IGJsb2NrcyBh
Y2Nlc3MgdG8gZGlzdHJpYnV0ZWQgbm90aWZpY2F0aW9uIGNlbnRlciwgc28gd2UgY2FuJ3QgcmVs
eSBvbiB0aGF0IHRvIHJlLXBvc3Qgbm90aWZpY2F0aW9ucw0KKyAgICAgICAgMikgQXBwS2l0IGNh
Y2hlcyB0aGUgdmFsdWVzIG9mIHRoZXNlIEFYIHNldHRpbmdzLCBzbyB3ZSBuZWVkIHRvIGludmFs
aWRhdGUgdGhhdCBjYWNoZSBkaXJlY3RseQ0KKw0KKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvbWFj
L0FwcEtpdFNQSS5oOg0KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZS5jcHA6DQorICAgICAgICAoV0tBY2Nlc3NpYmlsaXR5VGVzdGluZ0luamVj
dFByZWZlcmVuY2UpOg0KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZVByaXZhdGUuaDoNCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW06DQorICAgICAgICAoV2ViS2l0OjppbnZlcnRDb2xvcnNQcmVmZXJlbmNl
S2V5KToNCisgICAgICAgIChXZWJLaXQ6OmRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0Zv
clByZWZlcmVuY2VDaGFuZ2UpOg0KKyAgICAgICAgKFdlYktpdDo6c2V0UHJlZmVyZW5jZVZhbHVl
KToNCisgICAgICAgIChXZWJLaXQ6OnJlZHVjZU1vdGlvblByZWZlcmVuY2VLZXkpOiBEZWxldGVk
Lg0KKw0KIDIwMjEtMDUtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
DQogDQogICAgICAgICBbbWFjT1NdIEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8g
YmVnaW4gd2hlbiBmb3JjZSBjbGlja2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5cw0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaCBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaA0KaW5kZXggOTdmNGU5NGNl
OTc0Li42NjdlOThlNDNjMmMgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3Nw
aS9tYWMvQXBwS2l0U1BJLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9B
cHBLaXRTUEkuaA0KQEAgLTU4LDYgKzU4LDEwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRl
Z2VyLCBOU1dpbmRvd1NoYWRvd09wdGlvbnMpIHsNCiANCiAjZW5kaWYNCiANCitAaW50ZXJmYWNl
IE5TV29ya3NwYWNlIChOU1dvcmtzcGFjZUFjY2Vzc2liaWxpdHlEaXNwbGF5SW50ZXJuYWxfSVBJ
KQ0KKysgKHZvaWQpX2ludmFsaWRhdGVBY2Nlc3NpYmlsaXR5RGlzcGxheVZhbHVlczsNCitAZW5k
DQorDQogQGludGVyZmFjZSBOU0luc3BlY3RvckJhciAoSVBJKQ0KIC0gKHZvaWQpX3VwZGF0ZTsN
CiBAZW5kDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcA0KaW5kZXggZWMyMmI2NjgyZmU3Li42
ZDAzN2VkMTU0YWQgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcA0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHANCkBAIC01Niw2ICs1
Niw3IEBADQogI2luY2x1ZGUgIldlYlBhZ2UuaCINCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJv
eHkuaCINCiAjaW5jbHVkZSAiV2ViUGFnZU92ZXJsYXkuaCINCisjaW5jbHVkZSAiV2ViUHJvY2Vz
cy5oIg0KICNpbmNsdWRlIDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4NCiAjaW5jbHVkZSA8V2Vi
Q29yZS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmg+DQogI2luY2x1ZGUgPFdlYkNvcmUv
QXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4NCkBAIC0yMzAsNiArMjMxLDE2IEBAIHZvaWQgV0tC
dW5kbGVQYWdlSW5zZXJ0TmV3bGluZUluUXVvdGVkQ29udGVudChXS0J1bmRsZVBhZ2VSZWYgcGFn
ZVJlZikNCiAgICAgV2ViS2l0Ojp0b0ltcGwocGFnZVJlZiktPmluc2VydE5ld2xpbmVJblF1b3Rl
ZENvbnRlbnQoKTsNCiB9DQogDQordm9pZCBXS0FjY2Vzc2liaWxpdHlUZXN0aW5nSW5qZWN0UHJl
ZmVyZW5jZShXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpDQor
ew0KKyAgICBpZiAoIXBhZ2VSZWYpDQorICAgICAgICByZXR1cm47DQorICAgIA0KKyNpZiBFTkFC
TEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkNCisgICAgV2ViS2l0OjpXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5ub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1ZSk7
DQorI2VuZGlmDQorfQ0KKw0KIHZvaWQqIFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QoV0tCdW5k
bGVQYWdlUmVmIHBhZ2VSZWYpDQogew0KICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkNCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaA0KaW5kZXggYTIwMDg4MWRkMDgyLi5jNjFm
OGMyOTc5MTUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oDQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oDQpAQCAt
OTYsNiArOTYsNyBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VDYW5TaG93TUlNRVR5cGUo
V0tCdW5kbGVQYWdlUmVmLCBXS1N0cmluZ1JlZiBtaW1lVHlwZQ0KIFdLX0VYUE9SVCB2b2lkKiBX
S0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZik7DQogV0tfRVhQT1JUIHZv
aWQqIFdLQWNjZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QoV0tCdW5kbGVQYWdlUmVmKTsNCiBXS19F
WFBPUlQgYm9vbCBXS0FjY2Vzc2liaWxpdHlDYW5Vc2VTZWNvbmRhcnlBWFRocmVhZChXS0J1bmRs
ZVBhZ2VSZWYpOw0KK1dLX0VYUE9SVCB2b2lkIFdLQWNjZXNzaWJpbGl0eVRlc3RpbmdJbmplY3RQ
cmVmZXJlbmNlKFdLQnVuZGxlUGFnZVJlZiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0
cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpOw0KIA0KIFdL
X0VYUE9SVCB2b2lkIFdLQWNjZXNzaWJpbGl0eUVuYWJsZUVuaGFuY2VkQWNjZXNzaWJpbGl0eShi
b29sKTsNCiBXS19FWFBPUlQgYm9vbCBXS0FjY2Vzc2liaWxpdHlFbmhhbmNlZEFjY2Vzc2liaWxp
dHlFbmFibGVkKCk7DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0NCmluZGV4IGY1NzIzY2UxNTc0MS4uYzhkNDA0YWI4YThlIDEwMDY0NA0K
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQ0K
QEAgLTEzMSw2ICsxMzEsNyBAQA0KICNlbmRpZg0KIA0KICNpZiBQTEFURk9STShNQUMpDQorI2lt
cG9ydCAiQXBwS2l0U1BJLmgiDQogI2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dE1hYy5oIg0KICNpbXBvcnQgIldlYlN3aXRjaGluZ0dQVUNsaWVudC5oIg0KICNpbXBvcnQgPFdl
YkNvcmUvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xNYW5hZ2VyLmg+DQpAQCAtMTA3MCw5ICsxMDcx
LDkgQEAgc3RhdGljIGNvbnN0IFdURjo6U3RyaW5nJiB1c2VySGlnaGxpZ2h0Q29sb3JQcmVmZXJl
bmNlS2V5KCkNCiAgICAgcmV0dXJuIHVzZXJIaWdobGlnaHRDb2xvclByZWZlcmVuY2VLZXk7DQog
fQ0KIA0KLXN0YXRpYyBjb25zdCBXVEY6OlN0cmluZyYgcmVkdWNlTW90aW9uUHJlZmVyZW5jZUtl
eSgpDQorc3RhdGljIGNvbnN0IFdURjo6U3RyaW5nJiBpbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5
KCkNCiB7DQotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxXVEY6OlN0cmluZz4ga2V5KE1BS0Vf
U1RBVElDX1NUUklOR19JTVBMKCJyZWR1Y2VNb3Rpb24iKSk7DQorICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxXVEY6OlN0cmluZz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJ3aGl0ZU9u
QmxhY2siKSk7DQogICAgIHJldHVybiBrZXk7DQogfQ0KICNlbmRpZg0KQEAgLTEwOTMsOSArMTA5
NCw2IEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZl
cmVuY2VDaGFuZ2UoY29uc3QgU3RyaW5nJiBrZXkpDQogICAgICAgICBhdXRvIG5vdGlmaWNhdGlv
bkNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsNCiAgICAgICAg
IFtub3RpZmljYXRpb25DZW50ZXIgcG9zdE5vdGlmaWNhdGlvbk5hbWU6QCJOU1N5c3RlbUNvbG9y
c1dpbGxDaGFuZ2VOb3RpZmljYXRpb24iIG9iamVjdDpuaWxdOw0KICAgICAgICAgW25vdGlmaWNh
dGlvbkNlbnRlciBwb3N0Tm90aWZpY2F0aW9uTmFtZTpOU1N5c3RlbUNvbG9yc0RpZENoYW5nZU5v
dGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsNCi0gICAgfSBlbHNlIGlmIChrZXkgPT0gcmVkdWNlTW90
aW9uUHJlZmVyZW5jZUtleSgpKSB7DQotICAgICAgICBhdXRvIG5vdGlmaWNhdGlvbkNlbnRlciA9
IENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGlzdHJpYnV0ZWRDZW50ZXIoKTsNCi0gICAgICAgIENG
Tm90aWZpY2F0aW9uQ2VudGVyUG9zdE5vdGlmaWNhdGlvbihub3RpZmljYXRpb25DZW50ZXIsIGtB
WEludGVyZmFjZVJlZHVjZU1vdGlvblN0YXR1c0RpZENoYW5nZU5vdGlmaWNhdGlvbiwgbnVsbHB0
ciwgbnVsbHB0ciwgdHJ1ZSk7DQogICAgIH0NCiAjZW5kaWYNCiB9DQpAQCAtMTEyNyw2ICsxMTI1
LDEyIEBAIHN0YXRpYyB2b2lkIHNldFByZWZlcmVuY2VWYWx1ZShjb25zdCBTdHJpbmcmIGRvbWFp
biwgY29uc3QgU3RyaW5nJiBrZXksIGlkIHZhbHVlDQogICAgICAgICAgICAgX0FYU1VwZGF0ZVdl
YkFjY2Vzc2liaWxpdHlTZXR0aW5nc1B0cigpKCk7DQogICAgIH0NCiAjZW5kaWYNCisgICAgDQor
I2lmIFVTRShBUFBLSVQpDQorICAgIGF1dG8gY2ZLZXkgPSBrZXkuY3JlYXRlQ0ZTdHJpbmcoKTsN
CisgICAgaWYgKENGRXF1YWwoY2ZLZXkuZ2V0KCksIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktl
eSkgfHwgQ0ZFcXVhbChjZktleS5nZXQoKSwga0FYSW50ZXJmYWNlSW5jcmVhc2VDb250cmFzdEtl
eSkgfHwga2V5ID09IGludmVydENvbG9yc1ByZWZlcmVuY2VLZXkoKSkNCisgICAgICAgIFtOU1dv
cmtzcGFjZSBfaW52YWxpZGF0ZUFjY2Vzc2liaWxpdHlEaXNwbGF5VmFsdWVzXTsNCisjZW5kaWYN
CiB9DQogDQogdm9pZCBXZWJQcm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3Qg
U3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBPcHRpb25hbDxTdHJpbmc+
JiBlbmNvZGVkVmFsdWUpDQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nDQppbmRleCAxMDE3Yjg0OGQ2ZjcuLmU1ZWRkYzRkYTFkZSAxMDA2NDQNCi0tLSBhL1Rv
b2xzL0NoYW5nZUxvZw0KKysrIGIvVG9vbHMvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDE3IEBADQor
MjAyMS0wNS0yMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPg0KKw0KKyAg
ICAgICAgQVg6IFNldHRpbmdzOiBJbmNyZWFzZSBjb250cmFzdCBpc24ndCBkZXRlY3RlZCBpbiBi
cm93c2VyIHVudGlsIGFuIGFkZGl0aW9uYWwgc2V0dGluZyBpcyBhcHBsaWVkDQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1OTA5DQorDQorICAgICAg
ICBSZXZpZXdlZCBieSBQZXIgQXJuZSBWb2xsYW4uDQorDQorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwOg0KKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVm
ZXJlbmNlKToNCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5oOg0KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmlkbDoNCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXJNYWMubW06DQorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5q
ZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UpOg0KKw0KIDIwMjEtMDUtMTAgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4NCiANCiAgICAgICAgIFVzZSBub24tdGhyb3dpbmcgc3RkOjpm
aWxlc3lzdGVtIEFQSSBpbiBUZXN0UnVubmVyDQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5o
DQppbmRleCBkZDFjNjgxOWVlMDAuLjQzNWZiNDBlOGVhOCAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaA0K
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5oDQpAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6DQogDQogICAgIGJvb2wgYWRk
Tm90aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNrKTsNCiAgICAg
Ym9vbCByZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpOw0KKyAgICB2b2lkIGluamVjdEFjY2Vz
c2liaWxpdHlQcmVmZXJlbmNlKEpTU3RyaW5nUmVmIGRvbWFpbiwgSlNTdHJpbmdSZWYga2V5LCBK
U1N0cmluZ1JlZiB2YWx1ZSk7DQogDQogICAgIC8vIEhlcmUgZm9yIGNvbnNpc3RlbmN5IHdpdGgg
RFJULiBOb3QgaW1wbGVtZW50ZWQgYmVjYXVzZSB0aGV5IGRvbid0IGRvIGFueXRoaW5nIG9uIHRo
ZSBNYWMuDQogICAgIHZvaWQgbG9nRm9jdXNFdmVudHMoKSB7IH0NCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsDQppbmRleCBhYTMyNjU1YjJkMWMuLjJm
ZGFhMGNhNTliZCAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaWRsDQorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmlkbA0KQEAgLTM0LDYgKzM0LDcgQEANCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQgZm9jdXNlZEVsZW1lbnQ7DQogICAgIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQgZWxlbWVudEF0UG9pbnQobG9uZyB4LCBsb25nIHkpOw0KICAgICBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50IGFjY2Vzc2libGVFbGVtZW50QnlJZChET01TdHJpbmcgaWQpOw0KKyAgICB1
bmRlZmluZWQgaW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoRE9NU3RyaW5nIGRvbWFpbiwg
RE9NU3RyaW5nIGtleSwgRE9NU3RyaW5nIHZhbHVlKTsNCiAgICAgDQogICAgIGJvb2xlYW4gYWRk
Tm90aWZpY2F0aW9uTGlzdGVuZXIob2JqZWN0IGZ1bmN0aW9uQ2FsbGJhY2spOw0KICAgICBib29s
ZWFuIHJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJB
dGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwDQppbmRleCA4ZjY3YzNlMzM0MjkuLjhjMmFkYWMxOTAw
OCAxMDA2NDQNCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcA0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwDQpA
QCAtMTAwLDYgKzEwMCwxMCBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXI6OnBsYXRmb3JtTmFtZSgpDQogICAgIHJldHVybiBwbGF0Zm9ybU5hbWU7DQog
fQ0KIA0KK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQ
cmVmZXJlbmNlKEpTU3RyaW5nUmVmIGRvbWFpbiwgSlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1Jl
ZiB2YWx1ZSkNCit7DQorfQ0KKw0KIFJlZjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQ0KIHsNCiAgICAgV0tCdW5kbGVQYWdlUmVm
IHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7DQpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQ0KaW5kZXggYzk4YjllOTk2
Y2QxLi4xYzg1MGRjYzA3M2IgMTAwNjQ0DQotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbQ0KKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXJJT1MubW0NCkBAIC04OCw2ICs4OCwxMCBAQCBzdGF0aWMgaWQgZmluZEFjY2Vzc2libGVP
YmplY3RCeUlkKGlkIG9iaiwgTlNTdHJpbmcgKmlkQXR0cmlidXRlKQ0KICAgICByZXR1cm4gbmls
Ow0KIH0NCiANCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZShKU1N0cmluZ1JlZiwgSlNTdHJpbmdSZWYsIEpTU3RyaW5nUmVmKQ0KK3sN
Cit9DQorDQogUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYgaWRBdHRyaWJ1dGUpDQog
ew0KICAgICBhdXRvIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5w
YWdlKCk7DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQ0KaW5k
ZXggYTg4N2RlNWM4NWQ1Li40MDRlNTBjYjcxZjAgMTAwNjQ0DQotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5t
bQ0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJNYWMubW0NCkBAIC05NSw2ICs5NSwxNCBAQCBzdGF0aWMgaWQgZmlu
ZEFjY2Vzc2libGVPYmplY3RCeUlkKGlkIG9iaiwgTlNTdHJpbmcgKmlkQXR0cmlidXRlKQ0KICAg
ICByZXR1cm4gbnVsbHB0cjsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6
aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9tYWluLCBKU1N0cmlu
Z1JlZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKQ0KK3sNCisgICAgTlNOdW1iZXIgKm51bWJlclZh
bHVlID0gQChbW05TU3RyaW5nIHN0cmluZ1dpdGhKU1N0cmluZ1JlZjp2YWx1ZV0gaW50ZWdlclZh
bHVlXSk7DQorICAgIE5TRGF0YSAqZW5jb2RlZERhdGEgPSBbTlNLZXllZEFyY2hpdmVyIGFyY2hp
dmVkRGF0YVdpdGhSb290T2JqZWN0Om51bWJlclZhbHVlIHJlcXVpcmluZ1NlY3VyZUNvZGluZzpZ
RVMgZXJyb3I6bmlsXTsNCisgICAgTlNTdHJpbmcgKmVuY29kZWRTdHJpbmcgPSBbZW5jb2RlZERh
dGEgYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdOw0KKyAgICBXS0FjY2Vzc2liaWxp
dHlUZXN0aW5nSW5qZWN0UHJlZmVyZW5jZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFn
ZSgpLT5wYWdlKCksIHRvV1RGU3RyaW5nKGRvbWFpbiksIHRvV1RGU3RyaW5nKGtleSksIChTdHJp
bmcpZW5jb2RlZFN0cmluZyk7DQorfQ0KKw0KIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5n
UmVmIGlkQXR0cmlidXRlKQ0KIHsNCiAgICAgYXV0byBwYWdlID0gSW5qZWN0ZWRCdW5kbGU6OnNp
bmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpOw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyV2luLmNwcA0KaW5kZXggNzU1MDVkYTE0MDkwLi45MDA1YmYwMTY5MTEgMTAwNjQ0
DQotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcldpbi5jcHANCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcA0KQEAgLTUwLDYg
KzUwLDExIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6cGxhdGZvcm1OYW1lKCkNCiAgICAgcmV0dXJuIG51bGxwdHI7DQogfQ0KIA0KK3ZvaWQgQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3Ry
aW5nUmVmIGRvbWFpbiwgSlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1ZSkNCit7DQor
ICAgIG5vdEltcGxlbWVudGVkKCk7DQorfQ0KKw0KIFJlZjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQ0KIHsNCiAgICAgbm90SW1w
bGVtZW50ZWQoKTsNCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429538</attachid>
            <date>2021-05-24 09:27:36 -0700</date>
            <delta_ts>2021-05-24 15:27:11 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_225909.txt</filename>
            <type>text/plain</type>
            <size>22205</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
Zw0KaW5kZXggODllZjliMTM0ZDk3Li41ZjdkMjc5YmU4MjkgMTAwNjQ0DQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx
MyBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4N
CisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0
ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0K
KyAgICAgICAgUmV2aWV3ZWQgYnkgUGVyIEFybmUgVm9sbGFuLg0KKw0KKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9tZWRpYS1xdWVyeS12YWx1ZXMtY2hhbmdlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuDQorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFu
Z2UuaHRtbDogQWRkZWQuDQorDQogMjAyMS0wNS0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPg0KIA0KICAgICAgICAgWyBtYWNPUyBSZWxlYXNlIHdrMiBdIGh0dHAvdGVzdHMvY2Fj
aGUtc3RvcmFnZS9jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Lmh0dHBzLmh0bWwgaXMgZmxha3kg
Y3Jhc2hpbmcNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9tZWRp
YS1xdWVyeS12YWx1ZXMtY2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0DQpuZXcgZmls
ZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi40MTUyMGI0MDJjZDgNCi0tLSAvZGV2
L251bGwNCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZh
bHVlcy1jaGFuZ2UtZXhwZWN0ZWQudHh0DQpAQCAtMCwwICsxLDE5IEBADQorbm8gY29udHJhc3QN
CitubyBtb3Rpb24NCitUaGlzIHRlc3RzIHRoYXQgQ1NTIEFjY2Vzc2liaWxpdHkgbWVkaWEgcXVl
cmllcyBnZXQgdXBkYXRlcyB3aGVuIHNldHRpbmdzIGNoYW5nZQ0KKw0KK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4NCisNCisNCitQQVNTIGRlZmF1bHRWaXNpYmlsaXR5IGlzICd2aXNpYmxlJw0K
K1BBU1MgdXBkYXRlZFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQQVNTIGRlZmF1bHRWaXNpYmls
aXR5IGlzICd2aXNpYmxlJw0KK1BBU1MgdXBkYXRlZFZpc2liaWxpdHkgaXMgJ2hpZGRlbicNCitQ
QVNTIGRlZmF1bHRWaXNpYmlsaXR5IGlzICdoaWRkZW4nDQorUEFTUyB1cGRhdGVkVmlzaWJpbGl0
eSBpcyAndmlzaWJsZScNCitQQVNTIGRlZmF1bHRWaXNpYmlsaXR5IGlzICdoaWRkZW4nDQorUEFT
UyB1cGRhdGVkVmlzaWJpbGl0eSBpcyAndmlzaWJsZScNCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlDQorDQorVEVTVCBDT01QTEVURQ0KKw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbCBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbA0K
bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uY2E1M2Y2M2RjNTc4DQot
LS0gL2Rldi9udWxsDQorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9tZWRpYS1x
dWVyeS12YWx1ZXMtY2hhbmdlLmh0bWwNCkBAIC0wLDAgKzEsMTA2IEBADQorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPg0KKzxodG1sPg0KKzxoZWFkPg0KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pg0KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2Ny
aXB0Pg0KKzxzdHlsZT4NCisNCisgICAgQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBuby1wcmVm
ZXJlbmNlKSB7DQorICAgICAgICAuY29udHJhc3RObyB7DQorICAgICAgICAgICAgdmlzaWJpbGl0
eTogdmlzaWJsZTsNCisgICAgICAgIH0NCisgICAgICAgIC5jb250cmFzdE1vcmUgew0KKyAgICAg
ICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCisgICAgICAgIH0NCisgICAgfQ0KKyAgICBAbWVk
aWEgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIHsNCisgICAgICAgIC5jb250cmFzdE5vIHsNCisg
ICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgICAgICB9DQorICAgICAgICAuY29u
dHJhc3RNb3JlIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KKyAgICAgICAg
fQ0KKyAgICB9DQorDQorICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJl
ZmVyZW5jZSkgew0KKyAgICAgICAgLm1vdGlvbk5vIHsNCisgICAgICAgICAgIHZpc2liaWxpdHk6
IHZpc2libGU7DQorICAgICAgICB9DQorICAgICAgICAubW90aW9uUmVkdWNlIHsNCisgICAgICAg
ICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgICAgICB9DQorICAgIH0NCisgICAgQG1lZGlh
IChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsNCisgICAgICAgIC5tb3Rpb25ObyB7
DQorICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KKyAgICAgICAgfQ0KKyAgICAgICAg
Lm1vdGlvblJlZHVjZSB7DQorICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCisgICAg
ICAgIH0NCisgICAgfQ0KKw0KKzwvc3R5bGU+DQorPC9oZWFkPg0KKzxib2R5Pg0KKw0KKzxkaXYg
aWQ9Im5vLWNvbnRyYXN0IiBjbGFzcz0iY29udHJhc3RObyI+bm8gY29udHJhc3Q8L2Rpdj4NCis8
ZGl2IGlkPSJtb3JlLWNvbnRyYXN0IiBjbGFzcz0iY29udHJhc3RNb3JlIj5tb3JlPC9kaXY+DQor
DQorPGRpdiBpZD0ibm8tbW90aW9uIiBjbGFzcz0ibW90aW9uTm8iPm5vIG1vdGlvbjwvZGl2Pg0K
KzxkaXYgaWQ9InJlZHVjZS1tb3Rpb24iIGNsYXNzPSJtb3Rpb25SZWR1Y2UiPnJlZHVjZTwvZGl2
Pg0KKw0KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPg0KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
Pg0KKw0KKzxzY3JpcHQ+DQorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgQ1NTIEFj
Y2Vzc2liaWxpdHkgbWVkaWEgcXVlcmllcyBnZXQgdXBkYXRlcyB3aGVuIHNldHRpbmdzIGNoYW5n
ZSIpOw0KKw0KKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7DQorDQorICAgIGZ1bmN0
aW9uIHZpc2liaWxpdHkoZG9tSWQpIHsNCisgICAgICAgIHJldHVybiBnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRvbUlkKSkudmlzaWJpbGl0eTsNCisgICAgfQ0KKw0K
KyAgICB2YXIgZGVmYXVsdFZpc2liaWxpdHk7DQorICAgIHZhciB1cGRhdGVkVmlzaWJpbGl0eTsN
CisgICAgZnVuY3Rpb24gdGVzdFZpc2liaWxpdHkoZGVmYXVsdElkLCB1cGRhdGVkSWQsIGtleSwg
ZW5kVGVzdCkgew0KKyAgICAgICAgZGVmYXVsdFZpc2liaWxpdHkgPSB2aXNpYmlsaXR5KGRlZmF1
bHRJZCk7DQorICAgICAgICB1cGRhdGVkVmlzaWJpbGl0eSA9IHZpc2liaWxpdHkodXBkYXRlZElk
KTsNCisNCisgICAgICAgIHNob3VsZEJlKCJkZWZhdWx0VmlzaWJpbGl0eSIsICIndmlzaWJsZSci
KTsNCisgICAgICAgIHNob3VsZEJlKCJ1cGRhdGVkVmlzaWJpbGl0eSIsICInaGlkZGVuJyIpOw0K
KyAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaW5qZWN0QWNjZXNzaWJpbGl0eVByZWZl
cmVuY2UoImNvbS5hcHBsZS51bml2ZXJzYWxhY2Nlc3MiLCBrZXksICIxIik7DQorDQorICAgICAg
ICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHsNCisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgp
ID0+IHsNCisgICAgICAgICAgICAgICByZXR1cm4gdmlzaWJpbGl0eSh1cGRhdGVkSWQpID09ICd2
aXNpYmxlJzsNCisgICAgICAgICAgICB9KTsNCisNCisgICAgICAgICAgICBkZWZhdWx0VmlzaWJp
bGl0eSA9IHZpc2liaWxpdHkoZGVmYXVsdElkKTsNCisgICAgICAgICAgICB1cGRhdGVkVmlzaWJp
bGl0eSA9IHZpc2liaWxpdHkodXBkYXRlZElkKTsNCisgICAgICAgICAgICBzaG91bGRCZSgiZGVm
YXVsdFZpc2liaWxpdHkiLCAiJ2hpZGRlbiciKTsNCisgICAgICAgICAgICBzaG91bGRCZSgidXBk
YXRlZFZpc2liaWxpdHkiLCAiJ3Zpc2libGUnIik7DQorICAgICAgICAgICAgYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuaW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoImNvbS5hcHBsZS51bml2
ZXJzYWxhY2Nlc3MiLCBrZXksICIwIik7DQorICAgICAgICAgICAgaWYgKGVuZFRlc3QpIHsNCisg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAg
fSwgMCk7DQorICAgIH0NCisNCisgICAgZnVuY3Rpb24gaGFuZGxlQ29udHJhc3QoZW5kVGVzdCkg
ew0KKyAgICAgICAgdGVzdFZpc2liaWxpdHkoIm5vLWNvbnRyYXN0IiwgIm1vcmUtY29udHJhc3Qi
LCAiaW5jcmVhc2VDb250cmFzdCIsIGVuZFRlc3QpOw0KKyAgICB9DQorDQorICAgIGZ1bmN0aW9u
IGhhbmRsZU1vdGlvbihlbmRUZXN0KSB7DQorICAgICAgICB0ZXN0VmlzaWJpbGl0eSgibm8tbW90
aW9uIiwgInJlZHVjZS1tb3Rpb24iLCAicmVkdWNlTW90aW9uIiwgZW5kVGVzdCk7DQorICAgIH0N
CisNCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgew0KKyAgICAgICAg
aGFuZGxlQ29udHJhc3QoZmFsc2UpOw0KKyAgICAgICAgaGFuZGxlTW90aW9uKHRydWUpOw0KKyAg
ICB9DQorDQorPC9zY3JpcHQ+DQorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVudS1zZWxlY3Rpb24tbm90aWZpY2F0aW9uLWNy
YXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lbnUtc2Vs
ZWN0aW9uLW5vdGlmaWNhdGlvbi1jcmFzaC1leHBlY3RlZC50eHQNCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjk1ZjdmNTYzMTNjYQ0KLS0tIC9kZXYvbnVsbA0KKysr
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvbWVudS1zZWxlY3Rpb24tbm90aWZpY2F0
aW9uLWNyYXNoLWV4cGVjdGVkLnR4dA0KQEAgLTAsMCArMSwxMyBAQA0KKw0KK1RoaXMgdGVzdHMg
dGhhdCBpbnNlcnRpbmcgYSBub2RlIGludG8gYSBzZWxlY3QgbWVudSB3b24ndCBjYXVzZSBhIGNy
YXNoLg0KKw0KK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4NCisNCisNCitQQVNTIGFkZGVkTm90
aWZpY2F0aW9uIGlzIHRydWUNCittZW51IHJvbGU6IEFYUm9sZTogQVhQb3BVcEJ1dHRvbg0KK05v
dGlmaWNhdGlvbiByZWNlaXZlZCBzdWNjZXNzZnVsbHkuDQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQ0KKw0KK1RFU1QgQ09NUExFVEUNCisNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L21hYy9tZW51LXNlbGVjdGlvbi1ub3RpZmljYXRpb24tY3Jhc2guaHRt
bCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL21lbnUtc2VsZWN0aW9uLW5vdGlmaWNh
dGlvbi1jcmFzaC5odG1sDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAw
Li4xNThiNjE0NmMzOWMNCi0tLSAvZGV2L251bGwNCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbWFjL21lbnUtc2VsZWN0aW9uLW5vdGlmaWNhdGlvbi1jcmFzaC5odG1sDQpAQCAtMCww
ICsxLDQ4IEBADQorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
Pg0KKzxodG1sPg0KKzxoZWFkPg0KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvYWNjZXNz
aWJpbGl0eS1oZWxwZXIuanMiPjwvc2NyaXB0Pg0KKzwvaGVhZD4NCis8Ym9keSBpZD0iYm9keSI+
DQorDQorPGRpdiBpZD0iY29udGVudCI+DQorPHNlbGVjdCBpZD0ibWVudSI+DQorPC9zZWxlY3Q+
DQorPC9kaXY+DQorDQorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+DQorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+DQorDQorPHNjcmlwdD4NCisNCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMg
dGhhdCBpbnNlcnRpbmcgYSBub2RlIGludG8gYSBzZWxlY3QgbWVudSB3b24ndCBjYXVzZSBhIGNy
YXNoLiIpOw0KKw0KKyAgICB2YXIgYXhOb3RpZmljYXRpb25FbGVtZW50ID0gbnVsbDsNCisgICAg
ZnVuY3Rpb24gbm90aWZpY2F0aW9uQ2FsbGJhY2soZWxlbWVudCwgbm90aWZpY2F0aW9uLCBzdGF0
ZSkgew0KKyAgICAgICAgaWYgKG5vdGlmaWNhdGlvbiA9PSAiQVhNZW51SXRlbVNlbGVjdGVkIikg
ew0KKyAgICAgICAgICAgIGRlYnVnKCJOb3RpZmljYXRpb24gcmVjZWl2ZWQgc3VjY2Vzc2Z1bGx5
LiIpOw0KKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOw0KKyAgICAgICAgfQ0KKyAgICB9DQor
DQorICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsNCisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOw0KKyAgICAgICAgdmFyIGFkZGVkTm90aWZpY2F0aW9uID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIobm90aWZpY2F0aW9u
Q2FsbGJhY2spOw0KKyAgICAgICAgc2hvdWxkQmVUcnVlKCJhZGRlZE5vdGlmaWNhdGlvbiIpOw0K
Kw0KKyAgICAgICAgdmFyIG1lbnUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoIm1lbnUiKTsNCisgICAgICAgIGRlYnVnKCJtZW51IHJvbGU6ICIgKyBtZW51
LnJvbGUpOw0KKyAgICAgICAgDQorICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KKyAg
ICAgICAgICAgIHZhciBvcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsNCisg
ICAgICAgICAgICBvcHQudmFsdWUgPSAiYyI7DQorICAgICAgICAgICAgb3B0LmlubmVySFRNTCA9
ICJjIjsNCisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVudSIpLmFwcGVu
ZENoaWxkKG9wdCk7DQorICAgICAgICB9LCAwKTsNCisgICAgfQ0KKw0KKzwvc2NyaXB0Pg0KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4NCis8
L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1j
YXRhbGluYS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFs
aW5hL1Rlc3RFeHBlY3RhdGlvbnMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw
MDAwMDAuLmQ4YTczMWM3NjlkNw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLWNhdGFsaW5hL1Rlc3RFeHBlY3RhdGlvbnMNCkBAIC0wLDAgKzEsNSBAQA0KKyMv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisjIFBsYXRmb3JtLXNwZWNpZmljIHRl
c3RzLiBFbmFibGVkIGdsb2JhbGx5LCB0aGVuIHNraXBwZWQgaGVyZS4NCisjLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vDQorDQorYWNjZXNzaWJpbGl0eS9tYWMvbWVkaWEtcXVlcnkt
dmFsdWVzLWNoYW5nZS5odG1sIFsgU2tpcCBdDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zDQppbmRleCA4YmMyODM2ZTRhNjkuLjViYmU4MGE5YjEyZCAx
MDA2NDQNCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cw0KKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zDQpA
QCAtMjEyLDYgKzIxMiw3IEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L25hdmlnYXRlLXNlbGYtdG8tZGF0YS11cmwuaHRtbCBbIFNraXANCiANCiAjIENvbG9yIHdl
bGwgaXMgdHVybmVkIG9mZi4NCiBhY2Nlc3NpYmlsaXR5L2NvbG9yLXdlbGwuaHRtbCBbIFNraXAg
XQ0KK2FjY2Vzc2liaWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbCBbIFNr
aXAgXQ0KIGVkaXRpbmcvcGFzdGVib2FyZC9kcmFnLWFuZC1kcm9wLWNvbG9yLWlucHV0LWV2ZW50
cy5odG1sIFsgU2tpcCBdDQogZWRpdGluZy9wYXN0ZWJvYXJkL2RyYWctYW5kLWRyb3AtY29sb3It
aW5wdXQuaHRtbCBbIFNraXAgXQ0KIGZhc3QvY3NzL3BzZXVkby12aXNpdGVkLWJhY2tncm91bmQt
Y29sb3Itb24taW5wdXQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQ0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
DQppbmRleCAxZDY0MzQ1YTNhZTIuLjI3ODFiMDEwZjdhNiAxMDA2NDQNCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cNCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cN
CkBAIC0xLDMgKzEsMTIgQEANCisyMDIxLTA1LTIwICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+DQorDQorICAgICAgICBBWDogU2V0dGluZ3M6IEluY3JlYXNlIGNvbnRyYXN0
IGlzbid0IGRldGVjdGVkIGluIGJyb3dzZXIgdW50aWwgYW4gYWRkaXRpb25hbCBzZXR0aW5nIGlz
IGFwcGxpZWQNCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjU5MDkNCisNCisgICAgICAgIFJldmlld2VkIGJ5IFBlciBBcm5lIFZvbGxhbi4NCisNCisg
ICAgICAgICogcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oOg0KKw0KIDIwMjEtMDUtMTAgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+DQogDQogICAgICAgICBbbWFjT1Nd
IEFsbG93IGltbWVkaWF0ZSBhY3Rpb24gZ2VzdHVyZXMgdG8gYmVnaW4gd2hlbiBmb3JjZSBjbGlj
a2luZyB0ZXh0IGluc2lkZSBpbWFnZSBvdmVybGF5cw0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oDQppbmRleCBiY2E4Mjk5MmE4OTQuLmI4ZGYwYTFi
Y2M4OSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZp
Y2VzU1BJLmgNCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2Vz
U1BJLmgNCkBAIC0xNTIsNiArMTUyLDggQEAgdm9pZCBfQVhTZXRDbGllbnRJZGVudGlmaWNhdGlv
bk92ZXJyaWRlKEFYQ2xpZW50VHlwZSk7DQogZXh0ZXJuIENGU3RyaW5nUmVmIGtBWEludGVyZmFj
ZVJlZHVjZU1vdGlvbktleTsNCiBleHRlcm4gQ0ZTdHJpbmdSZWYga0FYSW50ZXJmYWNlUmVkdWNl
TW90aW9uU3RhdHVzRGlkQ2hhbmdlTm90aWZpY2F0aW9uOw0KIA0KK2V4dGVybiBDRlN0cmluZ1Jl
ZiBrQVhJbnRlcmZhY2VJbmNyZWFzZUNvbnRyYXN0S2V5Ow0KKw0KIFdURl9FWFRFUk5fQ19FTkQN
CiANCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykNCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nDQppbmRleCBkMTFh
ZTVlNjA5N2UuLjkxMTc2NWRlNGE2MSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nDQorKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZw0KQEAgLTEsMyArMSwyNSBAQA0KKzIw
MjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4NCisNCisgICAg
ICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3QgaXNuJ3QgZGV0ZWN0ZWQgaW4gYnJv
d3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMgYXBwbGllZA0KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTkwOQ0KKw0KKyAgICAgICAg
UmV2aWV3ZWQgYnkgUGVyIEFybmUgVm9sbGFuLg0KKw0KKyAgICAgICAgVGVzdHM6IGFjY2Vzc2li
aWxpdHkvbWFjL21lZGlhLXF1ZXJ5LXZhbHVlcy1jaGFuZ2UuaHRtbA0KKw0KKyAgICAgICAgMSkg
V2ViQ29udGVudCBibG9ja3MgYWNjZXNzIHRvIGRpc3RyaWJ1dGVkIG5vdGlmaWNhdGlvbiBjZW50
ZXIsIHNvIHdlIGNhbid0IHJlbHkgb24gdGhhdCB0byByZS1wb3N0IG5vdGlmaWNhdGlvbnMNCisg
ICAgICAgIDIpIEFwcEtpdCBjYWNoZXMgdGhlIHZhbHVlcyBvZiB0aGVzZSBBWCBzZXR0aW5ncywg
c28gd2UgbmVlZCB0byBpbnZhbGlkYXRlIHRoYXQgY2FjaGUgZGlyZWN0bHkNCisNCisgICAgICAg
ICogUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaDoNCisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOg0KKyAgICAgICAgKFdLQWNjZXNz
aWJpbGl0eVRlc3RpbmdJbmplY3RQcmVmZXJlbmNlKToNCisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmg6DQorICAgICAgICAqIFdl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOg0KKyAgICAgICAgKFdlYktpdDo6aW52
ZXJ0Q29sb3JzUHJlZmVyZW5jZUtleSk6DQorICAgICAgICAoV2ViS2l0OjpkaXNwYXRjaFNpbXVs
YXRlZE5vdGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdlKToNCisgICAgICAgIChXZWJLaXQ6
OnNldFByZWZlcmVuY2VWYWx1ZSk6DQorICAgICAgICAoV2ViS2l0OjpyZWR1Y2VNb3Rpb25QcmVm
ZXJlbmNlS2V5KTogRGVsZXRlZC4NCisNCiAyMDIxLTA1LTEwICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPg0KIA0KICAgICAgICAgW21hY09TXSBBbGxvdyBpbW1lZGlhdGUg
YWN0aW9uIGdlc3R1cmVzIHRvIGJlZ2luIHdoZW4gZm9yY2UgY2xpY2tpbmcgdGV4dCBpbnNpZGUg
aW1hZ2Ugb3ZlcmxheXMNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9t
YWMvQXBwS2l0U1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJ
LmgNCmluZGV4IDk3ZjRlOTRjZTk3NC4uNjY3ZTk4ZTQzYzJjIDEwMDY0NA0KLS0tIGEvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oDQorKysgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgNCkBAIC01OCw2ICs1OCwxMCBAQCB0eXBlZGVm
IE5TX09QVElPTlMoTlNVSW50ZWdlciwgTlNXaW5kb3dTaGFkb3dPcHRpb25zKSB7DQogDQogI2Vu
ZGlmDQogDQorQGludGVyZmFjZSBOU1dvcmtzcGFjZSAoTlNXb3Jrc3BhY2VBY2Nlc3NpYmlsaXR5
RGlzcGxheUludGVybmFsX0lQSSkNCisrICh2b2lkKV9pbnZhbGlkYXRlQWNjZXNzaWJpbGl0eURp
c3BsYXlWYWx1ZXM7DQorQGVuZA0KKw0KIEBpbnRlcmZhY2UgTlNJbnNwZWN0b3JCYXIgKElQSSkN
CiAtICh2b2lkKV91cGRhdGU7DQogQGVuZA0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHANCmlu
ZGV4IGVjMjJiNjY4MmZlNy4uNmQwMzdlZDE1NGFkIDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHANCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2UuY3BwDQpAQCAtNTYsNiArNTYsNyBAQA0KICNpbmNsdWRlICJXZWJQYWdlLmgiDQogI2luY2x1
ZGUgIldlYlBhZ2VHcm91cFByb3h5LmgiDQogI2luY2x1ZGUgIldlYlBhZ2VPdmVybGF5LmgiDQor
I2luY2x1ZGUgIldlYlByb2Nlc3MuaCINCiAjaW5jbHVkZSA8V2ViQ29yZS9BWE9iamVjdENhY2hl
Lmg+DQogI2luY2x1ZGUgPFdlYkNvcmUvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oPg0K
ICNpbmNsdWRlIDxXZWJDb3JlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg+DQpAQCAtMjMwLDYg
KzIzMSwxNiBAQCB2b2lkIFdLQnVuZGxlUGFnZUluc2VydE5ld2xpbmVJblF1b3RlZENvbnRlbnQo
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpDQogICAgIFdlYktpdDo6dG9JbXBsKHBhZ2VSZWYpLT5p
bnNlcnROZXdsaW5lSW5RdW90ZWRDb250ZW50KCk7DQogfQ0KIA0KK3ZvaWQgV0tBY2Nlc3NpYmls
aXR5VGVzdGluZ0luamVjdFByZWZlcmVuY2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0
IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgT3B0aW9uYWw8U3RyaW5n
PiYgZW5jb2RlZFZhbHVlKQ0KK3sNCisgICAgaWYgKCFwYWdlUmVmKQ0KKyAgICAgICAgcmV0dXJu
Ow0KKyAgICANCisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpDQorICAgIFdlYktpdDo6
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGRvbWFpbiwg
a2V5LCBlbmNvZGVkVmFsdWUpOw0KKyNlbmRpZg0KK30NCisNCiB2b2lkKiBXS0FjY2Vzc2liaWxp
dHlSb290T2JqZWN0KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQ0KIHsNCiAjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgNCmluZGV4
IGEyMDA4ODFkZDA4Mi4uYzYxZjhjMjk3OTE1IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaA0KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaA0KQEAgLTk2LDYgKzk2LDcgQEAgV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVQ
YWdlQ2FuU2hvd01JTUVUeXBlKFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYgbWltZVR5cGUN
CiBXS19FWFBPUlQgdm9pZCogV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChXS0J1bmRsZVBhZ2VS
ZWYpOw0KIFdLX0VYUE9SVCB2b2lkKiBXS0FjY2Vzc2liaWxpdHlGb2N1c2VkT2JqZWN0KFdLQnVu
ZGxlUGFnZVJlZik7DQogV0tfRVhQT1JUIGJvb2wgV0tBY2Nlc3NpYmlsaXR5Q2FuVXNlU2Vjb25k
YXJ5QVhUaHJlYWQoV0tCdW5kbGVQYWdlUmVmKTsNCitXS19FWFBPUlQgdm9pZCBXS0FjY2Vzc2li
aWxpdHlUZXN0aW5nSW5qZWN0UHJlZmVyZW5jZShXS0J1bmRsZVBhZ2VSZWYsIGNvbnN0IFN0cmlu
ZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgT3B0aW9uYWw8U3RyaW5nPiYgZW5j
b2RlZFZhbHVlKTsNCiANCiBXS19FWFBPUlQgdm9pZCBXS0FjY2Vzc2liaWxpdHlFbmFibGVFbmhh
bmNlZEFjY2Vzc2liaWxpdHkoYm9vbCk7DQogV0tfRVhQT1JUIGJvb2wgV0tBY2Nlc3NpYmlsaXR5
RW5oYW5jZWRBY2Nlc3NpYmlsaXR5RW5hYmxlZCgpOw0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tDQppbmRleCBmNTcyM2NlMTU3NDEuLmM4
ZDQwNGFiOGE4ZSAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0NCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0NCkBAIC0xMzEsNiArMTMxLDcgQEANCiAjZW5kaWYNCiANCiAjaWYg
UExBVEZPUk0oTUFDKQ0KKyNpbXBvcnQgIkFwcEtpdFNQSS5oIg0KICNpbXBvcnQgIldLQWNjZXNz
aWJpbGl0eVdlYlBhZ2VPYmplY3RNYWMuaCINCiAjaW1wb3J0ICJXZWJTd2l0Y2hpbmdHUFVDbGll
bnQuaCINCiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlci5o
Pg0KQEAgLTEwNzAsOSArMTA3MSw5IEBAIHN0YXRpYyBjb25zdCBXVEY6OlN0cmluZyYgdXNlckhp
Z2hsaWdodENvbG9yUHJlZmVyZW5jZUtleSgpDQogICAgIHJldHVybiB1c2VySGlnaGxpZ2h0Q29s
b3JQcmVmZXJlbmNlS2V5Ow0KIH0NCiANCi1zdGF0aWMgY29uc3QgV1RGOjpTdHJpbmcmIHJlZHVj
ZU1vdGlvblByZWZlcmVuY2VLZXkoKQ0KK3N0YXRpYyBjb25zdCBXVEY6OlN0cmluZyYgaW52ZXJ0
Q29sb3JzUHJlZmVyZW5jZUtleSgpDQogew0KLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8V1RG
OjpTdHJpbmc+IGtleShNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgicmVkdWNlTW90aW9uIikpOw0K
KyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8V1RGOjpTdHJpbmc+IGtleShNQUtFX1NUQVRJQ19T
VFJJTkdfSU1QTCgid2hpdGVPbkJsYWNrIikpOw0KICAgICByZXR1cm4ga2V5Ow0KIH0NCiAjZW5k
aWYNCkBAIC0xMDkzLDkgKzEwOTQsNiBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaFNpbXVsYXRlZE5v
dGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdlKGNvbnN0IFN0cmluZyYga2V5KQ0KICAgICAg
ICAgYXV0byBub3RpZmljYXRpb25DZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl07DQogICAgICAgICBbbm90aWZpY2F0aW9uQ2VudGVyIHBvc3ROb3RpZmljYXRpb25O
YW1lOkAiTlNTeXN0ZW1Db2xvcnNXaWxsQ2hhbmdlTm90aWZpY2F0aW9uIiBvYmplY3Q6bmlsXTsN
CiAgICAgICAgIFtub3RpZmljYXRpb25DZW50ZXIgcG9zdE5vdGlmaWNhdGlvbk5hbWU6TlNTeXN0
ZW1Db2xvcnNEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07DQotICAgIH0gZWxzZSBp
ZiAoa2V5ID09IHJlZHVjZU1vdGlvblByZWZlcmVuY2VLZXkoKSkgew0KLSAgICAgICAgYXV0byBu
b3RpZmljYXRpb25DZW50ZXIgPSBDRk5vdGlmaWNhdGlvbkNlbnRlckdldERpc3RyaWJ1dGVkQ2Vu
dGVyKCk7DQotICAgICAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclBvc3ROb3RpZmljYXRpb24obm90
aWZpY2F0aW9uQ2VudGVyLCBrQVhJbnRlcmZhY2VSZWR1Y2VNb3Rpb25TdGF0dXNEaWRDaGFuZ2VO
b3RpZmljYXRpb24sIG51bGxwdHIsIG51bGxwdHIsIHRydWUpOw0KICAgICB9DQogI2VuZGlmDQog
fQ0KQEAgLTExMjcsNiArMTEyNSwxMiBAQCBzdGF0aWMgdm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUo
Y29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBpZCB2YWx1ZQ0KICAgICAg
ICAgICAgIF9BWFNVcGRhdGVXZWJBY2Nlc3NpYmlsaXR5U2V0dGluZ3NQdHIoKSgpOw0KICAgICB9
DQogI2VuZGlmDQorICAgIA0KKyNpZiBVU0UoQVBQS0lUKQ0KKyAgICBhdXRvIGNmS2V5ID0ga2V5
LmNyZWF0ZUNGU3RyaW5nKCk7DQorICAgIGlmIChDRkVxdWFsKGNmS2V5LmdldCgpLCBrQVhJbnRl
cmZhY2VSZWR1Y2VNb3Rpb25LZXkpIHx8IENGRXF1YWwoY2ZLZXkuZ2V0KCksIGtBWEludGVyZmFj
ZUluY3JlYXNlQ29udHJhc3RLZXkpIHx8IGtleSA9PSBpbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5
KCkpDQorICAgICAgICBbTlNXb3Jrc3BhY2UgX2ludmFsaWRhdGVBY2Nlc3NpYmlsaXR5RGlzcGxh
eVZhbHVlc107DQorI2VuZGlmDQogfQ0KIA0KIHZvaWQgV2ViUHJvY2Vzczo6bm90aWZ5UHJlZmVy
ZW5jZXNDaGFuZ2VkKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgY29u
c3QgT3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKQ0KZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZw0KaW5kZXggMTAxN2I4NDhkNmY3Li5lNWVkZGM0ZGEx
ZGUgMTAwNjQ0DQotLS0gYS9Ub29scy9DaGFuZ2VMb2cNCisrKyBiL1Rvb2xzL0NoYW5nZUxvZw0K
QEAgLTEsMyArMSwxNyBAQA0KKzIwMjEtMDUtMjAgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNo
QGFwcGxlLmNvbT4NCisNCisgICAgICAgIEFYOiBTZXR0aW5nczogSW5jcmVhc2UgY29udHJhc3Qg
aXNuJ3QgZGV0ZWN0ZWQgaW4gYnJvd3NlciB1bnRpbCBhbiBhZGRpdGlvbmFsIHNldHRpbmcgaXMg
YXBwbGllZA0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNTkwOQ0KKw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgUGVyIEFybmUgVm9sbGFuLg0KKw0KKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmNwcDoNCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmpl
Y3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSk6DQorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaDoNCisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5pZGw6DQorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFj
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tOg0KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKToNCisNCiAyMDIx
LTA1LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+DQogDQogICAgICAgICBVc2Ug
bm9uLXRocm93aW5nIHN0ZDo6ZmlsZXN5c3RlbSBBUEkgaW4gVGVzdFJ1bm5lcg0KZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuaA0KaW5kZXggZGQxYzY4MTllZTAwLi40MzVmYjQwZThlYTggMTAw
NjQ0DQotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmgNCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaA0KQEAgLTc3LDYgKzc3LDcgQEAgcHVibGlj
Og0KIA0KICAgICBib29sIGFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKEpTVmFsdWVSZWYgZnVuY3Rp
b25DYWxsYmFjayk7DQogICAgIGJvb2wgcmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsNCisg
ICAgdm9pZCBpbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZShKU1N0cmluZ1JlZiBkb21haW4s
IEpTU3RyaW5nUmVmIGtleSwgSlNTdHJpbmdSZWYgdmFsdWUpOw0KIA0KICAgICAvLyBIZXJlIGZv
ciBjb25zaXN0ZW5jeSB3aXRoIERSVC4gTm90IGltcGxlbWVudGVkIGJlY2F1c2UgdGhleSBkb24n
dCBkbyBhbnl0aGluZyBvbiB0aGUgTWFjLg0KICAgICB2b2lkIGxvZ0ZvY3VzRXZlbnRzKCkgeyB9
DQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmlkbA0KaW5k
ZXggYWEzMjY1NWIyZDFjLi4yZmRhYTBjYTU5YmQgMTAwNjQ0DQotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmlkbA0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5pZGwNCkBAIC0zNCw2ICszNCw3IEBADQogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGZvY3VzZWRFbGVtZW50Ow0K
ICAgICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGVsZW1lbnRBdFBvaW50KGxvbmcgeCwgbG9uZyB5
KTsNCiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBhY2Nlc3NpYmxlRWxlbWVudEJ5SWQoRE9N
U3RyaW5nIGlkKTsNCisgICAgdW5kZWZpbmVkIGluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNl
KERPTVN0cmluZyBkb21haW4sIERPTVN0cmluZyBrZXksIERPTVN0cmluZyB2YWx1ZSk7DQogICAg
IA0KICAgICBib29sZWFuIGFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKG9iamVjdCBmdW5jdGlvbkNh
bGxiYWNrKTsNCiAgICAgYm9vbGVhbiByZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpOw0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyQXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcA0KaW5kZXggOGY2N2Mz
ZTMzNDI5Li44YzJhZGFjMTkwMDggMTAwNjQ0DQotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHANCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyQXRrLmNwcA0KQEAgLTEwMCw2ICsxMDAsMTAgQEAgSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpwbGF0Zm9ybU5hbWUoKQ0KICAgICByZXR1
cm4gcGxhdGZvcm1OYW1lOw0KIH0NCiANCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpp
bmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZShKU1N0cmluZ1JlZiBkb21haW4sIEpTU3RyaW5n
UmVmIGtleSwgSlNTdHJpbmdSZWYgdmFsdWUpDQorew0KK30NCisNCiBSZWY8QWNjZXNzaWJpbGl0
eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50KCkNCiB7DQog
ICAgIFdLQnVuZGxlUGFnZVJlZiBwYWdlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnBh
Z2UoKS0+cGFnZSgpOw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlDb250cm9sbGVySU9TLm1tIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJJT1Mu
bW0NCmluZGV4IGM5OGI5ZTk5NmNkMS4uMWM4NTBkY2MwNzNiIDEwMDY0NA0KLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXJJT1MubW0NCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9z
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVySU9TLm1tDQpAQCAtODgsNiArODgsMTAgQEAgc3RhdGlj
IGlkIGZpbmRBY2Nlc3NpYmxlT2JqZWN0QnlJZChpZCBvYmosIE5TU3RyaW5nICppZEF0dHJpYnV0
ZSkNCiAgICAgcmV0dXJuIG5pbDsNCiB9DQogDQordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYsIEpTU3RyaW5nUmVm
LCBKU1N0cmluZ1JlZikNCit7DQorfQ0KKw0KIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5n
UmVmIGlkQXR0cmlidXRlKQ0KIHsNCiAgICAgYXV0byBwYWdlID0gSW5qZWN0ZWRCdW5kbGU6OnNp
bmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpOw0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXJNYWMubW0NCmluZGV4IGE4ODdkZTVjODVkNS4uNDA0ZTUwY2I3MWYwIDEwMDY0NA0K
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJNYWMubW0NCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tDQpAQCAtOTUsNiArOTUs
MTQgQEAgc3RhdGljIGlkIGZpbmRBY2Nlc3NpYmxlT2JqZWN0QnlJZChpZCBvYmosIE5TU3RyaW5n
ICppZEF0dHJpYnV0ZSkNCiAgICAgcmV0dXJuIG51bGxwdHI7DQogfQ0KIA0KK3ZvaWQgQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3RyaW5n
UmVmIGRvbWFpbiwgSlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1ZSkNCit7DQorICAg
IE5TTnVtYmVyICpudW1iZXJWYWx1ZSA9IEAoW1tOU1N0cmluZyBzdHJpbmdXaXRoSlNTdHJpbmdS
ZWY6dmFsdWVdIGludGVnZXJWYWx1ZV0pOw0KKyAgICBOU0RhdGEgKmVuY29kZWREYXRhID0gW05T
S2V5ZWRBcmNoaXZlciBhcmNoaXZlZERhdGFXaXRoUm9vdE9iamVjdDpudW1iZXJWYWx1ZSByZXF1
aXJpbmdTZWN1cmVDb2Rpbmc6WUVTIGVycm9yOm5pbF07DQorICAgIE5TU3RyaW5nICplbmNvZGVk
U3RyaW5nID0gW2VuY29kZWREYXRhIGJhc2U2NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9uczowXTsN
CisgICAgV0tBY2Nlc3NpYmlsaXR5VGVzdGluZ0luamVjdFByZWZlcmVuY2UoSW5qZWN0ZWRCdW5k
bGU6OnNpbmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpLCB0b1dURlN0cmluZyhkb21haW4pLCB0b1dU
RlN0cmluZyhrZXkpLCAoU3RyaW5nKWVuY29kZWRTdHJpbmcpOw0KK30NCisNCiBSZWZQdHI8QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVF
bGVtZW50QnlJZChKU1N0cmluZ1JlZiBpZEF0dHJpYnV0ZSkNCiB7DQogICAgIGF1dG8gcGFnZSA9
IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKTsNCmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcldpbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L3dpbi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHANCmluZGV4IDc1NTA1ZGExNDA5MC4u
OTAwNWJmMDE2OTExIDEwMDY0NA0KLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwDQorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cldpbi5jcHANCkBAIC01MCw2ICs1MCwxMSBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnBsYXRmb3JtTmFtZSgpDQogICAgIHJldHVybiBudWxscHRy
Ow0KIH0NCiANCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZShKU1N0cmluZ1JlZiBkb21haW4sIEpTU3RyaW5nUmVmIGtleSwgSlNTdHJp
bmdSZWYgdmFsdWUpDQorew0KKyAgICBub3RJbXBsZW1lbnRlZCgpOw0KK30NCisNCiBSZWY8QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50
KCkNCiB7DQogICAgIG5vdEltcGxlbWVudGVkKCk7DQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>