<?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>98973</bug_id>
          
          <creation_ts>2012-10-10 17:20:37 -0700</creation_ts>
          <short_desc>[CSS Shaders] Reject vertex shaders with custom attributes</short_desc>
          <delta_ts>2012-10-30 09:03:32 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>71392</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Max Vujovic">mvujovic</reporter>
          <assigned_to name="Max Vujovic">mvujovic</assigned_to>
          <cc>achicu</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>eric</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>peter+ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>739427</commentid>
    <comment_count>0</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-10 17:20:37 -0700</bug_when>
    <thetext>An author shouldn&apos;t be able to define custom vertex attributes because there is no way to set them from CSS.

For example, defining built-in attributes is ok:
attribute vec4 a_position;
attribute vec2 a_texCoord;

But defining custom attributes should be an error:
attribute float my_attribute;

Also, we have to be careful with attached vs. detached meshes. &quot;a_triangleCoord&quot; is available only in detached meshes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748745</commentid>
    <comment_count>1</comment_count>
      <attachid>170183</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-23 09:51:16 -0700</bug_when>
    <thetext>Created attachment 170183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748776</commentid>
    <comment_count>2</comment_count>
      <attachid>170183</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-23 10:31:50 -0700</bug_when>
    <thetext>Comment on attachment 170183
Patch

In this patch, I still need to figure out how to get the meshType in CustomFilterValidatedProgram, since a_triangleCoord is a built-in attribute in detached meshes but not in attached meshes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751330</commentid>
    <comment_count>3</comment_count>
      <attachid>170762</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-25 16:15:06 -0700</bug_when>
    <thetext>Created attachment 170762
Patch

Now the patch uses the mesh type to check if a_triangleCoord is a valid attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751334</commentid>
    <comment_count>4</comment_count>
      <attachid>170762</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-25 16:24:34 -0700</bug_when>
    <thetext>Comment on attachment 170762
Patch

Attachment 170762 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14559802</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751349</commentid>
    <comment_count>5</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-10-25 16:50:03 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=170762&amp;action=review

Looks good.

&gt; LayoutTests/css3/filters/resources/invalid-a-triangle-coord-with-attached-mesh.vs:9
&gt; +attribute vec3 a_triangleCoord;
&gt; +
&gt; +attribute vec4 a_position;
&gt; +
&gt; +uniform mat4 u_projectionMatrix;

Remove the empty lines.

&gt; LayoutTests/css3/filters/resources/invalid-custom-attribute.vs:9
&gt; +attribute float my_attribute;
&gt; +
&gt; +attribute vec4 a_position;
&gt; +
&gt; +uniform mat4 u_projectionMatrix;

Ditto.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:-3805
&gt; -		A24A3A9D162499FF00522745 /* CustomFilterConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = A24A3A9C162499FF00522745 /* CustomFilterConstants.h */; };

I think you can revert the xcode changes.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:18251
&gt; -				A24A3A9C162499FF00522745 /* CustomFilterConstants.h */,
&gt; +				A2B2AE7B16375EE500CFA50B /* CustomFilterConstants.h */,

ditto

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22694
&gt; -				A24A3A9D162499FF00522745 /* CustomFilterConstants.h in Headers */,
&gt; +				A2B2AE7C16375EE500CFA50B /* CustomFilterConstants.h in Headers */,

ditto

&gt; Source/WebCore/platform/graphics/filters/CustomFilterProgram.h:63
&gt;      // StyleCustomFilterProgram has the only implementation for the following method. That means, it casts to StyleCustomFilterProgram
&gt; -    // withouth checking the type. If you add another implementation, also add a mechanism to check for the correct type.
&gt; +    // without checking the type. If you add another implementation, also add a mechanism to check for the correct type.

I think this comment is not needed anymore.

&gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:66
&gt; +bool CustomFilterValidatedProgram::validateSymbols(const Vector&lt;ANGLEShaderSymbol&gt;&amp; symbols)

Pass the mesh type as a parameter to keep this static.

&gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:80
&gt; +            if (symbol.name == &quot;a_triangleCoord&quot; &amp;&amp; m_programInfo.meshType() != MeshTypeDetached) {

Why use the != operator instead of == ? We just have two modes at this moment. 

nit: Put the fastest comparison first. It will avoid making the strcmp when not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751384</commentid>
    <comment_count>6</comment_count>
      <attachid>170762</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-10-25 17:59:16 -0700</bug_when>
    <thetext>Comment on attachment 170762
Patch

Attachment 170762 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14544827</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751498</commentid>
    <comment_count>7</comment_count>
      <attachid>170762</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 20:57:45 -0700</bug_when>
    <thetext>Comment on attachment 170762
Patch

Attachment 170762 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14569838</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752251</commentid>
    <comment_count>8</comment_count>
      <attachid>170979</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-26 12:00:10 -0700</bug_when>
    <thetext>Created attachment 170979
Patch

Trying to fix Qt, Chromium EWS build errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752286</commentid>
    <comment_count>9</comment_count>
      <attachid>170979</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-26 12:35:14 -0700</bug_when>
    <thetext>Comment on attachment 170979
Patch

Attachment 170979 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14611143</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752346</commentid>
    <comment_count>10</comment_count>
      <attachid>170995</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-26 13:48:19 -0700</bug_when>
    <thetext>Created attachment 170995
Patch

Qt EWS build fix attempt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752350</commentid>
    <comment_count>11</comment_count>
      <attachid>170995</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-26 13:53:05 -0700</bug_when>
    <thetext>Comment on attachment 170995
Patch

Attachment 170995 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14617118</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752465</commentid>
    <comment_count>12</comment_count>
      <attachid>171023</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-26 15:01:46 -0700</bug_when>
    <thetext>Created attachment 171023
Patch

Trying qt-wk2 again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752480</commentid>
    <comment_count>13</comment_count>
      <attachid>171023</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-26 15:10:21 -0700</bug_when>
    <thetext>Comment on attachment 171023
Patch

Attachment 171023 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14614172</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752496</commentid>
    <comment_count>14</comment_count>
      <attachid>171029</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-26 15:36:10 -0700</bug_when>
    <thetext>Created attachment 171029
Patch

Trying qt-wk2 again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752569</commentid>
    <comment_count>15</comment_count>
      <attachid>171046</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-26 16:34:18 -0700</bug_when>
    <thetext>Created attachment 171046
Patch

Updated ChangeLog descriptions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752576</commentid>
    <comment_count>16</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-26 16:45:12 -0700</bug_when>
    <thetext>Thanks for the review, Alex!

(In reply to comment #5)
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=170762&amp;action=review
&gt; 
&gt; Looks good.
&gt; 
&gt; &gt; LayoutTests/css3/filters/resources/invalid-a-triangle-coord-with-attached-mesh.vs:9
&gt; &gt; +attribute vec3 a_triangleCoord;
&gt; &gt; +
&gt; &gt; +attribute vec4 a_position;
&gt; &gt; +
&gt; &gt; +uniform mat4 u_projectionMatrix;
&gt; 
&gt; Remove the empty lines.

Done. It looks better without the empty lines. I&apos;ve also removed the empty lines from the other shaders referenced by the test file.

&gt; 
&gt; &gt; LayoutTests/css3/filters/resources/invalid-custom-attribute.vs:9
&gt; &gt; +attribute float my_attribute;
&gt; &gt; +
&gt; &gt; +attribute vec4 a_position;
&gt; &gt; +
&gt; &gt; +uniform mat4 u_projectionMatrix;
&gt; 
&gt; Ditto.

Done.

&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:-3805
&gt; &gt; -		A24A3A9D162499FF00522745 /* CustomFilterConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = A24A3A9C162499FF00522745 /* CustomFilterConstants.h */; };
&gt; 
&gt; I think you can revert the xcode changes.

I need this to fixing an incorrect path to CustomFilterConstants.h in the Xcode project. The project thinks the file is in platform/graphics, not platform/graphics/filters. I need to fix the reference so that StyleResolver.cpp can find CustomFilterConstants.h. 

&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:18251
&gt; &gt; -				A24A3A9C162499FF00522745 /* CustomFilterConstants.h */,
&gt; &gt; +				A2B2AE7B16375EE500CFA50B /* CustomFilterConstants.h */,
&gt; 
&gt; ditto
&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22694
&gt; &gt; -				A24A3A9D162499FF00522745 /* CustomFilterConstants.h in Headers */,
&gt; &gt; +				A2B2AE7C16375EE500CFA50B /* CustomFilterConstants.h in Headers */,
&gt; 
&gt; ditto
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/filters/CustomFilterProgram.h:63
&gt; &gt;      // StyleCustomFilterProgram has the only implementation for the following method. That means, it casts to StyleCustomFilterProgram
&gt; &gt; -    // withouth checking the type. If you add another implementation, also add a mechanism to check for the correct type.
&gt; &gt; +    // without checking the type. If you add another implementation, also add a mechanism to check for the correct type.
&gt; 
&gt; I think this comment is not needed anymore.

Removed. You&apos;re right.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:66
&gt; &gt; +bool CustomFilterValidatedProgram::validateSymbols(const Vector&lt;ANGLEShaderSymbol&gt;&amp; symbols)
&gt; 
&gt; Pass the mesh type as a parameter to keep this static.

Done.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:80
&gt; &gt; +            if (symbol.name == &quot;a_triangleCoord&quot; &amp;&amp; m_programInfo.meshType() != MeshTypeDetached) {
&gt; 
&gt; Why use the != operator instead of == ? We just have two modes at this moment. 

Done. I was using a whitelist approach (only allow a_triangleCoord in detached meshes) vs. a blacklist approach (don&apos;t allow a_triangleCoord in attached meshes). However, since we only have two mesh types right now, it&apos;s easier to read with the blacklist approach.

&gt; 
&gt; nit: Put the fastest comparison first. It will avoid making the strcmp when not needed.

Done. I was assuming most of the time people will be using attached meshes. If that&apos;s true, the original arrangement is faster. However, I can&apos;t back that up with any data, so I&apos;ll put the faster comparison first :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753654</commentid>
    <comment_count>17</comment_count>
      <attachid>171046</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-29 11:56:52 -0700</bug_when>
    <thetext>Comment on attachment 171046
Patch

Setting cq-. I need to rebase the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753728</commentid>
    <comment_count>18</comment_count>
      <attachid>171303</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-29 13:53:07 -0700</bug_when>
    <thetext>Created attachment 171303
Patch

Rebased patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753732</commentid>
    <comment_count>19</comment_count>
      <attachid>171306</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-29 13:56:12 -0700</bug_when>
    <thetext>Created attachment 171306
Patch

Rebased patch v2. I had a merge issue in the previous one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754288</commentid>
    <comment_count>20</comment_count>
      <attachid>171306</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-30 06:21:41 -0700</bug_when>
    <thetext>Comment on attachment 171306
Patch

Clearing flags on attachment: 171306

Committed r132903: &lt;http://trac.webkit.org/changeset/132903&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754289</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-30 06:21:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754410</commentid>
    <comment_count>22</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-30 09:03:32 -0700</bug_when>
    <thetext>Thanks for the review, Dean!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170183</attachid>
            <date>2012-10-23 09:51:16 -0700</date>
            <delta_ts>2012-10-25 16:15:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98973-1.patch</filename>
            <type>text/plain</type>
            <size>6802</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZDU5ZGFjLi41MzJkYjI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAt
MjMgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHZlcnRleCBzaGFk
ZXIgdGhhdCBkZWZpbmVzIGEgY3VzdG9tIGF0dHJpYnV0ZS4gVmVyaWZ5IHRoYXQgaXQgZG9lcyBu
b3QgZXhlY3V0ZS4KKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1s
OgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20tYXR0cmli
dXRlLnZzOiBBZGRlZC4KKwogMjAxMi0xMC0yMiAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIG1hcmdpbi10b3AvYm90dG9tIGhhcyBubyBlZmZlY3QgZm9yIGNoaWxk
IG5vZGVzIG9mIGZsZXggaXRlbXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0
ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKaW5kZXggNjc5MGZkZS4uYjUwY2E2NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3Rv
bS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVz
LWV4cGVjdGVkLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+
CiA8aGVhZD4KLSAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhl
Y3V0ZSBpZiB0aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3
cm9uZyB0eXBlLjwvdGl0bGU+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMg
ZG8gbm90IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMg
d2l0aCB0aGUgd3JvbmcgdHlwZSBvciBkZWZpbmVzIGN1c3RvbSBhdHRyaWJ1dGVzLjwvdGl0bGU+
CiAgICAgPCEtLSAKICAgICAgICAgVGhpcyBpcyB0aGUgcmVmZXJlbmNlIGZpbGUgZm9yIHRoZSB0
ZXN0LgotICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDUgdmVydGlj
YWxseS1zdGFja2VkIGdyZWVuIGJveGVzLgorICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlv
dSBzaG91bGQgc2VlIDYgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVzLgogICAgIC0tPgog
ICAgIDxzdHlsZT4KICAgICBkaXYgewpAQCAtMjEsNSArMjEsNiBAQAogICAgIDxkaXY+PC9kaXY+
CiAgICAgPGRpdj48L2Rpdj4KICAgICA8ZGl2PjwvZGl2PgorICAgIDxkaXY+PC9kaXY+CiA8L2Jv
ZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9t
L2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMuaHRtbCBiL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBl
cy5odG1sCmluZGV4IGE2YWEwNTQuLmZmZTczNDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20t
ZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1sCkBAIC0xLDggKzEsOCBAQAogPCFkb2N0eXBlIGh0
bWw+CiA8aHRtbD4KIDxoZWFkPgotICAgIDx0aXRsZT5UZXN0cyB0aGF0IGN1c3RvbSBmaWx0ZXJz
IGRvIG5vdCBleGVjdXRlIGlmIHRoZSBhdXRob3IgZGVmaW5lcyBidWlsdC1pbiBhdHRyaWJ1dGVz
IHdpdGggdGhlIHdyb25nIHR5cGUuPC90aXRsZT4KLSAgICA8IS0tIElmIHRoZSB0ZXN0IHBhc3Nl
cywgeW91IHNob3VsZCBzZWUgNSB2ZXJ0aWNhbGx5LXN0YWNrZWQgZ3JlZW4gYm94ZXMuIC0tPgor
ICAgIDx0aXRsZT5UZXN0cyB0aGF0IGN1c3RvbSBmaWx0ZXJzIGRvIG5vdCBleGVjdXRlIGlmIHRo
ZSBhdXRob3IgZGVmaW5lcyBidWlsdC1pbiBhdHRyaWJ1dGVzIHdpdGggdGhlIHdyb25nIHR5cGUg
b3IgZGVmaW5lcyBjdXN0b20gYXR0cmlidXRlcy48L3RpdGxlPgorICAgIDwhLS0gSWYgdGhlIHRl
c3QgcGFzc2VzLCB5b3Ugc2hvdWxkIHNlZSA2IHZlcnRpY2FsbHktc3RhY2tlZCBncmVlbiBib3hl
cy4gLS0+CiAgICAgPHNjcmlwdD4KICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENT
U0N1c3RvbUZpbHRlckVuYWJsZWQiLCAiMSIpOwpAQCAtNDAsNiArNDAsOSBAQAogICAgIC5pbnZh
bGlkLXR5cGUtYXR0cmlidXRlLWFycmF5IHsKICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3Rv
bSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzJykgbWl4
KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1p
eF9jb2xvciAxLjAgMC4wIDAuMCAxLjApOyAgICAgICAgCiAgICAgfQorICAgIC5pbnZhbGlkLWN1
c3RvbS1hdHRyaWJ1dGUgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4v
cmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cycpIG1peCh1cmwoJy4uL3Jlc291
cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4wIDAu
MCAwLjAgMS4wKTsKKyAgICB9CiAgICAgPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KQEAgLTQ4LDUgKzUxLDYgQEAKICAgICA8ZGl2IGNsYXNzPSJpbnZhbGlkLXR5
cGUtYS10ZXgtY29vcmQiPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFsaWQtdHlwZS1hLXRy
aWFuZ2xlLWNvb3JkIj48L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJpbnZhbGlkLXR5cGUtYXR0cmli
dXRlLWFycmF5Ij48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJpbnZhbGlkLWN1c3RvbS1hdHRyaWJ1
dGUiPjwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjcyYTVjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1h
dHRyaWJ1dGUudnMKQEAgLTAsMCArMSwxNCBAQAorLy8gSWYgdGhpcyBzaGFkZXIncyByZWxhdGVk
IHRlc3QgcGFzc2VzLCB0aGUgY3VzdG9tIGZpbHRlciBkb2VzIG5vdCBleGVjdXRlIGJlY2F1c2Ug
bXlfYXR0cmlidXRlIGlzIG5vdCBvbmUgb2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMuCisKK3By
ZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgZmxvYXQgbXlfYXR0cmlidXRlOwor
CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworCit1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9u
TWF0cml4OworCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdV9wcm9qZWN0aW9u
TWF0cml4ICogYV9wb3NpdGlvbjsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMTM0ZWZjLi4wZWQ0Y2ZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTAtMjMgIE1heCBWdWpvdmljICA8bXZ1
am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hhZGVyc10gUmVqZWN0IHZlcnRleCBz
aGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSWYgYW4gYXV0aG9yJ3MgYXR0cmlidXRlIGlzIG5vdCBmb3Vu
ZCBpbiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlIG1hcCwgcmVqZWN0IHRoZSBzaGFkZXIuCisKKyAg
ICAgICAgQWRkIGEgY2hlY2sgdG8gdGhlIHRlc3QgZmlsZTogY3NzMy9maWx0ZXJzL2N1c3RvbS9p
bnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLmh0bWwKKyAgICAgICAgVGhlIGNo
ZWNrIHVzZXMgYSBuZXcgc2hhZGVyOiBjc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3Vz
dG9tLWF0dHJpYnV0ZS52cyAKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWxp
ZGF0ZVN5bWJvbHMpOgorCiAyMDEyLTEwLTIyICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgbWFyZ2luLXRvcC9ib3R0b20gaGFzIG5vIGVmZmVjdCBmb3IgY2hpbGQg
bm9kZXMgb2YgZmxleCBpdGVtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVk
UHJvZ3JhbS5jcHAKaW5kZXggMjZlOGI3ZS4uNDhkZGMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9n
cmFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCkBAIC03MCwxMyArNzAsMTggQEAgc3RhdGlj
IGJvb2wgdmFsaWRhdGVTeW1ib2xzKGNvbnN0IFZlY3RvcjxBTkdMRVNoYWRlclN5bWJvbD4mIHN5
bWJvbHMpCiAgICAgICAgIGNhc2UgU0hBREVSX1NZTUJPTF9UWVBFX0FUVFJJQlVURTogewogICAg
ICAgICAgICAgU3ltYm9sTmFtZVRvVHlwZU1hcCogYXR0cmlidXRlTmFtZVRvVHlwZU1hcCA9IGJ1
aWx0SW5BdHRyaWJ1dGVOYW1lVG9UeXBlTWFwKCk7CiAgICAgICAgICAgICBTeW1ib2xOYW1lVG9U
eXBlTWFwOjppdGVyYXRvciBidWlsdEluQXR0cmlidXRlID0gYXR0cmlidXRlTmFtZVRvVHlwZU1h
cC0+ZmluZChzeW1ib2wubmFtZSk7Ci0gICAgICAgICAgICBpZiAoYnVpbHRJbkF0dHJpYnV0ZSAh
PSBhdHRyaWJ1dGVOYW1lVG9UeXBlTWFwLT5lbmQoKSAmJiBzeW1ib2wuZGF0YVR5cGUgIT0gYnVp
bHRJbkF0dHJpYnV0ZS0+dmFsdWUpIHsKKyAgICAgICAgICAgIGlmIChidWlsdEluQXR0cmlidXRl
ID09IGF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAtPmVuZCgpKSB7CisgICAgICAgICAgICAgICAgLy8g
VGhlIGF1dGhvciBkZWZpbmVkIGEgY3VzdG9tIGF0dHJpYnV0ZS4KKyAgICAgICAgICAgICAgICAv
LyBGSVhNRTogUmVwb3J0IHRoZSB2YWxpZGF0aW9uIGVycm9yLgorICAgICAgICAgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgorICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChzeW1i
b2wuZGF0YVR5cGUgIT0gYnVpbHRJbkF0dHJpYnV0ZS0+dmFsdWUpIHsKICAgICAgICAgICAgICAg
ICAvLyBUaGUgYXV0aG9yIGRlZmluZWQgb25lIG9mIHRoZSBidWlsdC1pbiBhdHRyaWJ1dGVzIHdp
dGggdGhlIHdyb25nIHR5cGUuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFJlcG9ydCB0aGUg
dmFsaWRhdGlvbiBlcnJvci4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTYKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC8vIEZJWE1FOiBSZXR1cm4gZmFsc2Ugd2hl
biB0aGUgYXR0cmlidXRlIGlzIG5vdCBvbmUgb2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMuCi0g
ICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5
NzMKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgU0hBREVSX1NZ
TUJPTF9UWVBFX1VOSUZPUk06Cg==
</data>
<flag name="commit-queue"
          id="183715"
          type_id="3"
          status="-"
          setter="mvujovic"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170762</attachid>
            <date>2012-10-25 16:15:06 -0700</date>
            <delta_ts>2012-10-26 12:00:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98973-2.patch</filename>
            <type>text/plain</type>
            <size>54422</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MzMzYWI0Li45M2RiNDFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTItMTAt
MjUgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNoZWNrcyB0byB2
ZXJpZnk6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMgZG8gbm90
IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTspLgorICAgICAgICAo
MikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5vdCBleGVjdXRlIHdp
dGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBOb3RlIHRoYXQgaW4gQ1NTIEN1c3RvbSBG
aWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSBp
biBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hlcywgbm8gdmVydGlj
ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2ZXJ0ZXgKKyAgICAg
ICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
aWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0aWNlcyBjYW4gYmVs
b25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQgY2Fubm90IGlkZW50
aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAgICAgICBDU1MgRmls
dGVycyBTcGVjLCBWZXJ0ZXggQXR0cmlidXRlczoKKyAgICAgICAgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9GWFRGL3Jhdy1maWxlL3RpcC9maWx0ZXJzL2luZGV4Lmh0bWwjdmVydGV4LWF0dHJpYnV0
ZS12YXJpYWJsZXMKKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1s
OgorICAgICAgICAgICAgQWRkIHR3byBjaGVja3MgZm9yIHR3byBuZXcgdmVydGV4IHNoYWRlcnMu
IFVwZGF0ZSB0aGUgYV90cmlhbmdsZUNvb3JkIHR5cGUgY2hlY2sgdG8gdXNlCisgICAgICAgICAg
ICBhIGRldGFjaGVkIG1lc2gsIHNvIHRoZSB2ZXJ0ZXggc2hhZGVyIGZhaWxzIHRvIHZhbGlkYXRl
IGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzCisgICAgICAgICAgICBkZWZpbmVkIHdpdGggYW4g
aW5jb3JyZWN0IHR5cGUsIG5vdCBiZWNhdXNlIGl0IGRlZmluZXMgYV90cmlhbmdsZUNvb3JkIGlu
IGFuIGF0dGFjaGVkCisgICAgICAgICAgICBtZXNoLgorICAgICAgICAqIGNzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52czoK
KyAgICAgICAgICAgIEFkZGVkLiBUaGlzIHZlcnRleCBzaGFkZXIgZGVmaW5lcyBhX3RyaWFuZ2xl
Q29vcmQgd2l0aCB0aGUgY29ycmVjdCB0eXBlLiBIb3dldmVyLCB0aGlzCisgICAgICAgICAgICBz
aGFkZXIgaXMgcnVuIHdpdGggYW4gYW4gYXR0YWNoZWQgbWVzaCwgc28gaXQgc2hvdWxkIG5vdCBl
eGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20t
YXR0cmlidXRlLnZzOgorICAgICAgICAgICAgQWRkZWQuIFRoaXMgdmVydGV4IHNoYWRlciBkZWZp
bmVzIGEgY3VzdG9tIGF0dHJpYnV0ZS4gVGhlIGFzc29jaWF0ZWQgdGVzdCB2ZXJpZmllcworICAg
ICAgICAgICAgdGhhdCBpdCBkb2VzIG5vdCBleGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnM6CisgICAgICAgICAg
ICBBZGQgYSBjb21tZW50IHRoYXQgdGhpcyBzaGFkZXIgc2hvdWxkIGJlIHJ1biB3aXRoIGEgZGV0
YWNoZWQgbWVzaC4KKwogMjAxMi0xMC0yNSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXAgZmFpbGlu
ZyB0ZXN0cyB0byBzcGVlZHVwIHRlc3RpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sCmluZGV4IDY3OTBmZGUuLjRk
MDA0ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxp
ZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0
ZS10eXBlcy1leHBlY3RlZC5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8IWRvY3R5cGUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Ci0gICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMgZG8g
bm90IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0
aCB0aGUgd3JvbmcgdHlwZS48L3RpdGxlPgorICAgIDx0aXRsZT5UZXN0cyB0aGF0IGN1c3RvbSBm
aWx0ZXJzIGRvIG5vdCBleGVjdXRlIGlmIHRoZSBhdXRob3IgZGVmaW5lcyBidWlsdC1pbiBhdHRy
aWJ1dGVzIHdpdGggdGhlIHdyb25nIHR5cGUgb3IgZGVmaW5lcyBjdXN0b20gYXR0cmlidXRlcy48
L3RpdGxlPgogICAgIDwhLS0gCiAgICAgICAgIFRoaXMgaXMgdGhlIHJlZmVyZW5jZSBmaWxlIGZv
ciB0aGUgdGVzdC4KLSAgICAgICAgSWYgdGhlIHRlc3QgcGFzc2VzLCB5b3Ugc2hvdWxkIHNlZSA1
IHZlcnRpY2FsbHktc3RhY2tlZCBncmVlbiBib3hlcy4KKyAgICAgICAgSWYgdGhlIHRlc3QgcGFz
c2VzLCB5b3Ugc2hvdWxkIHNlZSA3IHZlcnRpY2FsbHktc3RhY2tlZCBncmVlbiBib3hlcy4KICAg
ICAtLT4KICAgICA8c3R5bGU+CiAgICAgZGl2IHsKQEAgLTIxLDUgKzIxLDcgQEAKICAgICA8ZGl2
PjwvZGl2PgogICAgIDxkaXY+PC9kaXY+CiAgICAgPGRpdj48L2Rpdj4KKyAgICA8ZGl2PjwvZGl2
PgorICAgIDxkaXY+PC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUt
dHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1sCmluZGV4IGE2YWEwNTQuLmQ1NjViYTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20t
ZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1sCkBAIC0x
LDggKzEsOCBAQAogPCFkb2N0eXBlIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotICAgIDx0aXRsZT5U
ZXN0cyB0aGF0IGN1c3RvbSBmaWx0ZXJzIGRvIG5vdCBleGVjdXRlIGlmIHRoZSBhdXRob3IgZGVm
aW5lcyBidWlsdC1pbiBhdHRyaWJ1dGVzIHdpdGggdGhlIHdyb25nIHR5cGUuPC90aXRsZT4KLSAg
ICA8IS0tIElmIHRoZSB0ZXN0IHBhc3NlcywgeW91IHNob3VsZCBzZWUgNSB2ZXJ0aWNhbGx5LXN0
YWNrZWQgZ3JlZW4gYm94ZXMuIC0tPgorICAgIDx0aXRsZT5UZXN0cyB0aGF0IGN1c3RvbSBmaWx0
ZXJzIGRvIG5vdCBleGVjdXRlIGlmIHRoZSBhdXRob3IgZGVmaW5lcyBidWlsdC1pbiBhdHRyaWJ1
dGVzIHdpdGggdGhlIHdyb25nIHR5cGUgb3IgZGVmaW5lcyBjdXN0b20gYXR0cmlidXRlcy48L3Rp
dGxlPgorICAgIDwhLS0gSWYgdGhlIHRlc3QgcGFzc2VzLCB5b3Ugc2hvdWxkIHNlZSA3IHZlcnRp
Y2FsbHktc3RhY2tlZCBncmVlbiBib3hlcy4gLS0+CiAgICAgPHNjcmlwdD4KICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWQiLCAiMSIpOwpAQCAt
MjUsNiArMjUsOSBAQAogICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgIG1hcmdpbjogMTBw
eDsKICAgICB9CisgICAgLmludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZSB7CisgICAgICAgIC13ZWJr
aXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20tYXR0cmli
dXRlLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3Vy
Y2UtYXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAxLjApOworICAgIH0KICAgICAuaW52YWxp
ZC10eXBlLWEtbWVzaC1jb29yZCB7CiAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJs
KCcuLi9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52cycpIG1peCh1cmwoJy4u
L3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3Ig
MS4wIDAuMCAwLjAgMS4wKTsKICAgICB9CkBAIC0zNSwxOCArMzgsMjggQEAKICAgICAgICAgLXdl
YmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10ZXgt
Y29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNv
dXJjZS1hdG9wKSwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CiAgICAgfQogICAgIC5pbnZh
bGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZCB7Ci0gICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0
b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMnKSBt
aXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwg
bWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CisgICAgICAgIC8qIFRoaXMgY3VzdG9tIGZpbHRl
ciB1c2VzIGEgZGV0YWNoZWQgbWVzaCBiZWNhdXNlIGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2
YWlsYWJsZSB3aXRoIGEgZGV0YWNoZWQgbWVzaC4gKi8KKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6
IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52
cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0
b3ApLCAxIDEgZGV0YWNoZWQsIG1peF9jb2xvciAxLjAgMC4wIDAuMCAxLjApOwogICAgIH0KICAg
ICAuaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJheSB7CiAgICAgICAgIC13ZWJraXQtZmlsdGVy
OiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJheS52
cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0
b3ApLCBtaXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsgICAgICAgIAogICAgIH0KKyAgICAuaW52
YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJheSB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0
b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJheS52cycpIG1p
eCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBt
aXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsgICAgICAgIAorICAgIH0KKyAgICAuaW52YWxpZC1h
dHRhY2hlZC1tZXNoLWEtdHJpYW5nbGUtY29vcmQgeworICAgICAgICAvKiBUaGlzIGN1c3RvbSBm
aWx0ZXIgdXNlcyBhbiBhdHRhY2hlZCBtZXNoIHRvIHZlcmlmeSB0aGF0IGFfdHJpYW5nbGVDb29y
ZCBpcyBub3QgYSBhdmFpbGFibGUgd2l0aCBhbiBhdHRhY2hlZCBtZXNoLiAqLworICAgICAgICAt
d2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtYS10cmlhbmds
ZS1jb29yZC13aXRoLWF0dGFjaGVkLW1lc2gudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4
LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEu
MCk7ICAgICAgICAKKyAgICB9CiAgICAgPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKyAgICA8ZGl2IGNsYXNzPSJpbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUiPjwv
ZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQiPjwvZGl2Pgog
ICAgIDxkaXYgY2xhc3M9ImludmFsaWQtdHlwZS1hLXBvc2l0aW9uIj48L2Rpdj4KICAgICA8ZGl2
IGNsYXNzPSJpbnZhbGlkLXR5cGUtYS10ZXgtY29vcmQiPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9
ImludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkIj48L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJp
bnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5Ij48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJpbnZh
bGlkLWF0dGFjaGVkLW1lc2gtYS10cmlhbmdsZS1jb29yZCI+PC9kaXY+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFs
aWQtYS10cmlhbmdsZS1jb29yZC13aXRoLWF0dGFjaGVkLW1lc2gudnMgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtYS10cmlhbmdsZS1jb29yZC13aXRoLWF0dGFj
aGVkLW1lc2gudnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNkNzYyZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52
YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cwpAQCAtMCwwICsxLDE0
IEBACisvLyBUaGlzIHNoYWRlciBzaG91bGQgbm90IGV4ZWN1dGUgaWYgdGhlIG1lc2ggaXMgYXR0
YWNoZWQgYmVjYXVzZSBhX3RyaWFuZ2xlQ29vcmQgaXMgb25seSBhdmFpbGFibGUgaW4gZGV0YWNo
ZWQgbWVzaHNlcy4KKworcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK2F0dHJpYnV0ZSB2ZWMz
IGFfdHJpYW5nbGVDb29yZDsKKworYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKwordW5pZm9y
bSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3Np
dGlvbiA9IHVfcHJvamVjdGlvbk1hdHJpeCAqIGFfcG9zaXRpb247Cit9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0
ZS52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20t
YXR0cmlidXRlLnZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NzJhNWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2lu
dmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cwpAQCAtMCwwICsxLDE0IEBACisvLyBJZiB0aGlzIHNo
YWRlcidzIHJlbGF0ZWQgdGVzdCBwYXNzZXMsIHRoZSBjdXN0b20gZmlsdGVyIGRvZXMgbm90IGV4
ZWN1dGUgYmVjYXVzZSBteV9hdHRyaWJ1dGUgaXMgbm90IG9uZSBvZiB0aGUgYnVpbHQtaW4gYXR0
cmlidXRlcy4KKworcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK2F0dHJpYnV0ZSBmbG9hdCBt
eV9hdHRyaWJ1dGU7CisKK2F0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247CisKK3VuaWZvcm0gbWF0
NCB1X3Byb2plY3Rpb25NYXRyaXg7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24g
PSB1X3Byb2plY3Rpb25NYXRyaXggKiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29y
ZC52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEt
dHJpYW5nbGUtY29vcmQudnMKaW5kZXggODVjM2FiNS4uNzk2MWQ2MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1j
b29yZC52cworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQt
dHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzCkBAIC0xLDQgKzEsNSBAQAogLy8gSWYgdGhpcyBzaGFk
ZXIncyByZWxhdGVkIHRlc3QgcGFzc2VzLCB0aGUgY3VzdG9tIGZpbHRlciBkb2VzIG5vdCBleGVj
dXRlIGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkJ3MgdHlwZSBpcyBpbnZhbGlkLgorLy8gVGhlIGN1
c3RvbSBmaWx0ZXIgc2hvdWxkIGRlZmluZSBhIGRldGFjaGVkIG1lc2ggYmVjYXVzZSBhX3RyaWFu
Z2xlQ29vcmQgaXMgb25seSBhdmFpbGFibGUgd2l0aCBhIGRldGFjaGVkIG1lc2guCiAKIHByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY4ZjQ5OC4uMzI1N2MzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEwOCBAQAorMjAxMi0xMC0yNSAgTWF4IFZ1am92aWMgIDxtdnVq
b3ZpY0BhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFkZXJzXSBSZWplY3QgdmVydGV4IHNo
YWRlcnMgd2l0aCBjdXN0b20gYXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbXByb3ZlZCBDU1MgQ3VzdG9tIEZpbHRlcnMgc2hhZGVyIHZh
bGlkYXRpb24uIFdpdGggdGhpcyBwYXRjaDoKKyAgICAgICAgKDEpIFNoYWRlcnMgd2l0aCBjdXN0
b20gYXR0cmlidXRlcyBkbyBub3QgZXhlY3V0ZSAoZS5nLiBhdHRyaWJ1dGUgZmxvYXQgbXlfYXR0
cmlidXRlOykuCisgICAgICAgICgyKSBTaGFkZXJzIHdpdGggYV90cmlhbmdsZUNvb3JkIGRlZmlu
ZWQgZG8gbm90IGV4ZWN1dGUgd2l0aCBhbiBhdHRhY2hlZCBtZXNoLgorCisgICAgICAgIE1vc3Qg
b2YgdGhlIGNoYW5nZXMgYXJlIGZyb20gcmVuYW1pbmcgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpN
ZXNoVHlwZSB0bworICAgICAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSwgYW5kIG1vdmluZyB0aGUg
ZW51bWVyYXRpb24gdG8gQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmguIFRoaXMgYXZvaWRzCisgICAg
ICAgIHB1bGxpbmcgaW4gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uIGZvciBjbGFzc2VzIHRoYXQgb25s
eSBjYXJlIGFib3V0IHRoZSBtZXNoIHR5cGUuCisKKyAgICAgICAgTm90ZSB0aGF0IGluIENTUyBD
dXN0b20gRmlsdGVycywgdGhlIGFfdHJpYW5nbGVDb29yZCBhdHRyaWJ1dGUgaXMgb25seSBhdmFp
bGFibGUgaW4gZGV0YWNoZWQKKyAgICAgICAgbWVzaGVzLiBJbiBkZXRhY2hlZCBtZXNoZXMsIG5v
IHZlcnRpY2VzIGFyZSBzaGFyZWQgYmV0d2VlbiB0cmlhbmdsZXMuIFRodXMsIGVhY2ggdmVydGV4
CisgICAgICAgIGJlbG9uZ3MgdG8gYSBzcGVjaWZpYyB0cmlhbmdsZSwgd2hpY2ggYV90cmlhbmds
ZUNvb3JkIGlkZW50aWZpZXMuIEluIGF0dGFjaGVkIG1lc2hlcywKKyAgICAgICAgdmVydGljZXMg
Y2FuIGJlbG9uZyB0byBtYW55IHRyaWFuZ2xlcywgd2hpY2ggYV90cmlhbmdsZUNvb3JkIGNhbm5v
dCBpZGVudGlmeSBiZWNhdXNlIGl0J3MKKyAgICAgICAgb25seSBhIHZlYzMuCisKKyAgICAgICAg
VGVzdHM6CisgICAgICAgIEFkZCB0d28gbmV3IGNoZWNrcyB0byB0aGUgdGVzdCBmaWxlOgorICAg
ICAgICAgICAgY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmli
dXRlLXR5cGVzLmh0bWwKKyAgICAgICAgQWRkIHR3byBuZXcgc2hhZGVyczoKKyAgICAgICAgICAg
IGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20tYXR0cmlidXRlLnZzCisgICAg
ICAgICAgICBjc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtYS10cmlhbmdsZS1jb29yZC13
aXRoLWF0dGFjaGVkLW1lc2gudnMKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgICAgIFVwZGF0ZSBhIGJyb2tlbiByZWZlcmVuY2UgdG8gQ3Vz
dG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gdGhlIFhjb2RlIHByb2plY3QgZmlsZS4KKyAgICAgICAg
KiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6dmFsdWVGb3JGaWx0ZXIpOgorICAgICAgICAg
ICAgUmVwbGFjZSBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIHdpdGggQ3VzdG9tRmls
dGVyTWVzaFR5cGUuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y3JlYXRlQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKTogRGl0
dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJDb25z
dGFudHMuaDoKKyAgICAgICAgICAgIEFkZCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBlbnVtIHRvIHNo
YXJlIGFjcm9zcyB0aGUgQ3VzdG9tIEZpbHRlcnMgY29kZWJhc2UsIHNvIHRoYXQgd2UKKyAgICAg
ICAgICAgIGRvbid0IGhhdmUgdG8gaW5jbHVkZSBDdXN0b21GaWx0ZXJPcGVyYXRpb24ganVzdCB0
byBhY2Nlc3MgdGhlIG9sZAorICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNo
VHlwZSBlbnVtLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmls
dGVyTWVzaC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoOjpDdXN0b21G
aWx0ZXJNZXNoKToKKyAgICAgICAgICAgIFJlcGxhY2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpN
ZXNoVHlwZSB3aXRoIEN1c3RvbUZpbHRlck1lc2hUeXBlLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oOgorICAgICAgICAoV2ViQ29yZTo6Q3Vz
dG9tRmlsdGVyTWVzaDo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJNZXNoOjptZXNoVHlwZSk6IERpdHRvLgorICAgICAgICAoQ3VzdG9tRmlsdGVyTWVzaCk6
IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
TWVzaEdlbmVyYXRvci5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
TWVzaEdlbmVyYXRvcjo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcik6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6ZHVtcEJ1ZmZlcnMpOiBEaXR0
by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hH
ZW5lcmF0b3IuaDoKKyAgICAgICAgKEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OmZsb2F0c1BlclZl
cnRleCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRv
cjo6dmVydGljZXNDb3VudCk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcDogCisgICAgICAgIChXZWJDb3JlOjpDdXN0
b21GaWx0ZXJPcGVyYXRpb246OkN1c3RvbUZpbHRlck9wZXJhdGlvbik6IERpdHRvLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJPcGVyYXRpb246OmNyZWF0ZSk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uOjptZXNoVHlwZSk6IERpdHRv
LgorICAgICAgICAoQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKTogRGl0dG8uCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW06OkN1c3RvbUZpbHRlclByb2dyYW0pOgorICAg
ICAgICAgICAgQWRkIGEgbWVzaFR5cGUgY29uc3RydWN0b3IgcGFyYW1ldGVyIGJlY2F1c2UgdGhl
IHByb2dyYW0gbm93IG5lZWRzIHRvIGtub3cgdGhlIG1lc2hUeXBlCisgICAgICAgICAgICB0byBw
cm9wZXJseSB2YWxpZGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW06
OnByb2dyYW1JbmZvKToKKyAgICAgICAgICAgIFBhc3MgbWVzaFR5cGUgdG8gQ3VzdG9tRmlsdGVy
UHJvZ3JhbSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dy
YW06Om9wZXJhdG9yPT0pOgorICAgICAgICAgICAgQ2hlY2sgdGhlIG1lc2hUeXBlIGluIHRoZSBl
cXVhbHMgb3BlcmF0b3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJQcm9ncmFtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0
ZXJQcm9ncmFtSW5mbzo6Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8pOgorICAgICAgICAgICAgQWRk
IGEgbWVzaFR5cGUgY29uc3RydWN0b3IgcGFyYW1ldGVyLiAgICAgICAgICAgIAorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86Omhhc2gpOgorICAgICAgICAgICAgSW5j
bHVkZSB0aGUgbWVzaFR5cGUgaW4gdGhlIHZhbGlkYXRlZCBwcm9ncmFtIGhhc2gsIHNpbmNlIHRo
ZSBzYW1lIHNoYWRlciBjb2RlIGNhbiBwYXNzCisgICAgICAgICAgICBvciBmYWlsIHZhbGlkYXRp
b24gYmFzZWQgb24gdGhlIG1lc2hUeXBlLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
UHJvZ3JhbUluZm86Om9wZXJhdG9yPT0pOgorICAgICAgICAgICAgQ2hlY2sgdGhlIG1lc2hUeXBl
IGluIHRoZSBlcXVhbHMgb3BlcmF0b3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyUHJv
Z3JhbUluZm8pOgorICAgICAgICAgICAgVXBkYXRlIG1ldGhvZCBwcm90b3R5cGUuCisgICAgICAg
IChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6bWVzaFR5cGUpOgorICAgICAgICAg
ICAgQWRkIG1lc2hUeXBlIGdldHRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6dmFsaWRhdGVTeW1ib2xzKToKKyAgICAgICAg
ICAgIElmIHRoZSBhdXRob3IgZGVmaW5lcyBhdHRyaWJ1dGUgdGhhdCBpcyBpcyBub3QgZm91bmQg
aW4gdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZSBtYXAsCisgICAgICAgICAgICByZWplY3QgdGhlIHNo
YWRlci4KKyAgICAgICAgICAgIElmIHRoZSBhdXRob3IgZGVmaW5lcyBhX3RyaWFuZ2xlQ29vcmQg
d2l0aG91dCBhIGRldGFjaGVkIG1lc2ggdHlwZSwgcmVqZWN0IHRoZSBzaGFkZXIuCisgICAgICAg
ICAgICBBbHNvLCBtYWtlIHRoaXMgcHJldmlvdXNseSBmaWxlLXN0YXRpYyBmdW5jdGlvbiBpbnRv
IGEgbWV0aG9kIG9mCisgICAgICAgICAgICBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtIGJl
Y2F1c2UgaXQgbm93IG5lZWRzIHRvIGFjY2VzcyB0aGUgbV9tZXNoVHlwZS4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaDoK
KyAgICAgICAgKEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0pOgorICAgICAgICAgICAgQWRk
IGEgbWVzaFR5cGUgY29uc3RydWN0b3IgcGFyYW1ldGVyIGJlY2F1c2UgdGhlIHByb2dyYW0gbm93
IG5lZWRzIHRvIGtub3cgdGhlIG1lc2hUeXBlCisgICAgICAgICAgICB0byBwcm9wZXJseSB2YWxp
ZGF0ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpGRUN1c3RvbUZpbHRlcik6
CisgICAgICAgICAgICBSZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0
aCBDdXN0b21GaWx0ZXJNZXNoVHlwZS4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVy
OjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5k
UHJvZ3JhbUFuZEJ1ZmZlcnMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmls
dGVyOjp1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGVzKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oOgorICAgICAgICAoRkVDdXN0b21GaWx0
ZXIpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0b21GaWx0ZXJQ
cm9ncmFtLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUN1c3RvbUZpbHRlclByb2dyYW06OmNy
ZWF0ZSk6CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIu
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUN1c3RvbUZpbHRlclByb2dyYW06OlN0eWxlQ3VzdG9t
RmlsdGVyUHJvZ3JhbSk6IERpdHRvLgorCiAyMDEyLTEwLTI1ICBCcmFkeSBFaWRzb24gIDxiZWlk
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBMb2FkZXJTdHJhdGVneSB0byBvdmVycmlk
ZSB0aGUgUmVzb3VyY2VMb2FkU2NoZWR1bGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjA2OTVkNC4uOTQyNjc0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MzgwMiwxMSArMzgwMiwxMSBAQAogCQlBMUUxMTU0NDEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFu
dExpZ2h0U291cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEExRTExNTQzMTMwMTVDM0QwMDU0QUM4QyAvKiBEaXN0YW50TGlnaHRTb3VyY2UuY3Bw
ICovOyB9OwogCQlBMUUxMTU0NjEzMDE1QzRFMDA1NEFDOEMgLyogUG9pbnRMaWdodFNvdXJjZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUUxMTU0
NTEzMDE1QzRFMDA1NEFDOEMgLyogUG9pbnRMaWdodFNvdXJjZS5jcHAgKi87IH07CiAJCUExRTEx
NTQ4MTMwMTVDNUQwMDU0QUM4QyAvKiBTcG90TGlnaHRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFFMTE1NDcxMzAxNUM1RDAwNTRBQzhD
IC8qIFNwb3RMaWdodFNvdXJjZS5jcHAgKi87IH07Ci0JCUEyNEEzQTlEMTYyNDk5RkYwMDUyMjc0
NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEEyNEEzQTlDMTYyNDk5RkYwMDUyMjc0NSAvKiBDdXN0b21GaWx0
ZXJDb25zdGFudHMuaCAqLzsgfTsKIAkJQTI0QkY3N0IxNUNDM0JBRjAwMzE5MUYyIC8qIFdlYktp
dENTU01peEZ1bmN0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEEyNEJGNzc5MTVDQzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5j
dGlvblZhbHVlLmggKi87IH07CiAJCUEyNEJGNzdDMTVDQzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRD
U1NNaXhGdW5jdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEEyNEJGNzdBMTVDQzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5j
dGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJQTI5NTMyQ0YxNURENUUxNzAwNDY5RUJDIC8qIEN1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTI5NTMyQ0QxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uY3BwICovOyB9OwogCQlBMjk1MzJEMDE1REQ1RTE3MDA0NjlFQkMg
LyogQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTI5NTMyQ0UxNURENUUxNzAwNDY5RUJDIC8qIEN1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCAqLzsgfTsKKwkJQTJCMkFFN0MxNjM3NUVFNTAwQ0ZB
NTBCIC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTJCMkFFN0IxNjM3NUVFNTAwQ0ZBNTBCIC8qIEN1c3RvbUZp
bHRlckNvbnN0YW50cy5oICovOyB9OwogCQlBM0JCNTlGMzE0NTdBNDBEMDBBQzU2RkUgLyogRG9j
dW1lbnRFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEEzQkI1OUYxMTQ1N0E0MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUu
Y3BwICovOyB9OwogCQlBM0JCNTlGNDE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1
ZXVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0JC
NTlGMjE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTNFMjY0MzAxNDc0ODk5MTAw
NUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTNFMjY0MkUxNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2
ZW50UXVldWUuY3BwICovOyB9OwpAQCAtMTEwNzEsMTEgKzExMDcxLDExIEBACiAJCUExRTExNTQz
MTMwMTVDM0QwMDU0QUM4QyAvKiBEaXN0YW50TGlnaHRTb3VyY2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGlzdGFudExpZ2h0U291cmNlLmNwcDsgcGF0aCA9IGZp
bHRlcnMvRGlzdGFudExpZ2h0U291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTFFMTE1NDUxMzAxNUM0RTAwNTRBQzhDIC8qIFBvaW50TGlnaHRTb3VyY2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUG9pbnRMaWdodFNvdXJjZS5jcHA7IHBh
dGggPSBmaWx0ZXJzL1BvaW50TGlnaHRTb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBMUUxMTU0NzEzMDE1QzVEMDA1NEFDOEMgLyogU3BvdExpZ2h0U291cmNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFNwb3RMaWdodFNvdXJjZS5jcHA7
IHBhdGggPSBmaWx0ZXJzL1Nwb3RMaWdodFNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUEyNEEzQTlDMTYyNDk5RkYwMDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFu
dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3VzdG9tRmlsdGVyQ29uc3Rh
bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyNEJGNzc5MTVDQzNCQUYwMDMx
OTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTI0QkY3N0ExNUNDM0JBRjAwMzE5MUYyIC8qIFdlYktpdENTU01peEZ1
bmN0aW9uVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUEyOTUzMkNEMTVERDVFMTcwMDQ2OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFt
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEN1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0uY3BwOyBwYXRoID0gZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQ
cm9ncmFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTI5NTMyQ0UxNURENUUx
NzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oOyBwYXRo
ID0gZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUEyQjJBRTdCMTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJD
b25zdGFudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ3VzdG9tRmlsdGVy
Q29uc3RhbnRzLmg7IHBhdGggPSBmaWx0ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9j
dW1lbnRFdmVudFF1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IERvY3VtZW50RXZlbnRRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEz
QkI1OUYyMTQ1N0E0MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG9jdW1lbnRFdmVudFF1ZXVlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUEzRTI2NDJFMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVu
dFF1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdvcmtlckV2
ZW50UXVldWUuY3BwOyBwYXRoID0gd29ya2Vycy9Xb3JrZXJFdmVudFF1ZXVlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MjQ4LDcgKzE4MjQ4LDcgQEAKIAkJCQkxNUIzRkMx
NzE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCAqLywKIAkJ
CQk1MEQ0MDYwRjE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFt
LmNwcCAqLywKIAkJCQk1MEQ0MDYxMDE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29t
cGlsZWRQcm9ncmFtLmggKi8sCi0JCQkJQTI0QTNBOUMxNjI0OTlGRjAwNTIyNzQ1IC8qIEN1c3Rv
bUZpbHRlckNvbnN0YW50cy5oICovLAorCQkJCUEyQjJBRTdCMTYzNzVFRTUwMENGQTUwQiAvKiBD
dXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLywKIAkJCQk1MDk4N0MyNDE1N0Q2NzZEMDBCREE4MzUg
LyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5jcHAgKi8sCiAJCQkJNTA5ODdDMjUxNTdENjc2
RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCAqLywKIAkJCQk1MEQ0MDVG
NzE0N0QzMUYzMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyTWVzaC5jcHAgKi8sCkBAIC0yMjY5MSw3
ICsyMjY5MSw3IEBACiAJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxNUIzRkMxOTE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwRDQwNjEyMTQ3RDQ5
REUwMEQzMEJCNSAvKiBDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uaCBpbiBIZWFkZXJzICov
LAotCQkJCUEyNEEzQTlEMTYyNDk5RkYwMDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUEyQjJBRTdDMTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21G
aWx0ZXJDb25zdGFudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwOTg3QzI3MTU3RDY3NkQwMEJE
QTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MEQ0MDVGQTE0N0QzMUYzMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyTWVzaC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0UxMkU5MEYxNUZBNUQzQTAwNUU0MTI2IC8qIEN1c3RvbUZpbHRlck1lc2hHZW5l
cmF0b3IuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA4YmIwYzU1Li40ZGM3MzU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApA
QCAtOTQxLDcgKzk0MSw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbjo6dmFsdWVGb3JGaWx0ZXIoY29uc3QgUmVuZGVyT2JqCiAgICAgICAgICAgICAK
ICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGUgc3BlY2lmaWNhdGlvbiBkb2Vzbid0IGhhdmUgYW55
ICJhdHRhY2hlZCIgaWRlbnRpZmllci4gU2hvdWxkIHdlIGFkZCBvbmU/CiAgICAgICAgICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MDAKLSAgICAgICAg
ICAgIGlmIChjdXN0b21PcGVyYXRpb24tPm1lc2hUeXBlKCkgPT0gQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uOjpERVRBQ0hFRCkKKyAgICAgICAgICAgIGlmIChjdXN0b21PcGVyYXRpb24tPm1lc2hUeXBl
KCkgPT0gTWVzaFR5cGVEZXRhY2hlZCkKICAgICAgICAgICAgICAgICBtZXNoUGFyYW1ldGVycy0+
YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZURldGFj
aGVkKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGZpbHRlclZhbHVlLT5hcHBlbmQobWVz
aFBhcmFtZXRlcnMucmVsZWFzZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApp
bmRleCAzYjgwZjFhLi42ZmI0ZTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CkBAIC0xNTcsNiArMTU3LDcgQEAKIAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKICNpbmNsdWRl
ICJDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oIgorI2luY2x1ZGUgIkN1c3RvbUZpbHRlckNv
bnN0YW50cy5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlci5oIgogI2lu
Y2x1ZGUgIkN1c3RvbUZpbHRlck9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclBh
cmFtZXRlci5oIgpAQCAtNDgwMCw3ICs0ODAxLDcgQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJP
cGVyYXRpb24+IFN0eWxlUmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbihXZWIK
ICAgICB1bnNpZ25lZCBtZXNoUm93cyA9IDE7CiAgICAgdW5zaWduZWQgbWVzaENvbHVtbnMgPSAx
OwogICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUgbWVzaEJveFR5cGUgPSBD
dXN0b21GaWx0ZXJPcGVyYXRpb246OkZJTFRFUl9CT1g7Ci0gICAgQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uOjpNZXNoVHlwZSBtZXNoVHlwZSA9IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQ7
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUgPSBNZXNoVHlwZUF0dGFjaGVkOwog
ICAgIAogICAgIENTU1ZhbHVlKiBwYXJhbWV0ZXJzVmFsdWUgPSAwOwogICAgIApAQCAtNDg0NCw3
ICs0ODQ1LDcgQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJPcGVyYXRpb24+IFN0eWxlUmVzb2x2
ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbihXZWIKICAgICAgICAgaWYgKGl0ZXJhdG9y
Lmhhc01vcmUoKSAmJiBpdGVyYXRvci5pc1ByaW1pdGl2ZVZhbHVlKCkpIHsKICAgICAgICAgICAg
IENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlKj4oaXRlcmF0b3IudmFsdWUoKSk7CiAgICAgICAgICAgICBpZiAocHJpbWl0aXZl
VmFsdWUtPmdldElkZW50KCkgPT0gQ1NTVmFsdWVEZXRhY2hlZCkgewotICAgICAgICAgICAgICAg
IG1lc2hUeXBlID0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpERVRBQ0hFRDsKKyAgICAgICAgICAg
ICAgICBtZXNoVHlwZSA9IE1lc2hUeXBlRGV0YWNoZWQ7CiAgICAgICAgICAgICAgICAgaXRlcmF0
b3IuYWR2YW5jZSgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC00ODY0LDcgKzQ4NjUs
NyBAQCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gU3R5bGVSZXNvbHZlcjo6Y3Jl
YXRlQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFdlYgogICAgIGlmIChwYXJhbWV0ZXJzVmFsdWUgJiYg
IXBhcnNlQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXJzVmFsdWUsIHBhcmFtZXRl
ckxpc3QpKQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBSZWZQdHI8U3R5bGVDdXN0b21G
aWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUo
dmVydGV4U2hhZGVyLnJlbGVhc2UoKSwgZnJhZ21lbnRTaGFkZXIucmVsZWFzZSgpLCBwcm9ncmFt
VHlwZSwgbWl4U2V0dGluZ3MpOworICAgIFJlZlB0cjxTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0+
IHByb2dyYW0gPSBTdHlsZUN1c3RvbUZpbHRlclByb2dyYW06OmNyZWF0ZSh2ZXJ0ZXhTaGFkZXIu
cmVsZWFzZSgpLCBmcmFnbWVudFNoYWRlci5yZWxlYXNlKCksIHByb2dyYW1UeXBlLCBtaXhTZXR0
aW5ncywgbWVzaFR5cGUpOwogICAgIHJldHVybiBDdXN0b21GaWx0ZXJPcGVyYXRpb246OmNyZWF0
ZShwcm9ncmFtLnJlbGVhc2UoKSwgcGFyYW1ldGVyTGlzdCwgbWVzaFJvd3MsIG1lc2hDb2x1bW5z
LCBtZXNoQm94VHlwZSwgbWVzaFR5cGUpOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJD
b25zdGFudHMuaAppbmRleCA2MDgwYzM4Li44YzY1NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
Q29uc3RhbnRzLmgKQEAgLTQ1LDYgKzQ1LDExIEBAIGVudW0gQ3VzdG9tRmlsdGVyTWVzaENvbnN0
YW50cyB7CiAgICAgVHJpYW5nbGVBdHRyaWJPZmZzZXQgPSBNZXNoQXR0cmliT2Zmc2V0ICsgTWVz
aEF0dHJpYlNpemUgKiBzaXplb2YoZmxvYXQpCiB9OwogCitlbnVtIEN1c3RvbUZpbHRlck1lc2hU
eXBlIHsKKyAgICBNZXNoVHlwZUF0dGFjaGVkLAorICAgIE1lc2hUeXBlRGV0YWNoZWQKK307CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEN1c3RvbUZpbHRlckNvbnN0YW50
c19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlck1lc2guY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcAppbmRleCAwMjc4YWJhLi5lZmYwNzg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlck1lc2guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogQ3VzdG9tRmlsdGVyTWVzaDo6Q3VzdG9tRmlsdGVyTWVzaChHcmFwaGljc0NvbnRl
eHQzRCogY29udGV4dCwgdW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0
b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAgIGNvbnN0IEZsb2F0UmVj
dCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgOiBtX2NvbnRl
eHQoY29udGV4dCkKICAgICAsIG1fdmVydGljZXNCdWZmZXJPYmplY3QoMCkKICAgICAsIG1fZWxl
bWVudHNCdWZmZXJPYmplY3QoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmgKaW5kZXggZTNjN2E2Yi4u
MmJiM2Q1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJNZXNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3Mg
R3JhcGhpY3NDb250ZXh0M0Q7CiAKIGNsYXNzIEN1c3RvbUZpbHRlck1lc2ggOiBwdWJsaWMgUmVm
Q291bnRlZDxDdXN0b21GaWx0ZXJNZXNoPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyTWVzaD4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCB1
bnNpZ25lZCBjb2xzLCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1
c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUpCisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q3VzdG9tRmlsdGVyTWVzaD4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0
LCB1bnNpZ25lZCBjb2xzLCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gs
IEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBDdXN0b21GaWx0ZXJNZXNoKGNvbnRleHQsIGNvbHMsIHJvd3MsIG1lc2hCb3gs
IG1lc2hUeXBlKSk7CiAgICAgfQpAQCAtNTYsMTAgKzU2LDEwIEBAIHB1YmxpYzoKICAgICB1bnNp
Z25lZCBpbmRpY2VzQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2luZGljZXNDb3VudDsgfQogICAg
IAogICAgIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaEJv
eDsgfQotICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUoKSBjb25z
dCB7IHJldHVybiBtX21lc2hUeXBlOyB9CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5
cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9CiAKIHByaXZhdGU6Ci0gICAgQ3VzdG9t
RmlsdGVyTWVzaChHcmFwaGljc0NvbnRleHQzRCosIHVuc2lnbmVkIGNvbHMsIHVuc2lnbmVkIHJv
d3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNo
VHlwZSk7CisgICAgQ3VzdG9tRmlsdGVyTWVzaChHcmFwaGljc0NvbnRleHQzRCosIHVuc2lnbmVk
IGNvbHMsIHVuc2lnbmVkIHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmls
dGVyTWVzaFR5cGUpOwogICAgIAogICAgIEdyYXBoaWNzQ29udGV4dDNEKiBtX2NvbnRleHQ7CiAg
ICAgCkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmRpY2VzQ291
bnQ7CiAgICAgCiAgICAgRmxvYXRSZWN0IG1fbWVzaEJveDsKLSAgICBDdXN0b21GaWx0ZXJPcGVy
YXRpb246Ok1lc2hUeXBlIG1fbWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9t
ZXNoVHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVy
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3IuY3BwCmluZGV4IDNkOWQ0ZDEuLjc3NDY5MTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
TWVzaEdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmNwcApAQCAtMzksNyArMzksNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgYm9vbCBzX2R1bXBDdXN0b21GaWx0ZXJNZXNoQnVm
ZmVycyA9IGZhbHNlOwogI2VuZGlmCiAKLUN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29u
c3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1l
c2hUeXBlKQorQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVy
YXRvcih1bnNpZ25lZCBjb2x1bW5zLCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1l
c2hCb3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIDogbV9tZXNoVHlwZSht
ZXNoVHlwZSkKICAgICAsIG1fcG9pbnRzKGNvbHVtbnMgKyAxLCByb3dzICsgMSkKICAgICAsIG1f
dGlsZXMoY29sdW1ucywgcm93cykKQEAgLTYwLDcgKzYwLDcgQEAgQ3VzdG9tRmlsdGVyTWVzaEdl
bmVyYXRvcjo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcih1bnNpZ25lZCBjb2x1bW5zLCB1bnNp
Z25lZAogICAgIC8vIHdoZW4gdGhlcmUncyBubyBuZWVkIHRvIGV4cGxvZGUgdGhlIHRpbGVzLgog
ICAgIC8vICogZGV0YWNoZWQ6IGVhY2ggdHJpYW5nbGUgaGFzIGl0cyBvd24gdmVydGljZXMuIFRo
aXMgbWVhbnMgZWFjaCB0cmlhbmdsZSBjYW4gYmUgbW92ZWQgaW5kZXBlbmRlbnRseSBhbmQgYSB2
ZWMzCiAgICAgLy8gYXR0cmlidXRlIGlzIHBhc3NlZCwgc28gdGhhdCBlYWNoIHZlcnRleCBjYW4g
YmUgdW5pcXVlbHkgaWRlbnRpZmllZC4KLSAgICBpZiAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0
ZXJPcGVyYXRpb246OkFUVEFDSEVEKQorICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hUeXBlQXR0
YWNoZWQpCiAgICAgICAgIGdlbmVyYXRlQXR0YWNoZWRNZXNoKCk7CiAgICAgZWxzZQogICAgICAg
ICBnZW5lcmF0ZURldGFjaGVkTWVzaCgpOwpAQCAtMTUyLDggKzE1Miw4IEBAIHZvaWQgQ3VzdG9t
RmlsdGVyTWVzaEdlbmVyYXRvcjo6YWRkRGV0YWNoZWRNZXNoVmVydGV4QXR0cmlidXRlcyhpbnQg
cXVhZFgsIGludCBxCiB2b2lkIEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OmR1bXBCdWZmZXJz
KCkgY29uc3QKIHsKICAgICBwcmludGYoIk1lc2ggYnVmZmVyczogUG9pbnRzLndpZHRoKCk6ICVk
LCBQb2ludHMuaGVpZ2h0KCk6ICVkIG1lc2hCb3g6ICVmLCAlZiwgJWYsICVmLCB0eXBlOiAlc1xu
IiwKLSAgICAgICAgICAgbV9wb2ludHMud2lkdGgoKSwgbV9wb2ludHMuaGVpZ2h0KCksIG1fbWVz
aEJveC54KCksIG1fbWVzaEJveC55KCksIG1fbWVzaEJveC53aWR0aCgpLCBtX21lc2hCb3guaGVp
Z2h0KCksCi0gICAgICAgICAgIChtX21lc2hUeXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6
QVRUQUNIRUQpID8gIkF0dGFjaGVkIiA6ICJEZXRhY2hlZCIpOworICAgICAgICBtX3BvaW50cy53
aWR0aCgpLCBtX3BvaW50cy5oZWlnaHQoKSwgbV9tZXNoQm94LngoKSwgbV9tZXNoQm94LnkoKSwg
bV9tZXNoQm94LndpZHRoKCksIG1fbWVzaEJveC5oZWlnaHQoKSwKKyAgICAgICAgKG1fbWVzaFR5
cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCkgPyAiQXR0YWNoZWQiIDogIkRldGFjaGVkIik7CiAgICAg
cHJpbnRmKCItLS1WZXJ0ZXg6XG5cdCIpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBt
X3ZlcnRpY2VzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIHByaW50ZigiJWYgIiwgbV92ZXJ0aWNl
cy5hdChpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5oCmluZGV4IGIz
YTE4NDcuLjdhYmFjMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5o
CkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICAvLyBhbmQgJ2NvbHVtbnMnIG51bWJlciBv
ZiBjb2x1bW5zIHdpdGggYSB0b3RhbCBvZiAncm93cyArIDEnICogJ2NvbHVtbnMgKyAxJyB2ZXJ0
aWNlcy4KICAgICAvLyBNZXNoQm94IGlzIHRoZSBmaWx0ZXJlZCBhcmVhIGNhbGN1bGF0ZWQgZGVm
aW5lZCB1c2luZyB0aGUgYm9yZGVyLWJveCwgcGFkZGluZy1ib3gsIGNvbnRlbnQtYm94IG9yIGZp
bHRlci1ib3gKICAgICAvLyBhdHRyaWJ1dGVzLiBBIHZhbHVlIG9mICgwLCAwLCAxLCAxKSB3aWxs
IGNvdmVyIHRoZSBlbnRpcmUgb3V0cHV0IHN1cmZhY2UuCi0gICAgQ3VzdG9tRmlsdGVyTWVzaEdl
bmVyYXRvcih1bnNpZ25lZCBjb2x1bW5zLCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3Qm
IG1lc2hCb3gsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUpOworICAgIEN1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29uc3Qg
RmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7CiAKICAgICBjb25zdCBW
ZWN0b3I8ZmxvYXQ+JiB2ZXJ0aWNlcygpIGNvbnN0IHsgcmV0dXJuIG1fdmVydGljZXM7IH0KICAg
ICBjb25zdCBWZWN0b3I8dWludDE2X3Q+JiBpbmRpY2VzKCkgY29uc3QgeyByZXR1cm4gbV9pbmRp
Y2VzOyB9CkBAIC02NiwxMiArNjYsMTIgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIEF0dGFjaGVkTWVzaFZlcnRleFNpemUgPSBQb3NpdGlvbkF0dHJpYlNp
emUgKyBUZXhBdHRyaWJTaXplICsgTWVzaEF0dHJpYlNpemU7CiAgICAgICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBEZXRhY2hlZE1lc2hWZXJ0ZXhTaXplID0gQXR0YWNoZWRNZXNoVmVydGV4U2l6
ZSArIFRyaWFuZ2xlQXR0cmliU2l6ZTsKLSAgICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uOjpBVFRBQ0hFRCA/IEF0dGFjaGVkTWVzaFZlcnRleFNpemUgOiBE
ZXRhY2hlZE1lc2hWZXJ0ZXhTaXplOworICAgICAgICByZXR1cm4gbV9tZXNoVHlwZSA9PSBNZXNo
VHlwZUF0dGFjaGVkID8gQXR0YWNoZWRNZXNoVmVydGV4U2l6ZSA6IERldGFjaGVkTWVzaFZlcnRl
eFNpemU7CiAgICAgfQogCiAgICAgdW5zaWduZWQgdmVydGljZXNDb3VudCgpIGNvbnN0CiAgICAg
ewotICAgICAgICByZXR1cm4gbV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkFU
VEFDSEVEID8gcG9pbnRzQ291bnQoKSA6IGluZGljZXNDb3VudCgpOworICAgICAgICByZXR1cm4g
bV9tZXNoVHlwZSA9PSBNZXNoVHlwZUF0dGFjaGVkID8gcG9pbnRzQ291bnQoKSA6IGluZGljZXND
b3VudCgpOwogICAgIH0KIAogcHJpdmF0ZToKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgog
ICAgIFZlY3RvcjxmbG9hdD4gbV92ZXJ0aWNlczsKICAgICBWZWN0b3I8dWludDE2X3Q+IG1faW5k
aWNlczsKIAotICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbV9tZXNoVHlwZTsK
KyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBlOwogICAgIEludFNpemUgbV9wb2lu
dHM7CiAgICAgSW50U2l6ZSBtX3RpbGVzOwogICAgIEZsb2F0U2l6ZSBtX3RpbGVTaXplSW5QaXhl
bHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlck9wZXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5jcHAKaW5kZXggZWQ1N2I3My4uYjYz
ZWFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcApAQCAtOTUsNyArOTUs
NyBAQCB2b2lkIGJsZW5kQ3VzdG9tRmlsdGVyUGFyYW1ldGVycyhjb25zdCBDdXN0b21GaWx0ZXJQ
YXJhbWV0ZXJMaXN0JiBmcm9tTGlzdCwgY29ucwogICAgIEFTU0VSVChjaGVja0N1c3RvbUZpbHRl
clBhcmFtZXRlcnNPcmRlcihyZXN1bHRMaXN0KSk7CiB9CiAKLUN1c3RvbUZpbHRlck9wZXJhdGlv
bjo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4g
cHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYgc29ydGVkUGFyYW1ldGVy
cywgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSBt
ZXNoQm94VHlwZSwgTWVzaFR5cGUgbWVzaFR5cGUpCitDdXN0b21GaWx0ZXJPcGVyYXRpb246OkN1
c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+IHByb2dy
YW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHNvcnRlZFBhcmFtZXRlcnMsIHVu
c2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgTWVzaEJveFR5cGUgbWVzaEJv
eFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIDogRmlsdGVyT3BlcmF0
aW9uKENVU1RPTSkKICAgICAsIG1fcHJvZ3JhbShwcm9ncmFtKQogICAgICwgbV9wYXJhbWV0ZXJz
KHNvcnRlZFBhcmFtZXRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaAppbmRleCAw
ZDY0ZDIzLi5jN2Q2NWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmgKQEAgLTMx
LDYgKzMxLDcgQEAKICNkZWZpbmUgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uX2gKIAogI2lmIEVOQUJM
RShDU1NfU0hBREVSUykKKyNpbmNsdWRlICJDdXN0b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNs
dWRlICJDdXN0b21GaWx0ZXJQcm9ncmFtLmgiCiAjaW5jbHVkZSAiRmlsdGVyT3BlcmF0aW9uLmgi
CiAjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKQEAgLTU2LDEzICs1Nyw4IEBAIHB1YmxpYzoKICAg
ICAgICAgUEFERElOR19CT1gsCiAgICAgICAgIENPTlRFTlRfQk9YCiAgICAgfTsKLSAgICAKLSAg
ICBlbnVtIE1lc2hUeXBlIHsKLSAgICAgICAgQVRUQUNIRUQsCi0gICAgICAgIERFVEFDSEVECi0g
ICAgfTsKLSAgICAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJPcGVyYXRpb24+
IGNyZWF0ZShQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+IHByb2dyYW0sIGNvbnN0IEN1
c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHNvcnRlZFBhcmFtZXRlcnMsIHVuc2lnbmVkIG1lc2hS
b3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgTWVzaEJveFR5cGUgbWVzaEJveFR5cGUsIE1lc2hU
eXBlIG1lc2hUeXBlKQorICAgICAgICAKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDdXN0b21GaWx0
ZXJPcGVyYXRpb24+IGNyZWF0ZShQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+IHByb2dy
YW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHNvcnRlZFBhcmFtZXRlcnMsIHVu
c2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgTWVzaEJveFR5cGUgbWVzaEJv
eFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIHsKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBDdXN0b21GaWx0ZXJPcGVyYXRpb24ocHJvZ3JhbSwgc29ydGVkUGFy
YW1ldGVycywgbWVzaFJvd3MsIG1lc2hDb2x1bW5zLCBtZXNoQm94VHlwZSwgbWVzaFR5cGUpKTsK
ICAgICB9CkBAIC03NSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBtZXNoQ29sdW1u
cygpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaENvbHVtbnM7IH0KICAgICAKICAgICBNZXNoQm94VHlw
ZSBtZXNoQm94VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaEJveFR5cGU7IH0KLSAgICBNZXNo
VHlwZSBtZXNoVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaFR5cGU7IH0KKyAgICBDdXN0b21G
aWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaFR5cGU7IH0KICAg
ICAKICAgICB2aXJ0dWFsIH5DdXN0b21GaWx0ZXJPcGVyYXRpb24oKTsKICAgICAKQEAgLTk5LDcg
Kzk1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICYmIGN1c3RvbUZpbHRlclBhcmFtZXRl
cnNFcXVhbChtX3BhcmFtZXRlcnMsIG90aGVyLT5tX3BhcmFtZXRlcnMpOwogICAgIH0KICAgICAK
LSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb24oUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQcm9ncmFt
PiwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYsIHVuc2lnbmVkIG1lc2hSb3dzLCB1
bnNpZ25lZCBtZXNoQ29sdW1ucywgTWVzaEJveFR5cGUsIE1lc2hUeXBlKTsKKyAgICBDdXN0b21G
aWx0ZXJPcGVyYXRpb24oUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQcm9ncmFtPiwgY29uc3QgQ3Vz
dG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYsIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNo
Q29sdW1ucywgTWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsKIAogICAgIFJlZlB0
cjxDdXN0b21GaWx0ZXJQcm9ncmFtPiBtX3Byb2dyYW07CiAgICAgQ3VzdG9tRmlsdGVyUGFyYW1l
dGVyTGlzdCBtX3BhcmFtZXRlcnM7CkBAIC0xMDcsNyArMTAzLDcgQEAgcHJpdmF0ZToKICAgICB1
bnNpZ25lZCBtX21lc2hSb3dzOwogICAgIHVuc2lnbmVkIG1fbWVzaENvbHVtbnM7CiAgICAgTWVz
aEJveFR5cGUgbV9tZXNoQm94VHlwZTsKLSAgICBNZXNoVHlwZSBtX21lc2hUeXBlOworICAgIEN1
c3RvbUZpbHRlck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlclByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcAppbmRleCA4ZmQ4OGVhLi4yYThmY2Uw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlclByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAKQEAgLTM4LDkgKzM4LDEwIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6Q3VzdG9tRmlsdGVy
UHJvZ3JhbShDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9t
RmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncykKK0N1c3RvbUZpbHRlclByb2dy
YW06OkN1c3RvbUZpbHRlclByb2dyYW0oQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5
cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MsIEN1
c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIDogbV9wcm9ncmFtVHlwZShwcm9ncmFt
VHlwZSkKICAgICAsIG1fbWl4U2V0dGluZ3MobWl4U2V0dGluZ3MpCisgICAgLCBtX21lc2hUeXBl
KG1lc2hUeXBlKQogewogICAgIC8vIEtlZXAgdGhlIGNvbnN0cnVjdG9yIHByb3RlY3RlZCB0byBw
cmV2ZW50IGNyZWF0aW5nIHRoaXMgb2JqZWN0IGRpcmVjdGx5LgogfQpAQCAtODIsMTIgKzgzLDE0
IEBAIHZvaWQgQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6bm90aWZ5Q2xpZW50cygpCiBDdXN0b21GaWx0
ZXJQcm9ncmFtSW5mbyBDdXN0b21GaWx0ZXJQcm9ncmFtOjpwcm9ncmFtSW5mbygpIGNvbnN0CiB7
CiAgICAgQVNTRVJUKGlzTG9hZGVkKCkpOwotICAgIHJldHVybiBDdXN0b21GaWx0ZXJQcm9ncmFt
SW5mbyh2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSwgZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSwgbV9wcm9n
cmFtVHlwZSwgbV9taXhTZXR0aW5ncyk7CisgICAgcmV0dXJuIEN1c3RvbUZpbHRlclByb2dyYW1J
bmZvKHZlcnRleFNoYWRlclN0cmluZygpLCBmcmFnbWVudFNoYWRlclN0cmluZygpLCBtX3Byb2dy
YW1UeXBlLCBtX21peFNldHRpbmdzLCBtX21lc2hUeXBlKTsKIH0KIAogYm9vbCBDdXN0b21GaWx0
ZXJQcm9ncmFtOjpvcGVyYXRvcj09KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW0mIG8pIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1fcHJvZ3JhbVR5cGUgPT0gby5tX3Byb2dyYW1UeXBlICYmIChtX3By
b2dyYW1UeXBlICE9IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVOVF9URVhUVVJFIHx8IG1fbWl4
U2V0dGluZ3MgPT0gby5tX21peFNldHRpbmdzKTsKKyAgICByZXR1cm4gbV9wcm9ncmFtVHlwZSA9
PSBvLm1fcHJvZ3JhbVR5cGUKKyAgICAgICAgJiYgKG1fcHJvZ3JhbVR5cGUgIT0gUFJPR1JBTV9U
WVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgfHwgbV9taXhTZXR0aW5ncyA9PSBvLm1fbWl4U2V0
dGluZ3MpCisgICAgICAgICYmIG1fbWVzaFR5cGUgPT0gby5tX21lc2hUeXBlOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCmluZGV4IDQ0NWZi
NDguLmY1NWFkMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBAIC01MSwxNyArNTEs
MTYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkN1c3RvbUZpbHRlclByb2dyYW0oKTsKIAogICAg
IHZpcnR1YWwgYm9vbCBpc0xvYWRlZCgpIGNvbnN0ID0gMDsKLSAgICAKLSAgICBDdXN0b21GaWx0
ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX21peFNl
dHRpbmdzOyB9CiAKICAgICB2b2lkIGFkZENsaWVudChDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50
Kik7CiAgICAgdm9pZCByZW1vdmVDbGllbnQoQ3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudCopOwog
ICAgIAogICAgIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvIHByb2dyYW1JbmZvKCkgY29uc3Q7CiAg
ICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUoKSBjb25zdCB7IHJldHVybiBt
X3Byb2dyYW1UeXBlOyB9CisgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNl
dHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9taXhTZXR0aW5nczsgfQogCiAgICAgLy8gU3R5bGVD
dXN0b21GaWx0ZXJQcm9ncmFtIGhhcyB0aGUgb25seSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGZv
bGxvd2luZyBtZXRob2QuIFRoYXQgbWVhbnMsIGl0IGNhc3RzIHRvIFN0eWxlQ3VzdG9tRmlsdGVy
UHJvZ3JhbQotICAgIC8vIHdpdGhvdXRoIGNoZWNraW5nIHRoZSB0eXBlLiBJZiB5b3UgYWRkIGFu
b3RoZXIgaW1wbGVtZW50YXRpb24sIGFsc28gYWRkIGEgbWVjaGFuaXNtIHRvIGNoZWNrIGZvciB0
aGUgY29ycmVjdCB0eXBlLgorICAgIC8vIHdpdGhvdXQgY2hlY2tpbmcgdGhlIHR5cGUuIElmIHlv
dSBhZGQgYW5vdGhlciBpbXBsZW1lbnRhdGlvbiwgYWxzbyBhZGQgYSBtZWNoYW5pc20gdG8gY2hl
Y2sgZm9yIHRoZSBjb3JyZWN0IHR5cGUuCiAgICAgdmlydHVhbCBib29sIG9wZXJhdG9yPT0oY29u
c3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbSYpIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3IhPShjb25z
dCBDdXN0b21GaWx0ZXJQcm9ncmFtJiBvKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG8pOyB9
CiBwcm90ZWN0ZWQ6CkBAIC03NiwxMyArNzUsMTQgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
dm9pZCBkaWRSZW1vdmVMYXN0Q2xpZW50KCkgPSAwOwogCiAgICAgLy8gS2VlcCB0aGUgY29uc3Ry
dWN0b3IgcHJvdGVjdGVkIHRvIHByZXZlbnQgY3JlYXRpbmcgdGhpcyBvYmplY3QgZGlyZWN0bHku
Ci0gICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbShDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSwgY29uc3Qg
Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJik7CisgICAgQ3VzdG9tRmlsdGVyUHJvZ3Jh
bShDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNl
dHRpbmdzJiwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogCiBwcml2YXRlOgogICAgIHR5cGVkZWYg
SGFzaENvdW50ZWRTZXQ8Q3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudCo+IEN1c3RvbUZpbHRlclBy
b2dyYW1DbGllbnRMaXN0OwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1DbGllbnRMaXN0IG1fY2xp
ZW50czsKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBtX3Byb2dyYW1UeXBlOwogICAgIEN1
c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtX21peFNldHRpbmdzOworICAgIEN1c3RvbUZp
bHRlck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbUluZm8uY3BwCmluZGV4IDdmNGFmM2UuLjJhYjI3YmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUlu
Zm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyUHJvZ3JhbUluZm8uY3BwCkBAIC02NCwxMSArNjQsMTIgQEAgYm9vbCBDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbzo6aXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdAogICAgICAg
ICAmJiBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCk7CiB9
CiAKLUN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25z
dCBTdHJpbmcmIHZlcnRleFNoYWRlciwgY29uc3QgU3RyaW5nJiBmcmFnbWVudFNoYWRlciwgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dy
YW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MpCitDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6Q3Vz
dG9tRmlsdGVyUHJvZ3JhbUluZm8oY29uc3QgU3RyaW5nJiB2ZXJ0ZXhTaGFkZXIsIGNvbnN0IFN0
cmluZyYgZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBl
LCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzLCBDdXN0
b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6IG1fdmVydGV4U2hhZGVyU3RyaW5nKHZl
cnRleFNoYWRlcikKICAgICAsIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcoZnJhZ21lbnRTaGFkZXIp
CiAgICAgLCBtX3Byb2dyYW1UeXBlKHByb2dyYW1UeXBlKQogICAgICwgbV9taXhTZXR0aW5ncyht
aXhTZXR0aW5ncykKKyAgICAsIG1fbWVzaFR5cGUobWVzaFR5cGUpCiB7CiAgICAgLy8gQXQgbGVh
c3Qgb25lIG9mIHRoZSBzaGFkZXJzIG5lZWRzIHRvIGJlIG5vbi1udWxsLgogICAgIEFTU0VSVCgh
bV92ZXJ0ZXhTaGFkZXJTdHJpbmcuaXNOdWxsKCkgfHwgIW1fZnJhZ21lbnRTaGFkZXJTdHJpbmcu
aXNOdWxsKCkpOwpAQCAtNzgsMTQgKzc5LDEzIEBAIHVuc2lnbmVkIEN1c3RvbUZpbHRlclByb2dy
YW1JbmZvOjpoYXNoKCkgY29uc3QKIHsKICAgICAvLyBBdCBsZWFzdCBvbmUgb2YgdGhlIHNoYWRl
cnMgbmVlZHMgdG8gYmUgbm9uLW51bGwuCiAgICAgQVNTRVJUKCFtX3ZlcnRleFNoYWRlclN0cmlu
Zy5pc051bGwoKSB8fCAhbV9mcmFnbWVudFNoYWRlclN0cmluZy5pc051bGwoKSk7Ci0KLSAgICBi
b29sIGJsZW5kc0VsZW1lbnRUZXh0dXJlID0gKG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBF
X0JMRU5EU19FTEVNRU5UX1RFWFRVUkUpOwotICAgIHVpbnRwdHJfdCBoYXNoQ29kZXNbNV0gPSB7
CisgICAgdWludHB0cl90IGhhc2hDb2Rlc1s2XSA9IHsKICAgICAgICAgaGFzaFBvc3NpYmx5TnVs
bFN0cmluZyhtX3ZlcnRleFNoYWRlclN0cmluZyksCiAgICAgICAgIGhhc2hQb3NzaWJseU51bGxT
dHJpbmcobV9mcmFnbWVudFNoYWRlclN0cmluZyksCi0gICAgICAgIGJsZW5kc0VsZW1lbnRUZXh0
dXJlLAotICAgICAgICBibGVuZHNFbGVtZW50VGV4dHVyZSA/IG1fbWl4U2V0dGluZ3MuYmxlbmRN
b2RlIDogMCwKLSAgICAgICAgYmxlbmRzRWxlbWVudFRleHR1cmUgPyBtX21peFNldHRpbmdzLmNv
bXBvc2l0ZU9wZXJhdG9yIDogMAorICAgICAgICBtX3Byb2dyYW1UeXBlID09IFBST0dSQU1fVFlQ
RV9CTEVORFNfRUxFTUVOVF9URVhUVVJFLAorICAgICAgICBtX3Byb2dyYW1UeXBlID09IFBST0dS
QU1fVFlQRV9CTEVORFNfRUxFTUVOVF9URVhUVVJFID8gbV9taXhTZXR0aW5ncy5ibGVuZE1vZGUg
OiAwLAorICAgICAgICBtX3Byb2dyYW1UeXBlID09IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVO
VF9URVhUVVJFID8gbV9taXhTZXR0aW5ncy5jb21wb3NpdGVPcGVyYXRvciA6IDAsCisgICAgICAg
IG1fbWVzaFR5cGUKICAgICB9OwogICAgIHJldHVybiBTdHJpbmdIYXNoZXI6Omhhc2hNZW1vcnk8
c2l6ZW9mKGhhc2hDb2Rlcyk+KCZoYXNoQ29kZXMpOwogfQpAQCAtOTcsNiArOTcsNyBAQCBib29s
IEN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjpvcGVyYXRvcj09KGNvbnN0IEN1c3RvbUZpbHRlclBy
b2dyYW1JbmZvJiBvKSBjb25zdAogCiAgICAgcmV0dXJuIG1fcHJvZ3JhbVR5cGUgPT0gby5tX3By
b2dyYW1UeXBlCiAgICAgICAgICYmIChtX3Byb2dyYW1UeXBlICE9IFBST0dSQU1fVFlQRV9CTEVO
RFNfRUxFTUVOVF9URVhUVVJFIHx8IG1fbWl4U2V0dGluZ3MgPT0gby5tX21peFNldHRpbmdzKQor
ICAgICAgICAmJiBtX21lc2hUeXBlID09IG8ubV9tZXNoVHlwZQogICAgICAgICAmJiBtX3ZlcnRl
eFNoYWRlclN0cmluZyA9PSBvLm1fdmVydGV4U2hhZGVyU3RyaW5nCiAgICAgICAgICYmIG1fZnJh
Z21lbnRTaGFkZXJTdHJpbmcgPT0gby5tX2ZyYWdtZW50U2hhZGVyU3RyaW5nOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJQcm9ncmFtSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oCmluZGV4IDNiNTQ0YzUuLjI1ZTdkYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmls
dGVyUHJvZ3JhbUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNkZWZp
bmUgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm9faAogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQor
I2luY2x1ZGUgIkN1c3RvbUZpbHRlckNvbnN0YW50cy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzVHlw
ZXMuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CkBAIC02NCw3ICs2NSw3IEBAIHN0
cnVjdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgewogLy8gTnVsbCBzdHJpbmdzIGFy
ZSBwbGFjZWhvbGRlcnMgZm9yIHRoZSBkZWZhdWx0IHNoYWRlci4KIGNsYXNzIEN1c3RvbUZpbHRl
clByb2dyYW1JbmZvIHsKIHB1YmxpYzoKLSAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSwgY29uc3Qg
Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJik7CisgICAgQ3VzdG9tRmlsdGVyUHJvZ3Jh
bUluZm8oY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5
cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYsIEN1c3RvbUZpbHRlck1l
c2hUeXBlKTsKIAogICAgIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvKCk7CiAgICAgYm9vbCBpc0Vt
cHR5VmFsdWUoKSBjb25zdDsKQEAgLTc5LDExICs4MCwxMyBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
U3RyaW5nJiBmcmFnbWVudFNoYWRlclN0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fZnJhZ21lbnRT
aGFkZXJTdHJpbmc7IH0KICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvZ3JhbVR5cGU7IH0KICAgICBjb25zdCBDdXN0b21GaWx0ZXJQ
cm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9taXhTZXR0
aW5nczsgfQorICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1
cm4gbV9tZXNoVHlwZTsgfQogcHJpdmF0ZToKICAgICBTdHJpbmcgbV92ZXJ0ZXhTaGFkZXJTdHJp
bmc7CiAgICAgU3RyaW5nIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmc7CiAgICAgQ3VzdG9tRmlsdGVy
UHJvZ3JhbVR5cGUgbV9wcm9ncmFtVHlwZTsKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0
dGluZ3MgbV9taXhTZXR0aW5nczsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBl
OwogfTsKIAogc3RydWN0IEN1c3RvbUZpbHRlclByb2dyYW1JbmZvSGFzaCB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcAppbmRleCBkNTQyMTU3Li4zNmFh
OTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAK
QEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFt
LmgiCiAKICNpbmNsdWRlICJBTkdMRVdlYktpdEJyaWRnZS5oIgorI2luY2x1ZGUgIkN1c3RvbUZp
bHRlckNvbnN0YW50cy5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCIK
ICNpbmNsdWRlICJDdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oIgogI2luY2x1ZGUgIk5vdEltcGxl
bWVudGVkLmgiCkBAIC02Miw3ICs2Myw3IEBAIHN0YXRpYyBTeW1ib2xOYW1lVG9UeXBlTWFwKiBi
dWlsdEluQXR0cmlidXRlTmFtZVRvVHlwZU1hcCgpCiAgICAgcmV0dXJuIG5hbWVUb1R5cGVNYXA7
CiB9CiAKLXN0YXRpYyBib29sIHZhbGlkYXRlU3ltYm9scyhjb25zdCBWZWN0b3I8QU5HTEVTaGFk
ZXJTeW1ib2w+JiBzeW1ib2xzKQorYm9vbCBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjp2
YWxpZGF0ZVN5bWJvbHMoY29uc3QgVmVjdG9yPEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scykK
IHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN5bWJvbHMuc2l6ZSgpOyArK2kpIHsKICAg
ICAgICAgY29uc3QgQU5HTEVTaGFkZXJTeW1ib2wmIHN5bWJvbCA9IHN5bWJvbHNbaV07CkBAIC03
MCwxMyArNzEsMjQgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVTeW1ib2xzKGNvbnN0IFZlY3RvcjxB
TkdMRVNoYWRlclN5bWJvbD4mIHN5bWJvbHMpCiAgICAgICAgIGNhc2UgU0hBREVSX1NZTUJPTF9U
WVBFX0FUVFJJQlVURTogewogICAgICAgICAgICAgU3ltYm9sTmFtZVRvVHlwZU1hcCogYXR0cmli
dXRlTmFtZVRvVHlwZU1hcCA9IGJ1aWx0SW5BdHRyaWJ1dGVOYW1lVG9UeXBlTWFwKCk7CiAgICAg
ICAgICAgICBTeW1ib2xOYW1lVG9UeXBlTWFwOjppdGVyYXRvciBidWlsdEluQXR0cmlidXRlID0g
YXR0cmlidXRlTmFtZVRvVHlwZU1hcC0+ZmluZChzeW1ib2wubmFtZSk7Ci0gICAgICAgICAgICBp
ZiAoYnVpbHRJbkF0dHJpYnV0ZSAhPSBhdHRyaWJ1dGVOYW1lVG9UeXBlTWFwLT5lbmQoKSAmJiBz
eW1ib2wuZGF0YVR5cGUgIT0gYnVpbHRJbkF0dHJpYnV0ZS0+dmFsdWUpIHsKKyAgICAgICAgICAg
IGlmIChidWlsdEluQXR0cmlidXRlID09IGF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAtPmVuZCgpKSB7
CisgICAgICAgICAgICAgICAgLy8gVGhlIGF1dGhvciBkZWZpbmVkIGEgY3VzdG9tIGF0dHJpYnV0
ZS4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogUmVwb3J0IHRoZSB2YWxpZGF0aW9uIGVycm9y
LgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NDQxNgorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGlmIChzeW1ib2wubmFtZSA9PSAiYV90cmlhbmdsZUNvb3JkIiAmJiBtX3By
b2dyYW1JbmZvLm1lc2hUeXBlKCkgIT0gTWVzaFR5cGVEZXRhY2hlZCkgeworICAgICAgICAgICAg
ICAgIC8vIGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgZGV0YWNoZWQgbWVz
aGVzLgorICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSZXBvcnQgdGhlIHZhbGlkYXRpb24gZXJy
b3IuCisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc0NDE2CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgaWYgKHN5bWJvbC5kYXRhVHlwZSAhPSBidWlsdEluQXR0cmlidXRlLT52
YWx1ZSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBhdXRob3IgZGVmaW5lZCBvbmUgb2YgdGhl
IGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0aGUgd3JvbmcgdHlwZS4KKyAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogUmVwb3J0IHRoZSB2YWxpZGF0aW9uIGVycm9yLgorICAgICAgICAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8g
RklYTUU6IFJldHVybiBmYWxzZSB3aGVuIHRoZSBhdHRyaWJ1dGUgaXMgbm90IG9uZSBvZiB0aGUg
YnVpbHQtaW4gYXR0cmlidXRlcy4KLSAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ICAgICAgICAgY2FzZSBTSEFERVJfU1lNQk9MX1RZUEVfVU5JRk9STToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRh
dGVkUHJvZ3JhbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgKaW5kZXggMzIyYzYzMC4uNjFmZjRiYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgKQEAgLTEwMCw2ICsx
MDAsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBTdHJpbmcgYmxlbmRGdW5jdGlvblN0cmluZyhC
bGVuZE1vZGUpOwogICAgIHN0YXRpYyBTdHJpbmcgY29tcG9zaXRlRnVuY3Rpb25TdHJpbmcoQ29t
cG9zaXRlT3BlcmF0b3IpOwogCisgICAgYm9vbCB2YWxpZGF0ZVN5bWJvbHMoY29uc3QgVmVjdG9y
PEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scyk7CisKICAgICB2b2lkIHJld3JpdGVNaXhWZXJ0
ZXhTaGFkZXIoKTsKICAgICB2b2lkIHJld3JpdGVNaXhGcmFnbWVudFNoYWRlcigpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9t
RmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVD
dXN0b21GaWx0ZXIuY3BwCmluZGV4IDcwN2VkYjguLjQwN2VjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0
ZXIuY3BwCkBAIC04Miw4ICs4Miw3IEBAIHN0YXRpYyB2b2lkIG9ydGhvZ29uYWxQcm9qZWN0aW9u
TWF0cml4KFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgsIGZsb2F0IGxlZnQsCiB9CiAKIEZF
Q3VzdG9tRmlsdGVyOjpGRUN1c3RvbUZpbHRlcihGaWx0ZXIqIGZpbHRlciwgQ3VzdG9tRmlsdGVy
R2xvYmFsQ29udGV4dCogY3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCwgUGFzc1JlZlB0cjxDdXN0
b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtPiB2YWxpZGF0ZWRQcm9ncmFtLCBjb25zdCBDdXN0b21G
aWx0ZXJQYXJhbWV0ZXJMaXN0JiBwYXJhbWV0ZXJzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmls
dGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAgIHVuc2lnbmVk
IG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpN
ZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgOiBGaWx0ZXJF
ZmZlY3QoZmlsdGVyKQogICAgICwgbV9nbG9iYWxDb250ZXh0KGN1c3RvbUZpbHRlckdsb2JhbENv
bnRleHQpCiAgICAgLCBtX3ZhbGlkYXRlZFByb2dyYW0odmFsaWRhdGVkUHJvZ3JhbSkKQEAgLTEw
Niw4ICsxMDUsNyBAQCBGRUN1c3RvbUZpbHRlcjo6RkVDdXN0b21GaWx0ZXIoRmlsdGVyKiBmaWx0
ZXIsIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQqIGN1c3RvbQogfQogCiBQYXNzUmVmUHRyPEZF
Q3VzdG9tRmlsdGVyPiBGRUN1c3RvbUZpbHRlcjo6Y3JlYXRlKEZpbHRlciogZmlsdGVyLCBDdXN0
b21GaWx0ZXJHbG9iYWxDb250ZXh0KiBjdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LCBQYXNzUmVm
UHRyPEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0+IHZhbGlkYXRlZFByb2dyYW0sIGNvbnN0
IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHBhcmFtZXRlcnMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1l
c2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUpCisgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVu
c2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1l
c2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKIHsKICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEZFQ3VzdG9tRmlsdGVyKGZpbHRlciwgY3VzdG9tRmlsdGVyR2xvYmFsQ29u
dGV4dCwgdmFsaWRhdGVkUHJvZ3JhbSwgcGFyYW1ldGVycywgbWVzaFJvd3MsIG1lc2hDb2x1bW5z
LCBtZXNoQm94VHlwZSwgbWVzaFR5cGUpKTsKIH0KQEAgLTU3Nyw3ICs1NzUsNyBAQCB2b2lkIEZF
Q3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMoUGxhdGZvcm0zRE9iamVjdCBpbnB1
dFRleHR1cmUpCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk0MzU4CiAgICAgYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+aW50ZXJu
YWxUZXhDb29yZEF0dHJpYkxvY2F0aW9uKCksIFRleEF0dHJpYlNpemUsIFRleEF0dHJpYk9mZnNl
dCk7CiAgICAgYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+bWVzaEF0dHJp
YkxvY2F0aW9uKCksIE1lc2hBdHRyaWJTaXplLCBNZXNoQXR0cmliT2Zmc2V0KTsKLSAgICBpZiAo
bV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkRFVEFDSEVEKQorICAgIGlmICht
X21lc2hUeXBlID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgIGJpbmRWZXJ0ZXhBdHRyaWJ1
dGUobV9jb21waWxlZFByb2dyYW0tPnRyaWFuZ2xlQXR0cmliTG9jYXRpb24oKSwgVHJpYW5nbGVB
dHRyaWJTaXplLCBUcmlhbmdsZUF0dHJpYk9mZnNldCk7CiAgICAgCiAgICAgYmluZFByb2dyYW1Q
YXJhbWV0ZXJzKCk7CkBAIC01ODksNyArNTg3LDcgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6dW5i
aW5kVmVydGV4QXR0cmlidXRlcygpCiAgICAgdW5iaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGls
ZWRQcm9ncmFtLT50ZXhBdHRyaWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhBdHRyaWJ1
dGUobV9jb21waWxlZFByb2dyYW0tPmludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbigpKTsK
ICAgICB1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0tPm1lc2hBdHRyaWJM
b2NhdGlvbigpKTsKLSAgICBpZiAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246
OkRFVEFDSEVEKQorICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAg
ICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+dHJpYW5nbGVBdHRy
aWJMb2NhdGlvbigpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oCmluZGV4IDA5ZGE1ZjEuLjU2Yjc0
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVDdXN0b21GaWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmgKQEAgLTU5LDggKzU5LDcgQEAgY2xhc3MgSW50U2l6ZTsK
IGNsYXNzIEZFQ3VzdG9tRmlsdGVyIDogcHVibGljIEZpbHRlckVmZmVjdCB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RkVDdXN0b21GaWx0ZXI+IGNyZWF0ZShGaWx0ZXIqLCBDdXN0
b21GaWx0ZXJHbG9iYWxDb250ZXh0KiwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQ
cm9ncmFtPiwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYsCi0gICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0
ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlLCAKLSAgICAgICAgICAgICAgICAgICBDdXN0b21GaWx0
ZXJPcGVyYXRpb246Ok1lc2hUeXBlKTsKKyAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2ln
bmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlLCBDdXN0
b21GaWx0ZXJNZXNoVHlwZSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1BcHBseVNvZnR3
YXJlKCk7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKQEAgLTY5LDggKzY4LDcgQEAgcHVibGlj
OgogCiBwcml2YXRlOgogICAgIEZFQ3VzdG9tRmlsdGVyKEZpbHRlciosIEN1c3RvbUZpbHRlckds
b2JhbENvbnRleHQqLCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0+LCBj
b25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiwKLSAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlv
bjo6TWVzaEJveFR5cGUsIAotICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlv
bjo6TWVzaFR5cGUpOworICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENv
bHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1l
c2hUeXBlKTsKICAgICB+RkVDdXN0b21GaWx0ZXIoKTsKICAgICAKICAgICBib29sIGFwcGx5U2hh
ZGVyKCk7CkBAIC0xMzEsNyArMTI5LDcgQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fbWVz
aFJvd3M7CiAgICAgdW5zaWduZWQgbV9tZXNoQ29sdW1uczsKLSAgICBDdXN0b21GaWx0ZXJPcGVy
YXRpb246Ok1lc2hUeXBlIG1fbWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9t
ZXNoVHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0uaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0uaApp
bmRleCA1MzhhNTJlLi5hZTY4ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBAIC00NSw5ICs0NSw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSA6
IHB1YmxpYyBDdXN0b21GaWx0ZXJQcm9ncmFtLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
ewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFBhc3NSZWZQdHI8U3R5bGVT
aGFkZXI+IHZlcnRleFNoYWRlciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFk
ZXIsIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0
ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzKQorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+
IHZlcnRleFNoYWRlciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1
c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9n
cmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlw
ZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVDdXN0b21GaWx0ZXJQ
cm9ncmFtKHZlcnRleFNoYWRlciwgZnJhZ21lbnRTaGFkZXIsIHByb2dyYW1UeXBlLCBtaXhTZXR0
aW5ncykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlQ3VzdG9tRmlsdGVyUHJv
Z3JhbSh2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyLCBwcm9ncmFtVHlwZSwgbWl4U2V0dGlu
Z3MsIG1lc2hUeXBlKSk7CiAgICAgfQogICAgIAogICAgIHZvaWQgc2V0VmVydGV4U2hhZGVyKFBh
c3NSZWZQdHI8U3R5bGVTaGFkZXI+IHNoYWRlcikgeyBtX3ZlcnRleFNoYWRlciA9IHNoYWRlcjsg
fQpAQCAtMTMwLDggKzEzMCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgU3R5
bGVDdXN0b21GaWx0ZXJQcm9ncmFtKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRl
ciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclBy
b2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGlu
Z3MmIG1peFNldHRpbmdzKQotICAgICAgICA6IEN1c3RvbUZpbHRlclByb2dyYW0ocHJvZ3JhbVR5
cGUsIG1peFNldHRpbmdzKQorICAgIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbShQYXNzUmVmUHRy
PFN0eWxlU2hhZGVyPiB2ZXJ0ZXhTaGFkZXIsIFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IGZyYWdt
ZW50U2hhZGVyLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncywgQ3VzdG9tRmlsdGVyTWVz
aFR5cGUgbWVzaFR5cGUpCisgICAgICAgIDogQ3VzdG9tRmlsdGVyUHJvZ3JhbShwcm9ncmFtVHlw
ZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKQogICAgICAgICAsIG1fdmVydGV4U2hhZGVyKHZlcnRl
eFNoYWRlcikKICAgICAgICAgLCBtX2ZyYWdtZW50U2hhZGVyKGZyYWdtZW50U2hhZGVyKQogICAg
ICAgICAsIG1faXNWZXJ0ZXhTaGFkZXJMb2FkZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2Q1MDFk
Yi4uNmVhYzM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTI1ICBNYXgg
VnVqb3ZpYyAgPG12dWpvdmljQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIFJl
amVjdCB2ZXJ0ZXggc2hhZGVycyB3aXRoIGN1c3RvbSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENv
cmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAgICAgIFJlcGxhY2UgdGhlIG5vdyByZW1vdmVkIEN1
c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBm
cm9tCisgICAgICAgICAgICBDdXN0b21GaWx0ZXJDb25zdGFudHMuaC4KKwogMjAxMi0xMC0yNSAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgTG9hZGVy
U3RyYXRlZ3kgdG8gb3ZlcnJpZGUgdGhlIFJlc291cmNlTG9hZFNjaGVkdWxlcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5jcHAKaW5kZXgg
YjE3MGU2Yy4uNWVmODE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdy
YXBoaWNzQXJndW1lbnRDb2RlcnMuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaWYgRU5BQkxFKENT
U19TSEFERVJTKQogI2luY2x1ZGUgIldlYkN1c3RvbUZpbHRlclByb2dyYW0uaCIKICNpbmNsdWRl
IDxXZWJDb3JlL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9DdXN0b21GaWx0ZXJDb25zdGFudHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRl
ck51bWJlclBhcmFtZXRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJQcm9ncmFtLmg+CkBAIC0zMjEs
NyArMzIyLDcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZpbHRlck9wZXJhdGlvbnM+
OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLAogICAgICAgICAgICAgdW5zaWduZWQg
bWVzaFJvd3M7CiAgICAgICAgICAgICB1bnNpZ25lZCBtZXNoQ29sdW1uczsKICAgICAgICAgICAg
IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUgbWVzaEJveFR5cGU7Ci0gICAgICAg
ICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlOworICAgICAgICAg
ICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGU7CiAgICAgICAgICAgICBpZiAoIWRlY29k
ZXItPmRlY29kZShtZXNoUm93cykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUobWVzaENvbHVtbnMpKQo=
</data>
<flag name="commit-queue"
          id="184468"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170979</attachid>
            <date>2012-10-26 12:00:10 -0700</date>
            <delta_ts>2012-10-26 13:48:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98973-3.patch</filename>
            <type>text/plain</type>
            <size>60636</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYmQ0MzIzLi5jYjkxYjk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTItMTAt
MjUgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNoZWNrcyB0byB2
ZXJpZnk6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMgZG8gbm90
IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTspLgorICAgICAgICAo
MikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5vdCBleGVjdXRlIHdp
dGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBOb3RlIHRoYXQgaW4gQ1NTIEN1c3RvbSBG
aWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSBp
biBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hlcywgbm8gdmVydGlj
ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2ZXJ0ZXgKKyAgICAg
ICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
aWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0aWNlcyBjYW4gYmVs
b25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQgY2Fubm90IGlkZW50
aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAgICAgICBDU1MgRmls
dGVycyBTcGVjLCBWZXJ0ZXggQXR0cmlidXRlczoKKyAgICAgICAgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9GWFRGL3Jhdy1maWxlL3RpcC9maWx0ZXJzL2luZGV4Lmh0bWwjdmVydGV4LWF0dHJpYnV0
ZS12YXJpYWJsZXMKKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1s
OgorICAgICAgICAgICAgQWRkIHR3byBjaGVja3MgZm9yIHR3byBuZXcgdmVydGV4IHNoYWRlcnMu
IFVwZGF0ZSB0aGUgYV90cmlhbmdsZUNvb3JkIHR5cGUgY2hlY2sgdG8gdXNlCisgICAgICAgICAg
ICBhIGRldGFjaGVkIG1lc2gsIHNvIHRoZSB2ZXJ0ZXggc2hhZGVyIGZhaWxzIHRvIHZhbGlkYXRl
IGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzCisgICAgICAgICAgICBkZWZpbmVkIHdpdGggYW4g
aW5jb3JyZWN0IHR5cGUsIG5vdCBiZWNhdXNlIGl0IGRlZmluZXMgYV90cmlhbmdsZUNvb3JkIGlu
IGFuIGF0dGFjaGVkCisgICAgICAgICAgICBtZXNoLgorICAgICAgICAqIGNzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52czoK
KyAgICAgICAgICAgIEFkZGVkLiBUaGlzIHZlcnRleCBzaGFkZXIgZGVmaW5lcyBhX3RyaWFuZ2xl
Q29vcmQgd2l0aCB0aGUgY29ycmVjdCB0eXBlLiBIb3dldmVyLCB0aGlzCisgICAgICAgICAgICBz
aGFkZXIgaXMgcnVuIHdpdGggYW4gYW4gYXR0YWNoZWQgbWVzaCwgc28gaXQgc2hvdWxkIG5vdCBl
eGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20t
YXR0cmlidXRlLnZzOgorICAgICAgICAgICAgQWRkZWQuIFRoaXMgdmVydGV4IHNoYWRlciBkZWZp
bmVzIGEgY3VzdG9tIGF0dHJpYnV0ZS4gVGhlIGFzc29jaWF0ZWQgdGVzdCB2ZXJpZmllcworICAg
ICAgICAgICAgdGhhdCBpdCBkb2VzIG5vdCBleGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnM6CisgICAgICAgICAg
ICBBZGQgYSBjb21tZW50IHRoYXQgdGhpcyBzaGFkZXIgc2hvdWxkIGJlIHJ1biB3aXRoIGEgZGV0
YWNoZWQgbWVzaC4KKwogMjAxMi0xMC0yNiAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIENyYXNoIG9uIGxvYWRpbmcgU1ZHIGZpbHRlciByZXNvdXJjZSBv
biBIVE1MIGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0
b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0
cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKaW5kZXggNjc5MGZkZS4uNGQwMDRkMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0
ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVj
dGVkLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KLSAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhlY3V0ZSBp
ZiB0aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0
eXBlLjwvdGl0bGU+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMgZG8gbm90
IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0
aGUgd3JvbmcgdHlwZSBvciBkZWZpbmVzIGN1c3RvbSBhdHRyaWJ1dGVzLjwvdGl0bGU+CiAgICAg
PCEtLSAKICAgICAgICAgVGhpcyBpcyB0aGUgcmVmZXJlbmNlIGZpbGUgZm9yIHRoZSB0ZXN0Lgot
ICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDUgdmVydGljYWxseS1z
dGFja2VkIGdyZWVuIGJveGVzLgorICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91
bGQgc2VlIDcgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVzLgogICAgIC0tPgogICAgIDxz
dHlsZT4KICAgICBkaXYgewpAQCAtMjEsNSArMjEsNyBAQAogICAgIDxkaXY+PC9kaXY+CiAgICAg
PGRpdj48L2Rpdj4KICAgICA8ZGl2PjwvZGl2PgorICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48
L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0
cmlidXRlLXR5cGVzLmh0bWwKaW5kZXggYTZhYTA1NC4uZDU2NWJhMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmli
dXRlLXR5cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZh
bGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLmh0bWwKQEAgLTEsOCArMSw4IEBACiA8
IWRvY3R5cGUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci0gICAgPHRpdGxlPlRlc3RzIHRoYXQgY3Vz
dG9tIGZpbHRlcnMgZG8gbm90IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWlu
IGF0dHJpYnV0ZXMgd2l0aCB0aGUgd3JvbmcgdHlwZS48L3RpdGxlPgotICAgIDwhLS0gSWYgdGhl
IHRlc3QgcGFzc2VzLCB5b3Ugc2hvdWxkIHNlZSA1IHZlcnRpY2FsbHktc3RhY2tlZCBncmVlbiBi
b3hlcy4gLS0+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMgZG8gbm90IGV4
ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0aGUg
d3JvbmcgdHlwZSBvciBkZWZpbmVzIGN1c3RvbSBhdHRyaWJ1dGVzLjwvdGl0bGU+CisgICAgPCEt
LSBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDcgdmVydGljYWxseS1zdGFja2Vk
IGdyZWVuIGJveGVzLiAtLT4KICAgICA8c2NyaXB0PgogICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7CkBAIC0yNSw2ICsyNSw5IEBA
CiAgICAgICAgIGhlaWdodDogNTBweDsKICAgICAgICAgbWFyZ2luOiAxMHB4OwogICAgIH0KKyAg
ICAuaW52YWxpZC1jdXN0b20tYXR0cmlidXRlIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1
c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMnKSBtaXgo
dXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4
X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CisgICAgfQogICAgIC5pbnZhbGlkLXR5cGUtYS1tZXNo
LWNvb3JkIHsKICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNl
cy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21p
eC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAx
LjApOwogICAgIH0KQEAgLTM1LDE4ICszOCwyOCBAQAogICAgICAgICAtd2Via2l0LWZpbHRlcjog
Y3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRleC1jb29yZC52cycpIG1p
eCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBt
aXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsKICAgICB9CiAgICAgLmludmFsaWQtdHlwZS1hLXRy
aWFuZ2xlLWNvb3JkIHsKLSAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jl
c291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4w
IDAuMCAwLjAgMS4wKTsKKyAgICAgICAgLyogVGhpcyBjdXN0b20gZmlsdGVyIHVzZXMgYSBkZXRh
Y2hlZCBtZXNoIGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzIG9ubHkgYXZhaWxhYmxlIHdpdGgg
YSBkZXRhY2hlZCBtZXNoLiAqLworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgn
Li4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIDEgMSBkZXRh
Y2hlZCwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CiAgICAgfQogICAgIC5pbnZhbGlkLXR5
cGUtYXR0cmlidXRlLWFycmF5IHsKICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwo
Jy4uL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xv
ciAxLjAgMC4wIDAuMCAxLjApOyAgICAgICAgCiAgICAgfQorICAgIC5pbnZhbGlkLXR5cGUtYXR0
cmlidXRlLWFycmF5IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzJykgbWl4KHVybCgnLi4vcmVz
b3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAg
MC4wIDAuMCAxLjApOyAgICAgICAgCisgICAgfQorICAgIC5pbnZhbGlkLWF0dGFjaGVkLW1lc2gt
YS10cmlhbmdsZS1jb29yZCB7CisgICAgICAgIC8qIFRoaXMgY3VzdG9tIGZpbHRlciB1c2VzIGFu
IGF0dGFjaGVkIG1lc2ggdG8gdmVyaWZ5IHRoYXQgYV90cmlhbmdsZUNvb3JkIGlzIG5vdCBhIGF2
YWlsYWJsZSB3aXRoIGFuIGF0dGFjaGVkIG1lc2guICovCisgICAgICAgIC13ZWJraXQtZmlsdGVy
OiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgt
YXR0YWNoZWQtbWVzaC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBu
b3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsgICAgICAgIAor
ICAgIH0KICAgICA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
ICAgIDxkaXYgY2xhc3M9ImludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZSI+PC9kaXY+CiAgICAgPGRp
diBjbGFzcz0iaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFz
cz0iaW52YWxpZC10eXBlLWEtcG9zaXRpb24iPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFs
aWQtdHlwZS1hLXRleC1jb29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iaW52YWxpZC10eXBl
LWEtdHJpYW5nbGUtY29vcmQiPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFsaWQtdHlwZS1h
dHRyaWJ1dGUtYXJyYXkiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImludmFsaWQtYXR0YWNoZWQt
bWVzaC1hLXRyaWFuZ2xlLWNvb3JkIj48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xl
LWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzU4YzhlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5n
bGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNoLnZzCkBAIC0wLDAgKzEsMTIgQEAKKy8vIFRoaXMg
c2hhZGVyIHNob3VsZCBub3QgZXhlY3V0ZSBpZiB0aGUgbWVzaCBpcyBhdHRhY2hlZCBiZWNhdXNl
IGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBkZXRhY2hlZCBtZXNoc2VzLgor
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworYXR0cmlidXRlIHZlYzMgYV90cmlhbmdsZUNv
b3JkOworYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rp
b25NYXRyaXg7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rp
b25NYXRyaXggKiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWI2YjFlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRy
aWJ1dGUudnMKQEAgLTAsMCArMSwxMiBAQAorLy8gSWYgdGhpcyBzaGFkZXIncyByZWxhdGVkIHRl
c3QgcGFzc2VzLCB0aGUgY3VzdG9tIGZpbHRlciBkb2VzIG5vdCBleGVjdXRlIGJlY2F1c2UgbXlf
YXR0cmlidXRlIGlzIG5vdCBvbmUgb2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMuCisKK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgZmxvYXQgbXlfYXR0cmlidXRlOworYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRyaXg7
CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rpb25NYXRyaXgg
KiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzCmluZGV4IDNhZGU5
YzguLjA4MjQ5NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52cworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQudnMKQEAgLTQsNyArNCw2
IEBAIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwogCiAvLyBhX21lc2hDb29yZCBzaG91bGQgYmUg
YSB2ZWMyLCBub3QgYSBmbG9hdC4KIGF0dHJpYnV0ZSBmbG9hdCBhX21lc2hDb29yZDsKLQogYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKIAogdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJp
eDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxp
ZC10eXBlLWEtcG9zaXRpb24udnMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2Vz
L2ludmFsaWQtdHlwZS1hLXBvc2l0aW9uLnZzCmluZGV4IGJkYTQ4ZTguLjUxNTRlYTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEt
cG9zaXRpb24udnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZh
bGlkLXR5cGUtYS1wb3NpdGlvbi52cwpAQCAtNCw3ICs0LDYgQEAgcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CiAKIC8vIGFfcG9zaXRpb24gc2hvdWxkIGJlIGEgdmVjNCwgbm90IGEgdmVjMy4KIGF0
dHJpYnV0ZSB2ZWMzIGFfcG9zaXRpb247Ci0KIHVuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRy
aXg7CiAKIHZvaWQgbWFpbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
cmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRleC1jb29yZC52cyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCmluZGV4IDc2MTEz
MzEuLjI0MjljNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCkBAIC00LDkgKzQsNyBA
QCBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKIAogLy8gYV9tZXNoQ29vcmQgc2hvdWxkIGJlIGEg
dmVjMiwgbm90IGFuIHZlYzQuCiBhdHRyaWJ1dGUgdmVjNCBhX3RleENvb3JkOwotCiBhdHRyaWJ1
dGUgdmVjNCBhX3Bvc2l0aW9uOwotCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9uTWF0cml4Owog
CiB2b2lkIG1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMKaW5kZXgg
ODVjM2FiNS4uYmVkNjYyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cworKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZz
CkBAIC0xLDEyICsxLDExIEBACiAvLyBJZiB0aGlzIHNoYWRlcidzIHJlbGF0ZWQgdGVzdCBwYXNz
ZXMsIHRoZSBjdXN0b20gZmlsdGVyIGRvZXMgbm90IGV4ZWN1dGUgYmVjYXVzZSBhX3RyaWFuZ2xl
Q29vcmQncyB0eXBlIGlzIGludmFsaWQuCisvLyBUaGUgY3VzdG9tIGZpbHRlciBzaG91bGQgZGVm
aW5lIGEgZGV0YWNoZWQgbWVzaCBiZWNhdXNlIGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWls
YWJsZSB3aXRoIGEgZGV0YWNoZWQgbWVzaC4KIAogcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CiAK
LS8vIGFfbWVzaENvb3JkIHNob3VsZCBiZSBhIHZlYzMsIG5vdCBhIHZlYzIuCisvLyBhX3RyaWFu
Z2xlQ29vcmQgc2hvdWxkIGJlIGEgdmVjMywgbm90IGEgdmVjMi4KIGF0dHJpYnV0ZSB2ZWMyIGFf
dHJpYW5nbGVDb29yZDsKLQogYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKLQogdW5pZm9ybSBt
YXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKIAogdm9pZCBtYWluKCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJh
eS52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0
dHJpYnV0ZS1hcnJheS52cwppbmRleCAzN2M0MjIxLi42MTNlNzllIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJy
YXkudnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5
cGUtYXR0cmlidXRlLWFycmF5LnZzCkBAIC00LDcgKzQsNiBAQCBwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKIAogLy8gYV9wb3NpdGlvbiBzaG91bGQgYmUgYSB2ZWM0LCBub3QgYSB2ZWM0IGFycmF5
LgogYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvblsxXTsKLQogdW5pZm9ybSBtYXQ0IHVfcHJvamVj
dGlvbk1hdHJpeDsKIAogdm9pZCBtYWluKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzODNiMTZhLi41ODkzMGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA4IEBACisyMDEyLTEwLTI1ICBNYXggVnVqb3ZpYyAg
PG12dWpvdmljQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIFJlamVjdCB2ZXJ0
ZXggc2hhZGVycyB3aXRoIGN1c3RvbSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcHJvdmVkIENTUyBDdXN0b20gRmlsdGVycyBzaGFk
ZXIgdmFsaWRhdGlvbi4gV2l0aCB0aGlzIHBhdGNoOgorICAgICAgICAoMSkgU2hhZGVycyB3aXRo
IGN1c3RvbSBhdHRyaWJ1dGVzIGRvIG5vdCBleGVjdXRlIChlLmcuIGF0dHJpYnV0ZSBmbG9hdCBt
eV9hdHRyaWJ1dGU7KS4KKyAgICAgICAgKDIpIFNoYWRlcnMgd2l0aCBhX3RyaWFuZ2xlQ29vcmQg
ZGVmaW5lZCBkbyBub3QgZXhlY3V0ZSB3aXRoIGFuIGF0dGFjaGVkIG1lc2guCisKKyAgICAgICAg
TW9zdCBvZiB0aGUgY2hhbmdlcyBhcmUgZnJvbSByZW5hbWluZyBDdXN0b21GaWx0ZXJPcGVyYXRp
b246Ok1lc2hUeXBlIHRvCisgICAgICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlLCBhbmQgbW92aW5n
IHRoZSBlbnVtZXJhdGlvbiB0byBDdXN0b21GaWx0ZXJDb25zdGFudHMuaC4gVGhpcyBhdm9pZHMK
KyAgICAgICAgcHVsbGluZyBpbiBDdXN0b21GaWx0ZXJPcGVyYXRpb24gZm9yIGNsYXNzZXMgdGhh
dCBvbmx5IGNhcmUgYWJvdXQgdGhlIG1lc2ggdHlwZS4KKworICAgICAgICBOb3RlIHRoYXQgaW4g
Q1NTIEN1c3RvbSBGaWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5
IGF2YWlsYWJsZSBpbiBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hl
cywgbm8gdmVydGljZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2
ZXJ0ZXgKKyAgICAgICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3Ry
aWFuZ2xlQ29vcmQgaWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0
aWNlcyBjYW4gYmVsb25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
Y2Fubm90IGlkZW50aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAg
ICAgICBUZXN0czoKKyAgICAgICAgQWRkIHR3byBuZXcgY2hlY2tzIHRvIHRoZSB0ZXN0IGZpbGU6
CisgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1h
dHRyaWJ1dGUtdHlwZXMuaHRtbAorICAgICAgICBBZGQgdHdvIG5ldyBzaGFkZXJzOgorICAgICAg
ICAgICAgY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMK
KyAgICAgICAgICAgIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNv
b3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cworCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAgICAgVXBkYXRlIGEgYnJva2VuIHJlZmVyZW5jZSB0
byBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiB0aGUgWGNvZGUgcHJvamVjdCBmaWxlLgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjp2YWx1ZUZvckZpbHRlcik6CisgICAg
ICAgICAgICBSZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0
b21GaWx0ZXJNZXNoVHlwZS4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24p
OiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
ckNvbnN0YW50cy5oOgorICAgICAgICAgICAgQWRkIEN1c3RvbUZpbHRlck1lc2hUeXBlIGVudW0g
dG8gc2hhcmUgYWNyb3NzIHRoZSBDdXN0b20gRmlsdGVycyBjb2RlYmFzZSwgc28gdGhhdCB3ZQor
ICAgICAgICAgICAgZG9uJ3QgaGF2ZSB0byBpbmNsdWRlIEN1c3RvbUZpbHRlck9wZXJhdGlvbiBq
dXN0IHRvIGFjY2VzcyB0aGUgb2xkCisgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246
Ok1lc2hUeXBlIGVudW0uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJNZXNoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2g6OkN1
c3RvbUZpbHRlck1lc2gpOgorICAgICAgICAgICAgUmVwbGFjZSBDdXN0b21GaWx0ZXJPcGVyYXRp
b246Ok1lc2hUeXBlIHdpdGggQ3VzdG9tRmlsdGVyTWVzaFR5cGUuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJNZXNoOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUZpbHRlck1lc2g6Om1lc2hUeXBlKTogRGl0dG8uCisgICAgICAgIChDdXN0b21GaWx0ZXJN
ZXNoKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yOjpkdW1wQnVmZmVycyk6
IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
TWVzaEdlbmVyYXRvci5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcik6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6ZmxvYXRz
UGVyVmVydGV4KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yOjp2ZXJ0aWNlc0NvdW50KTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwOiAKKyAgICAgICAgKFdlYkNvcmU6
OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKTogRGl0dG8uCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24u
aDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJPcGVyYXRpb246Om1lc2hUeXBlKTog
RGl0dG8uCisgICAgICAgIChDdXN0b21GaWx0ZXJPcGVyYXRpb24pOiBEaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbSk6
CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgYmVjYXVz
ZSB0aGUgcHJvZ3JhbSBub3cgbmVlZHMgdG8ga25vdyB0aGUgbWVzaFR5cGUKKyAgICAgICAgICAg
IHRvIHByb3Blcmx5IHZhbGlkYXRlLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJv
Z3JhbTo6cHJvZ3JhbUluZm8pOgorICAgICAgICAgICAgUGFzcyBtZXNoVHlwZSB0byBDdXN0b21G
aWx0ZXJQcm9ncmFtIGNvbnN0cnVjdG9yLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
UHJvZ3JhbTo6b3BlcmF0b3I9PSk6CisgICAgICAgICAgICBDaGVjayB0aGUgbWVzaFR5cGUgaW4g
dGhlIGVxdWFscyBvcGVyYXRvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlclByb2dyYW0uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3Rv
bUZpbHRlclByb2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAg
ICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuICAgICAgICAgICAgCisgICAg
ICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6aGFzaCk6CisgICAgICAgICAg
ICBJbmNsdWRlIHRoZSBtZXNoVHlwZSBpbiB0aGUgdmFsaWRhdGVkIHByb2dyYW0gaGFzaCwgc2lu
Y2UgdGhlIHNhbWUgc2hhZGVyIGNvZGUgY2FuIHBhc3MKKyAgICAgICAgICAgIG9yIGZhaWwgdmFs
aWRhdGlvbiBiYXNlZCBvbiB0aGUgbWVzaFR5cGUuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbzo6b3BlcmF0b3I9PSk6CisgICAgICAgICAgICBDaGVjayB0aGUgbWVz
aFR5cGUgaW4gdGhlIGVxdWFscyBvcGVyYXRvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmg6CisgICAgICAgIChDdXN0b21GaWx0
ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAgICBVcGRhdGUgbWV0aG9kIHByb3RvdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjptZXNoVHlwZSk6CisgICAg
ICAgICAgICBBZGQgbWVzaFR5cGUgZ2V0dGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjp2YWxpZGF0ZVN5bWJvbHMpOgorICAg
ICAgICAgICAgSWYgdGhlIGF1dGhvciBkZWZpbmVzIGF0dHJpYnV0ZSB0aGF0IGlzIGlzIG5vdCBm
b3VuZCBpbiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlIG1hcCwKKyAgICAgICAgICAgIHJlamVjdCB0
aGUgc2hhZGVyLgorICAgICAgICAgICAgSWYgdGhlIGF1dGhvciBkZWZpbmVzIGFfdHJpYW5nbGVD
b29yZCB3aXRob3V0IGEgZGV0YWNoZWQgbWVzaCB0eXBlLCByZWplY3QgdGhlIHNoYWRlci4KKyAg
ICAgICAgICAgIEFsc28sIG1ha2UgdGhpcyBwcmV2aW91c2x5IGZpbGUtc3RhdGljIGZ1bmN0aW9u
IGludG8gYSBtZXRob2Qgb2YKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dy
YW0gYmVjYXVzZSBpdCBub3cgbmVlZHMgdG8gYWNjZXNzIHRoZSBtX21lc2hUeXBlLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbSk6CisgICAgICAgICAg
ICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgYmVjYXVzZSB0aGUgcHJvZ3Jh
bSBub3cgbmVlZHMgdG8ga25vdyB0aGUgbWVzaFR5cGUKKyAgICAgICAgICAgIHRvIHByb3Blcmx5
IHZhbGlkYXRlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21G
aWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OkZFQ3VzdG9tRmls
dGVyKToKKyAgICAgICAgICAgIFJlcGxhY2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlw
ZSB3aXRoIEN1c3RvbUZpbHRlck1lc2hUeXBlLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21G
aWx0ZXI6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6
OmJpbmRQcm9ncmFtQW5kQnVmZmVycyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0
b21GaWx0ZXI6OnVuYmluZFZlcnRleEF0dHJpYnV0ZXMpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmg6CisgICAgICAgIChGRUN1c3Rv
bUZpbHRlcik6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZp
bHRlclByb2dyYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3Jh
bTo6Y3JlYXRlKToKKyAgICAgICAgICAgIEFkZCBhIG1lc2hUeXBlIGNvbnN0cnVjdG9yIHBhcmFt
ZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6U3R5bGVD
dXN0b21GaWx0ZXJQcm9ncmFtKTogRGl0dG8uCisKIDIwMTItMTAtMjYgIFBhcnRoIFBhdGVsICA8
cGFycGF0ZWxAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRXh0ZW5kaW5nIGV4aXN0
aW5nIFRocmVhZFVuc2FmZSBzaW5nbGV0b25zIGluIHdlYmtpdCB0bwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIwNjk1ZDQuLjk0
MjY3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTM4MDIsMTEgKzM4MDIsMTEgQEAKIAkJQTFFMTE1NDQxMzAxNUMzRDAwNTRB
QzhDIC8qIERpc3RhbnRMaWdodFNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMUUxMTU0MzEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExp
Z2h0U291cmNlLmNwcCAqLzsgfTsKIAkJQTFFMTE1NDYxMzAxNUM0RTAwNTRBQzhDIC8qIFBvaW50
TGlnaHRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFFMTE1NDUxMzAxNUM0RTAwNTRBQzhDIC8qIFBvaW50TGlnaHRTb3VyY2UuY3BwICov
OyB9OwogCQlBMUUxMTU0ODEzMDE1QzVEMDA1NEFDOEMgLyogU3BvdExpZ2h0U291cmNlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRTExNTQ3MTMw
MTVDNUQwMDU0QUM4QyAvKiBTcG90TGlnaHRTb3VyY2UuY3BwICovOyB9OwotCQlBMjRBM0E5RDE2
MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRBM0E5QzE2MjQ5OUZGMDA1MjI3NDUg
LyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi87IH07CiAJCUEyNEJGNzdCMTVDQzNCQUYwMDMx
OTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRCRjc3OTE1Q0MzQkFGMDAzMTkxRjIgLyogV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oICovOyB9OwogCQlBMjRCRjc3QzE1Q0MzQkFGMDAzMTkx
RjIgLyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRCRjc3QTE1Q0MzQkFGMDAzMTkxRjIgLyogV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgKi87IH07CiAJCUEyOTUzMkNGMTVERDVFMTcwMDQ2
OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyOTUzMkNEMTVERDVFMTcwMDQ2OUVCQyAv
KiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCAqLzsgfTsKIAkJQTI5NTMyRDAxNURE
NUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyOTUzMkNFMTVERDVFMTcwMDQ2
OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmggKi87IH07CisJCUEyQjJBRTdD
MTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyQjJBRTdCMTYzNzVFRTUwMENGQTUw
QiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLzsgfTsKIAkJQTNCQjU5RjMxNDU3QTQwRDAw
QUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1l
bnRFdmVudFF1ZXVlLmNwcCAqLzsgfTsKIAkJQTNCQjU5RjQxNDU3QTQwRDAwQUM1NkZFIC8qIERv
Y3VtZW50RXZlbnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEzRTI2
NDMwMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzRTI2NDJFMTQ3NDg5OTEwMDVBODU4
OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCAqLzsgfTsKQEAgLTExMDcxLDExICsxMTA3MSwxMSBA
QAogCQlBMUUxMTU0MzEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExpZ2h0U291cmNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpc3RhbnRMaWdodFNvdXJjZS5j
cHA7IHBhdGggPSBmaWx0ZXJzL0Rpc3RhbnRMaWdodFNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUExRTExNTQ1MTMwMTVDNEUwMDU0QUM4QyAvKiBQb2ludExpZ2h0U291
cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBvaW50TGlnaHRT
b3VyY2UuY3BwOyBwYXRoID0gZmlsdGVycy9Qb2ludExpZ2h0U291cmNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFFMTE1NDcxMzAxNUM1RDAwNTRBQzhDIC8qIFNwb3RMaWdo
dFNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTcG90TGln
aHRTb3VyY2UuY3BwOyBwYXRoID0gZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlBMjRBM0E5QzE2MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9t
RmlsdGVyQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEN1c3Rv
bUZpbHRlckNvbnN0YW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMjRCRjc3
OTE1Q0MzQkFGMDAzMTkxRjIgLyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyNEJGNzdBMTVDQzNCQUYwMDMxOTFGMiAvKiBX
ZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMjk1MzJDRDE1REQ1RTE3MDA0NjlFQkMgLyogQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBD
dXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEy
OTUzMkNFMTVERDVFMTcwMDQ2OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1c3RvbUZpbHRlclZhbGlkYXRlZFBy
b2dyYW0uaDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMkIyQUU3QjE2Mzc1RUU1MDBDRkE1MEIgLyog
Q3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEN1c3RvbUZpbHRlckNvbnN0YW50cy5oOyBwYXRoID0gZmlsdGVycy9DdXN0b21GaWx0ZXJDb25z
dGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjExNDU3QTQwRDAw
QUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBEb2N1bWVudEV2ZW50UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBM0JCNTlGMjE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50RXZlbnRRdWV1ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0UyNjQyRTE0NzQ4OTkxMDA1QTg1ODgg
LyogV29ya2VyRXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBXb3JrZXJFdmVudFF1ZXVlLmNwcDsgcGF0aCA9IHdvcmtlcnMvV29ya2VyRXZlbnRRdWV1
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODI0OCw3ICsxODI0OCw3IEBA
CiAJCQkJMTVCM0ZDMTcxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyLmggKi8sCiAJCQkJNTBENDA2MEYxNDdENDlERTAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlckNv
bXBpbGVkUHJvZ3JhbS5jcHAgKi8sCiAJCQkJNTBENDA2MTAxNDdENDlERTAwRDMwQkI1IC8qIEN1
c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5oICovLAotCQkJCUEyNEEzQTlDMTYyNDk5RkYwMDUy
Mjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLywKKwkJCQlBMkIyQUU3QjE2Mzc1RUU1
MDBDRkE1MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi8sCiAJCQkJNTA5ODdDMjQxNTdE
Njc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3BwICovLAogCQkJCTUw
OTg3QzI1MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmggKi8s
CiAJCQkJNTBENDA1RjcxNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlck1lc2guY3BwICov
LApAQCAtMjI2OTEsNyArMjI2OTEsNyBAQAogCQkJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAv
KiBDdXN0b21FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTVCM0ZDMTkxNUZCMjE3ODAwQTgx
QkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MEQ0MDYxMjE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgg
aW4gSGVhZGVycyAqLywKLQkJCQlBMjRBM0E5RDE2MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9tRmls
dGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMkIyQUU3QzE2Mzc1RUU1MDBDRkE1
MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MDk4N0My
NzE1N0Q2NzZEMDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTBENDA1RkExNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlck1lc2gu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdFMTJFOTBGMTVGQTVEM0EwMDVFNDEyNiAvKiBDdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggOGJiMGM1NS4uNGRj
NzM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKQEAgLTk0MSw3ICs5NDEsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmlsdGVyKGNvbnN0IFJlbmRlck9iagog
ICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBGSVhNRTogVGhlIHNwZWNpZmljYXRpb24gZG9l
c24ndCBoYXZlIGFueSAiYXR0YWNoZWQiIGlkZW50aWZpZXIuIFNob3VsZCB3ZSBhZGQgb25lPwog
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcy
NzAwCi0gICAgICAgICAgICBpZiAoY3VzdG9tT3BlcmF0aW9uLT5tZXNoVHlwZSgpID09IEN1c3Rv
bUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQpCisgICAgICAgICAgICBpZiAoY3VzdG9tT3BlcmF0
aW9uLT5tZXNoVHlwZSgpID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgICAgICAgICAgbWVz
aFBhcmFtZXRlcnMtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVEZXRhY2hlZCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBmaWx0ZXJWYWx1
ZS0+YXBwZW5kKG1lc2hQYXJhbWV0ZXJzLnJlbGVhc2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggYjhjZGU1ZC4uYTVkNmE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcApAQCAtMTU3LDYgKzE1Nyw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX1NIQURF
UlMpCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKKyNpbmNsdWRlICJD
dXN0b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJOdW1iZXJQYXJh
bWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJD
dXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKQEAgLTQ4NDQsNyArNDg0NSw3IEBAIFBhc3NSZWZQdHI8
Q3VzdG9tRmlsdGVyT3BlcmF0aW9uPiBTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJP
cGVyYXRpb24oV2ViCiAgICAgdW5zaWduZWQgbWVzaFJvd3MgPSAxOwogICAgIHVuc2lnbmVkIG1l
c2hDb2x1bW5zID0gMTsKICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1l
c2hCb3hUeXBlID0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpGSUxURVJfQk9YOwotICAgIEN1c3Rv
bUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUgPSBDdXN0b21GaWx0ZXJPcGVyYXRp
b246OkFUVEFDSEVEOworICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlID0gTWVzaFR5
cGVBdHRhY2hlZDsKICAgICAKICAgICBDU1NWYWx1ZSogcGFyYW1ldGVyc1ZhbHVlID0gMDsKICAg
ICAKQEAgLTQ4ODgsNyArNDg4OSw3IEBAIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyT3BlcmF0aW9u
PiBTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24oV2ViCiAgICAgICAg
IGlmIChpdGVyYXRvci5oYXNNb3JlKCkgJiYgaXRlcmF0b3IuaXNQcmltaXRpdmVWYWx1ZSgpKSB7
CiAgICAgICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNf
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZXJhdG9yLnZhbHVlKCkpOwogICAgICAgICAgICAg
aWYgKHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgpID09IENTU1ZhbHVlRGV0YWNoZWQpIHsKLSAg
ICAgICAgICAgICAgICBtZXNoVHlwZSA9IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQ7
CisgICAgICAgICAgICAgICAgbWVzaFR5cGUgPSBNZXNoVHlwZURldGFjaGVkOwogICAgICAgICAg
ICAgICAgIGl0ZXJhdG9yLmFkdmFuY2UoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAt
NDkwOCw3ICs0OTA5LDcgQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJPcGVyYXRpb24+IFN0eWxl
UmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbihXZWIKICAgICBpZiAocGFyYW1l
dGVyc1ZhbHVlICYmICFwYXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QocGFyYW1ldGVyc1Zh
bHVlLCBwYXJhbWV0ZXJMaXN0KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAgUmVmUHRy
PFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IFN0eWxlQ3VzdG9tRmlsdGVyUHJv
Z3JhbTo6Y3JlYXRlKHZlcnRleFNoYWRlci5yZWxlYXNlKCksIGZyYWdtZW50U2hhZGVyLnJlbGVh
c2UoKSwgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKTsKKyAgICBSZWZQdHI8U3R5bGVDdXN0b21G
aWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUo
dmVydGV4U2hhZGVyLnJlbGVhc2UoKSwgZnJhZ21lbnRTaGFkZXIucmVsZWFzZSgpLCBwcm9ncmFt
VHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKTsKICAgICByZXR1cm4gQ3VzdG9tRmlsdGVyT3Bl
cmF0aW9uOjpjcmVhdGUocHJvZ3JhbS5yZWxlYXNlKCksIHBhcmFtZXRlckxpc3QsIG1lc2hSb3dz
LCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUsIG1lc2hUeXBlKTsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgKaW5kZXggNjA4MGMzOC4uOGM2NTUxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJD
b25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlckNvbnN0YW50cy5oCkBAIC00NSw2ICs0NSwxMSBAQCBlbnVtIEN1c3RvbUZp
bHRlck1lc2hDb25zdGFudHMgewogICAgIFRyaWFuZ2xlQXR0cmliT2Zmc2V0ID0gTWVzaEF0dHJp
Yk9mZnNldCArIE1lc2hBdHRyaWJTaXplICogc2l6ZW9mKGZsb2F0KQogfTsKIAorZW51bSBDdXN0
b21GaWx0ZXJNZXNoVHlwZSB7CisgICAgTWVzaFR5cGVBdHRhY2hlZCwKKyAgICBNZXNoVHlwZURl
dGFjaGVkCit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBDdXN0b21G
aWx0ZXJDb25zdGFudHNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAKaW5kZXggMDI3OGFiYS4u
ZWZmMDc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwCkBAIC0zNyw3ICszNyw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIEN1c3RvbUZpbHRlck1lc2g6OkN1c3RvbUZpbHRlck1lc2go
R3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVkIHJv
d3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYg
bWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICBj
b25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQog
ICAgIDogbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX3ZlcnRpY2VzQnVmZmVyT2JqZWN0KDAp
CiAgICAgLCBtX2VsZW1lbnRzQnVmZmVyT2JqZWN0KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCmlu
ZGV4IGUzYzdhNmIuLjJiYjNkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCkBAIC00Myw3ICs0
Myw3IEBAIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogCiBjbGFzcyBDdXN0b21GaWx0ZXJNZXNo
IDogcHVibGljIFJlZkNvdW50ZWQ8Q3VzdG9tRmlsdGVyTWVzaD4gewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck1lc2g+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQz
RCogY29udGV4dCwgdW5zaWduZWQgY29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0
JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck1lc2g+IGNyZWF0ZShHcmFwaGljc0NvbnRl
eHQzRCogY29udGV4dCwgdW5zaWduZWQgY29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRS
ZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRmlsdGVyTWVzaChjb250ZXh0LCBjb2xzLCBy
b3dzLCBtZXNoQm94LCBtZXNoVHlwZSkpOwogICAgIH0KQEAgLTU2LDEwICs1NiwxMCBAQCBwdWJs
aWM6CiAgICAgdW5zaWduZWQgaW5kaWNlc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9pbmRpY2Vz
Q291bnQ7IH0KICAgICAKICAgICBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3goKSBjb25zdCB7IHJl
dHVybiBtX21lc2hCb3g7IH0KLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1l
c2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlck1l
c2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQogCiBwcml2YXRl
OgotICAgIEN1c3RvbUZpbHRlck1lc2goR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBjb2xz
LCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbjo6TWVzaFR5cGUpOworICAgIEN1c3RvbUZpbHRlck1lc2goR3JhcGhpY3NDb250ZXh0
M0QqLCB1bnNpZ25lZCBjb2xzLCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hC
b3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsKICAgICAKICAgICBHcmFwaGljc0NvbnRleHQzRCog
bV9jb250ZXh0OwogICAgIApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVk
IG1faW5kaWNlc0NvdW50OwogICAgIAogICAgIEZsb2F0UmVjdCBtX21lc2hCb3g7Ci0gICAgQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtX21lc2hUeXBlOworICAgIEN1c3RvbUZpbHRl
ck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmNwcAppbmRleCAzZDlkNGQxLi43NzQ2
OTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5jcHAKQEAgLTM5
LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGJvb2wgc19kdW1wQ3VzdG9t
RmlsdGVyTWVzaEJ1ZmZlcnMgPSBmYWxzZTsKICNlbmRpZgogCi1DdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2ln
bmVkIHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9u
OjpNZXNoVHlwZSBtZXNoVHlwZSkKK0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29uc3Qg
RmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6
IG1fbWVzaFR5cGUobWVzaFR5cGUpCiAgICAgLCBtX3BvaW50cyhjb2x1bW5zICsgMSwgcm93cyAr
IDEpCiAgICAgLCBtX3RpbGVzKGNvbHVtbnMsIHJvd3MpCkBAIC02MCw3ICs2MCw3IEBAIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQg
Y29sdW1ucywgdW5zaWduZWQKICAgICAvLyB3aGVuIHRoZXJlJ3Mgbm8gbmVlZCB0byBleHBsb2Rl
IHRoZSB0aWxlcy4KICAgICAvLyAqIGRldGFjaGVkOiBlYWNoIHRyaWFuZ2xlIGhhcyBpdHMgb3du
IHZlcnRpY2VzLiBUaGlzIG1lYW5zIGVhY2ggdHJpYW5nbGUgY2FuIGJlIG1vdmVkIGluZGVwZW5k
ZW50bHkgYW5kIGEgdmVjMwogICAgIC8vIGF0dHJpYnV0ZSBpcyBwYXNzZWQsIHNvIHRoYXQgZWFj
aCB2ZXJ0ZXggY2FuIGJlIHVuaXF1ZWx5IGlkZW50aWZpZWQuCi0gICAgaWYgKG1fbWVzaFR5cGUg
PT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpBVFRBQ0hFRCkKKyAgICBpZiAobV9tZXNoVHlwZSA9
PSBNZXNoVHlwZUF0dGFjaGVkKQogICAgICAgICBnZW5lcmF0ZUF0dGFjaGVkTWVzaCgpOwogICAg
IGVsc2UKICAgICAgICAgZ2VuZXJhdGVEZXRhY2hlZE1lc2goKTsKQEAgLTE1Miw4ICsxNTIsOCBA
QCB2b2lkIEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OmFkZERldGFjaGVkTWVzaFZlcnRleEF0
dHJpYnV0ZXMoaW50IHF1YWRYLCBpbnQgcQogdm9pZCBDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9y
OjpkdW1wQnVmZmVycygpIGNvbnN0CiB7CiAgICAgcHJpbnRmKCJNZXNoIGJ1ZmZlcnM6IFBvaW50
cy53aWR0aCgpOiAlZCwgUG9pbnRzLmhlaWdodCgpOiAlZCBtZXNoQm94OiAlZiwgJWYsICVmLCAl
ZiwgdHlwZTogJXNcbiIsCi0gICAgICAgICAgIG1fcG9pbnRzLndpZHRoKCksIG1fcG9pbnRzLmhl
aWdodCgpLCBtX21lc2hCb3gueCgpLCBtX21lc2hCb3gueSgpLCBtX21lc2hCb3gud2lkdGgoKSwg
bV9tZXNoQm94LmhlaWdodCgpLAotICAgICAgICAgICAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0
ZXJPcGVyYXRpb246OkFUVEFDSEVEKSA/ICJBdHRhY2hlZCIgOiAiRGV0YWNoZWQiKTsKKyAgICAg
ICAgbV9wb2ludHMud2lkdGgoKSwgbV9wb2ludHMuaGVpZ2h0KCksIG1fbWVzaEJveC54KCksIG1f
bWVzaEJveC55KCksIG1fbWVzaEJveC53aWR0aCgpLCBtX21lc2hCb3guaGVpZ2h0KCksCisgICAg
ICAgIChtX21lc2hUeXBlID09IE1lc2hUeXBlQXR0YWNoZWQpID8gIkF0dGFjaGVkIiA6ICJEZXRh
Y2hlZCIpOwogICAgIHByaW50ZigiLS0tVmVydGV4OlxuXHQiKTsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV92ZXJ0aWNlcy5zaXplKCk7ICsraSkgewogICAgICAgICBwcmludGYoIiVm
ICIsIG1fdmVydGljZXMuYXQoaSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0
b3IuaAppbmRleCBiM2ExODQ3Li43YWJhYzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1l
c2hHZW5lcmF0b3IuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgLy8gYW5kICdjb2x1
bW5zJyBudW1iZXIgb2YgY29sdW1ucyB3aXRoIGEgdG90YWwgb2YgJ3Jvd3MgKyAxJyAqICdjb2x1
bW5zICsgMScgdmVydGljZXMuCiAgICAgLy8gTWVzaEJveCBpcyB0aGUgZmlsdGVyZWQgYXJlYSBj
YWxjdWxhdGVkIGRlZmluZWQgdXNpbmcgdGhlIGJvcmRlci1ib3gsIHBhZGRpbmctYm94LCBjb250
ZW50LWJveCBvciBmaWx0ZXItYm94CiAgICAgLy8gYXR0cmlidXRlcy4gQSB2YWx1ZSBvZiAoMCwg
MCwgMSwgMSkgd2lsbCBjb3ZlciB0aGUgZW50aXJlIG91dHB1dCBzdXJmYWNlLgotICAgIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29u
c3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlKTsK
KyAgICBDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVk
IHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwog
CiAgICAgY29uc3QgVmVjdG9yPGZsb2F0PiYgdmVydGljZXMoKSBjb25zdCB7IHJldHVybiBtX3Zl
cnRpY2VzOyB9CiAgICAgY29uc3QgVmVjdG9yPHVpbnQxNl90PiYgaW5kaWNlcygpIGNvbnN0IHsg
cmV0dXJuIG1faW5kaWNlczsgfQpAQCAtNjYsMTIgKzY2LDEyIEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBdHRhY2hlZE1lc2hWZXJ0ZXhTaXplID0gUG9z
aXRpb25BdHRyaWJTaXplICsgVGV4QXR0cmliU2l6ZSArIE1lc2hBdHRyaWJTaXplOwogICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgRGV0YWNoZWRNZXNoVmVydGV4U2l6ZSA9IEF0dGFjaGVk
TWVzaFZlcnRleFNpemUgKyBUcmlhbmdsZUF0dHJpYlNpemU7Ci0gICAgICAgIHJldHVybiBtX21l
c2hUeXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQgPyBBdHRhY2hlZE1lc2hW
ZXJ0ZXhTaXplIDogRGV0YWNoZWRNZXNoVmVydGV4U2l6ZTsKKyAgICAgICAgcmV0dXJuIG1fbWVz
aFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCA/IEF0dGFjaGVkTWVzaFZlcnRleFNpemUgOiBEZXRh
Y2hlZE1lc2hWZXJ0ZXhTaXplOwogICAgIH0KIAogICAgIHVuc2lnbmVkIHZlcnRpY2VzQ291bnQo
KSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpBVFRBQ0hFRCA/IHBvaW50c0NvdW50KCkgOiBpbmRpY2VzQ291bnQoKTsKKyAg
ICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCA/IHBvaW50c0NvdW50
KCkgOiBpbmRpY2VzQ291bnQoKTsKICAgICB9CiAKIHByaXZhdGU6CkBAIC0xMTAsNyArMTEwLDcg
QEAgcHJpdmF0ZToKICAgICBWZWN0b3I8ZmxvYXQ+IG1fdmVydGljZXM7CiAgICAgVmVjdG9yPHVp
bnQxNl90PiBtX2luZGljZXM7CiAKLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBl
IG1fbWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKICAgICBJ
bnRTaXplIG1fcG9pbnRzOwogICAgIEludFNpemUgbV90aWxlczsKICAgICBGbG9hdFNpemUgbV90
aWxlU2l6ZUluUGl4ZWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwCmluZGV4
IGVkNTdiNzMuLmI2M2VhYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5jcHAK
QEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBibGVuZEN1c3RvbUZpbHRlclBhcmFtZXRlcnMoY29uc3Qg
Q3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYgZnJvbUxpc3QsIGNvbnMKICAgICBBU1NFUlQoY2hl
Y2tDdXN0b21GaWx0ZXJQYXJhbWV0ZXJzT3JkZXIocmVzdWx0TGlzdCkpOwogfQogCi1DdXN0b21G
aWx0ZXJPcGVyYXRpb246OkN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZp
bHRlclByb2dyYW0+IHByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHNv
cnRlZFBhcmFtZXRlcnMsIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywg
TWVzaEJveFR5cGUgbWVzaEJveFR5cGUsIE1lc2hUeXBlIG1lc2hUeXBlKQorQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24oUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
cm9ncmFtPiBwcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQ
YXJhbWV0ZXJzLCB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hC
b3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6
IEZpbHRlck9wZXJhdGlvbihDVVNUT00pCiAgICAgLCBtX3Byb2dyYW0ocHJvZ3JhbSkKICAgICAs
IG1fcGFyYW1ldGVycyhzb3J0ZWRQYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uLmgKaW5kZXggMGQ2NGQyMy4uYzdkNjVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJh
dGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjZGVmaW5lIEN1c3RvbUZpbHRlck9wZXJhdGlvbl9o
CiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3Rh
bnRzLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgIkZpbHRl
ck9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCkBAIC01NiwxMyArNTcsOCBA
QCBwdWJsaWM6CiAgICAgICAgIFBBRERJTkdfQk9YLAogICAgICAgICBDT05URU5UX0JPWAogICAg
IH07Ci0gICAgCi0gICAgZW51bSBNZXNoVHlwZSB7Ci0gICAgICAgIEFUVEFDSEVELAotICAgICAg
ICBERVRBQ0hFRAotICAgIH07Ci0gICAgCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q3VzdG9tRmls
dGVyT3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQcm9ncmFtPiBwcm9n
cmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQYXJhbWV0ZXJzLCB1
bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlIG1lc2hC
b3hUeXBlLCBNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICAgICAgCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyT3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
cm9ncmFtPiBwcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQ
YXJhbWV0ZXJzLCB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hC
b3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKHByb2dy
YW0sIHNvcnRlZFBhcmFtZXRlcnMsIG1lc2hSb3dzLCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUs
IG1lc2hUeXBlKSk7CiAgICAgfQpAQCAtNzUsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgbWVzaENvbHVtbnMoKSBjb25zdCB7IHJldHVybiBtX21lc2hDb2x1bW5zOyB9CiAgICAgCiAg
ICAgTWVzaEJveFR5cGUgbWVzaEJveFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hCb3hUeXBl
OyB9Ci0gICAgTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21l
c2hUeXBlOyB9CiAgICAgCiAgICAgdmlydHVhbCB+Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKCk7CiAg
ICAgCkBAIC05OSw3ICs5NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAmJiBjdXN0b21G
aWx0ZXJQYXJhbWV0ZXJzRXF1YWwobV9wYXJhbWV0ZXJzLCBvdGhlci0+bV9wYXJhbWV0ZXJzKTsK
ICAgICB9CiAgICAgCi0gICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9t
RmlsdGVyUHJvZ3JhbT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmLCB1bnNpZ25l
ZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlLCBNZXNoVHlwZSk7
CisgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3Jh
bT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmLCB1bnNpZ25lZCBtZXNoUm93cywg
dW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7
CiAKICAgICBSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gbV9wcm9ncmFtOwogICAgIEN1c3Rv
bUZpbHRlclBhcmFtZXRlckxpc3QgbV9wYXJhbWV0ZXJzOwpAQCAtMTA3LDcgKzEwMyw3IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9tZXNoUm93czsKICAgICB1bnNpZ25lZCBtX21lc2hDb2x1
bW5zOwogICAgIE1lc2hCb3hUeXBlIG1fbWVzaEJveFR5cGU7Ci0gICAgTWVzaFR5cGUgbV9tZXNo
VHlwZTsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBlOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAKaW5kZXggOGZk
ODhlYS4uMmE4ZmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwCkBAIC0zOCw5
ICszOCwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUN1c3RvbUZpbHRlclByb2dyYW06
OkN1c3RvbUZpbHRlclByb2dyYW0oQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUs
IGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MpCitDdXN0
b21GaWx0ZXJQcm9ncmFtOjpDdXN0b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dyYW1U
eXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1p
eFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6IG1fcHJvZ3Jh
bVR5cGUocHJvZ3JhbVR5cGUpCiAgICAgLCBtX21peFNldHRpbmdzKG1peFNldHRpbmdzKQorICAg
ICwgbV9tZXNoVHlwZShtZXNoVHlwZSkKIHsKICAgICAvLyBLZWVwIHRoZSBjb25zdHJ1Y3RvciBw
cm90ZWN0ZWQgdG8gcHJldmVudCBjcmVhdGluZyB0aGlzIG9iamVjdCBkaXJlY3RseS4KIH0KQEAg
LTgyLDEyICs4MywxNCBAQCB2b2lkIEN1c3RvbUZpbHRlclByb2dyYW06Om5vdGlmeUNsaWVudHMo
KQogQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8gQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6cHJvZ3JhbUlu
Zm8oKSBjb25zdAogewogICAgIEFTU0VSVChpc0xvYWRlZCgpKTsKLSAgICByZXR1cm4gQ3VzdG9t
RmlsdGVyUHJvZ3JhbUluZm8odmVydGV4U2hhZGVyU3RyaW5nKCksIGZyYWdtZW50U2hhZGVyU3Ry
aW5nKCksIG1fcHJvZ3JhbVR5cGUsIG1fbWl4U2V0dGluZ3MpOworICAgIHJldHVybiBDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbyh2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSwgZnJhZ21lbnRTaGFkZXJTdHJp
bmcoKSwgbV9wcm9ncmFtVHlwZSwgbV9taXhTZXR0aW5ncywgbV9tZXNoVHlwZSk7CiB9CiAKIGJv
b2wgQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6b3BlcmF0b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQcm9n
cmFtJiBvKSBjb25zdAogewotICAgIHJldHVybiBtX3Byb2dyYW1UeXBlID09IG8ubV9wcm9ncmFt
VHlwZSAmJiAobV9wcm9ncmFtVHlwZSAhPSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVY
VFVSRSB8fCBtX21peFNldHRpbmdzID09IG8ubV9taXhTZXR0aW5ncyk7CisgICAgcmV0dXJuIG1f
cHJvZ3JhbVR5cGUgPT0gby5tX3Byb2dyYW1UeXBlCisgICAgICAgICYmIChtX3Byb2dyYW1UeXBl
ICE9IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVOVF9URVhUVVJFIHx8IG1fbWl4U2V0dGluZ3Mg
PT0gby5tX21peFNldHRpbmdzKQorICAgICAgICAmJiBtX21lc2hUeXBlID09IG8ubV9tZXNoVHlw
ZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0u
aAppbmRleCA0NDVmYjQ4Li5mNjY5MmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaApA
QCAtNTEsMTcgKzUxLDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DdXN0b21GaWx0ZXJQcm9n
cmFtKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMb2FkZWQoKSBjb25zdCA9IDA7Ci0gICAgCi0g
ICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzKCkgY29uc3QgeyBy
ZXR1cm4gbV9taXhTZXR0aW5nczsgfQogCiAgICAgdm9pZCBhZGRDbGllbnQoQ3VzdG9tRmlsdGVy
UHJvZ3JhbUNsaWVudCopOwogICAgIHZvaWQgcmVtb3ZlQ2xpZW50KEN1c3RvbUZpbHRlclByb2dy
YW1DbGllbnQqKTsKICAgICAKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyBwcm9ncmFtSW5m
bygpIGNvbnN0OwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlKCkgY29u
c3QgeyByZXR1cm4gbV9wcm9ncmFtVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhT
ZXR0aW5ncyBtaXhTZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fbWl4U2V0dGluZ3M7IH0KKyAg
ICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaFR5
cGU7IH0KIAotICAgIC8vIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSBoYXMgdGhlIG9ubHkgaW1w
bGVtZW50YXRpb24gZm9yIHRoZSBmb2xsb3dpbmcgbWV0aG9kLiBUaGF0IG1lYW5zLCBpdCBjYXN0
cyB0byBTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0KLSAgICAvLyB3aXRob3V0aCBjaGVja2luZyB0
aGUgdHlwZS4gSWYgeW91IGFkZCBhbm90aGVyIGltcGxlbWVudGF0aW9uLCBhbHNvIGFkZCBhIG1l
Y2hhbmlzbSB0byBjaGVjayBmb3IgdGhlIGNvcnJlY3QgdHlwZS4KICAgICB2aXJ0dWFsIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtJikgY29uc3Q7CiAgICAgYm9vbCBv
cGVyYXRvciE9KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW0mIG8pIGNvbnN0IHsgcmV0dXJuICEo
KnRoaXMgPT0gbyk7IH0KIHByb3RlY3RlZDoKQEAgLTc2LDEzICs3NCwxNCBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZUxhc3RDbGllbnQoKSA9IDA7CiAKICAgICAvLyBL
ZWVwIHRoZSBjb25zdHJ1Y3RvciBwcm90ZWN0ZWQgdG8gcHJldmVudCBjcmVhdGluZyB0aGlzIG9i
amVjdCBkaXJlY3RseS4KLSAgICBDdXN0b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dy
YW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmKTsKKyAgICBDdXN0
b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0
ZXJQcm9ncmFtTWl4U2V0dGluZ3MmLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7CiAKIHByaXZhdGU6
CiAgICAgdHlwZWRlZiBIYXNoQ291bnRlZFNldDxDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50Kj4g
Q3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudExpc3Q7CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUNs
aWVudExpc3QgbV9jbGllbnRzOwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIG1fcHJvZ3Jh
bVR5cGU7CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1fbWl4U2V0dGluZ3M7
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHAKaW5kZXggN2Y0YWYzZS4uMmFiMjdiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJQcm9ncmFtSW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHAKQEAgLTY0LDExICs2NCwxMiBA
QCBib29sIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjppc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgp
IGNvbnN0CiAgICAgICAgICYmIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcuaXNIYXNoVGFibGVEZWxl
dGVkVmFsdWUoKTsKIH0KIAotQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86OkN1c3RvbUZpbHRlclBy
b2dyYW1JbmZvKGNvbnN0IFN0cmluZyYgdmVydGV4U2hhZGVyLCBjb25zdCBTdHJpbmcmIGZyYWdt
ZW50U2hhZGVyLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncykKK0N1c3RvbUZpbHRlclBy
b2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25zdCBTdHJpbmcmIHZlcnRleFNo
YWRlciwgY29uc3QgU3RyaW5nJiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5
cGUgcHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4
U2V0dGluZ3MsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIDogbV92ZXJ0ZXhT
aGFkZXJTdHJpbmcodmVydGV4U2hhZGVyKQogICAgICwgbV9mcmFnbWVudFNoYWRlclN0cmluZyhm
cmFnbWVudFNoYWRlcikKICAgICAsIG1fcHJvZ3JhbVR5cGUocHJvZ3JhbVR5cGUpCiAgICAgLCBt
X21peFNldHRpbmdzKG1peFNldHRpbmdzKQorICAgICwgbV9tZXNoVHlwZShtZXNoVHlwZSkKIHsK
ICAgICAvLyBBdCBsZWFzdCBvbmUgb2YgdGhlIHNoYWRlcnMgbmVlZHMgdG8gYmUgbm9uLW51bGwu
CiAgICAgQVNTRVJUKCFtX3ZlcnRleFNoYWRlclN0cmluZy5pc051bGwoKSB8fCAhbV9mcmFnbWVu
dFNoYWRlclN0cmluZy5pc051bGwoKSk7CkBAIC03OCwxNCArNzksMTMgQEAgdW5zaWduZWQgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbUluZm86Omhhc2goKSBjb25zdAogewogICAgIC8vIEF0IGxlYXN0IG9u
ZSBvZiB0aGUgc2hhZGVycyBuZWVkcyB0byBiZSBub24tbnVsbC4KICAgICBBU1NFUlQoIW1fdmVy
dGV4U2hhZGVyU3RyaW5nLmlzTnVsbCgpIHx8ICFtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLmlzTnVs
bCgpKTsKLQotICAgIGJvb2wgYmxlbmRzRWxlbWVudFRleHR1cmUgPSAobV9wcm9ncmFtVHlwZSA9
PSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVYVFVSRSk7Ci0gICAgdWludHB0cl90IGhh
c2hDb2Rlc1s1XSA9IHsKKyAgICB1aW50cHRyX3QgaGFzaENvZGVzWzZdID0gewogICAgICAgICBo
YXNoUG9zc2libHlOdWxsU3RyaW5nKG1fdmVydGV4U2hhZGVyU3RyaW5nKSwKICAgICAgICAgaGFz
aFBvc3NpYmx5TnVsbFN0cmluZyhtX2ZyYWdtZW50U2hhZGVyU3RyaW5nKSwKLSAgICAgICAgYmxl
bmRzRWxlbWVudFRleHR1cmUsCi0gICAgICAgIGJsZW5kc0VsZW1lbnRUZXh0dXJlID8gbV9taXhT
ZXR0aW5ncy5ibGVuZE1vZGUgOiAwLAotICAgICAgICBibGVuZHNFbGVtZW50VGV4dHVyZSA/IG1f
bWl4U2V0dGluZ3MuY29tcG9zaXRlT3BlcmF0b3IgOiAwCisgICAgICAgIG1fcHJvZ3JhbVR5cGUg
PT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUsCisgICAgICAgIG1fcHJvZ3Jh
bVR5cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgPyBtX21peFNldHRp
bmdzLmJsZW5kTW9kZSA6IDAsCisgICAgICAgIG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBF
X0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgPyBtX21peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9y
IDogMCwKKyAgICAgICAgbV9tZXNoVHlwZQogICAgIH07CiAgICAgcmV0dXJuIFN0cmluZ0hhc2hl
cjo6aGFzaE1lbW9yeTxzaXplb2YoaGFzaENvZGVzKT4oJmhhc2hDb2Rlcyk7CiB9CkBAIC05Nyw2
ICs5Nyw3IEBAIGJvb2wgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86Om9wZXJhdG9yPT0oY29uc3Qg
Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8mIG8pIGNvbnN0CiAKICAgICByZXR1cm4gbV9wcm9ncmFt
VHlwZSA9PSBvLm1fcHJvZ3JhbVR5cGUKICAgICAgICAgJiYgKG1fcHJvZ3JhbVR5cGUgIT0gUFJP
R1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgfHwgbV9taXhTZXR0aW5ncyA9PSBvLm1f
bWl4U2V0dGluZ3MpCisgICAgICAgICYmIG1fbWVzaFR5cGUgPT0gby5tX21lc2hUeXBlCiAgICAg
ICAgICYmIG1fdmVydGV4U2hhZGVyU3RyaW5nID09IG8ubV92ZXJ0ZXhTaGFkZXJTdHJpbmcKICAg
ICAgICAgJiYgbV9mcmFnbWVudFNoYWRlclN0cmluZyA9PSBvLm1fZnJhZ21lbnRTaGFkZXJTdHJp
bmc7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgKaW5kZXggM2I1NDRjNS4u
MjVlN2RhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uaApAQCAtMzEsNiAr
MzEsNyBAQAogI2RlZmluZSBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mb19oCiAKICNpZiBFTkFCTEUo
Q1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgiCiAjaW5jbHVk
ZSAiR3JhcGhpY3NUeXBlcy5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KQEAgLTY0
LDcgKzY1LDcgQEAgc3RydWN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyB7CiAvLyBO
dWxsIHN0cmluZ3MgYXJlIHBsYWNlaG9sZGVycyBmb3IgdGhlIGRlZmF1bHQgc2hhZGVyLgogY2xh
c3MgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8gewogcHVibGljOgotICAgIEN1c3RvbUZpbHRlclBy
b2dyYW1JbmZvKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIEN1c3RvbUZpbHRlclByb2dy
YW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmKTsKKyAgICBDdXN0
b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDdXN0b21G
aWx0ZXJQcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiwg
Q3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogCiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8oKTsK
ICAgICBib29sIGlzRW1wdHlWYWx1ZSgpIGNvbnN0OwpAQCAtNzksMTEgKzgwLDEzIEBAIHB1Ymxp
YzoKICAgICBjb25zdCBTdHJpbmcmIGZyYWdtZW50U2hhZGVyU3RyaW5nKCkgY29uc3QgeyByZXR1
cm4gbV9mcmFnbWVudFNoYWRlclN0cmluZzsgfQogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBl
IHByb2dyYW1UeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm9ncmFtVHlwZTsgfQogICAgIGNvbnN0
IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MoKSBjb25zdCB7IHJl
dHVybiBtX21peFNldHRpbmdzOyB9CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUo
KSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9CiBwcml2YXRlOgogICAgIFN0cmluZyBtX3Zl
cnRleFNoYWRlclN0cmluZzsKICAgICBTdHJpbmcgbV9mcmFnbWVudFNoYWRlclN0cmluZzsKICAg
ICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBtX3Byb2dyYW1UeXBlOwogICAgIEN1c3RvbUZpbHRl
clByb2dyYW1NaXhTZXR0aW5ncyBtX21peFNldHRpbmdzOworICAgIEN1c3RvbUZpbHRlck1lc2hU
eXBlIG1fbWVzaFR5cGU7CiB9OwogCiBzdHJ1Y3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm9IYXNo
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCmluZGV4
IGQ1NDIxNTcuLjQwZjQ4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0
ZWRQcm9ncmFtLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0uaCIKIAogI2luY2x1ZGUgIkFOR0xFV2ViS2l0QnJpZGdlLmgiCisjaW5j
bHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyR2xv
YmFsQ29udGV4dC5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgiCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKQEAgLTYyLDcgKzYzLDcgQEAgc3RhdGljIFN5bWJvbE5h
bWVUb1R5cGVNYXAqIGJ1aWx0SW5BdHRyaWJ1dGVOYW1lVG9UeXBlTWFwKCkKICAgICByZXR1cm4g
bmFtZVRvVHlwZU1hcDsKIH0KIAotc3RhdGljIGJvb2wgdmFsaWRhdGVTeW1ib2xzKGNvbnN0IFZl
Y3RvcjxBTkdMRVNoYWRlclN5bWJvbD4mIHN5bWJvbHMpCitzdGF0aWMgYm9vbCB2YWxpZGF0ZVN5
bWJvbHMoY29uc3QgVmVjdG9yPEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scywgQ3VzdG9tRmls
dGVyTWVzaFR5cGUgbWVzaFR5cGUpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzeW1i
b2xzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGNvbnN0IEFOR0xFU2hhZGVyU3ltYm9sJiBzeW1i
b2wgPSBzeW1ib2xzW2ldOwpAQCAtNzAsMTMgKzcxLDI0IEBAIHN0YXRpYyBib29sIHZhbGlkYXRl
U3ltYm9scyhjb25zdCBWZWN0b3I8QU5HTEVTaGFkZXJTeW1ib2w+JiBzeW1ib2xzKQogICAgICAg
ICBjYXNlIFNIQURFUl9TWU1CT0xfVFlQRV9BVFRSSUJVVEU6IHsKICAgICAgICAgICAgIFN5bWJv
bE5hbWVUb1R5cGVNYXAqIGF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAgPSBidWlsdEluQXR0cmlidXRl
TmFtZVRvVHlwZU1hcCgpOwogICAgICAgICAgICAgU3ltYm9sTmFtZVRvVHlwZU1hcDo6aXRlcmF0
b3IgYnVpbHRJbkF0dHJpYnV0ZSA9IGF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAtPmZpbmQoc3ltYm9s
Lm5hbWUpOwotICAgICAgICAgICAgaWYgKGJ1aWx0SW5BdHRyaWJ1dGUgIT0gYXR0cmlidXRlTmFt
ZVRvVHlwZU1hcC0+ZW5kKCkgJiYgc3ltYm9sLmRhdGFUeXBlICE9IGJ1aWx0SW5BdHRyaWJ1dGUt
PnZhbHVlKSB7CisgICAgICAgICAgICBpZiAoYnVpbHRJbkF0dHJpYnV0ZSA9PSBhdHRyaWJ1dGVO
YW1lVG9UeXBlTWFwLT5lbmQoKSkgeworICAgICAgICAgICAgICAgIC8vIFRoZSBhdXRob3IgZGVm
aW5lZCBhIGN1c3RvbSBhdHRyaWJ1dGUuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFJlcG9y
dCB0aGUgdmFsaWRhdGlvbiBlcnJvci4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTYKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobWVzaFR5cGUgPT0gTWVzaFR5
cGVBdHRhY2hlZCAmJiBzeW1ib2wubmFtZSA9PSAiYV90cmlhbmdsZUNvb3JkIikgeworICAgICAg
ICAgICAgICAgIC8vIGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgZGV0YWNo
ZWQgbWVzaGVzLgorICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSZXBvcnQgdGhlIHZhbGlkYXRp
b24gZXJyb3IuCisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0NDE2CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgaWYgKHN5bWJvbC5kYXRhVHlwZSAhPSBidWlsdEluQXR0cmli
dXRlLT52YWx1ZSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBhdXRob3IgZGVmaW5lZCBvbmUg
b2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0aGUgd3JvbmcgdHlwZS4KKyAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogUmVwb3J0IHRoZSB2YWxpZGF0aW9uIGVycm9yLgorICAgICAgICAg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgLy8gRklYTUU6IFJldHVybiBmYWxzZSB3aGVuIHRoZSBhdHRyaWJ1dGUgaXMgbm90IG9uZSBv
ZiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlcy4KLSAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBTSEFERVJfU1lNQk9MX1RZUEVfVU5JRk9STToKQEAgLTE1Myw3
ICsxNjUsNyBAQCBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpDdXN0b21GaWx0ZXJWYWxp
ZGF0ZWRQcm9ncmFtKEN1c3RvbUZpbHRlckdsb2JhbENvbgogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgaWYgKCF2YWxpZGF0ZVN5bWJvbHMoc3ltYm9scykpIHsKKyAgICBpZiAoIXZhbGlk
YXRlU3ltYm9scyhzeW1ib2xzLCBtX3Byb2dyYW1JbmZvLm1lc2hUeXBlKCkpKSB7CiAgICAgICAg
IC8vIEZJWE1FOiBSZXBvcnQgdmFsaWRhdGlvbiBlcnJvcnMuCiAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oCmluZGV4IDMyMmM2MzAu
LjE3NDYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5o
CkBAIC00OSw3ICs0OSw2IEBAIHR5cGVkZWYgV2ViQ29yZTo6TGF5ZXJDb21waWxlZFByb2dyYW0g
UGxhdGZvcm1Db21waWxlZFByb2dyYW07CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
QU5HTEVXZWJLaXRCcmlkZ2U7CiBjbGFzcyBDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW07CiBj
bGFzcyBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCmlu
ZGV4IDcwN2VkYjguLjQwN2VjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCkBAIC04Miw4ICs4
Miw3IEBAIHN0YXRpYyB2b2lkIG9ydGhvZ29uYWxQcm9qZWN0aW9uTWF0cml4KFRyYW5zZm9ybWF0
aW9uTWF0cml4JiBtYXRyaXgsIGZsb2F0IGxlZnQsCiB9CiAKIEZFQ3VzdG9tRmlsdGVyOjpGRUN1
c3RvbUZpbHRlcihGaWx0ZXIqIGZpbHRlciwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCogY3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dCwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQ
cm9ncmFtPiB2YWxpZGF0ZWRQcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0
JiBwYXJhbWV0ZXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1l
c2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNo
Qm94VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVy
YXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAgIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25l
ZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSwgQ3VzdG9t
RmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgOiBGaWx0ZXJFZmZlY3QoZmlsdGVyKQogICAg
ICwgbV9nbG9iYWxDb250ZXh0KGN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQpCiAgICAgLCBtX3Zh
bGlkYXRlZFByb2dyYW0odmFsaWRhdGVkUHJvZ3JhbSkKQEAgLTEwNiw4ICsxMDUsNyBAQCBGRUN1
c3RvbUZpbHRlcjo6RkVDdXN0b21GaWx0ZXIoRmlsdGVyKiBmaWx0ZXIsIEN1c3RvbUZpbHRlckds
b2JhbENvbnRleHQqIGN1c3RvbQogfQogCiBQYXNzUmVmUHRyPEZFQ3VzdG9tRmlsdGVyPiBGRUN1
c3RvbUZpbHRlcjo6Y3JlYXRlKEZpbHRlciogZmlsdGVyLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0KiBjdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0+IHZhbGlkYXRlZFByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFt
ZXRlckxpc3QmIHBhcmFtZXRlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21G
aWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5
cGUgbWVzaFR5cGUpCisgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5z
LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21G
aWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZFQ3Vz
dG9tRmlsdGVyKGZpbHRlciwgY3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCwgdmFsaWRhdGVkUHJv
Z3JhbSwgcGFyYW1ldGVycywgbWVzaFJvd3MsIG1lc2hDb2x1bW5zLCBtZXNoQm94VHlwZSwgbWVz
aFR5cGUpKTsKIH0KQEAgLTU3Nyw3ICs1NzUsNyBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5k
UHJvZ3JhbUFuZEJ1ZmZlcnMoUGxhdGZvcm0zRE9iamVjdCBpbnB1dFRleHR1cmUpCiAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzU4CiAgICAgYmluZFZl
cnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+aW50ZXJuYWxUZXhDb29yZEF0dHJpYkxv
Y2F0aW9uKCksIFRleEF0dHJpYlNpemUsIFRleEF0dHJpYk9mZnNldCk7CiAgICAgYmluZFZlcnRl
eEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+bWVzaEF0dHJpYkxvY2F0aW9uKCksIE1lc2hB
dHRyaWJTaXplLCBNZXNoQXR0cmliT2Zmc2V0KTsKLSAgICBpZiAobV9tZXNoVHlwZSA9PSBDdXN0
b21GaWx0ZXJPcGVyYXRpb246OkRFVEFDSEVEKQorICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hU
eXBlRGV0YWNoZWQpCiAgICAgICAgIGJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dy
YW0tPnRyaWFuZ2xlQXR0cmliTG9jYXRpb24oKSwgVHJpYW5nbGVBdHRyaWJTaXplLCBUcmlhbmds
ZUF0dHJpYk9mZnNldCk7CiAgICAgCiAgICAgYmluZFByb2dyYW1QYXJhbWV0ZXJzKCk7CkBAIC01
ODksNyArNTg3LDcgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6dW5iaW5kVmVydGV4QXR0cmlidXRl
cygpCiAgICAgdW5iaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT50ZXhBdHRy
aWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dy
YW0tPmludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhB
dHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0tPm1lc2hBdHRyaWJMb2NhdGlvbigpKTsKLSAgICBp
ZiAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkRFVEFDSEVEKQorICAgIGlm
IChtX21lc2hUeXBlID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgIHVuYmluZFZlcnRleEF0
dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+dHJpYW5nbGVBdHRyaWJMb2NhdGlvbigpKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUN1c3RvbUZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUN1c3RvbUZpbHRlci5oCmluZGV4IDA5ZGE1ZjEuLjU2Yjc0ZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmls
dGVyLmgKQEAgLTU5LDggKzU5LDcgQEAgY2xhc3MgSW50U2l6ZTsKIGNsYXNzIEZFQ3VzdG9tRmls
dGVyIDogcHVibGljIEZpbHRlckVmZmVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RkVDdXN0b21GaWx0ZXI+IGNyZWF0ZShGaWx0ZXIqLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0KiwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtPiwgY29uc3QgQ3Vz
dG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYsCi0gICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWVz
aFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hC
b3hUeXBlLCAKLSAgICAgICAgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hU
eXBlKTsKKyAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBD
dXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1BcHBseVNvZnR3YXJlKCk7CiAgICAgdmlydHVh
bCB2b2lkIGR1bXAoKTsKQEAgLTY5LDggKzY4LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAg
IEZFQ3VzdG9tRmlsdGVyKEZpbHRlciosIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQqLCBQYXNz
UmVmUHRyPEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0+LCBjb25zdCBDdXN0b21GaWx0ZXJQ
YXJhbWV0ZXJMaXN0JiwKLSAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5z
aWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIAot
ICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUpOworICAg
ICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsKICAgICB+RkVD
dXN0b21GaWx0ZXIoKTsKICAgICAKICAgICBib29sIGFwcGx5U2hhZGVyKCk7CkBAIC0xMzEsNyAr
MTI5LDcgQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fbWVzaFJvd3M7CiAgICAgdW5zaWdu
ZWQgbV9tZXNoQ29sdW1uczsKLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1f
bWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0uaAppbmRleCA1MzhhNTJlLi5hZTY4
ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0
b21GaWx0ZXJQcm9ncmFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBAIC00NSw5ICs0NSw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSA6IHB1YmxpYyBDdXN0b21GaWx0
ZXJQcm9ncmFtLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ3VzdG9t
RmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRl
ciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclBy
b2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGlu
Z3MmIG1peFNldHRpbmdzKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ3VzdG9tRmlsdGVy
UHJvZ3JhbT4gY3JlYXRlKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRlciwgUGFz
c1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1U
eXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1p
eFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtKHZlcnRleFNoYWRl
ciwgZnJhZ21lbnRTaGFkZXIsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncykpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSh2ZXJ0ZXhTaGFkZXIs
IGZyYWdtZW50U2hhZGVyLCBwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKSk7CiAg
ICAgfQogICAgIAogICAgIHZvaWQgc2V0VmVydGV4U2hhZGVyKFBhc3NSZWZQdHI8U3R5bGVTaGFk
ZXI+IHNoYWRlcikgeyBtX3ZlcnRleFNoYWRlciA9IHNoYWRlcjsgfQpAQCAtMTMwLDggKzEzMCw4
IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgU3R5bGVDdXN0b21GaWx0ZXJQcm9n
cmFtKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRlciwgUGFzc1JlZlB0cjxTdHls
ZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1U
eXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzKQot
ICAgICAgICA6IEN1c3RvbUZpbHRlclByb2dyYW0ocHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKQor
ICAgIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbShQYXNzUmVmUHRyPFN0eWxlU2hhZGVyPiB2ZXJ0
ZXhTaGFkZXIsIFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IGZyYWdtZW50U2hhZGVyLCBDdXN0b21G
aWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1p
eFNldHRpbmdzJiBtaXhTZXR0aW5ncywgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCisg
ICAgICAgIDogQ3VzdG9tRmlsdGVyUHJvZ3JhbShwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1l
c2hUeXBlKQogICAgICAgICAsIG1fdmVydGV4U2hhZGVyKHZlcnRleFNoYWRlcikKICAgICAgICAg
LCBtX2ZyYWdtZW50U2hhZGVyKGZyYWdtZW50U2hhZGVyKQogICAgICAgICAsIG1faXNWZXJ0ZXhT
aGFkZXJMb2FkZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGMwMjFmMC4uMWY2ZWJhNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTI1ICBNYXggVnVqb3ZpYyAgPG12dWpvdmlj
QGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIFJlamVjdCB2ZXJ0ZXggc2hhZGVy
cyB3aXRoIGN1c3RvbSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05ODk3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToK
KyAgICAgICAgICAgIFJlcGxhY2UgdGhlIG5vdyByZW1vdmVkIEN1c3RvbUZpbHRlck9wZXJhdGlv
bjo6TWVzaFR5cGUgd2l0aCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBmcm9tCisgICAgICAgICAgICBD
dXN0b21GaWx0ZXJDb25zdGFudHMuaC4KKwogMjAxMi0xMC0yNiAgQ2hyaXN0b3BoZSBEdW1leiAg
PGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gR2V0IHJp
ZCBvZiBDJ2lzbSBpbiB0ZXh0IGNoZWNrZXIgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRD
b2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBiMTcwZTZjLi5mNmIxNGI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENv
ZGVycy5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAjaW5j
bHVkZSAiV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlckNv
bnN0YW50cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0N1c3RvbUZpbHRlclByb2dyYW0uaD4KQEAgLTE0Nyw2ICsxNDgsNyBAQCB2b2lk
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmVuY29kZShBcmd1bWVu
dEVuY29kZXIqIGVuY29kZXIsCiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0
dGluZ3MgbWl4U2V0dGluZ3MgPSBwcm9ncmFtSW5mby5taXhTZXR0aW5ncygpOwogICAgICAgICAg
ICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0aW5ncy5ibGVuZE1vZGUpOwogICAgICAgICAg
ICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0aW5ncy5jb21wb3NpdGVPcGVyYXRvcik7Cisg
ICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKHByb2dyYW0tPm1lc2hUeXBlKCkpOwogCiAg
ICAgICAgICAgICBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0IHBhcmFtZXRlcnMgPSBjdXN0b21P
cGVyYXRpb24tPnBhcmFtZXRlcnMoKTsKICAgICAgICAgICAgIGVuY29kZXItPmVuY29kZShzdGF0
aWNfY2FzdDx1aW50MzJfdD4ocGFyYW1ldGVycy5zaXplKCkpKTsKQEAgLTI1Miw2ICsyNTQsNyBA
QCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmRlY29kZShB
cmd1bWVudERlY29kZXIqIGRlY29kZXIsCiAgICAgICAgICAgICBTdHJpbmcgZnJhZ21lbnRTaGFk
ZXJTdHJpbmc7CiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlw
ZTsKICAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5n
czsKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlOwogICAgICAgICAg
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUodmVydGV4U2hhZGVyU3RyaW5nKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShmcmFn
bWVudFNoYWRlclN0cmluZykpCkBAIC0yNjIsNyArMjY1LDkgQEAgYm9vbCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkZpbHRlck9wZXJhdGlvbnM+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNv
ZGVyLAogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGlmICghZGVj
b2Rlci0+ZGVjb2RlRW51bShtaXhTZXR0aW5ncy5jb21wb3NpdGVPcGVyYXRvcikpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgUmVmUHRyPEN1c3RvbUZpbHRlclBy
b2dyYW0+IHByb2dyYW0gPSBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUodmVydGV4U2hh
ZGVyU3RyaW5nLCBmcmFnbWVudFNoYWRlclN0cmluZywgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdz
KTsKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlRW51bShtZXNoVHlwZSkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgUmVmUHRyPEN1c3RvbUZpbHRl
clByb2dyYW0+IHByb2dyYW0gPSBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUodmVydGV4
U2hhZGVyU3RyaW5nLCBmcmFnbWVudFNoYWRlclN0cmluZywgcHJvZ3JhbVR5cGUsIG1peFNldHRp
bmdzLCBtZXNoVHlwZSk7CiAKICAgICAgICAgICAgIHVpbnQzMl90IHBhcmFtZXRlcnNTaXplOwog
ICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVVSW50MzIocGFyYW1ldGVyc1NpemUpKQpA
QCAtMzIxLDcgKzMyNiw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVy
YXRpb25zPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwKICAgICAgICAgICAgIHVu
c2lnbmVkIG1lc2hSb3dzOwogICAgICAgICAgICAgdW5zaWduZWQgbWVzaENvbHVtbnM7CiAgICAg
ICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlOwot
ICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZTsKKyAg
ICAgICAgICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlOwogICAgICAgICAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGUobWVzaFJvd3MpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKG1lc2hDb2x1bW5zKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkN1c3Rv
bUZpbHRlclByb2dyYW0uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYkN1c3RvbUZpbHRlclByb2dyYW0uaAppbmRleCBlYjA5N2MyLi42NzQ4YTY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDdXN0
b21GaWx0ZXJQcm9ncmFtLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBAIC0yNywxNSArMjcsMTYgQEAKICNk
ZWZpbmUgV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbV9oCiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpICYmIEVOQUJMRShDU1NfU0hBREVSUykKKyNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZp
bHRlckNvbnN0YW50cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbSA6
IHB1YmxpYyBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxXZWJDdXN0b21GaWx0ZXJQcm9ncmFtPiBjcmVhdGUoU3RyaW5nIHZlcnRl
eFNoYWRlclN0cmluZywgU3RyaW5nIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcsIFdlYkNvcmU6OkN1
c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQ
cm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2Vi
Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcsIFN0
cmluZyBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFt
VHlwZSBwcm9ncmFtVHlwZSwgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdz
IG1peFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbSh2ZXJ0ZXhTaGFk
ZXJTdHJpbmcsIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5n
cykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkN1c3RvbUZpbHRlclByb2dyYW0o
dmVydGV4U2hhZGVyU3RyaW5nLCBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLCBwcm9ncmFtVHlwZSwg
bWl4U2V0dGluZ3MsIG1lc2hUeXBlKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIGlzTG9h
ZGVkKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtNTUsOCArNTYsOCBAQCBw
cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZUxhc3RDbGllbnQoKSBPVkVSUklE
RSB7IH0KIAogcHJpdmF0ZToKLSAgICBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtKFN0cmluZyB2ZXJ0
ZXhTaGFkZXJTdHJpbmcsIFN0cmluZyBmcmFnbWVudFNoYWRlclN0cmluZywgV2ViQ29yZTo6Q3Vz
dG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIFdlYkNvcmU6OkN1c3RvbUZpbHRlclBy
b2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncykKLSAgICAgICAgOiBXZWJDb3JlOjpDdXN0b21G
aWx0ZXJQcm9ncmFtKHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncykKKyAgICBXZWJDdXN0b21GaWx0
ZXJQcm9ncmFtKFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcsIFN0cmluZyBmcmFnbWVudFNoYWRl
clN0cmluZywgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIFdl
YkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncywgQ3VzdG9t
RmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCisgICAgICAgIDogV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
UHJvZ3JhbShwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKQogICAgICAgICAsIG1f
dmVydGV4U2hhZGVyU3RyaW5nKHZlcnRleFNoYWRlclN0cmluZykKICAgICAgICAgLCBtX2ZyYWdt
ZW50U2hhZGVyU3RyaW5nKGZyYWdtZW50U2hhZGVyU3RyaW5nKQogICAgIHsK
</data>
<flag name="commit-queue"
          id="184744"
          type_id="3"
          status="-"
          setter="mvujovic"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170995</attachid>
            <date>2012-10-26 13:48:19 -0700</date>
            <delta_ts>2012-10-26 15:01:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98973-4.patch</filename>
            <type>text/plain</type>
            <size>60654</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYmQ0MzIzLi5jYjkxYjk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTItMTAt
MjUgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNoZWNrcyB0byB2
ZXJpZnk6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMgZG8gbm90
IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTspLgorICAgICAgICAo
MikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5vdCBleGVjdXRlIHdp
dGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBOb3RlIHRoYXQgaW4gQ1NTIEN1c3RvbSBG
aWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSBp
biBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hlcywgbm8gdmVydGlj
ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2ZXJ0ZXgKKyAgICAg
ICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
aWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0aWNlcyBjYW4gYmVs
b25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQgY2Fubm90IGlkZW50
aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAgICAgICBDU1MgRmls
dGVycyBTcGVjLCBWZXJ0ZXggQXR0cmlidXRlczoKKyAgICAgICAgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9GWFRGL3Jhdy1maWxlL3RpcC9maWx0ZXJzL2luZGV4Lmh0bWwjdmVydGV4LWF0dHJpYnV0
ZS12YXJpYWJsZXMKKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1s
OgorICAgICAgICAgICAgQWRkIHR3byBjaGVja3MgZm9yIHR3byBuZXcgdmVydGV4IHNoYWRlcnMu
IFVwZGF0ZSB0aGUgYV90cmlhbmdsZUNvb3JkIHR5cGUgY2hlY2sgdG8gdXNlCisgICAgICAgICAg
ICBhIGRldGFjaGVkIG1lc2gsIHNvIHRoZSB2ZXJ0ZXggc2hhZGVyIGZhaWxzIHRvIHZhbGlkYXRl
IGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzCisgICAgICAgICAgICBkZWZpbmVkIHdpdGggYW4g
aW5jb3JyZWN0IHR5cGUsIG5vdCBiZWNhdXNlIGl0IGRlZmluZXMgYV90cmlhbmdsZUNvb3JkIGlu
IGFuIGF0dGFjaGVkCisgICAgICAgICAgICBtZXNoLgorICAgICAgICAqIGNzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52czoK
KyAgICAgICAgICAgIEFkZGVkLiBUaGlzIHZlcnRleCBzaGFkZXIgZGVmaW5lcyBhX3RyaWFuZ2xl
Q29vcmQgd2l0aCB0aGUgY29ycmVjdCB0eXBlLiBIb3dldmVyLCB0aGlzCisgICAgICAgICAgICBz
aGFkZXIgaXMgcnVuIHdpdGggYW4gYW4gYXR0YWNoZWQgbWVzaCwgc28gaXQgc2hvdWxkIG5vdCBl
eGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20t
YXR0cmlidXRlLnZzOgorICAgICAgICAgICAgQWRkZWQuIFRoaXMgdmVydGV4IHNoYWRlciBkZWZp
bmVzIGEgY3VzdG9tIGF0dHJpYnV0ZS4gVGhlIGFzc29jaWF0ZWQgdGVzdCB2ZXJpZmllcworICAg
ICAgICAgICAgdGhhdCBpdCBkb2VzIG5vdCBleGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnM6CisgICAgICAgICAg
ICBBZGQgYSBjb21tZW50IHRoYXQgdGhpcyBzaGFkZXIgc2hvdWxkIGJlIHJ1biB3aXRoIGEgZGV0
YWNoZWQgbWVzaC4KKwogMjAxMi0xMC0yNiAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIENyYXNoIG9uIGxvYWRpbmcgU1ZHIGZpbHRlciByZXNvdXJjZSBv
biBIVE1MIGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0
b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0
cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKaW5kZXggNjc5MGZkZS4uNGQwMDRkMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0
ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVj
dGVkLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KLSAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhlY3V0ZSBp
ZiB0aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0
eXBlLjwvdGl0bGU+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMgZG8gbm90
IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0
aGUgd3JvbmcgdHlwZSBvciBkZWZpbmVzIGN1c3RvbSBhdHRyaWJ1dGVzLjwvdGl0bGU+CiAgICAg
PCEtLSAKICAgICAgICAgVGhpcyBpcyB0aGUgcmVmZXJlbmNlIGZpbGUgZm9yIHRoZSB0ZXN0Lgot
ICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDUgdmVydGljYWxseS1z
dGFja2VkIGdyZWVuIGJveGVzLgorICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91
bGQgc2VlIDcgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVzLgogICAgIC0tPgogICAgIDxz
dHlsZT4KICAgICBkaXYgewpAQCAtMjEsNSArMjEsNyBAQAogICAgIDxkaXY+PC9kaXY+CiAgICAg
PGRpdj48L2Rpdj4KICAgICA8ZGl2PjwvZGl2PgorICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48
L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0
cmlidXRlLXR5cGVzLmh0bWwKaW5kZXggYTZhYTA1NC4uZDU2NWJhMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmli
dXRlLXR5cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZh
bGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLmh0bWwKQEAgLTEsOCArMSw4IEBACiA8
IWRvY3R5cGUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci0gICAgPHRpdGxlPlRlc3RzIHRoYXQgY3Vz
dG9tIGZpbHRlcnMgZG8gbm90IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWlu
IGF0dHJpYnV0ZXMgd2l0aCB0aGUgd3JvbmcgdHlwZS48L3RpdGxlPgotICAgIDwhLS0gSWYgdGhl
IHRlc3QgcGFzc2VzLCB5b3Ugc2hvdWxkIHNlZSA1IHZlcnRpY2FsbHktc3RhY2tlZCBncmVlbiBi
b3hlcy4gLS0+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMgZG8gbm90IGV4
ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0aGUg
d3JvbmcgdHlwZSBvciBkZWZpbmVzIGN1c3RvbSBhdHRyaWJ1dGVzLjwvdGl0bGU+CisgICAgPCEt
LSBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDcgdmVydGljYWxseS1zdGFja2Vk
IGdyZWVuIGJveGVzLiAtLT4KICAgICA8c2NyaXB0PgogICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7CkBAIC0yNSw2ICsyNSw5IEBA
CiAgICAgICAgIGhlaWdodDogNTBweDsKICAgICAgICAgbWFyZ2luOiAxMHB4OwogICAgIH0KKyAg
ICAuaW52YWxpZC1jdXN0b20tYXR0cmlidXRlIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1
c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMnKSBtaXgo
dXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4
X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CisgICAgfQogICAgIC5pbnZhbGlkLXR5cGUtYS1tZXNo
LWNvb3JkIHsKICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNl
cy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21p
eC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAx
LjApOwogICAgIH0KQEAgLTM1LDE4ICszOCwyOCBAQAogICAgICAgICAtd2Via2l0LWZpbHRlcjog
Y3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRleC1jb29yZC52cycpIG1p
eCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBt
aXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsKICAgICB9CiAgICAgLmludmFsaWQtdHlwZS1hLXRy
aWFuZ2xlLWNvb3JkIHsKLSAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jl
c291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4w
IDAuMCAwLjAgMS4wKTsKKyAgICAgICAgLyogVGhpcyBjdXN0b20gZmlsdGVyIHVzZXMgYSBkZXRh
Y2hlZCBtZXNoIGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzIG9ubHkgYXZhaWxhYmxlIHdpdGgg
YSBkZXRhY2hlZCBtZXNoLiAqLworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgn
Li4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIDEgMSBkZXRh
Y2hlZCwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CiAgICAgfQogICAgIC5pbnZhbGlkLXR5
cGUtYXR0cmlidXRlLWFycmF5IHsKICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwo
Jy4uL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xv
ciAxLjAgMC4wIDAuMCAxLjApOyAgICAgICAgCiAgICAgfQorICAgIC5pbnZhbGlkLXR5cGUtYXR0
cmlidXRlLWFycmF5IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzJykgbWl4KHVybCgnLi4vcmVz
b3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAg
MC4wIDAuMCAxLjApOyAgICAgICAgCisgICAgfQorICAgIC5pbnZhbGlkLWF0dGFjaGVkLW1lc2gt
YS10cmlhbmdsZS1jb29yZCB7CisgICAgICAgIC8qIFRoaXMgY3VzdG9tIGZpbHRlciB1c2VzIGFu
IGF0dGFjaGVkIG1lc2ggdG8gdmVyaWZ5IHRoYXQgYV90cmlhbmdsZUNvb3JkIGlzIG5vdCBhIGF2
YWlsYWJsZSB3aXRoIGFuIGF0dGFjaGVkIG1lc2guICovCisgICAgICAgIC13ZWJraXQtZmlsdGVy
OiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgt
YXR0YWNoZWQtbWVzaC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBu
b3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsgICAgICAgIAor
ICAgIH0KICAgICA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
ICAgIDxkaXYgY2xhc3M9ImludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZSI+PC9kaXY+CiAgICAgPGRp
diBjbGFzcz0iaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFz
cz0iaW52YWxpZC10eXBlLWEtcG9zaXRpb24iPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFs
aWQtdHlwZS1hLXRleC1jb29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iaW52YWxpZC10eXBl
LWEtdHJpYW5nbGUtY29vcmQiPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFsaWQtdHlwZS1h
dHRyaWJ1dGUtYXJyYXkiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImludmFsaWQtYXR0YWNoZWQt
bWVzaC1hLXRyaWFuZ2xlLWNvb3JkIj48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xl
LWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzU4YzhlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5n
bGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNoLnZzCkBAIC0wLDAgKzEsMTIgQEAKKy8vIFRoaXMg
c2hhZGVyIHNob3VsZCBub3QgZXhlY3V0ZSBpZiB0aGUgbWVzaCBpcyBhdHRhY2hlZCBiZWNhdXNl
IGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBkZXRhY2hlZCBtZXNoc2VzLgor
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworYXR0cmlidXRlIHZlYzMgYV90cmlhbmdsZUNv
b3JkOworYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rp
b25NYXRyaXg7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rp
b25NYXRyaXggKiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWI2YjFlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRy
aWJ1dGUudnMKQEAgLTAsMCArMSwxMiBAQAorLy8gSWYgdGhpcyBzaGFkZXIncyByZWxhdGVkIHRl
c3QgcGFzc2VzLCB0aGUgY3VzdG9tIGZpbHRlciBkb2VzIG5vdCBleGVjdXRlIGJlY2F1c2UgbXlf
YXR0cmlidXRlIGlzIG5vdCBvbmUgb2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMuCisKK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgZmxvYXQgbXlfYXR0cmlidXRlOworYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRyaXg7
CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rpb25NYXRyaXgg
KiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzCmluZGV4IDNhZGU5
YzguLjA4MjQ5NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52cworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQudnMKQEAgLTQsNyArNCw2
IEBAIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwogCiAvLyBhX21lc2hDb29yZCBzaG91bGQgYmUg
YSB2ZWMyLCBub3QgYSBmbG9hdC4KIGF0dHJpYnV0ZSBmbG9hdCBhX21lc2hDb29yZDsKLQogYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKIAogdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJp
eDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxp
ZC10eXBlLWEtcG9zaXRpb24udnMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2Vz
L2ludmFsaWQtdHlwZS1hLXBvc2l0aW9uLnZzCmluZGV4IGJkYTQ4ZTguLjUxNTRlYTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEt
cG9zaXRpb24udnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZh
bGlkLXR5cGUtYS1wb3NpdGlvbi52cwpAQCAtNCw3ICs0LDYgQEAgcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CiAKIC8vIGFfcG9zaXRpb24gc2hvdWxkIGJlIGEgdmVjNCwgbm90IGEgdmVjMy4KIGF0
dHJpYnV0ZSB2ZWMzIGFfcG9zaXRpb247Ci0KIHVuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRy
aXg7CiAKIHZvaWQgbWFpbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
cmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRleC1jb29yZC52cyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCmluZGV4IDc2MTEz
MzEuLjI0MjljNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCkBAIC00LDkgKzQsNyBA
QCBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKIAogLy8gYV9tZXNoQ29vcmQgc2hvdWxkIGJlIGEg
dmVjMiwgbm90IGFuIHZlYzQuCiBhdHRyaWJ1dGUgdmVjNCBhX3RleENvb3JkOwotCiBhdHRyaWJ1
dGUgdmVjNCBhX3Bvc2l0aW9uOwotCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9uTWF0cml4Owog
CiB2b2lkIG1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMKaW5kZXgg
ODVjM2FiNS4uYmVkNjYyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cworKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZz
CkBAIC0xLDEyICsxLDExIEBACiAvLyBJZiB0aGlzIHNoYWRlcidzIHJlbGF0ZWQgdGVzdCBwYXNz
ZXMsIHRoZSBjdXN0b20gZmlsdGVyIGRvZXMgbm90IGV4ZWN1dGUgYmVjYXVzZSBhX3RyaWFuZ2xl
Q29vcmQncyB0eXBlIGlzIGludmFsaWQuCisvLyBUaGUgY3VzdG9tIGZpbHRlciBzaG91bGQgZGVm
aW5lIGEgZGV0YWNoZWQgbWVzaCBiZWNhdXNlIGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWls
YWJsZSB3aXRoIGEgZGV0YWNoZWQgbWVzaC4KIAogcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CiAK
LS8vIGFfbWVzaENvb3JkIHNob3VsZCBiZSBhIHZlYzMsIG5vdCBhIHZlYzIuCisvLyBhX3RyaWFu
Z2xlQ29vcmQgc2hvdWxkIGJlIGEgdmVjMywgbm90IGEgdmVjMi4KIGF0dHJpYnV0ZSB2ZWMyIGFf
dHJpYW5nbGVDb29yZDsKLQogYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKLQogdW5pZm9ybSBt
YXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKIAogdm9pZCBtYWluKCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJh
eS52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0
dHJpYnV0ZS1hcnJheS52cwppbmRleCAzN2M0MjIxLi42MTNlNzllIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJy
YXkudnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5
cGUtYXR0cmlidXRlLWFycmF5LnZzCkBAIC00LDcgKzQsNiBAQCBwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKIAogLy8gYV9wb3NpdGlvbiBzaG91bGQgYmUgYSB2ZWM0LCBub3QgYSB2ZWM0IGFycmF5
LgogYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvblsxXTsKLQogdW5pZm9ybSBtYXQ0IHVfcHJvamVj
dGlvbk1hdHJpeDsKIAogdm9pZCBtYWluKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzODNiMTZhLi41ODkzMGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA4IEBACisyMDEyLTEwLTI1ICBNYXggVnVqb3ZpYyAg
PG12dWpvdmljQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIFJlamVjdCB2ZXJ0
ZXggc2hhZGVycyB3aXRoIGN1c3RvbSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcHJvdmVkIENTUyBDdXN0b20gRmlsdGVycyBzaGFk
ZXIgdmFsaWRhdGlvbi4gV2l0aCB0aGlzIHBhdGNoOgorICAgICAgICAoMSkgU2hhZGVycyB3aXRo
IGN1c3RvbSBhdHRyaWJ1dGVzIGRvIG5vdCBleGVjdXRlIChlLmcuIGF0dHJpYnV0ZSBmbG9hdCBt
eV9hdHRyaWJ1dGU7KS4KKyAgICAgICAgKDIpIFNoYWRlcnMgd2l0aCBhX3RyaWFuZ2xlQ29vcmQg
ZGVmaW5lZCBkbyBub3QgZXhlY3V0ZSB3aXRoIGFuIGF0dGFjaGVkIG1lc2guCisKKyAgICAgICAg
TW9zdCBvZiB0aGUgY2hhbmdlcyBhcmUgZnJvbSByZW5hbWluZyBDdXN0b21GaWx0ZXJPcGVyYXRp
b246Ok1lc2hUeXBlIHRvCisgICAgICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlLCBhbmQgbW92aW5n
IHRoZSBlbnVtZXJhdGlvbiB0byBDdXN0b21GaWx0ZXJDb25zdGFudHMuaC4gVGhpcyBhdm9pZHMK
KyAgICAgICAgcHVsbGluZyBpbiBDdXN0b21GaWx0ZXJPcGVyYXRpb24gZm9yIGNsYXNzZXMgdGhh
dCBvbmx5IGNhcmUgYWJvdXQgdGhlIG1lc2ggdHlwZS4KKworICAgICAgICBOb3RlIHRoYXQgaW4g
Q1NTIEN1c3RvbSBGaWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5
IGF2YWlsYWJsZSBpbiBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hl
cywgbm8gdmVydGljZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2
ZXJ0ZXgKKyAgICAgICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3Ry
aWFuZ2xlQ29vcmQgaWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0
aWNlcyBjYW4gYmVsb25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
Y2Fubm90IGlkZW50aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAg
ICAgICBUZXN0czoKKyAgICAgICAgQWRkIHR3byBuZXcgY2hlY2tzIHRvIHRoZSB0ZXN0IGZpbGU6
CisgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1h
dHRyaWJ1dGUtdHlwZXMuaHRtbAorICAgICAgICBBZGQgdHdvIG5ldyBzaGFkZXJzOgorICAgICAg
ICAgICAgY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMK
KyAgICAgICAgICAgIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNv
b3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cworCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAgICAgVXBkYXRlIGEgYnJva2VuIHJlZmVyZW5jZSB0
byBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiB0aGUgWGNvZGUgcHJvamVjdCBmaWxlLgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjp2YWx1ZUZvckZpbHRlcik6CisgICAg
ICAgICAgICBSZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0
b21GaWx0ZXJNZXNoVHlwZS4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24p
OiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
ckNvbnN0YW50cy5oOgorICAgICAgICAgICAgQWRkIEN1c3RvbUZpbHRlck1lc2hUeXBlIGVudW0g
dG8gc2hhcmUgYWNyb3NzIHRoZSBDdXN0b20gRmlsdGVycyBjb2RlYmFzZSwgc28gdGhhdCB3ZQor
ICAgICAgICAgICAgZG9uJ3QgaGF2ZSB0byBpbmNsdWRlIEN1c3RvbUZpbHRlck9wZXJhdGlvbiBq
dXN0IHRvIGFjY2VzcyB0aGUgb2xkCisgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246
Ok1lc2hUeXBlIGVudW0uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJNZXNoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2g6OkN1
c3RvbUZpbHRlck1lc2gpOgorICAgICAgICAgICAgUmVwbGFjZSBDdXN0b21GaWx0ZXJPcGVyYXRp
b246Ok1lc2hUeXBlIHdpdGggQ3VzdG9tRmlsdGVyTWVzaFR5cGUuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJNZXNoOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUZpbHRlck1lc2g6Om1lc2hUeXBlKTogRGl0dG8uCisgICAgICAgIChDdXN0b21GaWx0ZXJN
ZXNoKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yOjpkdW1wQnVmZmVycyk6
IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
TWVzaEdlbmVyYXRvci5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcik6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6ZmxvYXRz
UGVyVmVydGV4KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yOjp2ZXJ0aWNlc0NvdW50KTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwOiAKKyAgICAgICAgKFdlYkNvcmU6
OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKTogRGl0dG8uCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24u
aDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJPcGVyYXRpb246Om1lc2hUeXBlKTog
RGl0dG8uCisgICAgICAgIChDdXN0b21GaWx0ZXJPcGVyYXRpb24pOiBEaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbSk6
CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgYmVjYXVz
ZSB0aGUgcHJvZ3JhbSBub3cgbmVlZHMgdG8ga25vdyB0aGUgbWVzaFR5cGUKKyAgICAgICAgICAg
IHRvIHByb3Blcmx5IHZhbGlkYXRlLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJv
Z3JhbTo6cHJvZ3JhbUluZm8pOgorICAgICAgICAgICAgUGFzcyBtZXNoVHlwZSB0byBDdXN0b21G
aWx0ZXJQcm9ncmFtIGNvbnN0cnVjdG9yLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
UHJvZ3JhbTo6b3BlcmF0b3I9PSk6CisgICAgICAgICAgICBDaGVjayB0aGUgbWVzaFR5cGUgaW4g
dGhlIGVxdWFscyBvcGVyYXRvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlclByb2dyYW0uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3Rv
bUZpbHRlclByb2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAg
ICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuICAgICAgICAgICAgCisgICAg
ICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6aGFzaCk6CisgICAgICAgICAg
ICBJbmNsdWRlIHRoZSBtZXNoVHlwZSBpbiB0aGUgdmFsaWRhdGVkIHByb2dyYW0gaGFzaCwgc2lu
Y2UgdGhlIHNhbWUgc2hhZGVyIGNvZGUgY2FuIHBhc3MKKyAgICAgICAgICAgIG9yIGZhaWwgdmFs
aWRhdGlvbiBiYXNlZCBvbiB0aGUgbWVzaFR5cGUuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbzo6b3BlcmF0b3I9PSk6CisgICAgICAgICAgICBDaGVjayB0aGUgbWVz
aFR5cGUgaW4gdGhlIGVxdWFscyBvcGVyYXRvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmg6CisgICAgICAgIChDdXN0b21GaWx0
ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAgICBVcGRhdGUgbWV0aG9kIHByb3RvdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjptZXNoVHlwZSk6CisgICAg
ICAgICAgICBBZGQgbWVzaFR5cGUgZ2V0dGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjp2YWxpZGF0ZVN5bWJvbHMpOgorICAg
ICAgICAgICAgSWYgdGhlIGF1dGhvciBkZWZpbmVzIGF0dHJpYnV0ZSB0aGF0IGlzIGlzIG5vdCBm
b3VuZCBpbiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlIG1hcCwKKyAgICAgICAgICAgIHJlamVjdCB0
aGUgc2hhZGVyLgorICAgICAgICAgICAgSWYgdGhlIGF1dGhvciBkZWZpbmVzIGFfdHJpYW5nbGVD
b29yZCB3aXRob3V0IGEgZGV0YWNoZWQgbWVzaCB0eXBlLCByZWplY3QgdGhlIHNoYWRlci4KKyAg
ICAgICAgICAgIEFsc28sIG1ha2UgdGhpcyBwcmV2aW91c2x5IGZpbGUtc3RhdGljIGZ1bmN0aW9u
IGludG8gYSBtZXRob2Qgb2YKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dy
YW0gYmVjYXVzZSBpdCBub3cgbmVlZHMgdG8gYWNjZXNzIHRoZSBtX21lc2hUeXBlLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbSk6CisgICAgICAgICAg
ICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgYmVjYXVzZSB0aGUgcHJvZ3Jh
bSBub3cgbmVlZHMgdG8ga25vdyB0aGUgbWVzaFR5cGUKKyAgICAgICAgICAgIHRvIHByb3Blcmx5
IHZhbGlkYXRlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21G
aWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OkZFQ3VzdG9tRmls
dGVyKToKKyAgICAgICAgICAgIFJlcGxhY2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlw
ZSB3aXRoIEN1c3RvbUZpbHRlck1lc2hUeXBlLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21G
aWx0ZXI6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6
OmJpbmRQcm9ncmFtQW5kQnVmZmVycyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0
b21GaWx0ZXI6OnVuYmluZFZlcnRleEF0dHJpYnV0ZXMpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmg6CisgICAgICAgIChGRUN1c3Rv
bUZpbHRlcik6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZp
bHRlclByb2dyYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3Jh
bTo6Y3JlYXRlKToKKyAgICAgICAgICAgIEFkZCBhIG1lc2hUeXBlIGNvbnN0cnVjdG9yIHBhcmFt
ZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6U3R5bGVD
dXN0b21GaWx0ZXJQcm9ncmFtKTogRGl0dG8uCisKIDIwMTItMTAtMjYgIFBhcnRoIFBhdGVsICA8
cGFycGF0ZWxAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRXh0ZW5kaW5nIGV4aXN0
aW5nIFRocmVhZFVuc2FmZSBzaW5nbGV0b25zIGluIHdlYmtpdCB0bwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIwNjk1ZDQuLjk0
MjY3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTM4MDIsMTEgKzM4MDIsMTEgQEAKIAkJQTFFMTE1NDQxMzAxNUMzRDAwNTRB
QzhDIC8qIERpc3RhbnRMaWdodFNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMUUxMTU0MzEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExp
Z2h0U291cmNlLmNwcCAqLzsgfTsKIAkJQTFFMTE1NDYxMzAxNUM0RTAwNTRBQzhDIC8qIFBvaW50
TGlnaHRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFFMTE1NDUxMzAxNUM0RTAwNTRBQzhDIC8qIFBvaW50TGlnaHRTb3VyY2UuY3BwICov
OyB9OwogCQlBMUUxMTU0ODEzMDE1QzVEMDA1NEFDOEMgLyogU3BvdExpZ2h0U291cmNlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRTExNTQ3MTMw
MTVDNUQwMDU0QUM4QyAvKiBTcG90TGlnaHRTb3VyY2UuY3BwICovOyB9OwotCQlBMjRBM0E5RDE2
MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRBM0E5QzE2MjQ5OUZGMDA1MjI3NDUg
LyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi87IH07CiAJCUEyNEJGNzdCMTVDQzNCQUYwMDMx
OTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRCRjc3OTE1Q0MzQkFGMDAzMTkxRjIgLyogV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oICovOyB9OwogCQlBMjRCRjc3QzE1Q0MzQkFGMDAzMTkx
RjIgLyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRCRjc3QTE1Q0MzQkFGMDAzMTkxRjIgLyogV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgKi87IH07CiAJCUEyOTUzMkNGMTVERDVFMTcwMDQ2
OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyOTUzMkNEMTVERDVFMTcwMDQ2OUVCQyAv
KiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCAqLzsgfTsKIAkJQTI5NTMyRDAxNURE
NUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyOTUzMkNFMTVERDVFMTcwMDQ2
OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmggKi87IH07CisJCUEyQjJBRTdD
MTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyQjJBRTdCMTYzNzVFRTUwMENGQTUw
QiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLzsgfTsKIAkJQTNCQjU5RjMxNDU3QTQwRDAw
QUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1l
bnRFdmVudFF1ZXVlLmNwcCAqLzsgfTsKIAkJQTNCQjU5RjQxNDU3QTQwRDAwQUM1NkZFIC8qIERv
Y3VtZW50RXZlbnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEzRTI2
NDMwMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzRTI2NDJFMTQ3NDg5OTEwMDVBODU4
OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCAqLzsgfTsKQEAgLTExMDcxLDExICsxMTA3MSwxMSBA
QAogCQlBMUUxMTU0MzEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExpZ2h0U291cmNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpc3RhbnRMaWdodFNvdXJjZS5j
cHA7IHBhdGggPSBmaWx0ZXJzL0Rpc3RhbnRMaWdodFNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUExRTExNTQ1MTMwMTVDNEUwMDU0QUM4QyAvKiBQb2ludExpZ2h0U291
cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBvaW50TGlnaHRT
b3VyY2UuY3BwOyBwYXRoID0gZmlsdGVycy9Qb2ludExpZ2h0U291cmNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFFMTE1NDcxMzAxNUM1RDAwNTRBQzhDIC8qIFNwb3RMaWdo
dFNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTcG90TGln
aHRTb3VyY2UuY3BwOyBwYXRoID0gZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlBMjRBM0E5QzE2MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9t
RmlsdGVyQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEN1c3Rv
bUZpbHRlckNvbnN0YW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMjRCRjc3
OTE1Q0MzQkFGMDAzMTkxRjIgLyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyNEJGNzdBMTVDQzNCQUYwMDMxOTFGMiAvKiBX
ZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMjk1MzJDRDE1REQ1RTE3MDA0NjlFQkMgLyogQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBD
dXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEy
OTUzMkNFMTVERDVFMTcwMDQ2OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1c3RvbUZpbHRlclZhbGlkYXRlZFBy
b2dyYW0uaDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMkIyQUU3QjE2Mzc1RUU1MDBDRkE1MEIgLyog
Q3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEN1c3RvbUZpbHRlckNvbnN0YW50cy5oOyBwYXRoID0gZmlsdGVycy9DdXN0b21GaWx0ZXJDb25z
dGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjExNDU3QTQwRDAw
QUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBEb2N1bWVudEV2ZW50UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBM0JCNTlGMjE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50RXZlbnRRdWV1ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0UyNjQyRTE0NzQ4OTkxMDA1QTg1ODgg
LyogV29ya2VyRXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBXb3JrZXJFdmVudFF1ZXVlLmNwcDsgcGF0aCA9IHdvcmtlcnMvV29ya2VyRXZlbnRRdWV1
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODI0OCw3ICsxODI0OCw3IEBA
CiAJCQkJMTVCM0ZDMTcxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyLmggKi8sCiAJCQkJNTBENDA2MEYxNDdENDlERTAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlckNv
bXBpbGVkUHJvZ3JhbS5jcHAgKi8sCiAJCQkJNTBENDA2MTAxNDdENDlERTAwRDMwQkI1IC8qIEN1
c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5oICovLAotCQkJCUEyNEEzQTlDMTYyNDk5RkYwMDUy
Mjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLywKKwkJCQlBMkIyQUU3QjE2Mzc1RUU1
MDBDRkE1MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi8sCiAJCQkJNTA5ODdDMjQxNTdE
Njc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3BwICovLAogCQkJCTUw
OTg3QzI1MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmggKi8s
CiAJCQkJNTBENDA1RjcxNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlck1lc2guY3BwICov
LApAQCAtMjI2OTEsNyArMjI2OTEsNyBAQAogCQkJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAv
KiBDdXN0b21FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTVCM0ZDMTkxNUZCMjE3ODAwQTgx
QkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MEQ0MDYxMjE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgg
aW4gSGVhZGVycyAqLywKLQkJCQlBMjRBM0E5RDE2MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9tRmls
dGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMkIyQUU3QzE2Mzc1RUU1MDBDRkE1
MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MDk4N0My
NzE1N0Q2NzZEMDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTBENDA1RkExNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlck1lc2gu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdFMTJFOTBGMTVGQTVEM0EwMDVFNDEyNiAvKiBDdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggOGJiMGM1NS4uNGRj
NzM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKQEAgLTk0MSw3ICs5NDEsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmlsdGVyKGNvbnN0IFJlbmRlck9iagog
ICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBGSVhNRTogVGhlIHNwZWNpZmljYXRpb24gZG9l
c24ndCBoYXZlIGFueSAiYXR0YWNoZWQiIGlkZW50aWZpZXIuIFNob3VsZCB3ZSBhZGQgb25lPwog
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcy
NzAwCi0gICAgICAgICAgICBpZiAoY3VzdG9tT3BlcmF0aW9uLT5tZXNoVHlwZSgpID09IEN1c3Rv
bUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQpCisgICAgICAgICAgICBpZiAoY3VzdG9tT3BlcmF0
aW9uLT5tZXNoVHlwZSgpID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgICAgICAgICAgbWVz
aFBhcmFtZXRlcnMtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVEZXRhY2hlZCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBmaWx0ZXJWYWx1
ZS0+YXBwZW5kKG1lc2hQYXJhbWV0ZXJzLnJlbGVhc2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggYjhjZGU1ZC4uYTVkNmE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcApAQCAtMTU3LDYgKzE1Nyw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX1NIQURF
UlMpCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKKyNpbmNsdWRlICJD
dXN0b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJOdW1iZXJQYXJh
bWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJD
dXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKQEAgLTQ4NDQsNyArNDg0NSw3IEBAIFBhc3NSZWZQdHI8
Q3VzdG9tRmlsdGVyT3BlcmF0aW9uPiBTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJP
cGVyYXRpb24oV2ViCiAgICAgdW5zaWduZWQgbWVzaFJvd3MgPSAxOwogICAgIHVuc2lnbmVkIG1l
c2hDb2x1bW5zID0gMTsKICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1l
c2hCb3hUeXBlID0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpGSUxURVJfQk9YOwotICAgIEN1c3Rv
bUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUgPSBDdXN0b21GaWx0ZXJPcGVyYXRp
b246OkFUVEFDSEVEOworICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlID0gTWVzaFR5
cGVBdHRhY2hlZDsKICAgICAKICAgICBDU1NWYWx1ZSogcGFyYW1ldGVyc1ZhbHVlID0gMDsKICAg
ICAKQEAgLTQ4ODgsNyArNDg4OSw3IEBAIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyT3BlcmF0aW9u
PiBTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24oV2ViCiAgICAgICAg
IGlmIChpdGVyYXRvci5oYXNNb3JlKCkgJiYgaXRlcmF0b3IuaXNQcmltaXRpdmVWYWx1ZSgpKSB7
CiAgICAgICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNf
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZXJhdG9yLnZhbHVlKCkpOwogICAgICAgICAgICAg
aWYgKHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgpID09IENTU1ZhbHVlRGV0YWNoZWQpIHsKLSAg
ICAgICAgICAgICAgICBtZXNoVHlwZSA9IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQ7
CisgICAgICAgICAgICAgICAgbWVzaFR5cGUgPSBNZXNoVHlwZURldGFjaGVkOwogICAgICAgICAg
ICAgICAgIGl0ZXJhdG9yLmFkdmFuY2UoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAt
NDkwOCw3ICs0OTA5LDcgQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJPcGVyYXRpb24+IFN0eWxl
UmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbihXZWIKICAgICBpZiAocGFyYW1l
dGVyc1ZhbHVlICYmICFwYXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QocGFyYW1ldGVyc1Zh
bHVlLCBwYXJhbWV0ZXJMaXN0KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAgUmVmUHRy
PFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IFN0eWxlQ3VzdG9tRmlsdGVyUHJv
Z3JhbTo6Y3JlYXRlKHZlcnRleFNoYWRlci5yZWxlYXNlKCksIGZyYWdtZW50U2hhZGVyLnJlbGVh
c2UoKSwgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKTsKKyAgICBSZWZQdHI8U3R5bGVDdXN0b21G
aWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUo
dmVydGV4U2hhZGVyLnJlbGVhc2UoKSwgZnJhZ21lbnRTaGFkZXIucmVsZWFzZSgpLCBwcm9ncmFt
VHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKTsKICAgICByZXR1cm4gQ3VzdG9tRmlsdGVyT3Bl
cmF0aW9uOjpjcmVhdGUocHJvZ3JhbS5yZWxlYXNlKCksIHBhcmFtZXRlckxpc3QsIG1lc2hSb3dz
LCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUsIG1lc2hUeXBlKTsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgKaW5kZXggNjA4MGMzOC4uOGM2NTUxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJD
b25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlckNvbnN0YW50cy5oCkBAIC00NSw2ICs0NSwxMSBAQCBlbnVtIEN1c3RvbUZp
bHRlck1lc2hDb25zdGFudHMgewogICAgIFRyaWFuZ2xlQXR0cmliT2Zmc2V0ID0gTWVzaEF0dHJp
Yk9mZnNldCArIE1lc2hBdHRyaWJTaXplICogc2l6ZW9mKGZsb2F0KQogfTsKIAorZW51bSBDdXN0
b21GaWx0ZXJNZXNoVHlwZSB7CisgICAgTWVzaFR5cGVBdHRhY2hlZCwKKyAgICBNZXNoVHlwZURl
dGFjaGVkCit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBDdXN0b21G
aWx0ZXJDb25zdGFudHNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAKaW5kZXggMDI3OGFiYS4u
ZWZmMDc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwCkBAIC0zNyw3ICszNyw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIEN1c3RvbUZpbHRlck1lc2g6OkN1c3RvbUZpbHRlck1lc2go
R3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVkIHJv
d3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYg
bWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICBj
b25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQog
ICAgIDogbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX3ZlcnRpY2VzQnVmZmVyT2JqZWN0KDAp
CiAgICAgLCBtX2VsZW1lbnRzQnVmZmVyT2JqZWN0KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCmlu
ZGV4IGUzYzdhNmIuLjJiYjNkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCkBAIC00Myw3ICs0
Myw3IEBAIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogCiBjbGFzcyBDdXN0b21GaWx0ZXJNZXNo
IDogcHVibGljIFJlZkNvdW50ZWQ8Q3VzdG9tRmlsdGVyTWVzaD4gewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck1lc2g+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQz
RCogY29udGV4dCwgdW5zaWduZWQgY29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0
JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck1lc2g+IGNyZWF0ZShHcmFwaGljc0NvbnRl
eHQzRCogY29udGV4dCwgdW5zaWduZWQgY29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRS
ZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRmlsdGVyTWVzaChjb250ZXh0LCBjb2xzLCBy
b3dzLCBtZXNoQm94LCBtZXNoVHlwZSkpOwogICAgIH0KQEAgLTU2LDEwICs1NiwxMCBAQCBwdWJs
aWM6CiAgICAgdW5zaWduZWQgaW5kaWNlc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9pbmRpY2Vz
Q291bnQ7IH0KICAgICAKICAgICBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3goKSBjb25zdCB7IHJl
dHVybiBtX21lc2hCb3g7IH0KLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1l
c2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlck1l
c2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQogCiBwcml2YXRl
OgotICAgIEN1c3RvbUZpbHRlck1lc2goR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBjb2xz
LCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbjo6TWVzaFR5cGUpOworICAgIEN1c3RvbUZpbHRlck1lc2goR3JhcGhpY3NDb250ZXh0
M0QqLCB1bnNpZ25lZCBjb2xzLCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hC
b3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsKICAgICAKICAgICBHcmFwaGljc0NvbnRleHQzRCog
bV9jb250ZXh0OwogICAgIApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVk
IG1faW5kaWNlc0NvdW50OwogICAgIAogICAgIEZsb2F0UmVjdCBtX21lc2hCb3g7Ci0gICAgQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtX21lc2hUeXBlOworICAgIEN1c3RvbUZpbHRl
ck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmNwcAppbmRleCAzZDlkNGQxLi43NzQ2
OTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5jcHAKQEAgLTM5
LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGJvb2wgc19kdW1wQ3VzdG9t
RmlsdGVyTWVzaEJ1ZmZlcnMgPSBmYWxzZTsKICNlbmRpZgogCi1DdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2ln
bmVkIHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9u
OjpNZXNoVHlwZSBtZXNoVHlwZSkKK0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29uc3Qg
RmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6
IG1fbWVzaFR5cGUobWVzaFR5cGUpCiAgICAgLCBtX3BvaW50cyhjb2x1bW5zICsgMSwgcm93cyAr
IDEpCiAgICAgLCBtX3RpbGVzKGNvbHVtbnMsIHJvd3MpCkBAIC02MCw3ICs2MCw3IEBAIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQg
Y29sdW1ucywgdW5zaWduZWQKICAgICAvLyB3aGVuIHRoZXJlJ3Mgbm8gbmVlZCB0byBleHBsb2Rl
IHRoZSB0aWxlcy4KICAgICAvLyAqIGRldGFjaGVkOiBlYWNoIHRyaWFuZ2xlIGhhcyBpdHMgb3du
IHZlcnRpY2VzLiBUaGlzIG1lYW5zIGVhY2ggdHJpYW5nbGUgY2FuIGJlIG1vdmVkIGluZGVwZW5k
ZW50bHkgYW5kIGEgdmVjMwogICAgIC8vIGF0dHJpYnV0ZSBpcyBwYXNzZWQsIHNvIHRoYXQgZWFj
aCB2ZXJ0ZXggY2FuIGJlIHVuaXF1ZWx5IGlkZW50aWZpZWQuCi0gICAgaWYgKG1fbWVzaFR5cGUg
PT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpBVFRBQ0hFRCkKKyAgICBpZiAobV9tZXNoVHlwZSA9
PSBNZXNoVHlwZUF0dGFjaGVkKQogICAgICAgICBnZW5lcmF0ZUF0dGFjaGVkTWVzaCgpOwogICAg
IGVsc2UKICAgICAgICAgZ2VuZXJhdGVEZXRhY2hlZE1lc2goKTsKQEAgLTE1Miw4ICsxNTIsOCBA
QCB2b2lkIEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OmFkZERldGFjaGVkTWVzaFZlcnRleEF0
dHJpYnV0ZXMoaW50IHF1YWRYLCBpbnQgcQogdm9pZCBDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9y
OjpkdW1wQnVmZmVycygpIGNvbnN0CiB7CiAgICAgcHJpbnRmKCJNZXNoIGJ1ZmZlcnM6IFBvaW50
cy53aWR0aCgpOiAlZCwgUG9pbnRzLmhlaWdodCgpOiAlZCBtZXNoQm94OiAlZiwgJWYsICVmLCAl
ZiwgdHlwZTogJXNcbiIsCi0gICAgICAgICAgIG1fcG9pbnRzLndpZHRoKCksIG1fcG9pbnRzLmhl
aWdodCgpLCBtX21lc2hCb3gueCgpLCBtX21lc2hCb3gueSgpLCBtX21lc2hCb3gud2lkdGgoKSwg
bV9tZXNoQm94LmhlaWdodCgpLAotICAgICAgICAgICAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0
ZXJPcGVyYXRpb246OkFUVEFDSEVEKSA/ICJBdHRhY2hlZCIgOiAiRGV0YWNoZWQiKTsKKyAgICAg
ICAgbV9wb2ludHMud2lkdGgoKSwgbV9wb2ludHMuaGVpZ2h0KCksIG1fbWVzaEJveC54KCksIG1f
bWVzaEJveC55KCksIG1fbWVzaEJveC53aWR0aCgpLCBtX21lc2hCb3guaGVpZ2h0KCksCisgICAg
ICAgIChtX21lc2hUeXBlID09IE1lc2hUeXBlQXR0YWNoZWQpID8gIkF0dGFjaGVkIiA6ICJEZXRh
Y2hlZCIpOwogICAgIHByaW50ZigiLS0tVmVydGV4OlxuXHQiKTsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV92ZXJ0aWNlcy5zaXplKCk7ICsraSkgewogICAgICAgICBwcmludGYoIiVm
ICIsIG1fdmVydGljZXMuYXQoaSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0
b3IuaAppbmRleCBiM2ExODQ3Li43YWJhYzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1l
c2hHZW5lcmF0b3IuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgLy8gYW5kICdjb2x1
bW5zJyBudW1iZXIgb2YgY29sdW1ucyB3aXRoIGEgdG90YWwgb2YgJ3Jvd3MgKyAxJyAqICdjb2x1
bW5zICsgMScgdmVydGljZXMuCiAgICAgLy8gTWVzaEJveCBpcyB0aGUgZmlsdGVyZWQgYXJlYSBj
YWxjdWxhdGVkIGRlZmluZWQgdXNpbmcgdGhlIGJvcmRlci1ib3gsIHBhZGRpbmctYm94LCBjb250
ZW50LWJveCBvciBmaWx0ZXItYm94CiAgICAgLy8gYXR0cmlidXRlcy4gQSB2YWx1ZSBvZiAoMCwg
MCwgMSwgMSkgd2lsbCBjb3ZlciB0aGUgZW50aXJlIG91dHB1dCBzdXJmYWNlLgotICAgIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29u
c3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlKTsK
KyAgICBDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVk
IHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwog
CiAgICAgY29uc3QgVmVjdG9yPGZsb2F0PiYgdmVydGljZXMoKSBjb25zdCB7IHJldHVybiBtX3Zl
cnRpY2VzOyB9CiAgICAgY29uc3QgVmVjdG9yPHVpbnQxNl90PiYgaW5kaWNlcygpIGNvbnN0IHsg
cmV0dXJuIG1faW5kaWNlczsgfQpAQCAtNjYsMTIgKzY2LDEyIEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBdHRhY2hlZE1lc2hWZXJ0ZXhTaXplID0gUG9z
aXRpb25BdHRyaWJTaXplICsgVGV4QXR0cmliU2l6ZSArIE1lc2hBdHRyaWJTaXplOwogICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgRGV0YWNoZWRNZXNoVmVydGV4U2l6ZSA9IEF0dGFjaGVk
TWVzaFZlcnRleFNpemUgKyBUcmlhbmdsZUF0dHJpYlNpemU7Ci0gICAgICAgIHJldHVybiBtX21l
c2hUeXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQgPyBBdHRhY2hlZE1lc2hW
ZXJ0ZXhTaXplIDogRGV0YWNoZWRNZXNoVmVydGV4U2l6ZTsKKyAgICAgICAgcmV0dXJuIG1fbWVz
aFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCA/IEF0dGFjaGVkTWVzaFZlcnRleFNpemUgOiBEZXRh
Y2hlZE1lc2hWZXJ0ZXhTaXplOwogICAgIH0KIAogICAgIHVuc2lnbmVkIHZlcnRpY2VzQ291bnQo
KSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpBVFRBQ0hFRCA/IHBvaW50c0NvdW50KCkgOiBpbmRpY2VzQ291bnQoKTsKKyAg
ICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCA/IHBvaW50c0NvdW50
KCkgOiBpbmRpY2VzQ291bnQoKTsKICAgICB9CiAKIHByaXZhdGU6CkBAIC0xMTAsNyArMTEwLDcg
QEAgcHJpdmF0ZToKICAgICBWZWN0b3I8ZmxvYXQ+IG1fdmVydGljZXM7CiAgICAgVmVjdG9yPHVp
bnQxNl90PiBtX2luZGljZXM7CiAKLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBl
IG1fbWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKICAgICBJ
bnRTaXplIG1fcG9pbnRzOwogICAgIEludFNpemUgbV90aWxlczsKICAgICBGbG9hdFNpemUgbV90
aWxlU2l6ZUluUGl4ZWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwCmluZGV4
IGVkNTdiNzMuLmI2M2VhYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5jcHAK
QEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBibGVuZEN1c3RvbUZpbHRlclBhcmFtZXRlcnMoY29uc3Qg
Q3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYgZnJvbUxpc3QsIGNvbnMKICAgICBBU1NFUlQoY2hl
Y2tDdXN0b21GaWx0ZXJQYXJhbWV0ZXJzT3JkZXIocmVzdWx0TGlzdCkpOwogfQogCi1DdXN0b21G
aWx0ZXJPcGVyYXRpb246OkN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZp
bHRlclByb2dyYW0+IHByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHNv
cnRlZFBhcmFtZXRlcnMsIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywg
TWVzaEJveFR5cGUgbWVzaEJveFR5cGUsIE1lc2hUeXBlIG1lc2hUeXBlKQorQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24oUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
cm9ncmFtPiBwcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQ
YXJhbWV0ZXJzLCB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hC
b3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6
IEZpbHRlck9wZXJhdGlvbihDVVNUT00pCiAgICAgLCBtX3Byb2dyYW0ocHJvZ3JhbSkKICAgICAs
IG1fcGFyYW1ldGVycyhzb3J0ZWRQYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uLmgKaW5kZXggMGQ2NGQyMy4uYzdkNjVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJh
dGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjZGVmaW5lIEN1c3RvbUZpbHRlck9wZXJhdGlvbl9o
CiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3Rh
bnRzLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgIkZpbHRl
ck9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCkBAIC01NiwxMyArNTcsOCBA
QCBwdWJsaWM6CiAgICAgICAgIFBBRERJTkdfQk9YLAogICAgICAgICBDT05URU5UX0JPWAogICAg
IH07Ci0gICAgCi0gICAgZW51bSBNZXNoVHlwZSB7Ci0gICAgICAgIEFUVEFDSEVELAotICAgICAg
ICBERVRBQ0hFRAotICAgIH07Ci0gICAgCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q3VzdG9tRmls
dGVyT3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQcm9ncmFtPiBwcm9n
cmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQYXJhbWV0ZXJzLCB1
bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlIG1lc2hC
b3hUeXBlLCBNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICAgICAgCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyT3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
cm9ncmFtPiBwcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQ
YXJhbWV0ZXJzLCB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hC
b3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKHByb2dy
YW0sIHNvcnRlZFBhcmFtZXRlcnMsIG1lc2hSb3dzLCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUs
IG1lc2hUeXBlKSk7CiAgICAgfQpAQCAtNzUsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgbWVzaENvbHVtbnMoKSBjb25zdCB7IHJldHVybiBtX21lc2hDb2x1bW5zOyB9CiAgICAgCiAg
ICAgTWVzaEJveFR5cGUgbWVzaEJveFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hCb3hUeXBl
OyB9Ci0gICAgTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21l
c2hUeXBlOyB9CiAgICAgCiAgICAgdmlydHVhbCB+Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKCk7CiAg
ICAgCkBAIC05OSw3ICs5NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAmJiBjdXN0b21G
aWx0ZXJQYXJhbWV0ZXJzRXF1YWwobV9wYXJhbWV0ZXJzLCBvdGhlci0+bV9wYXJhbWV0ZXJzKTsK
ICAgICB9CiAgICAgCi0gICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9t
RmlsdGVyUHJvZ3JhbT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmLCB1bnNpZ25l
ZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlLCBNZXNoVHlwZSk7
CisgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3Jh
bT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmLCB1bnNpZ25lZCBtZXNoUm93cywg
dW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7
CiAKICAgICBSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gbV9wcm9ncmFtOwogICAgIEN1c3Rv
bUZpbHRlclBhcmFtZXRlckxpc3QgbV9wYXJhbWV0ZXJzOwpAQCAtMTA3LDcgKzEwMyw3IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9tZXNoUm93czsKICAgICB1bnNpZ25lZCBtX21lc2hDb2x1
bW5zOwogICAgIE1lc2hCb3hUeXBlIG1fbWVzaEJveFR5cGU7Ci0gICAgTWVzaFR5cGUgbV9tZXNo
VHlwZTsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBlOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAKaW5kZXggOGZk
ODhlYS4uMmE4ZmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwCkBAIC0zOCw5
ICszOCwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUN1c3RvbUZpbHRlclByb2dyYW06
OkN1c3RvbUZpbHRlclByb2dyYW0oQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUs
IGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MpCitDdXN0
b21GaWx0ZXJQcm9ncmFtOjpDdXN0b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dyYW1U
eXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1p
eFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6IG1fcHJvZ3Jh
bVR5cGUocHJvZ3JhbVR5cGUpCiAgICAgLCBtX21peFNldHRpbmdzKG1peFNldHRpbmdzKQorICAg
ICwgbV9tZXNoVHlwZShtZXNoVHlwZSkKIHsKICAgICAvLyBLZWVwIHRoZSBjb25zdHJ1Y3RvciBw
cm90ZWN0ZWQgdG8gcHJldmVudCBjcmVhdGluZyB0aGlzIG9iamVjdCBkaXJlY3RseS4KIH0KQEAg
LTgyLDEyICs4MywxNCBAQCB2b2lkIEN1c3RvbUZpbHRlclByb2dyYW06Om5vdGlmeUNsaWVudHMo
KQogQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8gQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6cHJvZ3JhbUlu
Zm8oKSBjb25zdAogewogICAgIEFTU0VSVChpc0xvYWRlZCgpKTsKLSAgICByZXR1cm4gQ3VzdG9t
RmlsdGVyUHJvZ3JhbUluZm8odmVydGV4U2hhZGVyU3RyaW5nKCksIGZyYWdtZW50U2hhZGVyU3Ry
aW5nKCksIG1fcHJvZ3JhbVR5cGUsIG1fbWl4U2V0dGluZ3MpOworICAgIHJldHVybiBDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbyh2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSwgZnJhZ21lbnRTaGFkZXJTdHJp
bmcoKSwgbV9wcm9ncmFtVHlwZSwgbV9taXhTZXR0aW5ncywgbV9tZXNoVHlwZSk7CiB9CiAKIGJv
b2wgQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6b3BlcmF0b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQcm9n
cmFtJiBvKSBjb25zdAogewotICAgIHJldHVybiBtX3Byb2dyYW1UeXBlID09IG8ubV9wcm9ncmFt
VHlwZSAmJiAobV9wcm9ncmFtVHlwZSAhPSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVY
VFVSRSB8fCBtX21peFNldHRpbmdzID09IG8ubV9taXhTZXR0aW5ncyk7CisgICAgcmV0dXJuIG1f
cHJvZ3JhbVR5cGUgPT0gby5tX3Byb2dyYW1UeXBlCisgICAgICAgICYmIChtX3Byb2dyYW1UeXBl
ICE9IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVOVF9URVhUVVJFIHx8IG1fbWl4U2V0dGluZ3Mg
PT0gby5tX21peFNldHRpbmdzKQorICAgICAgICAmJiBtX21lc2hUeXBlID09IG8ubV9tZXNoVHlw
ZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0u
aAppbmRleCA0NDVmYjQ4Li5mNjY5MmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaApA
QCAtNTEsMTcgKzUxLDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DdXN0b21GaWx0ZXJQcm9n
cmFtKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMb2FkZWQoKSBjb25zdCA9IDA7Ci0gICAgCi0g
ICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzKCkgY29uc3QgeyBy
ZXR1cm4gbV9taXhTZXR0aW5nczsgfQogCiAgICAgdm9pZCBhZGRDbGllbnQoQ3VzdG9tRmlsdGVy
UHJvZ3JhbUNsaWVudCopOwogICAgIHZvaWQgcmVtb3ZlQ2xpZW50KEN1c3RvbUZpbHRlclByb2dy
YW1DbGllbnQqKTsKICAgICAKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyBwcm9ncmFtSW5m
bygpIGNvbnN0OwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlKCkgY29u
c3QgeyByZXR1cm4gbV9wcm9ncmFtVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhT
ZXR0aW5ncyBtaXhTZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fbWl4U2V0dGluZ3M7IH0KKyAg
ICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaFR5
cGU7IH0KIAotICAgIC8vIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSBoYXMgdGhlIG9ubHkgaW1w
bGVtZW50YXRpb24gZm9yIHRoZSBmb2xsb3dpbmcgbWV0aG9kLiBUaGF0IG1lYW5zLCBpdCBjYXN0
cyB0byBTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0KLSAgICAvLyB3aXRob3V0aCBjaGVja2luZyB0
aGUgdHlwZS4gSWYgeW91IGFkZCBhbm90aGVyIGltcGxlbWVudGF0aW9uLCBhbHNvIGFkZCBhIG1l
Y2hhbmlzbSB0byBjaGVjayBmb3IgdGhlIGNvcnJlY3QgdHlwZS4KICAgICB2aXJ0dWFsIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtJikgY29uc3Q7CiAgICAgYm9vbCBv
cGVyYXRvciE9KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW0mIG8pIGNvbnN0IHsgcmV0dXJuICEo
KnRoaXMgPT0gbyk7IH0KIHByb3RlY3RlZDoKQEAgLTc2LDEzICs3NCwxNCBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZUxhc3RDbGllbnQoKSA9IDA7CiAKICAgICAvLyBL
ZWVwIHRoZSBjb25zdHJ1Y3RvciBwcm90ZWN0ZWQgdG8gcHJldmVudCBjcmVhdGluZyB0aGlzIG9i
amVjdCBkaXJlY3RseS4KLSAgICBDdXN0b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dy
YW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmKTsKKyAgICBDdXN0
b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0
ZXJQcm9ncmFtTWl4U2V0dGluZ3MmLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7CiAKIHByaXZhdGU6
CiAgICAgdHlwZWRlZiBIYXNoQ291bnRlZFNldDxDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50Kj4g
Q3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudExpc3Q7CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUNs
aWVudExpc3QgbV9jbGllbnRzOwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIG1fcHJvZ3Jh
bVR5cGU7CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1fbWl4U2V0dGluZ3M7
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHAKaW5kZXggN2Y0YWYzZS4uMmFiMjdiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJQcm9ncmFtSW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHAKQEAgLTY0LDExICs2NCwxMiBA
QCBib29sIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjppc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgp
IGNvbnN0CiAgICAgICAgICYmIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcuaXNIYXNoVGFibGVEZWxl
dGVkVmFsdWUoKTsKIH0KIAotQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86OkN1c3RvbUZpbHRlclBy
b2dyYW1JbmZvKGNvbnN0IFN0cmluZyYgdmVydGV4U2hhZGVyLCBjb25zdCBTdHJpbmcmIGZyYWdt
ZW50U2hhZGVyLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncykKK0N1c3RvbUZpbHRlclBy
b2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25zdCBTdHJpbmcmIHZlcnRleFNo
YWRlciwgY29uc3QgU3RyaW5nJiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5
cGUgcHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4
U2V0dGluZ3MsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIDogbV92ZXJ0ZXhT
aGFkZXJTdHJpbmcodmVydGV4U2hhZGVyKQogICAgICwgbV9mcmFnbWVudFNoYWRlclN0cmluZyhm
cmFnbWVudFNoYWRlcikKICAgICAsIG1fcHJvZ3JhbVR5cGUocHJvZ3JhbVR5cGUpCiAgICAgLCBt
X21peFNldHRpbmdzKG1peFNldHRpbmdzKQorICAgICwgbV9tZXNoVHlwZShtZXNoVHlwZSkKIHsK
ICAgICAvLyBBdCBsZWFzdCBvbmUgb2YgdGhlIHNoYWRlcnMgbmVlZHMgdG8gYmUgbm9uLW51bGwu
CiAgICAgQVNTRVJUKCFtX3ZlcnRleFNoYWRlclN0cmluZy5pc051bGwoKSB8fCAhbV9mcmFnbWVu
dFNoYWRlclN0cmluZy5pc051bGwoKSk7CkBAIC03OCwxNCArNzksMTMgQEAgdW5zaWduZWQgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbUluZm86Omhhc2goKSBjb25zdAogewogICAgIC8vIEF0IGxlYXN0IG9u
ZSBvZiB0aGUgc2hhZGVycyBuZWVkcyB0byBiZSBub24tbnVsbC4KICAgICBBU1NFUlQoIW1fdmVy
dGV4U2hhZGVyU3RyaW5nLmlzTnVsbCgpIHx8ICFtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLmlzTnVs
bCgpKTsKLQotICAgIGJvb2wgYmxlbmRzRWxlbWVudFRleHR1cmUgPSAobV9wcm9ncmFtVHlwZSA9
PSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVYVFVSRSk7Ci0gICAgdWludHB0cl90IGhh
c2hDb2Rlc1s1XSA9IHsKKyAgICB1aW50cHRyX3QgaGFzaENvZGVzWzZdID0gewogICAgICAgICBo
YXNoUG9zc2libHlOdWxsU3RyaW5nKG1fdmVydGV4U2hhZGVyU3RyaW5nKSwKICAgICAgICAgaGFz
aFBvc3NpYmx5TnVsbFN0cmluZyhtX2ZyYWdtZW50U2hhZGVyU3RyaW5nKSwKLSAgICAgICAgYmxl
bmRzRWxlbWVudFRleHR1cmUsCi0gICAgICAgIGJsZW5kc0VsZW1lbnRUZXh0dXJlID8gbV9taXhT
ZXR0aW5ncy5ibGVuZE1vZGUgOiAwLAotICAgICAgICBibGVuZHNFbGVtZW50VGV4dHVyZSA/IG1f
bWl4U2V0dGluZ3MuY29tcG9zaXRlT3BlcmF0b3IgOiAwCisgICAgICAgIG1fcHJvZ3JhbVR5cGUg
PT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUsCisgICAgICAgIG1fcHJvZ3Jh
bVR5cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgPyBtX21peFNldHRp
bmdzLmJsZW5kTW9kZSA6IDAsCisgICAgICAgIG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBF
X0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgPyBtX21peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9y
IDogMCwKKyAgICAgICAgbV9tZXNoVHlwZQogICAgIH07CiAgICAgcmV0dXJuIFN0cmluZ0hhc2hl
cjo6aGFzaE1lbW9yeTxzaXplb2YoaGFzaENvZGVzKT4oJmhhc2hDb2Rlcyk7CiB9CkBAIC05Nyw2
ICs5Nyw3IEBAIGJvb2wgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86Om9wZXJhdG9yPT0oY29uc3Qg
Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8mIG8pIGNvbnN0CiAKICAgICByZXR1cm4gbV9wcm9ncmFt
VHlwZSA9PSBvLm1fcHJvZ3JhbVR5cGUKICAgICAgICAgJiYgKG1fcHJvZ3JhbVR5cGUgIT0gUFJP
R1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgfHwgbV9taXhTZXR0aW5ncyA9PSBvLm1f
bWl4U2V0dGluZ3MpCisgICAgICAgICYmIG1fbWVzaFR5cGUgPT0gby5tX21lc2hUeXBlCiAgICAg
ICAgICYmIG1fdmVydGV4U2hhZGVyU3RyaW5nID09IG8ubV92ZXJ0ZXhTaGFkZXJTdHJpbmcKICAg
ICAgICAgJiYgbV9mcmFnbWVudFNoYWRlclN0cmluZyA9PSBvLm1fZnJhZ21lbnRTaGFkZXJTdHJp
bmc7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgKaW5kZXggM2I1NDRjNS4u
MjVlN2RhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uaApAQCAtMzEsNiAr
MzEsNyBAQAogI2RlZmluZSBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mb19oCiAKICNpZiBFTkFCTEUo
Q1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgiCiAjaW5jbHVk
ZSAiR3JhcGhpY3NUeXBlcy5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KQEAgLTY0
LDcgKzY1LDcgQEAgc3RydWN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyB7CiAvLyBO
dWxsIHN0cmluZ3MgYXJlIHBsYWNlaG9sZGVycyBmb3IgdGhlIGRlZmF1bHQgc2hhZGVyLgogY2xh
c3MgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8gewogcHVibGljOgotICAgIEN1c3RvbUZpbHRlclBy
b2dyYW1JbmZvKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIEN1c3RvbUZpbHRlclByb2dy
YW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmKTsKKyAgICBDdXN0
b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDdXN0b21G
aWx0ZXJQcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiwg
Q3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogCiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8oKTsK
ICAgICBib29sIGlzRW1wdHlWYWx1ZSgpIGNvbnN0OwpAQCAtNzksMTEgKzgwLDEzIEBAIHB1Ymxp
YzoKICAgICBjb25zdCBTdHJpbmcmIGZyYWdtZW50U2hhZGVyU3RyaW5nKCkgY29uc3QgeyByZXR1
cm4gbV9mcmFnbWVudFNoYWRlclN0cmluZzsgfQogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBl
IHByb2dyYW1UeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm9ncmFtVHlwZTsgfQogICAgIGNvbnN0
IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MoKSBjb25zdCB7IHJl
dHVybiBtX21peFNldHRpbmdzOyB9CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUo
KSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9CiBwcml2YXRlOgogICAgIFN0cmluZyBtX3Zl
cnRleFNoYWRlclN0cmluZzsKICAgICBTdHJpbmcgbV9mcmFnbWVudFNoYWRlclN0cmluZzsKICAg
ICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBtX3Byb2dyYW1UeXBlOwogICAgIEN1c3RvbUZpbHRl
clByb2dyYW1NaXhTZXR0aW5ncyBtX21peFNldHRpbmdzOworICAgIEN1c3RvbUZpbHRlck1lc2hU
eXBlIG1fbWVzaFR5cGU7CiB9OwogCiBzdHJ1Y3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm9IYXNo
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCmluZGV4
IGQ1NDIxNTcuLjQwZjQ4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0
ZWRQcm9ncmFtLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0uaCIKIAogI2luY2x1ZGUgIkFOR0xFV2ViS2l0QnJpZGdlLmgiCisjaW5j
bHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyR2xv
YmFsQ29udGV4dC5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgiCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKQEAgLTYyLDcgKzYzLDcgQEAgc3RhdGljIFN5bWJvbE5h
bWVUb1R5cGVNYXAqIGJ1aWx0SW5BdHRyaWJ1dGVOYW1lVG9UeXBlTWFwKCkKICAgICByZXR1cm4g
bmFtZVRvVHlwZU1hcDsKIH0KIAotc3RhdGljIGJvb2wgdmFsaWRhdGVTeW1ib2xzKGNvbnN0IFZl
Y3RvcjxBTkdMRVNoYWRlclN5bWJvbD4mIHN5bWJvbHMpCitzdGF0aWMgYm9vbCB2YWxpZGF0ZVN5
bWJvbHMoY29uc3QgVmVjdG9yPEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scywgQ3VzdG9tRmls
dGVyTWVzaFR5cGUgbWVzaFR5cGUpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzeW1i
b2xzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGNvbnN0IEFOR0xFU2hhZGVyU3ltYm9sJiBzeW1i
b2wgPSBzeW1ib2xzW2ldOwpAQCAtNzAsMTMgKzcxLDI0IEBAIHN0YXRpYyBib29sIHZhbGlkYXRl
U3ltYm9scyhjb25zdCBWZWN0b3I8QU5HTEVTaGFkZXJTeW1ib2w+JiBzeW1ib2xzKQogICAgICAg
ICBjYXNlIFNIQURFUl9TWU1CT0xfVFlQRV9BVFRSSUJVVEU6IHsKICAgICAgICAgICAgIFN5bWJv
bE5hbWVUb1R5cGVNYXAqIGF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAgPSBidWlsdEluQXR0cmlidXRl
TmFtZVRvVHlwZU1hcCgpOwogICAgICAgICAgICAgU3ltYm9sTmFtZVRvVHlwZU1hcDo6aXRlcmF0
b3IgYnVpbHRJbkF0dHJpYnV0ZSA9IGF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAtPmZpbmQoc3ltYm9s
Lm5hbWUpOwotICAgICAgICAgICAgaWYgKGJ1aWx0SW5BdHRyaWJ1dGUgIT0gYXR0cmlidXRlTmFt
ZVRvVHlwZU1hcC0+ZW5kKCkgJiYgc3ltYm9sLmRhdGFUeXBlICE9IGJ1aWx0SW5BdHRyaWJ1dGUt
PnZhbHVlKSB7CisgICAgICAgICAgICBpZiAoYnVpbHRJbkF0dHJpYnV0ZSA9PSBhdHRyaWJ1dGVO
YW1lVG9UeXBlTWFwLT5lbmQoKSkgeworICAgICAgICAgICAgICAgIC8vIFRoZSBhdXRob3IgZGVm
aW5lZCBhIGN1c3RvbSBhdHRyaWJ1dGUuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFJlcG9y
dCB0aGUgdmFsaWRhdGlvbiBlcnJvci4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTYKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobWVzaFR5cGUgPT0gTWVzaFR5
cGVBdHRhY2hlZCAmJiBzeW1ib2wubmFtZSA9PSAiYV90cmlhbmdsZUNvb3JkIikgeworICAgICAg
ICAgICAgICAgIC8vIGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgZGV0YWNo
ZWQgbWVzaGVzLgorICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSZXBvcnQgdGhlIHZhbGlkYXRp
b24gZXJyb3IuCisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0NDE2CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgaWYgKHN5bWJvbC5kYXRhVHlwZSAhPSBidWlsdEluQXR0cmli
dXRlLT52YWx1ZSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBhdXRob3IgZGVmaW5lZCBvbmUg
b2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0aGUgd3JvbmcgdHlwZS4KKyAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogUmVwb3J0IHRoZSB2YWxpZGF0aW9uIGVycm9yLgorICAgICAgICAg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgLy8gRklYTUU6IFJldHVybiBmYWxzZSB3aGVuIHRoZSBhdHRyaWJ1dGUgaXMgbm90IG9uZSBv
ZiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlcy4KLSAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBTSEFERVJfU1lNQk9MX1RZUEVfVU5JRk9STToKQEAgLTE1Myw3
ICsxNjUsNyBAQCBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpDdXN0b21GaWx0ZXJWYWxp
ZGF0ZWRQcm9ncmFtKEN1c3RvbUZpbHRlckdsb2JhbENvbgogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgaWYgKCF2YWxpZGF0ZVN5bWJvbHMoc3ltYm9scykpIHsKKyAgICBpZiAoIXZhbGlk
YXRlU3ltYm9scyhzeW1ib2xzLCBtX3Byb2dyYW1JbmZvLm1lc2hUeXBlKCkpKSB7CiAgICAgICAg
IC8vIEZJWE1FOiBSZXBvcnQgdmFsaWRhdGlvbiBlcnJvcnMuCiAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oCmluZGV4IDMyMmM2MzAu
LjE3NDYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5o
CkBAIC00OSw3ICs0OSw2IEBAIHR5cGVkZWYgV2ViQ29yZTo6TGF5ZXJDb21waWxlZFByb2dyYW0g
UGxhdGZvcm1Db21waWxlZFByb2dyYW07CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
QU5HTEVXZWJLaXRCcmlkZ2U7CiBjbGFzcyBDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW07CiBj
bGFzcyBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCmlu
ZGV4IDcwN2VkYjguLjQwN2VjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCkBAIC04Miw4ICs4
Miw3IEBAIHN0YXRpYyB2b2lkIG9ydGhvZ29uYWxQcm9qZWN0aW9uTWF0cml4KFRyYW5zZm9ybWF0
aW9uTWF0cml4JiBtYXRyaXgsIGZsb2F0IGxlZnQsCiB9CiAKIEZFQ3VzdG9tRmlsdGVyOjpGRUN1
c3RvbUZpbHRlcihGaWx0ZXIqIGZpbHRlciwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCogY3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dCwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQ
cm9ncmFtPiB2YWxpZGF0ZWRQcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0
JiBwYXJhbWV0ZXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1l
c2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNo
Qm94VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVy
YXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAgIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25l
ZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSwgQ3VzdG9t
RmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgOiBGaWx0ZXJFZmZlY3QoZmlsdGVyKQogICAg
ICwgbV9nbG9iYWxDb250ZXh0KGN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQpCiAgICAgLCBtX3Zh
bGlkYXRlZFByb2dyYW0odmFsaWRhdGVkUHJvZ3JhbSkKQEAgLTEwNiw4ICsxMDUsNyBAQCBGRUN1
c3RvbUZpbHRlcjo6RkVDdXN0b21GaWx0ZXIoRmlsdGVyKiBmaWx0ZXIsIEN1c3RvbUZpbHRlckds
b2JhbENvbnRleHQqIGN1c3RvbQogfQogCiBQYXNzUmVmUHRyPEZFQ3VzdG9tRmlsdGVyPiBGRUN1
c3RvbUZpbHRlcjo6Y3JlYXRlKEZpbHRlciogZmlsdGVyLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0KiBjdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0+IHZhbGlkYXRlZFByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFt
ZXRlckxpc3QmIHBhcmFtZXRlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21G
aWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5
cGUgbWVzaFR5cGUpCisgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5z
LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21G
aWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZFQ3Vz
dG9tRmlsdGVyKGZpbHRlciwgY3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCwgdmFsaWRhdGVkUHJv
Z3JhbSwgcGFyYW1ldGVycywgbWVzaFJvd3MsIG1lc2hDb2x1bW5zLCBtZXNoQm94VHlwZSwgbWVz
aFR5cGUpKTsKIH0KQEAgLTU3Nyw3ICs1NzUsNyBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5k
UHJvZ3JhbUFuZEJ1ZmZlcnMoUGxhdGZvcm0zRE9iamVjdCBpbnB1dFRleHR1cmUpCiAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzU4CiAgICAgYmluZFZl
cnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+aW50ZXJuYWxUZXhDb29yZEF0dHJpYkxv
Y2F0aW9uKCksIFRleEF0dHJpYlNpemUsIFRleEF0dHJpYk9mZnNldCk7CiAgICAgYmluZFZlcnRl
eEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+bWVzaEF0dHJpYkxvY2F0aW9uKCksIE1lc2hB
dHRyaWJTaXplLCBNZXNoQXR0cmliT2Zmc2V0KTsKLSAgICBpZiAobV9tZXNoVHlwZSA9PSBDdXN0
b21GaWx0ZXJPcGVyYXRpb246OkRFVEFDSEVEKQorICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hU
eXBlRGV0YWNoZWQpCiAgICAgICAgIGJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dy
YW0tPnRyaWFuZ2xlQXR0cmliTG9jYXRpb24oKSwgVHJpYW5nbGVBdHRyaWJTaXplLCBUcmlhbmds
ZUF0dHJpYk9mZnNldCk7CiAgICAgCiAgICAgYmluZFByb2dyYW1QYXJhbWV0ZXJzKCk7CkBAIC01
ODksNyArNTg3LDcgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6dW5iaW5kVmVydGV4QXR0cmlidXRl
cygpCiAgICAgdW5iaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT50ZXhBdHRy
aWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dy
YW0tPmludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhB
dHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0tPm1lc2hBdHRyaWJMb2NhdGlvbigpKTsKLSAgICBp
ZiAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkRFVEFDSEVEKQorICAgIGlm
IChtX21lc2hUeXBlID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgIHVuYmluZFZlcnRleEF0
dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+dHJpYW5nbGVBdHRyaWJMb2NhdGlvbigpKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUN1c3RvbUZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUN1c3RvbUZpbHRlci5oCmluZGV4IDA5ZGE1ZjEuLjU2Yjc0ZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmls
dGVyLmgKQEAgLTU5LDggKzU5LDcgQEAgY2xhc3MgSW50U2l6ZTsKIGNsYXNzIEZFQ3VzdG9tRmls
dGVyIDogcHVibGljIEZpbHRlckVmZmVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RkVDdXN0b21GaWx0ZXI+IGNyZWF0ZShGaWx0ZXIqLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0KiwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtPiwgY29uc3QgQ3Vz
dG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYsCi0gICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWVz
aFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hC
b3hUeXBlLCAKLSAgICAgICAgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hU
eXBlKTsKKyAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBD
dXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1BcHBseVNvZnR3YXJlKCk7CiAgICAgdmlydHVh
bCB2b2lkIGR1bXAoKTsKQEAgLTY5LDggKzY4LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAg
IEZFQ3VzdG9tRmlsdGVyKEZpbHRlciosIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQqLCBQYXNz
UmVmUHRyPEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0+LCBjb25zdCBDdXN0b21GaWx0ZXJQ
YXJhbWV0ZXJMaXN0JiwKLSAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5z
aWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIAot
ICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUpOworICAg
ICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsKICAgICB+RkVD
dXN0b21GaWx0ZXIoKTsKICAgICAKICAgICBib29sIGFwcGx5U2hhZGVyKCk7CkBAIC0xMzEsNyAr
MTI5LDcgQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fbWVzaFJvd3M7CiAgICAgdW5zaWdu
ZWQgbV9tZXNoQ29sdW1uczsKLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1f
bWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0uaAppbmRleCA1MzhhNTJlLi5hZTY4
ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0
b21GaWx0ZXJQcm9ncmFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBAIC00NSw5ICs0NSw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSA6IHB1YmxpYyBDdXN0b21GaWx0
ZXJQcm9ncmFtLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ3VzdG9t
RmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRl
ciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclBy
b2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGlu
Z3MmIG1peFNldHRpbmdzKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ3VzdG9tRmlsdGVy
UHJvZ3JhbT4gY3JlYXRlKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRlciwgUGFz
c1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1U
eXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1p
eFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtKHZlcnRleFNoYWRl
ciwgZnJhZ21lbnRTaGFkZXIsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncykpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSh2ZXJ0ZXhTaGFkZXIs
IGZyYWdtZW50U2hhZGVyLCBwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKSk7CiAg
ICAgfQogICAgIAogICAgIHZvaWQgc2V0VmVydGV4U2hhZGVyKFBhc3NSZWZQdHI8U3R5bGVTaGFk
ZXI+IHNoYWRlcikgeyBtX3ZlcnRleFNoYWRlciA9IHNoYWRlcjsgfQpAQCAtMTMwLDggKzEzMCw4
IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgU3R5bGVDdXN0b21GaWx0ZXJQcm9n
cmFtKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRlciwgUGFzc1JlZlB0cjxTdHls
ZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1U
eXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzKQot
ICAgICAgICA6IEN1c3RvbUZpbHRlclByb2dyYW0ocHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKQor
ICAgIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbShQYXNzUmVmUHRyPFN0eWxlU2hhZGVyPiB2ZXJ0
ZXhTaGFkZXIsIFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IGZyYWdtZW50U2hhZGVyLCBDdXN0b21G
aWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1p
eFNldHRpbmdzJiBtaXhTZXR0aW5ncywgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCisg
ICAgICAgIDogQ3VzdG9tRmlsdGVyUHJvZ3JhbShwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1l
c2hUeXBlKQogICAgICAgICAsIG1fdmVydGV4U2hhZGVyKHZlcnRleFNoYWRlcikKICAgICAgICAg
LCBtX2ZyYWdtZW50U2hhZGVyKGZyYWdtZW50U2hhZGVyKQogICAgICAgICAsIG1faXNWZXJ0ZXhT
aGFkZXJMb2FkZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGMwMjFmMC4uMWY2ZWJhNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTI1ICBNYXggVnVqb3ZpYyAgPG12dWpvdmlj
QGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIFJlamVjdCB2ZXJ0ZXggc2hhZGVy
cyB3aXRoIGN1c3RvbSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05ODk3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToK
KyAgICAgICAgICAgIFJlcGxhY2UgdGhlIG5vdyByZW1vdmVkIEN1c3RvbUZpbHRlck9wZXJhdGlv
bjo6TWVzaFR5cGUgd2l0aCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBmcm9tCisgICAgICAgICAgICBD
dXN0b21GaWx0ZXJDb25zdGFudHMuaC4KKwogMjAxMi0xMC0yNiAgQ2hyaXN0b3BoZSBEdW1leiAg
PGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gR2V0IHJp
ZCBvZiBDJ2lzbSBpbiB0ZXh0IGNoZWNrZXIgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRD
b2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBiMTcwZTZjLi5mNmIxNGI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENv
ZGVycy5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAjaW5j
bHVkZSAiV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlckNv
bnN0YW50cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0N1c3RvbUZpbHRlclByb2dyYW0uaD4KQEAgLTE0Nyw2ICsxNDgsNyBAQCB2b2lk
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmVuY29kZShBcmd1bWVu
dEVuY29kZXIqIGVuY29kZXIsCiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0
dGluZ3MgbWl4U2V0dGluZ3MgPSBwcm9ncmFtSW5mby5taXhTZXR0aW5ncygpOwogICAgICAgICAg
ICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0aW5ncy5ibGVuZE1vZGUpOwogICAgICAgICAg
ICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0aW5ncy5jb21wb3NpdGVPcGVyYXRvcik7Cisg
ICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKHByb2dyYW0tPm1lc2hUeXBlKCkpOwogCiAg
ICAgICAgICAgICBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0IHBhcmFtZXRlcnMgPSBjdXN0b21P
cGVyYXRpb24tPnBhcmFtZXRlcnMoKTsKICAgICAgICAgICAgIGVuY29kZXItPmVuY29kZShzdGF0
aWNfY2FzdDx1aW50MzJfdD4ocGFyYW1ldGVycy5zaXplKCkpKTsKQEAgLTI1Miw2ICsyNTQsNyBA
QCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmRlY29kZShB
cmd1bWVudERlY29kZXIqIGRlY29kZXIsCiAgICAgICAgICAgICBTdHJpbmcgZnJhZ21lbnRTaGFk
ZXJTdHJpbmc7CiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlw
ZTsKICAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5n
czsKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlOwogICAgICAgICAg
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUodmVydGV4U2hhZGVyU3RyaW5nKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShmcmFn
bWVudFNoYWRlclN0cmluZykpCkBAIC0yNjIsNyArMjY1LDkgQEAgYm9vbCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6OkZpbHRlck9wZXJhdGlvbnM+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNv
ZGVyLAogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGlmICghZGVj
b2Rlci0+ZGVjb2RlRW51bShtaXhTZXR0aW5ncy5jb21wb3NpdGVPcGVyYXRvcikpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgUmVmUHRyPEN1c3RvbUZpbHRlclBy
b2dyYW0+IHByb2dyYW0gPSBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUodmVydGV4U2hh
ZGVyU3RyaW5nLCBmcmFnbWVudFNoYWRlclN0cmluZywgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdz
KTsKKyAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlRW51bShtZXNoVHlwZSkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgUmVmUHRyPEN1c3RvbUZpbHRl
clByb2dyYW0+IHByb2dyYW0gPSBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUodmVydGV4
U2hhZGVyU3RyaW5nLCBmcmFnbWVudFNoYWRlclN0cmluZywgcHJvZ3JhbVR5cGUsIG1peFNldHRp
bmdzLCBtZXNoVHlwZSk7CiAKICAgICAgICAgICAgIHVpbnQzMl90IHBhcmFtZXRlcnNTaXplOwog
ICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVVSW50MzIocGFyYW1ldGVyc1NpemUpKQpA
QCAtMzIxLDcgKzMyNiw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVy
YXRpb25zPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwKICAgICAgICAgICAgIHVu
c2lnbmVkIG1lc2hSb3dzOwogICAgICAgICAgICAgdW5zaWduZWQgbWVzaENvbHVtbnM7CiAgICAg
ICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlOwot
ICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZTsKKyAg
ICAgICAgICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlOwogICAgICAgICAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGUobWVzaFJvd3MpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKG1lc2hDb2x1bW5zKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkN1c3Rv
bUZpbHRlclByb2dyYW0uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYkN1c3RvbUZpbHRlclByb2dyYW0uaAppbmRleCBlYjA5N2MyLi42MDM2MThkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDdXN0
b21GaWx0ZXJQcm9ncmFtLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBAIC0yNywxNSArMjcsMTYgQEAKICNk
ZWZpbmUgV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbV9oCiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpICYmIEVOQUJMRShDU1NfU0hBREVSUykKKyNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZp
bHRlckNvbnN0YW50cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbSA6
IHB1YmxpYyBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxXZWJDdXN0b21GaWx0ZXJQcm9ncmFtPiBjcmVhdGUoU3RyaW5nIHZlcnRl
eFNoYWRlclN0cmluZywgU3RyaW5nIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcsIFdlYkNvcmU6OkN1
c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQ
cm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2Vi
Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcsIFN0
cmluZyBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFt
VHlwZSBwcm9ncmFtVHlwZSwgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdz
IG1peFNldHRpbmdzLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbSh2
ZXJ0ZXhTaGFkZXJTdHJpbmcsIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcsIHByb2dyYW1UeXBlLCBt
aXhTZXR0aW5ncykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkN1c3RvbUZpbHRl
clByb2dyYW0odmVydGV4U2hhZGVyU3RyaW5nLCBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLCBwcm9n
cmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCBi
b29sIGlzTG9hZGVkKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtNTUsOCAr
NTYsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZUxhc3RDbGllbnQo
KSBPVkVSUklERSB7IH0KIAogcHJpdmF0ZToKLSAgICBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtKFN0
cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcsIFN0cmluZyBmcmFnbWVudFNoYWRlclN0cmluZywgV2Vi
Q29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIFdlYkNvcmU6OkN1c3Rv
bUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncykKLSAgICAgICAgOiBXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJQcm9ncmFtKHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncykKKyAgICBXZWJD
dXN0b21GaWx0ZXJQcm9ncmFtKFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcsIFN0cmluZyBmcmFn
bWVudFNoYWRlclN0cmluZywgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3Jh
bVR5cGUsIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5n
cywgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCisgICAgICAgIDogV2Vi
Q29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbShwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hU
eXBlKQogICAgICAgICAsIG1fdmVydGV4U2hhZGVyU3RyaW5nKHZlcnRleFNoYWRlclN0cmluZykK
ICAgICAgICAgLCBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nKGZyYWdtZW50U2hhZGVyU3RyaW5nKQog
ICAgIHsK
</data>
<flag name="commit-queue"
          id="184766"
          type_id="3"
          status="-"
          setter="mvujovic"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171023</attachid>
            <date>2012-10-26 15:01:46 -0700</date>
            <delta_ts>2012-10-26 15:36:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98973-5.patch</filename>
            <type>text/plain</type>
            <size>61978</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYmQ0MzIzLi5jYjkxYjk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTItMTAt
MjUgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNoZWNrcyB0byB2
ZXJpZnk6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMgZG8gbm90
IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTspLgorICAgICAgICAo
MikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5vdCBleGVjdXRlIHdp
dGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBOb3RlIHRoYXQgaW4gQ1NTIEN1c3RvbSBG
aWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSBp
biBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hlcywgbm8gdmVydGlj
ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2ZXJ0ZXgKKyAgICAg
ICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
aWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0aWNlcyBjYW4gYmVs
b25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQgY2Fubm90IGlkZW50
aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAgICAgICBDU1MgRmls
dGVycyBTcGVjLCBWZXJ0ZXggQXR0cmlidXRlczoKKyAgICAgICAgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9GWFRGL3Jhdy1maWxlL3RpcC9maWx0ZXJzL2luZGV4Lmh0bWwjdmVydGV4LWF0dHJpYnV0
ZS12YXJpYWJsZXMKKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1s
OgorICAgICAgICAgICAgQWRkIHR3byBjaGVja3MgZm9yIHR3byBuZXcgdmVydGV4IHNoYWRlcnMu
IFVwZGF0ZSB0aGUgYV90cmlhbmdsZUNvb3JkIHR5cGUgY2hlY2sgdG8gdXNlCisgICAgICAgICAg
ICBhIGRldGFjaGVkIG1lc2gsIHNvIHRoZSB2ZXJ0ZXggc2hhZGVyIGZhaWxzIHRvIHZhbGlkYXRl
IGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzCisgICAgICAgICAgICBkZWZpbmVkIHdpdGggYW4g
aW5jb3JyZWN0IHR5cGUsIG5vdCBiZWNhdXNlIGl0IGRlZmluZXMgYV90cmlhbmdsZUNvb3JkIGlu
IGFuIGF0dGFjaGVkCisgICAgICAgICAgICBtZXNoLgorICAgICAgICAqIGNzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52czoK
KyAgICAgICAgICAgIEFkZGVkLiBUaGlzIHZlcnRleCBzaGFkZXIgZGVmaW5lcyBhX3RyaWFuZ2xl
Q29vcmQgd2l0aCB0aGUgY29ycmVjdCB0eXBlLiBIb3dldmVyLCB0aGlzCisgICAgICAgICAgICBz
aGFkZXIgaXMgcnVuIHdpdGggYW4gYW4gYXR0YWNoZWQgbWVzaCwgc28gaXQgc2hvdWxkIG5vdCBl
eGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20t
YXR0cmlidXRlLnZzOgorICAgICAgICAgICAgQWRkZWQuIFRoaXMgdmVydGV4IHNoYWRlciBkZWZp
bmVzIGEgY3VzdG9tIGF0dHJpYnV0ZS4gVGhlIGFzc29jaWF0ZWQgdGVzdCB2ZXJpZmllcworICAg
ICAgICAgICAgdGhhdCBpdCBkb2VzIG5vdCBleGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnM6CisgICAgICAgICAg
ICBBZGQgYSBjb21tZW50IHRoYXQgdGhpcyBzaGFkZXIgc2hvdWxkIGJlIHJ1biB3aXRoIGEgZGV0
YWNoZWQgbWVzaC4KKwogMjAxMi0xMC0yNiAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIENyYXNoIG9uIGxvYWRpbmcgU1ZHIGZpbHRlciByZXNvdXJjZSBv
biBIVE1MIGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0
b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0
cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKaW5kZXggNjc5MGZkZS4uNGQwMDRkMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0
ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVj
dGVkLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KLSAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhlY3V0ZSBp
ZiB0aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0
eXBlLjwvdGl0bGU+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMgZG8gbm90
IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0
aGUgd3JvbmcgdHlwZSBvciBkZWZpbmVzIGN1c3RvbSBhdHRyaWJ1dGVzLjwvdGl0bGU+CiAgICAg
PCEtLSAKICAgICAgICAgVGhpcyBpcyB0aGUgcmVmZXJlbmNlIGZpbGUgZm9yIHRoZSB0ZXN0Lgot
ICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDUgdmVydGljYWxseS1z
dGFja2VkIGdyZWVuIGJveGVzLgorICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91
bGQgc2VlIDcgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVzLgogICAgIC0tPgogICAgIDxz
dHlsZT4KICAgICBkaXYgewpAQCAtMjEsNSArMjEsNyBAQAogICAgIDxkaXY+PC9kaXY+CiAgICAg
PGRpdj48L2Rpdj4KICAgICA8ZGl2PjwvZGl2PgorICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48
L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0
cmlidXRlLXR5cGVzLmh0bWwKaW5kZXggYTZhYTA1NC4uZDU2NWJhMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmli
dXRlLXR5cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZh
bGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLmh0bWwKQEAgLTEsOCArMSw4IEBACiA8
IWRvY3R5cGUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci0gICAgPHRpdGxlPlRlc3RzIHRoYXQgY3Vz
dG9tIGZpbHRlcnMgZG8gbm90IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWlu
IGF0dHJpYnV0ZXMgd2l0aCB0aGUgd3JvbmcgdHlwZS48L3RpdGxlPgotICAgIDwhLS0gSWYgdGhl
IHRlc3QgcGFzc2VzLCB5b3Ugc2hvdWxkIHNlZSA1IHZlcnRpY2FsbHktc3RhY2tlZCBncmVlbiBi
b3hlcy4gLS0+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMgZG8gbm90IGV4
ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0aGUg
d3JvbmcgdHlwZSBvciBkZWZpbmVzIGN1c3RvbSBhdHRyaWJ1dGVzLjwvdGl0bGU+CisgICAgPCEt
LSBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDcgdmVydGljYWxseS1zdGFja2Vk
IGdyZWVuIGJveGVzLiAtLT4KICAgICA8c2NyaXB0PgogICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7CkBAIC0yNSw2ICsyNSw5IEBA
CiAgICAgICAgIGhlaWdodDogNTBweDsKICAgICAgICAgbWFyZ2luOiAxMHB4OwogICAgIH0KKyAg
ICAuaW52YWxpZC1jdXN0b20tYXR0cmlidXRlIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1
c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMnKSBtaXgo
dXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4
X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CisgICAgfQogICAgIC5pbnZhbGlkLXR5cGUtYS1tZXNo
LWNvb3JkIHsKICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNl
cy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21p
eC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAx
LjApOwogICAgIH0KQEAgLTM1LDE4ICszOCwyOCBAQAogICAgICAgICAtd2Via2l0LWZpbHRlcjog
Y3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRleC1jb29yZC52cycpIG1p
eCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBt
aXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsKICAgICB9CiAgICAgLmludmFsaWQtdHlwZS1hLXRy
aWFuZ2xlLWNvb3JkIHsKLSAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jl
c291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4w
IDAuMCAwLjAgMS4wKTsKKyAgICAgICAgLyogVGhpcyBjdXN0b20gZmlsdGVyIHVzZXMgYSBkZXRh
Y2hlZCBtZXNoIGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzIG9ubHkgYXZhaWxhYmxlIHdpdGgg
YSBkZXRhY2hlZCBtZXNoLiAqLworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgn
Li4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIDEgMSBkZXRh
Y2hlZCwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CiAgICAgfQogICAgIC5pbnZhbGlkLXR5
cGUtYXR0cmlidXRlLWFycmF5IHsKICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwo
Jy4uL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xv
ciAxLjAgMC4wIDAuMCAxLjApOyAgICAgICAgCiAgICAgfQorICAgIC5pbnZhbGlkLXR5cGUtYXR0
cmlidXRlLWFycmF5IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzJykgbWl4KHVybCgnLi4vcmVz
b3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAg
MC4wIDAuMCAxLjApOyAgICAgICAgCisgICAgfQorICAgIC5pbnZhbGlkLWF0dGFjaGVkLW1lc2gt
YS10cmlhbmdsZS1jb29yZCB7CisgICAgICAgIC8qIFRoaXMgY3VzdG9tIGZpbHRlciB1c2VzIGFu
IGF0dGFjaGVkIG1lc2ggdG8gdmVyaWZ5IHRoYXQgYV90cmlhbmdsZUNvb3JkIGlzIG5vdCBhIGF2
YWlsYWJsZSB3aXRoIGFuIGF0dGFjaGVkIG1lc2guICovCisgICAgICAgIC13ZWJraXQtZmlsdGVy
OiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgt
YXR0YWNoZWQtbWVzaC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBu
b3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsgICAgICAgIAor
ICAgIH0KICAgICA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
ICAgIDxkaXYgY2xhc3M9ImludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZSI+PC9kaXY+CiAgICAgPGRp
diBjbGFzcz0iaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFz
cz0iaW52YWxpZC10eXBlLWEtcG9zaXRpb24iPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFs
aWQtdHlwZS1hLXRleC1jb29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iaW52YWxpZC10eXBl
LWEtdHJpYW5nbGUtY29vcmQiPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFsaWQtdHlwZS1h
dHRyaWJ1dGUtYXJyYXkiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImludmFsaWQtYXR0YWNoZWQt
bWVzaC1hLXRyaWFuZ2xlLWNvb3JkIj48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xl
LWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzU4YzhlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5n
bGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNoLnZzCkBAIC0wLDAgKzEsMTIgQEAKKy8vIFRoaXMg
c2hhZGVyIHNob3VsZCBub3QgZXhlY3V0ZSBpZiB0aGUgbWVzaCBpcyBhdHRhY2hlZCBiZWNhdXNl
IGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBkZXRhY2hlZCBtZXNoc2VzLgor
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworYXR0cmlidXRlIHZlYzMgYV90cmlhbmdsZUNv
b3JkOworYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rp
b25NYXRyaXg7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rp
b25NYXRyaXggKiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWI2YjFlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRy
aWJ1dGUudnMKQEAgLTAsMCArMSwxMiBAQAorLy8gSWYgdGhpcyBzaGFkZXIncyByZWxhdGVkIHRl
c3QgcGFzc2VzLCB0aGUgY3VzdG9tIGZpbHRlciBkb2VzIG5vdCBleGVjdXRlIGJlY2F1c2UgbXlf
YXR0cmlidXRlIGlzIG5vdCBvbmUgb2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMuCisKK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgZmxvYXQgbXlfYXR0cmlidXRlOworYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRyaXg7
CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rpb25NYXRyaXgg
KiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzCmluZGV4IDNhZGU5
YzguLjA4MjQ5NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52cworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQudnMKQEAgLTQsNyArNCw2
IEBAIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwogCiAvLyBhX21lc2hDb29yZCBzaG91bGQgYmUg
YSB2ZWMyLCBub3QgYSBmbG9hdC4KIGF0dHJpYnV0ZSBmbG9hdCBhX21lc2hDb29yZDsKLQogYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKIAogdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJp
eDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxp
ZC10eXBlLWEtcG9zaXRpb24udnMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2Vz
L2ludmFsaWQtdHlwZS1hLXBvc2l0aW9uLnZzCmluZGV4IGJkYTQ4ZTguLjUxNTRlYTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEt
cG9zaXRpb24udnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZh
bGlkLXR5cGUtYS1wb3NpdGlvbi52cwpAQCAtNCw3ICs0LDYgQEAgcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CiAKIC8vIGFfcG9zaXRpb24gc2hvdWxkIGJlIGEgdmVjNCwgbm90IGEgdmVjMy4KIGF0
dHJpYnV0ZSB2ZWMzIGFfcG9zaXRpb247Ci0KIHVuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRy
aXg7CiAKIHZvaWQgbWFpbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
cmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRleC1jb29yZC52cyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCmluZGV4IDc2MTEz
MzEuLjI0MjljNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCkBAIC00LDkgKzQsNyBA
QCBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKIAogLy8gYV9tZXNoQ29vcmQgc2hvdWxkIGJlIGEg
dmVjMiwgbm90IGFuIHZlYzQuCiBhdHRyaWJ1dGUgdmVjNCBhX3RleENvb3JkOwotCiBhdHRyaWJ1
dGUgdmVjNCBhX3Bvc2l0aW9uOwotCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9uTWF0cml4Owog
CiB2b2lkIG1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMKaW5kZXgg
ODVjM2FiNS4uYmVkNjYyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cworKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZz
CkBAIC0xLDEyICsxLDExIEBACiAvLyBJZiB0aGlzIHNoYWRlcidzIHJlbGF0ZWQgdGVzdCBwYXNz
ZXMsIHRoZSBjdXN0b20gZmlsdGVyIGRvZXMgbm90IGV4ZWN1dGUgYmVjYXVzZSBhX3RyaWFuZ2xl
Q29vcmQncyB0eXBlIGlzIGludmFsaWQuCisvLyBUaGUgY3VzdG9tIGZpbHRlciBzaG91bGQgZGVm
aW5lIGEgZGV0YWNoZWQgbWVzaCBiZWNhdXNlIGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWls
YWJsZSB3aXRoIGEgZGV0YWNoZWQgbWVzaC4KIAogcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CiAK
LS8vIGFfbWVzaENvb3JkIHNob3VsZCBiZSBhIHZlYzMsIG5vdCBhIHZlYzIuCisvLyBhX3RyaWFu
Z2xlQ29vcmQgc2hvdWxkIGJlIGEgdmVjMywgbm90IGEgdmVjMi4KIGF0dHJpYnV0ZSB2ZWMyIGFf
dHJpYW5nbGVDb29yZDsKLQogYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKLQogdW5pZm9ybSBt
YXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKIAogdm9pZCBtYWluKCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJh
eS52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0
dHJpYnV0ZS1hcnJheS52cwppbmRleCAzN2M0MjIxLi42MTNlNzllIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJy
YXkudnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5
cGUtYXR0cmlidXRlLWFycmF5LnZzCkBAIC00LDcgKzQsNiBAQCBwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKIAogLy8gYV9wb3NpdGlvbiBzaG91bGQgYmUgYSB2ZWM0LCBub3QgYSB2ZWM0IGFycmF5
LgogYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvblsxXTsKLQogdW5pZm9ybSBtYXQ0IHVfcHJvamVj
dGlvbk1hdHJpeDsKIAogdm9pZCBtYWluKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzODNiMTZhLi41ODkzMGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA4IEBACisyMDEyLTEwLTI1ICBNYXggVnVqb3ZpYyAg
PG12dWpvdmljQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIFJlamVjdCB2ZXJ0
ZXggc2hhZGVycyB3aXRoIGN1c3RvbSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcHJvdmVkIENTUyBDdXN0b20gRmlsdGVycyBzaGFk
ZXIgdmFsaWRhdGlvbi4gV2l0aCB0aGlzIHBhdGNoOgorICAgICAgICAoMSkgU2hhZGVycyB3aXRo
IGN1c3RvbSBhdHRyaWJ1dGVzIGRvIG5vdCBleGVjdXRlIChlLmcuIGF0dHJpYnV0ZSBmbG9hdCBt
eV9hdHRyaWJ1dGU7KS4KKyAgICAgICAgKDIpIFNoYWRlcnMgd2l0aCBhX3RyaWFuZ2xlQ29vcmQg
ZGVmaW5lZCBkbyBub3QgZXhlY3V0ZSB3aXRoIGFuIGF0dGFjaGVkIG1lc2guCisKKyAgICAgICAg
TW9zdCBvZiB0aGUgY2hhbmdlcyBhcmUgZnJvbSByZW5hbWluZyBDdXN0b21GaWx0ZXJPcGVyYXRp
b246Ok1lc2hUeXBlIHRvCisgICAgICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlLCBhbmQgbW92aW5n
IHRoZSBlbnVtZXJhdGlvbiB0byBDdXN0b21GaWx0ZXJDb25zdGFudHMuaC4gVGhpcyBhdm9pZHMK
KyAgICAgICAgcHVsbGluZyBpbiBDdXN0b21GaWx0ZXJPcGVyYXRpb24gZm9yIGNsYXNzZXMgdGhh
dCBvbmx5IGNhcmUgYWJvdXQgdGhlIG1lc2ggdHlwZS4KKworICAgICAgICBOb3RlIHRoYXQgaW4g
Q1NTIEN1c3RvbSBGaWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5
IGF2YWlsYWJsZSBpbiBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hl
cywgbm8gdmVydGljZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2
ZXJ0ZXgKKyAgICAgICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3Ry
aWFuZ2xlQ29vcmQgaWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0
aWNlcyBjYW4gYmVsb25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
Y2Fubm90IGlkZW50aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAg
ICAgICBUZXN0czoKKyAgICAgICAgQWRkIHR3byBuZXcgY2hlY2tzIHRvIHRoZSB0ZXN0IGZpbGU6
CisgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1h
dHRyaWJ1dGUtdHlwZXMuaHRtbAorICAgICAgICBBZGQgdHdvIG5ldyBzaGFkZXJzOgorICAgICAg
ICAgICAgY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMK
KyAgICAgICAgICAgIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNv
b3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cworCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAgICAgVXBkYXRlIGEgYnJva2VuIHJlZmVyZW5jZSB0
byBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiB0aGUgWGNvZGUgcHJvamVjdCBmaWxlLgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjp2YWx1ZUZvckZpbHRlcik6CisgICAg
ICAgICAgICBSZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0
b21GaWx0ZXJNZXNoVHlwZS4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24p
OiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
ckNvbnN0YW50cy5oOgorICAgICAgICAgICAgQWRkIEN1c3RvbUZpbHRlck1lc2hUeXBlIGVudW0g
dG8gc2hhcmUgYWNyb3NzIHRoZSBDdXN0b20gRmlsdGVycyBjb2RlYmFzZSwgc28gdGhhdCB3ZQor
ICAgICAgICAgICAgZG9uJ3QgaGF2ZSB0byBpbmNsdWRlIEN1c3RvbUZpbHRlck9wZXJhdGlvbiBq
dXN0IHRvIGFjY2VzcyB0aGUgb2xkCisgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246
Ok1lc2hUeXBlIGVudW0uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJNZXNoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2g6OkN1
c3RvbUZpbHRlck1lc2gpOgorICAgICAgICAgICAgUmVwbGFjZSBDdXN0b21GaWx0ZXJPcGVyYXRp
b246Ok1lc2hUeXBlIHdpdGggQ3VzdG9tRmlsdGVyTWVzaFR5cGUuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJNZXNoOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUZpbHRlck1lc2g6Om1lc2hUeXBlKTogRGl0dG8uCisgICAgICAgIChDdXN0b21GaWx0ZXJN
ZXNoKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yOjpkdW1wQnVmZmVycyk6
IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
TWVzaEdlbmVyYXRvci5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcik6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6ZmxvYXRz
UGVyVmVydGV4KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yOjp2ZXJ0aWNlc0NvdW50KTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwOiAKKyAgICAgICAgKFdlYkNvcmU6
OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKTogRGl0dG8uCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24u
aDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJPcGVyYXRpb246Om1lc2hUeXBlKTog
RGl0dG8uCisgICAgICAgIChDdXN0b21GaWx0ZXJPcGVyYXRpb24pOiBEaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbSk6
CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgYmVjYXVz
ZSB0aGUgcHJvZ3JhbSBub3cgbmVlZHMgdG8ga25vdyB0aGUgbWVzaFR5cGUKKyAgICAgICAgICAg
IHRvIHByb3Blcmx5IHZhbGlkYXRlLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJv
Z3JhbTo6cHJvZ3JhbUluZm8pOgorICAgICAgICAgICAgUGFzcyBtZXNoVHlwZSB0byBDdXN0b21G
aWx0ZXJQcm9ncmFtIGNvbnN0cnVjdG9yLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
UHJvZ3JhbTo6b3BlcmF0b3I9PSk6CisgICAgICAgICAgICBDaGVjayB0aGUgbWVzaFR5cGUgaW4g
dGhlIGVxdWFscyBvcGVyYXRvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlclByb2dyYW0uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3Rv
bUZpbHRlclByb2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAg
ICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuICAgICAgICAgICAgCisgICAg
ICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6aGFzaCk6CisgICAgICAgICAg
ICBJbmNsdWRlIHRoZSBtZXNoVHlwZSBpbiB0aGUgdmFsaWRhdGVkIHByb2dyYW0gaGFzaCwgc2lu
Y2UgdGhlIHNhbWUgc2hhZGVyIGNvZGUgY2FuIHBhc3MKKyAgICAgICAgICAgIG9yIGZhaWwgdmFs
aWRhdGlvbiBiYXNlZCBvbiB0aGUgbWVzaFR5cGUuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbzo6b3BlcmF0b3I9PSk6CisgICAgICAgICAgICBDaGVjayB0aGUgbWVz
aFR5cGUgaW4gdGhlIGVxdWFscyBvcGVyYXRvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmg6CisgICAgICAgIChDdXN0b21GaWx0
ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAgICBVcGRhdGUgbWV0aG9kIHByb3RvdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjptZXNoVHlwZSk6CisgICAg
ICAgICAgICBBZGQgbWVzaFR5cGUgZ2V0dGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjp2YWxpZGF0ZVN5bWJvbHMpOgorICAg
ICAgICAgICAgSWYgdGhlIGF1dGhvciBkZWZpbmVzIGF0dHJpYnV0ZSB0aGF0IGlzIGlzIG5vdCBm
b3VuZCBpbiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlIG1hcCwKKyAgICAgICAgICAgIHJlamVjdCB0
aGUgc2hhZGVyLgorICAgICAgICAgICAgSWYgdGhlIGF1dGhvciBkZWZpbmVzIGFfdHJpYW5nbGVD
b29yZCB3aXRob3V0IGEgZGV0YWNoZWQgbWVzaCB0eXBlLCByZWplY3QgdGhlIHNoYWRlci4KKyAg
ICAgICAgICAgIEFsc28sIG1ha2UgdGhpcyBwcmV2aW91c2x5IGZpbGUtc3RhdGljIGZ1bmN0aW9u
IGludG8gYSBtZXRob2Qgb2YKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dy
YW0gYmVjYXVzZSBpdCBub3cgbmVlZHMgdG8gYWNjZXNzIHRoZSBtX21lc2hUeXBlLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbSk6CisgICAgICAgICAg
ICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgYmVjYXVzZSB0aGUgcHJvZ3Jh
bSBub3cgbmVlZHMgdG8ga25vdyB0aGUgbWVzaFR5cGUKKyAgICAgICAgICAgIHRvIHByb3Blcmx5
IHZhbGlkYXRlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21G
aWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OkZFQ3VzdG9tRmls
dGVyKToKKyAgICAgICAgICAgIFJlcGxhY2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlw
ZSB3aXRoIEN1c3RvbUZpbHRlck1lc2hUeXBlLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21G
aWx0ZXI6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6
OmJpbmRQcm9ncmFtQW5kQnVmZmVycyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0
b21GaWx0ZXI6OnVuYmluZFZlcnRleEF0dHJpYnV0ZXMpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmg6CisgICAgICAgIChGRUN1c3Rv
bUZpbHRlcik6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZp
bHRlclByb2dyYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3Jh
bTo6Y3JlYXRlKToKKyAgICAgICAgICAgIEFkZCBhIG1lc2hUeXBlIGNvbnN0cnVjdG9yIHBhcmFt
ZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6U3R5bGVD
dXN0b21GaWx0ZXJQcm9ncmFtKTogRGl0dG8uCisKIDIwMTItMTAtMjYgIFBhcnRoIFBhdGVsICA8
cGFycGF0ZWxAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRXh0ZW5kaW5nIGV4aXN0
aW5nIFRocmVhZFVuc2FmZSBzaW5nbGV0b25zIGluIHdlYmtpdCB0bwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIwNjk1ZDQuLjk0
MjY3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTM4MDIsMTEgKzM4MDIsMTEgQEAKIAkJQTFFMTE1NDQxMzAxNUMzRDAwNTRB
QzhDIC8qIERpc3RhbnRMaWdodFNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMUUxMTU0MzEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExp
Z2h0U291cmNlLmNwcCAqLzsgfTsKIAkJQTFFMTE1NDYxMzAxNUM0RTAwNTRBQzhDIC8qIFBvaW50
TGlnaHRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFFMTE1NDUxMzAxNUM0RTAwNTRBQzhDIC8qIFBvaW50TGlnaHRTb3VyY2UuY3BwICov
OyB9OwogCQlBMUUxMTU0ODEzMDE1QzVEMDA1NEFDOEMgLyogU3BvdExpZ2h0U291cmNlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRTExNTQ3MTMw
MTVDNUQwMDU0QUM4QyAvKiBTcG90TGlnaHRTb3VyY2UuY3BwICovOyB9OwotCQlBMjRBM0E5RDE2
MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRBM0E5QzE2MjQ5OUZGMDA1MjI3NDUg
LyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi87IH07CiAJCUEyNEJGNzdCMTVDQzNCQUYwMDMx
OTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRCRjc3OTE1Q0MzQkFGMDAzMTkxRjIgLyogV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oICovOyB9OwogCQlBMjRCRjc3QzE1Q0MzQkFGMDAzMTkx
RjIgLyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRCRjc3QTE1Q0MzQkFGMDAzMTkxRjIgLyogV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgKi87IH07CiAJCUEyOTUzMkNGMTVERDVFMTcwMDQ2
OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyOTUzMkNEMTVERDVFMTcwMDQ2OUVCQyAv
KiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCAqLzsgfTsKIAkJQTI5NTMyRDAxNURE
NUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyOTUzMkNFMTVERDVFMTcwMDQ2
OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmggKi87IH07CisJCUEyQjJBRTdD
MTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyQjJBRTdCMTYzNzVFRTUwMENGQTUw
QiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLzsgfTsKIAkJQTNCQjU5RjMxNDU3QTQwRDAw
QUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1l
bnRFdmVudFF1ZXVlLmNwcCAqLzsgfTsKIAkJQTNCQjU5RjQxNDU3QTQwRDAwQUM1NkZFIC8qIERv
Y3VtZW50RXZlbnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEzRTI2
NDMwMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzRTI2NDJFMTQ3NDg5OTEwMDVBODU4
OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCAqLzsgfTsKQEAgLTExMDcxLDExICsxMTA3MSwxMSBA
QAogCQlBMUUxMTU0MzEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExpZ2h0U291cmNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpc3RhbnRMaWdodFNvdXJjZS5j
cHA7IHBhdGggPSBmaWx0ZXJzL0Rpc3RhbnRMaWdodFNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUExRTExNTQ1MTMwMTVDNEUwMDU0QUM4QyAvKiBQb2ludExpZ2h0U291
cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBvaW50TGlnaHRT
b3VyY2UuY3BwOyBwYXRoID0gZmlsdGVycy9Qb2ludExpZ2h0U291cmNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFFMTE1NDcxMzAxNUM1RDAwNTRBQzhDIC8qIFNwb3RMaWdo
dFNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTcG90TGln
aHRTb3VyY2UuY3BwOyBwYXRoID0gZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlBMjRBM0E5QzE2MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9t
RmlsdGVyQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEN1c3Rv
bUZpbHRlckNvbnN0YW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMjRCRjc3
OTE1Q0MzQkFGMDAzMTkxRjIgLyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyNEJGNzdBMTVDQzNCQUYwMDMxOTFGMiAvKiBX
ZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMjk1MzJDRDE1REQ1RTE3MDA0NjlFQkMgLyogQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBD
dXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEy
OTUzMkNFMTVERDVFMTcwMDQ2OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1c3RvbUZpbHRlclZhbGlkYXRlZFBy
b2dyYW0uaDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMkIyQUU3QjE2Mzc1RUU1MDBDRkE1MEIgLyog
Q3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEN1c3RvbUZpbHRlckNvbnN0YW50cy5oOyBwYXRoID0gZmlsdGVycy9DdXN0b21GaWx0ZXJDb25z
dGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjExNDU3QTQwRDAw
QUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBEb2N1bWVudEV2ZW50UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBM0JCNTlGMjE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50RXZlbnRRdWV1ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0UyNjQyRTE0NzQ4OTkxMDA1QTg1ODgg
LyogV29ya2VyRXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBXb3JrZXJFdmVudFF1ZXVlLmNwcDsgcGF0aCA9IHdvcmtlcnMvV29ya2VyRXZlbnRRdWV1
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODI0OCw3ICsxODI0OCw3IEBA
CiAJCQkJMTVCM0ZDMTcxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyLmggKi8sCiAJCQkJNTBENDA2MEYxNDdENDlERTAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlckNv
bXBpbGVkUHJvZ3JhbS5jcHAgKi8sCiAJCQkJNTBENDA2MTAxNDdENDlERTAwRDMwQkI1IC8qIEN1
c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5oICovLAotCQkJCUEyNEEzQTlDMTYyNDk5RkYwMDUy
Mjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLywKKwkJCQlBMkIyQUU3QjE2Mzc1RUU1
MDBDRkE1MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi8sCiAJCQkJNTA5ODdDMjQxNTdE
Njc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3BwICovLAogCQkJCTUw
OTg3QzI1MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmggKi8s
CiAJCQkJNTBENDA1RjcxNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlck1lc2guY3BwICov
LApAQCAtMjI2OTEsNyArMjI2OTEsNyBAQAogCQkJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAv
KiBDdXN0b21FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTVCM0ZDMTkxNUZCMjE3ODAwQTgx
QkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MEQ0MDYxMjE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgg
aW4gSGVhZGVycyAqLywKLQkJCQlBMjRBM0E5RDE2MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9tRmls
dGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMkIyQUU3QzE2Mzc1RUU1MDBDRkE1
MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MDk4N0My
NzE1N0Q2NzZEMDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTBENDA1RkExNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlck1lc2gu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdFMTJFOTBGMTVGQTVEM0EwMDVFNDEyNiAvKiBDdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggOGJiMGM1NS4uNGRj
NzM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKQEAgLTk0MSw3ICs5NDEsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmlsdGVyKGNvbnN0IFJlbmRlck9iagog
ICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBGSVhNRTogVGhlIHNwZWNpZmljYXRpb24gZG9l
c24ndCBoYXZlIGFueSAiYXR0YWNoZWQiIGlkZW50aWZpZXIuIFNob3VsZCB3ZSBhZGQgb25lPwog
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcy
NzAwCi0gICAgICAgICAgICBpZiAoY3VzdG9tT3BlcmF0aW9uLT5tZXNoVHlwZSgpID09IEN1c3Rv
bUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQpCisgICAgICAgICAgICBpZiAoY3VzdG9tT3BlcmF0
aW9uLT5tZXNoVHlwZSgpID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgICAgICAgICAgbWVz
aFBhcmFtZXRlcnMtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVEZXRhY2hlZCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBmaWx0ZXJWYWx1
ZS0+YXBwZW5kKG1lc2hQYXJhbWV0ZXJzLnJlbGVhc2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggYjhjZGU1ZC4uYTVkNmE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcApAQCAtMTU3LDYgKzE1Nyw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX1NIQURF
UlMpCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKKyNpbmNsdWRlICJD
dXN0b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJOdW1iZXJQYXJh
bWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJD
dXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKQEAgLTQ4NDQsNyArNDg0NSw3IEBAIFBhc3NSZWZQdHI8
Q3VzdG9tRmlsdGVyT3BlcmF0aW9uPiBTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJP
cGVyYXRpb24oV2ViCiAgICAgdW5zaWduZWQgbWVzaFJvd3MgPSAxOwogICAgIHVuc2lnbmVkIG1l
c2hDb2x1bW5zID0gMTsKICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1l
c2hCb3hUeXBlID0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpGSUxURVJfQk9YOwotICAgIEN1c3Rv
bUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUgPSBDdXN0b21GaWx0ZXJPcGVyYXRp
b246OkFUVEFDSEVEOworICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlID0gTWVzaFR5
cGVBdHRhY2hlZDsKICAgICAKICAgICBDU1NWYWx1ZSogcGFyYW1ldGVyc1ZhbHVlID0gMDsKICAg
ICAKQEAgLTQ4ODgsNyArNDg4OSw3IEBAIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyT3BlcmF0aW9u
PiBTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24oV2ViCiAgICAgICAg
IGlmIChpdGVyYXRvci5oYXNNb3JlKCkgJiYgaXRlcmF0b3IuaXNQcmltaXRpdmVWYWx1ZSgpKSB7
CiAgICAgICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNf
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZXJhdG9yLnZhbHVlKCkpOwogICAgICAgICAgICAg
aWYgKHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgpID09IENTU1ZhbHVlRGV0YWNoZWQpIHsKLSAg
ICAgICAgICAgICAgICBtZXNoVHlwZSA9IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQ7
CisgICAgICAgICAgICAgICAgbWVzaFR5cGUgPSBNZXNoVHlwZURldGFjaGVkOwogICAgICAgICAg
ICAgICAgIGl0ZXJhdG9yLmFkdmFuY2UoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAt
NDkwOCw3ICs0OTA5LDcgQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJPcGVyYXRpb24+IFN0eWxl
UmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbihXZWIKICAgICBpZiAocGFyYW1l
dGVyc1ZhbHVlICYmICFwYXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QocGFyYW1ldGVyc1Zh
bHVlLCBwYXJhbWV0ZXJMaXN0KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAgUmVmUHRy
PFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IFN0eWxlQ3VzdG9tRmlsdGVyUHJv
Z3JhbTo6Y3JlYXRlKHZlcnRleFNoYWRlci5yZWxlYXNlKCksIGZyYWdtZW50U2hhZGVyLnJlbGVh
c2UoKSwgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKTsKKyAgICBSZWZQdHI8U3R5bGVDdXN0b21G
aWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUo
dmVydGV4U2hhZGVyLnJlbGVhc2UoKSwgZnJhZ21lbnRTaGFkZXIucmVsZWFzZSgpLCBwcm9ncmFt
VHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKTsKICAgICByZXR1cm4gQ3VzdG9tRmlsdGVyT3Bl
cmF0aW9uOjpjcmVhdGUocHJvZ3JhbS5yZWxlYXNlKCksIHBhcmFtZXRlckxpc3QsIG1lc2hSb3dz
LCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUsIG1lc2hUeXBlKTsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgKaW5kZXggNjA4MGMzOC4uOGM2NTUxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJD
b25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlckNvbnN0YW50cy5oCkBAIC00NSw2ICs0NSwxMSBAQCBlbnVtIEN1c3RvbUZp
bHRlck1lc2hDb25zdGFudHMgewogICAgIFRyaWFuZ2xlQXR0cmliT2Zmc2V0ID0gTWVzaEF0dHJp
Yk9mZnNldCArIE1lc2hBdHRyaWJTaXplICogc2l6ZW9mKGZsb2F0KQogfTsKIAorZW51bSBDdXN0
b21GaWx0ZXJNZXNoVHlwZSB7CisgICAgTWVzaFR5cGVBdHRhY2hlZCwKKyAgICBNZXNoVHlwZURl
dGFjaGVkCit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBDdXN0b21G
aWx0ZXJDb25zdGFudHNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAKaW5kZXggMDI3OGFiYS4u
ZWZmMDc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwCkBAIC0zNyw3ICszNyw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIEN1c3RvbUZpbHRlck1lc2g6OkN1c3RvbUZpbHRlck1lc2go
R3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVkIHJv
d3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYg
bWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICBj
b25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQog
ICAgIDogbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX3ZlcnRpY2VzQnVmZmVyT2JqZWN0KDAp
CiAgICAgLCBtX2VsZW1lbnRzQnVmZmVyT2JqZWN0KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCmlu
ZGV4IGUzYzdhNmIuLjJiYjNkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCkBAIC00Myw3ICs0
Myw3IEBAIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogCiBjbGFzcyBDdXN0b21GaWx0ZXJNZXNo
IDogcHVibGljIFJlZkNvdW50ZWQ8Q3VzdG9tRmlsdGVyTWVzaD4gewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck1lc2g+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQz
RCogY29udGV4dCwgdW5zaWduZWQgY29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0
JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck1lc2g+IGNyZWF0ZShHcmFwaGljc0NvbnRl
eHQzRCogY29udGV4dCwgdW5zaWduZWQgY29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRS
ZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRmlsdGVyTWVzaChjb250ZXh0LCBjb2xzLCBy
b3dzLCBtZXNoQm94LCBtZXNoVHlwZSkpOwogICAgIH0KQEAgLTU2LDEwICs1NiwxMCBAQCBwdWJs
aWM6CiAgICAgdW5zaWduZWQgaW5kaWNlc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9pbmRpY2Vz
Q291bnQ7IH0KICAgICAKICAgICBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3goKSBjb25zdCB7IHJl
dHVybiBtX21lc2hCb3g7IH0KLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1l
c2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlck1l
c2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQogCiBwcml2YXRl
OgotICAgIEN1c3RvbUZpbHRlck1lc2goR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBjb2xz
LCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbjo6TWVzaFR5cGUpOworICAgIEN1c3RvbUZpbHRlck1lc2goR3JhcGhpY3NDb250ZXh0
M0QqLCB1bnNpZ25lZCBjb2xzLCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hC
b3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsKICAgICAKICAgICBHcmFwaGljc0NvbnRleHQzRCog
bV9jb250ZXh0OwogICAgIApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVk
IG1faW5kaWNlc0NvdW50OwogICAgIAogICAgIEZsb2F0UmVjdCBtX21lc2hCb3g7Ci0gICAgQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtX21lc2hUeXBlOworICAgIEN1c3RvbUZpbHRl
ck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmNwcAppbmRleCAzZDlkNGQxLi43NzQ2
OTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5jcHAKQEAgLTM5
LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGJvb2wgc19kdW1wQ3VzdG9t
RmlsdGVyTWVzaEJ1ZmZlcnMgPSBmYWxzZTsKICNlbmRpZgogCi1DdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2ln
bmVkIHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9u
OjpNZXNoVHlwZSBtZXNoVHlwZSkKK0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29uc3Qg
RmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6
IG1fbWVzaFR5cGUobWVzaFR5cGUpCiAgICAgLCBtX3BvaW50cyhjb2x1bW5zICsgMSwgcm93cyAr
IDEpCiAgICAgLCBtX3RpbGVzKGNvbHVtbnMsIHJvd3MpCkBAIC02MCw3ICs2MCw3IEBAIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQg
Y29sdW1ucywgdW5zaWduZWQKICAgICAvLyB3aGVuIHRoZXJlJ3Mgbm8gbmVlZCB0byBleHBsb2Rl
IHRoZSB0aWxlcy4KICAgICAvLyAqIGRldGFjaGVkOiBlYWNoIHRyaWFuZ2xlIGhhcyBpdHMgb3du
IHZlcnRpY2VzLiBUaGlzIG1lYW5zIGVhY2ggdHJpYW5nbGUgY2FuIGJlIG1vdmVkIGluZGVwZW5k
ZW50bHkgYW5kIGEgdmVjMwogICAgIC8vIGF0dHJpYnV0ZSBpcyBwYXNzZWQsIHNvIHRoYXQgZWFj
aCB2ZXJ0ZXggY2FuIGJlIHVuaXF1ZWx5IGlkZW50aWZpZWQuCi0gICAgaWYgKG1fbWVzaFR5cGUg
PT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpBVFRBQ0hFRCkKKyAgICBpZiAobV9tZXNoVHlwZSA9
PSBNZXNoVHlwZUF0dGFjaGVkKQogICAgICAgICBnZW5lcmF0ZUF0dGFjaGVkTWVzaCgpOwogICAg
IGVsc2UKICAgICAgICAgZ2VuZXJhdGVEZXRhY2hlZE1lc2goKTsKQEAgLTE1Miw4ICsxNTIsOCBA
QCB2b2lkIEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OmFkZERldGFjaGVkTWVzaFZlcnRleEF0
dHJpYnV0ZXMoaW50IHF1YWRYLCBpbnQgcQogdm9pZCBDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9y
OjpkdW1wQnVmZmVycygpIGNvbnN0CiB7CiAgICAgcHJpbnRmKCJNZXNoIGJ1ZmZlcnM6IFBvaW50
cy53aWR0aCgpOiAlZCwgUG9pbnRzLmhlaWdodCgpOiAlZCBtZXNoQm94OiAlZiwgJWYsICVmLCAl
ZiwgdHlwZTogJXNcbiIsCi0gICAgICAgICAgIG1fcG9pbnRzLndpZHRoKCksIG1fcG9pbnRzLmhl
aWdodCgpLCBtX21lc2hCb3gueCgpLCBtX21lc2hCb3gueSgpLCBtX21lc2hCb3gud2lkdGgoKSwg
bV9tZXNoQm94LmhlaWdodCgpLAotICAgICAgICAgICAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0
ZXJPcGVyYXRpb246OkFUVEFDSEVEKSA/ICJBdHRhY2hlZCIgOiAiRGV0YWNoZWQiKTsKKyAgICAg
ICAgbV9wb2ludHMud2lkdGgoKSwgbV9wb2ludHMuaGVpZ2h0KCksIG1fbWVzaEJveC54KCksIG1f
bWVzaEJveC55KCksIG1fbWVzaEJveC53aWR0aCgpLCBtX21lc2hCb3guaGVpZ2h0KCksCisgICAg
ICAgIChtX21lc2hUeXBlID09IE1lc2hUeXBlQXR0YWNoZWQpID8gIkF0dGFjaGVkIiA6ICJEZXRh
Y2hlZCIpOwogICAgIHByaW50ZigiLS0tVmVydGV4OlxuXHQiKTsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV92ZXJ0aWNlcy5zaXplKCk7ICsraSkgewogICAgICAgICBwcmludGYoIiVm
ICIsIG1fdmVydGljZXMuYXQoaSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0
b3IuaAppbmRleCBiM2ExODQ3Li43YWJhYzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1l
c2hHZW5lcmF0b3IuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgLy8gYW5kICdjb2x1
bW5zJyBudW1iZXIgb2YgY29sdW1ucyB3aXRoIGEgdG90YWwgb2YgJ3Jvd3MgKyAxJyAqICdjb2x1
bW5zICsgMScgdmVydGljZXMuCiAgICAgLy8gTWVzaEJveCBpcyB0aGUgZmlsdGVyZWQgYXJlYSBj
YWxjdWxhdGVkIGRlZmluZWQgdXNpbmcgdGhlIGJvcmRlci1ib3gsIHBhZGRpbmctYm94LCBjb250
ZW50LWJveCBvciBmaWx0ZXItYm94CiAgICAgLy8gYXR0cmlidXRlcy4gQSB2YWx1ZSBvZiAoMCwg
MCwgMSwgMSkgd2lsbCBjb3ZlciB0aGUgZW50aXJlIG91dHB1dCBzdXJmYWNlLgotICAgIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29u
c3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlKTsK
KyAgICBDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVk
IHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwog
CiAgICAgY29uc3QgVmVjdG9yPGZsb2F0PiYgdmVydGljZXMoKSBjb25zdCB7IHJldHVybiBtX3Zl
cnRpY2VzOyB9CiAgICAgY29uc3QgVmVjdG9yPHVpbnQxNl90PiYgaW5kaWNlcygpIGNvbnN0IHsg
cmV0dXJuIG1faW5kaWNlczsgfQpAQCAtNjYsMTIgKzY2LDEyIEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBdHRhY2hlZE1lc2hWZXJ0ZXhTaXplID0gUG9z
aXRpb25BdHRyaWJTaXplICsgVGV4QXR0cmliU2l6ZSArIE1lc2hBdHRyaWJTaXplOwogICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgRGV0YWNoZWRNZXNoVmVydGV4U2l6ZSA9IEF0dGFjaGVk
TWVzaFZlcnRleFNpemUgKyBUcmlhbmdsZUF0dHJpYlNpemU7Ci0gICAgICAgIHJldHVybiBtX21l
c2hUeXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQgPyBBdHRhY2hlZE1lc2hW
ZXJ0ZXhTaXplIDogRGV0YWNoZWRNZXNoVmVydGV4U2l6ZTsKKyAgICAgICAgcmV0dXJuIG1fbWVz
aFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCA/IEF0dGFjaGVkTWVzaFZlcnRleFNpemUgOiBEZXRh
Y2hlZE1lc2hWZXJ0ZXhTaXplOwogICAgIH0KIAogICAgIHVuc2lnbmVkIHZlcnRpY2VzQ291bnQo
KSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpBVFRBQ0hFRCA/IHBvaW50c0NvdW50KCkgOiBpbmRpY2VzQ291bnQoKTsKKyAg
ICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCA/IHBvaW50c0NvdW50
KCkgOiBpbmRpY2VzQ291bnQoKTsKICAgICB9CiAKIHByaXZhdGU6CkBAIC0xMTAsNyArMTEwLDcg
QEAgcHJpdmF0ZToKICAgICBWZWN0b3I8ZmxvYXQ+IG1fdmVydGljZXM7CiAgICAgVmVjdG9yPHVp
bnQxNl90PiBtX2luZGljZXM7CiAKLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBl
IG1fbWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKICAgICBJ
bnRTaXplIG1fcG9pbnRzOwogICAgIEludFNpemUgbV90aWxlczsKICAgICBGbG9hdFNpemUgbV90
aWxlU2l6ZUluUGl4ZWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwCmluZGV4
IGVkNTdiNzMuLmI2M2VhYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5jcHAK
QEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBibGVuZEN1c3RvbUZpbHRlclBhcmFtZXRlcnMoY29uc3Qg
Q3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYgZnJvbUxpc3QsIGNvbnMKICAgICBBU1NFUlQoY2hl
Y2tDdXN0b21GaWx0ZXJQYXJhbWV0ZXJzT3JkZXIocmVzdWx0TGlzdCkpOwogfQogCi1DdXN0b21G
aWx0ZXJPcGVyYXRpb246OkN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZp
bHRlclByb2dyYW0+IHByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHNv
cnRlZFBhcmFtZXRlcnMsIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywg
TWVzaEJveFR5cGUgbWVzaEJveFR5cGUsIE1lc2hUeXBlIG1lc2hUeXBlKQorQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24oUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
cm9ncmFtPiBwcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQ
YXJhbWV0ZXJzLCB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hC
b3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6
IEZpbHRlck9wZXJhdGlvbihDVVNUT00pCiAgICAgLCBtX3Byb2dyYW0ocHJvZ3JhbSkKICAgICAs
IG1fcGFyYW1ldGVycyhzb3J0ZWRQYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uLmgKaW5kZXggMGQ2NGQyMy4uYzdkNjVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJh
dGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjZGVmaW5lIEN1c3RvbUZpbHRlck9wZXJhdGlvbl9o
CiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3Rh
bnRzLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgIkZpbHRl
ck9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCkBAIC01NiwxMyArNTcsOCBA
QCBwdWJsaWM6CiAgICAgICAgIFBBRERJTkdfQk9YLAogICAgICAgICBDT05URU5UX0JPWAogICAg
IH07Ci0gICAgCi0gICAgZW51bSBNZXNoVHlwZSB7Ci0gICAgICAgIEFUVEFDSEVELAotICAgICAg
ICBERVRBQ0hFRAotICAgIH07Ci0gICAgCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q3VzdG9tRmls
dGVyT3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQcm9ncmFtPiBwcm9n
cmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQYXJhbWV0ZXJzLCB1
bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlIG1lc2hC
b3hUeXBlLCBNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICAgICAgCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyT3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
cm9ncmFtPiBwcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQ
YXJhbWV0ZXJzLCB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hC
b3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKHByb2dy
YW0sIHNvcnRlZFBhcmFtZXRlcnMsIG1lc2hSb3dzLCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUs
IG1lc2hUeXBlKSk7CiAgICAgfQpAQCAtNzUsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgbWVzaENvbHVtbnMoKSBjb25zdCB7IHJldHVybiBtX21lc2hDb2x1bW5zOyB9CiAgICAgCiAg
ICAgTWVzaEJveFR5cGUgbWVzaEJveFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hCb3hUeXBl
OyB9Ci0gICAgTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21l
c2hUeXBlOyB9CiAgICAgCiAgICAgdmlydHVhbCB+Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKCk7CiAg
ICAgCkBAIC05OSw3ICs5NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAmJiBjdXN0b21G
aWx0ZXJQYXJhbWV0ZXJzRXF1YWwobV9wYXJhbWV0ZXJzLCBvdGhlci0+bV9wYXJhbWV0ZXJzKTsK
ICAgICB9CiAgICAgCi0gICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9t
RmlsdGVyUHJvZ3JhbT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmLCB1bnNpZ25l
ZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlLCBNZXNoVHlwZSk7
CisgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3Jh
bT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmLCB1bnNpZ25lZCBtZXNoUm93cywg
dW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7
CiAKICAgICBSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gbV9wcm9ncmFtOwogICAgIEN1c3Rv
bUZpbHRlclBhcmFtZXRlckxpc3QgbV9wYXJhbWV0ZXJzOwpAQCAtMTA3LDcgKzEwMyw3IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9tZXNoUm93czsKICAgICB1bnNpZ25lZCBtX21lc2hDb2x1
bW5zOwogICAgIE1lc2hCb3hUeXBlIG1fbWVzaEJveFR5cGU7Ci0gICAgTWVzaFR5cGUgbV9tZXNo
VHlwZTsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBlOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAKaW5kZXggOGZk
ODhlYS4uMmE4ZmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwCkBAIC0zOCw5
ICszOCwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUN1c3RvbUZpbHRlclByb2dyYW06
OkN1c3RvbUZpbHRlclByb2dyYW0oQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUs
IGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MpCitDdXN0
b21GaWx0ZXJQcm9ncmFtOjpDdXN0b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dyYW1U
eXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1p
eFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6IG1fcHJvZ3Jh
bVR5cGUocHJvZ3JhbVR5cGUpCiAgICAgLCBtX21peFNldHRpbmdzKG1peFNldHRpbmdzKQorICAg
ICwgbV9tZXNoVHlwZShtZXNoVHlwZSkKIHsKICAgICAvLyBLZWVwIHRoZSBjb25zdHJ1Y3RvciBw
cm90ZWN0ZWQgdG8gcHJldmVudCBjcmVhdGluZyB0aGlzIG9iamVjdCBkaXJlY3RseS4KIH0KQEAg
LTgyLDEyICs4MywxNCBAQCB2b2lkIEN1c3RvbUZpbHRlclByb2dyYW06Om5vdGlmeUNsaWVudHMo
KQogQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8gQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6cHJvZ3JhbUlu
Zm8oKSBjb25zdAogewogICAgIEFTU0VSVChpc0xvYWRlZCgpKTsKLSAgICByZXR1cm4gQ3VzdG9t
RmlsdGVyUHJvZ3JhbUluZm8odmVydGV4U2hhZGVyU3RyaW5nKCksIGZyYWdtZW50U2hhZGVyU3Ry
aW5nKCksIG1fcHJvZ3JhbVR5cGUsIG1fbWl4U2V0dGluZ3MpOworICAgIHJldHVybiBDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbyh2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSwgZnJhZ21lbnRTaGFkZXJTdHJp
bmcoKSwgbV9wcm9ncmFtVHlwZSwgbV9taXhTZXR0aW5ncywgbV9tZXNoVHlwZSk7CiB9CiAKIGJv
b2wgQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6b3BlcmF0b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQcm9n
cmFtJiBvKSBjb25zdAogewotICAgIHJldHVybiBtX3Byb2dyYW1UeXBlID09IG8ubV9wcm9ncmFt
VHlwZSAmJiAobV9wcm9ncmFtVHlwZSAhPSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVY
VFVSRSB8fCBtX21peFNldHRpbmdzID09IG8ubV9taXhTZXR0aW5ncyk7CisgICAgcmV0dXJuIG1f
cHJvZ3JhbVR5cGUgPT0gby5tX3Byb2dyYW1UeXBlCisgICAgICAgICYmIChtX3Byb2dyYW1UeXBl
ICE9IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVOVF9URVhUVVJFIHx8IG1fbWl4U2V0dGluZ3Mg
PT0gby5tX21peFNldHRpbmdzKQorICAgICAgICAmJiBtX21lc2hUeXBlID09IG8ubV9tZXNoVHlw
ZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0u
aAppbmRleCA0NDVmYjQ4Li5mNjY5MmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaApA
QCAtNTEsMTcgKzUxLDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DdXN0b21GaWx0ZXJQcm9n
cmFtKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMb2FkZWQoKSBjb25zdCA9IDA7Ci0gICAgCi0g
ICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzKCkgY29uc3QgeyBy
ZXR1cm4gbV9taXhTZXR0aW5nczsgfQogCiAgICAgdm9pZCBhZGRDbGllbnQoQ3VzdG9tRmlsdGVy
UHJvZ3JhbUNsaWVudCopOwogICAgIHZvaWQgcmVtb3ZlQ2xpZW50KEN1c3RvbUZpbHRlclByb2dy
YW1DbGllbnQqKTsKICAgICAKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyBwcm9ncmFtSW5m
bygpIGNvbnN0OwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlKCkgY29u
c3QgeyByZXR1cm4gbV9wcm9ncmFtVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhT
ZXR0aW5ncyBtaXhTZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fbWl4U2V0dGluZ3M7IH0KKyAg
ICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaFR5
cGU7IH0KIAotICAgIC8vIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSBoYXMgdGhlIG9ubHkgaW1w
bGVtZW50YXRpb24gZm9yIHRoZSBmb2xsb3dpbmcgbWV0aG9kLiBUaGF0IG1lYW5zLCBpdCBjYXN0
cyB0byBTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0KLSAgICAvLyB3aXRob3V0aCBjaGVja2luZyB0
aGUgdHlwZS4gSWYgeW91IGFkZCBhbm90aGVyIGltcGxlbWVudGF0aW9uLCBhbHNvIGFkZCBhIG1l
Y2hhbmlzbSB0byBjaGVjayBmb3IgdGhlIGNvcnJlY3QgdHlwZS4KICAgICB2aXJ0dWFsIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtJikgY29uc3Q7CiAgICAgYm9vbCBv
cGVyYXRvciE9KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW0mIG8pIGNvbnN0IHsgcmV0dXJuICEo
KnRoaXMgPT0gbyk7IH0KIHByb3RlY3RlZDoKQEAgLTc2LDEzICs3NCwxNCBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZUxhc3RDbGllbnQoKSA9IDA7CiAKICAgICAvLyBL
ZWVwIHRoZSBjb25zdHJ1Y3RvciBwcm90ZWN0ZWQgdG8gcHJldmVudCBjcmVhdGluZyB0aGlzIG9i
amVjdCBkaXJlY3RseS4KLSAgICBDdXN0b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dy
YW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmKTsKKyAgICBDdXN0
b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0
ZXJQcm9ncmFtTWl4U2V0dGluZ3MmLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7CiAKIHByaXZhdGU6
CiAgICAgdHlwZWRlZiBIYXNoQ291bnRlZFNldDxDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50Kj4g
Q3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudExpc3Q7CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUNs
aWVudExpc3QgbV9jbGllbnRzOwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIG1fcHJvZ3Jh
bVR5cGU7CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1fbWl4U2V0dGluZ3M7
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHAKaW5kZXggN2Y0YWYzZS4uMmFiMjdiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJQcm9ncmFtSW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHAKQEAgLTY0LDExICs2NCwxMiBA
QCBib29sIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjppc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgp
IGNvbnN0CiAgICAgICAgICYmIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcuaXNIYXNoVGFibGVEZWxl
dGVkVmFsdWUoKTsKIH0KIAotQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86OkN1c3RvbUZpbHRlclBy
b2dyYW1JbmZvKGNvbnN0IFN0cmluZyYgdmVydGV4U2hhZGVyLCBjb25zdCBTdHJpbmcmIGZyYWdt
ZW50U2hhZGVyLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncykKK0N1c3RvbUZpbHRlclBy
b2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25zdCBTdHJpbmcmIHZlcnRleFNo
YWRlciwgY29uc3QgU3RyaW5nJiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5
cGUgcHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4
U2V0dGluZ3MsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIDogbV92ZXJ0ZXhT
aGFkZXJTdHJpbmcodmVydGV4U2hhZGVyKQogICAgICwgbV9mcmFnbWVudFNoYWRlclN0cmluZyhm
cmFnbWVudFNoYWRlcikKICAgICAsIG1fcHJvZ3JhbVR5cGUocHJvZ3JhbVR5cGUpCiAgICAgLCBt
X21peFNldHRpbmdzKG1peFNldHRpbmdzKQorICAgICwgbV9tZXNoVHlwZShtZXNoVHlwZSkKIHsK
ICAgICAvLyBBdCBsZWFzdCBvbmUgb2YgdGhlIHNoYWRlcnMgbmVlZHMgdG8gYmUgbm9uLW51bGwu
CiAgICAgQVNTRVJUKCFtX3ZlcnRleFNoYWRlclN0cmluZy5pc051bGwoKSB8fCAhbV9mcmFnbWVu
dFNoYWRlclN0cmluZy5pc051bGwoKSk7CkBAIC03OCwxNCArNzksMTMgQEAgdW5zaWduZWQgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbUluZm86Omhhc2goKSBjb25zdAogewogICAgIC8vIEF0IGxlYXN0IG9u
ZSBvZiB0aGUgc2hhZGVycyBuZWVkcyB0byBiZSBub24tbnVsbC4KICAgICBBU1NFUlQoIW1fdmVy
dGV4U2hhZGVyU3RyaW5nLmlzTnVsbCgpIHx8ICFtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLmlzTnVs
bCgpKTsKLQotICAgIGJvb2wgYmxlbmRzRWxlbWVudFRleHR1cmUgPSAobV9wcm9ncmFtVHlwZSA9
PSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVYVFVSRSk7Ci0gICAgdWludHB0cl90IGhh
c2hDb2Rlc1s1XSA9IHsKKyAgICB1aW50cHRyX3QgaGFzaENvZGVzWzZdID0gewogICAgICAgICBo
YXNoUG9zc2libHlOdWxsU3RyaW5nKG1fdmVydGV4U2hhZGVyU3RyaW5nKSwKICAgICAgICAgaGFz
aFBvc3NpYmx5TnVsbFN0cmluZyhtX2ZyYWdtZW50U2hhZGVyU3RyaW5nKSwKLSAgICAgICAgYmxl
bmRzRWxlbWVudFRleHR1cmUsCi0gICAgICAgIGJsZW5kc0VsZW1lbnRUZXh0dXJlID8gbV9taXhT
ZXR0aW5ncy5ibGVuZE1vZGUgOiAwLAotICAgICAgICBibGVuZHNFbGVtZW50VGV4dHVyZSA/IG1f
bWl4U2V0dGluZ3MuY29tcG9zaXRlT3BlcmF0b3IgOiAwCisgICAgICAgIG1fcHJvZ3JhbVR5cGUg
PT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUsCisgICAgICAgIG1fcHJvZ3Jh
bVR5cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgPyBtX21peFNldHRp
bmdzLmJsZW5kTW9kZSA6IDAsCisgICAgICAgIG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBF
X0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgPyBtX21peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9y
IDogMCwKKyAgICAgICAgbV9tZXNoVHlwZQogICAgIH07CiAgICAgcmV0dXJuIFN0cmluZ0hhc2hl
cjo6aGFzaE1lbW9yeTxzaXplb2YoaGFzaENvZGVzKT4oJmhhc2hDb2Rlcyk7CiB9CkBAIC05Nyw2
ICs5Nyw3IEBAIGJvb2wgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86Om9wZXJhdG9yPT0oY29uc3Qg
Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8mIG8pIGNvbnN0CiAKICAgICByZXR1cm4gbV9wcm9ncmFt
VHlwZSA9PSBvLm1fcHJvZ3JhbVR5cGUKICAgICAgICAgJiYgKG1fcHJvZ3JhbVR5cGUgIT0gUFJP
R1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgfHwgbV9taXhTZXR0aW5ncyA9PSBvLm1f
bWl4U2V0dGluZ3MpCisgICAgICAgICYmIG1fbWVzaFR5cGUgPT0gby5tX21lc2hUeXBlCiAgICAg
ICAgICYmIG1fdmVydGV4U2hhZGVyU3RyaW5nID09IG8ubV92ZXJ0ZXhTaGFkZXJTdHJpbmcKICAg
ICAgICAgJiYgbV9mcmFnbWVudFNoYWRlclN0cmluZyA9PSBvLm1fZnJhZ21lbnRTaGFkZXJTdHJp
bmc7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgKaW5kZXggM2I1NDRjNS4u
MjVlN2RhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uaApAQCAtMzEsNiAr
MzEsNyBAQAogI2RlZmluZSBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mb19oCiAKICNpZiBFTkFCTEUo
Q1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgiCiAjaW5jbHVk
ZSAiR3JhcGhpY3NUeXBlcy5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KQEAgLTY0
LDcgKzY1LDcgQEAgc3RydWN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyB7CiAvLyBO
dWxsIHN0cmluZ3MgYXJlIHBsYWNlaG9sZGVycyBmb3IgdGhlIGRlZmF1bHQgc2hhZGVyLgogY2xh
c3MgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8gewogcHVibGljOgotICAgIEN1c3RvbUZpbHRlclBy
b2dyYW1JbmZvKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIEN1c3RvbUZpbHRlclByb2dy
YW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmKTsKKyAgICBDdXN0
b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDdXN0b21G
aWx0ZXJQcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiwg
Q3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogCiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8oKTsK
ICAgICBib29sIGlzRW1wdHlWYWx1ZSgpIGNvbnN0OwpAQCAtNzksMTEgKzgwLDEzIEBAIHB1Ymxp
YzoKICAgICBjb25zdCBTdHJpbmcmIGZyYWdtZW50U2hhZGVyU3RyaW5nKCkgY29uc3QgeyByZXR1
cm4gbV9mcmFnbWVudFNoYWRlclN0cmluZzsgfQogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBl
IHByb2dyYW1UeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm9ncmFtVHlwZTsgfQogICAgIGNvbnN0
IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MoKSBjb25zdCB7IHJl
dHVybiBtX21peFNldHRpbmdzOyB9CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUo
KSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9CiBwcml2YXRlOgogICAgIFN0cmluZyBtX3Zl
cnRleFNoYWRlclN0cmluZzsKICAgICBTdHJpbmcgbV9mcmFnbWVudFNoYWRlclN0cmluZzsKICAg
ICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBtX3Byb2dyYW1UeXBlOwogICAgIEN1c3RvbUZpbHRl
clByb2dyYW1NaXhTZXR0aW5ncyBtX21peFNldHRpbmdzOworICAgIEN1c3RvbUZpbHRlck1lc2hU
eXBlIG1fbWVzaFR5cGU7CiB9OwogCiBzdHJ1Y3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm9IYXNo
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCmluZGV4
IGQ1NDIxNTcuLjQwZjQ4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0
ZWRQcm9ncmFtLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0uaCIKIAogI2luY2x1ZGUgIkFOR0xFV2ViS2l0QnJpZGdlLmgiCisjaW5j
bHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyR2xv
YmFsQ29udGV4dC5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgiCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKQEAgLTYyLDcgKzYzLDcgQEAgc3RhdGljIFN5bWJvbE5h
bWVUb1R5cGVNYXAqIGJ1aWx0SW5BdHRyaWJ1dGVOYW1lVG9UeXBlTWFwKCkKICAgICByZXR1cm4g
bmFtZVRvVHlwZU1hcDsKIH0KIAotc3RhdGljIGJvb2wgdmFsaWRhdGVTeW1ib2xzKGNvbnN0IFZl
Y3RvcjxBTkdMRVNoYWRlclN5bWJvbD4mIHN5bWJvbHMpCitzdGF0aWMgYm9vbCB2YWxpZGF0ZVN5
bWJvbHMoY29uc3QgVmVjdG9yPEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scywgQ3VzdG9tRmls
dGVyTWVzaFR5cGUgbWVzaFR5cGUpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzeW1i
b2xzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGNvbnN0IEFOR0xFU2hhZGVyU3ltYm9sJiBzeW1i
b2wgPSBzeW1ib2xzW2ldOwpAQCAtNzAsMTMgKzcxLDI0IEBAIHN0YXRpYyBib29sIHZhbGlkYXRl
U3ltYm9scyhjb25zdCBWZWN0b3I8QU5HTEVTaGFkZXJTeW1ib2w+JiBzeW1ib2xzKQogICAgICAg
ICBjYXNlIFNIQURFUl9TWU1CT0xfVFlQRV9BVFRSSUJVVEU6IHsKICAgICAgICAgICAgIFN5bWJv
bE5hbWVUb1R5cGVNYXAqIGF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAgPSBidWlsdEluQXR0cmlidXRl
TmFtZVRvVHlwZU1hcCgpOwogICAgICAgICAgICAgU3ltYm9sTmFtZVRvVHlwZU1hcDo6aXRlcmF0
b3IgYnVpbHRJbkF0dHJpYnV0ZSA9IGF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAtPmZpbmQoc3ltYm9s
Lm5hbWUpOwotICAgICAgICAgICAgaWYgKGJ1aWx0SW5BdHRyaWJ1dGUgIT0gYXR0cmlidXRlTmFt
ZVRvVHlwZU1hcC0+ZW5kKCkgJiYgc3ltYm9sLmRhdGFUeXBlICE9IGJ1aWx0SW5BdHRyaWJ1dGUt
PnZhbHVlKSB7CisgICAgICAgICAgICBpZiAoYnVpbHRJbkF0dHJpYnV0ZSA9PSBhdHRyaWJ1dGVO
YW1lVG9UeXBlTWFwLT5lbmQoKSkgeworICAgICAgICAgICAgICAgIC8vIFRoZSBhdXRob3IgZGVm
aW5lZCBhIGN1c3RvbSBhdHRyaWJ1dGUuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFJlcG9y
dCB0aGUgdmFsaWRhdGlvbiBlcnJvci4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTYKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobWVzaFR5cGUgPT0gTWVzaFR5
cGVBdHRhY2hlZCAmJiBzeW1ib2wubmFtZSA9PSAiYV90cmlhbmdsZUNvb3JkIikgeworICAgICAg
ICAgICAgICAgIC8vIGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgZGV0YWNo
ZWQgbWVzaGVzLgorICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSZXBvcnQgdGhlIHZhbGlkYXRp
b24gZXJyb3IuCisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0NDE2CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgaWYgKHN5bWJvbC5kYXRhVHlwZSAhPSBidWlsdEluQXR0cmli
dXRlLT52YWx1ZSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBhdXRob3IgZGVmaW5lZCBvbmUg
b2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0aGUgd3JvbmcgdHlwZS4KKyAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogUmVwb3J0IHRoZSB2YWxpZGF0aW9uIGVycm9yLgorICAgICAgICAg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgLy8gRklYTUU6IFJldHVybiBmYWxzZSB3aGVuIHRoZSBhdHRyaWJ1dGUgaXMgbm90IG9uZSBv
ZiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlcy4KLSAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBTSEFERVJfU1lNQk9MX1RZUEVfVU5JRk9STToKQEAgLTE1Myw3
ICsxNjUsNyBAQCBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpDdXN0b21GaWx0ZXJWYWxp
ZGF0ZWRQcm9ncmFtKEN1c3RvbUZpbHRlckdsb2JhbENvbgogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgaWYgKCF2YWxpZGF0ZVN5bWJvbHMoc3ltYm9scykpIHsKKyAgICBpZiAoIXZhbGlk
YXRlU3ltYm9scyhzeW1ib2xzLCBtX3Byb2dyYW1JbmZvLm1lc2hUeXBlKCkpKSB7CiAgICAgICAg
IC8vIEZJWE1FOiBSZXBvcnQgdmFsaWRhdGlvbiBlcnJvcnMuCiAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oCmluZGV4IDMyMmM2MzAu
LjE3NDYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5o
CkBAIC00OSw3ICs0OSw2IEBAIHR5cGVkZWYgV2ViQ29yZTo6TGF5ZXJDb21waWxlZFByb2dyYW0g
UGxhdGZvcm1Db21waWxlZFByb2dyYW07CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
QU5HTEVXZWJLaXRCcmlkZ2U7CiBjbGFzcyBDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW07CiBj
bGFzcyBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCmlu
ZGV4IDcwN2VkYjguLjQwN2VjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCkBAIC04Miw4ICs4
Miw3IEBAIHN0YXRpYyB2b2lkIG9ydGhvZ29uYWxQcm9qZWN0aW9uTWF0cml4KFRyYW5zZm9ybWF0
aW9uTWF0cml4JiBtYXRyaXgsIGZsb2F0IGxlZnQsCiB9CiAKIEZFQ3VzdG9tRmlsdGVyOjpGRUN1
c3RvbUZpbHRlcihGaWx0ZXIqIGZpbHRlciwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCogY3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dCwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQ
cm9ncmFtPiB2YWxpZGF0ZWRQcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0
JiBwYXJhbWV0ZXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1l
c2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNo
Qm94VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVy
YXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAgIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25l
ZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSwgQ3VzdG9t
RmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgOiBGaWx0ZXJFZmZlY3QoZmlsdGVyKQogICAg
ICwgbV9nbG9iYWxDb250ZXh0KGN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQpCiAgICAgLCBtX3Zh
bGlkYXRlZFByb2dyYW0odmFsaWRhdGVkUHJvZ3JhbSkKQEAgLTEwNiw4ICsxMDUsNyBAQCBGRUN1
c3RvbUZpbHRlcjo6RkVDdXN0b21GaWx0ZXIoRmlsdGVyKiBmaWx0ZXIsIEN1c3RvbUZpbHRlckds
b2JhbENvbnRleHQqIGN1c3RvbQogfQogCiBQYXNzUmVmUHRyPEZFQ3VzdG9tRmlsdGVyPiBGRUN1
c3RvbUZpbHRlcjo6Y3JlYXRlKEZpbHRlciogZmlsdGVyLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0KiBjdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0+IHZhbGlkYXRlZFByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFt
ZXRlckxpc3QmIHBhcmFtZXRlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21G
aWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5
cGUgbWVzaFR5cGUpCisgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5z
LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21G
aWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZFQ3Vz
dG9tRmlsdGVyKGZpbHRlciwgY3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCwgdmFsaWRhdGVkUHJv
Z3JhbSwgcGFyYW1ldGVycywgbWVzaFJvd3MsIG1lc2hDb2x1bW5zLCBtZXNoQm94VHlwZSwgbWVz
aFR5cGUpKTsKIH0KQEAgLTU3Nyw3ICs1NzUsNyBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5k
UHJvZ3JhbUFuZEJ1ZmZlcnMoUGxhdGZvcm0zRE9iamVjdCBpbnB1dFRleHR1cmUpCiAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzU4CiAgICAgYmluZFZl
cnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+aW50ZXJuYWxUZXhDb29yZEF0dHJpYkxv
Y2F0aW9uKCksIFRleEF0dHJpYlNpemUsIFRleEF0dHJpYk9mZnNldCk7CiAgICAgYmluZFZlcnRl
eEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+bWVzaEF0dHJpYkxvY2F0aW9uKCksIE1lc2hB
dHRyaWJTaXplLCBNZXNoQXR0cmliT2Zmc2V0KTsKLSAgICBpZiAobV9tZXNoVHlwZSA9PSBDdXN0
b21GaWx0ZXJPcGVyYXRpb246OkRFVEFDSEVEKQorICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hU
eXBlRGV0YWNoZWQpCiAgICAgICAgIGJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dy
YW0tPnRyaWFuZ2xlQXR0cmliTG9jYXRpb24oKSwgVHJpYW5nbGVBdHRyaWJTaXplLCBUcmlhbmds
ZUF0dHJpYk9mZnNldCk7CiAgICAgCiAgICAgYmluZFByb2dyYW1QYXJhbWV0ZXJzKCk7CkBAIC01
ODksNyArNTg3LDcgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6dW5iaW5kVmVydGV4QXR0cmlidXRl
cygpCiAgICAgdW5iaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT50ZXhBdHRy
aWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dy
YW0tPmludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhB
dHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0tPm1lc2hBdHRyaWJMb2NhdGlvbigpKTsKLSAgICBp
ZiAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkRFVEFDSEVEKQorICAgIGlm
IChtX21lc2hUeXBlID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgIHVuYmluZFZlcnRleEF0
dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+dHJpYW5nbGVBdHRyaWJMb2NhdGlvbigpKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUN1c3RvbUZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUN1c3RvbUZpbHRlci5oCmluZGV4IDA5ZGE1ZjEuLjU2Yjc0ZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmls
dGVyLmgKQEAgLTU5LDggKzU5LDcgQEAgY2xhc3MgSW50U2l6ZTsKIGNsYXNzIEZFQ3VzdG9tRmls
dGVyIDogcHVibGljIEZpbHRlckVmZmVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8RkVDdXN0b21GaWx0ZXI+IGNyZWF0ZShGaWx0ZXIqLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0KiwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtPiwgY29uc3QgQ3Vz
dG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYsCi0gICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWVz
aFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hC
b3hUeXBlLCAKLSAgICAgICAgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hU
eXBlKTsKKyAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBD
dXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1BcHBseVNvZnR3YXJlKCk7CiAgICAgdmlydHVh
bCB2b2lkIGR1bXAoKTsKQEAgLTY5LDggKzY4LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAg
IEZFQ3VzdG9tRmlsdGVyKEZpbHRlciosIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQqLCBQYXNz
UmVmUHRyPEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0+LCBjb25zdCBDdXN0b21GaWx0ZXJQ
YXJhbWV0ZXJMaXN0JiwKLSAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5z
aWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIAot
ICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUpOworICAg
ICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsKICAgICB+RkVD
dXN0b21GaWx0ZXIoKTsKICAgICAKICAgICBib29sIGFwcGx5U2hhZGVyKCk7CkBAIC0xMzEsNyAr
MTI5LDcgQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fbWVzaFJvd3M7CiAgICAgdW5zaWdu
ZWQgbV9tZXNoQ29sdW1uczsKLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1f
bWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0uaAppbmRleCA1MzhhNTJlLi5hZTY4
ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0
b21GaWx0ZXJQcm9ncmFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBAIC00NSw5ICs0NSw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSA6IHB1YmxpYyBDdXN0b21GaWx0
ZXJQcm9ncmFtLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ3VzdG9t
RmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRl
ciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclBy
b2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGlu
Z3MmIG1peFNldHRpbmdzKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ3VzdG9tRmlsdGVy
UHJvZ3JhbT4gY3JlYXRlKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRlciwgUGFz
c1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1U
eXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1p
eFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtKHZlcnRleFNoYWRl
ciwgZnJhZ21lbnRTaGFkZXIsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncykpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSh2ZXJ0ZXhTaGFkZXIs
IGZyYWdtZW50U2hhZGVyLCBwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKSk7CiAg
ICAgfQogICAgIAogICAgIHZvaWQgc2V0VmVydGV4U2hhZGVyKFBhc3NSZWZQdHI8U3R5bGVTaGFk
ZXI+IHNoYWRlcikgeyBtX3ZlcnRleFNoYWRlciA9IHNoYWRlcjsgfQpAQCAtMTMwLDggKzEzMCw4
IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgU3R5bGVDdXN0b21GaWx0ZXJQcm9n
cmFtKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRlciwgUGFzc1JlZlB0cjxTdHls
ZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1U
eXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzKQot
ICAgICAgICA6IEN1c3RvbUZpbHRlclByb2dyYW0ocHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKQor
ICAgIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbShQYXNzUmVmUHRyPFN0eWxlU2hhZGVyPiB2ZXJ0
ZXhTaGFkZXIsIFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IGZyYWdtZW50U2hhZGVyLCBDdXN0b21G
aWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1p
eFNldHRpbmdzJiBtaXhTZXR0aW5ncywgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCisg
ICAgICAgIDogQ3VzdG9tRmlsdGVyUHJvZ3JhbShwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1l
c2hUeXBlKQogICAgICAgICAsIG1fdmVydGV4U2hhZGVyKHZlcnRleFNoYWRlcikKICAgICAgICAg
LCBtX2ZyYWdtZW50U2hhZGVyKGZyYWdtZW50U2hhZGVyKQogICAgICAgICAsIG1faXNWZXJ0ZXhT
aGFkZXJMb2FkZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGMwMjFmMC4uMWY2ZWJhNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTI1ICBNYXggVnVqb3ZpYyAgPG12dWpvdmlj
QGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIFJlamVjdCB2ZXJ0ZXggc2hhZGVy
cyB3aXRoIGN1c3RvbSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05ODk3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToK
KyAgICAgICAgICAgIFJlcGxhY2UgdGhlIG5vdyByZW1vdmVkIEN1c3RvbUZpbHRlck9wZXJhdGlv
bjo6TWVzaFR5cGUgd2l0aCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBmcm9tCisgICAgICAgICAgICBD
dXN0b21GaWx0ZXJDb25zdGFudHMuaC4KKwogMjAxMi0xMC0yNiAgQ2hyaXN0b3BoZSBEdW1leiAg
PGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gR2V0IHJp
ZCBvZiBDJ2lzbSBpbiB0ZXh0IGNoZWNrZXIgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRD
b2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBiMTcwZTZjLi4yOWExY2U5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENv
ZGVycy5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAjaW5j
bHVkZSAiV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlckNv
bnN0YW50cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0N1c3RvbUZpbHRlclByb2dyYW0uaD4KQEAgLTE0MCwxMyArMTQxLDEzIEBAIHZv
aWQgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb25zPjo6ZW5jb2RlKEFyZ3Vt
ZW50RW5jb2RlciogZW5jb2RlciwKICAgICAgICAgICAgIEFTU0VSVChjdXN0b21PcGVyYXRpb24t
PnByb2dyYW0oKSk7CiAgICAgICAgICAgICBSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJv
Z3JhbSA9IGN1c3RvbU9wZXJhdGlvbi0+cHJvZ3JhbSgpOwogICAgICAgICAgICAgQVNTRVJUKHBy
b2dyYW0tPmlzTG9hZGVkKCkpOwotICAgICAgICAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8g
cHJvZ3JhbUluZm8gPSBwcm9ncmFtLT5wcm9ncmFtSW5mbygpOwotICAgICAgICAgICAgZW5jb2Rl
ci0+ZW5jb2RlKHByb2dyYW1JbmZvLnZlcnRleFNoYWRlclN0cmluZygpKTsKLSAgICAgICAgICAg
IGVuY29kZXItPmVuY29kZShwcm9ncmFtSW5mby5mcmFnbWVudFNoYWRlclN0cmluZygpKTsKKyAg
ICAgICAgICAgIGVuY29kZXItPmVuY29kZShwcm9ncmFtLT52ZXJ0ZXhTaGFkZXJTdHJpbmcoKSk7
CisgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGUocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXJTdHJp
bmcoKSk7CiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKHByb2dyYW0tPnByb2dyYW1U
eXBlKCkpOwotICAgICAgICAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNl
dHRpbmdzID0gcHJvZ3JhbUluZm8ubWl4U2V0dGluZ3MoKTsKKyAgICAgICAgICAgIEN1c3RvbUZp
bHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncyA9IHByb2dyYW0tPm1peFNldHRpbmdz
KCk7CiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKG1peFNldHRpbmdzLmJsZW5kTW9k
ZSk7CiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKG1peFNldHRpbmdzLmNvbXBvc2l0
ZU9wZXJhdG9yKTsKKyAgICAgICAgICAgIGVuY29kZXItPmVuY29kZUVudW0ocHJvZ3JhbS0+bWVz
aFR5cGUoKSk7CiAKICAgICAgICAgICAgIEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QgcGFyYW1l
dGVycyA9IGN1c3RvbU9wZXJhdGlvbi0+cGFyYW1ldGVycygpOwogICAgICAgICAgICAgZW5jb2Rl
ci0+ZW5jb2RlKHN0YXRpY19jYXN0PHVpbnQzMl90PihwYXJhbWV0ZXJzLnNpemUoKSkpOwpAQCAt
MTgxLDcgKzE4Miw2IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRp
b25zPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwKICAgICAgICAgICAgIGVuY29k
ZXItPmVuY29kZShjdXN0b21PcGVyYXRpb24tPm1lc2hSb3dzKCkpOwogICAgICAgICAgICAgZW5j
b2Rlci0+ZW5jb2RlKGN1c3RvbU9wZXJhdGlvbi0+bWVzaENvbHVtbnMoKSk7CiAgICAgICAgICAg
ICBlbmNvZGVyLT5lbmNvZGVFbnVtKGN1c3RvbU9wZXJhdGlvbi0+bWVzaEJveFR5cGUoKSk7Ci0g
ICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKGN1c3RvbU9wZXJhdGlvbi0+bWVzaFR5cGUo
KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogI2VuZGlmCkBAIC0yNTIsNiArMjUy
LDcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZpbHRlck9wZXJhdGlvbnM+OjpkZWNv
ZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLAogICAgICAgICAgICAgU3RyaW5nIGZyYWdtZW50
U2hhZGVyU3RyaW5nOwogICAgICAgICAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3Jh
bVR5cGU7CiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0
dGluZ3M7CisgICAgICAgICAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZTsKICAgICAg
ICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHZlcnRleFNoYWRlclN0cmluZykpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUo
ZnJhZ21lbnRTaGFkZXJTdHJpbmcpKQpAQCAtMjYyLDcgKzI2Myw5IEBAIGJvb2wgQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb25zPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2Rlciog
ZGVjb2RlciwKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBpZiAo
IWRlY29kZXItPmRlY29kZUVudW0obWl4U2V0dGluZ3MuY29tcG9zaXRlT3BlcmF0b3IpKQogICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIFJlZlB0cjxDdXN0b21GaWx0
ZXJQcm9ncmFtPiBwcm9ncmFtID0gV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6Y3JlYXRlKHZlcnRl
eFNoYWRlclN0cmluZywgZnJhZ21lbnRTaGFkZXJTdHJpbmcsIHByb2dyYW1UeXBlLCBtaXhTZXR0
aW5ncyk7CisgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUVudW0obWVzaFR5cGUpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIFJlZlB0cjxDdXN0b21G
aWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0gV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6Y3JlYXRlKHZl
cnRleFNoYWRlclN0cmluZywgZnJhZ21lbnRTaGFkZXJTdHJpbmcsIHByb2dyYW1UeXBlLCBtaXhT
ZXR0aW5ncywgbWVzaFR5cGUpOwogCiAgICAgICAgICAgICB1aW50MzJfdCBwYXJhbWV0ZXJzU2l6
ZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlVUludDMyKHBhcmFtZXRlcnNTaXpl
KSkKQEAgLTMyMSwxNSArMzI0LDEyIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0
ZXJPcGVyYXRpb25zPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwKICAgICAgICAg
ICAgIHVuc2lnbmVkIG1lc2hSb3dzOwogICAgICAgICAgICAgdW5zaWduZWQgbWVzaENvbHVtbnM7
CiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hU
eXBlOwotICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlw
ZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKG1lc2hSb3dzKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZSht
ZXNoQ29sdW1ucykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1lc2hCb3hUeXBlKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUVudW0obWVzaFR5
cGUpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgZmlsdGVy
ID0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpjcmVhdGUocHJvZ3JhbSwgcGFyYW1ldGVycywgbWVz
aFJvd3MsIG1lc2hDb2x1bW5zLCBtZXNoQm94VHlwZSwgbWVzaFR5cGUpOwogICAgICAgICAgICAg
YnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJDdXN0b21GaWx0ZXJQcm9ncmFtLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XZWJDdXN0b21GaWx0ZXJQcm9ncmFtLmgKaW5kZXggZWIwOTdjMi4u
NjAzNjE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkN1c3RvbUZpbHRlclByb2dyYW0uaApAQCAtMjcsMTUg
KzI3LDE2IEBACiAjZGVmaW5lIFdlYkN1c3RvbUZpbHRlclByb2dyYW1faAogCiAjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKSAmJiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSA8V2Vi
Q29yZS9DdXN0b21GaWx0ZXJDb25zdGFudHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZp
bHRlclByb2dyYW0uaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkN1c3RvbUZp
bHRlclByb2dyYW0gOiBwdWJsaWMgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gY3JlYXRl
KFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcsIFN0cmluZyBtX2ZyYWdtZW50U2hhZGVyU3RyaW5n
LCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgV2ViQ29yZTo6
Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzKQorICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkN1c3RvbUZpbHRlclByb2dyYW0+IGNyZWF0ZShTdHJpbmcgdmVydGV4U2hh
ZGVyU3RyaW5nLCBTdHJpbmcgbV9mcmFnbWVudFNoYWRlclN0cmluZywgV2ViQ29yZTo6Q3VzdG9t
RmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dy
YW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncywgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaFR5cGUg
bWVzaFR5cGUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkN1c3RvbUZp
bHRlclByb2dyYW0odmVydGV4U2hhZGVyU3RyaW5nLCBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLCBw
cm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBX
ZWJDdXN0b21GaWx0ZXJQcm9ncmFtKHZlcnRleFNoYWRlclN0cmluZywgbV9mcmFnbWVudFNoYWRl
clN0cmluZywgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzLCBtZXNoVHlwZSkpOwogICAgIH0KIAog
ICAgIHZpcnR1YWwgYm9vbCBpc0xvYWRlZCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7
IH0KQEAgLTU1LDggKzU2LDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1v
dmVMYXN0Q2xpZW50KCkgT1ZFUlJJREUgeyB9CiAKIHByaXZhdGU6Ci0gICAgV2ViQ3VzdG9tRmls
dGVyUHJvZ3JhbShTdHJpbmcgdmVydGV4U2hhZGVyU3RyaW5nLCBTdHJpbmcgZnJhZ21lbnRTaGFk
ZXJTdHJpbmcsIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBX
ZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MpCi0gICAg
ICAgIDogV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbShwcm9ncmFtVHlwZSwgbWl4U2V0dGlu
Z3MpCisgICAgV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbShTdHJpbmcgdmVydGV4U2hhZGVyU3RyaW5n
LCBTdHJpbmcgZnJhZ21lbnRTaGFkZXJTdHJpbmcsIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dy
YW1UeXBlIHByb2dyYW1UeXBlLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGlu
Z3MgbWl4U2V0dGluZ3MsIFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQor
ICAgICAgICA6IFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW0ocHJvZ3JhbVR5cGUsIG1peFNl
dHRpbmdzLCBtZXNoVHlwZSkKICAgICAgICAgLCBtX3ZlcnRleFNoYWRlclN0cmluZyh2ZXJ0ZXhT
aGFkZXJTdHJpbmcpCiAgICAgICAgICwgbV9mcmFnbWVudFNoYWRlclN0cmluZyhmcmFnbWVudFNo
YWRlclN0cmluZykKICAgICB7Cg==
</data>
<flag name="commit-queue"
          id="184796"
          type_id="3"
          status="-"
          setter="mvujovic"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171029</attachid>
            <date>2012-10-26 15:36:10 -0700</date>
            <delta_ts>2012-10-26 16:34:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98973-6.patch</filename>
            <type>text/plain</type>
            <size>62407</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYmQ0MzIzLi5jYjkxYjk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTItMTAt
MjUgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNoZWNrcyB0byB2
ZXJpZnk6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMgZG8gbm90
IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTspLgorICAgICAgICAo
MikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5vdCBleGVjdXRlIHdp
dGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBOb3RlIHRoYXQgaW4gQ1NTIEN1c3RvbSBG
aWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSBp
biBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hlcywgbm8gdmVydGlj
ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2ZXJ0ZXgKKyAgICAg
ICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
aWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0aWNlcyBjYW4gYmVs
b25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQgY2Fubm90IGlkZW50
aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAgICAgICBDU1MgRmls
dGVycyBTcGVjLCBWZXJ0ZXggQXR0cmlidXRlczoKKyAgICAgICAgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9GWFRGL3Jhdy1maWxlL3RpcC9maWx0ZXJzL2luZGV4Lmh0bWwjdmVydGV4LWF0dHJpYnV0
ZS12YXJpYWJsZXMKKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1s
OgorICAgICAgICAgICAgQWRkIHR3byBjaGVja3MgZm9yIHR3byBuZXcgdmVydGV4IHNoYWRlcnMu
IFVwZGF0ZSB0aGUgYV90cmlhbmdsZUNvb3JkIHR5cGUgY2hlY2sgdG8gdXNlCisgICAgICAgICAg
ICBhIGRldGFjaGVkIG1lc2gsIHNvIHRoZSB2ZXJ0ZXggc2hhZGVyIGZhaWxzIHRvIHZhbGlkYXRl
IGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzCisgICAgICAgICAgICBkZWZpbmVkIHdpdGggYW4g
aW5jb3JyZWN0IHR5cGUsIG5vdCBiZWNhdXNlIGl0IGRlZmluZXMgYV90cmlhbmdsZUNvb3JkIGlu
IGFuIGF0dGFjaGVkCisgICAgICAgICAgICBtZXNoLgorICAgICAgICAqIGNzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52czoK
KyAgICAgICAgICAgIEFkZGVkLiBUaGlzIHZlcnRleCBzaGFkZXIgZGVmaW5lcyBhX3RyaWFuZ2xl
Q29vcmQgd2l0aCB0aGUgY29ycmVjdCB0eXBlLiBIb3dldmVyLCB0aGlzCisgICAgICAgICAgICBz
aGFkZXIgaXMgcnVuIHdpdGggYW4gYW4gYXR0YWNoZWQgbWVzaCwgc28gaXQgc2hvdWxkIG5vdCBl
eGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20t
YXR0cmlidXRlLnZzOgorICAgICAgICAgICAgQWRkZWQuIFRoaXMgdmVydGV4IHNoYWRlciBkZWZp
bmVzIGEgY3VzdG9tIGF0dHJpYnV0ZS4gVGhlIGFzc29jaWF0ZWQgdGVzdCB2ZXJpZmllcworICAg
ICAgICAgICAgdGhhdCBpdCBkb2VzIG5vdCBleGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnM6CisgICAgICAgICAg
ICBBZGQgYSBjb21tZW50IHRoYXQgdGhpcyBzaGFkZXIgc2hvdWxkIGJlIHJ1biB3aXRoIGEgZGV0
YWNoZWQgbWVzaC4KKwogMjAxMi0xMC0yNiAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIENyYXNoIG9uIGxvYWRpbmcgU1ZHIGZpbHRlciByZXNvdXJjZSBv
biBIVE1MIGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0
b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0
cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKaW5kZXggNjc5MGZkZS4uNGQwMDRkMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0
ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVj
dGVkLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KLSAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhlY3V0ZSBp
ZiB0aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0
eXBlLjwvdGl0bGU+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMgZG8gbm90
IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0
aGUgd3JvbmcgdHlwZSBvciBkZWZpbmVzIGN1c3RvbSBhdHRyaWJ1dGVzLjwvdGl0bGU+CiAgICAg
PCEtLSAKICAgICAgICAgVGhpcyBpcyB0aGUgcmVmZXJlbmNlIGZpbGUgZm9yIHRoZSB0ZXN0Lgot
ICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDUgdmVydGljYWxseS1z
dGFja2VkIGdyZWVuIGJveGVzLgorICAgICAgICBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91
bGQgc2VlIDcgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVzLgogICAgIC0tPgogICAgIDxz
dHlsZT4KICAgICBkaXYgewpAQCAtMjEsNSArMjEsNyBAQAogICAgIDxkaXY+PC9kaXY+CiAgICAg
PGRpdj48L2Rpdj4KICAgICA8ZGl2PjwvZGl2PgorICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48
L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0
cmlidXRlLXR5cGVzLmh0bWwKaW5kZXggYTZhYTA1NC4uZDU2NWJhMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmli
dXRlLXR5cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZh
bGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLmh0bWwKQEAgLTEsOCArMSw4IEBACiA8
IWRvY3R5cGUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci0gICAgPHRpdGxlPlRlc3RzIHRoYXQgY3Vz
dG9tIGZpbHRlcnMgZG8gbm90IGV4ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWlu
IGF0dHJpYnV0ZXMgd2l0aCB0aGUgd3JvbmcgdHlwZS48L3RpdGxlPgotICAgIDwhLS0gSWYgdGhl
IHRlc3QgcGFzc2VzLCB5b3Ugc2hvdWxkIHNlZSA1IHZlcnRpY2FsbHktc3RhY2tlZCBncmVlbiBi
b3hlcy4gLS0+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlcnMgZG8gbm90IGV4
ZWN1dGUgaWYgdGhlIGF1dGhvciBkZWZpbmVzIGJ1aWx0LWluIGF0dHJpYnV0ZXMgd2l0aCB0aGUg
d3JvbmcgdHlwZSBvciBkZWZpbmVzIGN1c3RvbSBhdHRyaWJ1dGVzLjwvdGl0bGU+CisgICAgPCEt
LSBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDcgdmVydGljYWxseS1zdGFja2Vk
IGdyZWVuIGJveGVzLiAtLT4KICAgICA8c2NyaXB0PgogICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7CkBAIC0yNSw2ICsyNSw5IEBA
CiAgICAgICAgIGhlaWdodDogNTBweDsKICAgICAgICAgbWFyZ2luOiAxMHB4OwogICAgIH0KKyAg
ICAuaW52YWxpZC1jdXN0b20tYXR0cmlidXRlIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1
c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMnKSBtaXgo
dXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4
X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CisgICAgfQogICAgIC5pbnZhbGlkLXR5cGUtYS1tZXNo
LWNvb3JkIHsKICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNl
cy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21p
eC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAx
LjApOwogICAgIH0KQEAgLTM1LDE4ICszOCwyOCBAQAogICAgICAgICAtd2Via2l0LWZpbHRlcjog
Y3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRleC1jb29yZC52cycpIG1p
eCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBt
aXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsKICAgICB9CiAgICAgLmludmFsaWQtdHlwZS1hLXRy
aWFuZ2xlLWNvb3JkIHsKLSAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jl
c291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4w
IDAuMCAwLjAgMS4wKTsKKyAgICAgICAgLyogVGhpcyBjdXN0b20gZmlsdGVyIHVzZXMgYSBkZXRh
Y2hlZCBtZXNoIGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzIG9ubHkgYXZhaWxhYmxlIHdpdGgg
YSBkZXRhY2hlZCBtZXNoLiAqLworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgn
Li4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIDEgMSBkZXRh
Y2hlZCwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CiAgICAgfQogICAgIC5pbnZhbGlkLXR5
cGUtYXR0cmlidXRlLWFycmF5IHsKICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwo
Jy4uL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzJykgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xv
ciAxLjAgMC4wIDAuMCAxLjApOyAgICAgICAgCiAgICAgfQorICAgIC5pbnZhbGlkLXR5cGUtYXR0
cmlidXRlLWFycmF5IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzJykgbWl4KHVybCgnLi4vcmVz
b3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAg
MC4wIDAuMCAxLjApOyAgICAgICAgCisgICAgfQorICAgIC5pbnZhbGlkLWF0dGFjaGVkLW1lc2gt
YS10cmlhbmdsZS1jb29yZCB7CisgICAgICAgIC8qIFRoaXMgY3VzdG9tIGZpbHRlciB1c2VzIGFu
IGF0dGFjaGVkIG1lc2ggdG8gdmVyaWZ5IHRoYXQgYV90cmlhbmdsZUNvb3JkIGlzIG5vdCBhIGF2
YWlsYWJsZSB3aXRoIGFuIGF0dGFjaGVkIG1lc2guICovCisgICAgICAgIC13ZWJraXQtZmlsdGVy
OiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgt
YXR0YWNoZWQtbWVzaC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBu
b3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsgICAgICAgIAor
ICAgIH0KICAgICA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
ICAgIDxkaXYgY2xhc3M9ImludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZSI+PC9kaXY+CiAgICAgPGRp
diBjbGFzcz0iaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFz
cz0iaW52YWxpZC10eXBlLWEtcG9zaXRpb24iPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFs
aWQtdHlwZS1hLXRleC1jb29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iaW52YWxpZC10eXBl
LWEtdHJpYW5nbGUtY29vcmQiPjwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImludmFsaWQtdHlwZS1h
dHRyaWJ1dGUtYXJyYXkiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImludmFsaWQtYXR0YWNoZWQt
bWVzaC1hLXRyaWFuZ2xlLWNvb3JkIj48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xl
LWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzU4YzhlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5n
bGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNoLnZzCkBAIC0wLDAgKzEsMTIgQEAKKy8vIFRoaXMg
c2hhZGVyIHNob3VsZCBub3QgZXhlY3V0ZSBpZiB0aGUgbWVzaCBpcyBhdHRhY2hlZCBiZWNhdXNl
IGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBkZXRhY2hlZCBtZXNoc2VzLgor
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworYXR0cmlidXRlIHZlYzMgYV90cmlhbmdsZUNv
b3JkOworYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rp
b25NYXRyaXg7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rp
b25NYXRyaXggKiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWI2YjFlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRy
aWJ1dGUudnMKQEAgLTAsMCArMSwxMiBAQAorLy8gSWYgdGhpcyBzaGFkZXIncyByZWxhdGVkIHRl
c3QgcGFzc2VzLCB0aGUgY3VzdG9tIGZpbHRlciBkb2VzIG5vdCBleGVjdXRlIGJlY2F1c2UgbXlf
YXR0cmlidXRlIGlzIG5vdCBvbmUgb2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMuCisKK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgZmxvYXQgbXlfYXR0cmlidXRlOworYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3VuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRyaXg7
CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB1X3Byb2plY3Rpb25NYXRyaXgg
KiBhX3Bvc2l0aW9uOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzCmluZGV4IDNhZGU5
YzguLjA4MjQ5NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52cworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQudnMKQEAgLTQsNyArNCw2
IEBAIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwogCiAvLyBhX21lc2hDb29yZCBzaG91bGQgYmUg
YSB2ZWMyLCBub3QgYSBmbG9hdC4KIGF0dHJpYnV0ZSBmbG9hdCBhX21lc2hDb29yZDsKLQogYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKIAogdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJp
eDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxp
ZC10eXBlLWEtcG9zaXRpb24udnMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2Vz
L2ludmFsaWQtdHlwZS1hLXBvc2l0aW9uLnZzCmluZGV4IGJkYTQ4ZTguLjUxNTRlYTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEt
cG9zaXRpb24udnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZh
bGlkLXR5cGUtYS1wb3NpdGlvbi52cwpAQCAtNCw3ICs0LDYgQEAgcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CiAKIC8vIGFfcG9zaXRpb24gc2hvdWxkIGJlIGEgdmVjNCwgbm90IGEgdmVjMy4KIGF0
dHJpYnV0ZSB2ZWMzIGFfcG9zaXRpb247Ci0KIHVuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRy
aXg7CiAKIHZvaWQgbWFpbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
cmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRleC1jb29yZC52cyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCmluZGV4IDc2MTEz
MzEuLjI0MjljNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzCkBAIC00LDkgKzQsNyBA
QCBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKIAogLy8gYV9tZXNoQ29vcmQgc2hvdWxkIGJlIGEg
dmVjMiwgbm90IGFuIHZlYzQuCiBhdHRyaWJ1dGUgdmVjNCBhX3RleENvb3JkOwotCiBhdHRyaWJ1
dGUgdmVjNCBhX3Bvc2l0aW9uOwotCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9uTWF0cml4Owog
CiB2b2lkIG1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMKaW5kZXgg
ODVjM2FiNS4uYmVkNjYyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cworKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZz
CkBAIC0xLDEyICsxLDExIEBACiAvLyBJZiB0aGlzIHNoYWRlcidzIHJlbGF0ZWQgdGVzdCBwYXNz
ZXMsIHRoZSBjdXN0b20gZmlsdGVyIGRvZXMgbm90IGV4ZWN1dGUgYmVjYXVzZSBhX3RyaWFuZ2xl
Q29vcmQncyB0eXBlIGlzIGludmFsaWQuCisvLyBUaGUgY3VzdG9tIGZpbHRlciBzaG91bGQgZGVm
aW5lIGEgZGV0YWNoZWQgbWVzaCBiZWNhdXNlIGFfdHJpYW5nbGVDb29yZCBpcyBvbmx5IGF2YWls
YWJsZSB3aXRoIGEgZGV0YWNoZWQgbWVzaC4KIAogcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CiAK
LS8vIGFfbWVzaENvb3JkIHNob3VsZCBiZSBhIHZlYzMsIG5vdCBhIHZlYzIuCisvLyBhX3RyaWFu
Z2xlQ29vcmQgc2hvdWxkIGJlIGEgdmVjMywgbm90IGEgdmVjMi4KIGF0dHJpYnV0ZSB2ZWMyIGFf
dHJpYW5nbGVDb29yZDsKLQogYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKLQogdW5pZm9ybSBt
YXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKIAogdm9pZCBtYWluKCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJh
eS52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0
dHJpYnV0ZS1hcnJheS52cwppbmRleCAzN2M0MjIxLi42MTNlNzllIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJy
YXkudnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5
cGUtYXR0cmlidXRlLWFycmF5LnZzCkBAIC00LDcgKzQsNiBAQCBwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKIAogLy8gYV9wb3NpdGlvbiBzaG91bGQgYmUgYSB2ZWM0LCBub3QgYSB2ZWM0IGFycmF5
LgogYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvblsxXTsKLQogdW5pZm9ybSBtYXQ0IHVfcHJvamVj
dGlvbk1hdHJpeDsKIAogdm9pZCBtYWluKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzODNiMTZhLi41ODkzMGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA4IEBACisyMDEyLTEwLTI1ICBNYXggVnVqb3ZpYyAg
PG12dWpvdmljQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIFJlamVjdCB2ZXJ0
ZXggc2hhZGVycyB3aXRoIGN1c3RvbSBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcHJvdmVkIENTUyBDdXN0b20gRmlsdGVycyBzaGFk
ZXIgdmFsaWRhdGlvbi4gV2l0aCB0aGlzIHBhdGNoOgorICAgICAgICAoMSkgU2hhZGVycyB3aXRo
IGN1c3RvbSBhdHRyaWJ1dGVzIGRvIG5vdCBleGVjdXRlIChlLmcuIGF0dHJpYnV0ZSBmbG9hdCBt
eV9hdHRyaWJ1dGU7KS4KKyAgICAgICAgKDIpIFNoYWRlcnMgd2l0aCBhX3RyaWFuZ2xlQ29vcmQg
ZGVmaW5lZCBkbyBub3QgZXhlY3V0ZSB3aXRoIGFuIGF0dGFjaGVkIG1lc2guCisKKyAgICAgICAg
TW9zdCBvZiB0aGUgY2hhbmdlcyBhcmUgZnJvbSByZW5hbWluZyBDdXN0b21GaWx0ZXJPcGVyYXRp
b246Ok1lc2hUeXBlIHRvCisgICAgICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlLCBhbmQgbW92aW5n
IHRoZSBlbnVtZXJhdGlvbiB0byBDdXN0b21GaWx0ZXJDb25zdGFudHMuaC4gVGhpcyBhdm9pZHMK
KyAgICAgICAgcHVsbGluZyBpbiBDdXN0b21GaWx0ZXJPcGVyYXRpb24gZm9yIGNsYXNzZXMgdGhh
dCBvbmx5IGNhcmUgYWJvdXQgdGhlIG1lc2ggdHlwZS4KKworICAgICAgICBOb3RlIHRoYXQgaW4g
Q1NTIEN1c3RvbSBGaWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5
IGF2YWlsYWJsZSBpbiBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hl
cywgbm8gdmVydGljZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2
ZXJ0ZXgKKyAgICAgICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3Ry
aWFuZ2xlQ29vcmQgaWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0
aWNlcyBjYW4gYmVsb25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
Y2Fubm90IGlkZW50aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAg
ICAgICBUZXN0czoKKyAgICAgICAgQWRkIHR3byBuZXcgY2hlY2tzIHRvIHRoZSB0ZXN0IGZpbGU6
CisgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1h
dHRyaWJ1dGUtdHlwZXMuaHRtbAorICAgICAgICBBZGQgdHdvIG5ldyBzaGFkZXJzOgorICAgICAg
ICAgICAgY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUudnMK
KyAgICAgICAgICAgIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNv
b3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52cworCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAgICAgVXBkYXRlIGEgYnJva2VuIHJlZmVyZW5jZSB0
byBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiB0aGUgWGNvZGUgcHJvamVjdCBmaWxlLgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjp2YWx1ZUZvckZpbHRlcik6CisgICAg
ICAgICAgICBSZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0
b21GaWx0ZXJNZXNoVHlwZS4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24p
OiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
ckNvbnN0YW50cy5oOgorICAgICAgICAgICAgQWRkIEN1c3RvbUZpbHRlck1lc2hUeXBlIGVudW0g
dG8gc2hhcmUgYWNyb3NzIHRoZSBDdXN0b20gRmlsdGVycyBjb2RlYmFzZSwgc28gdGhhdCB3ZQor
ICAgICAgICAgICAgZG9uJ3QgaGF2ZSB0byBpbmNsdWRlIEN1c3RvbUZpbHRlck9wZXJhdGlvbiBq
dXN0IHRvIGFjY2VzcyB0aGUgb2xkCisgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246
Ok1lc2hUeXBlIGVudW0uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJNZXNoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2g6OkN1
c3RvbUZpbHRlck1lc2gpOgorICAgICAgICAgICAgUmVwbGFjZSBDdXN0b21GaWx0ZXJPcGVyYXRp
b246Ok1lc2hUeXBlIHdpdGggQ3VzdG9tRmlsdGVyTWVzaFR5cGUuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJNZXNoOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1
c3RvbUZpbHRlck1lc2g6Om1lc2hUeXBlKTogRGl0dG8uCisgICAgICAgIChDdXN0b21GaWx0ZXJN
ZXNoKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yOjpkdW1wQnVmZmVycyk6
IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
TWVzaEdlbmVyYXRvci5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcik6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6ZmxvYXRz
UGVyVmVydGV4KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yOjp2ZXJ0aWNlc0NvdW50KTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwOiAKKyAgICAgICAgKFdlYkNvcmU6
OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKTogRGl0dG8uCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24u
aDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJPcGVyYXRpb246Om1lc2hUeXBlKTog
RGl0dG8uCisgICAgICAgIChDdXN0b21GaWx0ZXJPcGVyYXRpb24pOiBEaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbSk6
CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgYmVjYXVz
ZSB0aGUgcHJvZ3JhbSBub3cgbmVlZHMgdG8ga25vdyB0aGUgbWVzaFR5cGUKKyAgICAgICAgICAg
IHRvIHByb3Blcmx5IHZhbGlkYXRlLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJv
Z3JhbTo6cHJvZ3JhbUluZm8pOgorICAgICAgICAgICAgUGFzcyBtZXNoVHlwZSB0byBDdXN0b21G
aWx0ZXJQcm9ncmFtIGNvbnN0cnVjdG9yLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
UHJvZ3JhbTo6b3BlcmF0b3I9PSk6CisgICAgICAgICAgICBDaGVjayB0aGUgbWVzaFR5cGUgaW4g
dGhlIGVxdWFscyBvcGVyYXRvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlclByb2dyYW0uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3Rv
bUZpbHRlclByb2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAg
ICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuICAgICAgICAgICAgCisgICAg
ICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6aGFzaCk6CisgICAgICAgICAg
ICBJbmNsdWRlIHRoZSBtZXNoVHlwZSBpbiB0aGUgdmFsaWRhdGVkIHByb2dyYW0gaGFzaCwgc2lu
Y2UgdGhlIHNhbWUgc2hhZGVyIGNvZGUgY2FuIHBhc3MKKyAgICAgICAgICAgIG9yIGZhaWwgdmFs
aWRhdGlvbiBiYXNlZCBvbiB0aGUgbWVzaFR5cGUuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbzo6b3BlcmF0b3I9PSk6CisgICAgICAgICAgICBDaGVjayB0aGUgbWVz
aFR5cGUgaW4gdGhlIGVxdWFscyBvcGVyYXRvci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmg6CisgICAgICAgIChDdXN0b21GaWx0
ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAgICBVcGRhdGUgbWV0aG9kIHByb3RvdHlwZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjptZXNoVHlwZSk6CisgICAg
ICAgICAgICBBZGQgbWVzaFR5cGUgZ2V0dGVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjp2YWxpZGF0ZVN5bWJvbHMpOgorICAg
ICAgICAgICAgSWYgdGhlIGF1dGhvciBkZWZpbmVzIGF0dHJpYnV0ZSB0aGF0IGlzIGlzIG5vdCBm
b3VuZCBpbiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlIG1hcCwKKyAgICAgICAgICAgIHJlamVjdCB0
aGUgc2hhZGVyLgorICAgICAgICAgICAgSWYgdGhlIGF1dGhvciBkZWZpbmVzIGFfdHJpYW5nbGVD
b29yZCB3aXRob3V0IGEgZGV0YWNoZWQgbWVzaCB0eXBlLCByZWplY3QgdGhlIHNoYWRlci4KKyAg
ICAgICAgICAgIEFsc28sIG1ha2UgdGhpcyBwcmV2aW91c2x5IGZpbGUtc3RhdGljIGZ1bmN0aW9u
IGludG8gYSBtZXRob2Qgb2YKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dy
YW0gYmVjYXVzZSBpdCBub3cgbmVlZHMgdG8gYWNjZXNzIHRoZSBtX21lc2hUeXBlLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbSk6CisgICAgICAgICAg
ICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgYmVjYXVzZSB0aGUgcHJvZ3Jh
bSBub3cgbmVlZHMgdG8ga25vdyB0aGUgbWVzaFR5cGUKKyAgICAgICAgICAgIHRvIHByb3Blcmx5
IHZhbGlkYXRlLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21G
aWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OkZFQ3VzdG9tRmls
dGVyKToKKyAgICAgICAgICAgIFJlcGxhY2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlw
ZSB3aXRoIEN1c3RvbUZpbHRlck1lc2hUeXBlLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21G
aWx0ZXI6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6
OmJpbmRQcm9ncmFtQW5kQnVmZmVycyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0
b21GaWx0ZXI6OnVuYmluZFZlcnRleEF0dHJpYnV0ZXMpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmg6CisgICAgICAgIChGRUN1c3Rv
bUZpbHRlcik6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZp
bHRlclByb2dyYW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3Jh
bTo6Y3JlYXRlKToKKyAgICAgICAgICAgIEFkZCBhIG1lc2hUeXBlIGNvbnN0cnVjdG9yIHBhcmFt
ZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6U3R5bGVD
dXN0b21GaWx0ZXJQcm9ncmFtKTogRGl0dG8uCisKIDIwMTItMTAtMjYgIFBhcnRoIFBhdGVsICA8
cGFycGF0ZWxAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRXh0ZW5kaW5nIGV4aXN0
aW5nIFRocmVhZFVuc2FmZSBzaW5nbGV0b25zIGluIHdlYmtpdCB0bwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIwNjk1ZDQuLjk0
MjY3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTM4MDIsMTEgKzM4MDIsMTEgQEAKIAkJQTFFMTE1NDQxMzAxNUMzRDAwNTRB
QzhDIC8qIERpc3RhbnRMaWdodFNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMUUxMTU0MzEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExp
Z2h0U291cmNlLmNwcCAqLzsgfTsKIAkJQTFFMTE1NDYxMzAxNUM0RTAwNTRBQzhDIC8qIFBvaW50
TGlnaHRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFFMTE1NDUxMzAxNUM0RTAwNTRBQzhDIC8qIFBvaW50TGlnaHRTb3VyY2UuY3BwICov
OyB9OwogCQlBMUUxMTU0ODEzMDE1QzVEMDA1NEFDOEMgLyogU3BvdExpZ2h0U291cmNlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRTExNTQ3MTMw
MTVDNUQwMDU0QUM4QyAvKiBTcG90TGlnaHRTb3VyY2UuY3BwICovOyB9OwotCQlBMjRBM0E5RDE2
MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRBM0E5QzE2MjQ5OUZGMDA1MjI3NDUg
LyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi87IH07CiAJCUEyNEJGNzdCMTVDQzNCQUYwMDMx
OTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRCRjc3OTE1Q0MzQkFGMDAzMTkxRjIgLyogV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oICovOyB9OwogCQlBMjRCRjc3QzE1Q0MzQkFGMDAzMTkx
RjIgLyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjRCRjc3QTE1Q0MzQkFGMDAzMTkxRjIgLyogV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgKi87IH07CiAJCUEyOTUzMkNGMTVERDVFMTcwMDQ2
OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyOTUzMkNEMTVERDVFMTcwMDQ2OUVCQyAv
KiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCAqLzsgfTsKIAkJQTI5NTMyRDAxNURE
NUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyOTUzMkNFMTVERDVFMTcwMDQ2
OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmggKi87IH07CisJCUEyQjJBRTdD
MTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyQjJBRTdCMTYzNzVFRTUwMENGQTUw
QiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLzsgfTsKIAkJQTNCQjU5RjMxNDU3QTQwRDAw
QUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1l
bnRFdmVudFF1ZXVlLmNwcCAqLzsgfTsKIAkJQTNCQjU5RjQxNDU3QTQwRDAwQUM1NkZFIC8qIERv
Y3VtZW50RXZlbnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEzRTI2
NDMwMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzRTI2NDJFMTQ3NDg5OTEwMDVBODU4
OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCAqLzsgfTsKQEAgLTExMDcxLDExICsxMTA3MSwxMSBA
QAogCQlBMUUxMTU0MzEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExpZ2h0U291cmNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpc3RhbnRMaWdodFNvdXJjZS5j
cHA7IHBhdGggPSBmaWx0ZXJzL0Rpc3RhbnRMaWdodFNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUExRTExNTQ1MTMwMTVDNEUwMDU0QUM4QyAvKiBQb2ludExpZ2h0U291
cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBvaW50TGlnaHRT
b3VyY2UuY3BwOyBwYXRoID0gZmlsdGVycy9Qb2ludExpZ2h0U291cmNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFFMTE1NDcxMzAxNUM1RDAwNTRBQzhDIC8qIFNwb3RMaWdo
dFNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTcG90TGln
aHRTb3VyY2UuY3BwOyBwYXRoID0gZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlBMjRBM0E5QzE2MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9t
RmlsdGVyQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEN1c3Rv
bUZpbHRlckNvbnN0YW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMjRCRjc3
OTE1Q0MzQkFGMDAzMTkxRjIgLyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyNEJGNzdBMTVDQzNCQUYwMDMxOTFGMiAvKiBX
ZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMjk1MzJDRDE1REQ1RTE3MDA0NjlFQkMgLyogQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBD
dXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEy
OTUzMkNFMTVERDVFMTcwMDQ2OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1c3RvbUZpbHRlclZhbGlkYXRlZFBy
b2dyYW0uaDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMkIyQUU3QjE2Mzc1RUU1MDBDRkE1MEIgLyog
Q3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEN1c3RvbUZpbHRlckNvbnN0YW50cy5oOyBwYXRoID0gZmlsdGVycy9DdXN0b21GaWx0ZXJDb25z
dGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjExNDU3QTQwRDAw
QUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBEb2N1bWVudEV2ZW50UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBM0JCNTlGMjE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50RXZlbnRRdWV1ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0UyNjQyRTE0NzQ4OTkxMDA1QTg1ODgg
LyogV29ya2VyRXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBXb3JrZXJFdmVudFF1ZXVlLmNwcDsgcGF0aCA9IHdvcmtlcnMvV29ya2VyRXZlbnRRdWV1
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODI0OCw3ICsxODI0OCw3IEBA
CiAJCQkJMTVCM0ZDMTcxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyLmggKi8sCiAJCQkJNTBENDA2MEYxNDdENDlERTAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlckNv
bXBpbGVkUHJvZ3JhbS5jcHAgKi8sCiAJCQkJNTBENDA2MTAxNDdENDlERTAwRDMwQkI1IC8qIEN1
c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5oICovLAotCQkJCUEyNEEzQTlDMTYyNDk5RkYwMDUy
Mjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLywKKwkJCQlBMkIyQUU3QjE2Mzc1RUU1
MDBDRkE1MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi8sCiAJCQkJNTA5ODdDMjQxNTdE
Njc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3BwICovLAogCQkJCTUw
OTg3QzI1MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmggKi8s
CiAJCQkJNTBENDA1RjcxNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlck1lc2guY3BwICov
LApAQCAtMjI2OTEsNyArMjI2OTEsNyBAQAogCQkJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAv
KiBDdXN0b21FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTVCM0ZDMTkxNUZCMjE3ODAwQTgx
QkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MEQ0MDYxMjE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgg
aW4gSGVhZGVycyAqLywKLQkJCQlBMjRBM0E5RDE2MjQ5OUZGMDA1MjI3NDUgLyogQ3VzdG9tRmls
dGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMkIyQUU3QzE2Mzc1RUU1MDBDRkE1
MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MDk4N0My
NzE1N0Q2NzZEMDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTBENDA1RkExNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlck1lc2gu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdFMTJFOTBGMTVGQTVEM0EwMDVFNDEyNiAvKiBDdXN0b21G
aWx0ZXJNZXNoR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggOGJiMGM1NS4uNGRj
NzM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKQEAgLTk0MSw3ICs5NDEsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmlsdGVyKGNvbnN0IFJlbmRlck9iagog
ICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBGSVhNRTogVGhlIHNwZWNpZmljYXRpb24gZG9l
c24ndCBoYXZlIGFueSAiYXR0YWNoZWQiIGlkZW50aWZpZXIuIFNob3VsZCB3ZSBhZGQgb25lPwog
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcy
NzAwCi0gICAgICAgICAgICBpZiAoY3VzdG9tT3BlcmF0aW9uLT5tZXNoVHlwZSgpID09IEN1c3Rv
bUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQpCisgICAgICAgICAgICBpZiAoY3VzdG9tT3BlcmF0
aW9uLT5tZXNoVHlwZSgpID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgICAgICAgICAgbWVz
aFBhcmFtZXRlcnMtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVEZXRhY2hlZCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBmaWx0ZXJWYWx1
ZS0+YXBwZW5kKG1lc2hQYXJhbWV0ZXJzLnJlbGVhc2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggYjhjZGU1ZC4uYTVkNmE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcApAQCAtMTU3LDYgKzE1Nyw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX1NIQURF
UlMpCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKKyNpbmNsdWRlICJD
dXN0b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJOdW1iZXJQYXJh
bWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJD
dXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKQEAgLTQ4NDQsNyArNDg0NSw3IEBAIFBhc3NSZWZQdHI8
Q3VzdG9tRmlsdGVyT3BlcmF0aW9uPiBTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJP
cGVyYXRpb24oV2ViCiAgICAgdW5zaWduZWQgbWVzaFJvd3MgPSAxOwogICAgIHVuc2lnbmVkIG1l
c2hDb2x1bW5zID0gMTsKICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlIG1l
c2hCb3hUeXBlID0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpGSUxURVJfQk9YOwotICAgIEN1c3Rv
bUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUgPSBDdXN0b21GaWx0ZXJPcGVyYXRp
b246OkFUVEFDSEVEOworICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlID0gTWVzaFR5
cGVBdHRhY2hlZDsKICAgICAKICAgICBDU1NWYWx1ZSogcGFyYW1ldGVyc1ZhbHVlID0gMDsKICAg
ICAKQEAgLTQ4ODgsNyArNDg4OSw3IEBAIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyT3BlcmF0aW9u
PiBTdHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24oV2ViCiAgICAgICAg
IGlmIChpdGVyYXRvci5oYXNNb3JlKCkgJiYgaXRlcmF0b3IuaXNQcmltaXRpdmVWYWx1ZSgpKSB7
CiAgICAgICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNf
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGl0ZXJhdG9yLnZhbHVlKCkpOwogICAgICAgICAgICAg
aWYgKHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgpID09IENTU1ZhbHVlRGV0YWNoZWQpIHsKLSAg
ICAgICAgICAgICAgICBtZXNoVHlwZSA9IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQ7
CisgICAgICAgICAgICAgICAgbWVzaFR5cGUgPSBNZXNoVHlwZURldGFjaGVkOwogICAgICAgICAg
ICAgICAgIGl0ZXJhdG9yLmFkdmFuY2UoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAt
NDkwOCw3ICs0OTA5LDcgQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJPcGVyYXRpb24+IFN0eWxl
UmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbihXZWIKICAgICBpZiAocGFyYW1l
dGVyc1ZhbHVlICYmICFwYXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QocGFyYW1ldGVyc1Zh
bHVlLCBwYXJhbWV0ZXJMaXN0KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAgUmVmUHRy
PFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IFN0eWxlQ3VzdG9tRmlsdGVyUHJv
Z3JhbTo6Y3JlYXRlKHZlcnRleFNoYWRlci5yZWxlYXNlKCksIGZyYWdtZW50U2hhZGVyLnJlbGVh
c2UoKSwgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKTsKKyAgICBSZWZQdHI8U3R5bGVDdXN0b21G
aWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUo
dmVydGV4U2hhZGVyLnJlbGVhc2UoKSwgZnJhZ21lbnRTaGFkZXIucmVsZWFzZSgpLCBwcm9ncmFt
VHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKTsKICAgICByZXR1cm4gQ3VzdG9tRmlsdGVyT3Bl
cmF0aW9uOjpjcmVhdGUocHJvZ3JhbS5yZWxlYXNlKCksIHBhcmFtZXRlckxpc3QsIG1lc2hSb3dz
LCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUsIG1lc2hUeXBlKTsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgKaW5kZXggNjA4MGMzOC4uOGM2NTUxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJD
b25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlckNvbnN0YW50cy5oCkBAIC00NSw2ICs0NSwxMSBAQCBlbnVtIEN1c3RvbUZp
bHRlck1lc2hDb25zdGFudHMgewogICAgIFRyaWFuZ2xlQXR0cmliT2Zmc2V0ID0gTWVzaEF0dHJp
Yk9mZnNldCArIE1lc2hBdHRyaWJTaXplICogc2l6ZW9mKGZsb2F0KQogfTsKIAorZW51bSBDdXN0
b21GaWx0ZXJNZXNoVHlwZSB7CisgICAgTWVzaFR5cGVBdHRhY2hlZCwKKyAgICBNZXNoVHlwZURl
dGFjaGVkCit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBDdXN0b21G
aWx0ZXJDb25zdGFudHNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAKaW5kZXggMDI3OGFiYS4u
ZWZmMDc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwCkBAIC0zNyw3ICszNyw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIEN1c3RvbUZpbHRlck1lc2g6OkN1c3RvbUZpbHRlck1lc2go
R3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVkIHJv
d3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYg
bWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICBj
b25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQog
ICAgIDogbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX3ZlcnRpY2VzQnVmZmVyT2JqZWN0KDAp
CiAgICAgLCBtX2VsZW1lbnRzQnVmZmVyT2JqZWN0KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCmlu
ZGV4IGUzYzdhNmIuLjJiYjNkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5oCkBAIC00Myw3ICs0
Myw3IEBAIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogCiBjbGFzcyBDdXN0b21GaWx0ZXJNZXNo
IDogcHVibGljIFJlZkNvdW50ZWQ8Q3VzdG9tRmlsdGVyTWVzaD4gewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck1lc2g+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQz
RCogY29udGV4dCwgdW5zaWduZWQgY29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0
JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck1lc2g+IGNyZWF0ZShHcmFwaGljc0NvbnRl
eHQzRCogY29udGV4dCwgdW5zaWduZWQgY29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRS
ZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRmlsdGVyTWVzaChjb250ZXh0LCBjb2xzLCBy
b3dzLCBtZXNoQm94LCBtZXNoVHlwZSkpOwogICAgIH0KQEAgLTU2LDEwICs1NiwxMCBAQCBwdWJs
aWM6CiAgICAgdW5zaWduZWQgaW5kaWNlc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9pbmRpY2Vz
Q291bnQ7IH0KICAgICAKICAgICBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3goKSBjb25zdCB7IHJl
dHVybiBtX21lc2hCb3g7IH0KLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1l
c2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlck1l
c2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQogCiBwcml2YXRl
OgotICAgIEN1c3RvbUZpbHRlck1lc2goR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBjb2xz
LCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbjo6TWVzaFR5cGUpOworICAgIEN1c3RvbUZpbHRlck1lc2goR3JhcGhpY3NDb250ZXh0
M0QqLCB1bnNpZ25lZCBjb2xzLCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hC
b3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsKICAgICAKICAgICBHcmFwaGljc0NvbnRleHQzRCog
bV9jb250ZXh0OwogICAgIApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVk
IG1faW5kaWNlc0NvdW50OwogICAgIAogICAgIEZsb2F0UmVjdCBtX21lc2hCb3g7Ci0gICAgQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtX21lc2hUeXBlOworICAgIEN1c3RvbUZpbHRl
ck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmNwcAppbmRleCAzZDlkNGQxLi43NzQ2
OTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5jcHAKQEAgLTM5
LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGJvb2wgc19kdW1wQ3VzdG9t
RmlsdGVyTWVzaEJ1ZmZlcnMgPSBmYWxzZTsKICNlbmRpZgogCi1DdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2ln
bmVkIHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9u
OjpNZXNoVHlwZSBtZXNoVHlwZSkKK0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29uc3Qg
RmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6
IG1fbWVzaFR5cGUobWVzaFR5cGUpCiAgICAgLCBtX3BvaW50cyhjb2x1bW5zICsgMSwgcm93cyAr
IDEpCiAgICAgLCBtX3RpbGVzKGNvbHVtbnMsIHJvd3MpCkBAIC02MCw3ICs2MCw3IEBAIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQg
Y29sdW1ucywgdW5zaWduZWQKICAgICAvLyB3aGVuIHRoZXJlJ3Mgbm8gbmVlZCB0byBleHBsb2Rl
IHRoZSB0aWxlcy4KICAgICAvLyAqIGRldGFjaGVkOiBlYWNoIHRyaWFuZ2xlIGhhcyBpdHMgb3du
IHZlcnRpY2VzLiBUaGlzIG1lYW5zIGVhY2ggdHJpYW5nbGUgY2FuIGJlIG1vdmVkIGluZGVwZW5k
ZW50bHkgYW5kIGEgdmVjMwogICAgIC8vIGF0dHJpYnV0ZSBpcyBwYXNzZWQsIHNvIHRoYXQgZWFj
aCB2ZXJ0ZXggY2FuIGJlIHVuaXF1ZWx5IGlkZW50aWZpZWQuCi0gICAgaWYgKG1fbWVzaFR5cGUg
PT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpBVFRBQ0hFRCkKKyAgICBpZiAobV9tZXNoVHlwZSA9
PSBNZXNoVHlwZUF0dGFjaGVkKQogICAgICAgICBnZW5lcmF0ZUF0dGFjaGVkTWVzaCgpOwogICAg
IGVsc2UKICAgICAgICAgZ2VuZXJhdGVEZXRhY2hlZE1lc2goKTsKQEAgLTE1Miw4ICsxNTIsOCBA
QCB2b2lkIEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OmFkZERldGFjaGVkTWVzaFZlcnRleEF0
dHJpYnV0ZXMoaW50IHF1YWRYLCBpbnQgcQogdm9pZCBDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9y
OjpkdW1wQnVmZmVycygpIGNvbnN0CiB7CiAgICAgcHJpbnRmKCJNZXNoIGJ1ZmZlcnM6IFBvaW50
cy53aWR0aCgpOiAlZCwgUG9pbnRzLmhlaWdodCgpOiAlZCBtZXNoQm94OiAlZiwgJWYsICVmLCAl
ZiwgdHlwZTogJXNcbiIsCi0gICAgICAgICAgIG1fcG9pbnRzLndpZHRoKCksIG1fcG9pbnRzLmhl
aWdodCgpLCBtX21lc2hCb3gueCgpLCBtX21lc2hCb3gueSgpLCBtX21lc2hCb3gud2lkdGgoKSwg
bV9tZXNoQm94LmhlaWdodCgpLAotICAgICAgICAgICAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0
ZXJPcGVyYXRpb246OkFUVEFDSEVEKSA/ICJBdHRhY2hlZCIgOiAiRGV0YWNoZWQiKTsKKyAgICAg
ICAgbV9wb2ludHMud2lkdGgoKSwgbV9wb2ludHMuaGVpZ2h0KCksIG1fbWVzaEJveC54KCksIG1f
bWVzaEJveC55KCksIG1fbWVzaEJveC53aWR0aCgpLCBtX21lc2hCb3guaGVpZ2h0KCksCisgICAg
ICAgIChtX21lc2hUeXBlID09IE1lc2hUeXBlQXR0YWNoZWQpID8gIkF0dGFjaGVkIiA6ICJEZXRh
Y2hlZCIpOwogICAgIHByaW50ZigiLS0tVmVydGV4OlxuXHQiKTsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV92ZXJ0aWNlcy5zaXplKCk7ICsraSkgewogICAgICAgICBwcmludGYoIiVm
ICIsIG1fdmVydGljZXMuYXQoaSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0
b3IuaAppbmRleCBiM2ExODQ3Li43YWJhYzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1l
c2hHZW5lcmF0b3IuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgLy8gYW5kICdjb2x1
bW5zJyBudW1iZXIgb2YgY29sdW1ucyB3aXRoIGEgdG90YWwgb2YgJ3Jvd3MgKyAxJyAqICdjb2x1
bW5zICsgMScgdmVydGljZXMuCiAgICAgLy8gTWVzaEJveCBpcyB0aGUgZmlsdGVyZWQgYXJlYSBj
YWxjdWxhdGVkIGRlZmluZWQgdXNpbmcgdGhlIGJvcmRlci1ib3gsIHBhZGRpbmctYm94LCBjb250
ZW50LWJveCBvciBmaWx0ZXItYm94CiAgICAgLy8gYXR0cmlidXRlcy4gQSB2YWx1ZSBvZiAoMCwg
MCwgMSwgMSkgd2lsbCBjb3ZlciB0aGUgZW50aXJlIG91dHB1dCBzdXJmYWNlLgotICAgIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29u
c3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlKTsK
KyAgICBDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVk
IHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwog
CiAgICAgY29uc3QgVmVjdG9yPGZsb2F0PiYgdmVydGljZXMoKSBjb25zdCB7IHJldHVybiBtX3Zl
cnRpY2VzOyB9CiAgICAgY29uc3QgVmVjdG9yPHVpbnQxNl90PiYgaW5kaWNlcygpIGNvbnN0IHsg
cmV0dXJuIG1faW5kaWNlczsgfQpAQCAtNjYsMTIgKzY2LDEyIEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBBdHRhY2hlZE1lc2hWZXJ0ZXhTaXplID0gUG9z
aXRpb25BdHRyaWJTaXplICsgVGV4QXR0cmliU2l6ZSArIE1lc2hBdHRyaWJTaXplOwogICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgRGV0YWNoZWRNZXNoVmVydGV4U2l6ZSA9IEF0dGFjaGVk
TWVzaFZlcnRleFNpemUgKyBUcmlhbmdsZUF0dHJpYlNpemU7Ci0gICAgICAgIHJldHVybiBtX21l
c2hUeXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQgPyBBdHRhY2hlZE1lc2hW
ZXJ0ZXhTaXplIDogRGV0YWNoZWRNZXNoVmVydGV4U2l6ZTsKKyAgICAgICAgcmV0dXJuIG1fbWVz
aFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCA/IEF0dGFjaGVkTWVzaFZlcnRleFNpemUgOiBEZXRh
Y2hlZE1lc2hWZXJ0ZXhTaXplOwogICAgIH0KIAogICAgIHVuc2lnbmVkIHZlcnRpY2VzQ291bnQo
KSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpBVFRBQ0hFRCA/IHBvaW50c0NvdW50KCkgOiBpbmRpY2VzQ291bnQoKTsKKyAg
ICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCA/IHBvaW50c0NvdW50
KCkgOiBpbmRpY2VzQ291bnQoKTsKICAgICB9CiAKIHByaXZhdGU6CkBAIC0xMTAsNyArMTEwLDcg
QEAgcHJpdmF0ZToKICAgICBWZWN0b3I8ZmxvYXQ+IG1fdmVydGljZXM7CiAgICAgVmVjdG9yPHVp
bnQxNl90PiBtX2luZGljZXM7CiAKLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBl
IG1fbWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKICAgICBJ
bnRTaXplIG1fcG9pbnRzOwogICAgIEludFNpemUgbV90aWxlczsKICAgICBGbG9hdFNpemUgbV90
aWxlU2l6ZUluUGl4ZWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uY3BwCmluZGV4
IGVkNTdiNzMuLmI2M2VhYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5jcHAK
QEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBibGVuZEN1c3RvbUZpbHRlclBhcmFtZXRlcnMoY29uc3Qg
Q3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYgZnJvbUxpc3QsIGNvbnMKICAgICBBU1NFUlQoY2hl
Y2tDdXN0b21GaWx0ZXJQYXJhbWV0ZXJzT3JkZXIocmVzdWx0TGlzdCkpOwogfQogCi1DdXN0b21G
aWx0ZXJPcGVyYXRpb246OkN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZp
bHRlclByb2dyYW0+IHByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHNv
cnRlZFBhcmFtZXRlcnMsIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywg
TWVzaEJveFR5cGUgbWVzaEJveFR5cGUsIE1lc2hUeXBlIG1lc2hUeXBlKQorQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24oUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
cm9ncmFtPiBwcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQ
YXJhbWV0ZXJzLCB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hC
b3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6
IEZpbHRlck9wZXJhdGlvbihDVVNUT00pCiAgICAgLCBtX3Byb2dyYW0ocHJvZ3JhbSkKICAgICAs
IG1fcGFyYW1ldGVycyhzb3J0ZWRQYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uLmgKaW5kZXggMGQ2NGQyMy4uYzdkNjVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJh
dGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjZGVmaW5lIEN1c3RvbUZpbHRlck9wZXJhdGlvbl9o
CiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3Rh
bnRzLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgIkZpbHRl
ck9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCkBAIC01NiwxMyArNTcsOCBA
QCBwdWJsaWM6CiAgICAgICAgIFBBRERJTkdfQk9YLAogICAgICAgICBDT05URU5UX0JPWAogICAg
IH07Ci0gICAgCi0gICAgZW51bSBNZXNoVHlwZSB7Ci0gICAgICAgIEFUVEFDSEVELAotICAgICAg
ICBERVRBQ0hFRAotICAgIH07Ci0gICAgCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q3VzdG9tRmls
dGVyT3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQcm9ncmFtPiBwcm9n
cmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQYXJhbWV0ZXJzLCB1
bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlIG1lc2hC
b3hUeXBlLCBNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICAgICAgCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyT3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
cm9ncmFtPiBwcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBzb3J0ZWRQ
YXJhbWV0ZXJzLCB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hC
b3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICB7
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKHByb2dy
YW0sIHNvcnRlZFBhcmFtZXRlcnMsIG1lc2hSb3dzLCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUs
IG1lc2hUeXBlKSk7CiAgICAgfQpAQCAtNzUsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgbWVzaENvbHVtbnMoKSBjb25zdCB7IHJldHVybiBtX21lc2hDb2x1bW5zOyB9CiAgICAgCiAg
ICAgTWVzaEJveFR5cGUgbWVzaEJveFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hCb3hUeXBl
OyB9Ci0gICAgTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21l
c2hUeXBlOyB9CiAgICAgCiAgICAgdmlydHVhbCB+Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKCk7CiAg
ICAgCkBAIC05OSw3ICs5NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAmJiBjdXN0b21G
aWx0ZXJQYXJhbWV0ZXJzRXF1YWwobV9wYXJhbWV0ZXJzLCBvdGhlci0+bV9wYXJhbWV0ZXJzKTsK
ICAgICB9CiAgICAgCi0gICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9t
RmlsdGVyUHJvZ3JhbT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmLCB1bnNpZ25l
ZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlLCBNZXNoVHlwZSk7
CisgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3Jh
bT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmLCB1bnNpZ25lZCBtZXNoUm93cywg
dW5zaWduZWQgbWVzaENvbHVtbnMsIE1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7
CiAKICAgICBSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gbV9wcm9ncmFtOwogICAgIEN1c3Rv
bUZpbHRlclBhcmFtZXRlckxpc3QgbV9wYXJhbWV0ZXJzOwpAQCAtMTA3LDcgKzEwMyw3IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9tZXNoUm93czsKICAgICB1bnNpZ25lZCBtX21lc2hDb2x1
bW5zOwogICAgIE1lc2hCb3hUeXBlIG1fbWVzaEJveFR5cGU7Ci0gICAgTWVzaFR5cGUgbV9tZXNo
VHlwZTsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBlOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAKaW5kZXggOGZk
ODhlYS4uMmE4ZmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwCkBAIC0zOCw5
ICszOCwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUN1c3RvbUZpbHRlclByb2dyYW06
OkN1c3RvbUZpbHRlclByb2dyYW0oQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUs
IGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MpCitDdXN0
b21GaWx0ZXJQcm9ncmFtOjpDdXN0b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dyYW1U
eXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1p
eFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6IG1fcHJvZ3Jh
bVR5cGUocHJvZ3JhbVR5cGUpCiAgICAgLCBtX21peFNldHRpbmdzKG1peFNldHRpbmdzKQorICAg
ICwgbV9tZXNoVHlwZShtZXNoVHlwZSkKIHsKICAgICAvLyBLZWVwIHRoZSBjb25zdHJ1Y3RvciBw
cm90ZWN0ZWQgdG8gcHJldmVudCBjcmVhdGluZyB0aGlzIG9iamVjdCBkaXJlY3RseS4KIH0KQEAg
LTgyLDEyICs4MywxNCBAQCB2b2lkIEN1c3RvbUZpbHRlclByb2dyYW06Om5vdGlmeUNsaWVudHMo
KQogQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8gQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6cHJvZ3JhbUlu
Zm8oKSBjb25zdAogewogICAgIEFTU0VSVChpc0xvYWRlZCgpKTsKLSAgICByZXR1cm4gQ3VzdG9t
RmlsdGVyUHJvZ3JhbUluZm8odmVydGV4U2hhZGVyU3RyaW5nKCksIGZyYWdtZW50U2hhZGVyU3Ry
aW5nKCksIG1fcHJvZ3JhbVR5cGUsIG1fbWl4U2V0dGluZ3MpOworICAgIHJldHVybiBDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbyh2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSwgZnJhZ21lbnRTaGFkZXJTdHJp
bmcoKSwgbV9wcm9ncmFtVHlwZSwgbV9taXhTZXR0aW5ncywgbV9tZXNoVHlwZSk7CiB9CiAKIGJv
b2wgQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6b3BlcmF0b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQcm9n
cmFtJiBvKSBjb25zdAogewotICAgIHJldHVybiBtX3Byb2dyYW1UeXBlID09IG8ubV9wcm9ncmFt
VHlwZSAmJiAobV9wcm9ncmFtVHlwZSAhPSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVY
VFVSRSB8fCBtX21peFNldHRpbmdzID09IG8ubV9taXhTZXR0aW5ncyk7CisgICAgcmV0dXJuIG1f
cHJvZ3JhbVR5cGUgPT0gby5tX3Byb2dyYW1UeXBlCisgICAgICAgICYmIChtX3Byb2dyYW1UeXBl
ICE9IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVOVF9URVhUVVJFIHx8IG1fbWl4U2V0dGluZ3Mg
PT0gby5tX21peFNldHRpbmdzKQorICAgICAgICAmJiBtX21lc2hUeXBlID09IG8ubV9tZXNoVHlw
ZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0u
aAppbmRleCA0NDVmYjQ4Li5iNzU1YmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaApA
QCAtNTEsMzggKzUxLDM3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DdXN0b21GaWx0ZXJQcm9n
cmFtKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMb2FkZWQoKSBjb25zdCA9IDA7Ci0gICAgCi0g
ICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzKCkgY29uc3QgeyBy
ZXR1cm4gbV9taXhTZXR0aW5nczsgfQogCiAgICAgdm9pZCBhZGRDbGllbnQoQ3VzdG9tRmlsdGVy
UHJvZ3JhbUNsaWVudCopOwogICAgIHZvaWQgcmVtb3ZlQ2xpZW50KEN1c3RvbUZpbHRlclByb2dy
YW1DbGllbnQqKTsKICAgICAKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyBwcm9ncmFtSW5m
bygpIGNvbnN0OworCisgICAgdmlydHVhbCBTdHJpbmcgdmVydGV4U2hhZGVyU3RyaW5nKCkgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgU3RyaW5nIGZyYWdtZW50U2hhZGVyU3RyaW5nKCkgY29uc3Qg
PSAwOwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcm9ncmFtVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5n
cyBtaXhTZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fbWl4U2V0dGluZ3M7IH0KKyAgICBDdXN0
b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaFR5cGU7IH0K
IAotICAgIC8vIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSBoYXMgdGhlIG9ubHkgaW1wbGVtZW50
YXRpb24gZm9yIHRoZSBmb2xsb3dpbmcgbWV0aG9kLiBUaGF0IG1lYW5zLCBpdCBjYXN0cyB0byBT
dHlsZUN1c3RvbUZpbHRlclByb2dyYW0KLSAgICAvLyB3aXRob3V0aCBjaGVja2luZyB0aGUgdHlw
ZS4gSWYgeW91IGFkZCBhbm90aGVyIGltcGxlbWVudGF0aW9uLCBhbHNvIGFkZCBhIG1lY2hhbmlz
bSB0byBjaGVjayBmb3IgdGhlIGNvcnJlY3QgdHlwZS4KICAgICB2aXJ0dWFsIGJvb2wgb3BlcmF0
b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtJikgY29uc3Q7CiAgICAgYm9vbCBvcGVyYXRv
ciE9KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW0mIG8pIGNvbnN0IHsgcmV0dXJuICEoKnRoaXMg
PT0gbyk7IH0KIHByb3RlY3RlZDoKICAgICAvLyBTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0gY2Fu
IG5vdGlmeSB0aGUgY2xpZW50cyB0aGF0IHRoZSBjYWNoZWQgcmVzb3VyY2VzIGFyZQogICAgIC8v
IGxvYWRlZCBhbmQgaXQgaXMgcmVhZHkgdG8gY3JlYXRlIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJv
Z3JhbSBvYmplY3RzLgogICAgIHZvaWQgbm90aWZ5Q2xpZW50cygpOwotICAgIAotICAgIHZpcnR1
YWwgU3RyaW5nIHZlcnRleFNoYWRlclN0cmluZygpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFN0
cmluZyBmcmFnbWVudFNoYWRlclN0cmluZygpIGNvbnN0ID0gMDsKLSAgICAKKwogICAgIHZpcnR1
YWwgdm9pZCB3aWxsSGF2ZUNsaWVudHMoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92
ZUxhc3RDbGllbnQoKSA9IDA7CiAKICAgICAvLyBLZWVwIHRoZSBjb25zdHJ1Y3RvciBwcm90ZWN0
ZWQgdG8gcHJldmVudCBjcmVhdGluZyB0aGlzIG9iamVjdCBkaXJlY3RseS4KLSAgICBDdXN0b21G
aWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQ
cm9ncmFtTWl4U2V0dGluZ3MmKTsKKyAgICBDdXN0b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRl
clByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmLCBDdXN0
b21GaWx0ZXJNZXNoVHlwZSk7CiAKIHByaXZhdGU6CiAgICAgdHlwZWRlZiBIYXNoQ291bnRlZFNl
dDxDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50Kj4gQ3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudExp
c3Q7CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudExpc3QgbV9jbGllbnRzOwogICAgIEN1
c3RvbUZpbHRlclByb2dyYW1UeXBlIG1fcHJvZ3JhbVR5cGU7CiAgICAgQ3VzdG9tRmlsdGVyUHJv
Z3JhbU1peFNldHRpbmdzIG1fbWl4U2V0dGluZ3M7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUg
bV9tZXNoVHlwZTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5j
cHAKaW5kZXggN2Y0YWYzZS4uMmFiMjdiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9n
cmFtSW5mby5jcHAKQEAgLTY0LDExICs2NCwxMiBAQCBib29sIEN1c3RvbUZpbHRlclByb2dyYW1J
bmZvOjppc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0CiAgICAgICAgICYmIG1fZnJhZ21l
bnRTaGFkZXJTdHJpbmcuaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKTsKIH0KIAotQ3VzdG9tRmls
dGVyUHJvZ3JhbUluZm86OkN1c3RvbUZpbHRlclByb2dyYW1JbmZvKGNvbnN0IFN0cmluZyYgdmVy
dGV4U2hhZGVyLCBjb25zdCBTdHJpbmcmIGZyYWdtZW50U2hhZGVyLCBDdXN0b21GaWx0ZXJQcm9n
cmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdz
JiBtaXhTZXR0aW5ncykKK0N1c3RvbUZpbHRlclByb2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9n
cmFtSW5mbyhjb25zdCBTdHJpbmcmIHZlcnRleFNoYWRlciwgY29uc3QgU3RyaW5nJiBmcmFnbWVu
dFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3Rv
bUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MsIEN1c3RvbUZpbHRlck1lc2hU
eXBlIG1lc2hUeXBlKQogICAgIDogbV92ZXJ0ZXhTaGFkZXJTdHJpbmcodmVydGV4U2hhZGVyKQog
ICAgICwgbV9mcmFnbWVudFNoYWRlclN0cmluZyhmcmFnbWVudFNoYWRlcikKICAgICAsIG1fcHJv
Z3JhbVR5cGUocHJvZ3JhbVR5cGUpCiAgICAgLCBtX21peFNldHRpbmdzKG1peFNldHRpbmdzKQor
ICAgICwgbV9tZXNoVHlwZShtZXNoVHlwZSkKIHsKICAgICAvLyBBdCBsZWFzdCBvbmUgb2YgdGhl
IHNoYWRlcnMgbmVlZHMgdG8gYmUgbm9uLW51bGwuCiAgICAgQVNTRVJUKCFtX3ZlcnRleFNoYWRl
clN0cmluZy5pc051bGwoKSB8fCAhbV9mcmFnbWVudFNoYWRlclN0cmluZy5pc051bGwoKSk7CkBA
IC03OCwxNCArNzksMTMgQEAgdW5zaWduZWQgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86Omhhc2go
KSBjb25zdAogewogICAgIC8vIEF0IGxlYXN0IG9uZSBvZiB0aGUgc2hhZGVycyBuZWVkcyB0byBi
ZSBub24tbnVsbC4KICAgICBBU1NFUlQoIW1fdmVydGV4U2hhZGVyU3RyaW5nLmlzTnVsbCgpIHx8
ICFtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLmlzTnVsbCgpKTsKLQotICAgIGJvb2wgYmxlbmRzRWxl
bWVudFRleHR1cmUgPSAobV9wcm9ncmFtVHlwZSA9PSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1F
TlRfVEVYVFVSRSk7Ci0gICAgdWludHB0cl90IGhhc2hDb2Rlc1s1XSA9IHsKKyAgICB1aW50cHRy
X3QgaGFzaENvZGVzWzZdID0gewogICAgICAgICBoYXNoUG9zc2libHlOdWxsU3RyaW5nKG1fdmVy
dGV4U2hhZGVyU3RyaW5nKSwKICAgICAgICAgaGFzaFBvc3NpYmx5TnVsbFN0cmluZyhtX2ZyYWdt
ZW50U2hhZGVyU3RyaW5nKSwKLSAgICAgICAgYmxlbmRzRWxlbWVudFRleHR1cmUsCi0gICAgICAg
IGJsZW5kc0VsZW1lbnRUZXh0dXJlID8gbV9taXhTZXR0aW5ncy5ibGVuZE1vZGUgOiAwLAotICAg
ICAgICBibGVuZHNFbGVtZW50VGV4dHVyZSA/IG1fbWl4U2V0dGluZ3MuY29tcG9zaXRlT3BlcmF0
b3IgOiAwCisgICAgICAgIG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVN
RU5UX1RFWFRVUkUsCisgICAgICAgIG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5E
U19FTEVNRU5UX1RFWFRVUkUgPyBtX21peFNldHRpbmdzLmJsZW5kTW9kZSA6IDAsCisgICAgICAg
IG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgPyBt
X21peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9yIDogMCwKKyAgICAgICAgbV9tZXNoVHlwZQog
ICAgIH07CiAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9yeTxzaXplb2YoaGFzaENv
ZGVzKT4oJmhhc2hDb2Rlcyk7CiB9CkBAIC05Nyw2ICs5Nyw3IEBAIGJvb2wgQ3VzdG9tRmlsdGVy
UHJvZ3JhbUluZm86Om9wZXJhdG9yPT0oY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8mIG8p
IGNvbnN0CiAKICAgICByZXR1cm4gbV9wcm9ncmFtVHlwZSA9PSBvLm1fcHJvZ3JhbVR5cGUKICAg
ICAgICAgJiYgKG1fcHJvZ3JhbVR5cGUgIT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RF
WFRVUkUgfHwgbV9taXhTZXR0aW5ncyA9PSBvLm1fbWl4U2V0dGluZ3MpCisgICAgICAgICYmIG1f
bWVzaFR5cGUgPT0gby5tX21lc2hUeXBlCiAgICAgICAgICYmIG1fdmVydGV4U2hhZGVyU3RyaW5n
ID09IG8ubV92ZXJ0ZXhTaGFkZXJTdHJpbmcKICAgICAgICAgJiYgbV9mcmFnbWVudFNoYWRlclN0
cmluZyA9PSBvLm1fZnJhZ21lbnRTaGFkZXJTdHJpbmc7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZv
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clByb2dyYW1JbmZvLmgKaW5kZXggM2I1NDRjNS4uMjVlN2RhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5m
by5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9t
RmlsdGVyUHJvZ3JhbUluZm8uaApAQCAtMzEsNiArMzEsNyBAQAogI2RlZmluZSBDdXN0b21GaWx0
ZXJQcm9ncmFtSW5mb19oCiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3Vz
dG9tRmlsdGVyQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NUeXBlcy5oIgogCiAjaW5j
bHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KQEAgLTY0LDcgKzY1LDcgQEAgc3RydWN0IEN1c3RvbUZp
bHRlclByb2dyYW1NaXhTZXR0aW5ncyB7CiAvLyBOdWxsIHN0cmluZ3MgYXJlIHBsYWNlaG9sZGVy
cyBmb3IgdGhlIGRlZmF1bHQgc2hhZGVyLgogY2xhc3MgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8g
ewogcHVibGljOgotICAgIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYsIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQ
cm9ncmFtTWl4U2V0dGluZ3MmKTsKKyAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSwgY29uc3QgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogCiAg
ICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8oKTsKICAgICBib29sIGlzRW1wdHlWYWx1ZSgpIGNv
bnN0OwpAQCAtNzksMTEgKzgwLDEzIEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGZyYWdt
ZW50U2hhZGVyU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9mcmFnbWVudFNoYWRlclN0cmluZzsg
fQogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlKCkgY29uc3QgeyByZXR1
cm4gbV9wcm9ncmFtVHlwZTsgfQogICAgIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0
aW5ncyYgbWl4U2V0dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX21peFNldHRpbmdzOyB9CisgICAg
Q3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBl
OyB9CiBwcml2YXRlOgogICAgIFN0cmluZyBtX3ZlcnRleFNoYWRlclN0cmluZzsKICAgICBTdHJp
bmcgbV9mcmFnbWVudFNoYWRlclN0cmluZzsKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBt
X3Byb2dyYW1UeXBlOwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtX21peFNl
dHRpbmdzOworICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiBzdHJ1
Y3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm9IYXNoIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCmluZGV4IGQ1NDIxNTcuLjQwZjQ4ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
VmFsaWRhdGVkUHJvZ3JhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcApAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCIKIAogI2luY2x1
ZGUgIkFOR0xFV2ViS2l0QnJpZGdlLmgiCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29uc3RhbnRz
LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIgogI2luY2x1ZGUgIkN1
c3RvbUZpbHRlclByb2dyYW1JbmZvLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKQEAg
LTYyLDcgKzYzLDcgQEAgc3RhdGljIFN5bWJvbE5hbWVUb1R5cGVNYXAqIGJ1aWx0SW5BdHRyaWJ1
dGVOYW1lVG9UeXBlTWFwKCkKICAgICByZXR1cm4gbmFtZVRvVHlwZU1hcDsKIH0KIAotc3RhdGlj
IGJvb2wgdmFsaWRhdGVTeW1ib2xzKGNvbnN0IFZlY3RvcjxBTkdMRVNoYWRlclN5bWJvbD4mIHN5
bWJvbHMpCitzdGF0aWMgYm9vbCB2YWxpZGF0ZVN5bWJvbHMoY29uc3QgVmVjdG9yPEFOR0xFU2hh
ZGVyU3ltYm9sPiYgc3ltYm9scywgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiB7CiAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzeW1ib2xzLnNpemUoKTsgKytpKSB7CiAgICAgICAg
IGNvbnN0IEFOR0xFU2hhZGVyU3ltYm9sJiBzeW1ib2wgPSBzeW1ib2xzW2ldOwpAQCAtNzAsMTMg
KzcxLDI0IEBAIHN0YXRpYyBib29sIHZhbGlkYXRlU3ltYm9scyhjb25zdCBWZWN0b3I8QU5HTEVT
aGFkZXJTeW1ib2w+JiBzeW1ib2xzKQogICAgICAgICBjYXNlIFNIQURFUl9TWU1CT0xfVFlQRV9B
VFRSSUJVVEU6IHsKICAgICAgICAgICAgIFN5bWJvbE5hbWVUb1R5cGVNYXAqIGF0dHJpYnV0ZU5h
bWVUb1R5cGVNYXAgPSBidWlsdEluQXR0cmlidXRlTmFtZVRvVHlwZU1hcCgpOwogICAgICAgICAg
ICAgU3ltYm9sTmFtZVRvVHlwZU1hcDo6aXRlcmF0b3IgYnVpbHRJbkF0dHJpYnV0ZSA9IGF0dHJp
YnV0ZU5hbWVUb1R5cGVNYXAtPmZpbmQoc3ltYm9sLm5hbWUpOwotICAgICAgICAgICAgaWYgKGJ1
aWx0SW5BdHRyaWJ1dGUgIT0gYXR0cmlidXRlTmFtZVRvVHlwZU1hcC0+ZW5kKCkgJiYgc3ltYm9s
LmRhdGFUeXBlICE9IGJ1aWx0SW5BdHRyaWJ1dGUtPnZhbHVlKSB7CisgICAgICAgICAgICBpZiAo
YnVpbHRJbkF0dHJpYnV0ZSA9PSBhdHRyaWJ1dGVOYW1lVG9UeXBlTWFwLT5lbmQoKSkgeworICAg
ICAgICAgICAgICAgIC8vIFRoZSBhdXRob3IgZGVmaW5lZCBhIGN1c3RvbSBhdHRyaWJ1dGUuCisg
ICAgICAgICAgICAgICAgLy8gRklYTUU6IFJlcG9ydCB0aGUgdmFsaWRhdGlvbiBlcnJvci4KKyAg
ICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzQ0MTYKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBpZiAobWVzaFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCAmJiBzeW1ib2wubmFtZSA9
PSAiYV90cmlhbmdsZUNvb3JkIikgeworICAgICAgICAgICAgICAgIC8vIGFfdHJpYW5nbGVDb29y
ZCBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgZGV0YWNoZWQgbWVzaGVzLgorICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBSZXBvcnQgdGhlIHZhbGlkYXRpb24gZXJyb3IuCisgICAgICAgICAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDE2CisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHN5
bWJvbC5kYXRhVHlwZSAhPSBidWlsdEluQXR0cmlidXRlLT52YWx1ZSkgewogICAgICAgICAgICAg
ICAgIC8vIFRoZSBhdXRob3IgZGVmaW5lZCBvbmUgb2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZXMg
d2l0aCB0aGUgd3JvbmcgdHlwZS4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogUmVwb3J0IHRo
ZSB2YWxpZGF0aW9uIGVycm9yLgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8gRklYTUU6IFJldHVybiBmYWxzZSB3
aGVuIHRoZSBhdHRyaWJ1dGUgaXMgbm90IG9uZSBvZiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlcy4K
LSAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
ODk3MwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBTSEFERVJf
U1lNQk9MX1RZUEVfVU5JRk9STToKQEAgLTE1Myw3ICsxNjUsNyBAQCBDdXN0b21GaWx0ZXJWYWxp
ZGF0ZWRQcm9ncmFtOjpDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtKEN1c3RvbUZpbHRlckds
b2JhbENvbgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCF2YWxpZGF0ZVN5bWJv
bHMoc3ltYm9scykpIHsKKyAgICBpZiAoIXZhbGlkYXRlU3ltYm9scyhzeW1ib2xzLCBtX3Byb2dy
YW1JbmZvLm1lc2hUeXBlKCkpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBSZXBvcnQgdmFsaWRhdGlv
biBlcnJvcnMuCiAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NDQxNgogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbS5oCmluZGV4IDMyMmM2MzAuLjE3NDYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVk
UHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oCkBAIC00OSw3ICs0OSw2IEBAIHR5cGVkZWYg
V2ViQ29yZTo6TGF5ZXJDb21waWxlZFByb2dyYW0gUGxhdGZvcm1Db21waWxlZFByb2dyYW07CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQU5HTEVXZWJLaXRCcmlkZ2U7CiBjbGFzcyBD
dXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW07CiBjbGFzcyBDdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCmluZGV4IDcwN2VkYjguLjQwN2VjZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21G
aWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVDdXN0b21GaWx0ZXIuY3BwCkBAIC04Miw4ICs4Miw3IEBAIHN0YXRpYyB2b2lkIG9ydGhvZ29u
YWxQcm9qZWN0aW9uTWF0cml4KFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgsIGZsb2F0IGxl
ZnQsCiB9CiAKIEZFQ3VzdG9tRmlsdGVyOjpGRUN1c3RvbUZpbHRlcihGaWx0ZXIqIGZpbHRlciwg
Q3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCogY3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCwgUGFz
c1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtPiB2YWxpZGF0ZWRQcm9ncmFtLCBj
b25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBwYXJhbWV0ZXJzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1u
cywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQor
ICAgIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpNZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAg
ICAgOiBGaWx0ZXJFZmZlY3QoZmlsdGVyKQogICAgICwgbV9nbG9iYWxDb250ZXh0KGN1c3RvbUZp
bHRlckdsb2JhbENvbnRleHQpCiAgICAgLCBtX3ZhbGlkYXRlZFByb2dyYW0odmFsaWRhdGVkUHJv
Z3JhbSkKQEAgLTEwNiw4ICsxMDUsNyBAQCBGRUN1c3RvbUZpbHRlcjo6RkVDdXN0b21GaWx0ZXIo
RmlsdGVyKiBmaWx0ZXIsIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQqIGN1c3RvbQogfQogCiBQ
YXNzUmVmUHRyPEZFQ3VzdG9tRmlsdGVyPiBGRUN1c3RvbUZpbHRlcjo6Y3JlYXRlKEZpbHRlciog
ZmlsdGVyLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0KiBjdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0LCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0+IHZhbGlkYXRlZFBy
b2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHBhcmFtZXRlcnMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWVzaFJvd3Ms
IHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBl
IG1lc2hCb3hUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUpCisgICAgdW5zaWduZWQg
bWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1l
c2hCb3hUeXBlIG1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKIHsK
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZFQ3VzdG9tRmlsdGVyKGZpbHRlciwgY3VzdG9tRmls
dGVyR2xvYmFsQ29udGV4dCwgdmFsaWRhdGVkUHJvZ3JhbSwgcGFyYW1ldGVycywgbWVzaFJvd3Ms
IG1lc2hDb2x1bW5zLCBtZXNoQm94VHlwZSwgbWVzaFR5cGUpKTsKIH0KQEAgLTU3Nyw3ICs1NzUs
NyBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMoUGxhdGZvcm0z
RE9iamVjdCBpbnB1dFRleHR1cmUpCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk0MzU4CiAgICAgYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJv
Z3JhbS0+aW50ZXJuYWxUZXhDb29yZEF0dHJpYkxvY2F0aW9uKCksIFRleEF0dHJpYlNpemUsIFRl
eEF0dHJpYk9mZnNldCk7CiAgICAgYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3Jh
bS0+bWVzaEF0dHJpYkxvY2F0aW9uKCksIE1lc2hBdHRyaWJTaXplLCBNZXNoQXR0cmliT2Zmc2V0
KTsKLSAgICBpZiAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkRFVEFDSEVE
KQorICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hUeXBlRGV0YWNoZWQpCiAgICAgICAgIGJpbmRW
ZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0tPnRyaWFuZ2xlQXR0cmliTG9jYXRpb24o
KSwgVHJpYW5nbGVBdHRyaWJTaXplLCBUcmlhbmdsZUF0dHJpYk9mZnNldCk7CiAgICAgCiAgICAg
YmluZFByb2dyYW1QYXJhbWV0ZXJzKCk7CkBAIC01ODksNyArNTg3LDcgQEAgdm9pZCBGRUN1c3Rv
bUZpbHRlcjo6dW5iaW5kVmVydGV4QXR0cmlidXRlcygpCiAgICAgdW5iaW5kVmVydGV4QXR0cmli
dXRlKG1fY29tcGlsZWRQcm9ncmFtLT50ZXhBdHRyaWJMb2NhdGlvbigpKTsKICAgICB1bmJpbmRW
ZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0tPmludGVybmFsVGV4Q29vcmRBdHRyaWJM
b2NhdGlvbigpKTsKICAgICB1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0t
Pm1lc2hBdHRyaWJMb2NhdGlvbigpKTsKLSAgICBpZiAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0
ZXJPcGVyYXRpb246OkRFVEFDSEVEKQorICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hUeXBlRGV0
YWNoZWQpCiAgICAgICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+
dHJpYW5nbGVBdHRyaWJMb2NhdGlvbigpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oCmluZGV4IDA5
ZGE1ZjEuLjU2Yjc0ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmgKQEAgLTU5LDggKzU5LDcgQEAgY2xh
c3MgSW50U2l6ZTsKIGNsYXNzIEZFQ3VzdG9tRmlsdGVyIDogcHVibGljIEZpbHRlckVmZmVjdCB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RkVDdXN0b21GaWx0ZXI+IGNyZWF0ZShG
aWx0ZXIqLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0KiwgUGFzc1JlZlB0cjxDdXN0b21GaWx0
ZXJWYWxpZGF0ZWRQcm9ncmFtPiwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYsCi0g
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5z
LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlLCAKLSAgICAgICAgICAgICAgICAg
ICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlKTsKKyAgICAgICAgdW5zaWduZWQgbWVz
aFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hC
b3hUeXBlLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZv
cm1BcHBseVNvZnR3YXJlKCk7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKQEAgLTY5LDggKzY4
LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIEZFQ3VzdG9tRmlsdGVyKEZpbHRlciosIEN1
c3RvbUZpbHRlckdsb2JhbENvbnRleHQqLCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclZhbGlkYXRl
ZFByb2dyYW0+LCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiwKLSAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZp
bHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIAotICAgICAgICAgICAgICAgICAgIEN1c3RvbUZp
bHRlck9wZXJhdGlvbjo6TWVzaFR5cGUpOworICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5z
aWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIEN1
c3RvbUZpbHRlck1lc2hUeXBlKTsKICAgICB+RkVDdXN0b21GaWx0ZXIoKTsKICAgICAKICAgICBi
b29sIGFwcGx5U2hhZGVyKCk7CkBAIC0xMzEsNyArMTI5LDcgQEAgcHJpdmF0ZToKIAogICAgIHVu
c2lnbmVkIG1fbWVzaFJvd3M7CiAgICAgdW5zaWduZWQgbV9tZXNoQ29sdW1uczsKLSAgICBDdXN0
b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1fbWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVy
TWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclBy
b2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRl
clByb2dyYW0uaAppbmRleCA1MzhhNTJlLi5hZTY4ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBA
IC00NSw5ICs0NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFN0eWxlQ3VzdG9tRmls
dGVyUHJvZ3JhbSA6IHB1YmxpYyBDdXN0b21GaWx0ZXJQcm9ncmFtLCBwdWJsaWMgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFBhc3NS
ZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRlciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4g
ZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25z
dCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzKQorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFBhc3NSZWZQdHI8
U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRlciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21l
bnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0
b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNo
VHlwZSBtZXNoVHlwZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVD
dXN0b21GaWx0ZXJQcm9ncmFtKHZlcnRleFNoYWRlciwgZnJhZ21lbnRTaGFkZXIsIHByb2dyYW1U
eXBlLCBtaXhTZXR0aW5ncykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlQ3Vz
dG9tRmlsdGVyUHJvZ3JhbSh2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyLCBwcm9ncmFtVHlw
ZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKSk7CiAgICAgfQogICAgIAogICAgIHZvaWQgc2V0VmVy
dGV4U2hhZGVyKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHNoYWRlcikgeyBtX3ZlcnRleFNoYWRl
ciA9IHNoYWRlcjsgfQpAQCAtMTMwLDggKzEzMCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+
IHZlcnRleFNoYWRlciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1
c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9n
cmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzKQotICAgICAgICA6IEN1c3RvbUZpbHRlclByb2dy
YW0ocHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKQorICAgIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3Jh
bShQYXNzUmVmUHRyPFN0eWxlU2hhZGVyPiB2ZXJ0ZXhTaGFkZXIsIFBhc3NSZWZQdHI8U3R5bGVT
aGFkZXI+IGZyYWdtZW50U2hhZGVyLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlw
ZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncywgQ3Vz
dG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCisgICAgICAgIDogQ3VzdG9tRmlsdGVyUHJvZ3Jh
bShwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKQogICAgICAgICAsIG1fdmVydGV4
U2hhZGVyKHZlcnRleFNoYWRlcikKICAgICAgICAgLCBtX2ZyYWdtZW50U2hhZGVyKGZyYWdtZW50
U2hhZGVyKQogICAgICAgICAsIG1faXNWZXJ0ZXhTaGFkZXJMb2FkZWQoZmFsc2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggMGMwMjFmMC4uMWY2ZWJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEy
LTEwLTI1ICBNYXggVnVqb3ZpYyAgPG12dWpvdmljQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NT
IFNoYWRlcnNdIFJlamVjdCB2ZXJ0ZXggc2hhZGVycyB3aXRoIGN1c3RvbSBhdHRyaWJ1dGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcDoK
KyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAgICAgIFJlcGxhY2UgdGhlIG5v
dyByZW1vdmVkIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0b21GaWx0
ZXJNZXNoVHlwZSBmcm9tCisgICAgICAgICAgICBDdXN0b21GaWx0ZXJDb25zdGFudHMuaC4KKwog
MjAxMi0xMC0yNiAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29t
PgogCiAgICAgICAgIFtFRkxdW1dLMl0gR2V0IHJpZCBvZiBDJ2lzbSBpbiB0ZXh0IGNoZWNrZXIg
QVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29k
ZXJzLmNwcAppbmRleCBiMTcwZTZjLi4yOWExY2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRD
b2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5jcHAKQEAgLTU0LDYgKzU0LDcgQEAK
ICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAjaW5jbHVkZSAiV2ViQ3VzdG9tRmlsdGVyUHJvZ3Jh
bS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXN0
b21GaWx0ZXJPcGVyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlclByb2dy
YW0uaD4KQEAgLTE0MCwxMyArMTQxLDEzIEBAIHZvaWQgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpG
aWx0ZXJPcGVyYXRpb25zPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwKICAgICAg
ICAgICAgIEFTU0VSVChjdXN0b21PcGVyYXRpb24tPnByb2dyYW0oKSk7CiAgICAgICAgICAgICBS
ZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IGN1c3RvbU9wZXJhdGlvbi0+cHJv
Z3JhbSgpOwogICAgICAgICAgICAgQVNTRVJUKHByb2dyYW0tPmlzTG9hZGVkKCkpOwotICAgICAg
ICAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8gcHJvZ3JhbUluZm8gPSBwcm9ncmFtLT5wcm9n
cmFtSW5mbygpOwotICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKHByb2dyYW1JbmZvLnZlcnRl
eFNoYWRlclN0cmluZygpKTsKLSAgICAgICAgICAgIGVuY29kZXItPmVuY29kZShwcm9ncmFtSW5m
by5mcmFnbWVudFNoYWRlclN0cmluZygpKTsKKyAgICAgICAgICAgIGVuY29kZXItPmVuY29kZShw
cm9ncmFtLT52ZXJ0ZXhTaGFkZXJTdHJpbmcoKSk7CisgICAgICAgICAgICBlbmNvZGVyLT5lbmNv
ZGUocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSk7CiAgICAgICAgICAgICBlbmNvZGVy
LT5lbmNvZGVFbnVtKHByb2dyYW0tPnByb2dyYW1UeXBlKCkpOwotICAgICAgICAgICAgQ3VzdG9t
RmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzID0gcHJvZ3JhbUluZm8ubWl4U2V0
dGluZ3MoKTsKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhT
ZXR0aW5ncyA9IHByb2dyYW0tPm1peFNldHRpbmdzKCk7CiAgICAgICAgICAgICBlbmNvZGVyLT5l
bmNvZGVFbnVtKG1peFNldHRpbmdzLmJsZW5kTW9kZSk7CiAgICAgICAgICAgICBlbmNvZGVyLT5l
bmNvZGVFbnVtKG1peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9yKTsKKyAgICAgICAgICAgIGVu
Y29kZXItPmVuY29kZUVudW0ocHJvZ3JhbS0+bWVzaFR5cGUoKSk7CiAKICAgICAgICAgICAgIEN1
c3RvbUZpbHRlclBhcmFtZXRlckxpc3QgcGFyYW1ldGVycyA9IGN1c3RvbU9wZXJhdGlvbi0+cGFy
YW1ldGVycygpOwogICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKHN0YXRpY19jYXN0PHVpbnQz
Ml90PihwYXJhbWV0ZXJzLnNpemUoKSkpOwpAQCAtMTgxLDcgKzE4Miw2IEBAIHZvaWQgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb25zPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2Rl
ciogZW5jb2RlciwKICAgICAgICAgICAgIGVuY29kZXItPmVuY29kZShjdXN0b21PcGVyYXRpb24t
Pm1lc2hSb3dzKCkpOwogICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKGN1c3RvbU9wZXJhdGlv
bi0+bWVzaENvbHVtbnMoKSk7CiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKGN1c3Rv
bU9wZXJhdGlvbi0+bWVzaEJveFR5cGUoKSk7Ci0gICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVF
bnVtKGN1c3RvbU9wZXJhdGlvbi0+bWVzaFR5cGUoKSk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogI2VuZGlmCkBAIC0yNTIsNiArMjUyLDcgQEAgYm9vbCBBcmd1bWVudENvZGVyPFdl
YkNvcmU6OkZpbHRlck9wZXJhdGlvbnM+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVy
LAogICAgICAgICAgICAgU3RyaW5nIGZyYWdtZW50U2hhZGVyU3RyaW5nOwogICAgICAgICAgICAg
Q3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGU7CiAgICAgICAgICAgICBDdXN0b21G
aWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3M7CisgICAgICAgICAgICBDdXN0b21G
aWx0ZXJNZXNoVHlwZSBtZXNoVHlwZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KHZlcnRleFNoYWRlclN0cmluZykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoZnJhZ21lbnRTaGFkZXJTdHJpbmcpKQpAQCAt
MjYyLDcgKzI2Myw5IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRp
b25zPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwKICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZUVudW0obWl4U2V0
dGluZ3MuY29tcG9zaXRlT3BlcmF0b3IpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgICAgIFJlZlB0cjxDdXN0b21GaWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0gV2ViQ3Vz
dG9tRmlsdGVyUHJvZ3JhbTo6Y3JlYXRlKHZlcnRleFNoYWRlclN0cmluZywgZnJhZ21lbnRTaGFk
ZXJTdHJpbmcsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncyk7CisgICAgICAgICAgICBpZiAoIWRl
Y29kZXItPmRlY29kZUVudW0obWVzaFR5cGUpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgICAgIFJlZlB0cjxDdXN0b21GaWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0gV2Vi
Q3VzdG9tRmlsdGVyUHJvZ3JhbTo6Y3JlYXRlKHZlcnRleFNoYWRlclN0cmluZywgZnJhZ21lbnRT
aGFkZXJTdHJpbmcsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUpOwogCiAgICAg
ICAgICAgICB1aW50MzJfdCBwYXJhbWV0ZXJzU2l6ZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlVUludDMyKHBhcmFtZXRlcnNTaXplKSkKQEAgLTMyMSwxNSArMzI0LDEyIEBAIGJv
b2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb25zPjo6ZGVjb2RlKEFyZ3Vt
ZW50RGVjb2RlciogZGVjb2RlciwKICAgICAgICAgICAgIHVuc2lnbmVkIG1lc2hSb3dzOwogICAg
ICAgICAgICAgdW5zaWduZWQgbWVzaENvbHVtbnM7CiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJP
cGVyYXRpb246Ok1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlOwotICAgICAgICAgICAgQ3VzdG9tRmls
dGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlKG1lc2hSb3dzKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShtZXNoQ29sdW1ucykpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1l
c2hCb3hUeXBlKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBp
ZiAoIWRlY29kZXItPmRlY29kZUVudW0obWVzaFR5cGUpKQotICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgICAgICAgICAgZmlsdGVyID0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpj
cmVhdGUocHJvZ3JhbSwgcGFyYW1ldGVycywgbWVzaFJvd3MsIG1lc2hDb2x1bW5zLCBtZXNoQm94
VHlwZSwgbWVzaFR5cGUpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDdXN0b21GaWx0ZXJQcm9ncmFt
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDdXN0b21G
aWx0ZXJQcm9ncmFtLmgKaW5kZXggZWIwOTdjMi4uNjAzNjE4ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViQ3VzdG9tRmlsdGVyUHJvZ3Jh
bS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkN1
c3RvbUZpbHRlclByb2dyYW0uaApAQCAtMjcsMTUgKzI3LDE2IEBACiAjZGVmaW5lIFdlYkN1c3Rv
bUZpbHRlclByb2dyYW1faAogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKSAmJiBFTkFC
TEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJDb25zdGFudHMu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlclByb2dyYW0uaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIFdlYkN1c3RvbUZpbHRlclByb2dyYW0gOiBwdWJsaWMgV2ViQ29y
ZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
V2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbT4gY3JlYXRlKFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcs
IFN0cmluZyBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9n
cmFtVHlwZSBwcm9ncmFtVHlwZSwgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRp
bmdzIG1peFNldHRpbmdzKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkN1c3RvbUZpbHRlclBy
b2dyYW0+IGNyZWF0ZShTdHJpbmcgdmVydGV4U2hhZGVyU3RyaW5nLCBTdHJpbmcgbV9mcmFnbWVu
dFNoYWRlclN0cmluZywgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5
cGUsIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncywg
V2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYkN1c3RvbUZpbHRlclByb2dyYW0odmVydGV4U2hhZGVyU3Ry
aW5nLCBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLCBwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtKHZlcnRl
eFNoYWRlclN0cmluZywgbV9mcmFnbWVudFNoYWRlclN0cmluZywgcHJvZ3JhbVR5cGUsIG1peFNl
dHRpbmdzLCBtZXNoVHlwZSkpOwogICAgIH0KIAogICAgIHZpcnR1YWwgYm9vbCBpc0xvYWRlZCgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KQEAgLTU1LDggKzU2LDggQEAgcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVMYXN0Q2xpZW50KCkgT1ZFUlJJREUgeyB9
CiAKIHByaXZhdGU6Ci0gICAgV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbShTdHJpbmcgdmVydGV4U2hh
ZGVyU3RyaW5nLCBTdHJpbmcgZnJhZ21lbnRTaGFkZXJTdHJpbmcsIFdlYkNvcmU6OkN1c3RvbUZp
bHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFt
TWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MpCi0gICAgICAgIDogV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
UHJvZ3JhbShwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MpCisgICAgV2ViQ3VzdG9tRmlsdGVyUHJv
Z3JhbShTdHJpbmcgdmVydGV4U2hhZGVyU3RyaW5nLCBTdHJpbmcgZnJhZ21lbnRTaGFkZXJTdHJp
bmcsIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MsIFdlYkNvcmU6OkN1
c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQorICAgICAgICA6IFdlYkNvcmU6OkN1c3RvbUZp
bHRlclByb2dyYW0ocHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzLCBtZXNoVHlwZSkKICAgICAgICAg
LCBtX3ZlcnRleFNoYWRlclN0cmluZyh2ZXJ0ZXhTaGFkZXJTdHJpbmcpCiAgICAgICAgICwgbV9m
cmFnbWVudFNoYWRlclN0cmluZyhmcmFnbWVudFNoYWRlclN0cmluZykKICAgICB7Cg==
</data>
<flag name="commit-queue"
          id="184805"
          type_id="3"
          status="-"
          setter="mvujovic"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171046</attachid>
            <date>2012-10-26 16:34:18 -0700</date>
            <delta_ts>2012-10-29 13:53:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98973-7.patch</filename>
            <type>text/plain</type>
            <size>63758</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYmQ0MzIzLi4wYzk2NzYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTItMTAt
MjYgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNoZWNrcyB0byB2
ZXJpZnk6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMgZG8gbm90
IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTspLgorICAgICAgICAo
MikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5vdCBleGVjdXRlIHdp
dGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBOb3RlIHRoYXQgaW4gQ1NTIEN1c3RvbSBG
aWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSBp
biBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hlcywgbm8gdmVydGlj
ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2ZXJ0ZXgKKyAgICAg
ICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
aWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0aWNlcyBjYW4gYmVs
b25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQgY2Fubm90IGlkZW50
aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAgICAgICBDU1MgRmls
dGVycyBTcGVjLCBWZXJ0ZXggQXR0cmlidXRlczoKKyAgICAgICAgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9GWFRGL3Jhdy1maWxlL3RpcC9maWx0ZXJzL2luZGV4Lmh0bWwjdmVydGV4LWF0dHJpYnV0
ZS12YXJpYWJsZXMKKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1s
OgorICAgICAgICAgICAgQWRkIHR3byBjaGVja3MgZm9yIHR3byBuZXcgdmVydGV4IHNoYWRlcnMu
IFVwZGF0ZSB0aGUgYV90cmlhbmdsZUNvb3JkIHR5cGUgY2hlY2sgdG8gdXNlCisgICAgICAgICAg
ICBhIGRldGFjaGVkIG1lc2gsIHNvIHRoZSB2ZXJ0ZXggc2hhZGVyIGZhaWxzIHRvIHZhbGlkYXRl
IGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzCisgICAgICAgICAgICBkZWZpbmVkIHdpdGggYW4g
aW5jb3JyZWN0IHR5cGUsIG5vdCBiZWNhdXNlIGl0IGRlZmluZXMgYV90cmlhbmdsZUNvb3JkIGlu
IGFuIGF0dGFjaGVkCisgICAgICAgICAgICBtZXNoLgorICAgICAgICAqIGNzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52czoK
KyAgICAgICAgICAgIEFkZGVkLiBUaGlzIHZlcnRleCBzaGFkZXIgZGVmaW5lcyBhX3RyaWFuZ2xl
Q29vcmQgd2l0aCB0aGUgY29ycmVjdCB0eXBlLiBIb3dldmVyLCB0aGlzCisgICAgICAgICAgICBz
aGFkZXIgaXMgcnVuIHdpdGggYW4gYW4gYXR0YWNoZWQgbWVzaCwgc28gaXQgc2hvdWxkIG5vdCBl
eGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20t
YXR0cmlidXRlLnZzOgorICAgICAgICAgICAgQWRkZWQuIFRoaXMgdmVydGV4IHNoYWRlciBkZWZp
bmVzIGEgY3VzdG9tIGF0dHJpYnV0ZS4gVGhlIGFzc29jaWF0ZWQgdGVzdCB2ZXJpZmllcworICAg
ICAgICAgICAgdGhhdCBpdCBkb2VzIG5vdCBleGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52czoKKyAgICAgICAgICAgIFJl
bW92ZSBzb21lIGVtcHR5IGxpbmVzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkuCisgICAgICAgICog
Y3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1wb3NpdGlvbi52czogRGl0dG8u
CisgICAgICAgICogY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10ZXgtY29v
cmQudnM6IERpdHRvLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10
eXBlLWEtdHJpYW5nbGUtY29vcmQudnM6CisgICAgICAgICAgICBBZGQgYSBjb21tZW50IHRoYXQg
dGhpcyBzaGFkZXIgc2hvdWxkIGJlIHJ1biB3aXRoIGEgZGV0YWNoZWQgbWVzaC4KKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnM6
CisgICAgICAgICAgICBSZW1vdmUgc29tZSBlbXB0eSBsaW5lcyB0byBpbXByb3ZlIHJlYWRhYmls
aXR5LgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJp
YW5nbGUtY29vcmQudnM6IERpdHRvLgorCiAyMDEyLTEwLTI2ICBGbG9yaW4gTWFsaXRhICA8Zm1h
bGl0YUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ3Jhc2ggb24gbG9hZGluZyBTVkcgZmlsdGVy
IHJlc291cmNlIG9uIEhUTUwgZWxlbWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9t
LWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMtZXhwZWN0ZWQuaHRtbAppbmRleCA2NzkwZmRlLi40ZDAw
NGQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQt
Y3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUt
dHlwZXMtZXhwZWN0ZWQuaHRtbApAQCAtMSwxMCArMSwxMCBAQAogPCFkb2N0eXBlIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgotICAgIDx0aXRsZT5UZXN0cyB0aGF0IGN1c3RvbSBmaWx0ZXJzIGRvIG5v
dCBleGVjdXRlIGlmIHRoZSBhdXRob3IgZGVmaW5lcyBidWlsdC1pbiBhdHRyaWJ1dGVzIHdpdGgg
dGhlIHdyb25nIHR5cGUuPC90aXRsZT4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmls
dGVycyBkbyBub3QgZXhlY3V0ZSBpZiB0aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmli
dXRlcyB3aXRoIHRoZSB3cm9uZyB0eXBlIG9yIGRlZmluZXMgY3VzdG9tIGF0dHJpYnV0ZXMuPC90
aXRsZT4KICAgICA8IS0tIAogICAgICAgICBUaGlzIGlzIHRoZSByZWZlcmVuY2UgZmlsZSBmb3Ig
dGhlIHRlc3QuCi0gICAgICAgIElmIHRoZSB0ZXN0IHBhc3NlcywgeW91IHNob3VsZCBzZWUgNSB2
ZXJ0aWNhbGx5LXN0YWNrZWQgZ3JlZW4gYm94ZXMuCisgICAgICAgIElmIHRoZSB0ZXN0IHBhc3Nl
cywgeW91IHNob3VsZCBzZWUgNyB2ZXJ0aWNhbGx5LXN0YWNrZWQgZ3JlZW4gYm94ZXMuCiAgICAg
LS0+CiAgICAgPHN0eWxlPgogICAgIGRpdiB7CkBAIC0yMSw1ICsyMSw3IEBACiAgICAgPGRpdj48
L2Rpdj4KICAgICA8ZGl2PjwvZGl2PgogICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48L2Rpdj4K
KyAgICA8ZGl2PjwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5
cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9t
LWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMuaHRtbAppbmRleCBhNmFhMDU0Li5kNTY1YmExIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZp
bHRlci1hdHRyaWJ1dGUtdHlwZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
Y3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMuaHRtbApAQCAtMSw4
ICsxLDggQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLSAgICA8dGl0bGU+VGVz
dHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhlY3V0ZSBpZiB0aGUgYXV0aG9yIGRlZmlu
ZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0eXBlLjwvdGl0bGU+Ci0gICAg
PCEtLSBJZiB0aGUgdGVzdCBwYXNzZXMsIHlvdSBzaG91bGQgc2VlIDUgdmVydGljYWxseS1zdGFj
a2VkIGdyZWVuIGJveGVzLiAtLT4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVy
cyBkbyBub3QgZXhlY3V0ZSBpZiB0aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRl
cyB3aXRoIHRoZSB3cm9uZyB0eXBlIG9yIGRlZmluZXMgY3VzdG9tIGF0dHJpYnV0ZXMuPC90aXRs
ZT4KKyAgICA8IS0tIElmIHRoZSB0ZXN0IHBhc3NlcywgeW91IHNob3VsZCBzZWUgNyB2ZXJ0aWNh
bGx5LXN0YWNrZWQgZ3JlZW4gYm94ZXMuIC0tPgogICAgIDxzY3JpcHQ+CiAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkIiwgIjEiKTsKQEAgLTI1
LDYgKzI1LDkgQEAKICAgICAgICAgaGVpZ2h0OiA1MHB4OwogICAgICAgICBtYXJnaW46IDEwcHg7
CiAgICAgfQorICAgIC5pbnZhbGlkLWN1c3RvbS1hdHRyaWJ1dGUgeworICAgICAgICAtd2Via2l0
LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0
ZS52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNl
LWF0b3ApLCBtaXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsKKyAgICB9CiAgICAgLmludmFsaWQt
dHlwZS1hLW1lc2gtY29vcmQgewogICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgn
Li4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQudnMnKSBtaXgodXJsKCcuLi9y
ZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDEu
MCAwLjAgMC4wIDEuMCk7CiAgICAgfQpAQCAtMzUsMTggKzM4LDI4IEBACiAgICAgICAgIC13ZWJr
aXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNv
b3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3Vy
Y2UtYXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAxLjApOwogICAgIH0KICAgICAuaW52YWxp
ZC10eXBlLWEtdHJpYW5nbGUtY29vcmQgewotICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9t
KHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzJykgbWl4
KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1p
eF9jb2xvciAxLjAgMC4wIDAuMCAxLjApOworICAgICAgICAvKiBUaGlzIGN1c3RvbSBmaWx0ZXIg
dXNlcyBhIGRldGFjaGVkIG1lc2ggYmVjYXVzZSBhX3RyaWFuZ2xlQ29vcmQgaXMgb25seSBhdmFp
bGFibGUgd2l0aCBhIGRldGFjaGVkIG1lc2guICovCisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBj
dXN0b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMn
KSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9w
KSwgMSAxIGRldGFjaGVkLCBtaXhfY29sb3IgMS4wIDAuMCAwLjAgMS4wKTsKICAgICB9CiAgICAg
LmludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkgewogICAgICAgICAtd2Via2l0LWZpbHRlcjog
Y3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnMn
KSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9w
KSwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7ICAgICAgICAKICAgICB9CisgICAgLmludmFs
aWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9t
KHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnMnKSBtaXgo
dXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4
X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7ICAgICAgICAKKyAgICB9CisgICAgLmludmFsaWQtYXR0
YWNoZWQtbWVzaC1hLXRyaWFuZ2xlLWNvb3JkIHsKKyAgICAgICAgLyogVGhpcyBjdXN0b20gZmls
dGVyIHVzZXMgYW4gYXR0YWNoZWQgbWVzaCB0byB2ZXJpZnkgdGhhdCBhX3RyaWFuZ2xlQ29vcmQg
aXMgbm90IGEgYXZhaWxhYmxlIHdpdGggYW4gYXR0YWNoZWQgbWVzaC4gKi8KKyAgICAgICAgLXdl
YmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5nbGUt
Y29vcmQtd2l0aC1hdHRhY2hlZC1tZXNoLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1j
b2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAxLjAp
OyAgICAgICAgCisgICAgfQogICAgIDwvc3R5bGU+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+CisgICAgPGRpdiBjbGFzcz0iaW52YWxpZC1jdXN0b20tYXR0cmlidXRlIj48L2Rp
dj4KICAgICA8ZGl2IGNsYXNzPSJpbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkIj48L2Rpdj4KICAg
ICA8ZGl2IGNsYXNzPSJpbnZhbGlkLXR5cGUtYS1wb3NpdGlvbiI+PC9kaXY+CiAgICAgPGRpdiBj
bGFzcz0iaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkIj48L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJp
bnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iaW52
YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJheSI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iaW52YWxp
ZC1hdHRhY2hlZC1tZXNoLWEtdHJpYW5nbGUtY29vcmQiPjwvZGl2PgogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlk
LWEtdHJpYW5nbGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNoLnZzIGIvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5nbGUtY29vcmQtd2l0aC1hdHRhY2hl
ZC1tZXNoLnZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjNThjOGUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFs
aWQtYS10cmlhbmdsZS1jb29yZC13aXRoLWF0dGFjaGVkLW1lc2gudnMKQEAgLTAsMCArMSwxMiBA
QAorLy8gVGhpcyBzaGFkZXIgc2hvdWxkIG5vdCBleGVjdXRlIGlmIHRoZSBtZXNoIGlzIGF0dGFj
aGVkIGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzIG9ubHkgYXZhaWxhYmxlIGluIGRldGFjaGVk
IG1lc2hzZXMuCisKK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgdmVjMyBh
X3RyaWFuZ2xlQ29vcmQ7CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwordW5pZm9ybSBtYXQ0
IHVfcHJvamVjdGlvbk1hdHJpeDsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9
IHVfcHJvamVjdGlvbk1hdHJpeCAqIGFfcG9zaXRpb247Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20tYXR0cmli
dXRlLnZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlYjZiMWUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQt
Y3VzdG9tLWF0dHJpYnV0ZS52cwpAQCAtMCwwICsxLDEyIEBACisvLyBJZiB0aGlzIHNoYWRlcidz
IHJlbGF0ZWQgdGVzdCBwYXNzZXMsIHRoZSBjdXN0b20gZmlsdGVyIGRvZXMgbm90IGV4ZWN1dGUg
YmVjYXVzZSBteV9hdHRyaWJ1dGUgaXMgbm90IG9uZSBvZiB0aGUgYnVpbHQtaW4gYXR0cmlidXRl
cy4KKworcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK2F0dHJpYnV0ZSBmbG9hdCBteV9hdHRy
aWJ1dGU7CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwordW5pZm9ybSBtYXQ0IHVfcHJvamVj
dGlvbk1hdHJpeDsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHVfcHJvamVj
dGlvbk1hdHJpeCAqIGFfcG9zaXRpb247Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQudnMgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQudnMK
aW5kZXggM2FkZTljOC4uMDgyNDk3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1tZXNoLWNvb3JkLnZzCisrKyBiL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52cwpA
QCAtNCw3ICs0LDYgQEAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CiAKIC8vIGFfbWVzaENvb3Jk
IHNob3VsZCBiZSBhIHZlYzIsIG5vdCBhIGZsb2F0LgogYXR0cmlidXRlIGZsb2F0IGFfbWVzaENv
b3JkOwotCiBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwogCiB1bmlmb3JtIG1hdDQgdV9wcm9q
ZWN0aW9uTWF0cml4OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXR5cGUtYS1wb3NpdGlvbi52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtcG9zaXRpb24udnMKaW5kZXggYmRhNDhlOC4uNTE1
NGVhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZh
bGlkLXR5cGUtYS1wb3NpdGlvbi52cworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVz
b3VyY2VzL2ludmFsaWQtdHlwZS1hLXBvc2l0aW9uLnZzCkBAIC00LDcgKzQsNiBAQCBwcmVjaXNp
b24gbWVkaXVtcCBmbG9hdDsKIAogLy8gYV9wb3NpdGlvbiBzaG91bGQgYmUgYSB2ZWM0LCBub3Qg
YSB2ZWMzLgogYXR0cmlidXRlIHZlYzMgYV9wb3NpdGlvbjsKLQogdW5pZm9ybSBtYXQ0IHVfcHJv
amVjdGlvbk1hdHJpeDsKIAogdm9pZCBtYWluKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10ZXgtY29vcmQudnMK
aW5kZXggNzYxMTMzMS4uMjQyOWM3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10ZXgtY29vcmQudnMKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10ZXgtY29vcmQudnMKQEAg
LTQsOSArNCw3IEBAIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwogCiAvLyBhX21lc2hDb29yZCBz
aG91bGQgYmUgYSB2ZWMyLCBub3QgYW4gdmVjNC4KIGF0dHJpYnV0ZSB2ZWM0IGFfdGV4Q29vcmQ7
Ci0KIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Ci0KIHVuaWZvcm0gbWF0NCB1X3Byb2plY3Rp
b25NYXRyaXg7CiAKIHZvaWQgbWFpbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29y
ZC52cwppbmRleCA4NWMzYWI1Li5iZWQ2NjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzCisrKyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5n
bGUtY29vcmQudnMKQEAgLTEsMTIgKzEsMTEgQEAKIC8vIElmIHRoaXMgc2hhZGVyJ3MgcmVsYXRl
ZCB0ZXN0IHBhc3NlcywgdGhlIGN1c3RvbSBmaWx0ZXIgZG9lcyBub3QgZXhlY3V0ZSBiZWNhdXNl
IGFfdHJpYW5nbGVDb29yZCdzIHR5cGUgaXMgaW52YWxpZC4KKy8vIFRoZSBjdXN0b20gZmlsdGVy
IHNob3VsZCBkZWZpbmUgYSBkZXRhY2hlZCBtZXNoIGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlz
IG9ubHkgYXZhaWxhYmxlIHdpdGggYSBkZXRhY2hlZCBtZXNoLgogCiBwcmVjaXNpb24gbWVkaXVt
cCBmbG9hdDsKIAotLy8gYV9tZXNoQ29vcmQgc2hvdWxkIGJlIGEgdmVjMywgbm90IGEgdmVjMi4K
Ky8vIGFfdHJpYW5nbGVDb29yZCBzaG91bGQgYmUgYSB2ZWMzLCBub3QgYSB2ZWMyLgogYXR0cmli
dXRlIHZlYzIgYV90cmlhbmdsZUNvb3JkOwotCiBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwot
CiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9uTWF0cml4OwogCiB2b2lkIG1haW4oKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0
cmlidXRlLWFycmF5LnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZh
bGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzCmluZGV4IDM3YzQyMjEuLjYxM2U3OWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0
dHJpYnV0ZS1hcnJheS52cworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2Vz
L2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnMKQEAgLTQsNyArNCw2IEBAIHByZWNpc2lv
biBtZWRpdW1wIGZsb2F0OwogCiAvLyBhX3Bvc2l0aW9uIHNob3VsZCBiZSBhIHZlYzQsIG5vdCBh
IHZlYzQgYXJyYXkuCiBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uWzFdOwotCiB1bmlmb3JtIG1h
dDQgdV9wcm9qZWN0aW9uTWF0cml4OwogCiB2b2lkIG1haW4oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM4M2Ix
NmEuLjRjNjlmYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTEgQEAKKzIwMTItMTAtMjYgIE1h
eCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hhZGVyc10g
UmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wcm92ZWQgQ1NTIEN1c3RvbSBG
aWx0ZXJzIHNoYWRlciB2YWxpZGF0aW9uLiBXaXRoIHRoaXMgcGF0Y2g6CisgICAgICAgICgxKSBT
aGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMgZG8gbm90IGV4ZWN1dGUgKGUuZy4gYXR0cmli
dXRlIGZsb2F0IG15X2F0dHJpYnV0ZTspLgorICAgICAgICAoMikgU2hhZGVycyB3aXRoIGFfdHJp
YW5nbGVDb29yZCBkZWZpbmVkIGRvIG5vdCBleGVjdXRlIHdpdGggYW4gYXR0YWNoZWQgbWVzaC4K
KworICAgICAgICBNb3N0IG9mIHRoZSBjaGFuZ2VzIGFyZSBmcm9tIHJlbmFtaW5nIEN1c3RvbUZp
bHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgdG8KKyAgICAgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUs
IGFuZCBtb3ZpbmcgdGhlIGVudW1lcmF0aW9uIHRvIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oLiBU
aGlzIGF2b2lkcworICAgICAgICBwdWxsaW5nIGluIEN1c3RvbUZpbHRlck9wZXJhdGlvbiBmb3Ig
Y2xhc3NlcyB0aGF0IG9ubHkgY2FyZSBhYm91dCB0aGUgbWVzaCB0eXBlLgorCisgICAgICAgIE5v
dGUgdGhhdCBpbiBDU1MgQ3VzdG9tIEZpbHRlcnMsIHRoZSBhX3RyaWFuZ2xlQ29vcmQgYXR0cmli
dXRlIGlzIG9ubHkgYXZhaWxhYmxlIGluIGRldGFjaGVkCisgICAgICAgIG1lc2hlcy4gSW4gZGV0
YWNoZWQgbWVzaGVzLCBubyB2ZXJ0aWNlcyBhcmUgc2hhcmVkIGJldHdlZW4gdHJpYW5nbGVzLiBU
aHVzLCBlYWNoIHZlcnRleAorICAgICAgICBiZWxvbmdzIHRvIGEgc3BlY2lmaWMgdHJpYW5nbGUs
IHdoaWNoIGFfdHJpYW5nbGVDb29yZCBpZGVudGlmaWVzLiBJbiBhdHRhY2hlZCBtZXNoZXMsCisg
ICAgICAgIHZlcnRpY2VzIGNhbiBiZWxvbmcgdG8gbWFueSB0cmlhbmdsZXMsIHdoaWNoIGFfdHJp
YW5nbGVDb29yZCBjYW5ub3QgaWRlbnRpZnkgYmVjYXVzZSBpdCdzCisgICAgICAgIG9ubHkgYSB2
ZWMzLgorCisgICAgICAgIFRlc3RzOgorICAgICAgICBBZGQgdHdvIG5ldyBjaGVja3MgdG8gdGhl
IHRlc3QgZmlsZToKKyAgICAgICAgICAgIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1sCisgICAgICAgIEFkZCB0d28gbmV3IHNoYWRl
cnM6CisgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0
dHJpYnV0ZS52cworICAgICAgICAgICAgY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEt
dHJpYW5nbGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNoLnZzCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgICBVcGRhdGUgYSBicm9rZW4g
cmVmZXJlbmNlIHRvIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oIGluIHRoZSBYY29kZSBwcm9qZWN0
IGZpbGUuCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmls
dGVyKToKKyAgICAgICAgICAgIFJlcGxhY2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlw
ZSB3aXRoIEN1c3RvbUZpbHRlck1lc2hUeXBlLgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRl
ck9wZXJhdGlvbik6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyQ29uc3RhbnRzLmg6CisgICAgICAgICAgICBBZGQgQ3VzdG9tRmlsdGVyTWVz
aFR5cGUgZW51bSB0byBzaGFyZSBhY3Jvc3MgdGhlIEN1c3RvbSBGaWx0ZXJzIGNvZGViYXNlLCBz
byB0aGF0IHdlCisgICAgICAgICAgICBkb24ndCBoYXZlIHRvIGluY2x1ZGUgQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uIGp1c3QgdG8gYWNjZXNzIHRoZSBvbGQKKyAgICAgICAgICAgIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6TWVzaFR5cGUgZW51bS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmls
dGVyTWVzaDo6Q3VzdG9tRmlsdGVyTWVzaCk6CisgICAgICAgICAgICBSZXBsYWNlIEN1c3RvbUZp
bHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0b21GaWx0ZXJNZXNoVHlwZS4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2g6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaDo6bWVzaFR5cGUpOiBEaXR0by4KKyAgICAgICAgKEN1
c3RvbUZpbHRlck1lc2gpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3Ip
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OmR1
bXBCdWZmZXJzKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmg6CisgICAgICAgIChDdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJh
dG9yOjpmbG9hdHNQZXJWZXJ0ZXgpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3I6OnZlcnRpY2VzQ291bnQpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5jcHA6IAorICAgICAg
ICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24p
OiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
ck9wZXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpj
cmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6
bWVzaFR5cGUpOiBEaXR0by4KKyAgICAgICAgKEN1c3RvbUZpbHRlck9wZXJhdGlvbik6IERpdHRv
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3Jh
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtOjpDdXN0b21GaWx0
ZXJQcm9ncmFtKToKKyAgICAgICAgICAgIEFkZCBhIG1lc2hUeXBlIGNvbnN0cnVjdG9yIHBhcmFt
ZXRlciBiZWNhdXNlIHRoZSBwcm9ncmFtIG5vdyBuZWVkcyB0byBrbm93IHRoZSBtZXNoVHlwZQor
ICAgICAgICAgICAgdG8gcHJvcGVybHkgdmFsaWRhdGUuCisgICAgICAgIChXZWJDb3JlOjpDdXN0
b21GaWx0ZXJQcm9ncmFtOjpwcm9ncmFtSW5mbyk6CisgICAgICAgICAgICBQYXNzIG1lc2hUeXBl
IHRvIEN1c3RvbUZpbHRlclByb2dyYW0gY29uc3RydWN0b3IuCisgICAgICAgIChXZWJDb3JlOjpD
dXN0b21GaWx0ZXJQcm9ncmFtOjpvcGVyYXRvcj09KToKKyAgICAgICAgICAgIENoZWNrIHRoZSBt
ZXNoVHlwZSBpbiB0aGUgZXF1YWxzIG9wZXJhdG9yLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oOgorICAgICAgICAgICAgTWFrZSB2ZXJ0
ZXhTaGFkZXJTdHJpbmcoKSBhbmQgZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSBwdWJsaWMgc28gdGhh
dCB3ZSBkb24ndCBoYXZlIHRvIGFzaworICAgICAgICAgICAgZm9yIGEgcHJvZ3JhbUluZm8gb2Jq
ZWN0IGp1c3QgdG8gZ2V0IHRoZSBzaGFkZXIgc3RyaW5ncyBpbgorICAgICAgICAgICAgQ29vcmRp
bmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyk6Cisg
ICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuICAgICAgIAor
ICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86Omhhc2gpOgorICAgICAg
ICAgICAgSW5jbHVkZSB0aGUgbWVzaFR5cGUgaW4gdGhlIHZhbGlkYXRlZCBwcm9ncmFtIGhhc2gs
IHNpbmNlIHRoZSBzYW1lIHNoYWRlciBjb2RlIGNhbiBwYXNzCisgICAgICAgICAgICBvciBmYWls
IHZhbGlkYXRpb24gYmFzZWQgb24gdGhlIG1lc2hUeXBlLgorICAgICAgICAoV2ViQ29yZTo6Q3Vz
dG9tRmlsdGVyUHJvZ3JhbUluZm86Om9wZXJhdG9yPT0pOgorICAgICAgICAgICAgQ2hlY2sgdGhl
IG1lc2hUeXBlIGluIHRoZSBlcXVhbHMgb3BlcmF0b3IuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oOgorICAgICAgICAoQ3VzdG9t
RmlsdGVyUHJvZ3JhbUluZm8pOgorICAgICAgICAgICAgVXBkYXRlIG1ldGhvZCBwcm90b3R5cGUu
CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6bWVzaFR5cGUpOgor
ICAgICAgICAgICAgQWRkIG1lc2hUeXBlIGdldHRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6dmFsaWRhdGVTeW1ib2xzKToK
KyAgICAgICAgICAgIElmIHRoZSBhdXRob3IgZGVmaW5lcyBhdHRyaWJ1dGUgdGhhdCBpcyBpcyBu
b3QgZm91bmQgaW4gdGhlIGJ1aWx0LWluIGF0dHJpYnV0ZSBtYXAsCisgICAgICAgICAgICByZWpl
Y3QgdGhlIHNoYWRlci4KKyAgICAgICAgICAgIElmIHRoZSBhdXRob3IgZGVmaW5lcyBhX3RyaWFu
Z2xlQ29vcmQgd2l0aG91dCBhIGRldGFjaGVkIG1lc2ggdHlwZSwgcmVqZWN0IHRoZSBzaGFkZXIu
CisgICAgICAgICAgICBBbHNvLCBtYWtlIHRoaXMgcHJldmlvdXNseSBmaWxlLXN0YXRpYyBmdW5j
dGlvbiBpbnRvIGEgbWV0aG9kIG9mCisgICAgICAgICAgICBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQ
cm9ncmFtIGJlY2F1c2UgaXQgbm93IG5lZWRzIHRvIGFjY2VzcyB0aGUgbV9tZXNoVHlwZS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFBy
b2dyYW0uaDoKKyAgICAgICAgKEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0pOgorICAgICAg
ICAgICAgQWRkIGEgbWVzaFR5cGUgY29uc3RydWN0b3IgcGFyYW1ldGVyIGJlY2F1c2UgdGhlIHBy
b2dyYW0gbm93IG5lZWRzIHRvIGtub3cgdGhlIG1lc2hUeXBlCisgICAgICAgICAgICB0byBwcm9w
ZXJseSB2YWxpZGF0ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3Vz
dG9tRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpGRUN1c3Rv
bUZpbHRlcik6CisgICAgICAgICAgICBSZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVz
aFR5cGUgd2l0aCBDdXN0b21GaWx0ZXJNZXNoVHlwZS4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3Vz
dG9tRmlsdGVyOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmls
dGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZF
Q3VzdG9tRmlsdGVyOjp1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGVzKTogRGl0dG8uCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oOgorICAgICAgICAoRkVD
dXN0b21GaWx0ZXIpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0
b21GaWx0ZXJQcm9ncmFtLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUN1c3RvbUZpbHRlclBy
b2dyYW06OmNyZWF0ZSk6CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBw
YXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZUN1c3RvbUZpbHRlclByb2dyYW06OlN0
eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSk6IERpdHRvLgorCiAyMDEyLTEwLTI2ICBQYXJ0aCBQYXRl
bCAgPHBhcnBhdGVsQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEV4dGVuZGluZyBl
eGlzdGluZyBUaHJlYWRVbnNhZmUgc2luZ2xldG9ucyBpbiB3ZWJraXQgdG8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyMDY5NWQ0
Li45NDI2NzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0zODAyLDExICszODAyLDExIEBACiAJCUExRTExNTQ0MTMwMTVDM0Qw
MDU0QUM4QyAvKiBEaXN0YW50TGlnaHRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFFMTE1NDMxMzAxNUMzRDAwNTRBQzhDIC8qIERpc3Rh
bnRMaWdodFNvdXJjZS5jcHAgKi87IH07CiAJCUExRTExNTQ2MTMwMTVDNEUwMDU0QUM4QyAvKiBQ
b2ludExpZ2h0U291cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExRTExNTQ1MTMwMTVDNEUwMDU0QUM4QyAvKiBQb2ludExpZ2h0U291cmNlLmNw
cCAqLzsgfTsKIAkJQTFFMTE1NDgxMzAxNUM1RDAwNTRBQzhDIC8qIFNwb3RMaWdodFNvdXJjZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUUxMTU0
NzEzMDE1QzVEMDA1NEFDOEMgLyogU3BvdExpZ2h0U291cmNlLmNwcCAqLzsgfTsKLQkJQTI0QTNB
OUQxNjI0OTlGRjAwNTIyNzQ1IC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTI0QTNBOUMxNjI0OTlGRjAwNTIy
NzQ1IC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oICovOyB9OwogCQlBMjRCRjc3QjE1Q0MzQkFG
MDAzMTkxRjIgLyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTI0QkY3NzkxNUNDM0JBRjAwMzE5MUYyIC8q
IFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaCAqLzsgfTsKIAkJQTI0QkY3N0MxNUNDM0JBRjAw
MzE5MUYyIC8qIFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTI0QkY3N0ExNUNDM0JBRjAwMzE5MUYyIC8q
IFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwICovOyB9OwogCQlBMjk1MzJDRjE1REQ1RTE3
MDA0NjlFQkMgLyogQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjk1MzJDRDE1REQ1RTE3MDA0NjlF
QkMgLyogQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAgKi87IH07CiAJCUEyOTUzMkQw
MTVERDVFMTcwMDQ2OUVCQyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMjk1MzJDRTE1REQ1RTE3
MDA0NjlFQkMgLyogQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oICovOyB9OworCQlBMkIy
QUU3QzE2Mzc1RUU1MDBDRkE1MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkIyQUU3QjE2Mzc1RUU1MDBD
RkE1MEIgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi87IH07CiAJCUEzQkI1OUYzMTQ1N0E0
MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNCQjU5RjExNDU3QTQwRDAwQUM1NkZFIC8qIERv
Y3VtZW50RXZlbnRRdWV1ZS5jcHAgKi87IH07CiAJCUEzQkI1OUY0MTQ1N0E0MEQwMEFDNTZGRSAv
KiBEb2N1bWVudEV2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEEzQkI1OUYyMTQ1N0E0MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVl
dWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlB
M0UyNjQzMDE0NzQ4OTkxMDA1QTg1ODggLyogV29ya2VyRXZlbnRRdWV1ZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0UyNjQyRTE0NzQ4OTkxMDA1
QTg1ODggLyogV29ya2VyRXZlbnRRdWV1ZS5jcHAgKi87IH07CkBAIC0xMTA3MSwxMSArMTEwNzEs
MTEgQEAKIAkJQTFFMTE1NDMxMzAxNUMzRDAwNTRBQzhDIC8qIERpc3RhbnRMaWdodFNvdXJjZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEaXN0YW50TGlnaHRTb3Vy
Y2UuY3BwOyBwYXRoID0gZmlsdGVycy9EaXN0YW50TGlnaHRTb3VyY2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBMUUxMTU0NTEzMDE1QzRFMDA1NEFDOEMgLyogUG9pbnRMaWdo
dFNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBQb2ludExp
Z2h0U291cmNlLmNwcDsgcGF0aCA9IGZpbHRlcnMvUG9pbnRMaWdodFNvdXJjZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRTExNTQ3MTMwMTVDNUQwMDU0QUM4QyAvKiBTcG90
TGlnaHRTb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU3Bv
dExpZ2h0U291cmNlLmNwcDsgcGF0aCA9IGZpbHRlcnMvU3BvdExpZ2h0U291cmNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTI0QTNBOUMxNjI0OTlGRjAwNTIyNzQ1IC8qIEN1
c3RvbUZpbHRlckNvbnN0YW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
dXN0b21GaWx0ZXJDb25zdGFudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTI0
QkY3NzkxNUNDM0JBRjAwMzE5MUYyIC8qIFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMjRCRjc3QTE1Q0MzQkFGMDAzMTkxRjIg
LyogV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTI5NTMyQ0QxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA7IHBhdGggPSBmaWx0ZXJzL0N1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMjk1MzJDRTE1REQ1RTE3MDA0NjlFQkMgLyogQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDdXN0b21GaWx0ZXJWYWxpZGF0
ZWRQcm9ncmFtLmg7IHBhdGggPSBmaWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTJCMkFFN0IxNjM3NUVFNTAwQ0ZBNTBC
IC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBDdXN0b21GaWx0ZXJDb25zdGFudHMuaDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmlsdGVy
Q29uc3RhbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzQkI1OUYxMTQ1N0E0
MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRR
dWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudEV2ZW50UXVl
dWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNFMjY0MkUxNDc0ODk5MTAwNUE4
NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gV29ya2VyRXZlbnRRdWV1ZS5jcHA7IHBhdGggPSB3b3JrZXJzL1dvcmtlckV2ZW50
UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgyNDgsNyArMTgyNDgs
NyBAQAogCQkJCTE1QjNGQzE3MTVGQjIxNzgwMEE4MUJDQiAvKiBDdXN0b21GaWx0ZXJBcnJheVBh
cmFtZXRlci5oICovLAogCQkJCTUwRDQwNjBGMTQ3RDQ5REUwMEQzMEJCNSAvKiBDdXN0b21GaWx0
ZXJDb21waWxlZFByb2dyYW0uY3BwICovLAogCQkJCTUwRDQwNjEwMTQ3RDQ5REUwMEQzMEJCNSAv
KiBDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uaCAqLywKLQkJCQlBMjRBM0E5QzE2MjQ5OUZG
MDA1MjI3NDUgLyogQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmggKi8sCisJCQkJQTJCMkFFN0IxNjM3
NUVFNTAwQ0ZBNTBCIC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oICovLAogCQkJCTUwOTg3QzI0
MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmNwcCAqLywKIAkJ
CQk1MDk4N0MyNTE1N0Q2NzZEMDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5o
ICovLAogCQkJCTUwRDQwNUY3MTQ3RDMxRjMwMEQzMEJCNSAvKiBDdXN0b21GaWx0ZXJNZXNoLmNw
cCAqLywKQEAgLTIyNjkxLDcgKzIyNjkxLDcgQEAKIAkJCQk2MkNEMzI1QTExNTdFNTdDMDA2M0Iw
QTcgLyogQ3VzdG9tRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTE1QjNGQzE5MTVGQjIxNzgw
MEE4MUJDQiAvKiBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTBENDA2MTIxNDdENDlERTAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3Jh
bS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTI0QTNBOUQxNjI0OTlGRjAwNTIyNzQ1IC8qIEN1c3Rv
bUZpbHRlckNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTJCMkFFN0MxNjM3NUVFNTAw
Q0ZBNTBCIC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTA5
ODdDMjcxNTdENjc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUwRDQwNUZBMTQ3RDMxRjMwMEQzMEJCNSAvKiBDdXN0b21GaWx0ZXJN
ZXNoLmggaW4gSGVhZGVycyAqLywKIAkJCQk3RTEyRTkwRjE1RkE1RDNBMDA1RTQxMjYgLyogQ3Vz
dG9tRmlsdGVyTWVzaEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDhiYjBjNTUu
LjRkYzczNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC05NDEsNyArOTQxLDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjp2YWx1ZUZvckZpbHRlcihjb25zdCBSZW5kZXJP
YmoKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gRklYTUU6IFRoZSBzcGVjaWZpY2F0aW9u
IGRvZXNuJ3QgaGF2ZSBhbnkgImF0dGFjaGVkIiBpZGVudGlmaWVyLiBTaG91bGQgd2UgYWRkIG9u
ZT8KICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MjcwMAotICAgICAgICAgICAgaWYgKGN1c3RvbU9wZXJhdGlvbi0+bWVzaFR5cGUoKSA9PSBD
dXN0b21GaWx0ZXJPcGVyYXRpb246OkRFVEFDSEVEKQorICAgICAgICAgICAgaWYgKGN1c3RvbU9w
ZXJhdGlvbi0+bWVzaFR5cGUoKSA9PSBNZXNoVHlwZURldGFjaGVkKQogICAgICAgICAgICAgICAg
IG1lc2hQYXJhbWV0ZXJzLT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZh
bHVlKENTU1ZhbHVlRGV0YWNoZWQpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgZmlsdGVy
VmFsdWUtPmFwcGVuZChtZXNoUGFyYW1ldGVycy5yZWxlYXNlKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGI4Y2RlNWQuLmE1ZDZhNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKQEAgLTE1Nyw2ICsxNTcsNyBAQAogCiAjaWYgRU5BQkxFKENTU19T
SEFERVJTKQogI2luY2x1ZGUgIkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmgiCisjaW5jbHVk
ZSAiQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyTnVtYmVy
UGFyYW1ldGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiQ3VzdG9tRmlsdGVyUGFyYW1ldGVyLmgiCkBAIC00ODQ0LDcgKzQ4NDUsNyBAQCBQYXNzUmVm
UHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gU3R5bGVSZXNvbHZlcjo6Y3JlYXRlQ3VzdG9tRmls
dGVyT3BlcmF0aW9uKFdlYgogICAgIHVuc2lnbmVkIG1lc2hSb3dzID0gMTsKICAgICB1bnNpZ25l
ZCBtZXNoQ29sdW1ucyA9IDE7CiAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlw
ZSBtZXNoQm94VHlwZSA9IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6RklMVEVSX0JPWDsKLSAgICBD
dXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlID0gQ3VzdG9tRmlsdGVyT3Bl
cmF0aW9uOjpBVFRBQ0hFRDsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSA9IE1l
c2hUeXBlQXR0YWNoZWQ7CiAgICAgCiAgICAgQ1NTVmFsdWUqIHBhcmFtZXRlcnNWYWx1ZSA9IDA7
CiAgICAgCkBAIC00ODg4LDcgKzQ4ODksNyBAQCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck9wZXJh
dGlvbj4gU3R5bGVSZXNvbHZlcjo6Y3JlYXRlQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFdlYgogICAg
ICAgICBpZiAoaXRlcmF0b3IuaGFzTW9yZSgpICYmIGl0ZXJhdG9yLmlzUHJpbWl0aXZlVmFsdWUo
KSkgewogICAgICAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3Rh
dGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihpdGVyYXRvci52YWx1ZSgpKTsKICAgICAgICAg
ICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+Z2V0SWRlbnQoKSA9PSBDU1NWYWx1ZURldGFjaGVkKSB7
Ci0gICAgICAgICAgICAgICAgbWVzaFR5cGUgPSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkRFVEFD
SEVEOworICAgICAgICAgICAgICAgIG1lc2hUeXBlID0gTWVzaFR5cGVEZXRhY2hlZDsKICAgICAg
ICAgICAgICAgICBpdGVyYXRvci5hZHZhbmNlKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
QEAgLTQ5MDgsNyArNDkwOSw3IEBAIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyT3BlcmF0aW9uPiBT
dHlsZVJlc29sdmVyOjpjcmVhdGVDdXN0b21GaWx0ZXJPcGVyYXRpb24oV2ViCiAgICAgaWYgKHBh
cmFtZXRlcnNWYWx1ZSAmJiAhcGFyc2VDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0KHBhcmFtZXRl
cnNWYWx1ZSwgcGFyYW1ldGVyTGlzdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIAotICAgIFJl
ZlB0cjxTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0+IHByb2dyYW0gPSBTdHlsZUN1c3RvbUZpbHRl
clByb2dyYW06OmNyZWF0ZSh2ZXJ0ZXhTaGFkZXIucmVsZWFzZSgpLCBmcmFnbWVudFNoYWRlci5y
ZWxlYXNlKCksIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncyk7CisgICAgUmVmUHRyPFN0eWxlQ3Vz
dG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6Y3Jl
YXRlKHZlcnRleFNoYWRlci5yZWxlYXNlKCksIGZyYWdtZW50U2hhZGVyLnJlbGVhc2UoKSwgcHJv
Z3JhbVR5cGUsIG1peFNldHRpbmdzLCBtZXNoVHlwZSk7CiAgICAgcmV0dXJuIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6Y3JlYXRlKHByb2dyYW0ucmVsZWFzZSgpLCBwYXJhbWV0ZXJMaXN0LCBtZXNo
Um93cywgbWVzaENvbHVtbnMsIG1lc2hCb3hUeXBlLCBtZXNoVHlwZSk7CiB9CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9t
RmlsdGVyQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oCmluZGV4IDYwODBjMzguLjhjNjU1MTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmls
dGVyQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJDb25zdGFudHMuaApAQCAtNDUsNiArNDUsMTEgQEAgZW51bSBDdXN0
b21GaWx0ZXJNZXNoQ29uc3RhbnRzIHsKICAgICBUcmlhbmdsZUF0dHJpYk9mZnNldCA9IE1lc2hB
dHRyaWJPZmZzZXQgKyBNZXNoQXR0cmliU2l6ZSAqIHNpemVvZihmbG9hdCkKIH07CiAKK2VudW0g
Q3VzdG9tRmlsdGVyTWVzaFR5cGUgeworICAgIE1lc2hUeXBlQXR0YWNoZWQsCisgICAgTWVzaFR5
cGVEZXRhY2hlZAorfTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gQ3Vz
dG9tRmlsdGVyQ29uc3RhbnRzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwCmluZGV4IDAyNzhh
YmEuLmVmZjA3ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmNwcApAQCAtMzcsNyArMzcsNyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDdXN0b21GaWx0ZXJNZXNoOjpDdXN0b21GaWx0ZXJN
ZXNoKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCB1bnNpZ25lZCBjb2x1bW5zLCB1bnNpZ25l
ZCByb3dzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9hdFJl
Y3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUpCisg
ICAgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlw
ZSkKICAgICA6IG1fY29udGV4dChjb250ZXh0KQogICAgICwgbV92ZXJ0aWNlc0J1ZmZlck9iamVj
dCgwKQogICAgICwgbV9lbGVtZW50c0J1ZmZlck9iamVjdCgwKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2gu
aAppbmRleCBlM2M3YTZiLi4yYmIzZDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaApAQCAtNDMs
NyArNDMsNyBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIAogY2xhc3MgQ3VzdG9tRmlsdGVy
TWVzaCA6IHB1YmxpYyBSZWZDb3VudGVkPEN1c3RvbUZpbHRlck1lc2g+IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJNZXNoPiBjcmVhdGUoR3JhcGhpY3NDb250
ZXh0M0QqIGNvbnRleHQsIHVuc2lnbmVkIGNvbHMsIHVuc2lnbmVkIHJvd3MsIGNvbnN0IEZsb2F0
UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZSkK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJNZXNoPiBjcmVhdGUoR3JhcGhpY3ND
b250ZXh0M0QqIGNvbnRleHQsIHVuc2lnbmVkIGNvbHMsIHVuc2lnbmVkIHJvd3MsIGNvbnN0IEZs
b2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgewog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEN1c3RvbUZpbHRlck1lc2goY29udGV4dCwgY29s
cywgcm93cywgbWVzaEJveCwgbWVzaFR5cGUpKTsKICAgICB9CkBAIC01NiwxMCArNTYsMTAgQEAg
cHVibGljOgogICAgIHVuc2lnbmVkIGluZGljZXNDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5k
aWNlc0NvdW50OyB9CiAgICAgCiAgICAgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94KCkgY29uc3Qg
eyByZXR1cm4gbV9tZXNoQm94OyB9Ci0gICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlw
ZSBtZXNoVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaFR5cGU7IH0KKyAgICBDdXN0b21GaWx0
ZXJNZXNoVHlwZSBtZXNoVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaFR5cGU7IH0KIAogcHJp
dmF0ZToKLSAgICBDdXN0b21GaWx0ZXJNZXNoKEdyYXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQg
Y29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0
ZXJPcGVyYXRpb246Ok1lc2hUeXBlKTsKKyAgICBDdXN0b21GaWx0ZXJNZXNoKEdyYXBoaWNzQ29u
dGV4dDNEKiwgdW5zaWduZWQgY29scywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0JiBt
ZXNoQm94LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7CiAgICAgCiAgICAgR3JhcGhpY3NDb250ZXh0
M0QqIG1fY29udGV4dDsKICAgICAKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKICAgICB1bnNp
Z25lZCBtX2luZGljZXNDb3VudDsKICAgICAKICAgICBGbG9hdFJlY3QgbV9tZXNoQm94OwotICAg
IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbV9tZXNoVHlwZTsKKyAgICBDdXN0b21G
aWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5jcHAKaW5kZXggM2Q5ZDRkMS4u
Nzc0NjkxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuY3BwCkBA
IC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBib29sIHNfZHVtcEN1
c3RvbUZpbHRlck1lc2hCdWZmZXJzID0gZmFsc2U7CiAjZW5kaWYKIAotQ3VzdG9tRmlsdGVyTWVz
aEdlbmVyYXRvcjo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcih1bnNpZ25lZCBjb2x1bW5zLCB1
bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9wZXJh
dGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUpCitDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yOjpDdXN0
b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVkIHJvd3MsIGNv
bnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAg
ICAgOiBtX21lc2hUeXBlKG1lc2hUeXBlKQogICAgICwgbV9wb2ludHMoY29sdW1ucyArIDEsIHJv
d3MgKyAxKQogICAgICwgbV90aWxlcyhjb2x1bW5zLCByb3dzKQpAQCAtNjAsNyArNjAsNyBAQCBD
dXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2ln
bmVkIGNvbHVtbnMsIHVuc2lnbmVkCiAgICAgLy8gd2hlbiB0aGVyZSdzIG5vIG5lZWQgdG8gZXhw
bG9kZSB0aGUgdGlsZXMuCiAgICAgLy8gKiBkZXRhY2hlZDogZWFjaCB0cmlhbmdsZSBoYXMgaXRz
IG93biB2ZXJ0aWNlcy4gVGhpcyBtZWFucyBlYWNoIHRyaWFuZ2xlIGNhbiBiZSBtb3ZlZCBpbmRl
cGVuZGVudGx5IGFuZCBhIHZlYzMKICAgICAvLyBhdHRyaWJ1dGUgaXMgcGFzc2VkLCBzbyB0aGF0
IGVhY2ggdmVydGV4IGNhbiBiZSB1bmlxdWVseSBpZGVudGlmaWVkLgotICAgIGlmIChtX21lc2hU
eXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQpCisgICAgaWYgKG1fbWVzaFR5
cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCkKICAgICAgICAgZ2VuZXJhdGVBdHRhY2hlZE1lc2goKTsK
ICAgICBlbHNlCiAgICAgICAgIGdlbmVyYXRlRGV0YWNoZWRNZXNoKCk7CkBAIC0xNTIsOCArMTUy
LDggQEAgdm9pZCBDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yOjphZGREZXRhY2hlZE1lc2hWZXJ0
ZXhBdHRyaWJ1dGVzKGludCBxdWFkWCwgaW50IHEKIHZvaWQgQ3VzdG9tRmlsdGVyTWVzaEdlbmVy
YXRvcjo6ZHVtcEJ1ZmZlcnMoKSBjb25zdAogewogICAgIHByaW50ZigiTWVzaCBidWZmZXJzOiBQ
b2ludHMud2lkdGgoKTogJWQsIFBvaW50cy5oZWlnaHQoKTogJWQgbWVzaEJveDogJWYsICVmLCAl
ZiwgJWYsIHR5cGU6ICVzXG4iLAotICAgICAgICAgICBtX3BvaW50cy53aWR0aCgpLCBtX3BvaW50
cy5oZWlnaHQoKSwgbV9tZXNoQm94LngoKSwgbV9tZXNoQm94LnkoKSwgbV9tZXNoQm94LndpZHRo
KCksIG1fbWVzaEJveC5oZWlnaHQoKSwKLSAgICAgICAgICAgKG1fbWVzaFR5cGUgPT0gQ3VzdG9t
RmlsdGVyT3BlcmF0aW9uOjpBVFRBQ0hFRCkgPyAiQXR0YWNoZWQiIDogIkRldGFjaGVkIik7Cisg
ICAgICAgIG1fcG9pbnRzLndpZHRoKCksIG1fcG9pbnRzLmhlaWdodCgpLCBtX21lc2hCb3gueCgp
LCBtX21lc2hCb3gueSgpLCBtX21lc2hCb3gud2lkdGgoKSwgbV9tZXNoQm94LmhlaWdodCgpLAor
ICAgICAgICAobV9tZXNoVHlwZSA9PSBNZXNoVHlwZUF0dGFjaGVkKSA/ICJBdHRhY2hlZCIgOiAi
RGV0YWNoZWQiKTsKICAgICBwcmludGYoIi0tLVZlcnRleDpcblx0Iik7CiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG1fdmVydGljZXMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgcHJpbnRm
KCIlZiAiLCBtX3ZlcnRpY2VzLmF0KGkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yLmgKaW5kZXggYjNhMTg0Ny4uN2FiYWMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJNZXNoR2VuZXJhdG9yLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIC8vIGFuZCAn
Y29sdW1ucycgbnVtYmVyIG9mIGNvbHVtbnMgd2l0aCBhIHRvdGFsIG9mICdyb3dzICsgMScgKiAn
Y29sdW1ucyArIDEnIHZlcnRpY2VzLgogICAgIC8vIE1lc2hCb3ggaXMgdGhlIGZpbHRlcmVkIGFy
ZWEgY2FsY3VsYXRlZCBkZWZpbmVkIHVzaW5nIHRoZSBib3JkZXItYm94LCBwYWRkaW5nLWJveCwg
Y29udGVudC1ib3ggb3IgZmlsdGVyLWJveAogICAgIC8vIGF0dHJpYnV0ZXMuIEEgdmFsdWUgb2Yg
KDAsIDAsIDEsIDEpIHdpbGwgY292ZXIgdGhlIGVudGlyZSBvdXRwdXQgc3VyZmFjZS4KLSAgICBD
dXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKHVuc2lnbmVkIGNvbHVtbnMsIHVuc2lnbmVkIHJvd3Ms
IGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlw
ZSk7CisgICAgQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcih1bnNpZ25lZCBjb2x1bW5zLCB1bnNp
Z25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck1lc2hUeXBl
KTsKIAogICAgIGNvbnN0IFZlY3RvcjxmbG9hdD4mIHZlcnRpY2VzKCkgY29uc3QgeyByZXR1cm4g
bV92ZXJ0aWNlczsgfQogICAgIGNvbnN0IFZlY3Rvcjx1aW50MTZfdD4mIGluZGljZXMoKSBjb25z
dCB7IHJldHVybiBtX2luZGljZXM7IH0KQEAgLTY2LDEyICs2NiwxMiBAQCBwdWJsaWM6CiAgICAg
ewogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgQXR0YWNoZWRNZXNoVmVydGV4U2l6ZSA9
IFBvc2l0aW9uQXR0cmliU2l6ZSArIFRleEF0dHJpYlNpemUgKyBNZXNoQXR0cmliU2l6ZTsKICAg
ICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIERldGFjaGVkTWVzaFZlcnRleFNpemUgPSBBdHRh
Y2hlZE1lc2hWZXJ0ZXhTaXplICsgVHJpYW5nbGVBdHRyaWJTaXplOwotICAgICAgICByZXR1cm4g
bV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkFUVEFDSEVEID8gQXR0YWNoZWRN
ZXNoVmVydGV4U2l6ZSA6IERldGFjaGVkTWVzaFZlcnRleFNpemU7CisgICAgICAgIHJldHVybiBt
X21lc2hUeXBlID09IE1lc2hUeXBlQXR0YWNoZWQgPyBBdHRhY2hlZE1lc2hWZXJ0ZXhTaXplIDog
RGV0YWNoZWRNZXNoVmVydGV4U2l6ZTsKICAgICB9CiAKICAgICB1bnNpZ25lZCB2ZXJ0aWNlc0Nv
dW50KCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBtX21lc2hUeXBlID09IEN1c3RvbUZp
bHRlck9wZXJhdGlvbjo6QVRUQUNIRUQgPyBwb2ludHNDb3VudCgpIDogaW5kaWNlc0NvdW50KCk7
CisgICAgICAgIHJldHVybiBtX21lc2hUeXBlID09IE1lc2hUeXBlQXR0YWNoZWQgPyBwb2ludHND
b3VudCgpIDogaW5kaWNlc0NvdW50KCk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMTEwLDcgKzEx
MCw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPGZsb2F0PiBtX3ZlcnRpY2VzOwogICAgIFZlY3Rv
cjx1aW50MTZfdD4gbV9pbmRpY2VzOwogCi0gICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNo
VHlwZSBtX21lc2hUeXBlOworICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1fbWVzaFR5cGU7CiAg
ICAgSW50U2l6ZSBtX3BvaW50czsKICAgICBJbnRTaXplIG1fdGlsZXM7CiAgICAgRmxvYXRTaXpl
IG1fdGlsZVNpemVJblBpeGVsczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcApp
bmRleCBlZDU3YjczLi5iNjNlYWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24u
Y3BwCkBAIC05NSw3ICs5NSw3IEBAIHZvaWQgYmxlbmRDdXN0b21GaWx0ZXJQYXJhbWV0ZXJzKGNv
bnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIGZyb21MaXN0LCBjb25zCiAgICAgQVNTRVJU
KGNoZWNrQ3VzdG9tRmlsdGVyUGFyYW1ldGVyc09yZGVyKHJlc3VsdExpc3QpKTsKIH0KIAotQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24oUGFzc1JlZlB0cjxDdXN0
b21GaWx0ZXJQcm9ncmFtPiBwcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0
JiBzb3J0ZWRQYXJhbWV0ZXJzLCB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVt
bnMsIE1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlLCBNZXNoVHlwZSBtZXNoVHlwZSkKK0N1c3RvbUZp
bHRlck9wZXJhdGlvbjo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NSZWZQdHI8Q3VzdG9tRmls
dGVyUHJvZ3JhbT4gcHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYgc29y
dGVkUGFyYW1ldGVycywgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBN
ZXNoQm94VHlwZSBtZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAg
ICAgOiBGaWx0ZXJPcGVyYXRpb24oQ1VTVE9NKQogICAgICwgbV9wcm9ncmFtKHByb2dyYW0pCiAg
ICAgLCBtX3BhcmFtZXRlcnMoc29ydGVkUGFyYW1ldGVycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9w
ZXJhdGlvbi5oCmluZGV4IDBkNjRkMjMuLmM3ZDY1ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJP
cGVyYXRpb24uaApAQCAtMzEsNiArMzEsNyBAQAogI2RlZmluZSBDdXN0b21GaWx0ZXJPcGVyYXRp
b25faAogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQorI2luY2x1ZGUgIkN1c3RvbUZpbHRlckNv
bnN0YW50cy5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclByb2dyYW0uaCIKICNpbmNsdWRlICJG
aWx0ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgpAQCAtNTYsMTMgKzU3
LDggQEAgcHVibGljOgogICAgICAgICBQQURESU5HX0JPWCwKICAgICAgICAgQ09OVEVOVF9CT1gK
ICAgICB9OwotICAgIAotICAgIGVudW0gTWVzaFR5cGUgewotICAgICAgICBBVFRBQ0hFRCwKLSAg
ICAgICAgREVUQUNIRUQKLSAgICB9OwotICAgIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3Rv
bUZpbHRlck9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4g
cHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYgc29ydGVkUGFyYW1ldGVy
cywgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSBt
ZXNoQm94VHlwZSwgTWVzaFR5cGUgbWVzaFR5cGUpCisgICAgICAgIAorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8Q3VzdG9tRmls
dGVyUHJvZ3JhbT4gcHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYgc29y
dGVkUGFyYW1ldGVycywgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBN
ZXNoQm94VHlwZSBtZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAg
ICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEN1c3RvbUZpbHRlck9wZXJhdGlvbihw
cm9ncmFtLCBzb3J0ZWRQYXJhbWV0ZXJzLCBtZXNoUm93cywgbWVzaENvbHVtbnMsIG1lc2hCb3hU
eXBlLCBtZXNoVHlwZSkpOwogICAgIH0KQEAgLTc1LDcgKzcxLDcgQEAgcHVibGljOgogICAgIHVu
c2lnbmVkIG1lc2hDb2x1bW5zKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoQ29sdW1uczsgfQogICAg
IAogICAgIE1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoQm94
VHlwZTsgfQotICAgIE1lc2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlw
ZTsgfQorICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1cm4g
bV9tZXNoVHlwZTsgfQogICAgIAogICAgIHZpcnR1YWwgfkN1c3RvbUZpbHRlck9wZXJhdGlvbigp
OwogICAgIApAQCAtOTksNyArOTUsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgJiYgY3Vz
dG9tRmlsdGVyUGFyYW1ldGVyc0VxdWFsKG1fcGFyYW1ldGVycywgb3RoZXItPm1fcGFyYW1ldGVy
cyk7CiAgICAgfQogICAgIAotICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1
c3RvbUZpbHRlclByb2dyYW0+LCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiwgdW5z
aWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSwgTWVzaFR5
cGUpOworICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclBy
b2dyYW0+LCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiwgdW5zaWduZWQgbWVzaFJv
d3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5
cGUpOwogCiAgICAgUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+IG1fcHJvZ3JhbTsKICAgICBD
dXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0IG1fcGFyYW1ldGVyczsKQEAgLTEwNyw3ICsxMDMsNyBA
QCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fbWVzaFJvd3M7CiAgICAgdW5zaWduZWQgbV9tZXNo
Q29sdW1uczsKICAgICBNZXNoQm94VHlwZSBtX21lc2hCb3hUeXBlOwotICAgIE1lc2hUeXBlIG1f
bWVzaFR5cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwCmluZGV4
IDhmZDg4ZWEuLjJhOGZjZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcApAQCAt
MzgsOSArMzgsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1DdXN0b21GaWx0ZXJQcm9n
cmFtOjpDdXN0b21GaWx0ZXJQcm9ncmFtKEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1U
eXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzKQor
Q3VzdG9tRmlsdGVyUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbShDdXN0b21GaWx0ZXJQcm9n
cmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdz
JiBtaXhTZXR0aW5ncywgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgOiBtX3By
b2dyYW1UeXBlKHByb2dyYW1UeXBlKQogICAgICwgbV9taXhTZXR0aW5ncyhtaXhTZXR0aW5ncykK
KyAgICAsIG1fbWVzaFR5cGUobWVzaFR5cGUpCiB7CiAgICAgLy8gS2VlcCB0aGUgY29uc3RydWN0
b3IgcHJvdGVjdGVkIHRvIHByZXZlbnQgY3JlYXRpbmcgdGhpcyBvYmplY3QgZGlyZWN0bHkuCiB9
CkBAIC04MiwxMiArODMsMTQgQEAgdm9pZCBDdXN0b21GaWx0ZXJQcm9ncmFtOjpub3RpZnlDbGll
bnRzKCkKIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvIEN1c3RvbUZpbHRlclByb2dyYW06OnByb2dy
YW1JbmZvKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNMb2FkZWQoKSk7Ci0gICAgcmV0dXJuIEN1
c3RvbUZpbHRlclByb2dyYW1JbmZvKHZlcnRleFNoYWRlclN0cmluZygpLCBmcmFnbWVudFNoYWRl
clN0cmluZygpLCBtX3Byb2dyYW1UeXBlLCBtX21peFNldHRpbmdzKTsKKyAgICByZXR1cm4gQ3Vz
dG9tRmlsdGVyUHJvZ3JhbUluZm8odmVydGV4U2hhZGVyU3RyaW5nKCksIGZyYWdtZW50U2hhZGVy
U3RyaW5nKCksIG1fcHJvZ3JhbVR5cGUsIG1fbWl4U2V0dGluZ3MsIG1fbWVzaFR5cGUpOwogfQog
CiBib29sIEN1c3RvbUZpbHRlclByb2dyYW06Om9wZXJhdG9yPT0oY29uc3QgQ3VzdG9tRmlsdGVy
UHJvZ3JhbSYgbykgY29uc3QKIHsKLSAgICByZXR1cm4gbV9wcm9ncmFtVHlwZSA9PSBvLm1fcHJv
Z3JhbVR5cGUgJiYgKG1fcHJvZ3JhbVR5cGUgIT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5U
X1RFWFRVUkUgfHwgbV9taXhTZXR0aW5ncyA9PSBvLm1fbWl4U2V0dGluZ3MpOworICAgIHJldHVy
biBtX3Byb2dyYW1UeXBlID09IG8ubV9wcm9ncmFtVHlwZQorICAgICAgICAmJiAobV9wcm9ncmFt
VHlwZSAhPSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVYVFVSRSB8fCBtX21peFNldHRp
bmdzID09IG8ubV9taXhTZXR0aW5ncykKKyAgICAgICAgJiYgbV9tZXNoVHlwZSA9PSBvLm1fbWVz
aFR5cGU7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9n
cmFtLmgKaW5kZXggNDQ1ZmI0OC4uYjc1NWJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFt
LmgKQEAgLTUxLDM4ICs1MSwzNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+Q3VzdG9tRmlsdGVy
UHJvZ3JhbSgpOwogCiAgICAgdmlydHVhbCBib29sIGlzTG9hZGVkKCkgY29uc3QgPSAwOwotICAg
IAotICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncygpIGNvbnN0
IHsgcmV0dXJuIG1fbWl4U2V0dGluZ3M7IH0KIAogICAgIHZvaWQgYWRkQ2xpZW50KEN1c3RvbUZp
bHRlclByb2dyYW1DbGllbnQqKTsKICAgICB2b2lkIHJlbW92ZUNsaWVudChDdXN0b21GaWx0ZXJQ
cm9ncmFtQ2xpZW50Kik7CiAgICAgCiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8gcHJvZ3Jh
bUluZm8oKSBjb25zdDsKKworICAgIHZpcnR1YWwgU3RyaW5nIHZlcnRleFNoYWRlclN0cmluZygp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFN0cmluZyBmcmFnbWVudFNoYWRlclN0cmluZygpIGNv
bnN0ID0gMDsKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvZ3JhbVR5cGU7IH0KKyAgICBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0
dGluZ3MgbWl4U2V0dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX21peFNldHRpbmdzOyB9CisgICAg
Q3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBl
OyB9CiAKLSAgICAvLyBTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0gaGFzIHRoZSBvbmx5IGltcGxl
bWVudGF0aW9uIGZvciB0aGUgZm9sbG93aW5nIG1ldGhvZC4gVGhhdCBtZWFucywgaXQgY2FzdHMg
dG8gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtCi0gICAgLy8gd2l0aG91dGggY2hlY2tpbmcgdGhl
IHR5cGUuIElmIHlvdSBhZGQgYW5vdGhlciBpbXBsZW1lbnRhdGlvbiwgYWxzbyBhZGQgYSBtZWNo
YW5pc20gdG8gY2hlY2sgZm9yIHRoZSBjb3JyZWN0IHR5cGUuCiAgICAgdmlydHVhbCBib29sIG9w
ZXJhdG9yPT0oY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbSYpIGNvbnN0OwogICAgIGJvb2wgb3Bl
cmF0b3IhPShjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtJiBvKSBjb25zdCB7IHJldHVybiAhKCp0
aGlzID09IG8pOyB9CiBwcm90ZWN0ZWQ6CiAgICAgLy8gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFt
IGNhbiBub3RpZnkgdGhlIGNsaWVudHMgdGhhdCB0aGUgY2FjaGVkIHJlc291cmNlcyBhcmUKICAg
ICAvLyBsb2FkZWQgYW5kIGl0IGlzIHJlYWR5IHRvIGNyZWF0ZSBDdXN0b21GaWx0ZXJDb21waWxl
ZFByb2dyYW0gb2JqZWN0cy4KICAgICB2b2lkIG5vdGlmeUNsaWVudHMoKTsKLSAgICAKLSAgICB2
aXJ0dWFsIFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVh
bCBTdHJpbmcgZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSBjb25zdCA9IDA7Ci0gICAgCisKICAgICB2
aXJ0dWFsIHZvaWQgd2lsbEhhdmVDbGllbnRzKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZW1vdmVMYXN0Q2xpZW50KCkgPSAwOwogCiAgICAgLy8gS2VlcCB0aGUgY29uc3RydWN0b3IgcHJv
dGVjdGVkIHRvIHByZXZlbnQgY3JlYXRpbmcgdGhpcyBvYmplY3QgZGlyZWN0bHkuCi0gICAgQ3Vz
dG9tRmlsdGVyUHJvZ3JhbShDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmls
dGVyUHJvZ3JhbU1peFNldHRpbmdzJik7CisgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbShDdXN0b21G
aWx0ZXJQcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiwg
Q3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogCiBwcml2YXRlOgogICAgIHR5cGVkZWYgSGFzaENvdW50
ZWRTZXQ8Q3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudCo+IEN1c3RvbUZpbHRlclByb2dyYW1DbGll
bnRMaXN0OwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1DbGllbnRMaXN0IG1fY2xpZW50czsKICAg
ICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBtX3Byb2dyYW1UeXBlOwogICAgIEN1c3RvbUZpbHRl
clByb2dyYW1NaXhTZXR0aW5ncyBtX21peFNldHRpbmdzOworICAgIEN1c3RvbUZpbHRlck1lc2hU
eXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUlu
Zm8uY3BwCmluZGV4IDdmNGFmM2UuLjJhYjI3YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbUluZm8uY3BwCkBAIC02NCwxMSArNjQsMTIgQEAgYm9vbCBDdXN0b21GaWx0ZXJQcm9n
cmFtSW5mbzo6aXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdAogICAgICAgICAmJiBtX2Zy
YWdtZW50U2hhZGVyU3RyaW5nLmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCk7CiB9CiAKLUN1c3Rv
bUZpbHRlclByb2dyYW1JbmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25zdCBTdHJpbmcm
IHZlcnRleFNoYWRlciwgY29uc3QgU3RyaW5nJiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVy
UHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0
aW5ncyYgbWl4U2V0dGluZ3MpCitDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6Q3VzdG9tRmlsdGVy
UHJvZ3JhbUluZm8oY29uc3QgU3RyaW5nJiB2ZXJ0ZXhTaGFkZXIsIGNvbnN0IFN0cmluZyYgZnJh
Z21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBD
dXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzLCBDdXN0b21GaWx0ZXJN
ZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6IG1fdmVydGV4U2hhZGVyU3RyaW5nKHZlcnRleFNoYWRl
cikKICAgICAsIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcoZnJhZ21lbnRTaGFkZXIpCiAgICAgLCBt
X3Byb2dyYW1UeXBlKHByb2dyYW1UeXBlKQogICAgICwgbV9taXhTZXR0aW5ncyhtaXhTZXR0aW5n
cykKKyAgICAsIG1fbWVzaFR5cGUobWVzaFR5cGUpCiB7CiAgICAgLy8gQXQgbGVhc3Qgb25lIG9m
IHRoZSBzaGFkZXJzIG5lZWRzIHRvIGJlIG5vbi1udWxsLgogICAgIEFTU0VSVCghbV92ZXJ0ZXhT
aGFkZXJTdHJpbmcuaXNOdWxsKCkgfHwgIW1fZnJhZ21lbnRTaGFkZXJTdHJpbmcuaXNOdWxsKCkp
OwpAQCAtNzgsMTQgKzc5LDEzIEBAIHVuc2lnbmVkIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvOjpo
YXNoKCkgY29uc3QKIHsKICAgICAvLyBBdCBsZWFzdCBvbmUgb2YgdGhlIHNoYWRlcnMgbmVlZHMg
dG8gYmUgbm9uLW51bGwuCiAgICAgQVNTRVJUKCFtX3ZlcnRleFNoYWRlclN0cmluZy5pc051bGwo
KSB8fCAhbV9mcmFnbWVudFNoYWRlclN0cmluZy5pc051bGwoKSk7Ci0KLSAgICBib29sIGJsZW5k
c0VsZW1lbnRUZXh0dXJlID0gKG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19F
TEVNRU5UX1RFWFRVUkUpOwotICAgIHVpbnRwdHJfdCBoYXNoQ29kZXNbNV0gPSB7CisgICAgdWlu
dHB0cl90IGhhc2hDb2Rlc1s2XSA9IHsKICAgICAgICAgaGFzaFBvc3NpYmx5TnVsbFN0cmluZyht
X3ZlcnRleFNoYWRlclN0cmluZyksCiAgICAgICAgIGhhc2hQb3NzaWJseU51bGxTdHJpbmcobV9m
cmFnbWVudFNoYWRlclN0cmluZyksCi0gICAgICAgIGJsZW5kc0VsZW1lbnRUZXh0dXJlLAotICAg
ICAgICBibGVuZHNFbGVtZW50VGV4dHVyZSA/IG1fbWl4U2V0dGluZ3MuYmxlbmRNb2RlIDogMCwK
LSAgICAgICAgYmxlbmRzRWxlbWVudFRleHR1cmUgPyBtX21peFNldHRpbmdzLmNvbXBvc2l0ZU9w
ZXJhdG9yIDogMAorICAgICAgICBtX3Byb2dyYW1UeXBlID09IFBST0dSQU1fVFlQRV9CTEVORFNf
RUxFTUVOVF9URVhUVVJFLAorICAgICAgICBtX3Byb2dyYW1UeXBlID09IFBST0dSQU1fVFlQRV9C
TEVORFNfRUxFTUVOVF9URVhUVVJFID8gbV9taXhTZXR0aW5ncy5ibGVuZE1vZGUgOiAwLAorICAg
ICAgICBtX3Byb2dyYW1UeXBlID09IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVOVF9URVhUVVJF
ID8gbV9taXhTZXR0aW5ncy5jb21wb3NpdGVPcGVyYXRvciA6IDAsCisgICAgICAgIG1fbWVzaFR5
cGUKICAgICB9OwogICAgIHJldHVybiBTdHJpbmdIYXNoZXI6Omhhc2hNZW1vcnk8c2l6ZW9mKGhh
c2hDb2Rlcyk+KCZoYXNoQ29kZXMpOwogfQpAQCAtOTcsNiArOTcsNyBAQCBib29sIEN1c3RvbUZp
bHRlclByb2dyYW1JbmZvOjpvcGVyYXRvcj09KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1JbmZv
JiBvKSBjb25zdAogCiAgICAgcmV0dXJuIG1fcHJvZ3JhbVR5cGUgPT0gby5tX3Byb2dyYW1UeXBl
CiAgICAgICAgICYmIChtX3Byb2dyYW1UeXBlICE9IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVO
VF9URVhUVVJFIHx8IG1fbWl4U2V0dGluZ3MgPT0gby5tX21peFNldHRpbmdzKQorICAgICAgICAm
JiBtX21lc2hUeXBlID09IG8ubV9tZXNoVHlwZQogICAgICAgICAmJiBtX3ZlcnRleFNoYWRlclN0
cmluZyA9PSBvLm1fdmVydGV4U2hhZGVyU3RyaW5nCiAgICAgICAgICYmIG1fZnJhZ21lbnRTaGFk
ZXJTdHJpbmcgPT0gby5tX2ZyYWdtZW50U2hhZGVyU3RyaW5nOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFt
SW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJQcm9ncmFtSW5mby5oCmluZGV4IDNiNTQ0YzUuLjI1ZTdkYWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3Jh
bUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlclByb2dyYW1JbmZvLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNkZWZpbmUgQ3VzdG9t
RmlsdGVyUHJvZ3JhbUluZm9faAogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQorI2luY2x1ZGUg
IkN1c3RvbUZpbHRlckNvbnN0YW50cy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMuaCIKIAog
I2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CkBAIC02NCw3ICs2NSw3IEBAIHN0cnVjdCBDdXN0
b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgewogLy8gTnVsbCBzdHJpbmdzIGFyZSBwbGFjZWhv
bGRlcnMgZm9yIHRoZSBkZWZhdWx0IHNoYWRlci4KIGNsYXNzIEN1c3RvbUZpbHRlclByb2dyYW1J
bmZvIHsKIHB1YmxpYzoKLSAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyhjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmls
dGVyUHJvZ3JhbU1peFNldHRpbmdzJik7CisgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8oY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUsIGNvbnN0
IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsK
IAogICAgIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvKCk7CiAgICAgYm9vbCBpc0VtcHR5VmFsdWUo
KSBjb25zdDsKQEAgLTc5LDExICs4MCwxMyBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBm
cmFnbWVudFNoYWRlclN0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fZnJhZ21lbnRTaGFkZXJTdHJp
bmc7IH0KICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcHJvZ3JhbVR5cGU7IH0KICAgICBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4
U2V0dGluZ3MmIG1peFNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9taXhTZXR0aW5nczsgfQor
ICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNo
VHlwZTsgfQogcHJpdmF0ZToKICAgICBTdHJpbmcgbV92ZXJ0ZXhTaGFkZXJTdHJpbmc7CiAgICAg
U3RyaW5nIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmc7CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5
cGUgbV9wcm9ncmFtVHlwZTsKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbV9t
aXhTZXR0aW5nczsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBlOwogfTsKIAog
c3RydWN0IEN1c3RvbUZpbHRlclByb2dyYW1JbmZvSGFzaCB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFBy
b2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcAppbmRleCBkNTQyMTU3Li40MGY0ODg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgiCiAKICNp
bmNsdWRlICJBTkdMRVdlYktpdEJyaWRnZS5oIgorI2luY2x1ZGUgIkN1c3RvbUZpbHRlckNvbnN0
YW50cy5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCIKICNpbmNsdWRl
ICJDdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgi
CkBAIC02Miw3ICs2Myw3IEBAIHN0YXRpYyBTeW1ib2xOYW1lVG9UeXBlTWFwKiBidWlsdEluQXR0
cmlidXRlTmFtZVRvVHlwZU1hcCgpCiAgICAgcmV0dXJuIG5hbWVUb1R5cGVNYXA7CiB9CiAKLXN0
YXRpYyBib29sIHZhbGlkYXRlU3ltYm9scyhjb25zdCBWZWN0b3I8QU5HTEVTaGFkZXJTeW1ib2w+
JiBzeW1ib2xzKQorc3RhdGljIGJvb2wgdmFsaWRhdGVTeW1ib2xzKGNvbnN0IFZlY3RvcjxBTkdM
RVNoYWRlclN5bWJvbD4mIHN5bWJvbHMsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQog
ewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3ltYm9scy5zaXplKCk7ICsraSkgewogICAg
ICAgICBjb25zdCBBTkdMRVNoYWRlclN5bWJvbCYgc3ltYm9sID0gc3ltYm9sc1tpXTsKQEAgLTcw
LDEzICs3MSwyNCBAQCBzdGF0aWMgYm9vbCB2YWxpZGF0ZVN5bWJvbHMoY29uc3QgVmVjdG9yPEFO
R0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scykKICAgICAgICAgY2FzZSBTSEFERVJfU1lNQk9MX1RZ
UEVfQVRUUklCVVRFOiB7CiAgICAgICAgICAgICBTeW1ib2xOYW1lVG9UeXBlTWFwKiBhdHRyaWJ1
dGVOYW1lVG9UeXBlTWFwID0gYnVpbHRJbkF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAoKTsKICAgICAg
ICAgICAgIFN5bWJvbE5hbWVUb1R5cGVNYXA6Oml0ZXJhdG9yIGJ1aWx0SW5BdHRyaWJ1dGUgPSBh
dHRyaWJ1dGVOYW1lVG9UeXBlTWFwLT5maW5kKHN5bWJvbC5uYW1lKTsKLSAgICAgICAgICAgIGlm
IChidWlsdEluQXR0cmlidXRlICE9IGF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAtPmVuZCgpICYmIHN5
bWJvbC5kYXRhVHlwZSAhPSBidWlsdEluQXR0cmlidXRlLT52YWx1ZSkgeworICAgICAgICAgICAg
aWYgKGJ1aWx0SW5BdHRyaWJ1dGUgPT0gYXR0cmlidXRlTmFtZVRvVHlwZU1hcC0+ZW5kKCkpIHsK
KyAgICAgICAgICAgICAgICAvLyBUaGUgYXV0aG9yIGRlZmluZWQgYSBjdXN0b20gYXR0cmlidXRl
LgorICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSZXBvcnQgdGhlIHZhbGlkYXRpb24gZXJyb3Iu
CisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc0NDE2CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgaWYgKG1lc2hUeXBlID09IE1lc2hUeXBlQXR0YWNoZWQgJiYgc3ltYm9sLm5h
bWUgPT0gImFfdHJpYW5nbGVDb29yZCIpIHsKKyAgICAgICAgICAgICAgICAvLyBhX3RyaWFuZ2xl
Q29vcmQgaXMgb25seSBhdmFpbGFibGUgZm9yIGRldGFjaGVkIG1lc2hlcy4KKyAgICAgICAgICAg
ICAgICAvLyBGSVhNRTogUmVwb3J0IHRoZSB2YWxpZGF0aW9uIGVycm9yLgorICAgICAgICAgICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgorICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlm
IChzeW1ib2wuZGF0YVR5cGUgIT0gYnVpbHRJbkF0dHJpYnV0ZS0+dmFsdWUpIHsKICAgICAgICAg
ICAgICAgICAvLyBUaGUgYXV0aG9yIGRlZmluZWQgb25lIG9mIHRoZSBidWlsdC1pbiBhdHRyaWJ1
dGVzIHdpdGggdGhlIHdyb25nIHR5cGUuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFJlcG9y
dCB0aGUgdmFsaWRhdGlvbiBlcnJvci4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTYKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC8vIEZJWE1FOiBSZXR1cm4gZmFs
c2Ugd2hlbiB0aGUgYXR0cmlidXRlIGlzIG5vdCBvbmUgb2YgdGhlIGJ1aWx0LWluIGF0dHJpYnV0
ZXMuCi0gICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTg5NzMKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgU0hB
REVSX1NZTUJPTF9UWVBFX1VOSUZPUk06CkBAIC0xNTMsNyArMTY1LDcgQEAgQ3VzdG9tRmlsdGVy
VmFsaWRhdGVkUHJvZ3JhbTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbShDdXN0b21GaWx0
ZXJHbG9iYWxDb24KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmICghdmFsaWRhdGVT
eW1ib2xzKHN5bWJvbHMpKSB7CisgICAgaWYgKCF2YWxpZGF0ZVN5bWJvbHMoc3ltYm9scywgbV9w
cm9ncmFtSW5mby5tZXNoVHlwZSgpKSkgewogICAgICAgICAvLyBGSVhNRTogUmVwb3J0IHZhbGlk
YXRpb24gZXJyb3JzLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzQ0MTYKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFt
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uaAppbmRleCAzMjJjNjMwLi4xNzQ2MWU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlk
YXRlZFByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaApAQCAtNDksNyArNDksNiBAQCB0eXBl
ZGVmIFdlYkNvcmU6OkxheWVyQ29tcGlsZWRQcm9ncmFtIFBsYXRmb3JtQ29tcGlsZWRQcm9ncmFt
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFOR0xFV2ViS2l0QnJpZGdlOwogY2xh
c3MgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOwogY2xhc3MgQ3VzdG9tRmlsdGVyR2xvYmFs
Q29udGV4dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAppbmRleCA3MDdlZGI4Li40MDdlY2Y0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3Vz
dG9tRmlsdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcApAQCAtODIsOCArODIsNyBAQCBzdGF0aWMgdm9pZCBvcnRo
b2dvbmFsUHJvamVjdGlvbk1hdHJpeChUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4LCBmbG9h
dCBsZWZ0LAogfQogCiBGRUN1c3RvbUZpbHRlcjo6RkVDdXN0b21GaWx0ZXIoRmlsdGVyKiBmaWx0
ZXIsIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQqIGN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQs
IFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbT4gdmFsaWRhdGVkUHJvZ3Jh
bSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYgcGFyYW1ldGVycywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENv
bHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlw
ZSkKKyAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZp
bHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBl
KQogICAgIDogRmlsdGVyRWZmZWN0KGZpbHRlcikKICAgICAsIG1fZ2xvYmFsQ29udGV4dChjdXN0
b21GaWx0ZXJHbG9iYWxDb250ZXh0KQogICAgICwgbV92YWxpZGF0ZWRQcm9ncmFtKHZhbGlkYXRl
ZFByb2dyYW0pCkBAIC0xMDYsOCArMTA1LDcgQEAgRkVDdXN0b21GaWx0ZXI6OkZFQ3VzdG9tRmls
dGVyKEZpbHRlciogZmlsdGVyLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0KiBjdXN0b20KIH0K
IAogUGFzc1JlZlB0cjxGRUN1c3RvbUZpbHRlcj4gRkVDdXN0b21GaWx0ZXI6OmNyZWF0ZShGaWx0
ZXIqIGZpbHRlciwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCogY3VzdG9tRmlsdGVyR2xvYmFs
Q29udGV4dCwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtPiB2YWxpZGF0
ZWRQcm9ncmFtLCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiBwYXJhbWV0ZXJzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1lc2hS
b3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94
VHlwZSBtZXNoQm94VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorICAgIHVuc2ln
bmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9u
OjpNZXNoQm94VHlwZSBtZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUp
CiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGRUN1c3RvbUZpbHRlcihmaWx0ZXIsIGN1c3Rv
bUZpbHRlckdsb2JhbENvbnRleHQsIHZhbGlkYXRlZFByb2dyYW0sIHBhcmFtZXRlcnMsIG1lc2hS
b3dzLCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUsIG1lc2hUeXBlKSk7CiB9CkBAIC01NzcsNyAr
NTc1LDcgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1BbmRCdWZmZXJzKFBsYXRm
b3JtM0RPYmplY3QgaW5wdXRUZXh0dXJlKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NDM1OAogICAgIGJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxl
ZFByb2dyYW0tPmludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbigpLCBUZXhBdHRyaWJTaXpl
LCBUZXhBdHRyaWJPZmZzZXQpOwogICAgIGJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFBy
b2dyYW0tPm1lc2hBdHRyaWJMb2NhdGlvbigpLCBNZXNoQXR0cmliU2l6ZSwgTWVzaEF0dHJpYk9m
ZnNldCk7Ci0gICAgaWYgKG1fbWVzaFR5cGUgPT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpERVRB
Q0hFRCkKKyAgICBpZiAobV9tZXNoVHlwZSA9PSBNZXNoVHlwZURldGFjaGVkKQogICAgICAgICBi
aW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT50cmlhbmdsZUF0dHJpYkxvY2F0
aW9uKCksIFRyaWFuZ2xlQXR0cmliU2l6ZSwgVHJpYW5nbGVBdHRyaWJPZmZzZXQpOwogICAgIAog
ICAgIGJpbmRQcm9ncmFtUGFyYW1ldGVycygpOwpAQCAtNTg5LDcgKzU4Nyw3IEBAIHZvaWQgRkVD
dXN0b21GaWx0ZXI6OnVuYmluZFZlcnRleEF0dHJpYnV0ZXMoKQogICAgIHVuYmluZFZlcnRleEF0
dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+dGV4QXR0cmliTG9jYXRpb24oKSk7CiAgICAgdW5i
aW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT5pbnRlcm5hbFRleENvb3JkQXR0
cmliTG9jYXRpb24oKSk7CiAgICAgdW5iaW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9n
cmFtLT5tZXNoQXR0cmliTG9jYXRpb24oKSk7Ci0gICAgaWYgKG1fbWVzaFR5cGUgPT0gQ3VzdG9t
RmlsdGVyT3BlcmF0aW9uOjpERVRBQ0hFRCkKKyAgICBpZiAobV9tZXNoVHlwZSA9PSBNZXNoVHlw
ZURldGFjaGVkKQogICAgICAgICB1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dy
YW0tPnRyaWFuZ2xlQXR0cmliTG9jYXRpb24oKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaAppbmRl
eCAwOWRhNWYxLi41NmI3NGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oCkBAIC01OSw4ICs1OSw3IEBA
IGNsYXNzIEludFNpemU7CiBjbGFzcyBGRUN1c3RvbUZpbHRlciA6IHB1YmxpYyBGaWx0ZXJFZmZl
Y3QgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZFQ3VzdG9tRmlsdGVyPiBjcmVh
dGUoRmlsdGVyKiwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCosIFBhc3NSZWZQdHI8Q3VzdG9t
RmlsdGVyVmFsaWRhdGVkUHJvZ3JhbT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3Qm
LAotICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29s
dW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSwgCi0gICAgICAgICAgICAg
ICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSk7CisgICAgICAgIHVuc2lnbmVk
IG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpN
ZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogCiAgICAgdmlydHVhbCB2b2lkIHBs
YXRmb3JtQXBwbHlTb2Z0d2FyZSgpOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7CkBAIC02OSw4
ICs2OCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBGRUN1c3RvbUZpbHRlcihGaWx0ZXIq
LCBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0KiwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJWYWxp
ZGF0ZWRQcm9ncmFtPiwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYsCi0gICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0
b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlLCAKLSAgICAgICAgICAgICAgICAgICBDdXN0
b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlKTsKKyAgICAgICAgdW5zaWduZWQgbWVzaFJvd3Ms
IHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBl
LCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7CiAgICAgfkZFQ3VzdG9tRmlsdGVyKCk7CiAgICAgCiAg
ICAgYm9vbCBhcHBseVNoYWRlcigpOwpAQCAtMTMxLDcgKzEyOSw3IEBAIHByaXZhdGU6CiAKICAg
ICB1bnNpZ25lZCBtX21lc2hSb3dzOwogICAgIHVuc2lnbmVkIG1fbWVzaENvbHVtbnM7Ci0gICAg
Q3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtX21lc2hUeXBlOworICAgIEN1c3RvbUZp
bHRlck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0b21GaWx0
ZXJQcm9ncmFtLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0b21G
aWx0ZXJQcm9ncmFtLmgKaW5kZXggNTM4YTUyZS4uYWU2OGQ5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0u
aApAQCAtNDUsOSArNDUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTdHlsZUN1c3Rv
bUZpbHRlclByb2dyYW0gOiBwdWJsaWMgQ3VzdG9tRmlsdGVyUHJvZ3JhbSwgcHVibGljIENhY2hl
ZFJlc291cmNlQ2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0+IGNyZWF0ZShQ
YXNzUmVmUHRyPFN0eWxlU2hhZGVyPiB2ZXJ0ZXhTaGFkZXIsIFBhc3NSZWZQdHI8U3R5bGVTaGFk
ZXI+IGZyYWdtZW50U2hhZGVyLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwg
Y29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncykKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0+IGNyZWF0ZShQYXNzUmVm
UHRyPFN0eWxlU2hhZGVyPiB2ZXJ0ZXhTaGFkZXIsIFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IGZy
YWdtZW50U2hhZGVyLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3Qg
Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncywgQ3VzdG9tRmlsdGVy
TWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0
eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSh2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyLCBwcm9n
cmFtVHlwZSwgbWl4U2V0dGluZ3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHls
ZUN1c3RvbUZpbHRlclByb2dyYW0odmVydGV4U2hhZGVyLCBmcmFnbWVudFNoYWRlciwgcHJvZ3Jh
bVR5cGUsIG1peFNldHRpbmdzLCBtZXNoVHlwZSkpOwogICAgIH0KICAgICAKICAgICB2b2lkIHNl
dFZlcnRleFNoYWRlcihQYXNzUmVmUHRyPFN0eWxlU2hhZGVyPiBzaGFkZXIpIHsgbV92ZXJ0ZXhT
aGFkZXIgPSBzaGFkZXI7IH0KQEAgLTEzMCw4ICsxMzAsOCBAQCBwdWJsaWM6CiAgICAgfQogCiBw
cml2YXRlOgotICAgIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbShQYXNzUmVmUHRyPFN0eWxlU2hh
ZGVyPiB2ZXJ0ZXhTaGFkZXIsIFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IGZyYWdtZW50U2hhZGVy
LCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmlsdGVy
UHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncykKLSAgICAgICAgOiBDdXN0b21GaWx0ZXJQ
cm9ncmFtKHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncykKKyAgICBTdHlsZUN1c3RvbUZpbHRlclBy
b2dyYW0oUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gdmVydGV4U2hhZGVyLCBQYXNzUmVmUHRyPFN0
eWxlU2hhZGVyPiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3Jh
bVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3Ms
IEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQorICAgICAgICA6IEN1c3RvbUZpbHRlclBy
b2dyYW0ocHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzLCBtZXNoVHlwZSkKICAgICAgICAgLCBtX3Zl
cnRleFNoYWRlcih2ZXJ0ZXhTaGFkZXIpCiAgICAgICAgICwgbV9mcmFnbWVudFNoYWRlcihmcmFn
bWVudFNoYWRlcikKICAgICAgICAgLCBtX2lzVmVydGV4U2hhZGVyTG9hZGVkKGZhbHNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDBjMDIxZjAuLmFmMTAyODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAor
MjAxMi0xMC0yNiAgTWF4IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CisKKyAgICAgICAg
W0NTUyBTaGFkZXJzXSBSZWplY3QgdmVydGV4IHNoYWRlcnMgd2l0aCBjdXN0b20gYXR0cmlidXRl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NzMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNl
IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0b21GaWx0ZXJNZXNoVHlw
ZSBmcm9tCisgICAgICAgIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oLgorCisgICAgICAgICogU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJz
LmNwcDoKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgICAgIFJlYWQgdGhl
IHNoYWRlciBzdHJpbmdzIGRpcmVjdGx5IGZyb20gdGhlIEN1c3RvbUZpbHRlclByb2dyYW0gaW5z
dGVhZCBvZiBhc2tpbmcgZm9yIGEKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1JbmZv
IG9iamVjdC4gQWxzbywgZW5jb2RlIHRoZSBtZXNoVHlwZSBlYXJsaWVyIHNvIHRoYXQgZGVjb2Rp
bmcgY2FuCisgICAgICAgICAgICBjYW4gdXNlIGl0IHRvIGNyZWF0ZSBhIFdlYkN1c3RvbUZpbHRl
clByb2dyYW0sIHdoaWNoIG5vdyByZXF1aXJlcyBhIG1lc2hUeXBlLgorICAgICAgICAoQ29yZUlQ
Qzo6OjpkZWNvZGUpOgorICAgICAgICAgICAgRGVjb2RlIHRoZSBtZXNoVHlwZSBlYXJsaWVyIHRv
IHBhc3MgaXQgdG8gdGhlIG5ldyBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtIGNvbnN0cnVjdG9yLgor
ICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkN1c3RvbUZpbHRlclByb2dy
YW0uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6Y3JlYXRlKToK
KyAgICAgICAgICAgIEFkZCBhIG1lc2hUeXBlIHBhcmFtZXRlciB0byBwYXNzIHRvIHRoZSBiYXNl
IGNsYXNzIGNvbnN0cnVjdG9yLgorICAgICAgICAoV2ViS2l0OjpXZWJDdXN0b21GaWx0ZXJQcm9n
cmFtOjpXZWJDdXN0b21GaWx0ZXJQcm9ncmFtKTogRGl0dG8uCisKIDIwMTItMTAtMjYgIENocmlz
dG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZM
XVtXSzJdIEdldCByaWQgb2YgQydpc20gaW4gdGV4dCBjaGVja2VyIEFQSQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFw
aGljc0FyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5jcHAKaW5kZXggYjE3
MGU2Yy4uMjlhMWNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBo
aWNzQXJndW1lbnRDb2RlcnMuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaWYgRU5BQkxFKENTU19T
SEFERVJTKQogI2luY2x1ZGUgIldlYkN1c3RvbUZpbHRlclByb2dyYW0uaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9D
dXN0b21GaWx0ZXJDb25zdGFudHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlck51
bWJlclBhcmFtZXRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyT3BlcmF0aW9u
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJQcm9ncmFtLmg+CkBAIC0xNDAsMTMg
KzE0MSwxMyBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46
OmVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsCiAgICAgICAgICAgICBBU1NFUlQoY3Vz
dG9tT3BlcmF0aW9uLT5wcm9ncmFtKCkpOwogICAgICAgICAgICAgUmVmUHRyPEN1c3RvbUZpbHRl
clByb2dyYW0+IHByb2dyYW0gPSBjdXN0b21PcGVyYXRpb24tPnByb2dyYW0oKTsKICAgICAgICAg
ICAgIEFTU0VSVChwcm9ncmFtLT5pc0xvYWRlZCgpKTsKLSAgICAgICAgICAgIEN1c3RvbUZpbHRl
clByb2dyYW1JbmZvIHByb2dyYW1JbmZvID0gcHJvZ3JhbS0+cHJvZ3JhbUluZm8oKTsKLSAgICAg
ICAgICAgIGVuY29kZXItPmVuY29kZShwcm9ncmFtSW5mby52ZXJ0ZXhTaGFkZXJTdHJpbmcoKSk7
Ci0gICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGUocHJvZ3JhbUluZm8uZnJhZ21lbnRTaGFkZXJT
dHJpbmcoKSk7CisgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGUocHJvZ3JhbS0+dmVydGV4U2hh
ZGVyU3RyaW5nKCkpOworICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKHByb2dyYW0tPmZyYWdt
ZW50U2hhZGVyU3RyaW5nKCkpOwogICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShwcm9n
cmFtLT5wcm9ncmFtVHlwZSgpKTsKLSAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhT
ZXR0aW5ncyBtaXhTZXR0aW5ncyA9IHByb2dyYW1JbmZvLm1peFNldHRpbmdzKCk7CisgICAgICAg
ICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MgPSBwcm9ncmFt
LT5taXhTZXR0aW5ncygpOwogICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0
aW5ncy5ibGVuZE1vZGUpOwogICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0
aW5ncy5jb21wb3NpdGVPcGVyYXRvcik7CisgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVt
KHByb2dyYW0tPm1lc2hUeXBlKCkpOwogCiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJQYXJhbWV0
ZXJMaXN0IHBhcmFtZXRlcnMgPSBjdXN0b21PcGVyYXRpb24tPnBhcmFtZXRlcnMoKTsKICAgICAg
ICAgICAgIGVuY29kZXItPmVuY29kZShzdGF0aWNfY2FzdDx1aW50MzJfdD4ocGFyYW1ldGVycy5z
aXplKCkpKTsKQEAgLTE4MSw3ICsxODIsNiBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
RmlsdGVyT3BlcmF0aW9ucz46OmVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsCiAgICAg
ICAgICAgICBlbmNvZGVyLT5lbmNvZGUoY3VzdG9tT3BlcmF0aW9uLT5tZXNoUm93cygpKTsKICAg
ICAgICAgICAgIGVuY29kZXItPmVuY29kZShjdXN0b21PcGVyYXRpb24tPm1lc2hDb2x1bW5zKCkp
OwogICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShjdXN0b21PcGVyYXRpb24tPm1lc2hC
b3hUeXBlKCkpOwotICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShjdXN0b21PcGVyYXRp
b24tPm1lc2hUeXBlKCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICNlbmRpZgpA
QCAtMjUyLDYgKzI1Miw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVy
YXRpb25zPjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwKICAgICAgICAgICAgIFN0
cmluZyBmcmFnbWVudFNoYWRlclN0cmluZzsKICAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dy
YW1UeXBlIHByb2dyYW1UeXBlOwogICAgICAgICAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNl
dHRpbmdzIG1peFNldHRpbmdzOworICAgICAgICAgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVz
aFR5cGU7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZSh2ZXJ0ZXhTaGFkZXJTdHJp
bmcpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGlmICghZGVj
b2Rlci0+ZGVjb2RlKGZyYWdtZW50U2hhZGVyU3RyaW5nKSkKQEAgLTI2Miw3ICsyNjMsOSBAQCBi
b29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmRlY29kZShBcmd1
bWVudERlY29kZXIqIGRlY29kZXIsCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1peFNldHRpbmdzLmNvbXBvc2l0ZU9w
ZXJhdG9yKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBSZWZQ
dHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IFdlYkN1c3RvbUZpbHRlclByb2dyYW06
OmNyZWF0ZSh2ZXJ0ZXhTaGFkZXJTdHJpbmcsIGZyYWdtZW50U2hhZGVyU3RyaW5nLCBwcm9ncmFt
VHlwZSwgbWl4U2V0dGluZ3MpOworICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVt
KG1lc2hUeXBlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBS
ZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IFdlYkN1c3RvbUZpbHRlclByb2dy
YW06OmNyZWF0ZSh2ZXJ0ZXhTaGFkZXJTdHJpbmcsIGZyYWdtZW50U2hhZGVyU3RyaW5nLCBwcm9n
cmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1lc2hUeXBlKTsKIAogICAgICAgICAgICAgdWludDMyX3Qg
cGFyYW1ldGVyc1NpemU7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZVVJbnQzMihw
YXJhbWV0ZXJzU2l6ZSkpCkBAIC0zMjEsMTUgKzMyNCwxMiBAQCBib29sIEFyZ3VtZW50Q29kZXI8
V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29k
ZXIsCiAgICAgICAgICAgICB1bnNpZ25lZCBtZXNoUm93czsKICAgICAgICAgICAgIHVuc2lnbmVk
IG1lc2hDb2x1bW5zOwogICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94
VHlwZSBtZXNoQm94VHlwZTsKLSAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVz
aFR5cGUgbWVzaFR5cGU7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShtZXNoUm93
cykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYgKCFkZWNv
ZGVyLT5kZWNvZGUobWVzaENvbHVtbnMpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlRW51bShtZXNoQm94VHlwZSkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGVFbnVtKG1lc2hUeXBlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAg
ICAgICAgIGZpbHRlciA9IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlKHByb2dyYW0sIHBh
cmFtZXRlcnMsIG1lc2hSb3dzLCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUsIG1lc2hUeXBlKTsK
ICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCmlu
ZGV4IGViMDk3YzIuLjYwMzYxOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYkN1c3RvbUZpbHRlclByb2dyYW0uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDdXN0b21GaWx0ZXJQcm9ncmFt
LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogI2RlZmluZSBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtX2gK
IAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykgJiYgRU5BQkxFKENTU19TSEFERVJTKQor
I2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9DdXN0b21GaWx0ZXJQcm9ncmFtLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtIDogcHVibGljIFdlYkNvcmU6OkN1c3RvbUZpbHRlclBy
b2dyYW0gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkN1c3RvbUZpbHRlclBy
b2dyYW0+IGNyZWF0ZShTdHJpbmcgdmVydGV4U2hhZGVyU3RyaW5nLCBTdHJpbmcgbV9mcmFnbWVu
dFNoYWRlclN0cmluZywgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5
cGUsIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncykK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDdXN0b21GaWx0ZXJQcm9ncmFtPiBjcmVhdGUoU3Ry
aW5nIHZlcnRleFNoYWRlclN0cmluZywgU3RyaW5nIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcsIFdl
YkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBXZWJDb3JlOjpDdXN0
b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MsIFdlYkNvcmU6OkN1c3RvbUZp
bHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtKHZlcnRleFNoYWRlclN0cmluZywgbV9mcmFnbWVudFNo
YWRlclN0cmluZywgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbSh2ZXJ0ZXhTaGFkZXJTdHJpbmcsIG1f
ZnJhZ21lbnRTaGFkZXJTdHJpbmcsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUp
KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMb2FkZWQoKSBjb25zdCBPVkVSUklERSB7
IHJldHVybiB0cnVlOyB9CkBAIC01NSw4ICs1Niw4IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVtb3ZlTGFzdENsaWVudCgpIE9WRVJSSURFIHsgfQogCiBwcml2YXRlOgotICAg
IFdlYkN1c3RvbUZpbHRlclByb2dyYW0oU3RyaW5nIHZlcnRleFNoYWRlclN0cmluZywgU3RyaW5n
IGZyYWdtZW50U2hhZGVyU3RyaW5nLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBw
cm9ncmFtVHlwZSwgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNl
dHRpbmdzKQotICAgICAgICA6IFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW0ocHJvZ3JhbVR5
cGUsIG1peFNldHRpbmdzKQorICAgIFdlYkN1c3RvbUZpbHRlclByb2dyYW0oU3RyaW5nIHZlcnRl
eFNoYWRlclN0cmluZywgU3RyaW5nIGZyYWdtZW50U2hhZGVyU3RyaW5nLCBXZWJDb3JlOjpDdXN0
b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJv
Z3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoVHlw
ZSBtZXNoVHlwZSkKKyAgICAgICAgOiBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtKHByb2dy
YW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUpCiAgICAgICAgICwgbV92ZXJ0ZXhTaGFkZXJT
dHJpbmcodmVydGV4U2hhZGVyU3RyaW5nKQogICAgICAgICAsIG1fZnJhZ21lbnRTaGFkZXJTdHJp
bmcoZnJhZ21lbnRTaGFkZXJTdHJpbmcpCiAgICAgewo=
</data>
<flag name="commit-queue"
          id="184830"
          type_id="3"
          status="-"
          setter="mvujovic"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171303</attachid>
            <date>2012-10-29 13:53:07 -0700</date>
            <delta_ts>2012-10-29 13:56:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98973-8.patch</filename>
            <type>text/plain</type>
            <size>63335</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MzczMDc1Li5iMjY4NDdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTItMTAt
MjYgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNoZWNrcyB0byB2
ZXJpZnk6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMgZG8gbm90
IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTspLgorICAgICAgICAo
MikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5vdCBleGVjdXRlIHdp
dGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBOb3RlIHRoYXQgaW4gQ1NTIEN1c3RvbSBG
aWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSBp
biBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hlcywgbm8gdmVydGlj
ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2ZXJ0ZXgKKyAgICAg
ICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
aWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0aWNlcyBjYW4gYmVs
b25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQgY2Fubm90IGlkZW50
aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAgICAgICBDU1MgRmls
dGVycyBTcGVjLCBWZXJ0ZXggQXR0cmlidXRlczoKKyAgICAgICAgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9GWFRGL3Jhdy1maWxlL3RpcC9maWx0ZXJzL2luZGV4Lmh0bWwjdmVydGV4LWF0dHJpYnV0
ZS12YXJpYWJsZXMKKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1s
OgorICAgICAgICAgICAgQWRkIHR3byBjaGVja3MgZm9yIHR3byBuZXcgdmVydGV4IHNoYWRlcnMu
IFVwZGF0ZSB0aGUgYV90cmlhbmdsZUNvb3JkIHR5cGUgY2hlY2sgdG8gdXNlCisgICAgICAgICAg
ICBhIGRldGFjaGVkIG1lc2gsIHNvIHRoZSB2ZXJ0ZXggc2hhZGVyIGZhaWxzIHRvIHZhbGlkYXRl
IGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzCisgICAgICAgICAgICBkZWZpbmVkIHdpdGggYW4g
aW5jb3JyZWN0IHR5cGUsIG5vdCBiZWNhdXNlIGl0IGRlZmluZXMgYV90cmlhbmdsZUNvb3JkIGlu
IGFuIGF0dGFjaGVkCisgICAgICAgICAgICBtZXNoLgorICAgICAgICAqIGNzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52czoK
KyAgICAgICAgICAgIEFkZGVkLiBUaGlzIHZlcnRleCBzaGFkZXIgZGVmaW5lcyBhX3RyaWFuZ2xl
Q29vcmQgd2l0aCB0aGUgY29ycmVjdCB0eXBlLiBIb3dldmVyLCB0aGlzCisgICAgICAgICAgICBz
aGFkZXIgaXMgcnVuIHdpdGggYW4gYW4gYXR0YWNoZWQgbWVzaCwgc28gaXQgc2hvdWxkIG5vdCBl
eGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20t
YXR0cmlidXRlLnZzOgorICAgICAgICAgICAgQWRkZWQuIFRoaXMgdmVydGV4IHNoYWRlciBkZWZp
bmVzIGEgY3VzdG9tIGF0dHJpYnV0ZS4gVGhlIGFzc29jaWF0ZWQgdGVzdCB2ZXJpZmllcworICAg
ICAgICAgICAgdGhhdCBpdCBkb2VzIG5vdCBleGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52czoKKyAgICAgICAgICAgIFJl
bW92ZSBzb21lIGVtcHR5IGxpbmVzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkuCisgICAgICAgICog
Y3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1wb3NpdGlvbi52czogRGl0dG8u
CisgICAgICAgICogY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10ZXgtY29v
cmQudnM6IERpdHRvLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10
eXBlLWEtdHJpYW5nbGUtY29vcmQudnM6CisgICAgICAgICAgICBBZGQgYSBjb21tZW50IHRoYXQg
dGhpcyBzaGFkZXIgc2hvdWxkIGJlIHJ1biB3aXRoIGEgZGV0YWNoZWQgbWVzaC4KKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnM6
CisgICAgICAgICAgICBSZW1vdmUgc29tZSBlbXB0eSBsaW5lcyB0byBpbXByb3ZlIHJlYWRhYmls
aXR5LgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJp
YW5nbGUtY29vcmQudnM6IERpdHRvLgorCiAyMDEyLTEwLTI5ICBEYXZpZCBCYXJ0b24gIDxkYmFy
dG9uQG1hdGhzY3JpYmUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBMYXlv
dXRUZXN0cy9tYXRobWwvbXN1YnN1cC1mdXp6Lmh0bWwgcGFzc2VzIGxvY2FsbHkgYnV0IG5vdCBv
bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1
c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMt
ZXhwZWN0ZWQuaHRtbAppbmRleCA2NzkwZmRlLi40ZDAwNGQxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUt
dHlwZXMtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9t
L2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMtZXhwZWN0ZWQuaHRtbApAQCAt
MSwxMCArMSwxMCBAQAogPCFkb2N0eXBlIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotICAgIDx0aXRs
ZT5UZXN0cyB0aGF0IGN1c3RvbSBmaWx0ZXJzIGRvIG5vdCBleGVjdXRlIGlmIHRoZSBhdXRob3Ig
ZGVmaW5lcyBidWlsdC1pbiBhdHRyaWJ1dGVzIHdpdGggdGhlIHdyb25nIHR5cGUuPC90aXRsZT4K
KyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhlY3V0ZSBpZiB0
aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0eXBl
IG9yIGRlZmluZXMgY3VzdG9tIGF0dHJpYnV0ZXMuPC90aXRsZT4KICAgICA8IS0tIAogICAgICAg
ICBUaGlzIGlzIHRoZSByZWZlcmVuY2UgZmlsZSBmb3IgdGhlIHRlc3QuCi0gICAgICAgIElmIHRo
ZSB0ZXN0IHBhc3NlcywgeW91IHNob3VsZCBzZWUgNSB2ZXJ0aWNhbGx5LXN0YWNrZWQgZ3JlZW4g
Ym94ZXMuCisgICAgICAgIElmIHRoZSB0ZXN0IHBhc3NlcywgeW91IHNob3VsZCBzZWUgNyB2ZXJ0
aWNhbGx5LXN0YWNrZWQgZ3JlZW4gYm94ZXMuCiAgICAgLS0+CiAgICAgPHN0eWxlPgogICAgIGRp
diB7CkBAIC0yMSw1ICsyMSw3IEBACiAgICAgPGRpdj48L2Rpdj4KICAgICA8ZGl2PjwvZGl2Pgog
ICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48L2Rpdj4KKyAgICA8ZGl2PjwvZGl2PgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9p
bnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMu
aHRtbAppbmRleCBhNmFhMDU0Li5kNTY1YmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZp
bHRlci1hdHRyaWJ1dGUtdHlwZXMuaHRtbApAQCAtMSw4ICsxLDggQEAKIDwhZG9jdHlwZSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KLSAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBk
byBub3QgZXhlY3V0ZSBpZiB0aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3
aXRoIHRoZSB3cm9uZyB0eXBlLjwvdGl0bGU+Ci0gICAgPCEtLSBJZiB0aGUgdGVzdCBwYXNzZXMs
IHlvdSBzaG91bGQgc2VlIDUgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVzLiAtLT4KKyAg
ICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhlY3V0ZSBpZiB0aGUg
YXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0eXBlIG9y
IGRlZmluZXMgY3VzdG9tIGF0dHJpYnV0ZXMuPC90aXRsZT4KKyAgICA8IS0tIElmIHRoZSB0ZXN0
IHBhc3NlcywgeW91IHNob3VsZCBzZWUgNyB2ZXJ0aWNhbGx5LXN0YWNrZWQgZ3JlZW4gYm94ZXMu
IC0tPgogICAgIDxzY3JpcHQ+CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
ICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1ND
dXN0b21GaWx0ZXJFbmFibGVkIiwgIjEiKTsKQEAgLTI1LDYgKzI1LDkgQEAKICAgICAgICAgaGVp
Z2h0OiA1MHB4OwogICAgICAgICBtYXJnaW46IDEwcHg7CiAgICAgfQorICAgIC5pbnZhbGlkLWN1
c3RvbS1hdHRyaWJ1dGUgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4v
cmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cycpIG1peCh1cmwoJy4uL3Jlc291
cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4wIDAu
MCAwLjAgMS4wKTsKKyAgICB9CiAgICAgLmludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQgewogICAg
ICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtdHlw
ZS1hLW1lc2gtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykg
bm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CiAgICAgfQpA
QCAtMzUsMTggKzM4LDI4IEBACiAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcu
Li9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVz
b3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAg
MC4wIDAuMCAxLjApOwogICAgIH0KICAgICAuaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQg
ewotICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFs
aWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1j
b2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAxLjAp
OworICAgICAgICAvKiBUaGlzIGN1c3RvbSBmaWx0ZXIgdXNlcyBhIGRldGFjaGVkIG1lc2ggYmVj
YXVzZSBhX3RyaWFuZ2xlQ29vcmQgaXMgb25seSBhdmFpbGFibGUgd2l0aCBhIGRldGFjaGVkIG1l
c2guICovCisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMv
aW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMv
bWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgMSAxIGRldGFjaGVkLCBtaXhfY29s
b3IgMS4wIDAuMCAwLjAgMS4wKTsKICAgICB9CiAgICAgLmludmFsaWQtdHlwZS1hdHRyaWJ1dGUt
YXJyYXkgewogICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2Vz
L2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMv
bWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDEuMCAwLjAgMC4w
IDEuMCk7ICAgICAgICAKICAgICB9CisgICAgLmludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkg
eworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFs
aWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNv
bG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7
ICAgICAgICAKKyAgICB9CisgICAgLmludmFsaWQtYXR0YWNoZWQtbWVzaC1hLXRyaWFuZ2xlLWNv
b3JkIHsKKyAgICAgICAgLyogVGhpcyBjdXN0b20gZmlsdGVyIHVzZXMgYW4gYXR0YWNoZWQgbWVz
aCB0byB2ZXJpZnkgdGhhdCBhX3RyaWFuZ2xlQ29vcmQgaXMgbm90IGEgYXZhaWxhYmxlIHdpdGgg
YW4gYXR0YWNoZWQgbWVzaC4gKi8KKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwo
Jy4uL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5nbGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNo
LnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2Ut
YXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAxLjApOyAgICAgICAgCisgICAgfQogICAgIDwv
c3R5bGU+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPGRpdiBjbGFz
cz0iaW52YWxpZC1jdXN0b20tYXR0cmlidXRlIj48L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJpbnZh
bGlkLXR5cGUtYS1tZXNoLWNvb3JkIj48L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJpbnZhbGlkLXR5
cGUtYS1wb3NpdGlvbiI+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iaW52YWxpZC10eXBlLWEtdGV4
LWNvb3JkIj48L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJpbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1j
b29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJh
eSI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iaW52YWxpZC1hdHRhY2hlZC1tZXNoLWEtdHJpYW5n
bGUtY29vcmQiPjwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5nbGUtY29vcmQtd2l0aC1h
dHRhY2hlZC1tZXNoLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZh
bGlkLWEtdHJpYW5nbGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNoLnZzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjNThjOGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtYS10cmlhbmdsZS1jb29yZC13aXRo
LWF0dGFjaGVkLW1lc2gudnMKQEAgLTAsMCArMSwxMiBAQAorLy8gVGhpcyBzaGFkZXIgc2hvdWxk
IG5vdCBleGVjdXRlIGlmIHRoZSBtZXNoIGlzIGF0dGFjaGVkIGJlY2F1c2UgYV90cmlhbmdsZUNv
b3JkIGlzIG9ubHkgYXZhaWxhYmxlIGluIGRldGFjaGVkIG1lc2hzZXMuCisKK3ByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgdmVjMyBhX3RyaWFuZ2xlQ29vcmQ7CithdHRyaWJ1
dGUgdmVjNCBhX3Bvc2l0aW9uOwordW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKKwor
dm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHVfcHJvamVjdGlvbk1hdHJpeCAqIGFf
cG9zaXRpb247Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3Vy
Y2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20tYXR0cmlidXRlLnZzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjNlYjZiMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cwpAQCAt
MCwwICsxLDEyIEBACisvLyBJZiB0aGlzIHNoYWRlcidzIHJlbGF0ZWQgdGVzdCBwYXNzZXMsIHRo
ZSBjdXN0b20gZmlsdGVyIGRvZXMgbm90IGV4ZWN1dGUgYmVjYXVzZSBteV9hdHRyaWJ1dGUgaXMg
bm90IG9uZSBvZiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlcy4KKworcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CisKK2F0dHJpYnV0ZSBmbG9hdCBteV9hdHRyaWJ1dGU7CithdHRyaWJ1dGUgdmVjNCBh
X3Bvc2l0aW9uOwordW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKKwordm9pZCBtYWlu
KCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHVfcHJvamVjdGlvbk1hdHJpeCAqIGFfcG9zaXRpb247
Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFs
aWQtdHlwZS1hLW1lc2gtY29vcmQudnMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3Vy
Y2VzL2ludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQudnMKaW5kZXggM2FkZTljOC4uMDgyNDk3NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5
cGUtYS1tZXNoLWNvb3JkLnZzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52cwpAQCAtNCw3ICs0LDYgQEAgcHJlY2lzaW9u
IG1lZGl1bXAgZmxvYXQ7CiAKIC8vIGFfbWVzaENvb3JkIHNob3VsZCBiZSBhIHZlYzIsIG5vdCBh
IGZsb2F0LgogYXR0cmlidXRlIGZsb2F0IGFfbWVzaENvb3JkOwotCiBhdHRyaWJ1dGUgdmVjNCBh
X3Bvc2l0aW9uOwogCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9uTWF0cml4OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1wb3Np
dGlvbi52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBl
LWEtcG9zaXRpb24udnMKaW5kZXggYmRhNDhlOC4uNTE1NGVhNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1wb3NpdGlvbi52cwor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXBv
c2l0aW9uLnZzCkBAIC00LDcgKzQsNiBAQCBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKIAogLy8g
YV9wb3NpdGlvbiBzaG91bGQgYmUgYSB2ZWM0LCBub3QgYSB2ZWMzLgogYXR0cmlidXRlIHZlYzMg
YV9wb3NpdGlvbjsKLQogdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKIAogdm9pZCBt
YWluKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52
YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXR5cGUtYS10ZXgtY29vcmQudnMKaW5kZXggNzYxMTMzMS4uMjQyOWM3MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5
cGUtYS10ZXgtY29vcmQudnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNl
cy9pbnZhbGlkLXR5cGUtYS10ZXgtY29vcmQudnMKQEAgLTQsOSArNCw3IEBAIHByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OwogCiAvLyBhX21lc2hDb29yZCBzaG91bGQgYmUgYSB2ZWMyLCBub3QgYW4g
dmVjNC4KIGF0dHJpYnV0ZSB2ZWM0IGFfdGV4Q29vcmQ7Ci0KIGF0dHJpYnV0ZSB2ZWM0IGFfcG9z
aXRpb247Ci0KIHVuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRyaXg7CiAKIHZvaWQgbWFpbigp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQt
dHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cwppbmRleCA4NWMzYWI1Li5iZWQ2
NjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFs
aWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMKQEAgLTEsMTIgKzEs
MTEgQEAKIC8vIElmIHRoaXMgc2hhZGVyJ3MgcmVsYXRlZCB0ZXN0IHBhc3NlcywgdGhlIGN1c3Rv
bSBmaWx0ZXIgZG9lcyBub3QgZXhlY3V0ZSBiZWNhdXNlIGFfdHJpYW5nbGVDb29yZCdzIHR5cGUg
aXMgaW52YWxpZC4KKy8vIFRoZSBjdXN0b20gZmlsdGVyIHNob3VsZCBkZWZpbmUgYSBkZXRhY2hl
ZCBtZXNoIGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzIG9ubHkgYXZhaWxhYmxlIHdpdGggYSBk
ZXRhY2hlZCBtZXNoLgogCiBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKIAotLy8gYV9tZXNoQ29v
cmQgc2hvdWxkIGJlIGEgdmVjMywgbm90IGEgdmVjMi4KKy8vIGFfdHJpYW5nbGVDb29yZCBzaG91
bGQgYmUgYSB2ZWMzLCBub3QgYSB2ZWMyLgogYXR0cmlidXRlIHZlYzIgYV90cmlhbmdsZUNvb3Jk
OwotCiBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwotCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0
aW9uTWF0cml4OwogCiB2b2lkIG1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5
LnZzCmluZGV4IDM3YzQyMjEuLjYxM2U3OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJheS52cworKysgYi9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUt
YXJyYXkudnMKQEAgLTQsNyArNCw2IEBAIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwogCiAvLyBh
X3Bvc2l0aW9uIHNob3VsZCBiZSBhIHZlYzQsIG5vdCBhIHZlYzQgYXJyYXkuCiBhdHRyaWJ1dGUg
dmVjNCBhX3Bvc2l0aW9uWzFdOwotCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9uTWF0cml4Owog
CiB2b2lkIG1haW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVkZGE5MjcuLmU0NjZkMTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMTEgQEAKKzIwMTItMTAtMjYgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRv
YmUuY29tPgorCisgICAgICAgIFtDU1MgU2hhZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdp
dGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4OTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wcm92ZWQgQ1NTIEN1c3RvbSBGaWx0ZXJzIHNoYWRlciB2YWxpZGF0aW9u
LiBXaXRoIHRoaXMgcGF0Y2g6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJp
YnV0ZXMgZG8gbm90IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTsp
LgorICAgICAgICAoMikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5v
dCBleGVjdXRlIHdpdGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBNb3N0IG9mIHRoZSBj
aGFuZ2VzIGFyZSBmcm9tIHJlbmFtaW5nIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUg
dG8KKyAgICAgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUsIGFuZCBtb3ZpbmcgdGhlIGVudW1lcmF0
aW9uIHRvIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oLiBUaGlzIGF2b2lkcworICAgICAgICBwdWxs
aW5nIGluIEN1c3RvbUZpbHRlck9wZXJhdGlvbiBmb3IgY2xhc3NlcyB0aGF0IG9ubHkgY2FyZSBh
Ym91dCB0aGUgbWVzaCB0eXBlLgorCisgICAgICAgIE5vdGUgdGhhdCBpbiBDU1MgQ3VzdG9tIEZp
bHRlcnMsIHRoZSBhX3RyaWFuZ2xlQ29vcmQgYXR0cmlidXRlIGlzIG9ubHkgYXZhaWxhYmxlIGlu
IGRldGFjaGVkCisgICAgICAgIG1lc2hlcy4gSW4gZGV0YWNoZWQgbWVzaGVzLCBubyB2ZXJ0aWNl
cyBhcmUgc2hhcmVkIGJldHdlZW4gdHJpYW5nbGVzLiBUaHVzLCBlYWNoIHZlcnRleAorICAgICAg
ICBiZWxvbmdzIHRvIGEgc3BlY2lmaWMgdHJpYW5nbGUsIHdoaWNoIGFfdHJpYW5nbGVDb29yZCBp
ZGVudGlmaWVzLiBJbiBhdHRhY2hlZCBtZXNoZXMsCisgICAgICAgIHZlcnRpY2VzIGNhbiBiZWxv
bmcgdG8gbWFueSB0cmlhbmdsZXMsIHdoaWNoIGFfdHJpYW5nbGVDb29yZCBjYW5ub3QgaWRlbnRp
ZnkgYmVjYXVzZSBpdCdzCisgICAgICAgIG9ubHkgYSB2ZWMzLgorCisgICAgICAgIFRlc3RzOgor
ICAgICAgICBBZGQgdHdvIG5ldyBjaGVja3MgdG8gdGhlIHRlc3QgZmlsZToKKyAgICAgICAgICAg
IGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBl
cy5odG1sCisgICAgICAgIEFkZCB0d28gbmV3IHNoYWRlcnM6CisgICAgICAgICAgICBjc3MzL2Zp
bHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cworICAgICAgICAgICAg
Y3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5nbGUtY29vcmQtd2l0aC1hdHRh
Y2hlZC1tZXNoLnZzCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICAgICBVcGRhdGUgYSBicm9rZW4gcmVmZXJlbmNlIHRvIEN1c3RvbUZpbHRl
ckNvbnN0YW50cy5oIGluIHRoZSBYY29kZSBwcm9qZWN0IGZpbGUuCisgICAgICAgICogY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmlsdGVyKToKKyAgICAgICAgICAgIFJlcGxh
Y2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSB3aXRoIEN1c3RvbUZpbHRlck1lc2hU
eXBlLgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbik6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmg6
CisgICAgICAgICAgICBBZGQgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgZW51bSB0byBzaGFyZSBhY3Jv
c3MgdGhlIEN1c3RvbSBGaWx0ZXJzIGNvZGViYXNlLCBzbyB0aGF0IHdlCisgICAgICAgICAgICBk
b24ndCBoYXZlIHRvIGluY2x1ZGUgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uIGp1c3QgdG8gYWNjZXNz
IHRoZSBvbGQKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgZW51
bS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaDo6Q3VzdG9tRmlsdGVyTWVz
aCk6CisgICAgICAgICAgICBSZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUg
d2l0aCBDdXN0b21GaWx0ZXJNZXNoVHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRl
ck1lc2g6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVz
aDo6bWVzaFR5cGUpOiBEaXR0by4KKyAgICAgICAgKEN1c3RvbUZpbHRlck1lc2gpOiBEaXR0by4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5l
cmF0b3IuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2hHZW5l
cmF0b3I6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OmR1bXBCdWZmZXJzKTogRGl0dG8uCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9y
Lmg6CisgICAgICAgIChDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yOjpmbG9hdHNQZXJWZXJ0ZXgpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OnZlcnRp
Y2VzQ291bnQpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlck9wZXJhdGlvbi5jcHA6IAorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24pOiBEaXR0by4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6bWVzaFR5cGUpOiBEaXR0by4KKyAgICAg
ICAgKEN1c3RvbUZpbHRlck9wZXJhdGlvbik6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJQcm9ncmFtOjpDdXN0b21GaWx0ZXJQcm9ncmFtKToKKyAgICAgICAgICAg
IEFkZCBhIG1lc2hUeXBlIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBiZWNhdXNlIHRoZSBwcm9ncmFt
IG5vdyBuZWVkcyB0byBrbm93IHRoZSBtZXNoVHlwZQorICAgICAgICAgICAgdG8gcHJvcGVybHkg
dmFsaWRhdGUuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtOjpwcm9ncmFt
SW5mbyk6CisgICAgICAgICAgICBQYXNzIG1lc2hUeXBlIHRvIEN1c3RvbUZpbHRlclByb2dyYW0g
Y29uc3RydWN0b3IuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtOjpvcGVy
YXRvcj09KToKKyAgICAgICAgICAgIENoZWNrIHRoZSBtZXNoVHlwZSBpbiB0aGUgZXF1YWxzIG9w
ZXJhdG9yLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbS5oOgorICAgICAgICAgICAgTWFrZSB2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSBhbmQgZnJh
Z21lbnRTaGFkZXJTdHJpbmcoKSBwdWJsaWMgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIGFzawor
ICAgICAgICAgICAgZm9yIGEgcHJvZ3JhbUluZm8gb2JqZWN0IGp1c3QgdG8gZ2V0IHRoZSBzaGFk
ZXIgc3RyaW5ncyBpbgorICAgICAgICAgICAgQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29k
ZXJzLmNwcC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clByb2dyYW1JbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1J
bmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlw
ZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuICAgICAgIAorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9t
RmlsdGVyUHJvZ3JhbUluZm86Omhhc2gpOgorICAgICAgICAgICAgSW5jbHVkZSB0aGUgbWVzaFR5
cGUgaW4gdGhlIHZhbGlkYXRlZCBwcm9ncmFtIGhhc2gsIHNpbmNlIHRoZSBzYW1lIHNoYWRlciBj
b2RlIGNhbiBwYXNzCisgICAgICAgICAgICBvciBmYWlsIHZhbGlkYXRpb24gYmFzZWQgb24gdGhl
IG1lc2hUeXBlLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86Om9w
ZXJhdG9yPT0pOgorICAgICAgICAgICAgQ2hlY2sgdGhlIG1lc2hUeXBlIGluIHRoZSBlcXVhbHMg
b3BlcmF0b3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJQcm9ncmFtSW5mby5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8pOgorICAg
ICAgICAgICAgVXBkYXRlIG1ldGhvZCBwcm90b3R5cGUuCisgICAgICAgIChXZWJDb3JlOjpDdXN0
b21GaWx0ZXJQcm9ncmFtSW5mbzo6bWVzaFR5cGUpOgorICAgICAgICAgICAgQWRkIG1lc2hUeXBl
IGdldHRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbTo6dmFsaWRhdGVTeW1ib2xzKToKKyAgICAgICAgICAgIElmIHRoZSBhdXRo
b3IgZGVmaW5lcyBhdHRyaWJ1dGUgdGhhdCBpcyBpcyBub3QgZm91bmQgaW4gdGhlIGJ1aWx0LWlu
IGF0dHJpYnV0ZSBtYXAsCisgICAgICAgICAgICByZWplY3QgdGhlIHNoYWRlci4KKyAgICAgICAg
ICAgIElmIHRoZSBhdXRob3IgZGVmaW5lcyBhX3RyaWFuZ2xlQ29vcmQgd2l0aG91dCBhIGRldGFj
aGVkIG1lc2ggdHlwZSwgcmVqZWN0IHRoZSBzaGFkZXIuCisgICAgICAgICAgICBBbHNvLCBtYWtl
IHRoaXMgcHJldmlvdXNseSBmaWxlLXN0YXRpYyBmdW5jdGlvbiBpbnRvIGEgbWV0aG9kIG9mCisg
ICAgICAgICAgICBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtIGJlY2F1c2UgaXQgbm93IG5l
ZWRzIHRvIGFjY2VzcyB0aGUgbV9tZXNoVHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaDoKKyAgICAgICAgKEN1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0pOgorICAgICAgICAgICAgQWRkIGEgbWVzaFR5cGUgY29u
c3RydWN0b3IgcGFyYW1ldGVyIGJlY2F1c2UgdGhlIHByb2dyYW0gbm93IG5lZWRzIHRvIGtub3cg
dGhlIG1lc2hUeXBlCisgICAgICAgICAgICB0byBwcm9wZXJseSB2YWxpZGF0ZS4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpGRUN1c3RvbUZpbHRlcik6CisgICAgICAgICAgICBS
ZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0b21GaWx0ZXJN
ZXNoVHlwZS4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpjcmVhdGUpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZl
cnMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjp1bmJpbmRWZXJ0
ZXhBdHRyaWJ1dGVzKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUN1c3RvbUZpbHRlci5oOgorICAgICAgICAoRkVDdXN0b21GaWx0ZXIpOiBEaXR0by4KKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZUN1c3RvbUZpbHRlclByb2dyYW06OmNyZWF0ZSk6CisgICAgICAg
ICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJD
b3JlOjpTdHlsZUN1c3RvbUZpbHRlclByb2dyYW06OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSk6
IERpdHRvLgorCiAyMDEyLTEwLTI5ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFN1cHBvcnQgY2FwdGlvbnMgd2hlbiBQTFVHSU5fUFJPWFlfRk9SX1ZJ
REVPCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggODIyYzBlYy4uYzhhNmRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzgwNCwxMSArMzgwNCwxMSBAQAogCQlB
MUUxMTU0NDEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExpZ2h0U291cmNlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRTExNTQzMTMwMTVDM0Qw
MDU0QUM4QyAvKiBEaXN0YW50TGlnaHRTb3VyY2UuY3BwICovOyB9OwogCQlBMUUxMTU0NjEzMDE1
QzRFMDA1NEFDOEMgLyogUG9pbnRMaWdodFNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUUxMTU0NTEzMDE1QzRFMDA1NEFDOEMgLyogUG9p
bnRMaWdodFNvdXJjZS5jcHAgKi87IH07CiAJCUExRTExNTQ4MTMwMTVDNUQwMDU0QUM4QyAvKiBT
cG90TGlnaHRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFFMTE1NDcxMzAxNUM1RDAwNTRBQzhDIC8qIFNwb3RMaWdodFNvdXJjZS5jcHAg
Ki87IH07Ci0JCUEyNEEzQTlEMTYyNDk5RkYwMDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFu
dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyNEEz
QTlDMTYyNDk5RkYwMDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLzsgfTsKIAkJ
QTI0QkY3N0IxNUNDM0JBRjAwMzE5MUYyIC8qIFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyNEJGNzc5MTVD
QzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggKi87IH07CiAJCUEy
NEJGNzdDMTVDQzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyNEJGNzdBMTVD
QzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJ
QTI5NTMyQ0YxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTI5NTMy
Q0QxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwICov
OyB9OwogCQlBMjk1MzJEMDE1REQ1RTE3MDA0NjlFQkMgLyogQ3VzdG9tRmlsdGVyVmFsaWRhdGVk
UHJvZ3JhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTI5NTMyQ0UxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0u
aCAqLzsgfTsKKwkJQTJCMkFFN0MxNjM3NUVFNTAwQ0ZBNTBCIC8qIEN1c3RvbUZpbHRlckNvbnN0
YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTJC
MkFFN0IxNjM3NUVFNTAwQ0ZBNTBCIC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oICovOyB9Owog
CQlBM0JCNTlGMzE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzQkI1OUYxMTQ1N0E0
MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUuY3BwICovOyB9OwogCQlBM0JCNTlGNDE0
NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0JCNTlGMjE0NTdBNDBEMDBBQzU2RkUgLyog
RG9jdW1lbnRFdmVudFF1ZXVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQTNFMjY0MzAxNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVl
dWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNF
MjY0MkUxNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwICovOyB9OwpAQCAt
MTEwNzUsMTEgKzExMDc1LDExIEBACiAJCUExRTExNTQzMTMwMTVDM0QwMDU0QUM4QyAvKiBEaXN0
YW50TGlnaHRTb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
RGlzdGFudExpZ2h0U291cmNlLmNwcDsgcGF0aCA9IGZpbHRlcnMvRGlzdGFudExpZ2h0U291cmNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFFMTE1NDUxMzAxNUM0RTAwNTRB
QzhDIC8qIFBvaW50TGlnaHRTb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gUG9pbnRMaWdodFNvdXJjZS5jcHA7IHBhdGggPSBmaWx0ZXJzL1BvaW50TGlnaHRT
b3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUUxMTU0NzEzMDE1QzVE
MDA1NEFDOEMgLyogU3BvdExpZ2h0U291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFNwb3RMaWdodFNvdXJjZS5jcHA7IHBhdGggPSBmaWx0ZXJzL1Nwb3RMaWdo
dFNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUEyNEEzQTlDMTYyNDk5
RkYwMDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUEyNEJGNzc5MTVDQzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5j
dGlvblZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdENTU01p
eEZ1bmN0aW9uVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTI0QkY3N0Ex
NUNDM0JBRjAwMzE5MUYyIC8qIFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyOTUzMkNEMTVERDVFMTcwMDQ2OUVC
QyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwOyBwYXRo
ID0gZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTI5NTMyQ0UxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ3Vz
dG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oOyBwYXRoID0gZmlsdGVycy9DdXN0b21GaWx0ZXJW
YWxpZGF0ZWRQcm9ncmFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEyQjJBRTdC
MTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmg7IHBhdGggPSBmaWx0
ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERvY3VtZW50RXZlbnRRdWV1ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzQkI1OUYyMTQ1N0E0MEQwMEFDNTZGRSAv
KiBEb2N1bWVudEV2ZW50UXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RG9jdW1lbnRFdmVudFF1ZXVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzRTI2
NDJFMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdvcmtlckV2ZW50UXVldWUuY3BwOyBwYXRoID0gd29y
a2Vycy9Xb3JrZXJFdmVudFF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE4MjU0LDcgKzE4MjU0LDcgQEAKIAkJCQkxNUIzRkMxNzE1RkIyMTc4MDBBODFCQ0IgLyogQ3Vz
dG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCAqLywKIAkJCQk1MEQ0MDYwRjE0N0Q0OURFMDBEMzBC
QjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcCAqLywKIAkJCQk1MEQ0MDYxMDE0
N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmggKi8sCi0JCQkJ
QTI0QTNBOUMxNjI0OTlGRjAwNTIyNzQ1IC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oICovLAor
CQkJCUEyQjJBRTdCMTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAq
LywKIAkJCQk1MDk4N0MyNDE1N0Q2NzZEMDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29u
dGV4dC5jcHAgKi8sCiAJCQkJNTA5ODdDMjUxNTdENjc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRl
ckdsb2JhbENvbnRleHQuaCAqLywKIAkJCQk1MEQ0MDVGNzE0N0QzMUYzMDBEMzBCQjUgLyogQ3Vz
dG9tRmlsdGVyTWVzaC5jcHAgKi8sCkBAIC0yMjY5Nyw3ICsyMjY5Nyw3IEBACiAJCQkJNjJDRDMy
NUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
NUIzRkMxOTE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTUwRDQwNjEyMTQ3RDQ5REUwMEQzMEJCNSAvKiBDdXN0b21GaWx0
ZXJDb21waWxlZFByb2dyYW0uaCBpbiBIZWFkZXJzICovLAotCQkJCUEyNEEzQTlEMTYyNDk5RkYw
MDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUEy
QjJBRTdDMTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUwOTg3QzI3MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9i
YWxDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MEQ0MDVGQTE0N0QzMUYzMDBEMzBCQjUg
LyogQ3VzdG9tRmlsdGVyTWVzaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0UxMkU5MEYxNUZBNUQz
QTAwNUU0MTI2IC8qIEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAppbmRleCBiM2E3ZTUyLi42ODk0YmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtOTQwLDcgKzk0MCw3IEBAIFBhc3NS
ZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6dmFsdWVGb3JGaWx0
ZXIoY29uc3QgUmVuZGVyT2JqCiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIEZJWE1FOiBU
aGUgc3BlY2lmaWNhdGlvbiBkb2Vzbid0IGhhdmUgYW55ICJhdHRhY2hlZCIgaWRlbnRpZmllci4g
U2hvdWxkIHdlIGFkZCBvbmU/CiAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MDAKLSAgICAgICAgICAgIGlmIChjdXN0b21PcGVyYXRpb24t
Pm1lc2hUeXBlKCkgPT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpERVRBQ0hFRCkKKyAgICAgICAg
ICAgIGlmIChjdXN0b21PcGVyYXRpb24tPm1lc2hUeXBlKCkgPT0gTWVzaFR5cGVEZXRhY2hlZCkK
ICAgICAgICAgICAgICAgICBtZXNoUGFyYW1ldGVycy0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZURldGFjaGVkKSk7CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIGZpbHRlclZhbHVlLT5hcHBlbmQobWVzaFBhcmFtZXRlcnMucmVsZWFzZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCAwM2QxMmQyLi42NTk0ZGZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xNTcsNiArMTU3LDcgQEAKIAog
I2lmIEVOQUJMRShDU1NfU0hBREVSUykKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJBcnJheVBhcmFt
ZXRlci5oIgorI2luY2x1ZGUgIkN1c3RvbUZpbHRlckNvbnN0YW50cy5oIgogI2luY2x1ZGUgIkN1
c3RvbUZpbHRlck51bWJlclBhcmFtZXRlci5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlck9wZXJh
dGlvbi5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclBhcmFtZXRlci5oIgpAQCAtNDgxMiw3ICs0
ODEzLDcgQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJPcGVyYXRpb24+IFN0eWxlUmVzb2x2ZXI6
OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbihXZWIKICAgICB1bnNpZ25lZCBtZXNoUm93cyA9
IDE7CiAgICAgdW5zaWduZWQgbWVzaENvbHVtbnMgPSAxOwogICAgIEN1c3RvbUZpbHRlck9wZXJh
dGlvbjo6TWVzaEJveFR5cGUgbWVzaEJveFR5cGUgPSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkZJ
TFRFUl9CT1g7Ci0gICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZSA9
IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQ7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5
cGUgbWVzaFR5cGUgPSBNZXNoVHlwZUF0dGFjaGVkOwogICAgIAogICAgIENTU1ZhbHVlKiBwYXJh
bWV0ZXJzVmFsdWUgPSAwOwogICAgIApAQCAtNDg1Niw3ICs0ODU3LDcgQEAgUGFzc1JlZlB0cjxD
dXN0b21GaWx0ZXJPcGVyYXRpb24+IFN0eWxlUmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9w
ZXJhdGlvbihXZWIKICAgICAgICAgaWYgKGl0ZXJhdG9yLmhhc01vcmUoKSAmJiBpdGVyYXRvci5p
c1ByaW1pdGl2ZVZhbHVlKCkpIHsKICAgICAgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmlt
aXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4oaXRlcmF0b3IudmFs
dWUoKSk7CiAgICAgICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkgPT0gQ1NT
VmFsdWVEZXRhY2hlZCkgewotICAgICAgICAgICAgICAgIG1lc2hUeXBlID0gQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpERVRBQ0hFRDsKKyAgICAgICAgICAgICAgICBtZXNoVHlwZSA9IE1lc2hUeXBl
RGV0YWNoZWQ7CiAgICAgICAgICAgICAgICAgaXRlcmF0b3IuYWR2YW5jZSgpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CkBAIC00ODc2LDcgKzQ4NzcsNyBAQCBQYXNzUmVmUHRyPEN1c3RvbUZp
bHRlck9wZXJhdGlvbj4gU3R5bGVSZXNvbHZlcjo6Y3JlYXRlQ3VzdG9tRmlsdGVyT3BlcmF0aW9u
KFdlYgogICAgIGlmIChwYXJhbWV0ZXJzVmFsdWUgJiYgIXBhcnNlQ3VzdG9tRmlsdGVyUGFyYW1l
dGVyTGlzdChwYXJhbWV0ZXJzVmFsdWUsIHBhcmFtZXRlckxpc3QpKQogICAgICAgICByZXR1cm4g
MDsKICAgICAKLSAgICBSZWZQdHI8U3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0g
U3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUodmVydGV4U2hhZGVyLnJlbGVhc2UoKSwg
ZnJhZ21lbnRTaGFkZXIucmVsZWFzZSgpLCBwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MpOworICAg
IFJlZlB0cjxTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0+IHByb2dyYW0gPSBTdHlsZUN1c3RvbUZp
bHRlclByb2dyYW06OmNyZWF0ZSh2ZXJ0ZXhTaGFkZXIucmVsZWFzZSgpLCBmcmFnbWVudFNoYWRl
ci5yZWxlYXNlKCksIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUpOwogICAgIHJl
dHVybiBDdXN0b21GaWx0ZXJPcGVyYXRpb246OmNyZWF0ZShwcm9ncmFtLnJlbGVhc2UoKSwgcGFy
YW1ldGVyTGlzdCwgbWVzaFJvd3MsIG1lc2hDb2x1bW5zLCBtZXNoQm94VHlwZSwgbWVzaFR5cGUp
OwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJDb25zdGFudHMuaAppbmRleCA2MDgwYzM4
Li44YzY1NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgKQEAgLTQ1LDYgKzQ1
LDExIEBAIGVudW0gQ3VzdG9tRmlsdGVyTWVzaENvbnN0YW50cyB7CiAgICAgVHJpYW5nbGVBdHRy
aWJPZmZzZXQgPSBNZXNoQXR0cmliT2Zmc2V0ICsgTWVzaEF0dHJpYlNpemUgKiBzaXplb2YoZmxv
YXQpCiB9OwogCitlbnVtIEN1c3RvbUZpbHRlck1lc2hUeXBlIHsKKyAgICBNZXNoVHlwZUF0dGFj
aGVkLAorICAgIE1lc2hUeXBlRGV0YWNoZWQKK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEN1c3RvbUZpbHRlckNvbnN0YW50c19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNo
LmNwcAppbmRleCAwMjc4YWJhLi5lZmYwNzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAK
QEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ3VzdG9tRmlsdGVyTWVz
aDo6Q3VzdG9tRmlsdGVyTWVzaChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgdW5zaWduZWQg
Y29sdW1ucywgdW5zaWduZWQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hU
eXBlIG1lc2hUeXBlKQorICAgIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVy
TWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgOiBtX2NvbnRleHQoY29udGV4dCkKICAgICAsIG1fdmVy
dGljZXNCdWZmZXJPYmplY3QoMCkKICAgICAsIG1fZWxlbWVudHNCdWZmZXJPYmplY3QoMCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9t
RmlsdGVyTWVzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJNZXNoLmgKaW5kZXggZTNjN2E2Yi4uMmJiM2Q1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJNZXNoLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiAKIGNs
YXNzIEN1c3RvbUZpbHRlck1lc2ggOiBwdWJsaWMgUmVmQ291bnRlZDxDdXN0b21GaWx0ZXJNZXNo
PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyTWVzaD4gY3Jl
YXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCB1bnNpZ25lZCBjb2xzLCB1bnNpZ25lZCBy
b3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVz
aFR5cGUgbWVzaFR5cGUpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyTWVzaD4g
Y3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCB1bnNpZ25lZCBjb2xzLCB1bnNpZ25l
ZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1l
c2hUeXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDdXN0b21GaWx0ZXJN
ZXNoKGNvbnRleHQsIGNvbHMsIHJvd3MsIG1lc2hCb3gsIG1lc2hUeXBlKSk7CiAgICAgfQpAQCAt
NTYsMTAgKzU2LDEwIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBpbmRpY2VzQ291bnQoKSBjb25z
dCB7IHJldHVybiBtX2luZGljZXNDb3VudDsgfQogICAgIAogICAgIGNvbnN0IEZsb2F0UmVjdCYg
bWVzaEJveCgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaEJveDsgfQotICAgIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21l
c2hUeXBlOyB9CiAKIHByaXZhdGU6Ci0gICAgQ3VzdG9tRmlsdGVyTWVzaChHcmFwaGljc0NvbnRl
eHQzRCosIHVuc2lnbmVkIGNvbHMsIHVuc2lnbmVkIHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVz
aEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSk7CisgICAgQ3VzdG9tRmlsdGVy
TWVzaChHcmFwaGljc0NvbnRleHQzRCosIHVuc2lnbmVkIGNvbHMsIHVuc2lnbmVkIHJvd3MsIGNv
bnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogICAgIAogICAg
IEdyYXBoaWNzQ29udGV4dDNEKiBtX2NvbnRleHQ7CiAgICAgCkBAIC03MCw3ICs3MCw3IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmRpY2VzQ291bnQ7CiAgICAgCiAgICAgRmxvYXRSZWN0
IG1fbWVzaEJveDsKLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1fbWVzaFR5
cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuY3Bw
CmluZGV4IDNkOWQ0ZDEuLjc3NDY5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNo
R2VuZXJhdG9yLmNwcApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0
aWMgYm9vbCBzX2R1bXBDdXN0b21GaWx0ZXJNZXNoQnVmZmVycyA9IGZhbHNlOwogI2VuZGlmCiAK
LUN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IodW5z
aWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94LCBD
dXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorQ3VzdG9tRmlsdGVyTWVz
aEdlbmVyYXRvcjo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcih1bnNpZ25lZCBjb2x1bW5zLCB1
bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck1lc2hU
eXBlIG1lc2hUeXBlKQogICAgIDogbV9tZXNoVHlwZShtZXNoVHlwZSkKICAgICAsIG1fcG9pbnRz
KGNvbHVtbnMgKyAxLCByb3dzICsgMSkKICAgICAsIG1fdGlsZXMoY29sdW1ucywgcm93cykKQEAg
LTYwLDcgKzYwLDcgQEAgQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6Q3VzdG9tRmlsdGVyTWVz
aEdlbmVyYXRvcih1bnNpZ25lZCBjb2x1bW5zLCB1bnNpZ25lZAogICAgIC8vIHdoZW4gdGhlcmUn
cyBubyBuZWVkIHRvIGV4cGxvZGUgdGhlIHRpbGVzLgogICAgIC8vICogZGV0YWNoZWQ6IGVhY2gg
dHJpYW5nbGUgaGFzIGl0cyBvd24gdmVydGljZXMuIFRoaXMgbWVhbnMgZWFjaCB0cmlhbmdsZSBj
YW4gYmUgbW92ZWQgaW5kZXBlbmRlbnRseSBhbmQgYSB2ZWMzCiAgICAgLy8gYXR0cmlidXRlIGlz
IHBhc3NlZCwgc28gdGhhdCBlYWNoIHZlcnRleCBjYW4gYmUgdW5pcXVlbHkgaWRlbnRpZmllZC4K
LSAgICBpZiAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkFUVEFDSEVEKQor
ICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hUeXBlQXR0YWNoZWQpCiAgICAgICAgIGdlbmVyYXRl
QXR0YWNoZWRNZXNoKCk7CiAgICAgZWxzZQogICAgICAgICBnZW5lcmF0ZURldGFjaGVkTWVzaCgp
OwpAQCAtMTUyLDggKzE1Miw4IEBAIHZvaWQgQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6YWRk
RGV0YWNoZWRNZXNoVmVydGV4QXR0cmlidXRlcyhpbnQgcXVhZFgsIGludCBxCiB2b2lkIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3I6OmR1bXBCdWZmZXJzKCkgY29uc3QKIHsKICAgICBwcmludGYo
Ik1lc2ggYnVmZmVyczogUG9pbnRzLndpZHRoKCk6ICVkLCBQb2ludHMuaGVpZ2h0KCk6ICVkIG1l
c2hCb3g6ICVmLCAlZiwgJWYsICVmLCB0eXBlOiAlc1xuIiwKLSAgICAgICAgICAgbV9wb2ludHMu
d2lkdGgoKSwgbV9wb2ludHMuaGVpZ2h0KCksIG1fbWVzaEJveC54KCksIG1fbWVzaEJveC55KCks
IG1fbWVzaEJveC53aWR0aCgpLCBtX21lc2hCb3guaGVpZ2h0KCksCi0gICAgICAgICAgIChtX21l
c2hUeXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQpID8gIkF0dGFjaGVkIiA6
ICJEZXRhY2hlZCIpOworICAgICAgICBtX3BvaW50cy53aWR0aCgpLCBtX3BvaW50cy5oZWlnaHQo
KSwgbV9tZXNoQm94LngoKSwgbV9tZXNoQm94LnkoKSwgbV9tZXNoQm94LndpZHRoKCksIG1fbWVz
aEJveC5oZWlnaHQoKSwKKyAgICAgICAgKG1fbWVzaFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCkg
PyAiQXR0YWNoZWQiIDogIkRldGFjaGVkIik7CiAgICAgcHJpbnRmKCItLS1WZXJ0ZXg6XG5cdCIp
OwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3ZlcnRpY2VzLnNpemUoKTsgKytpKSB7
CiAgICAgICAgIHByaW50ZigiJWYgIiwgbV92ZXJ0aWNlcy5hdChpKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hH
ZW5lcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyTWVzaEdlbmVyYXRvci5oCmluZGV4IGIzYTE4NDcuLjdhYmFjMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
TWVzaEdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5oCkBAIC00NCw3ICs0NCw3IEBAIHB1Ymxp
YzoKICAgICAvLyBhbmQgJ2NvbHVtbnMnIG51bWJlciBvZiBjb2x1bW5zIHdpdGggYSB0b3RhbCBv
ZiAncm93cyArIDEnICogJ2NvbHVtbnMgKyAxJyB2ZXJ0aWNlcy4KICAgICAvLyBNZXNoQm94IGlz
IHRoZSBmaWx0ZXJlZCBhcmVhIGNhbGN1bGF0ZWQgZGVmaW5lZCB1c2luZyB0aGUgYm9yZGVyLWJv
eCwgcGFkZGluZy1ib3gsIGNvbnRlbnQtYm94IG9yIGZpbHRlci1ib3gKICAgICAvLyBhdHRyaWJ1
dGVzLiBBIHZhbHVlIG9mICgwLCAwLCAxLCAxKSB3aWxsIGNvdmVyIHRoZSBlbnRpcmUgb3V0cHV0
IHN1cmZhY2UuCi0gICAgQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcih1bnNpZ25lZCBjb2x1bW5z
LCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbjo6TWVzaFR5cGUpOworICAgIEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWdu
ZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0
b21GaWx0ZXJNZXNoVHlwZSk7CiAKICAgICBjb25zdCBWZWN0b3I8ZmxvYXQ+JiB2ZXJ0aWNlcygp
IGNvbnN0IHsgcmV0dXJuIG1fdmVydGljZXM7IH0KICAgICBjb25zdCBWZWN0b3I8dWludDE2X3Q+
JiBpbmRpY2VzKCkgY29uc3QgeyByZXR1cm4gbV9pbmRpY2VzOyB9CkBAIC02NiwxMiArNjYsMTIg
QEAgcHVibGljOgogICAgIHsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIEF0dGFjaGVk
TWVzaFZlcnRleFNpemUgPSBQb3NpdGlvbkF0dHJpYlNpemUgKyBUZXhBdHRyaWJTaXplICsgTWVz
aEF0dHJpYlNpemU7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBEZXRhY2hlZE1lc2hW
ZXJ0ZXhTaXplID0gQXR0YWNoZWRNZXNoVmVydGV4U2l6ZSArIFRyaWFuZ2xlQXR0cmliU2l6ZTsK
LSAgICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpBVFRB
Q0hFRCA/IEF0dGFjaGVkTWVzaFZlcnRleFNpemUgOiBEZXRhY2hlZE1lc2hWZXJ0ZXhTaXplOwor
ICAgICAgICByZXR1cm4gbV9tZXNoVHlwZSA9PSBNZXNoVHlwZUF0dGFjaGVkID8gQXR0YWNoZWRN
ZXNoVmVydGV4U2l6ZSA6IERldGFjaGVkTWVzaFZlcnRleFNpemU7CiAgICAgfQogCiAgICAgdW5z
aWduZWQgdmVydGljZXNDb3VudCgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gbV9tZXNo
VHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkFUVEFDSEVEID8gcG9pbnRzQ291bnQoKSA6
IGluZGljZXNDb3VudCgpOworICAgICAgICByZXR1cm4gbV9tZXNoVHlwZSA9PSBNZXNoVHlwZUF0
dGFjaGVkID8gcG9pbnRzQ291bnQoKSA6IGluZGljZXNDb3VudCgpOwogICAgIH0KIAogcHJpdmF0
ZToKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxmbG9hdD4gbV92ZXJ0
aWNlczsKICAgICBWZWN0b3I8dWludDE2X3Q+IG1faW5kaWNlczsKIAotICAgIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6TWVzaFR5cGUgbV9tZXNoVHlwZTsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlw
ZSBtX21lc2hUeXBlOwogICAgIEludFNpemUgbV9wb2ludHM7CiAgICAgSW50U2l6ZSBtX3RpbGVz
OwogICAgIEZsb2F0U2l6ZSBtX3RpbGVTaXplSW5QaXhlbHM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
ck9wZXJhdGlvbi5jcHAKaW5kZXggYjlkMzcyYy4uYTQ4NmFhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9t
RmlsdGVyT3BlcmF0aW9uLmNwcApAQCAtMzgsNyArMzgsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLUN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NS
ZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFy
YW1ldGVyTGlzdCYgc29ydGVkUGFyYW1ldGVycywgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVk
IG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSBtZXNoQm94VHlwZSwgTWVzaFR5cGUgbWVzaFR5cGUp
CitDdXN0b21GaWx0ZXJPcGVyYXRpb246OkN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRy
PEN1c3RvbUZpbHRlclByb2dyYW0+IHByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRl
ckxpc3QmIHNvcnRlZFBhcmFtZXRlcnMsIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNo
Q29sdW1ucywgTWVzaEJveFR5cGUgbWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1l
c2hUeXBlKQogICAgIDogRmlsdGVyT3BlcmF0aW9uKENVU1RPTSkKICAgICAsIG1fcHJvZ3JhbShw
cm9ncmFtKQogICAgICwgbV9wYXJhbWV0ZXJzKHNvcnRlZFBhcmFtZXRlcnMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9w
ZXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJPcGVyYXRpb24uaAppbmRleCAzNGQyNWUxLi45MzY0YTMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNkZWZpbmUgQ3VzdG9tRmls
dGVyT3BlcmF0aW9uX2gKIAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyNpbmNsdWRlICJDdXN0
b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0
LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgIkZpbHRlck9w
ZXJhdGlvbi5oIgpAQCAtNDgsMTMgKzQ5LDggQEAgcHVibGljOgogICAgICAgICBQQURESU5HX0JP
WCwKICAgICAgICAgQ09OVEVOVF9CT1gKICAgICB9OwotICAgIAotICAgIGVudW0gTWVzaFR5cGUg
ewotICAgICAgICBBVFRBQ0hFRCwKLSAgICAgICAgREVUQUNIRUQKLSAgICB9OwotICAgIAotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1l
dGVyTGlzdCYgc29ydGVkUGFyYW1ldGVycywgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1l
c2hDb2x1bW5zLCBNZXNoQm94VHlwZSBtZXNoQm94VHlwZSwgTWVzaFR5cGUgbWVzaFR5cGUpCisg
ICAgICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gY3Jl
YXRlKFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSwgY29uc3QgQ3VzdG9t
RmlsdGVyUGFyYW1ldGVyTGlzdCYgc29ydGVkUGFyYW1ldGVycywgdW5zaWduZWQgbWVzaFJvd3Ms
IHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSBtZXNoQm94VHlwZSwgQ3VzdG9tRmls
dGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEN1c3RvbUZpbHRlck9wZXJhdGlvbihwcm9ncmFtLCBzb3J0ZWRQYXJhbWV0ZXJzLCBtZXNoUm93
cywgbWVzaENvbHVtbnMsIG1lc2hCb3hUeXBlLCBtZXNoVHlwZSkpOwogICAgIH0KQEAgLTY3LDcg
KzYzLDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1lc2hDb2x1bW5zKCkgY29uc3QgeyByZXR1
cm4gbV9tZXNoQ29sdW1uczsgfQogICAgIAogICAgIE1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlKCkg
Y29uc3QgeyByZXR1cm4gbV9tZXNoQm94VHlwZTsgfQotICAgIE1lc2hUeXBlIG1lc2hUeXBlKCkg
Y29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1l
c2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQogICAgIAogICAgIHZpcnR1YWwg
fkN1c3RvbUZpbHRlck9wZXJhdGlvbigpOwogICAgIApAQCAtOTEsNyArODcsNyBAQCBwcml2YXRl
OgogICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzID09IG90aGVyLT5tX3BhcmFtZXRlcnM7CiAg
ICAgfQogICAgIAotICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZp
bHRlclByb2dyYW0+LCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiwgdW5zaWduZWQg
bWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSwgTWVzaFR5cGUpOwor
ICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+
LCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiwgdW5zaWduZWQgbWVzaFJvd3MsIHVu
c2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwog
CiAgICAgUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+IG1fcHJvZ3JhbTsKICAgICBDdXN0b21G
aWx0ZXJQYXJhbWV0ZXJMaXN0IG1fcGFyYW1ldGVyczsKQEAgLTk5LDcgKzk1LDcgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX21lc2hSb3dzOwogICAgIHVuc2lnbmVkIG1fbWVzaENvbHVtbnM7
CiAgICAgTWVzaEJveFR5cGUgbV9tZXNoQm94VHlwZTsKLSAgICBNZXNoVHlwZSBtX21lc2hUeXBl
OworICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcAppbmRleCA4ZmQ4OGVh
Li4yYThmY2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAKQEAgLTM4LDkgKzM4
LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6Q3Vz
dG9tRmlsdGVyUHJvZ3JhbShDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29u
c3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncykKK0N1c3RvbUZp
bHRlclByb2dyYW06OkN1c3RvbUZpbHRlclByb2dyYW0oQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUg
cHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0
dGluZ3MsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIDogbV9wcm9ncmFtVHlw
ZShwcm9ncmFtVHlwZSkKICAgICAsIG1fbWl4U2V0dGluZ3MobWl4U2V0dGluZ3MpCisgICAgLCBt
X21lc2hUeXBlKG1lc2hUeXBlKQogewogICAgIC8vIEtlZXAgdGhlIGNvbnN0cnVjdG9yIHByb3Rl
Y3RlZCB0byBwcmV2ZW50IGNyZWF0aW5nIHRoaXMgb2JqZWN0IGRpcmVjdGx5LgogfQpAQCAtODIs
MTIgKzgzLDE0IEBAIHZvaWQgQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6bm90aWZ5Q2xpZW50cygpCiBD
dXN0b21GaWx0ZXJQcm9ncmFtSW5mbyBDdXN0b21GaWx0ZXJQcm9ncmFtOjpwcm9ncmFtSW5mbygp
IGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzTG9hZGVkKCkpOwotICAgIHJldHVybiBDdXN0b21GaWx0
ZXJQcm9ncmFtSW5mbyh2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSwgZnJhZ21lbnRTaGFkZXJTdHJpbmco
KSwgbV9wcm9ncmFtVHlwZSwgbV9taXhTZXR0aW5ncyk7CisgICAgcmV0dXJuIEN1c3RvbUZpbHRl
clByb2dyYW1JbmZvKHZlcnRleFNoYWRlclN0cmluZygpLCBmcmFnbWVudFNoYWRlclN0cmluZygp
LCBtX3Byb2dyYW1UeXBlLCBtX21peFNldHRpbmdzLCBtX21lc2hUeXBlKTsKIH0KIAogYm9vbCBD
dXN0b21GaWx0ZXJQcm9ncmFtOjpvcGVyYXRvcj09KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW0m
IG8pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcHJvZ3JhbVR5cGUgPT0gby5tX3Byb2dyYW1UeXBl
ICYmIChtX3Byb2dyYW1UeXBlICE9IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVOVF9URVhUVVJF
IHx8IG1fbWl4U2V0dGluZ3MgPT0gby5tX21peFNldHRpbmdzKTsKKyAgICByZXR1cm4gbV9wcm9n
cmFtVHlwZSA9PSBvLm1fcHJvZ3JhbVR5cGUKKyAgICAgICAgJiYgKG1fcHJvZ3JhbVR5cGUgIT0g
UFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgfHwgbV9taXhTZXR0aW5ncyA9PSBv
Lm1fbWl4U2V0dGluZ3MpCisgICAgICAgICYmIG1fbWVzaFR5cGUgPT0gby5tX21lc2hUeXBlOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCmlu
ZGV4IDQ0NWZiNDguLmI3NTViYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBAIC01
MSwzOCArNTEsMzcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkN1c3RvbUZpbHRlclByb2dyYW0o
KTsKIAogICAgIHZpcnR1YWwgYm9vbCBpc0xvYWRlZCgpIGNvbnN0ID0gMDsKLSAgICAKLSAgICBD
dXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MoKSBjb25zdCB7IHJldHVy
biBtX21peFNldHRpbmdzOyB9CiAKICAgICB2b2lkIGFkZENsaWVudChDdXN0b21GaWx0ZXJQcm9n
cmFtQ2xpZW50Kik7CiAgICAgdm9pZCByZW1vdmVDbGllbnQoQ3VzdG9tRmlsdGVyUHJvZ3JhbUNs
aWVudCopOwogICAgIAogICAgIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvIHByb2dyYW1JbmZvKCkg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCBTdHJpbmcgZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSBjb25zdCA9IDA7
CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUoKSBjb25zdCB7IHJldHVy
biBtX3Byb2dyYW1UeXBlOyB9CisgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1p
eFNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9taXhTZXR0aW5nczsgfQorICAgIEN1c3RvbUZp
bHRlck1lc2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQogCi0g
ICAgLy8gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtIGhhcyB0aGUgb25seSBpbXBsZW1lbnRhdGlv
biBmb3IgdGhlIGZvbGxvd2luZyBtZXRob2QuIFRoYXQgbWVhbnMsIGl0IGNhc3RzIHRvIFN0eWxl
Q3VzdG9tRmlsdGVyUHJvZ3JhbQotICAgIC8vIHdpdGhvdXRoIGNoZWNraW5nIHRoZSB0eXBlLiBJ
ZiB5b3UgYWRkIGFub3RoZXIgaW1wbGVtZW50YXRpb24sIGFsc28gYWRkIGEgbWVjaGFuaXNtIHRv
IGNoZWNrIGZvciB0aGUgY29ycmVjdCB0eXBlLgogICAgIHZpcnR1YWwgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW0mKSBjb25zdDsKICAgICBib29sIG9wZXJhdG9yIT0o
Y29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbSYgbykgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBv
KTsgfQogcHJvdGVjdGVkOgogICAgIC8vIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSBjYW4gbm90
aWZ5IHRoZSBjbGllbnRzIHRoYXQgdGhlIGNhY2hlZCByZXNvdXJjZXMgYXJlCiAgICAgLy8gbG9h
ZGVkIGFuZCBpdCBpcyByZWFkeSB0byBjcmVhdGUgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFt
IG9iamVjdHMuCiAgICAgdm9pZCBub3RpZnlDbGllbnRzKCk7Ci0gICAgCi0gICAgdmlydHVhbCBT
dHJpbmcgdmVydGV4U2hhZGVyU3RyaW5nKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgU3RyaW5n
IGZyYWdtZW50U2hhZGVyU3RyaW5nKCkgY29uc3QgPSAwOwotICAgIAorCiAgICAgdmlydHVhbCB2
b2lkIHdpbGxIYXZlQ2xpZW50cygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlTGFz
dENsaWVudCgpID0gMDsKIAogICAgIC8vIEtlZXAgdGhlIGNvbnN0cnVjdG9yIHByb3RlY3RlZCB0
byBwcmV2ZW50IGNyZWF0aW5nIHRoaXMgb2JqZWN0IGRpcmVjdGx5LgotICAgIEN1c3RvbUZpbHRl
clByb2dyYW0oQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dy
YW1NaXhTZXR0aW5ncyYpOworICAgIEN1c3RvbUZpbHRlclByb2dyYW0oQ3VzdG9tRmlsdGVyUHJv
Z3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYsIEN1c3RvbUZp
bHRlck1lc2hUeXBlKTsKIAogcHJpdmF0ZToKICAgICB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PEN1
c3RvbUZpbHRlclByb2dyYW1DbGllbnQqPiBDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50TGlzdDsK
ICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50TGlzdCBtX2NsaWVudHM7CiAgICAgQ3VzdG9t
RmlsdGVyUHJvZ3JhbVR5cGUgbV9wcm9ncmFtVHlwZTsKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFt
TWl4U2V0dGluZ3MgbV9taXhTZXR0aW5nczsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21l
c2hUeXBlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcApp
bmRleCA3ZjRhZjNlLi45MWE0MWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1J
bmZvLmNwcApAQCAtNjQsMTEgKzY0LDEyIEBAIGJvb2wgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86
OmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QKICAgICAgICAgJiYgbV9mcmFnbWVudFNo
YWRlclN0cmluZy5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOwogfQogCi1DdXN0b21GaWx0ZXJQ
cm9ncmFtSW5mbzo6Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8oY29uc3QgU3RyaW5nJiB2ZXJ0ZXhT
aGFkZXIsIGNvbnN0IFN0cmluZyYgZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1U
eXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1p
eFNldHRpbmdzKQorQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86OkN1c3RvbUZpbHRlclByb2dyYW1J
bmZvKGNvbnN0IFN0cmluZyYgdmVydGV4U2hhZGVyLCBjb25zdCBTdHJpbmcmIGZyYWdtZW50U2hh
ZGVyLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmls
dGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncywgQ3VzdG9tRmlsdGVyTWVzaFR5cGUg
bWVzaFR5cGUpCiAgICAgOiBtX3ZlcnRleFNoYWRlclN0cmluZyh2ZXJ0ZXhTaGFkZXIpCiAgICAg
LCBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nKGZyYWdtZW50U2hhZGVyKQogICAgICwgbV9wcm9ncmFt
VHlwZShwcm9ncmFtVHlwZSkKICAgICAsIG1fbWl4U2V0dGluZ3MobWl4U2V0dGluZ3MpCisgICAg
LCBtX21lc2hUeXBlKG1lc2hUeXBlKQogewogICAgIC8vIEF0IGxlYXN0IG9uZSBvZiB0aGUgc2hh
ZGVycyBuZWVkcyB0byBiZSBub24tbnVsbC4KICAgICBBU1NFUlQoIW1fdmVydGV4U2hhZGVyU3Ry
aW5nLmlzTnVsbCgpIHx8ICFtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLmlzTnVsbCgpKTsKQEAgLTgw
LDEyICs4MSwxMyBAQCB1bnNpZ25lZCBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6aGFzaCgpIGNv
bnN0CiAgICAgQVNTRVJUKCFtX3ZlcnRleFNoYWRlclN0cmluZy5pc051bGwoKSB8fCAhbV9mcmFn
bWVudFNoYWRlclN0cmluZy5pc051bGwoKSk7CiAKICAgICBib29sIGJsZW5kc0VsZW1lbnRUZXh0
dXJlID0gKG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRV
UkUpOwotICAgIHVpbnRwdHJfdCBoYXNoQ29kZXNbNV0gPSB7CisgICAgdWludHB0cl90IGhhc2hD
b2Rlc1s2XSA9IHsKICAgICAgICAgaGFzaFBvc3NpYmx5TnVsbFN0cmluZyhtX3ZlcnRleFNoYWRl
clN0cmluZyksCiAgICAgICAgIGhhc2hQb3NzaWJseU51bGxTdHJpbmcobV9mcmFnbWVudFNoYWRl
clN0cmluZyksCiAgICAgICAgIGJsZW5kc0VsZW1lbnRUZXh0dXJlLAogICAgICAgICBibGVuZHNF
bGVtZW50VGV4dHVyZSA/IG1fbWl4U2V0dGluZ3MuYmxlbmRNb2RlIDogMCwKICAgICAgICAgYmxl
bmRzRWxlbWVudFRleHR1cmUgPyBtX21peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9yIDogMAor
ICAgICAgICBtX21lc2hUeXBlCiAgICAgfTsKICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNo
TWVtb3J5PHNpemVvZihoYXNoQ29kZXMpPigmaGFzaENvZGVzKTsKIH0KQEAgLTk3LDYgKzk5LDcg
QEAgYm9vbCBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6b3BlcmF0b3I9PShjb25zdCBDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbyYgbykgY29uc3QKIAogICAgIHJldHVybiBtX3Byb2dyYW1UeXBlID09
IG8ubV9wcm9ncmFtVHlwZQogICAgICAgICAmJiAobV9wcm9ncmFtVHlwZSAhPSBQUk9HUkFNX1RZ
UEVfQkxFTkRTX0VMRU1FTlRfVEVYVFVSRSB8fCBtX21peFNldHRpbmdzID09IG8ubV9taXhTZXR0
aW5ncykKKyAgICAgICAgJiYgbV9tZXNoVHlwZSA9PSBvLm1fbWVzaFR5cGUKICAgICAgICAgJiYg
bV92ZXJ0ZXhTaGFkZXJTdHJpbmcgPT0gby5tX3ZlcnRleFNoYWRlclN0cmluZwogICAgICAgICAm
JiBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nID09IG8ubV9mcmFnbWVudFNoYWRlclN0cmluZzsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyUHJvZ3JhbUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uaAppbmRleCAzYjU0NGM1Li4yNWU3ZGFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlclByb2dyYW1JbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oCkBAIC0zMSw2ICszMSw3IEBA
CiAjZGVmaW5lIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvX2gKIAogI2lmIEVOQUJMRShDU1NfU0hB
REVSUykKKyNpbmNsdWRlICJDdXN0b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNsdWRlICJHcmFw
aGljc1R5cGVzLmgiCiAKICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgpAQCAtNjQsNyArNjUs
NyBAQCBzdHJ1Y3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIHsKIC8vIE51bGwgc3Ry
aW5ncyBhcmUgcGxhY2Vob2xkZXJzIGZvciB0aGUgZGVmYXVsdCBzaGFkZXIuCiBjbGFzcyBDdXN0
b21GaWx0ZXJQcm9ncmFtSW5mbyB7CiBwdWJsaWM6Ci0gICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbUlu
Zm8oY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUs
IGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYpOworICAgIEN1c3RvbUZpbHRl
clByb2dyYW1JbmZvKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIEN1c3RvbUZpbHRlclBy
b2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmLCBDdXN0b21G
aWx0ZXJNZXNoVHlwZSk7CiAKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbygpOwogICAgIGJv
b2wgaXNFbXB0eVZhbHVlKCkgY29uc3Q7CkBAIC03OSwxMSArODAsMTMgQEAgcHVibGljOgogICAg
IGNvbnN0IFN0cmluZyYgZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSBjb25zdCB7IHJldHVybiBtX2Zy
YWdtZW50U2hhZGVyU3RyaW5nOyB9CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3Jh
bVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Byb2dyYW1UeXBlOyB9CiAgICAgY29uc3QgQ3VzdG9t
RmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1f
bWl4U2V0dGluZ3M7IH0KKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWVzaFR5cGU7IH0KIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fdmVydGV4U2hh
ZGVyU3RyaW5nOwogICAgIFN0cmluZyBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nOwogICAgIEN1c3Rv
bUZpbHRlclByb2dyYW1UeXBlIG1fcHJvZ3JhbVR5cGU7CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3Jh
bU1peFNldHRpbmdzIG1fbWl4U2V0dGluZ3M7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9t
ZXNoVHlwZTsKIH07CiAKIHN0cnVjdCBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mb0hhc2ggewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKaW5kZXggZDU0MjE1
Ny4uNDBmNDg4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dy
YW0uY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyVmFsaWRhdGVk
UHJvZ3JhbS5oIgogCiAjaW5jbHVkZSAiQU5HTEVXZWJLaXRCcmlkZ2UuaCIKKyNpbmNsdWRlICJD
dXN0b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uaCIKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgpAQCAtNjIsNyArNjMsNyBAQCBzdGF0aWMgU3ltYm9sTmFtZVRvVHlw
ZU1hcCogYnVpbHRJbkF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAoKQogICAgIHJldHVybiBuYW1lVG9U
eXBlTWFwOwogfQogCi1zdGF0aWMgYm9vbCB2YWxpZGF0ZVN5bWJvbHMoY29uc3QgVmVjdG9yPEFO
R0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scykKK3N0YXRpYyBib29sIHZhbGlkYXRlU3ltYm9scyhj
b25zdCBWZWN0b3I8QU5HTEVTaGFkZXJTeW1ib2w+JiBzeW1ib2xzLCBDdXN0b21GaWx0ZXJNZXNo
VHlwZSBtZXNoVHlwZSkKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN5bWJvbHMuc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgY29uc3QgQU5HTEVTaGFkZXJTeW1ib2wmIHN5bWJvbCA9IHN5
bWJvbHNbaV07CkBAIC03MCwxMyArNzEsMjQgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVTeW1ib2xz
KGNvbnN0IFZlY3RvcjxBTkdMRVNoYWRlclN5bWJvbD4mIHN5bWJvbHMpCiAgICAgICAgIGNhc2Ug
U0hBREVSX1NZTUJPTF9UWVBFX0FUVFJJQlVURTogewogICAgICAgICAgICAgU3ltYm9sTmFtZVRv
VHlwZU1hcCogYXR0cmlidXRlTmFtZVRvVHlwZU1hcCA9IGJ1aWx0SW5BdHRyaWJ1dGVOYW1lVG9U
eXBlTWFwKCk7CiAgICAgICAgICAgICBTeW1ib2xOYW1lVG9UeXBlTWFwOjppdGVyYXRvciBidWls
dEluQXR0cmlidXRlID0gYXR0cmlidXRlTmFtZVRvVHlwZU1hcC0+ZmluZChzeW1ib2wubmFtZSk7
Ci0gICAgICAgICAgICBpZiAoYnVpbHRJbkF0dHJpYnV0ZSAhPSBhdHRyaWJ1dGVOYW1lVG9UeXBl
TWFwLT5lbmQoKSAmJiBzeW1ib2wuZGF0YVR5cGUgIT0gYnVpbHRJbkF0dHJpYnV0ZS0+dmFsdWUp
IHsKKyAgICAgICAgICAgIGlmIChidWlsdEluQXR0cmlidXRlID09IGF0dHJpYnV0ZU5hbWVUb1R5
cGVNYXAtPmVuZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gVGhlIGF1dGhvciBkZWZpbmVkIGEg
Y3VzdG9tIGF0dHJpYnV0ZS4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogUmVwb3J0IHRoZSB2
YWxpZGF0aW9uIGVycm9yLgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChtZXNoVHlwZSA9PSBNZXNoVHlwZUF0dGFj
aGVkICYmIHN5bWJvbC5uYW1lID09ICJhX3RyaWFuZ2xlQ29vcmQiKSB7CisgICAgICAgICAgICAg
ICAgLy8gYV90cmlhbmdsZUNvb3JkIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBkZXRhY2hlZCBtZXNo
ZXMuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFJlcG9ydCB0aGUgdmFsaWRhdGlvbiBlcnJv
ci4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzQ0MTYKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBpZiAoc3ltYm9sLmRhdGFUeXBlICE9IGJ1aWx0SW5BdHRyaWJ1dGUtPnZh
bHVlKSB7CiAgICAgICAgICAgICAgICAgLy8gVGhlIGF1dGhvciBkZWZpbmVkIG9uZSBvZiB0aGUg
YnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0eXBlLgorICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBSZXBvcnQgdGhlIHZhbGlkYXRpb24gZXJyb3IuCisgICAgICAgICAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDE2CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAvLyBG
SVhNRTogUmV0dXJuIGZhbHNlIHdoZW4gdGhlIGF0dHJpYnV0ZSBpcyBub3Qgb25lIG9mIHRoZSBi
dWlsdC1pbiBhdHRyaWJ1dGVzLgotICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk4OTczCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICBjYXNlIFNIQURFUl9TWU1CT0xfVFlQRV9VTklGT1JNOgpAQCAtMTUzLDcgKzE2NSw3
IEBAIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06OkN1c3RvbUZpbHRlclZhbGlkYXRlZFBy
b2dyYW0oQ3VzdG9tRmlsdGVyR2xvYmFsQ29uCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBpZiAoIXZhbGlkYXRlU3ltYm9scyhzeW1ib2xzKSkgeworICAgIGlmICghdmFsaWRhdGVTeW1i
b2xzKHN5bWJvbHMsIG1fcHJvZ3JhbUluZm8ubWVzaFR5cGUoKSkpIHsKICAgICAgICAgLy8gRklY
TUU6IFJlcG9ydCB2YWxpZGF0aW9uIGVycm9ycy4KICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDE2CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
VmFsaWRhdGVkUHJvZ3JhbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgKaW5kZXggMzIyYzYzMC4uMTc0NjFl
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgKQEAgLTQ5
LDcgKzQ5LDYgQEAgdHlwZWRlZiBXZWJDb3JlOjpMYXllckNvbXBpbGVkUHJvZ3JhbSBQbGF0Zm9y
bUNvbXBpbGVkUHJvZ3JhbTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBTkdMRVdl
YktpdEJyaWRnZTsKIGNsYXNzIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbTsKIGNsYXNzIEN1
c3RvbUZpbHRlckdsb2JhbENvbnRleHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKaW5kZXggNzA3
ZWRiOC4uNDA3ZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKQEAgLTgyLDggKzgyLDcgQEAg
c3RhdGljIHZvaWQgb3J0aG9nb25hbFByb2plY3Rpb25NYXRyaXgoVHJhbnNmb3JtYXRpb25NYXRy
aXgmIG1hdHJpeCwgZmxvYXQgbGVmdCwKIH0KIAogRkVDdXN0b21GaWx0ZXI6OkZFQ3VzdG9tRmls
dGVyKEZpbHRlciogZmlsdGVyLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0KiBjdXN0b21GaWx0
ZXJHbG9iYWxDb250ZXh0LCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0+
IHZhbGlkYXRlZFByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlckxpc3QmIHBhcmFt
ZXRlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWVzaFJvd3Ms
IHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6
TWVzaFR5cGUgbWVzaFR5cGUpCisgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hD
b2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlLCBDdXN0b21GaWx0ZXJN
ZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6IEZpbHRlckVmZmVjdChmaWx0ZXIpCiAgICAgLCBtX2ds
b2JhbENvbnRleHQoY3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCkKICAgICAsIG1fdmFsaWRhdGVk
UHJvZ3JhbSh2YWxpZGF0ZWRQcm9ncmFtKQpAQCAtMTA2LDggKzEwNSw3IEBAIEZFQ3VzdG9tRmls
dGVyOjpGRUN1c3RvbUZpbHRlcihGaWx0ZXIqIGZpbHRlciwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29u
dGV4dCogY3VzdG9tCiB9CiAKIFBhc3NSZWZQdHI8RkVDdXN0b21GaWx0ZXI+IEZFQ3VzdG9tRmls
dGVyOjpjcmVhdGUoRmlsdGVyKiBmaWx0ZXIsIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQqIGN1
c3RvbUZpbHRlckdsb2JhbENvbnRleHQsIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyVmFsaWRhdGVk
UHJvZ3JhbT4gdmFsaWRhdGVkUHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlz
dCYgcGFyYW1ldGVycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbjo6TWVzaEJveFR5cGUgbWVzaEJveFR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNo
VHlwZSkKKyAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3Rv
bUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUgbWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1l
c2hUeXBlIG1lc2hUeXBlKQogewogICAgIHJldHVybiBhZG9wdFJlZihuZXcgRkVDdXN0b21GaWx0
ZXIoZmlsdGVyLCBjdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LCB2YWxpZGF0ZWRQcm9ncmFtLCBw
YXJhbWV0ZXJzLCBtZXNoUm93cywgbWVzaENvbHVtbnMsIG1lc2hCb3hUeXBlLCBtZXNoVHlwZSkp
OwogfQpAQCAtNTc3LDcgKzU3NSw3IEBAIHZvaWQgRkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9ncmFt
QW5kQnVmZmVycyhQbGF0Zm9ybTNET2JqZWN0IGlucHV0VGV4dHVyZSkKICAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQzNTgKICAgICBiaW5kVmVydGV4QXR0
cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT5pbnRlcm5hbFRleENvb3JkQXR0cmliTG9jYXRpb24o
KSwgVGV4QXR0cmliU2l6ZSwgVGV4QXR0cmliT2Zmc2V0KTsKICAgICBiaW5kVmVydGV4QXR0cmli
dXRlKG1fY29tcGlsZWRQcm9ncmFtLT5tZXNoQXR0cmliTG9jYXRpb24oKSwgTWVzaEF0dHJpYlNp
emUsIE1lc2hBdHRyaWJPZmZzZXQpOwotICAgIGlmIChtX21lc2hUeXBlID09IEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6REVUQUNIRUQpCisgICAgaWYgKG1fbWVzaFR5cGUgPT0gTWVzaFR5cGVEZXRh
Y2hlZCkKICAgICAgICAgYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+dHJp
YW5nbGVBdHRyaWJMb2NhdGlvbigpLCBUcmlhbmdsZUF0dHJpYlNpemUsIFRyaWFuZ2xlQXR0cmli
T2Zmc2V0KTsKICAgICAKICAgICBiaW5kUHJvZ3JhbVBhcmFtZXRlcnMoKTsKQEAgLTU4OSw3ICs1
ODcsNyBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjp1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGVzKCkKICAg
ICB1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0tPnRleEF0dHJpYkxvY2F0
aW9uKCkpOwogICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+aW50
ZXJuYWxUZXhDb29yZEF0dHJpYkxvY2F0aW9uKCkpOwogICAgIHVuYmluZFZlcnRleEF0dHJpYnV0
ZShtX2NvbXBpbGVkUHJvZ3JhbS0+bWVzaEF0dHJpYkxvY2F0aW9uKCkpOwotICAgIGlmIChtX21l
c2hUeXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQpCisgICAgaWYgKG1fbWVz
aFR5cGUgPT0gTWVzaFR5cGVEZXRhY2hlZCkKICAgICAgICAgdW5iaW5kVmVydGV4QXR0cmlidXRl
KG1fY29tcGlsZWRQcm9ncmFtLT50cmlhbmdsZUF0dHJpYkxvY2F0aW9uKCkpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9t
RmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3Vz
dG9tRmlsdGVyLmgKaW5kZXggMDlkYTVmMS4uNTZiNzRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaApA
QCAtNTksOCArNTksNyBAQCBjbGFzcyBJbnRTaXplOwogY2xhc3MgRkVDdXN0b21GaWx0ZXIgOiBw
dWJsaWMgRmlsdGVyRWZmZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxGRUN1
c3RvbUZpbHRlcj4gY3JlYXRlKEZpbHRlciosIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQqLCBQ
YXNzUmVmUHRyPEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0+LCBjb25zdCBDdXN0b21GaWx0
ZXJQYXJhbWV0ZXJMaXN0JiwKLSAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywg
dW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUs
IAotICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUpOwor
ICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZp
bHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUFwcGx5U29mdHdhcmUoKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZHVtcCgpOwpAQCAtNjksOCArNjgsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgRkVDdXN0
b21GaWx0ZXIoRmlsdGVyKiwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCosIFBhc3NSZWZQdHI8
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbT4sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRl
ckxpc3QmLAotICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBt
ZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSwgCi0gICAgICAg
ICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSk7CisgICAgICAgIHVu
c2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uOjpNZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogICAgIH5GRUN1c3RvbUZp
bHRlcigpOwogICAgIAogICAgIGJvb2wgYXBwbHlTaGFkZXIoKTsKQEAgLTEzMSw3ICsxMjksNyBA
QCBwcml2YXRlOgogCiAgICAgdW5zaWduZWQgbV9tZXNoUm93czsKICAgICB1bnNpZ25lZCBtX21l
c2hDb2x1bW5zOwotICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbV9tZXNoVHlw
ZTsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBlOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCmluZGV4IDUzOGE1MmUuLmFlNjhkOTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRl
clByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0
b21GaWx0ZXJQcm9ncmFtLmgKQEAgLTQ1LDkgKzQ1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtIDogcHVibGljIEN1c3RvbUZpbHRlclByb2dy
YW0sIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVDdXN0b21GaWx0ZXJQ
cm9ncmFtPiBjcmVhdGUoUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gdmVydGV4U2hhZGVyLCBQYXNz
UmVmUHRyPFN0eWxlU2hhZGVyPiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5
cGUgcHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4
U2V0dGluZ3MpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFt
PiBjcmVhdGUoUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gdmVydGV4U2hhZGVyLCBQYXNzUmVmUHRy
PFN0eWxlU2hhZGVyPiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJv
Z3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGlu
Z3MsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0odmVydGV4U2hhZGVyLCBmcmFn
bWVudFNoYWRlciwgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtKHZlcnRleFNoYWRlciwgZnJhZ21l
bnRTaGFkZXIsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUpKTsKICAgICB9CiAg
ICAgCiAgICAgdm9pZCBzZXRWZXJ0ZXhTaGFkZXIoUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gc2hh
ZGVyKSB7IG1fdmVydGV4U2hhZGVyID0gc2hhZGVyOyB9CkBAIC0xMzAsOCArMTMwLDggQEAgcHVi
bGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0oUGFz
c1JlZlB0cjxTdHlsZVNoYWRlcj4gdmVydGV4U2hhZGVyLCBQYXNzUmVmUHRyPFN0eWxlU2hhZGVy
PiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIGNv
bnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGluZ3MpCi0gICAgICAg
IDogQ3VzdG9tRmlsdGVyUHJvZ3JhbShwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MpCisgICAgU3R5
bGVDdXN0b21GaWx0ZXJQcm9ncmFtKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+IHZlcnRleFNoYWRl
ciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclBy
b2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGlu
Z3MmIG1peFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICAgICAg
OiBDdXN0b21GaWx0ZXJQcm9ncmFtKHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUp
CiAgICAgICAgICwgbV92ZXJ0ZXhTaGFkZXIodmVydGV4U2hhZGVyKQogICAgICAgICAsIG1fZnJh
Z21lbnRTaGFkZXIoZnJhZ21lbnRTaGFkZXIpCiAgICAgICAgICwgbV9pc1ZlcnRleFNoYWRlckxv
YWRlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1MjBhMGUyLi4xMzkwNGQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMjYgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUu
Y29tPgorCisgICAgICAgIFtDU1MgU2hhZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGgg
Y3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk4OTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVwbGFjZSBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIHdpdGggQ3Vz
dG9tRmlsdGVyTWVzaFR5cGUgZnJvbQorICAgICAgICBDdXN0b21GaWx0ZXJDb25zdGFudHMuaC4K
KworICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZSk6CisgICAg
ICAgICAgICBSZWFkIHRoZSBzaGFkZXIgc3RyaW5ncyBkaXJlY3RseSBmcm9tIHRoZSBDdXN0b21G
aWx0ZXJQcm9ncmFtIGluc3RlYWQgb2YgYXNraW5nIGZvciBhCisgICAgICAgICAgICBDdXN0b21G
aWx0ZXJQcm9ncmFtSW5mbyBvYmplY3QuIEFsc28sIGVuY29kZSB0aGUgbWVzaFR5cGUgZWFybGll
ciBzbyB0aGF0IGRlY29kaW5nIGNhbgorICAgICAgICAgICAgY2FuIHVzZSBpdCB0byBjcmVhdGUg
YSBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtLCB3aGljaCBub3cgcmVxdWlyZXMgYSBtZXNoVHlwZS4K
KyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAgICAgIERlY29kZSB0aGUgbWVz
aFR5cGUgZWFybGllciB0byBwYXNzIGl0IHRvIHRoZSBuZXcgV2ViQ3VzdG9tRmlsdGVyUHJvZ3Jh
bSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJD
dXN0b21GaWx0ZXJQcm9ncmFtLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkN1c3RvbUZpbHRlclBy
b2dyYW06OmNyZWF0ZSk6CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBwYXJhbWV0ZXIgdG8g
cGFzcyB0byB0aGUgYmFzZSBjbGFzcyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKFdlYktpdDo6V2Vi
Q3VzdG9tRmlsdGVyUHJvZ3JhbTo6V2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbSk6IERpdHRvLgorCiAy
MDEyLTEwLTI5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAg
IGJ1aWxkSFRUUEhlYWRlcnMoKSBzaG91bGQgdXNlIGEgU3RyaW5nQnVpbGRlci5hcHBlbmRMaXRl
cmFsKCkgZm9yIHNlcGFyYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NBcmd1bWVudENvZGVycy5jcHAKaW5kZXggYjE3MGU2Yy4uMjlhMWNlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuY3BwCkBA
IC01NCw2ICs1NCw3IEBACiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQogI2luY2x1ZGUgIldlYkN1
c3RvbUZpbHRlclByb2dyYW0uaCIKICNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJDb25zdGFudHMuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9D
dXN0b21GaWx0ZXJQcm9ncmFtLmg+CkBAIC0xNDAsMTMgKzE0MSwxMyBAQCB2b2lkIEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmVuY29kZShBcmd1bWVudEVuY29kZXIq
IGVuY29kZXIsCiAgICAgICAgICAgICBBU1NFUlQoY3VzdG9tT3BlcmF0aW9uLT5wcm9ncmFtKCkp
OwogICAgICAgICAgICAgUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+IHByb2dyYW0gPSBjdXN0
b21PcGVyYXRpb24tPnByb2dyYW0oKTsKICAgICAgICAgICAgIEFTU0VSVChwcm9ncmFtLT5pc0xv
YWRlZCgpKTsKLSAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvIHByb2dyYW1JbmZv
ID0gcHJvZ3JhbS0+cHJvZ3JhbUluZm8oKTsKLSAgICAgICAgICAgIGVuY29kZXItPmVuY29kZShw
cm9ncmFtSW5mby52ZXJ0ZXhTaGFkZXJTdHJpbmcoKSk7Ci0gICAgICAgICAgICBlbmNvZGVyLT5l
bmNvZGUocHJvZ3JhbUluZm8uZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSk7CisgICAgICAgICAgICBl
bmNvZGVyLT5lbmNvZGUocHJvZ3JhbS0+dmVydGV4U2hhZGVyU3RyaW5nKCkpOworICAgICAgICAg
ICAgZW5jb2Rlci0+ZW5jb2RlKHByb2dyYW0tPmZyYWdtZW50U2hhZGVyU3RyaW5nKCkpOwogICAg
ICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShwcm9ncmFtLT5wcm9ncmFtVHlwZSgpKTsKLSAg
ICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncyA9IHBy
b2dyYW1JbmZvLm1peFNldHRpbmdzKCk7CisgICAgICAgICAgICBDdXN0b21GaWx0ZXJQcm9ncmFt
TWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MgPSBwcm9ncmFtLT5taXhTZXR0aW5ncygpOwogICAgICAg
ICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0aW5ncy5ibGVuZE1vZGUpOwogICAgICAg
ICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0aW5ncy5jb21wb3NpdGVPcGVyYXRvcik7
CisgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKHByb2dyYW0tPm1lc2hUeXBlKCkpOwog
CiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0IHBhcmFtZXRlcnMgPSBjdXN0
b21PcGVyYXRpb24tPnBhcmFtZXRlcnMoKTsKICAgICAgICAgICAgIGVuY29kZXItPmVuY29kZShz
dGF0aWNfY2FzdDx1aW50MzJfdD4ocGFyYW1ldGVycy5zaXplKCkpKTsKQEAgLTE4MSw3ICsxODIs
NiBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmVuY29k
ZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsCiAgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGUo
Y3VzdG9tT3BlcmF0aW9uLT5tZXNoUm93cygpKTsKICAgICAgICAgICAgIGVuY29kZXItPmVuY29k
ZShjdXN0b21PcGVyYXRpb24tPm1lc2hDb2x1bW5zKCkpOwogICAgICAgICAgICAgZW5jb2Rlci0+
ZW5jb2RlRW51bShjdXN0b21PcGVyYXRpb24tPm1lc2hCb3hUeXBlKCkpOwotICAgICAgICAgICAg
ZW5jb2Rlci0+ZW5jb2RlRW51bShjdXN0b21PcGVyYXRpb24tPm1lc2hUeXBlKCkpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICNlbmRpZgpAQCAtMjUyLDYgKzI1Miw3IEBAIGJvb2wg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb25zPjo6ZGVjb2RlKEFyZ3VtZW50
RGVjb2RlciogZGVjb2RlciwKICAgICAgICAgICAgIFN0cmluZyBmcmFnbWVudFNoYWRlclN0cmlu
ZzsKICAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlOwogICAg
ICAgICAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzOworICAg
ICAgICAgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGU7CiAgICAgICAgICAgICBpZiAo
IWRlY29kZXItPmRlY29kZSh2ZXJ0ZXhTaGFkZXJTdHJpbmcpKQogICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKGZyYWdtZW50U2hh
ZGVyU3RyaW5nKSkKQEAgLTI2Miw3ICsyNjMsOSBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29y
ZTo6RmlsdGVyT3BlcmF0aW9ucz46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5k
ZWNvZGVFbnVtKG1peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9yKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4g
cHJvZ3JhbSA9IFdlYkN1c3RvbUZpbHRlclByb2dyYW06OmNyZWF0ZSh2ZXJ0ZXhTaGFkZXJTdHJp
bmcsIGZyYWdtZW50U2hhZGVyU3RyaW5nLCBwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MpOworICAg
ICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1lc2hUeXBlKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3Jh
bT4gcHJvZ3JhbSA9IFdlYkN1c3RvbUZpbHRlclByb2dyYW06OmNyZWF0ZSh2ZXJ0ZXhTaGFkZXJT
dHJpbmcsIGZyYWdtZW50U2hhZGVyU3RyaW5nLCBwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MsIG1l
c2hUeXBlKTsKIAogICAgICAgICAgICAgdWludDMyX3QgcGFyYW1ldGVyc1NpemU7CiAgICAgICAg
ICAgICBpZiAoIWRlY29kZXItPmRlY29kZVVJbnQzMihwYXJhbWV0ZXJzU2l6ZSkpCkBAIC0zMjEs
MTUgKzMyNCwxMiBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9u
cz46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsCiAgICAgICAgICAgICB1bnNpZ25l
ZCBtZXNoUm93czsKICAgICAgICAgICAgIHVuc2lnbmVkIG1lc2hDb2x1bW5zOwogICAgICAgICAg
ICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSBtZXNoQm94VHlwZTsKLSAgICAg
ICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGU7CiAgICAgICAg
ICAgICBpZiAoIWRlY29kZXItPmRlY29kZShtZXNoUm93cykpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUobWVzaENvbHVtbnMp
KQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlRW51bShtZXNoQm94VHlwZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1lc2hUeXBlKSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgIGZpbHRlciA9IEN1c3RvbUZp
bHRlck9wZXJhdGlvbjo6Y3JlYXRlKHByb2dyYW0sIHBhcmFtZXRlcnMsIG1lc2hSb3dzLCBtZXNo
Q29sdW1ucywgbWVzaEJveFR5cGUsIG1lc2hUeXBlKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViQ3Vz
dG9tRmlsdGVyUHJvZ3JhbS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCmluZGV4IGViMDk3YzIuLjYwMzYxOGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkN1
c3RvbUZpbHRlclByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJDdXN0b21GaWx0ZXJQcm9ncmFtLmgKQEAgLTI3LDE1ICsyNywxNiBAQAog
I2RlZmluZSBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtX2gKIAogI2lmIFVTRShDT09SRElOQVRFRF9H
UkFQSElDUykgJiYgRU5BQkxFKENTU19TSEFERVJTKQorI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9t
RmlsdGVyQ29uc3RhbnRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJQcm9ncmFt
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDdXN0b21GaWx0ZXJQcm9ncmFt
IDogcHVibGljIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW0gewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdlYkN1c3RvbUZpbHRlclByb2dyYW0+IGNyZWF0ZShTdHJpbmcgdmVy
dGV4U2hhZGVyU3RyaW5nLCBTdHJpbmcgbV9mcmFnbWVudFNoYWRlclN0cmluZywgV2ViQ29yZTo6
Q3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIFdlYkNvcmU6OkN1c3RvbUZpbHRl
clByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncykKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxX
ZWJDdXN0b21GaWx0ZXJQcm9ncmFtPiBjcmVhdGUoU3RyaW5nIHZlcnRleFNoYWRlclN0cmluZywg
U3RyaW5nIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcsIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dy
YW1UeXBlIHByb2dyYW1UeXBlLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGlu
Z3MgbWl4U2V0dGluZ3MsIFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDdXN0b21GaWx0ZXJQcm9ncmFt
KHZlcnRleFNoYWRlclN0cmluZywgbV9mcmFnbWVudFNoYWRlclN0cmluZywgcHJvZ3JhbVR5cGUs
IG1peFNldHRpbmdzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ3VzdG9tRmls
dGVyUHJvZ3JhbSh2ZXJ0ZXhTaGFkZXJTdHJpbmcsIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcsIHBy
b2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUpKTsKICAgICB9CiAKICAgICB2aXJ0dWFs
IGJvb2wgaXNMb2FkZWQoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CkBAIC01NSw4
ICs1Niw4IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlTGFzdENsaWVu
dCgpIE9WRVJSSURFIHsgfQogCiBwcml2YXRlOgotICAgIFdlYkN1c3RvbUZpbHRlclByb2dyYW0o
U3RyaW5nIHZlcnRleFNoYWRlclN0cmluZywgU3RyaW5nIGZyYWdtZW50U2hhZGVyU3RyaW5nLCBX
ZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgV2ViQ29yZTo6Q3Vz
dG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzKQotICAgICAgICA6IFdlYkNv
cmU6OkN1c3RvbUZpbHRlclByb2dyYW0ocHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKQorICAgIFdl
YkN1c3RvbUZpbHRlclByb2dyYW0oU3RyaW5nIHZlcnRleFNoYWRlclN0cmluZywgU3RyaW5nIGZy
YWdtZW50U2hhZGVyU3RyaW5nLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9n
cmFtVHlwZSwgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRp
bmdzLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKKyAgICAgICAgOiBX
ZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtKHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVz
aFR5cGUpCiAgICAgICAgICwgbV92ZXJ0ZXhTaGFkZXJTdHJpbmcodmVydGV4U2hhZGVyU3RyaW5n
KQogICAgICAgICAsIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcoZnJhZ21lbnRTaGFkZXJTdHJpbmcp
CiAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171306</attachid>
            <date>2012-10-29 13:56:12 -0700</date>
            <delta_ts>2012-10-30 06:21:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>98973-9.patch</filename>
            <type>text/plain</type>
            <size>63404</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MzczMDc1Li5iMjY4NDdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTItMTAt
MjYgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNoZWNrcyB0byB2
ZXJpZnk6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMgZG8gbm90
IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTspLgorICAgICAgICAo
MikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5vdCBleGVjdXRlIHdp
dGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBOb3RlIHRoYXQgaW4gQ1NTIEN1c3RvbSBG
aWx0ZXJzLCB0aGUgYV90cmlhbmdsZUNvb3JkIGF0dHJpYnV0ZSBpcyBvbmx5IGF2YWlsYWJsZSBp
biBkZXRhY2hlZAorICAgICAgICBtZXNoZXMuIEluIGRldGFjaGVkIG1lc2hlcywgbm8gdmVydGlj
ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRyaWFuZ2xlcy4gVGh1cywgZWFjaCB2ZXJ0ZXgKKyAgICAg
ICAgYmVsb25ncyB0byBhIHNwZWNpZmljIHRyaWFuZ2xlLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQg
aWRlbnRpZmllcy4gSW4gYXR0YWNoZWQgbWVzaGVzLAorICAgICAgICB2ZXJ0aWNlcyBjYW4gYmVs
b25nIHRvIG1hbnkgdHJpYW5nbGVzLCB3aGljaCBhX3RyaWFuZ2xlQ29vcmQgY2Fubm90IGlkZW50
aWZ5IGJlY2F1c2UgaXQncworICAgICAgICBvbmx5IGEgdmVjMy4KKworICAgICAgICBDU1MgRmls
dGVycyBTcGVjLCBWZXJ0ZXggQXR0cmlidXRlczoKKyAgICAgICAgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9GWFRGL3Jhdy1maWxlL3RpcC9maWx0ZXJzL2luZGV4Lmh0bWwjdmVydGV4LWF0dHJpYnV0
ZS12YXJpYWJsZXMKKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0
b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBlcy5odG1s
OgorICAgICAgICAgICAgQWRkIHR3byBjaGVja3MgZm9yIHR3byBuZXcgdmVydGV4IHNoYWRlcnMu
IFVwZGF0ZSB0aGUgYV90cmlhbmdsZUNvb3JkIHR5cGUgY2hlY2sgdG8gdXNlCisgICAgICAgICAg
ICBhIGRldGFjaGVkIG1lc2gsIHNvIHRoZSB2ZXJ0ZXggc2hhZGVyIGZhaWxzIHRvIHZhbGlkYXRl
IGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzCisgICAgICAgICAgICBkZWZpbmVkIHdpdGggYW4g
aW5jb3JyZWN0IHR5cGUsIG5vdCBiZWNhdXNlIGl0IGRlZmluZXMgYV90cmlhbmdsZUNvb3JkIGlu
IGFuIGF0dGFjaGVkCisgICAgICAgICAgICBtZXNoLgorICAgICAgICAqIGNzczMvZmlsdGVycy9y
ZXNvdXJjZXMvaW52YWxpZC1hLXRyaWFuZ2xlLWNvb3JkLXdpdGgtYXR0YWNoZWQtbWVzaC52czoK
KyAgICAgICAgICAgIEFkZGVkLiBUaGlzIHZlcnRleCBzaGFkZXIgZGVmaW5lcyBhX3RyaWFuZ2xl
Q29vcmQgd2l0aCB0aGUgY29ycmVjdCB0eXBlLiBIb3dldmVyLCB0aGlzCisgICAgICAgICAgICBz
aGFkZXIgaXMgcnVuIHdpdGggYW4gYW4gYXR0YWNoZWQgbWVzaCwgc28gaXQgc2hvdWxkIG5vdCBl
eGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20t
YXR0cmlidXRlLnZzOgorICAgICAgICAgICAgQWRkZWQuIFRoaXMgdmVydGV4IHNoYWRlciBkZWZp
bmVzIGEgY3VzdG9tIGF0dHJpYnV0ZS4gVGhlIGFzc29jaWF0ZWQgdGVzdCB2ZXJpZmllcworICAg
ICAgICAgICAgdGhhdCBpdCBkb2VzIG5vdCBleGVjdXRlLgorICAgICAgICAqIGNzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52czoKKyAgICAgICAgICAgIFJl
bW92ZSBzb21lIGVtcHR5IGxpbmVzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkuCisgICAgICAgICog
Y3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1wb3NpdGlvbi52czogRGl0dG8u
CisgICAgICAgICogY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS10ZXgtY29v
cmQudnM6IERpdHRvLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10
eXBlLWEtdHJpYW5nbGUtY29vcmQudnM6CisgICAgICAgICAgICBBZGQgYSBjb21tZW50IHRoYXQg
dGhpcyBzaGFkZXIgc2hvdWxkIGJlIHJ1biB3aXRoIGEgZGV0YWNoZWQgbWVzaC4KKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnM6
CisgICAgICAgICAgICBSZW1vdmUgc29tZSBlbXB0eSBsaW5lcyB0byBpbXByb3ZlIHJlYWRhYmls
aXR5LgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJp
YW5nbGUtY29vcmQudnM6IERpdHRvLgorCiAyMDEyLTEwLTI5ICBEYXZpZCBCYXJ0b24gIDxkYmFy
dG9uQG1hdGhzY3JpYmUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBMYXlv
dXRUZXN0cy9tYXRobWwvbXN1YnN1cC1mdXp6Lmh0bWwgcGFzc2VzIGxvY2FsbHkgYnV0IG5vdCBv
bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1
c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMt
ZXhwZWN0ZWQuaHRtbAppbmRleCA2NzkwZmRlLi40ZDAwNGQxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUt
dHlwZXMtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9t
L2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMtZXhwZWN0ZWQuaHRtbApAQCAt
MSwxMCArMSwxMCBAQAogPCFkb2N0eXBlIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotICAgIDx0aXRs
ZT5UZXN0cyB0aGF0IGN1c3RvbSBmaWx0ZXJzIGRvIG5vdCBleGVjdXRlIGlmIHRoZSBhdXRob3Ig
ZGVmaW5lcyBidWlsdC1pbiBhdHRyaWJ1dGVzIHdpdGggdGhlIHdyb25nIHR5cGUuPC90aXRsZT4K
KyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhlY3V0ZSBpZiB0
aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0eXBl
IG9yIGRlZmluZXMgY3VzdG9tIGF0dHJpYnV0ZXMuPC90aXRsZT4KICAgICA8IS0tIAogICAgICAg
ICBUaGlzIGlzIHRoZSByZWZlcmVuY2UgZmlsZSBmb3IgdGhlIHRlc3QuCi0gICAgICAgIElmIHRo
ZSB0ZXN0IHBhc3NlcywgeW91IHNob3VsZCBzZWUgNSB2ZXJ0aWNhbGx5LXN0YWNrZWQgZ3JlZW4g
Ym94ZXMuCisgICAgICAgIElmIHRoZSB0ZXN0IHBhc3NlcywgeW91IHNob3VsZCBzZWUgNyB2ZXJ0
aWNhbGx5LXN0YWNrZWQgZ3JlZW4gYm94ZXMuCiAgICAgLS0+CiAgICAgPHN0eWxlPgogICAgIGRp
diB7CkBAIC0yMSw1ICsyMSw3IEBACiAgICAgPGRpdj48L2Rpdj4KICAgICA8ZGl2PjwvZGl2Pgog
ICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48L2Rpdj4KKyAgICA8ZGl2PjwvZGl2PgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9p
bnZhbGlkLWN1c3RvbS1maWx0ZXItYXR0cmlidXRlLXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMu
aHRtbAppbmRleCBhNmFhMDU0Li5kNTY1YmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1hdHRyaWJ1dGUtdHlwZXMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZp
bHRlci1hdHRyaWJ1dGUtdHlwZXMuaHRtbApAQCAtMSw4ICsxLDggQEAKIDwhZG9jdHlwZSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KLSAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBk
byBub3QgZXhlY3V0ZSBpZiB0aGUgYXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3
aXRoIHRoZSB3cm9uZyB0eXBlLjwvdGl0bGU+Ci0gICAgPCEtLSBJZiB0aGUgdGVzdCBwYXNzZXMs
IHlvdSBzaG91bGQgc2VlIDUgdmVydGljYWxseS1zdGFja2VkIGdyZWVuIGJveGVzLiAtLT4KKyAg
ICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVycyBkbyBub3QgZXhlY3V0ZSBpZiB0aGUg
YXV0aG9yIGRlZmluZXMgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0eXBlIG9y
IGRlZmluZXMgY3VzdG9tIGF0dHJpYnV0ZXMuPC90aXRsZT4KKyAgICA8IS0tIElmIHRoZSB0ZXN0
IHBhc3NlcywgeW91IHNob3VsZCBzZWUgNyB2ZXJ0aWNhbGx5LXN0YWNrZWQgZ3JlZW4gYm94ZXMu
IC0tPgogICAgIDxzY3JpcHQ+CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
ICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1ND
dXN0b21GaWx0ZXJFbmFibGVkIiwgIjEiKTsKQEAgLTI1LDYgKzI1LDkgQEAKICAgICAgICAgaGVp
Z2h0OiA1MHB4OwogICAgICAgICBtYXJnaW46IDEwcHg7CiAgICAgfQorICAgIC5pbnZhbGlkLWN1
c3RvbS1hdHRyaWJ1dGUgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4v
cmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cycpIG1peCh1cmwoJy4uL3Jlc291
cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApLCBtaXhfY29sb3IgMS4wIDAu
MCAwLjAgMS4wKTsKKyAgICB9CiAgICAgLmludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQgewogICAg
ICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtdHlw
ZS1hLW1lc2gtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykg
bm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7CiAgICAgfQpA
QCAtMzUsMTggKzM4LDI4IEBACiAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcu
Li9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVz
b3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAg
MC4wIDAuMCAxLjApOwogICAgIH0KICAgICAuaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQg
ewotICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFs
aWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1j
b2xvci5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAxLjAp
OworICAgICAgICAvKiBUaGlzIGN1c3RvbSBmaWx0ZXIgdXNlcyBhIGRldGFjaGVkIG1lc2ggYmVj
YXVzZSBhX3RyaWFuZ2xlQ29vcmQgaXMgb25seSBhdmFpbGFibGUgd2l0aCBhIGRldGFjaGVkIG1l
c2guICovCisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMv
aW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMv
bWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgMSAxIGRldGFjaGVkLCBtaXhfY29s
b3IgMS4wIDAuMCAwLjAgMS4wKTsKICAgICB9CiAgICAgLmludmFsaWQtdHlwZS1hdHRyaWJ1dGUt
YXJyYXkgewogICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2Vz
L2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMv
bWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDEuMCAwLjAgMC4w
IDEuMCk7ICAgICAgICAKICAgICB9CisgICAgLmludmFsaWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkg
eworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFs
aWQtdHlwZS1hdHRyaWJ1dGUtYXJyYXkudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNv
bG9yLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDEuMCAwLjAgMC4wIDEuMCk7
ICAgICAgICAKKyAgICB9CisgICAgLmludmFsaWQtYXR0YWNoZWQtbWVzaC1hLXRyaWFuZ2xlLWNv
b3JkIHsKKyAgICAgICAgLyogVGhpcyBjdXN0b20gZmlsdGVyIHVzZXMgYW4gYXR0YWNoZWQgbWVz
aCB0byB2ZXJpZnkgdGhhdCBhX3RyaWFuZ2xlQ29vcmQgaXMgbm90IGEgYXZhaWxhYmxlIHdpdGgg
YW4gYXR0YWNoZWQgbWVzaC4gKi8KKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwo
Jy4uL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5nbGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNo
LnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBzb3VyY2Ut
YXRvcCksIG1peF9jb2xvciAxLjAgMC4wIDAuMCAxLjApOyAgICAgICAgCisgICAgfQogICAgIDwv
c3R5bGU+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPGRpdiBjbGFz
cz0iaW52YWxpZC1jdXN0b20tYXR0cmlidXRlIj48L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJpbnZh
bGlkLXR5cGUtYS1tZXNoLWNvb3JkIj48L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJpbnZhbGlkLXR5
cGUtYS1wb3NpdGlvbiI+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iaW52YWxpZC10eXBlLWEtdGV4
LWNvb3JkIj48L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJpbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1j
b29yZCI+PC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJh
eSI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iaW52YWxpZC1hdHRhY2hlZC1tZXNoLWEtdHJpYW5n
bGUtY29vcmQiPjwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5nbGUtY29vcmQtd2l0aC1h
dHRhY2hlZC1tZXNoLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZh
bGlkLWEtdHJpYW5nbGUtY29vcmQtd2l0aC1hdHRhY2hlZC1tZXNoLnZzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjNThjOGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtYS10cmlhbmdsZS1jb29yZC13aXRo
LWF0dGFjaGVkLW1lc2gudnMKQEAgLTAsMCArMSwxMiBAQAorLy8gVGhpcyBzaGFkZXIgc2hvdWxk
IG5vdCBleGVjdXRlIGlmIHRoZSBtZXNoIGlzIGF0dGFjaGVkIGJlY2F1c2UgYV90cmlhbmdsZUNv
b3JkIGlzIG9ubHkgYXZhaWxhYmxlIGluIGRldGFjaGVkIG1lc2hzZXMuCisKK3ByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OworCithdHRyaWJ1dGUgdmVjMyBhX3RyaWFuZ2xlQ29vcmQ7CithdHRyaWJ1
dGUgdmVjNCBhX3Bvc2l0aW9uOwordW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKKwor
dm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHVfcHJvamVjdGlvbk1hdHJpeCAqIGFf
cG9zaXRpb247Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3Vy
Y2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC1jdXN0b20tYXR0cmlidXRlLnZzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjNlYjZiMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cwpAQCAt
MCwwICsxLDEyIEBACisvLyBJZiB0aGlzIHNoYWRlcidzIHJlbGF0ZWQgdGVzdCBwYXNzZXMsIHRo
ZSBjdXN0b20gZmlsdGVyIGRvZXMgbm90IGV4ZWN1dGUgYmVjYXVzZSBteV9hdHRyaWJ1dGUgaXMg
bm90IG9uZSBvZiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlcy4KKworcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CisKK2F0dHJpYnV0ZSBmbG9hdCBteV9hdHRyaWJ1dGU7CithdHRyaWJ1dGUgdmVjNCBh
X3Bvc2l0aW9uOwordW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKKwordm9pZCBtYWlu
KCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHVfcHJvamVjdGlvbk1hdHJpeCAqIGFfcG9zaXRpb247
Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFs
aWQtdHlwZS1hLW1lc2gtY29vcmQudnMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3Vy
Y2VzL2ludmFsaWQtdHlwZS1hLW1lc2gtY29vcmQudnMKaW5kZXggM2FkZTljOC4uMDgyNDk3NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5
cGUtYS1tZXNoLWNvb3JkLnZzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJj
ZXMvaW52YWxpZC10eXBlLWEtbWVzaC1jb29yZC52cwpAQCAtNCw3ICs0LDYgQEAgcHJlY2lzaW9u
IG1lZGl1bXAgZmxvYXQ7CiAKIC8vIGFfbWVzaENvb3JkIHNob3VsZCBiZSBhIHZlYzIsIG5vdCBh
IGZsb2F0LgogYXR0cmlidXRlIGZsb2F0IGFfbWVzaENvb3JkOwotCiBhdHRyaWJ1dGUgdmVjNCBh
X3Bvc2l0aW9uOwogCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9uTWF0cml4OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1wb3Np
dGlvbi52cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBl
LWEtcG9zaXRpb24udnMKaW5kZXggYmRhNDhlOC4uNTE1NGVhNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYS1wb3NpdGlvbi52cwor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hLXBv
c2l0aW9uLnZzCkBAIC00LDcgKzQsNiBAQCBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKIAogLy8g
YV9wb3NpdGlvbiBzaG91bGQgYmUgYSB2ZWM0LCBub3QgYSB2ZWMzLgogYXR0cmlidXRlIHZlYzMg
YV9wb3NpdGlvbjsKLQogdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKIAogdm9pZCBt
YWluKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvaW52
YWxpZC10eXBlLWEtdGV4LWNvb3JkLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXR5cGUtYS10ZXgtY29vcmQudnMKaW5kZXggNzYxMTMzMS4uMjQyOWM3MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5
cGUtYS10ZXgtY29vcmQudnMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNl
cy9pbnZhbGlkLXR5cGUtYS10ZXgtY29vcmQudnMKQEAgLTQsOSArNCw3IEBAIHByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OwogCiAvLyBhX21lc2hDb29yZCBzaG91bGQgYmUgYSB2ZWMyLCBub3QgYW4g
dmVjNC4KIGF0dHJpYnV0ZSB2ZWM0IGFfdGV4Q29vcmQ7Ci0KIGF0dHJpYnV0ZSB2ZWM0IGFfcG9z
aXRpb247Ci0KIHVuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRyaXg7CiAKIHZvaWQgbWFpbigp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQt
dHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXR5cGUtYS10cmlhbmdsZS1jb29yZC52cwppbmRleCA4NWMzYWI1Li5iZWQ2
NjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFs
aWQtdHlwZS1hLXRyaWFuZ2xlLWNvb3JkLnZzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWEtdHJpYW5nbGUtY29vcmQudnMKQEAgLTEsMTIgKzEs
MTEgQEAKIC8vIElmIHRoaXMgc2hhZGVyJ3MgcmVsYXRlZCB0ZXN0IHBhc3NlcywgdGhlIGN1c3Rv
bSBmaWx0ZXIgZG9lcyBub3QgZXhlY3V0ZSBiZWNhdXNlIGFfdHJpYW5nbGVDb29yZCdzIHR5cGUg
aXMgaW52YWxpZC4KKy8vIFRoZSBjdXN0b20gZmlsdGVyIHNob3VsZCBkZWZpbmUgYSBkZXRhY2hl
ZCBtZXNoIGJlY2F1c2UgYV90cmlhbmdsZUNvb3JkIGlzIG9ubHkgYXZhaWxhYmxlIHdpdGggYSBk
ZXRhY2hlZCBtZXNoLgogCiBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKIAotLy8gYV9tZXNoQ29v
cmQgc2hvdWxkIGJlIGEgdmVjMywgbm90IGEgdmVjMi4KKy8vIGFfdHJpYW5nbGVDb29yZCBzaG91
bGQgYmUgYSB2ZWMzLCBub3QgYSB2ZWMyLgogYXR0cmlidXRlIHZlYzIgYV90cmlhbmdsZUNvb3Jk
OwotCiBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwotCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0
aW9uTWF0cml4OwogCiB2b2lkIG1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5LnZzIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXR5cGUtYXR0cmlidXRlLWFycmF5
LnZzCmluZGV4IDM3YzQyMjEuLjYxM2U3OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvaW52YWxpZC10eXBlLWF0dHJpYnV0ZS1hcnJheS52cworKysgYi9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtdHlwZS1hdHRyaWJ1dGUt
YXJyYXkudnMKQEAgLTQsNyArNCw2IEBAIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwogCiAvLyBh
X3Bvc2l0aW9uIHNob3VsZCBiZSBhIHZlYzQsIG5vdCBhIHZlYzQgYXJyYXkuCiBhdHRyaWJ1dGUg
dmVjNCBhX3Bvc2l0aW9uWzFdOwotCiB1bmlmb3JtIG1hdDQgdV9wcm9qZWN0aW9uTWF0cml4Owog
CiB2b2lkIG1haW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVkZGE5MjcuLmU0NjZkMTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMTEgQEAKKzIwMTItMTAtMjYgIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRv
YmUuY29tPgorCisgICAgICAgIFtDU1MgU2hhZGVyc10gUmVqZWN0IHZlcnRleCBzaGFkZXJzIHdp
dGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4OTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wcm92ZWQgQ1NTIEN1c3RvbSBGaWx0ZXJzIHNoYWRlciB2YWxpZGF0aW9u
LiBXaXRoIHRoaXMgcGF0Y2g6CisgICAgICAgICgxKSBTaGFkZXJzIHdpdGggY3VzdG9tIGF0dHJp
YnV0ZXMgZG8gbm90IGV4ZWN1dGUgKGUuZy4gYXR0cmlidXRlIGZsb2F0IG15X2F0dHJpYnV0ZTsp
LgorICAgICAgICAoMikgU2hhZGVycyB3aXRoIGFfdHJpYW5nbGVDb29yZCBkZWZpbmVkIGRvIG5v
dCBleGVjdXRlIHdpdGggYW4gYXR0YWNoZWQgbWVzaC4KKworICAgICAgICBNb3N0IG9mIHRoZSBj
aGFuZ2VzIGFyZSBmcm9tIHJlbmFtaW5nIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUg
dG8KKyAgICAgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUsIGFuZCBtb3ZpbmcgdGhlIGVudW1lcmF0
aW9uIHRvIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oLiBUaGlzIGF2b2lkcworICAgICAgICBwdWxs
aW5nIGluIEN1c3RvbUZpbHRlck9wZXJhdGlvbiBmb3IgY2xhc3NlcyB0aGF0IG9ubHkgY2FyZSBh
Ym91dCB0aGUgbWVzaCB0eXBlLgorCisgICAgICAgIE5vdGUgdGhhdCBpbiBDU1MgQ3VzdG9tIEZp
bHRlcnMsIHRoZSBhX3RyaWFuZ2xlQ29vcmQgYXR0cmlidXRlIGlzIG9ubHkgYXZhaWxhYmxlIGlu
IGRldGFjaGVkCisgICAgICAgIG1lc2hlcy4gSW4gZGV0YWNoZWQgbWVzaGVzLCBubyB2ZXJ0aWNl
cyBhcmUgc2hhcmVkIGJldHdlZW4gdHJpYW5nbGVzLiBUaHVzLCBlYWNoIHZlcnRleAorICAgICAg
ICBiZWxvbmdzIHRvIGEgc3BlY2lmaWMgdHJpYW5nbGUsIHdoaWNoIGFfdHJpYW5nbGVDb29yZCBp
ZGVudGlmaWVzLiBJbiBhdHRhY2hlZCBtZXNoZXMsCisgICAgICAgIHZlcnRpY2VzIGNhbiBiZWxv
bmcgdG8gbWFueSB0cmlhbmdsZXMsIHdoaWNoIGFfdHJpYW5nbGVDb29yZCBjYW5ub3QgaWRlbnRp
ZnkgYmVjYXVzZSBpdCdzCisgICAgICAgIG9ubHkgYSB2ZWMzLgorCisgICAgICAgIFRlc3RzOgor
ICAgICAgICBBZGQgdHdvIG5ldyBjaGVja3MgdG8gdGhlIHRlc3QgZmlsZToKKyAgICAgICAgICAg
IGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLWF0dHJpYnV0ZS10eXBl
cy5odG1sCisgICAgICAgIEFkZCB0d28gbmV3IHNoYWRlcnM6CisgICAgICAgICAgICBjc3MzL2Zp
bHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtY3VzdG9tLWF0dHJpYnV0ZS52cworICAgICAgICAgICAg
Y3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLWEtdHJpYW5nbGUtY29vcmQtd2l0aC1hdHRh
Y2hlZC1tZXNoLnZzCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICAgICBVcGRhdGUgYSBicm9rZW4gcmVmZXJlbmNlIHRvIEN1c3RvbUZpbHRl
ckNvbnN0YW50cy5oIGluIHRoZSBYY29kZSBwcm9qZWN0IGZpbGUuCisgICAgICAgICogY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmlsdGVyKToKKyAgICAgICAgICAgIFJlcGxh
Y2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSB3aXRoIEN1c3RvbUZpbHRlck1lc2hU
eXBlLgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbik6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmg6
CisgICAgICAgICAgICBBZGQgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgZW51bSB0byBzaGFyZSBhY3Jv
c3MgdGhlIEN1c3RvbSBGaWx0ZXJzIGNvZGViYXNlLCBzbyB0aGF0IHdlCisgICAgICAgICAgICBk
b24ndCBoYXZlIHRvIGluY2x1ZGUgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uIGp1c3QgdG8gYWNjZXNz
IHRoZSBvbGQKKyAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgZW51
bS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVzaDo6Q3VzdG9tRmlsdGVyTWVz
aCk6CisgICAgICAgICAgICBSZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUg
d2l0aCBDdXN0b21GaWx0ZXJNZXNoVHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRl
ck1lc2g6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyTWVz
aDo6bWVzaFR5cGUpOiBEaXR0by4KKyAgICAgICAgKEN1c3RvbUZpbHRlck1lc2gpOiBEaXR0by4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5l
cmF0b3IuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2hHZW5l
cmF0b3I6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OmR1bXBCdWZmZXJzKTogRGl0dG8uCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9y
Lmg6CisgICAgICAgIChDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9yOjpmbG9hdHNQZXJWZXJ0ZXgpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OnZlcnRp
Y2VzQ291bnQpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlck9wZXJhdGlvbi5jcHA6IAorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24pOiBEaXR0by4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6bWVzaFR5cGUpOiBEaXR0by4KKyAgICAg
ICAgKEN1c3RvbUZpbHRlck9wZXJhdGlvbik6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJQcm9ncmFtOjpDdXN0b21GaWx0ZXJQcm9ncmFtKToKKyAgICAgICAgICAg
IEFkZCBhIG1lc2hUeXBlIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBiZWNhdXNlIHRoZSBwcm9ncmFt
IG5vdyBuZWVkcyB0byBrbm93IHRoZSBtZXNoVHlwZQorICAgICAgICAgICAgdG8gcHJvcGVybHkg
dmFsaWRhdGUuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtOjpwcm9ncmFt
SW5mbyk6CisgICAgICAgICAgICBQYXNzIG1lc2hUeXBlIHRvIEN1c3RvbUZpbHRlclByb2dyYW0g
Y29uc3RydWN0b3IuCisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtOjpvcGVy
YXRvcj09KToKKyAgICAgICAgICAgIENoZWNrIHRoZSBtZXNoVHlwZSBpbiB0aGUgZXF1YWxzIG9w
ZXJhdG9yLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbS5oOgorICAgICAgICAgICAgTWFrZSB2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSBhbmQgZnJh
Z21lbnRTaGFkZXJTdHJpbmcoKSBwdWJsaWMgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIGFzawor
ICAgICAgICAgICAgZm9yIGEgcHJvZ3JhbUluZm8gb2JqZWN0IGp1c3QgdG8gZ2V0IHRoZSBzaGFk
ZXIgc3RyaW5ncyBpbgorICAgICAgICAgICAgQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29k
ZXJzLmNwcC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clByb2dyYW1JbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW1J
bmZvOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyk6CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlw
ZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuICAgICAgIAorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9t
RmlsdGVyUHJvZ3JhbUluZm86Omhhc2gpOgorICAgICAgICAgICAgSW5jbHVkZSB0aGUgbWVzaFR5
cGUgaW4gdGhlIHZhbGlkYXRlZCBwcm9ncmFtIGhhc2gsIHNpbmNlIHRoZSBzYW1lIHNoYWRlciBj
b2RlIGNhbiBwYXNzCisgICAgICAgICAgICBvciBmYWlsIHZhbGlkYXRpb24gYmFzZWQgb24gdGhl
IG1lc2hUeXBlLgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86Om9w
ZXJhdG9yPT0pOgorICAgICAgICAgICAgQ2hlY2sgdGhlIG1lc2hUeXBlIGluIHRoZSBlcXVhbHMg
b3BlcmF0b3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJQcm9ncmFtSW5mby5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8pOgorICAg
ICAgICAgICAgVXBkYXRlIG1ldGhvZCBwcm90b3R5cGUuCisgICAgICAgIChXZWJDb3JlOjpDdXN0
b21GaWx0ZXJQcm9ncmFtSW5mbzo6bWVzaFR5cGUpOgorICAgICAgICAgICAgQWRkIG1lc2hUeXBl
IGdldHRlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbTo6dmFsaWRhdGVTeW1ib2xzKToKKyAgICAgICAgICAgIElmIHRoZSBhdXRo
b3IgZGVmaW5lcyBhdHRyaWJ1dGUgdGhhdCBpcyBpcyBub3QgZm91bmQgaW4gdGhlIGJ1aWx0LWlu
IGF0dHJpYnV0ZSBtYXAsCisgICAgICAgICAgICByZWplY3QgdGhlIHNoYWRlci4KKyAgICAgICAg
ICAgIElmIHRoZSBhdXRob3IgZGVmaW5lcyBhX3RyaWFuZ2xlQ29vcmQgd2l0aG91dCBhIGRldGFj
aGVkIG1lc2ggdHlwZSwgcmVqZWN0IHRoZSBzaGFkZXIuCisgICAgICAgICAgICBBbHNvLCBtYWtl
IHRoaXMgcHJldmlvdXNseSBmaWxlLXN0YXRpYyBmdW5jdGlvbiBpbnRvIGEgbWV0aG9kIG9mCisg
ICAgICAgICAgICBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtIGJlY2F1c2UgaXQgbm93IG5l
ZWRzIHRvIGFjY2VzcyB0aGUgbV9tZXNoVHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaDoKKyAgICAgICAgKEN1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0pOgorICAgICAgICAgICAgQWRkIGEgbWVzaFR5cGUgY29u
c3RydWN0b3IgcGFyYW1ldGVyIGJlY2F1c2UgdGhlIHByb2dyYW0gbm93IG5lZWRzIHRvIGtub3cg
dGhlIG1lc2hUeXBlCisgICAgICAgICAgICB0byBwcm9wZXJseSB2YWxpZGF0ZS4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpGRUN1c3RvbUZpbHRlcik6CisgICAgICAgICAgICBS
ZXBsYWNlIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgd2l0aCBDdXN0b21GaWx0ZXJN
ZXNoVHlwZS4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpjcmVhdGUpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZl
cnMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjp1bmJpbmRWZXJ0
ZXhBdHRyaWJ1dGVzKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUN1c3RvbUZpbHRlci5oOgorICAgICAgICAoRkVDdXN0b21GaWx0ZXIpOiBEaXR0by4KKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZUN1c3RvbUZpbHRlclByb2dyYW06OmNyZWF0ZSk6CisgICAgICAg
ICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJD
b3JlOjpTdHlsZUN1c3RvbUZpbHRlclByb2dyYW06OlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSk6
IERpdHRvLgorCiAyMDEyLTEwLTI5ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFN1cHBvcnQgY2FwdGlvbnMgd2hlbiBQTFVHSU5fUFJPWFlfRk9SX1ZJ
REVPCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggODIyYzBlYy4uYzhhNmRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzgwNCwxMSArMzgwNCwxMSBAQAogCQlB
MUUxMTU0NDEzMDE1QzNEMDA1NEFDOEMgLyogRGlzdGFudExpZ2h0U291cmNlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRTExNTQzMTMwMTVDM0Qw
MDU0QUM4QyAvKiBEaXN0YW50TGlnaHRTb3VyY2UuY3BwICovOyB9OwogCQlBMUUxMTU0NjEzMDE1
QzRFMDA1NEFDOEMgLyogUG9pbnRMaWdodFNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUUxMTU0NTEzMDE1QzRFMDA1NEFDOEMgLyogUG9p
bnRMaWdodFNvdXJjZS5jcHAgKi87IH07CiAJCUExRTExNTQ4MTMwMTVDNUQwMDU0QUM4QyAvKiBT
cG90TGlnaHRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFFMTE1NDcxMzAxNUM1RDAwNTRBQzhDIC8qIFNwb3RMaWdodFNvdXJjZS5jcHAg
Ki87IH07Ci0JCUEyNEEzQTlEMTYyNDk5RkYwMDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFu
dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyNEEz
QTlDMTYyNDk5RkYwMDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLzsgfTsKIAkJ
QTI0QkY3N0IxNUNDM0JBRjAwMzE5MUYyIC8qIFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyNEJGNzc5MTVD
QzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggKi87IH07CiAJCUEy
NEJGNzdDMTVDQzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyNEJGNzdBMTVD
QzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJ
QTI5NTMyQ0YxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTI5NTMy
Q0QxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwICov
OyB9OwogCQlBMjk1MzJEMDE1REQ1RTE3MDA0NjlFQkMgLyogQ3VzdG9tRmlsdGVyVmFsaWRhdGVk
UHJvZ3JhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTI5NTMyQ0UxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0u
aCAqLzsgfTsKKwkJQTJCMkFFN0MxNjM3NUVFNTAwQ0ZBNTBCIC8qIEN1c3RvbUZpbHRlckNvbnN0
YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTJC
MkFFN0IxNjM3NUVFNTAwQ0ZBNTBCIC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oICovOyB9Owog
CQlBM0JCNTlGMzE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzQkI1OUYxMTQ1N0E0
MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUuY3BwICovOyB9OwogCQlBM0JCNTlGNDE0
NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0JCNTlGMjE0NTdBNDBEMDBBQzU2RkUgLyog
RG9jdW1lbnRFdmVudFF1ZXVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQTNFMjY0MzAxNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVl
dWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNF
MjY0MkUxNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwICovOyB9OwpAQCAt
MTEwNzUsMTEgKzExMDc1LDExIEBACiAJCUExRTExNTQzMTMwMTVDM0QwMDU0QUM4QyAvKiBEaXN0
YW50TGlnaHRTb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
RGlzdGFudExpZ2h0U291cmNlLmNwcDsgcGF0aCA9IGZpbHRlcnMvRGlzdGFudExpZ2h0U291cmNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFFMTE1NDUxMzAxNUM0RTAwNTRB
QzhDIC8qIFBvaW50TGlnaHRTb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gUG9pbnRMaWdodFNvdXJjZS5jcHA7IHBhdGggPSBmaWx0ZXJzL1BvaW50TGlnaHRT
b3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUUxMTU0NzEzMDE1QzVE
MDA1NEFDOEMgLyogU3BvdExpZ2h0U291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFNwb3RMaWdodFNvdXJjZS5jcHA7IHBhdGggPSBmaWx0ZXJzL1Nwb3RMaWdo
dFNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUEyNEEzQTlDMTYyNDk5
RkYwMDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUEyNEJGNzc5MTVDQzNCQUYwMDMxOTFGMiAvKiBXZWJLaXRDU1NNaXhGdW5j
dGlvblZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdENTU01p
eEZ1bmN0aW9uVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTI0QkY3N0Ex
NUNDM0JBRjAwMzE5MUYyIC8qIFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyOTUzMkNEMTVERDVFMTcwMDQ2OUVC
QyAvKiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwOyBwYXRo
ID0gZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTI5NTMyQ0UxNURENUUxNzAwNDY5RUJDIC8qIEN1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ3Vz
dG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oOyBwYXRoID0gZmlsdGVycy9DdXN0b21GaWx0ZXJW
YWxpZGF0ZWRQcm9ncmFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEyQjJBRTdC
MTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmg7IHBhdGggPSBmaWx0
ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERvY3VtZW50RXZlbnRRdWV1ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzQkI1OUYyMTQ1N0E0MEQwMEFDNTZGRSAv
KiBEb2N1bWVudEV2ZW50UXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RG9jdW1lbnRFdmVudFF1ZXVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzRTI2
NDJFMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdvcmtlckV2ZW50UXVldWUuY3BwOyBwYXRoID0gd29y
a2Vycy9Xb3JrZXJFdmVudFF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE4MjU0LDcgKzE4MjU0LDcgQEAKIAkJCQkxNUIzRkMxNzE1RkIyMTc4MDBBODFCQ0IgLyogQ3Vz
dG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCAqLywKIAkJCQk1MEQ0MDYwRjE0N0Q0OURFMDBEMzBC
QjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcCAqLywKIAkJCQk1MEQ0MDYxMDE0
N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmggKi8sCi0JCQkJ
QTI0QTNBOUMxNjI0OTlGRjAwNTIyNzQ1IC8qIEN1c3RvbUZpbHRlckNvbnN0YW50cy5oICovLAor
CQkJCUEyQjJBRTdCMTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCAq
LywKIAkJCQk1MDk4N0MyNDE1N0Q2NzZEMDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29u
dGV4dC5jcHAgKi8sCiAJCQkJNTA5ODdDMjUxNTdENjc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRl
ckdsb2JhbENvbnRleHQuaCAqLywKIAkJCQk1MEQ0MDVGNzE0N0QzMUYzMDBEMzBCQjUgLyogQ3Vz
dG9tRmlsdGVyTWVzaC5jcHAgKi8sCkBAIC0yMjY5Nyw3ICsyMjY5Nyw3IEBACiAJCQkJNjJDRDMy
NUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
NUIzRkMxOTE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTUwRDQwNjEyMTQ3RDQ5REUwMEQzMEJCNSAvKiBDdXN0b21GaWx0
ZXJDb21waWxlZFByb2dyYW0uaCBpbiBIZWFkZXJzICovLAotCQkJCUEyNEEzQTlEMTYyNDk5RkYw
MDUyMjc0NSAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUEy
QjJBRTdDMTYzNzVFRTUwMENGQTUwQiAvKiBDdXN0b21GaWx0ZXJDb25zdGFudHMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUwOTg3QzI3MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9i
YWxDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MEQ0MDVGQTE0N0QzMUYzMDBEMzBCQjUg
LyogQ3VzdG9tRmlsdGVyTWVzaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0UxMkU5MEYxNUZBNUQz
QTAwNUU0MTI2IC8qIEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAppbmRleCBiM2E3ZTUyLi42ODk0YmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtOTQwLDcgKzk0MCw3IEBAIFBhc3NS
ZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6dmFsdWVGb3JGaWx0
ZXIoY29uc3QgUmVuZGVyT2JqCiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIEZJWE1FOiBU
aGUgc3BlY2lmaWNhdGlvbiBkb2Vzbid0IGhhdmUgYW55ICJhdHRhY2hlZCIgaWRlbnRpZmllci4g
U2hvdWxkIHdlIGFkZCBvbmU/CiAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MDAKLSAgICAgICAgICAgIGlmIChjdXN0b21PcGVyYXRpb24t
Pm1lc2hUeXBlKCkgPT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpERVRBQ0hFRCkKKyAgICAgICAg
ICAgIGlmIChjdXN0b21PcGVyYXRpb24tPm1lc2hUeXBlKCkgPT0gTWVzaFR5cGVEZXRhY2hlZCkK
ICAgICAgICAgICAgICAgICBtZXNoUGFyYW1ldGVycy0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZURldGFjaGVkKSk7CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIGZpbHRlclZhbHVlLT5hcHBlbmQobWVzaFBhcmFtZXRlcnMucmVsZWFzZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCAwM2QxMmQyLi42NTk0ZGZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xNTcsNiArMTU3LDcgQEAKIAog
I2lmIEVOQUJMRShDU1NfU0hBREVSUykKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJBcnJheVBhcmFt
ZXRlci5oIgorI2luY2x1ZGUgIkN1c3RvbUZpbHRlckNvbnN0YW50cy5oIgogI2luY2x1ZGUgIkN1
c3RvbUZpbHRlck51bWJlclBhcmFtZXRlci5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlck9wZXJh
dGlvbi5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclBhcmFtZXRlci5oIgpAQCAtNDgxMiw3ICs0
ODEzLDcgQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJPcGVyYXRpb24+IFN0eWxlUmVzb2x2ZXI6
OmNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbihXZWIKICAgICB1bnNpZ25lZCBtZXNoUm93cyA9
IDE7CiAgICAgdW5zaWduZWQgbWVzaENvbHVtbnMgPSAxOwogICAgIEN1c3RvbUZpbHRlck9wZXJh
dGlvbjo6TWVzaEJveFR5cGUgbWVzaEJveFR5cGUgPSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkZJ
TFRFUl9CT1g7Ci0gICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSBtZXNoVHlwZSA9
IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQ7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5
cGUgbWVzaFR5cGUgPSBNZXNoVHlwZUF0dGFjaGVkOwogICAgIAogICAgIENTU1ZhbHVlKiBwYXJh
bWV0ZXJzVmFsdWUgPSAwOwogICAgIApAQCAtNDg1Niw3ICs0ODU3LDcgQEAgUGFzc1JlZlB0cjxD
dXN0b21GaWx0ZXJPcGVyYXRpb24+IFN0eWxlUmVzb2x2ZXI6OmNyZWF0ZUN1c3RvbUZpbHRlck9w
ZXJhdGlvbihXZWIKICAgICAgICAgaWYgKGl0ZXJhdG9yLmhhc01vcmUoKSAmJiBpdGVyYXRvci5p
c1ByaW1pdGl2ZVZhbHVlKCkpIHsKICAgICAgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmlt
aXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4oaXRlcmF0b3IudmFs
dWUoKSk7CiAgICAgICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkgPT0gQ1NT
VmFsdWVEZXRhY2hlZCkgewotICAgICAgICAgICAgICAgIG1lc2hUeXBlID0gQ3VzdG9tRmlsdGVy
T3BlcmF0aW9uOjpERVRBQ0hFRDsKKyAgICAgICAgICAgICAgICBtZXNoVHlwZSA9IE1lc2hUeXBl
RGV0YWNoZWQ7CiAgICAgICAgICAgICAgICAgaXRlcmF0b3IuYWR2YW5jZSgpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CkBAIC00ODc2LDcgKzQ4NzcsNyBAQCBQYXNzUmVmUHRyPEN1c3RvbUZp
bHRlck9wZXJhdGlvbj4gU3R5bGVSZXNvbHZlcjo6Y3JlYXRlQ3VzdG9tRmlsdGVyT3BlcmF0aW9u
KFdlYgogICAgIGlmIChwYXJhbWV0ZXJzVmFsdWUgJiYgIXBhcnNlQ3VzdG9tRmlsdGVyUGFyYW1l
dGVyTGlzdChwYXJhbWV0ZXJzVmFsdWUsIHBhcmFtZXRlckxpc3QpKQogICAgICAgICByZXR1cm4g
MDsKICAgICAKLSAgICBSZWZQdHI8U3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtPiBwcm9ncmFtID0g
U3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtOjpjcmVhdGUodmVydGV4U2hhZGVyLnJlbGVhc2UoKSwg
ZnJhZ21lbnRTaGFkZXIucmVsZWFzZSgpLCBwcm9ncmFtVHlwZSwgbWl4U2V0dGluZ3MpOworICAg
IFJlZlB0cjxTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0+IHByb2dyYW0gPSBTdHlsZUN1c3RvbUZp
bHRlclByb2dyYW06OmNyZWF0ZSh2ZXJ0ZXhTaGFkZXIucmVsZWFzZSgpLCBmcmFnbWVudFNoYWRl
ci5yZWxlYXNlKCksIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUpOwogICAgIHJl
dHVybiBDdXN0b21GaWx0ZXJPcGVyYXRpb246OmNyZWF0ZShwcm9ncmFtLnJlbGVhc2UoKSwgcGFy
YW1ldGVyTGlzdCwgbWVzaFJvd3MsIG1lc2hDb2x1bW5zLCBtZXNoQm94VHlwZSwgbWVzaFR5cGUp
OwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJDb25zdGFudHMuaAppbmRleCA2MDgwYzM4
Li44YzY1NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlckNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmgKQEAgLTQ1LDYgKzQ1
LDExIEBAIGVudW0gQ3VzdG9tRmlsdGVyTWVzaENvbnN0YW50cyB7CiAgICAgVHJpYW5nbGVBdHRy
aWJPZmZzZXQgPSBNZXNoQXR0cmliT2Zmc2V0ICsgTWVzaEF0dHJpYlNpemUgKiBzaXplb2YoZmxv
YXQpCiB9OwogCitlbnVtIEN1c3RvbUZpbHRlck1lc2hUeXBlIHsKKyAgICBNZXNoVHlwZUF0dGFj
aGVkLAorICAgIE1lc2hUeXBlRGV0YWNoZWQKK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEN1c3RvbUZpbHRlckNvbnN0YW50c19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNo
LmNwcAppbmRleCAwMjc4YWJhLi5lZmYwNzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAK
QEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ3VzdG9tRmlsdGVyTWVz
aDo6Q3VzdG9tRmlsdGVyTWVzaChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgdW5zaWduZWQg
Y29sdW1ucywgdW5zaWduZWQgcm93cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hU
eXBlIG1lc2hUeXBlKQorICAgIGNvbnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVy
TWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgOiBtX2NvbnRleHQoY29udGV4dCkKICAgICAsIG1fdmVy
dGljZXNCdWZmZXJPYmplY3QoMCkKICAgICAsIG1fZWxlbWVudHNCdWZmZXJPYmplY3QoMCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9t
RmlsdGVyTWVzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJNZXNoLmgKaW5kZXggZTNjN2E2Yi4uMmJiM2Q1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJNZXNoLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiAKIGNs
YXNzIEN1c3RvbUZpbHRlck1lc2ggOiBwdWJsaWMgUmVmQ291bnRlZDxDdXN0b21GaWx0ZXJNZXNo
PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyTWVzaD4gY3Jl
YXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCB1bnNpZ25lZCBjb2xzLCB1bnNpZ25lZCBy
b3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVz
aFR5cGUgbWVzaFR5cGUpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyTWVzaD4g
Y3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCB1bnNpZ25lZCBjb2xzLCB1bnNpZ25l
ZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1l
c2hUeXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDdXN0b21GaWx0ZXJN
ZXNoKGNvbnRleHQsIGNvbHMsIHJvd3MsIG1lc2hCb3gsIG1lc2hUeXBlKSk7CiAgICAgfQpAQCAt
NTYsMTAgKzU2LDEwIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBpbmRpY2VzQ291bnQoKSBjb25z
dCB7IHJldHVybiBtX2luZGljZXNDb3VudDsgfQogICAgIAogICAgIGNvbnN0IEZsb2F0UmVjdCYg
bWVzaEJveCgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaEJveDsgfQotICAgIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21lc2hUeXBlOyB9
CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGUoKSBjb25zdCB7IHJldHVybiBtX21l
c2hUeXBlOyB9CiAKIHByaXZhdGU6Ci0gICAgQ3VzdG9tRmlsdGVyTWVzaChHcmFwaGljc0NvbnRl
eHQzRCosIHVuc2lnbmVkIGNvbHMsIHVuc2lnbmVkIHJvd3MsIGNvbnN0IEZsb2F0UmVjdCYgbWVz
aEJveCwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSk7CisgICAgQ3VzdG9tRmlsdGVy
TWVzaChHcmFwaGljc0NvbnRleHQzRCosIHVuc2lnbmVkIGNvbHMsIHVuc2lnbmVkIHJvd3MsIGNv
bnN0IEZsb2F0UmVjdCYgbWVzaEJveCwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogICAgIAogICAg
IEdyYXBoaWNzQ29udGV4dDNEKiBtX2NvbnRleHQ7CiAgICAgCkBAIC03MCw3ICs3MCw3IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9pbmRpY2VzQ291bnQ7CiAgICAgCiAgICAgRmxvYXRSZWN0
IG1fbWVzaEJveDsKLSAgICBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1fbWVzaFR5
cGU7CisgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IuY3Bw
CmluZGV4IDNkOWQ0ZDEuLjc3NDY5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNo
R2VuZXJhdG9yLmNwcApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0
aWMgYm9vbCBzX2R1bXBDdXN0b21GaWx0ZXJNZXNoQnVmZmVycyA9IGZhbHNlOwogI2VuZGlmCiAK
LUN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3I6OkN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IodW5z
aWduZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94LCBD
dXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hUeXBlIG1lc2hUeXBlKQorQ3VzdG9tRmlsdGVyTWVz
aEdlbmVyYXRvcjo6Q3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcih1bnNpZ25lZCBjb2x1bW5zLCB1
bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck1lc2hU
eXBlIG1lc2hUeXBlKQogICAgIDogbV9tZXNoVHlwZShtZXNoVHlwZSkKICAgICAsIG1fcG9pbnRz
KGNvbHVtbnMgKyAxLCByb3dzICsgMSkKICAgICAsIG1fdGlsZXMoY29sdW1ucywgcm93cykKQEAg
LTYwLDcgKzYwLDcgQEAgQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6Q3VzdG9tRmlsdGVyTWVz
aEdlbmVyYXRvcih1bnNpZ25lZCBjb2x1bW5zLCB1bnNpZ25lZAogICAgIC8vIHdoZW4gdGhlcmUn
cyBubyBuZWVkIHRvIGV4cGxvZGUgdGhlIHRpbGVzLgogICAgIC8vICogZGV0YWNoZWQ6IGVhY2gg
dHJpYW5nbGUgaGFzIGl0cyBvd24gdmVydGljZXMuIFRoaXMgbWVhbnMgZWFjaCB0cmlhbmdsZSBj
YW4gYmUgbW92ZWQgaW5kZXBlbmRlbnRseSBhbmQgYSB2ZWMzCiAgICAgLy8gYXR0cmlidXRlIGlz
IHBhc3NlZCwgc28gdGhhdCBlYWNoIHZlcnRleCBjYW4gYmUgdW5pcXVlbHkgaWRlbnRpZmllZC4K
LSAgICBpZiAobV9tZXNoVHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkFUVEFDSEVEKQor
ICAgIGlmIChtX21lc2hUeXBlID09IE1lc2hUeXBlQXR0YWNoZWQpCiAgICAgICAgIGdlbmVyYXRl
QXR0YWNoZWRNZXNoKCk7CiAgICAgZWxzZQogICAgICAgICBnZW5lcmF0ZURldGFjaGVkTWVzaCgp
OwpAQCAtMTUyLDggKzE1Miw4IEBAIHZvaWQgQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcjo6YWRk
RGV0YWNoZWRNZXNoVmVydGV4QXR0cmlidXRlcyhpbnQgcXVhZFgsIGludCBxCiB2b2lkIEN1c3Rv
bUZpbHRlck1lc2hHZW5lcmF0b3I6OmR1bXBCdWZmZXJzKCkgY29uc3QKIHsKICAgICBwcmludGYo
Ik1lc2ggYnVmZmVyczogUG9pbnRzLndpZHRoKCk6ICVkLCBQb2ludHMuaGVpZ2h0KCk6ICVkIG1l
c2hCb3g6ICVmLCAlZiwgJWYsICVmLCB0eXBlOiAlc1xuIiwKLSAgICAgICAgICAgbV9wb2ludHMu
d2lkdGgoKSwgbV9wb2ludHMuaGVpZ2h0KCksIG1fbWVzaEJveC54KCksIG1fbWVzaEJveC55KCks
IG1fbWVzaEJveC53aWR0aCgpLCBtX21lc2hCb3guaGVpZ2h0KCksCi0gICAgICAgICAgIChtX21l
c2hUeXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6QVRUQUNIRUQpID8gIkF0dGFjaGVkIiA6
ICJEZXRhY2hlZCIpOworICAgICAgICBtX3BvaW50cy53aWR0aCgpLCBtX3BvaW50cy5oZWlnaHQo
KSwgbV9tZXNoQm94LngoKSwgbV9tZXNoQm94LnkoKSwgbV9tZXNoQm94LndpZHRoKCksIG1fbWVz
aEJveC5oZWlnaHQoKSwKKyAgICAgICAgKG1fbWVzaFR5cGUgPT0gTWVzaFR5cGVBdHRhY2hlZCkg
PyAiQXR0YWNoZWQiIDogIkRldGFjaGVkIik7CiAgICAgcHJpbnRmKCItLS1WZXJ0ZXg6XG5cdCIp
OwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3ZlcnRpY2VzLnNpemUoKTsgKytpKSB7
CiAgICAgICAgIHByaW50ZigiJWYgIiwgbV92ZXJ0aWNlcy5hdChpKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2hH
ZW5lcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyTWVzaEdlbmVyYXRvci5oCmluZGV4IGIzYTE4NDcuLjdhYmFjMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
TWVzaEdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvci5oCkBAIC00NCw3ICs0NCw3IEBAIHB1Ymxp
YzoKICAgICAvLyBhbmQgJ2NvbHVtbnMnIG51bWJlciBvZiBjb2x1bW5zIHdpdGggYSB0b3RhbCBv
ZiAncm93cyArIDEnICogJ2NvbHVtbnMgKyAxJyB2ZXJ0aWNlcy4KICAgICAvLyBNZXNoQm94IGlz
IHRoZSBmaWx0ZXJlZCBhcmVhIGNhbGN1bGF0ZWQgZGVmaW5lZCB1c2luZyB0aGUgYm9yZGVyLWJv
eCwgcGFkZGluZy1ib3gsIGNvbnRlbnQtYm94IG9yIGZpbHRlci1ib3gKICAgICAvLyBhdHRyaWJ1
dGVzLiBBIHZhbHVlIG9mICgwLCAwLCAxLCAxKSB3aWxsIGNvdmVyIHRoZSBlbnRpcmUgb3V0cHV0
IHN1cmZhY2UuCi0gICAgQ3VzdG9tRmlsdGVyTWVzaEdlbmVyYXRvcih1bnNpZ25lZCBjb2x1bW5z
LCB1bnNpZ25lZCByb3dzLCBjb25zdCBGbG9hdFJlY3QmIG1lc2hCb3gsIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbjo6TWVzaFR5cGUpOworICAgIEN1c3RvbUZpbHRlck1lc2hHZW5lcmF0b3IodW5zaWdu
ZWQgY29sdW1ucywgdW5zaWduZWQgcm93cywgY29uc3QgRmxvYXRSZWN0JiBtZXNoQm94LCBDdXN0
b21GaWx0ZXJNZXNoVHlwZSk7CiAKICAgICBjb25zdCBWZWN0b3I8ZmxvYXQ+JiB2ZXJ0aWNlcygp
IGNvbnN0IHsgcmV0dXJuIG1fdmVydGljZXM7IH0KICAgICBjb25zdCBWZWN0b3I8dWludDE2X3Q+
JiBpbmRpY2VzKCkgY29uc3QgeyByZXR1cm4gbV9pbmRpY2VzOyB9CkBAIC02NiwxMiArNjYsMTIg
QEAgcHVibGljOgogICAgIHsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIEF0dGFjaGVk
TWVzaFZlcnRleFNpemUgPSBQb3NpdGlvbkF0dHJpYlNpemUgKyBUZXhBdHRyaWJTaXplICsgTWVz
aEF0dHJpYlNpemU7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBEZXRhY2hlZE1lc2hW
ZXJ0ZXhTaXplID0gQXR0YWNoZWRNZXNoVmVydGV4U2l6ZSArIFRyaWFuZ2xlQXR0cmliU2l6ZTsK
LSAgICAgICAgcmV0dXJuIG1fbWVzaFR5cGUgPT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpBVFRB
Q0hFRCA/IEF0dGFjaGVkTWVzaFZlcnRleFNpemUgOiBEZXRhY2hlZE1lc2hWZXJ0ZXhTaXplOwor
ICAgICAgICByZXR1cm4gbV9tZXNoVHlwZSA9PSBNZXNoVHlwZUF0dGFjaGVkID8gQXR0YWNoZWRN
ZXNoVmVydGV4U2l6ZSA6IERldGFjaGVkTWVzaFZlcnRleFNpemU7CiAgICAgfQogCiAgICAgdW5z
aWduZWQgdmVydGljZXNDb3VudCgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gbV9tZXNo
VHlwZSA9PSBDdXN0b21GaWx0ZXJPcGVyYXRpb246OkFUVEFDSEVEID8gcG9pbnRzQ291bnQoKSA6
IGluZGljZXNDb3VudCgpOworICAgICAgICByZXR1cm4gbV9tZXNoVHlwZSA9PSBNZXNoVHlwZUF0
dGFjaGVkID8gcG9pbnRzQ291bnQoKSA6IGluZGljZXNDb3VudCgpOwogICAgIH0KIAogcHJpdmF0
ZToKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxmbG9hdD4gbV92ZXJ0
aWNlczsKICAgICBWZWN0b3I8dWludDE2X3Q+IG1faW5kaWNlczsKIAotICAgIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6TWVzaFR5cGUgbV9tZXNoVHlwZTsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlw
ZSBtX21lc2hUeXBlOwogICAgIEludFNpemUgbV9wb2ludHM7CiAgICAgSW50U2l6ZSBtX3RpbGVz
OwogICAgIEZsb2F0U2l6ZSBtX3RpbGVTaXplSW5QaXhlbHM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
ck9wZXJhdGlvbi5jcHAKaW5kZXggYjlkMzcyYy4uYTQ4NmFhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJPcGVyYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9t
RmlsdGVyT3BlcmF0aW9uLmNwcApAQCAtMzgsNyArMzgsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLUN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKFBhc3NS
ZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFy
YW1ldGVyTGlzdCYgc29ydGVkUGFyYW1ldGVycywgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVk
IG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSBtZXNoQm94VHlwZSwgTWVzaFR5cGUgbWVzaFR5cGUp
CitDdXN0b21GaWx0ZXJPcGVyYXRpb246OkN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRy
PEN1c3RvbUZpbHRlclByb2dyYW0+IHByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRl
ckxpc3QmIHNvcnRlZFBhcmFtZXRlcnMsIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNo
Q29sdW1ucywgTWVzaEJveFR5cGUgbWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1l
c2hUeXBlKQogICAgIDogRmlsdGVyT3BlcmF0aW9uKENVU1RPTSkKICAgICAsIG1fcHJvZ3JhbShw
cm9ncmFtKQogICAgICwgbV9wYXJhbWV0ZXJzKHNvcnRlZFBhcmFtZXRlcnMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9w
ZXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJPcGVyYXRpb24uaAppbmRleCAzNGQyNWUxLi45MzY0YTMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNkZWZpbmUgQ3VzdG9tRmls
dGVyT3BlcmF0aW9uX2gKIAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyNpbmNsdWRlICJDdXN0
b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0
LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgIkZpbHRlck9w
ZXJhdGlvbi5oIgpAQCAtNDgsMTMgKzQ5LDggQEAgcHVibGljOgogICAgICAgICBQQURESU5HX0JP
WCwKICAgICAgICAgQ09OVEVOVF9CT1gKICAgICB9OwotICAgIAotICAgIGVudW0gTWVzaFR5cGUg
ewotICAgICAgICBBVFRBQ0hFRCwKLSAgICAgICAgREVUQUNIRUQKLSAgICB9OwotICAgIAotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVyUGFyYW1l
dGVyTGlzdCYgc29ydGVkUGFyYW1ldGVycywgdW5zaWduZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1l
c2hDb2x1bW5zLCBNZXNoQm94VHlwZSBtZXNoQm94VHlwZSwgTWVzaFR5cGUgbWVzaFR5cGUpCisg
ICAgICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gY3Jl
YXRlKFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSwgY29uc3QgQ3VzdG9t
RmlsdGVyUGFyYW1ldGVyTGlzdCYgc29ydGVkUGFyYW1ldGVycywgdW5zaWduZWQgbWVzaFJvd3Ms
IHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSBtZXNoQm94VHlwZSwgQ3VzdG9tRmls
dGVyTWVzaFR5cGUgbWVzaFR5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEN1c3RvbUZpbHRlck9wZXJhdGlvbihwcm9ncmFtLCBzb3J0ZWRQYXJhbWV0ZXJzLCBtZXNoUm93
cywgbWVzaENvbHVtbnMsIG1lc2hCb3hUeXBlLCBtZXNoVHlwZSkpOwogICAgIH0KQEAgLTY3LDcg
KzYzLDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1lc2hDb2x1bW5zKCkgY29uc3QgeyByZXR1
cm4gbV9tZXNoQ29sdW1uczsgfQogICAgIAogICAgIE1lc2hCb3hUeXBlIG1lc2hCb3hUeXBlKCkg
Y29uc3QgeyByZXR1cm4gbV9tZXNoQm94VHlwZTsgfQotICAgIE1lc2hUeXBlIG1lc2hUeXBlKCkg
Y29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQorICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1l
c2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQogICAgIAogICAgIHZpcnR1YWwg
fkN1c3RvbUZpbHRlck9wZXJhdGlvbigpOwogICAgIApAQCAtOTEsNyArODcsNyBAQCBwcml2YXRl
OgogICAgICAgICAgICAgJiYgbV9wYXJhbWV0ZXJzID09IG90aGVyLT5tX3BhcmFtZXRlcnM7CiAg
ICAgfQogICAgIAotICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZp
bHRlclByb2dyYW0+LCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiwgdW5zaWduZWQg
bWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSwgTWVzaFR5cGUpOwor
ICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbihQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+
LCBjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiwgdW5zaWduZWQgbWVzaFJvd3MsIHVu
c2lnbmVkIG1lc2hDb2x1bW5zLCBNZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwog
CiAgICAgUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+IG1fcHJvZ3JhbTsKICAgICBDdXN0b21G
aWx0ZXJQYXJhbWV0ZXJMaXN0IG1fcGFyYW1ldGVyczsKQEAgLTk5LDcgKzk1LDcgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX21lc2hSb3dzOwogICAgIHVuc2lnbmVkIG1fbWVzaENvbHVtbnM7
CiAgICAgTWVzaEJveFR5cGUgbV9tZXNoQm94VHlwZTsKLSAgICBNZXNoVHlwZSBtX21lc2hUeXBl
OworICAgIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1fbWVzaFR5cGU7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtLmNwcAppbmRleCA4ZmQ4OGVh
Li4yYThmY2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAKQEAgLTM4LDkgKzM4
LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6Q3Vz
dG9tRmlsdGVyUHJvZ3JhbShDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29u
c3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncykKK0N1c3RvbUZp
bHRlclByb2dyYW06OkN1c3RvbUZpbHRlclByb2dyYW0oQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUg
cHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0
dGluZ3MsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIDogbV9wcm9ncmFtVHlw
ZShwcm9ncmFtVHlwZSkKICAgICAsIG1fbWl4U2V0dGluZ3MobWl4U2V0dGluZ3MpCisgICAgLCBt
X21lc2hUeXBlKG1lc2hUeXBlKQogewogICAgIC8vIEtlZXAgdGhlIGNvbnN0cnVjdG9yIHByb3Rl
Y3RlZCB0byBwcmV2ZW50IGNyZWF0aW5nIHRoaXMgb2JqZWN0IGRpcmVjdGx5LgogfQpAQCAtODIs
MTIgKzgzLDE0IEBAIHZvaWQgQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6bm90aWZ5Q2xpZW50cygpCiBD
dXN0b21GaWx0ZXJQcm9ncmFtSW5mbyBDdXN0b21GaWx0ZXJQcm9ncmFtOjpwcm9ncmFtSW5mbygp
IGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzTG9hZGVkKCkpOwotICAgIHJldHVybiBDdXN0b21GaWx0
ZXJQcm9ncmFtSW5mbyh2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSwgZnJhZ21lbnRTaGFkZXJTdHJpbmco
KSwgbV9wcm9ncmFtVHlwZSwgbV9taXhTZXR0aW5ncyk7CisgICAgcmV0dXJuIEN1c3RvbUZpbHRl
clByb2dyYW1JbmZvKHZlcnRleFNoYWRlclN0cmluZygpLCBmcmFnbWVudFNoYWRlclN0cmluZygp
LCBtX3Byb2dyYW1UeXBlLCBtX21peFNldHRpbmdzLCBtX21lc2hUeXBlKTsKIH0KIAogYm9vbCBD
dXN0b21GaWx0ZXJQcm9ncmFtOjpvcGVyYXRvcj09KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW0m
IG8pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcHJvZ3JhbVR5cGUgPT0gby5tX3Byb2dyYW1UeXBl
ICYmIChtX3Byb2dyYW1UeXBlICE9IFBST0dSQU1fVFlQRV9CTEVORFNfRUxFTUVOVF9URVhUVVJF
IHx8IG1fbWl4U2V0dGluZ3MgPT0gby5tX21peFNldHRpbmdzKTsKKyAgICByZXR1cm4gbV9wcm9n
cmFtVHlwZSA9PSBvLm1fcHJvZ3JhbVR5cGUKKyAgICAgICAgJiYgKG1fcHJvZ3JhbVR5cGUgIT0g
UFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRVUkUgfHwgbV9taXhTZXR0aW5ncyA9PSBv
Lm1fbWl4U2V0dGluZ3MpCisgICAgICAgICYmIG1fbWVzaFR5cGUgPT0gby5tX21lc2hUeXBlOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW0uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCmlu
ZGV4IDQ0NWZiNDguLmI3NTViYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCkBAIC01
MSwzOCArNTEsMzcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkN1c3RvbUZpbHRlclByb2dyYW0o
KTsKIAogICAgIHZpcnR1YWwgYm9vbCBpc0xvYWRlZCgpIGNvbnN0ID0gMDsKLSAgICAKLSAgICBD
dXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MoKSBjb25zdCB7IHJldHVy
biBtX21peFNldHRpbmdzOyB9CiAKICAgICB2b2lkIGFkZENsaWVudChDdXN0b21GaWx0ZXJQcm9n
cmFtQ2xpZW50Kik7CiAgICAgdm9pZCByZW1vdmVDbGllbnQoQ3VzdG9tRmlsdGVyUHJvZ3JhbUNs
aWVudCopOwogICAgIAogICAgIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvIHByb2dyYW1JbmZvKCkg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIFN0cmluZyB2ZXJ0ZXhTaGFkZXJTdHJpbmcoKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCBTdHJpbmcgZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSBjb25zdCA9IDA7
CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUoKSBjb25zdCB7IHJldHVy
biBtX3Byb2dyYW1UeXBlOyB9CisgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1p
eFNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9taXhTZXR0aW5nczsgfQorICAgIEN1c3RvbUZp
bHRlck1lc2hUeXBlIG1lc2hUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNoVHlwZTsgfQogCi0g
ICAgLy8gU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtIGhhcyB0aGUgb25seSBpbXBsZW1lbnRhdGlv
biBmb3IgdGhlIGZvbGxvd2luZyBtZXRob2QuIFRoYXQgbWVhbnMsIGl0IGNhc3RzIHRvIFN0eWxl
Q3VzdG9tRmlsdGVyUHJvZ3JhbQotICAgIC8vIHdpdGhvdXRoIGNoZWNraW5nIHRoZSB0eXBlLiBJ
ZiB5b3UgYWRkIGFub3RoZXIgaW1wbGVtZW50YXRpb24sIGFsc28gYWRkIGEgbWVjaGFuaXNtIHRv
IGNoZWNrIGZvciB0aGUgY29ycmVjdCB0eXBlLgogICAgIHZpcnR1YWwgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW0mKSBjb25zdDsKICAgICBib29sIG9wZXJhdG9yIT0o
Y29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbSYgbykgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBv
KTsgfQogcHJvdGVjdGVkOgogICAgIC8vIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSBjYW4gbm90
aWZ5IHRoZSBjbGllbnRzIHRoYXQgdGhlIGNhY2hlZCByZXNvdXJjZXMgYXJlCiAgICAgLy8gbG9h
ZGVkIGFuZCBpdCBpcyByZWFkeSB0byBjcmVhdGUgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFt
IG9iamVjdHMuCiAgICAgdm9pZCBub3RpZnlDbGllbnRzKCk7Ci0gICAgCi0gICAgdmlydHVhbCBT
dHJpbmcgdmVydGV4U2hhZGVyU3RyaW5nKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgU3RyaW5n
IGZyYWdtZW50U2hhZGVyU3RyaW5nKCkgY29uc3QgPSAwOwotICAgIAorCiAgICAgdmlydHVhbCB2
b2lkIHdpbGxIYXZlQ2xpZW50cygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlTGFz
dENsaWVudCgpID0gMDsKIAogICAgIC8vIEtlZXAgdGhlIGNvbnN0cnVjdG9yIHByb3RlY3RlZCB0
byBwcmV2ZW50IGNyZWF0aW5nIHRoaXMgb2JqZWN0IGRpcmVjdGx5LgotICAgIEN1c3RvbUZpbHRl
clByb2dyYW0oQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dy
YW1NaXhTZXR0aW5ncyYpOworICAgIEN1c3RvbUZpbHRlclByb2dyYW0oQ3VzdG9tRmlsdGVyUHJv
Z3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYsIEN1c3RvbUZp
bHRlck1lc2hUeXBlKTsKIAogcHJpdmF0ZToKICAgICB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PEN1
c3RvbUZpbHRlclByb2dyYW1DbGllbnQqPiBDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50TGlzdDsK
ICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50TGlzdCBtX2NsaWVudHM7CiAgICAgQ3VzdG9t
RmlsdGVyUHJvZ3JhbVR5cGUgbV9wcm9ncmFtVHlwZTsKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFt
TWl4U2V0dGluZ3MgbV9taXhTZXR0aW5nczsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21l
c2hUeXBlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcApp
bmRleCA3ZjRhZjNlLi45YTM5ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1J
bmZvLmNwcApAQCAtNjQsMTEgKzY0LDEyIEBAIGJvb2wgQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86
OmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QKICAgICAgICAgJiYgbV9mcmFnbWVudFNo
YWRlclN0cmluZy5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOwogfQogCi1DdXN0b21GaWx0ZXJQ
cm9ncmFtSW5mbzo6Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8oY29uc3QgU3RyaW5nJiB2ZXJ0ZXhT
aGFkZXIsIGNvbnN0IFN0cmluZyYgZnJhZ21lbnRTaGFkZXIsIEN1c3RvbUZpbHRlclByb2dyYW1U
eXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MmIG1p
eFNldHRpbmdzKQorQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86OkN1c3RvbUZpbHRlclByb2dyYW1J
bmZvKGNvbnN0IFN0cmluZyYgdmVydGV4U2hhZGVyLCBjb25zdCBTdHJpbmcmIGZyYWdtZW50U2hh
ZGVyLCBDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwgY29uc3QgQ3VzdG9tRmls
dGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncywgQ3VzdG9tRmlsdGVyTWVzaFR5cGUg
bWVzaFR5cGUpCiAgICAgOiBtX3ZlcnRleFNoYWRlclN0cmluZyh2ZXJ0ZXhTaGFkZXIpCiAgICAg
LCBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nKGZyYWdtZW50U2hhZGVyKQogICAgICwgbV9wcm9ncmFt
VHlwZShwcm9ncmFtVHlwZSkKICAgICAsIG1fbWl4U2V0dGluZ3MobWl4U2V0dGluZ3MpCisgICAg
LCBtX21lc2hUeXBlKG1lc2hUeXBlKQogewogICAgIC8vIEF0IGxlYXN0IG9uZSBvZiB0aGUgc2hh
ZGVycyBuZWVkcyB0byBiZSBub24tbnVsbC4KICAgICBBU1NFUlQoIW1fdmVydGV4U2hhZGVyU3Ry
aW5nLmlzTnVsbCgpIHx8ICFtX2ZyYWdtZW50U2hhZGVyU3RyaW5nLmlzTnVsbCgpKTsKQEAgLTgw
LDEyICs4MSwxMyBAQCB1bnNpZ25lZCBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6aGFzaCgpIGNv
bnN0CiAgICAgQVNTRVJUKCFtX3ZlcnRleFNoYWRlclN0cmluZy5pc051bGwoKSB8fCAhbV9mcmFn
bWVudFNoYWRlclN0cmluZy5pc051bGwoKSk7CiAKICAgICBib29sIGJsZW5kc0VsZW1lbnRUZXh0
dXJlID0gKG1fcHJvZ3JhbVR5cGUgPT0gUFJPR1JBTV9UWVBFX0JMRU5EU19FTEVNRU5UX1RFWFRV
UkUpOwotICAgIHVpbnRwdHJfdCBoYXNoQ29kZXNbNV0gPSB7CisgICAgdWludHB0cl90IGhhc2hD
b2Rlc1s2XSA9IHsKICAgICAgICAgaGFzaFBvc3NpYmx5TnVsbFN0cmluZyhtX3ZlcnRleFNoYWRl
clN0cmluZyksCiAgICAgICAgIGhhc2hQb3NzaWJseU51bGxTdHJpbmcobV9mcmFnbWVudFNoYWRl
clN0cmluZyksCiAgICAgICAgIGJsZW5kc0VsZW1lbnRUZXh0dXJlLAogICAgICAgICBibGVuZHNF
bGVtZW50VGV4dHVyZSA/IG1fbWl4U2V0dGluZ3MuYmxlbmRNb2RlIDogMCwKLSAgICAgICAgYmxl
bmRzRWxlbWVudFRleHR1cmUgPyBtX21peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9yIDogMAor
ICAgICAgICBibGVuZHNFbGVtZW50VGV4dHVyZSA/IG1fbWl4U2V0dGluZ3MuY29tcG9zaXRlT3Bl
cmF0b3IgOiAwLAorICAgICAgICBtX21lc2hUeXBlCiAgICAgfTsKICAgICByZXR1cm4gU3RyaW5n
SGFzaGVyOjpoYXNoTWVtb3J5PHNpemVvZihoYXNoQ29kZXMpPigmaGFzaENvZGVzKTsKIH0KQEAg
LTk3LDYgKzk5LDcgQEAgYm9vbCBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6b3BlcmF0b3I9PShj
b25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyYgbykgY29uc3QKIAogICAgIHJldHVybiBtX3By
b2dyYW1UeXBlID09IG8ubV9wcm9ncmFtVHlwZQogICAgICAgICAmJiAobV9wcm9ncmFtVHlwZSAh
PSBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVYVFVSRSB8fCBtX21peFNldHRpbmdzID09
IG8ubV9taXhTZXR0aW5ncykKKyAgICAgICAgJiYgbV9tZXNoVHlwZSA9PSBvLm1fbWVzaFR5cGUK
ICAgICAgICAgJiYgbV92ZXJ0ZXhTaGFkZXJTdHJpbmcgPT0gby5tX3ZlcnRleFNoYWRlclN0cmlu
ZwogICAgICAgICAmJiBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nID09IG8ubV9mcmFnbWVudFNoYWRl
clN0cmluZzsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uaAppbmRleCAzYjU0
NGM1Li4yNWU3ZGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1JbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQcm9ncmFtSW5mby5oCkBAIC0z
MSw2ICszMSw3IEBACiAjZGVmaW5lIEN1c3RvbUZpbHRlclByb2dyYW1JbmZvX2gKIAogI2lmIEVO
QUJMRShDU1NfU0hBREVSUykKKyNpbmNsdWRlICJDdXN0b21GaWx0ZXJDb25zdGFudHMuaCIKICNp
bmNsdWRlICJHcmFwaGljc1R5cGVzLmgiCiAKICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgpA
QCAtNjQsNyArNjUsNyBAQCBzdHJ1Y3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIHsK
IC8vIE51bGwgc3RyaW5ncyBhcmUgcGxhY2Vob2xkZXJzIGZvciB0aGUgZGVmYXVsdCBzaGFkZXIu
CiBjbGFzcyBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyB7CiBwdWJsaWM6Ci0gICAgQ3VzdG9tRmls
dGVyUHJvZ3JhbUluZm8oY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ3VzdG9tRmlsdGVy
UHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYpOworICAg
IEN1c3RvbUZpbHRlclByb2dyYW1JbmZvKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIEN1
c3RvbUZpbHRlclByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9ncmFtTWl4U2V0dGlu
Z3MmLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSk7CiAKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5m
bygpOwogICAgIGJvb2wgaXNFbXB0eVZhbHVlKCkgY29uc3Q7CkBAIC03OSwxMSArODAsMTMgQEAg
cHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSBjb25zdCB7
IHJldHVybiBtX2ZyYWdtZW50U2hhZGVyU3RyaW5nOyB9CiAgICAgQ3VzdG9tRmlsdGVyUHJvZ3Jh
bVR5cGUgcHJvZ3JhbVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Byb2dyYW1UeXBlOyB9CiAgICAg
Y29uc3QgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzJiBtaXhTZXR0aW5ncygpIGNvbnN0
IHsgcmV0dXJuIG1fbWl4U2V0dGluZ3M7IH0KKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNo
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzaFR5cGU7IH0KIHByaXZhdGU6CiAgICAgU3RyaW5n
IG1fdmVydGV4U2hhZGVyU3RyaW5nOwogICAgIFN0cmluZyBtX2ZyYWdtZW50U2hhZGVyU3RyaW5n
OwogICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIG1fcHJvZ3JhbVR5cGU7CiAgICAgQ3VzdG9t
RmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1fbWl4U2V0dGluZ3M7CisgICAgQ3VzdG9tRmlsdGVy
TWVzaFR5cGUgbV9tZXNoVHlwZTsKIH07CiAKIHN0cnVjdCBDdXN0b21GaWx0ZXJQcm9ncmFtSW5m
b0hhc2ggewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAK
aW5kZXggZDU0MjE1Ny4uNDBmNDg4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0uY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbS5oIgogCiAjaW5jbHVkZSAiQU5HTEVXZWJLaXRCcmlkZ2UuaCIK
KyNpbmNsdWRlICJDdXN0b21GaWx0ZXJDb25zdGFudHMuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0
ZXJHbG9iYWxDb250ZXh0LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uaCIK
ICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgpAQCAtNjIsNyArNjMsNyBAQCBzdGF0aWMgU3lt
Ym9sTmFtZVRvVHlwZU1hcCogYnVpbHRJbkF0dHJpYnV0ZU5hbWVUb1R5cGVNYXAoKQogICAgIHJl
dHVybiBuYW1lVG9UeXBlTWFwOwogfQogCi1zdGF0aWMgYm9vbCB2YWxpZGF0ZVN5bWJvbHMoY29u
c3QgVmVjdG9yPEFOR0xFU2hhZGVyU3ltYm9sPiYgc3ltYm9scykKK3N0YXRpYyBib29sIHZhbGlk
YXRlU3ltYm9scyhjb25zdCBWZWN0b3I8QU5HTEVTaGFkZXJTeW1ib2w+JiBzeW1ib2xzLCBDdXN0
b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IHN5bWJvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgY29uc3QgQU5HTEVTaGFkZXJTeW1ib2wm
IHN5bWJvbCA9IHN5bWJvbHNbaV07CkBAIC03MCwxMyArNzEsMjQgQEAgc3RhdGljIGJvb2wgdmFs
aWRhdGVTeW1ib2xzKGNvbnN0IFZlY3RvcjxBTkdMRVNoYWRlclN5bWJvbD4mIHN5bWJvbHMpCiAg
ICAgICAgIGNhc2UgU0hBREVSX1NZTUJPTF9UWVBFX0FUVFJJQlVURTogewogICAgICAgICAgICAg
U3ltYm9sTmFtZVRvVHlwZU1hcCogYXR0cmlidXRlTmFtZVRvVHlwZU1hcCA9IGJ1aWx0SW5BdHRy
aWJ1dGVOYW1lVG9UeXBlTWFwKCk7CiAgICAgICAgICAgICBTeW1ib2xOYW1lVG9UeXBlTWFwOjpp
dGVyYXRvciBidWlsdEluQXR0cmlidXRlID0gYXR0cmlidXRlTmFtZVRvVHlwZU1hcC0+ZmluZChz
eW1ib2wubmFtZSk7Ci0gICAgICAgICAgICBpZiAoYnVpbHRJbkF0dHJpYnV0ZSAhPSBhdHRyaWJ1
dGVOYW1lVG9UeXBlTWFwLT5lbmQoKSAmJiBzeW1ib2wuZGF0YVR5cGUgIT0gYnVpbHRJbkF0dHJp
YnV0ZS0+dmFsdWUpIHsKKyAgICAgICAgICAgIGlmIChidWlsdEluQXR0cmlidXRlID09IGF0dHJp
YnV0ZU5hbWVUb1R5cGVNYXAtPmVuZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gVGhlIGF1dGhv
ciBkZWZpbmVkIGEgY3VzdG9tIGF0dHJpYnV0ZS4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTog
UmVwb3J0IHRoZSB2YWxpZGF0aW9uIGVycm9yLgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNgorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChtZXNoVHlwZSA9PSBN
ZXNoVHlwZUF0dGFjaGVkICYmIHN5bWJvbC5uYW1lID09ICJhX3RyaWFuZ2xlQ29vcmQiKSB7Cisg
ICAgICAgICAgICAgICAgLy8gYV90cmlhbmdsZUNvb3JkIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBk
ZXRhY2hlZCBtZXNoZXMuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFJlcG9ydCB0aGUgdmFs
aWRhdGlvbiBlcnJvci4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTYKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoc3ltYm9sLmRhdGFUeXBlICE9IGJ1aWx0SW5B
dHRyaWJ1dGUtPnZhbHVlKSB7CiAgICAgICAgICAgICAgICAgLy8gVGhlIGF1dGhvciBkZWZpbmVk
IG9uZSBvZiB0aGUgYnVpbHQtaW4gYXR0cmlidXRlcyB3aXRoIHRoZSB3cm9uZyB0eXBlLgorICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBSZXBvcnQgdGhlIHZhbGlkYXRpb24gZXJyb3IuCisgICAg
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0
NDE2CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICAvLyBGSVhNRTogUmV0dXJuIGZhbHNlIHdoZW4gdGhlIGF0dHJpYnV0ZSBpcyBub3Qg
b25lIG9mIHRoZSBidWlsdC1pbiBhdHRyaWJ1dGVzLgotICAgICAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogICAgICAgICBjYXNlIFNIQURFUl9TWU1CT0xfVFlQRV9VTklGT1JNOgpAQCAt
MTUzLDcgKzE2NSw3IEBAIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06OkN1c3RvbUZpbHRl
clZhbGlkYXRlZFByb2dyYW0oQ3VzdG9tRmlsdGVyR2xvYmFsQ29uCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBpZiAoIXZhbGlkYXRlU3ltYm9scyhzeW1ib2xzKSkgeworICAgIGlmICgh
dmFsaWRhdGVTeW1ib2xzKHN5bWJvbHMsIG1fcHJvZ3JhbUluZm8ubWVzaFR5cGUoKSkpIHsKICAg
ICAgICAgLy8gRklYTUU6IFJlcG9ydCB2YWxpZGF0aW9uIGVycm9ycy4KICAgICAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDE2CiAgICAgICAgIHJldHVy
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgKaW5kZXggMzIy
YzYzMC4uMTc0NjFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9n
cmFtLmgKQEAgLTQ5LDcgKzQ5LDYgQEAgdHlwZWRlZiBXZWJDb3JlOjpMYXllckNvbXBpbGVkUHJv
Z3JhbSBQbGF0Zm9ybUNvbXBpbGVkUHJvZ3JhbTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBBTkdMRVdlYktpdEJyaWRnZTsKIGNsYXNzIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3Jh
bTsKIGNsYXNzIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5j
cHAKaW5kZXggNzA3ZWRiOC4uNDA3ZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKQEAgLTgy
LDggKzgyLDcgQEAgc3RhdGljIHZvaWQgb3J0aG9nb25hbFByb2plY3Rpb25NYXRyaXgoVHJhbnNm
b3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgbGVmdCwKIH0KIAogRkVDdXN0b21GaWx0ZXI6
OkZFQ3VzdG9tRmlsdGVyKEZpbHRlciogZmlsdGVyLCBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0
KiBjdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclZhbGlk
YXRlZFByb2dyYW0+IHZhbGlkYXRlZFByb2dyYW0sIGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRl
ckxpc3QmIHBhcmFtZXRlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgbWVzaFJvd3MsIHVuc2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246
Ok1lc2hCb3hUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5cGUpCisgICAgdW5zaWduZWQgbWVzaFJvd3MsIHVu
c2lnbmVkIG1lc2hDb2x1bW5zLCBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hCb3hUeXBlLCBD
dXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkKICAgICA6IEZpbHRlckVmZmVjdChmaWx0ZXIp
CiAgICAgLCBtX2dsb2JhbENvbnRleHQoY3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCkKICAgICAs
IG1fdmFsaWRhdGVkUHJvZ3JhbSh2YWxpZGF0ZWRQcm9ncmFtKQpAQCAtMTA2LDggKzEwNSw3IEBA
IEZFQ3VzdG9tRmlsdGVyOjpGRUN1c3RvbUZpbHRlcihGaWx0ZXIqIGZpbHRlciwgQ3VzdG9tRmls
dGVyR2xvYmFsQ29udGV4dCogY3VzdG9tCiB9CiAKIFBhc3NSZWZQdHI8RkVDdXN0b21GaWx0ZXI+
IEZFQ3VzdG9tRmlsdGVyOjpjcmVhdGUoRmlsdGVyKiBmaWx0ZXIsIEN1c3RvbUZpbHRlckdsb2Jh
bENvbnRleHQqIGN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQsIFBhc3NSZWZQdHI8Q3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbT4gdmFsaWRhdGVkUHJvZ3JhbSwgY29uc3QgQ3VzdG9tRmlsdGVy
UGFyYW1ldGVyTGlzdCYgcGFyYW1ldGVycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1
c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUgbWVzaEJveFR5cGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpN
ZXNoVHlwZSBtZXNoVHlwZSkKKyAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENv
bHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUgbWVzaEJveFR5cGUsIEN1
c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogewogICAgIHJldHVybiBhZG9wdFJlZihuZXcg
RkVDdXN0b21GaWx0ZXIoZmlsdGVyLCBjdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LCB2YWxpZGF0
ZWRQcm9ncmFtLCBwYXJhbWV0ZXJzLCBtZXNoUm93cywgbWVzaENvbHVtbnMsIG1lc2hCb3hUeXBl
LCBtZXNoVHlwZSkpOwogfQpAQCAtNTc3LDcgKzU3NSw3IEBAIHZvaWQgRkVDdXN0b21GaWx0ZXI6
OmJpbmRQcm9ncmFtQW5kQnVmZmVycyhQbGF0Zm9ybTNET2JqZWN0IGlucHV0VGV4dHVyZSkKICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQzNTgKICAgICBi
aW5kVmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT5pbnRlcm5hbFRleENvb3JkQXR0
cmliTG9jYXRpb24oKSwgVGV4QXR0cmliU2l6ZSwgVGV4QXR0cmliT2Zmc2V0KTsKICAgICBiaW5k
VmVydGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT5tZXNoQXR0cmliTG9jYXRpb24oKSwg
TWVzaEF0dHJpYlNpemUsIE1lc2hBdHRyaWJPZmZzZXQpOwotICAgIGlmIChtX21lc2hUeXBlID09
IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQpCisgICAgaWYgKG1fbWVzaFR5cGUgPT0g
TWVzaFR5cGVEZXRhY2hlZCkKICAgICAgICAgYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVk
UHJvZ3JhbS0+dHJpYW5nbGVBdHRyaWJMb2NhdGlvbigpLCBUcmlhbmdsZUF0dHJpYlNpemUsIFRy
aWFuZ2xlQXR0cmliT2Zmc2V0KTsKICAgICAKICAgICBiaW5kUHJvZ3JhbVBhcmFtZXRlcnMoKTsK
QEAgLTU4OSw3ICs1ODcsNyBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjp1bmJpbmRWZXJ0ZXhBdHRy
aWJ1dGVzKCkKICAgICB1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGUobV9jb21waWxlZFByb2dyYW0tPnRl
eEF0dHJpYkxvY2F0aW9uKCkpOwogICAgIHVuYmluZFZlcnRleEF0dHJpYnV0ZShtX2NvbXBpbGVk
UHJvZ3JhbS0+aW50ZXJuYWxUZXhDb29yZEF0dHJpYkxvY2F0aW9uKCkpOwogICAgIHVuYmluZFZl
cnRleEF0dHJpYnV0ZShtX2NvbXBpbGVkUHJvZ3JhbS0+bWVzaEF0dHJpYkxvY2F0aW9uKCkpOwot
ICAgIGlmIChtX21lc2hUeXBlID09IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6REVUQUNIRUQpCisg
ICAgaWYgKG1fbWVzaFR5cGUgPT0gTWVzaFR5cGVEZXRhY2hlZCkKICAgICAgICAgdW5iaW5kVmVy
dGV4QXR0cmlidXRlKG1fY29tcGlsZWRQcm9ncmFtLT50cmlhbmdsZUF0dHJpYkxvY2F0aW9uKCkp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFQ3VzdG9tRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmgKaW5kZXggMDlkYTVmMS4uNTZiNzRmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0
b21GaWx0ZXIuaApAQCAtNTksOCArNTksNyBAQCBjbGFzcyBJbnRTaXplOwogY2xhc3MgRkVDdXN0
b21GaWx0ZXIgOiBwdWJsaWMgRmlsdGVyRWZmZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxGRUN1c3RvbUZpbHRlcj4gY3JlYXRlKEZpbHRlciosIEN1c3RvbUZpbHRlckdsb2Jh
bENvbnRleHQqLCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0+LCBjb25z
dCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0JiwKLSAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVtbnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6
TWVzaEJveFR5cGUsIAotICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6
TWVzaFR5cGUpOworICAgICAgICB1bnNpZ25lZCBtZXNoUm93cywgdW5zaWduZWQgbWVzaENvbHVt
bnMsIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaEJveFR5cGUsIEN1c3RvbUZpbHRlck1lc2hU
eXBlKTsKIAogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUFwcGx5U29mdHdhcmUoKTsKICAgICB2
aXJ0dWFsIHZvaWQgZHVtcCgpOwpAQCAtNjksOCArNjgsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgRkVDdXN0b21GaWx0ZXIoRmlsdGVyKiwgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCos
IFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbT4sIGNvbnN0IEN1c3RvbUZp
bHRlclBhcmFtZXRlckxpc3QmLAotICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1lc2hSb3dz
LCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlw
ZSwgCi0gICAgICAgICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoVHlwZSk7
CisgICAgICAgIHVuc2lnbmVkIG1lc2hSb3dzLCB1bnNpZ25lZCBtZXNoQ29sdW1ucywgQ3VzdG9t
RmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSwgQ3VzdG9tRmlsdGVyTWVzaFR5cGUpOwogICAg
IH5GRUN1c3RvbUZpbHRlcigpOwogICAgIAogICAgIGJvb2wgYXBwbHlTaGFkZXIoKTsKQEAgLTEz
MSw3ICsxMjksNyBAQCBwcml2YXRlOgogCiAgICAgdW5zaWduZWQgbV9tZXNoUm93czsKICAgICB1
bnNpZ25lZCBtX21lc2hDb2x1bW5zOwotICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5
cGUgbV9tZXNoVHlwZTsKKyAgICBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtX21lc2hUeXBlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCmluZGV4IDUzOGE1MmUu
LmFlNjhkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZUN1c3RvbUZpbHRlclByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtLmgKQEAgLTQ1LDkgKzQ1LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtIDogcHVibGljIEN1c3Rv
bUZpbHRlclByb2dyYW0sIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVD
dXN0b21GaWx0ZXJQcm9ncmFtPiBjcmVhdGUoUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gdmVydGV4
U2hhZGVyLCBQYXNzUmVmUHRyPFN0eWxlU2hhZGVyPiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmls
dGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhT
ZXR0aW5ncyYgbWl4U2V0dGluZ3MpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVDdXN0b21G
aWx0ZXJQcm9ncmFtPiBjcmVhdGUoUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gdmVydGV4U2hhZGVy
LCBQYXNzUmVmUHRyPFN0eWxlU2hhZGVyPiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJv
Z3JhbVR5cGUgcHJvZ3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5n
cyYgbWl4U2V0dGluZ3MsIEN1c3RvbUZpbHRlck1lc2hUeXBlIG1lc2hUeXBlKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHlsZUN1c3RvbUZpbHRlclByb2dyYW0odmVydGV4
U2hhZGVyLCBmcmFnbWVudFNoYWRlciwgcHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtKHZlcnRleFNo
YWRlciwgZnJhZ21lbnRTaGFkZXIsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUp
KTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBzZXRWZXJ0ZXhTaGFkZXIoUGFzc1JlZlB0cjxTdHls
ZVNoYWRlcj4gc2hhZGVyKSB7IG1fdmVydGV4U2hhZGVyID0gc2hhZGVyOyB9CkBAIC0xMzAsOCAr
MTMwLDggQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBTdHlsZUN1c3RvbUZpbHRl
clByb2dyYW0oUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gdmVydGV4U2hhZGVyLCBQYXNzUmVmUHRy
PFN0eWxlU2hhZGVyPiBmcmFnbWVudFNoYWRlciwgQ3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJv
Z3JhbVR5cGUsIGNvbnN0IEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyYgbWl4U2V0dGlu
Z3MpCi0gICAgICAgIDogQ3VzdG9tRmlsdGVyUHJvZ3JhbShwcm9ncmFtVHlwZSwgbWl4U2V0dGlu
Z3MpCisgICAgU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtKFBhc3NSZWZQdHI8U3R5bGVTaGFkZXI+
IHZlcnRleFNoYWRlciwgUGFzc1JlZlB0cjxTdHlsZVNoYWRlcj4gZnJhZ21lbnRTaGFkZXIsIEN1
c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBjb25zdCBDdXN0b21GaWx0ZXJQcm9n
cmFtTWl4U2V0dGluZ3MmIG1peFNldHRpbmdzLCBDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlw
ZSkKKyAgICAgICAgOiBDdXN0b21GaWx0ZXJQcm9ncmFtKHByb2dyYW1UeXBlLCBtaXhTZXR0aW5n
cywgbWVzaFR5cGUpCiAgICAgICAgICwgbV92ZXJ0ZXhTaGFkZXIodmVydGV4U2hhZGVyKQogICAg
ICAgICAsIG1fZnJhZ21lbnRTaGFkZXIoZnJhZ21lbnRTaGFkZXIpCiAgICAgICAgICwgbV9pc1Zl
cnRleFNoYWRlckxvYWRlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1MjBhMGUyLi4xMzkwNGQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMjYgIE1heCBWdWpvdmljICA8bXZ1
am92aWNAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgU2hhZGVyc10gUmVqZWN0IHZlcnRleCBz
aGFkZXJzIHdpdGggY3VzdG9tIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSBDdXN0b21GaWx0ZXJPcGVyYXRpb246Ok1lc2hU
eXBlIHdpdGggQ3VzdG9tRmlsdGVyTWVzaFR5cGUgZnJvbQorICAgICAgICBDdXN0b21GaWx0ZXJD
b25zdGFudHMuaC4KKworICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVu
Y29kZSk6CisgICAgICAgICAgICBSZWFkIHRoZSBzaGFkZXIgc3RyaW5ncyBkaXJlY3RseSBmcm9t
IHRoZSBDdXN0b21GaWx0ZXJQcm9ncmFtIGluc3RlYWQgb2YgYXNraW5nIGZvciBhCisgICAgICAg
ICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyBvYmplY3QuIEFsc28sIGVuY29kZSB0aGUgbWVz
aFR5cGUgZWFybGllciBzbyB0aGF0IGRlY29kaW5nIGNhbgorICAgICAgICAgICAgY2FuIHVzZSBp
dCB0byBjcmVhdGUgYSBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtLCB3aGljaCBub3cgcmVxdWlyZXMg
YSBtZXNoVHlwZS4KKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToKKyAgICAgICAgICAgIERl
Y29kZSB0aGUgbWVzaFR5cGUgZWFybGllciB0byBwYXNzIGl0IHRvIHRoZSBuZXcgV2ViQ3VzdG9t
RmlsdGVyUHJvZ3JhbSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJDdXN0b21GaWx0ZXJQcm9ncmFtLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkN1
c3RvbUZpbHRlclByb2dyYW06OmNyZWF0ZSk6CisgICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBw
YXJhbWV0ZXIgdG8gcGFzcyB0byB0aGUgYmFzZSBjbGFzcyBjb25zdHJ1Y3Rvci4KKyAgICAgICAg
KFdlYktpdDo6V2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbTo6V2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbSk6
IERpdHRvLgorCiAyMDEyLTEwLTI5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29t
PgogCiAgICAgICAgIGJ1aWxkSFRUUEhlYWRlcnMoKSBzaG91bGQgdXNlIGEgU3RyaW5nQnVpbGRl
ci5hcHBlbmRMaXRlcmFsKCkgZm9yIHNlcGFyYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50
Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5jcHAKaW5kZXggYjE3MGU2Yy4uMjlhMWNl
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRD
b2RlcnMuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQogI2lu
Y2x1ZGUgIldlYkN1c3RvbUZpbHRlclByb2dyYW0uaCIKICNpbmNsdWRlIDxXZWJDb3JlL0N1c3Rv
bUZpbHRlckFycmF5UGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJD
b25zdGFudHMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1c3RvbUZpbHRlck51bWJlclBhcmFtZXRl
ci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9DdXN0b21GaWx0ZXJQcm9ncmFtLmg+CkBAIC0xNDAsMTMgKzE0MSwxMyBAQCB2
b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmVuY29kZShBcmd1
bWVudEVuY29kZXIqIGVuY29kZXIsCiAgICAgICAgICAgICBBU1NFUlQoY3VzdG9tT3BlcmF0aW9u
LT5wcm9ncmFtKCkpOwogICAgICAgICAgICAgUmVmUHRyPEN1c3RvbUZpbHRlclByb2dyYW0+IHBy
b2dyYW0gPSBjdXN0b21PcGVyYXRpb24tPnByb2dyYW0oKTsKICAgICAgICAgICAgIEFTU0VSVChw
cm9ncmFtLT5pc0xvYWRlZCgpKTsKLSAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1JbmZv
IHByb2dyYW1JbmZvID0gcHJvZ3JhbS0+cHJvZ3JhbUluZm8oKTsKLSAgICAgICAgICAgIGVuY29k
ZXItPmVuY29kZShwcm9ncmFtSW5mby52ZXJ0ZXhTaGFkZXJTdHJpbmcoKSk7Ci0gICAgICAgICAg
ICBlbmNvZGVyLT5lbmNvZGUocHJvZ3JhbUluZm8uZnJhZ21lbnRTaGFkZXJTdHJpbmcoKSk7Cisg
ICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGUocHJvZ3JhbS0+dmVydGV4U2hhZGVyU3RyaW5nKCkp
OworICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKHByb2dyYW0tPmZyYWdtZW50U2hhZGVyU3Ry
aW5nKCkpOwogICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShwcm9ncmFtLT5wcm9ncmFt
VHlwZSgpKTsKLSAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhT
ZXR0aW5ncyA9IHByb2dyYW1JbmZvLm1peFNldHRpbmdzKCk7CisgICAgICAgICAgICBDdXN0b21G
aWx0ZXJQcm9ncmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MgPSBwcm9ncmFtLT5taXhTZXR0aW5n
cygpOwogICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0aW5ncy5ibGVuZE1v
ZGUpOwogICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShtaXhTZXR0aW5ncy5jb21wb3Np
dGVPcGVyYXRvcik7CisgICAgICAgICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKHByb2dyYW0tPm1l
c2hUeXBlKCkpOwogCiAgICAgICAgICAgICBDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0IHBhcmFt
ZXRlcnMgPSBjdXN0b21PcGVyYXRpb24tPnBhcmFtZXRlcnMoKTsKICAgICAgICAgICAgIGVuY29k
ZXItPmVuY29kZShzdGF0aWNfY2FzdDx1aW50MzJfdD4ocGFyYW1ldGVycy5zaXplKCkpKTsKQEAg
LTE4MSw3ICsxODIsNiBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0
aW9ucz46OmVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsCiAgICAgICAgICAgICBlbmNv
ZGVyLT5lbmNvZGUoY3VzdG9tT3BlcmF0aW9uLT5tZXNoUm93cygpKTsKICAgICAgICAgICAgIGVu
Y29kZXItPmVuY29kZShjdXN0b21PcGVyYXRpb24tPm1lc2hDb2x1bW5zKCkpOwogICAgICAgICAg
ICAgZW5jb2Rlci0+ZW5jb2RlRW51bShjdXN0b21PcGVyYXRpb24tPm1lc2hCb3hUeXBlKCkpOwot
ICAgICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlRW51bShjdXN0b21PcGVyYXRpb24tPm1lc2hUeXBl
KCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICNlbmRpZgpAQCAtMjUyLDYgKzI1
Miw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb25zPjo6ZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwKICAgICAgICAgICAgIFN0cmluZyBmcmFnbWVu
dFNoYWRlclN0cmluZzsKICAgICAgICAgICAgIEN1c3RvbUZpbHRlclByb2dyYW1UeXBlIHByb2dy
YW1UeXBlOwogICAgICAgICAgICAgQ3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNl
dHRpbmdzOworICAgICAgICAgICAgQ3VzdG9tRmlsdGVyTWVzaFR5cGUgbWVzaFR5cGU7CiAgICAg
ICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZSh2ZXJ0ZXhTaGFkZXJTdHJpbmcpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KGZyYWdtZW50U2hhZGVyU3RyaW5nKSkKQEAgLTI2Miw3ICsyNjMsOSBAQCBib29sIEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz46OmRlY29kZShBcmd1bWVudERlY29kZXIq
IGRlY29kZXIsCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYg
KCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1peFNldHRpbmdzLmNvbXBvc2l0ZU9wZXJhdG9yKSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBSZWZQdHI8Q3VzdG9tRmls
dGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IFdlYkN1c3RvbUZpbHRlclByb2dyYW06OmNyZWF0ZSh2ZXJ0
ZXhTaGFkZXJTdHJpbmcsIGZyYWdtZW50U2hhZGVyU3RyaW5nLCBwcm9ncmFtVHlwZSwgbWl4U2V0
dGluZ3MpOworICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1lc2hUeXBlKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBSZWZQdHI8Q3VzdG9t
RmlsdGVyUHJvZ3JhbT4gcHJvZ3JhbSA9IFdlYkN1c3RvbUZpbHRlclByb2dyYW06OmNyZWF0ZSh2
ZXJ0ZXhTaGFkZXJTdHJpbmcsIGZyYWdtZW50U2hhZGVyU3RyaW5nLCBwcm9ncmFtVHlwZSwgbWl4
U2V0dGluZ3MsIG1lc2hUeXBlKTsKIAogICAgICAgICAgICAgdWludDMyX3QgcGFyYW1ldGVyc1Np
emU7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZVVJbnQzMihwYXJhbWV0ZXJzU2l6
ZSkpCkBAIC0zMjEsMTUgKzMyNCwxMiBAQCBib29sIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rmls
dGVyT3BlcmF0aW9ucz46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsCiAgICAgICAg
ICAgICB1bnNpZ25lZCBtZXNoUm93czsKICAgICAgICAgICAgIHVuc2lnbmVkIG1lc2hDb2x1bW5z
OwogICAgICAgICAgICAgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOjpNZXNoQm94VHlwZSBtZXNoQm94
VHlwZTsKLSAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUgbWVzaFR5
cGU7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShtZXNoUm93cykpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUo
bWVzaENvbHVtbnMpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg
IGlmICghZGVjb2Rlci0+ZGVjb2RlRW51bShtZXNoQm94VHlwZSkpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVtKG1lc2hU
eXBlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgIGZpbHRl
ciA9IEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlKHByb2dyYW0sIHBhcmFtZXRlcnMsIG1l
c2hSb3dzLCBtZXNoQ29sdW1ucywgbWVzaEJveFR5cGUsIG1lc2hUeXBlKTsKICAgICAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvV2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCmluZGV4IGViMDk3YzIu
LjYwMzYxOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdy
YXBoaWNzL1dlYkN1c3RvbUZpbHRlclByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDdXN0b21GaWx0ZXJQcm9ncmFtLmgKQEAgLTI3LDE1
ICsyNywxNiBAQAogI2RlZmluZSBXZWJDdXN0b21GaWx0ZXJQcm9ncmFtX2gKIAogI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykgJiYgRU5BQkxFKENTU19TSEFERVJTKQorI2luY2x1ZGUgPFdl
YkNvcmUvQ3VzdG9tRmlsdGVyQ29uc3RhbnRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DdXN0b21G
aWx0ZXJQcm9ncmFtLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDdXN0b21G
aWx0ZXJQcm9ncmFtIDogcHVibGljIFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW0gewogcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkN1c3RvbUZpbHRlclByb2dyYW0+IGNyZWF0
ZShTdHJpbmcgdmVydGV4U2hhZGVyU3RyaW5nLCBTdHJpbmcgbV9mcmFnbWVudFNoYWRlclN0cmlu
ZywgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbVR5cGUgcHJvZ3JhbVR5cGUsIFdlYkNvcmU6
OkN1c3RvbUZpbHRlclByb2dyYW1NaXhTZXR0aW5ncyBtaXhTZXR0aW5ncykKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxXZWJDdXN0b21GaWx0ZXJQcm9ncmFtPiBjcmVhdGUoU3RyaW5nIHZlcnRleFNo
YWRlclN0cmluZywgU3RyaW5nIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcsIFdlYkNvcmU6OkN1c3Rv
bUZpbHRlclByb2dyYW1UeXBlIHByb2dyYW1UeXBlLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9n
cmFtTWl4U2V0dGluZ3MgbWl4U2V0dGluZ3MsIFdlYkNvcmU6OkN1c3RvbUZpbHRlck1lc2hUeXBl
IG1lc2hUeXBlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDdXN0b21G
aWx0ZXJQcm9ncmFtKHZlcnRleFNoYWRlclN0cmluZywgbV9mcmFnbWVudFNoYWRlclN0cmluZywg
cHJvZ3JhbVR5cGUsIG1peFNldHRpbmdzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
V2ViQ3VzdG9tRmlsdGVyUHJvZ3JhbSh2ZXJ0ZXhTaGFkZXJTdHJpbmcsIG1fZnJhZ21lbnRTaGFk
ZXJTdHJpbmcsIHByb2dyYW1UeXBlLCBtaXhTZXR0aW5ncywgbWVzaFR5cGUpKTsKICAgICB9CiAK
ICAgICB2aXJ0dWFsIGJvb2wgaXNMb2FkZWQoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVl
OyB9CkBAIC01NSw4ICs1Niw4IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVt
b3ZlTGFzdENsaWVudCgpIE9WRVJSSURFIHsgfQogCiBwcml2YXRlOgotICAgIFdlYkN1c3RvbUZp
bHRlclByb2dyYW0oU3RyaW5nIHZlcnRleFNoYWRlclN0cmluZywgU3RyaW5nIGZyYWdtZW50U2hh
ZGVyU3RyaW5nLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtVHlwZSBwcm9ncmFtVHlwZSwg
V2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRpbmdzIG1peFNldHRpbmdzKQotICAg
ICAgICA6IFdlYkNvcmU6OkN1c3RvbUZpbHRlclByb2dyYW0ocHJvZ3JhbVR5cGUsIG1peFNldHRp
bmdzKQorICAgIFdlYkN1c3RvbUZpbHRlclByb2dyYW0oU3RyaW5nIHZlcnRleFNoYWRlclN0cmlu
ZywgU3RyaW5nIGZyYWdtZW50U2hhZGVyU3RyaW5nLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9n
cmFtVHlwZSBwcm9ncmFtVHlwZSwgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbU1peFNldHRp
bmdzIG1peFNldHRpbmdzLCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoVHlwZSBtZXNoVHlwZSkK
KyAgICAgICAgOiBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtKHByb2dyYW1UeXBlLCBtaXhT
ZXR0aW5ncywgbWVzaFR5cGUpCiAgICAgICAgICwgbV92ZXJ0ZXhTaGFkZXJTdHJpbmcodmVydGV4
U2hhZGVyU3RyaW5nKQogICAgICAgICAsIG1fZnJhZ21lbnRTaGFkZXJTdHJpbmcoZnJhZ21lbnRT
aGFkZXJTdHJpbmcpCiAgICAgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>