<?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>226909</bug_id>
          
          <creation_ts>2021-06-10 19:16:35 -0700</creation_ts>
          <short_desc>Use DOMConstructor array instead of HashMap since window constructor property access is critical</short_desc>
          <delta_ts>2021-07-30 16:24:08 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>alecflett</cc>
    
    <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jasemabeed114</cc>
    
    <cc>jsbell</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1768846</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-06-10 19:16:35 -0700</bug_when>
    <thetext>Use DOMConstructor array instead of HashMap since window constructor property access is critical</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768847</commentid>
    <comment_count>1</comment_count>
      <attachid>431168</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-06-10 19:20:29 -0700</bug_when>
    <thetext>Created attachment 431168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768852</commentid>
    <comment_count>2</comment_count>
      <attachid>431170</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-06-10 19:53:36 -0700</bug_when>
    <thetext>Created attachment 431170
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768853</commentid>
    <comment_count>3</comment_count>
      <attachid>431170</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-10 19:56:12 -0700</bug_when>
    <thetext>Comment on attachment 431170
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        preprocess-idls.pl collects all constructors and assign DOMConstructor::XXX enum to each constructor. And it also counts

What about constructors added at runtime (e.g. the ones marked as [EnabledAtRuntime] or [EnabledBySetting]) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768856</commentid>
    <comment_count>4</comment_count>
      <attachid>431170</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-06-10 19:58:08 -0700</bug_when>
    <thetext>Comment on attachment 431170
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +        preprocess-idls.pl collects all constructors and assign DOMConstructor::XXX enum to each constructor. And it also counts
&gt; 
&gt; What about constructors added at runtime (e.g. the ones marked as [EnabledAtRuntime] or [EnabledBySetting]) ?

Regardless of whether it is defined at runtime, we have ID for that constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768857</commentid>
    <comment_count>5</comment_count>
      <attachid>431171</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-06-10 19:58:28 -0700</bug_when>
    <thetext>Created attachment 431171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769145</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-06-11 18:20:47 -0700</bug_when>
    <thetext>Committed r278802 (238759@main): &lt;https://commits.webkit.org/238759@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769146</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-11 18:21:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/79226523&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769290</commentid>
    <comment_count>8</comment_count>
      <attachid>431171</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-13 12:08:03 -0700</bug_when>
    <thetext>Comment on attachment 431171
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMGlobalObject.h:127
&gt; +    std::unique_ptr&lt;DOMConstructors&gt; m_constructors;

Can this be std::unique_ptr&lt;const DOMConstructors&gt;? If not, why not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769618</commentid>
    <comment_count>9</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-14 16:46:09 -0700</bug_when>
    <thetext>Nice. Should we do this for the DOM Structures map too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780991</commentid>
    <comment_count>10</comment_count>
      <attachid>431171</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-30 16:23:22 -0700</bug_when>
    <thetext>Comment on attachment 431171
Patch

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

&gt;&gt; Source/WebCore/bindings/js/JSDOMGlobalObject.h:127
&gt;&gt; +    std::unique_ptr&lt;DOMConstructors&gt; m_constructors;
&gt; 
&gt; Can this be std::unique_ptr&lt;const DOMConstructors&gt;? If not, why not?

Because DOMConstructors will be modified :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780992</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-30 16:24:08 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #9)
&gt; Nice. Should we do this for the DOM Structures map too?

Possibly yes :)
Or, we could extend it to using LazyClassStructure (which can hold construtors and structures)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431168</attachid>
            <date>2021-06-10 19:20:29 -0700</date>
            <delta_ts>2021-06-10 19:53:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226909-20210610192028.patch</filename>
            <type>text/plain</type>
            <size>140827</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWViOWMxM2Y3N2NjNDM4
NTI2MzA4ZDVkNGRjMzZkOWQ4MDAzMWFhMC4uZjczMWRmYTE0YjM5MTg1ZDA5NWVjM2QzN2NkZWNj
ZjE4OTE0MDc5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5NyBAQAorMjAyMS0wNi0xMCAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBET01Db25zdHJ1
Y3RvciBhcnJheSBpbnN0ZWFkIG9mIEhhc2hNYXAgc2luY2Ugd2luZG93IGNvbnN0cnVjdG9yIHBy
b3BlcnR5IGFjY2VzcyBpcyBjcml0aWNhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI2OTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgd2luZG93LlhYWCBjb25zdHJ1Y3RvciBhY2Nlc3MgaXMgcmVsYXRp
dmVseSBmcmVxdWVudGx5IGRvbmUuIEJ1dCBpdHMgaW1wbGVtZW50YXRpb24gaXMgdXNpbmcgSGFz
aE1hcCBsb29rdXAgZXZlbiB0aG91Z2gKKyAgICAgICAgd2UgYXJlIHN1Y2Nlc3NmdWxseSBjYWNo
aW5nIHRoZSBjdXN0b20gcHJvcGVydHkgYWNjZXNzZXMuIFRoaXMgcGF0Y2ggc3RvcCB1c2luZyBI
YXNoTWFwIGFuZCBpbnN0ZWFkIHVzaW5nIGFycmF5IGJ5CisgICAgICAgIGNvbGxlY3RpbmcgYWxs
IGNvbnN0cnVjdG9ycyBhdCBidWlsZCB0aW1lLiAjIG9mIGNvbnN0cnVjdG9ycyBhcmUgNzcxIGlu
IG1hY09TIGJ1aWxkLgorCisgICAgICAgIHByZXByb2Nlc3MtaWRscy5wbCBjb2xsZWN0cyBhbGwg
Y29uc3RydWN0b3JzIGFuZCBhc3NpZ24gRE9NQ29uc3RydWN0b3I6OlhYWCBlbnVtIHRvIGVhY2gg
Y29uc3RydWN0b3IuIEFuZCBpdCBhbHNvIGNvdW50cworICAgICAgICB0aGUgbnVtYmVyIG9mIGNv
bnN0cnVjdG9ycyAmIGNyZWF0ZSBET01Db25zdHJ1Y3RvcnMgY2xhc3Mgd2hpY2ggaG9sZHMgYXJy
YXkgb2YgY29uc3RydWN0b3JzLgorCisgICAgICAgIFdlIGFsc28gcmVtb3ZlIGxvY2tpbmcgZm9y
IEpTRE9NR2xvYmFsT2JqZWN0OjptX2NvbnN0cnVjdG9ycyBzaW5jZSBpdCBpcyBubyBsb25nZXIg
SGFzaFRhYmxlLCBzbyBHQyBjYW4gc2FmZWx5IGFjY2VzcyB0bworICAgICAgICB0aGVzZSBmaWVs
ZHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUds
b2JhbE9iamVjdDo6SlNET01HbG9iYWxPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01H
bG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW5JbXBsKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RE9NQ29uc3RydWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0SW5saW5l
cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmdldERPTUNvbnN0cnVjdG9yKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVy
YXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoR2VuZXJhdGVDYWxsYmFja0ltcGxlbWVudGF0
aW9uQ29udGVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMu
cGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRE9NV2luZG93LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Z2V0
Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9z
ZWRUb1dvcmtlckFuZFdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0V4cG9zZWRUb1dv
cmtlckFuZFdpbmRvdzo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmdldENvbnN0
cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q0VSZWFjdGlvbnM6OmdldENvbnN0
cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
Q2FsbFRyYWNlcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rv
cjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENv
bmRpdGlvbmFsSW5jbHVkZXM6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjpnZXRDb25zdHJ1Y3Rvcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpKU1Rlc3RET01KSVQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3REZWZhdWx0VG9KU09OOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJl
ZEJ5RXhwb3NlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3REZWZhdWx0VG9KU09ORmls
dGVyZWRCeUV4cG9zZWQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2U6
OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RGVm
YXVsdFRvSlNPTkluaGVyaXQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsOjpnZXRDb25zdHJ1
Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlbGVnYXRl
VG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6Z2V0Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3REb21haW5TZWN1cml0eTo6Z2V0Q29uc3RydWN0b3Ip
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OmdldENv
bnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5h
YmxlZEZvckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RW5hYmxlZEZvckNv
bnRleHQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RF
dmVudENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdEV2ZW50VGFyZ2V0OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RHbG9iYWxPYmplY3Q6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldp
dGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
SW50ZXJmYWNlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlOjpnZXRDb25zdHJ1Y3Rvcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEl0ZXJhYmxlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpnZXRD
b25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExl
Z2FjeUZhY3RvcnlGdW5jdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RMZWdhY3lG
YWN0b3J5RnVuY3Rpb246OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dExlZ2FjeUZhY3RvcnlGdW5jdGlvbjo6Z2V0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElu
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zOjpn
ZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE1hcExpa2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TWFwTGlrZTo6Z2V0Q29uc3Ry
dWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE1h
cExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9J
ZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRp
Zmllcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5n
RXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3Rvcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldp
dGhJbmRleGVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkRGVsZXRl
cldpdGhJbmRleGVkR2V0dGVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aDo6Z2V0Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRp
Zmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmll
cjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXI6Omdl
dENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZp
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmll
cjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXI6OmdldENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckFuZFNldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZFNl
dHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92
ZXJyaWRlQnVpbHRJbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdl
YWJsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVu
Zm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0
aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lc3BhY2VPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZXNwYWNlT2JqZWN0OjpnZXRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNUZXN0Tm9kZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNU
ZXN0T2JqOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Z2V0Q29uc3Ry
dWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmdldENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFBsdWdpbkludGVyZmFjZTo6Z2V0Q29uc3RydWN0
b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVq
ZWN0aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RS
ZWFkT25seU1hcExpa2U6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdFJlYWRPbmx5U2V0TGlrZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0OjpnZXRDb25zdHJ1Y3Rv
cik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RTZXRMaWtlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uczo6
Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RTdHJpbmdpZmllcjo6
Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbjo6Z2V0Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3Bl
cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVy
YXRpb246OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBczo6Z2V0Q29u
c3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nOjpnZXRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9u
bHlBdHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U3RyaW5naWZpZXJSZWFk
T25seUF0dHJpYnV0ZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZTo6Z2V0Q29u
c3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBl
ZGVmcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RUeXBlZGVmczo6Z2V0Q29uc3RydWN0
b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtlckdsb2JhbFNj
b3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTV29ya2VyR2xvYmFsU2NvcGU6OmdldENvbnN0
cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xv
YmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNXb3JrbGV0R2xvYmFsU2NvcGU6Omdl
dENvbnN0cnVjdG9yKToKKwogMjAyMS0wNi0wOSAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxoZXljYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCB3aW5kb3cuaW50ZXJuYWxzLmxvZygpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDMyNmJmMzdmOGY2ZDY3YzE3NDdjZDcyMjFlZjY3MDE4ZDU3MGYyY2Eu
LjBiYzdkZWRjY2M3YzM1ZjIwN2FhMTA2MTJhNTZkYTZhMGE4NWE4NjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC0xODU2LDYgKzE4NTYsNyBAQCBzZXQoTUFLRV9OQU1FU19ERVBFTkRFTkNJRVMK
ICkKIHNldChTVVBQTEVNRU5UQUxfREVQRU5ERU5DWV9GSUxFICR7V2ViQ29yZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXApCiBzZXQoSVNPX1NVQlNQQUNF
U19IRUFERVJfRklMRSAke1dlYkNvcmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vRE9NSXNvU3Vic3Bh
Y2VzLmgpCitzZXQoQ09OU1RSVUNUT1JTX0hFQURFUl9GSUxFICR7V2ViQ29yZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9ET01Db25zdHJ1Y3RvcnMuaCkKIHNldChXSU5ET1dfQ09OU1RSVUNUT1JTX0ZJ
TEUgJHtXZWJDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L0RPTVdpbmRvd0NvbnN0cnVjdG9ycy5p
ZGwpCiBzZXQoV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUgJHtXZWJDb3JlX0RF
UklWRURfU09VUkNFU19ESVJ9L1dvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzLmlkbCkKIHNl
dChERURJQ0FURURXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSAke1dlYkNvcmVf
REVSSVZFRF9TT1VSQ0VTX0RJUn0vRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
cnMuaWRsKQpAQCAtMjA0MSw5ICsyMDQyLDEwIEBAIEdFTkVSQVRFX0JJTkRJTkdTKFdlYkNvcmVC
aW5kaW5ncwogICAgIEdFTkVSQVRPUiBKUwogICAgIFNVUFBMRU1FTlRBTF9ERVBGSUxFICR7U1VQ
UExFTUVOVEFMX0RFUEVOREVOQ1lfRklMRX0KICAgICBQUF9FWFRSQV9PVVRQVVQKLSAgICAgICAg
JHtJU09fU1VCU1BBQ0VTX0hFQURFUl9GSUxFfSAke1dJTkRPV19DT05TVFJVQ1RPUlNfRklMRX0g
JHtXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0gJHtERURJQ0FURURXT1JLRVJH
TE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KKyAgICAgICAgJHtJU09fU1VCU1BBQ0VTX0hF
QURFUl9GSUxFfSAke0NPTlNUUlVDVE9SU19IRUFERVJfRklMRX0gJHtXSU5ET1dfQ09OU1RSVUNU
T1JTX0ZJTEV9ICR7V09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEV9ICR7REVESUNB
VEVEV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEV9CiAgICAgUFBfRVhUUkFfQVJH
UwogICAgICAgICAtLWlzb1N1YnNwYWNlc0hlYWRlckZpbGUgJHtJU09fU1VCU1BBQ0VTX0hFQURF
Ul9GSUxFfQorICAgICAgICAtLWNvbnN0cnVjdG9yc0hlYWRlckZpbGUgJHtDT05TVFJVQ1RPUlNf
SEVBREVSX0ZJTEV9CiAgICAgICAgIC0td2luZG93Q29uc3RydWN0b3JzRmlsZSAke1dJTkRPV19D
T05TVFJVQ1RPUlNfRklMRX0KICAgICAgICAgLS13b3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9y
c0ZpbGUgJHtXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KICAgICAgICAgLS1k
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJHtERURJQ0FURURXT1JL
RVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggY2I2MDg5NTkxZmYxZjNmN2YzNDM1
ZjZlMWY5MTcwNTFhOTQzN2FlNy4uZjE1MGUzYjI3NzZjMmI1ODNjOGQ5MzU4NTljOGYyZGVkZTEz
MWU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKQEAgLTksNiArOSw3IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvQ29sb3JEYXRhLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvQ29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2UuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ291bnRRdWV1aW5nU3RyYXRl
Z3lCdWlsdGlucy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9ET01Db25zdHJ1Y3RvcnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvRE9NSXNvU3Vic3BhY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NV2luZG93Q29uc3RydWN0b3Jz
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjFjMWUzOWVjMTQ5NjgxYTZh
ZWQwODFiN2Q1NzI3YzkzZTBiMDYwMi4uZDlkYWViNWFiMzI4NDZiMjIyMjY0MWY5MjEzYjVjNWIx
YTM3NGU5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xODU0LDYgKzE4NTQs
NyBAQCBKU19CSU5ESU5HU19TQ1JJUFRTID0gJChDT01NT05fQklORElOR1NfU0NSSVBUUykgJChX
ZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL0NvZAogU1VQUExFTUVOVEFMX0RFUEVOREVOQ1lfRklM
RSA9IFN1cHBsZW1lbnRhbERlcGVuZGVuY2llcy50eHQKIFNVUFBMRU1FTlRBTF9NQUtFRklMRV9E
RVBTID0gU3VwcGxlbWVudGFsRGVwZW5kZW5jaWVzLmRlcAogSVNPX1NVQlNQQUNFU19IRUFERVJf
RklMRSA9IERPTUlzb1N1YnNwYWNlcy5oCitDT05TVFJVQ1RPUlNfSEVBREVSX0ZJTEUgPSBET01D
b25zdHJ1Y3RvcnMuaAogV0lORE9XX0NPTlNUUlVDVE9SU19GSUxFID0gRE9NV2luZG93Q29uc3Ry
dWN0b3JzLmlkbAogV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUgPSBXb3JrZXJH
bG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKIERFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NP
TlNUUlVDVE9SU19GSUxFID0gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnMu
aWRsCkBAIC0xODY3LDYgKzE4NjgsNyBAQCBJRExfSU5URVJNRURJQVRFX0ZJTEVTID0gXAogICAg
ICQoU1VQUExFTUVOVEFMX01BS0VGSUxFX0RFUFMpIFwKICAgICAkKFNVUFBMRU1FTlRBTF9ERVBF
TkRFTkNZX0ZJTEUpIFwKICAgICAkKElTT19TVUJTUEFDRVNfSEVBREVSX0ZJTEUpIFwKKyAgICAk
KENPTlNUUlVDVE9SU19IRUFERVJfRklMRSkgXAogICAgICQoV0lORE9XX0NPTlNUUlVDVE9SU19G
SUxFKSBcCiAgICAgJChXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgXAogICAg
ICQoREVESUNBVEVEV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIFwKQEAgLTE4
NzksNyArMTg4MSw3IEBAIElETF9JTlRFUk1FRElBVEVfUEFUVEVSTlMgPSAkKHN1YnN0IC4sJSwk
KElETF9JTlRFUk1FRElBVEVfRklMRVMpKQogCiAkKElETF9JTlRFUk1FRElBVEVfUEFUVEVSTlMp
IDogJChQUkVQUk9DRVNTX0lETFNfU0NSSVBUUykgJChJRExfQVRUUklCVVRFU19GSUxFKSAkKEpT
X0JJTkRJTkdfSURMUykgJChGRUFUVVJFX0FORF9QTEFURk9STV9ERUZJTkVfREVQRU5ERU5DSUVT
KQogCSQoc2hlbGwgZWNobyAkKEpTX0JJTkRJTkdfSURMUykgfCB0ciAiICIgIlxuIiA+IElETEZp
bGVOYW1lc0xpc3QudHh0KQotCSQoUEVSTCkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL3By
ZXByb2Nlc3MtaWRscy5wbCAtLWRlZmluZXMgIiQoRkVBVFVSRV9BTkRfUExBVEZPUk1fREVGSU5F
UykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1pZGxGaWxlTmFtZXNMaXN0IElETEZpbGVOYW1lc0xp
c3QudHh0IC0taWRsQXR0cmlidXRlc0ZpbGUgJChJRExfQVRUUklCVVRFU19GSUxFKSAtLXN1cHBs
ZW1lbnRhbERlcGVuZGVuY3lGaWxlICQoU1VQUExFTUVOVEFMX0RFUEVOREVOQ1lfRklMRSkgLS1p
c29TdWJzcGFjZXNIZWFkZXJGaWxlICQoSVNPX1NVQlNQQUNFU19IRUFERVJfRklMRSkgLS13aW5k
b3dDb25zdHJ1Y3RvcnNGaWxlICQoV0lORE9XX0NPTlNUUlVDVE9SU19GSUxFKSAtLXdvcmtlckds
b2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAkKFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9S
U19GSUxFKSAtLWRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAkKERF
RElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFKSAtLXNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChTRVJWSUNFV09SS0VSR0xPQkFMU0NPUEVf
Q09OU1RSVUNUT1JTX0ZJTEUpIC0td29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAk
KFdPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1wYWludFdvcmtsZXRHbG9i
YWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChQQUlOVFdPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJV
Q1RPUlNfRklMRSkgLS1hdWRpb1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChB
VURJT1dPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1zdXBwbGVtZW50YWxN
YWtlZmlsZURlcHMgJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVfREVQUykKKwkkKFBFUkwpICQoV2Vi
Q29yZSkvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGwgLS1kZWZpbmVzICIkKEZF
QVRVUkVfQU5EX1BMQVRGT1JNX0RFRklORVMpIExBTkdVQUdFX0pBVkFTQ1JJUFQiIC0taWRsRmls
ZU5hbWVzTGlzdCBJRExGaWxlTmFtZXNMaXN0LnR4dCAtLWlkbEF0dHJpYnV0ZXNGaWxlICQoSURM
X0FUVFJJQlVURVNfRklMRSkgLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSAkKFNVUFBMRU1F
TlRBTF9ERVBFTkRFTkNZX0ZJTEUpIC0taXNvU3Vic3BhY2VzSGVhZGVyRmlsZSAkKElTT19TVUJT
UEFDRVNfSEVBREVSX0ZJTEUpIC0tY29uc3RydWN0b3JzSGVhZGVyRmlsZSAkKENPTlNUUlVDVE9S
U19IRUFERVJfRklMRSkgLS13aW5kb3dDb25zdHJ1Y3RvcnNGaWxlICQoV0lORE9XX0NPTlNUUlVD
VE9SU19GSUxFKSAtLXdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAkKFdPUktFUkdM
T0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFKSAtLWRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
Q29uc3RydWN0b3JzRmlsZSAkKERFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9S
U19GSUxFKSAtLXNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChTRVJW
SUNFV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0td29ya2xldEdsb2JhbFNj
b3BlQ29uc3RydWN0b3JzRmlsZSAkKFdPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklM
RSkgLS1wYWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChQQUlOVFdPUktM
RVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1hdWRpb1dvcmtsZXRHbG9iYWxTY29w
ZUNvbnN0cnVjdG9yc0ZpbGUgJChBVURJT1dPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNf
RklMRSkgLS1zdXBwbGVtZW50YWxNYWtlZmlsZURlcHMgJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVf
REVQUykKIAogIwogIyBFbWl0IHRoZSBydWxlcyB0byBnZW5lcmF0ZSBiaW5kaW5ncyBmcm9tIElE
TCBmaWxlcy4gTm90ZSB0aGF0IHRoZXJlIGFyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFkYTQxNGM0N2M3YzA4OTlkMzk1NDJl
NDQ4ZDU2ODQ1YzI5Nzg4YWIuLmZlZDQwMjAwMTUxYTYzYWQzMmMwY2M3MWFkYzMzMTRiMzQxMWMw
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTUxNjAsNiArNTE2MCw3IEBACiAJCUUzMTUwRUE3MURBNzIxOTMwMDE5NDAxMiAv
KiBET01KSVRIZWxwZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzE1MEVBNTFEQTcyMThEMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oICovOyB9
OwogCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzhEMDYwOTFG
OEU4MTE5MDA2NDlDRjIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMyM0NGRkExRTVBRjZBRjAwRjBC
NEEwIC8qIEpTRE9NQ29udmVydFByb21pc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzMjNDRkY5MUU1QUY2QTUwMEYwQjRBMCAvKiBKU0RPTUNvbnZl
cnRQcm9taXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJRTMzRDBDQkUyNjcyRTFCNjAwNzRFMTgzIC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5l
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMzRDBD
QkMyNjcyRTFCMzAwNzRFMTgzIC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyB9Owog
CQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQzMkRFMDI1
RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IH07CiAJCUUz
NDdFNUZBMjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQ3RTVGODI1RDRGMDAwMDBG
MTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1
bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMTY0ODMsNiArMTY0ODQsNyBAQAogCQlFMzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyog
VHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5p
dFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMyOTI3NjYyMjU0M0ZE
RTAwMzA4QTlBIC8qIERPTVJlY3RSZWFkT25seS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01S
ZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzM0ODI1RTFE
QzkzQUEwMDA5Qzk1NDQgLyogRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJRTMzRDBDQkMyNjcy
RTFCMzAwNzRFMTgzIC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM0MzJERTMyNUQzNzdFMzAwNThF
NjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2Ny
aXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJTY3Jp
cHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzQ5NCw2ICsyNzQ5
Niw3IEBACiAJCQkJN0M0NUM5QzcxRTNFOEFGRjAwQUFCNTU4IC8qIEpTRE9NRXhjZXB0aW9uSGFu
ZGxpbmcuaCAqLywKIAkJCQlFMUMzNkNCQzBFQjA4MDYyMDA3NDEwQkMgLyogSlNET01HbG9iYWxP
YmplY3QuY3BwICovLAogCQkJCUUxQzM2QzAyMEVCMDc2RDYwMDc0MTBCQyAvKiBKU0RPTUdsb2Jh
bE9iamVjdC5oICovLAorCQkJCUUzM0QwQ0JDMjY3MkUxQjMwMDc0RTE4MyAvKiBKU0RPTUdsb2Jh
bE9iamVjdElubGluZXMuaCAqLywKIAkJCQk3QzJCREQzQjE3QzdGOThCMDAzOEZGMTUgLyogSlNE
T01HbG9iYWxPYmplY3RUYXNrLmNwcCAqLywKIAkJCQk3QzJCREQzQzE3QzdGOThCMDAzOEZGMTUg
LyogSlNET01HbG9iYWxPYmplY3RUYXNrLmggKi8sCiAJCQkJNDFBMUIwMUIxRTU0MjM5NjAwN0Yz
NzY5IC8qIEpTRE9NR3VhcmRlZE9iamVjdC5jcHAgKi8sCkBAIC0zMzQ4MSw2ICszMzQ4NCw3IEBA
CiAJCQkJODM5OTQ3MTAxRjUwQjZGQTAwRTlEODZCIC8qIEpTRE9NRmlsZVN5c3RlbS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzM2QzAzMEVCMDc2RDYwMDc0MTBCQyAvKiBKU0RPTUds
b2JhbE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTMzRDBDQkUyNjcyRTFCNjAwNzRFMTgz
IC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MyQkRE
M0UxN0M3Rjk4QzAwMzhGRjE1IC8qIEpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDFBMUIwMUMxRTU0MjM5QjAwN0YzNzY5IC8qIEpTRE9NR3VhcmRlZE9iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRjgwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTRE9NSW1w
bGVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IGUzMTFkMGFmZWU2NGI5YjgwZTAyYzk1
Njk2MjcyZjAwM2I1ODMxM2UuLjdjNzQ0ZjczMGNkYjM3OGFkNzkxYTg3MTU5OTcyNjJlNjE2MjA5
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJK
U0RPTUdsb2JhbE9iamVjdC5oIgogCisjaW5jbHVkZSAiRE9NQ29uc3RydWN0b3JzLmgiCiAjaW5j
bHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGZXRj
aFJlc3BvbnNlLmgiCkBAIC03Nyw2ICs3OCw3IEBAIGNvbnN0IENsYXNzSW5mbyBKU0RPTUdsb2Jh
bE9iamVjdDo6c19pbmZvID0geyAiRE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xvYmFsT2JqZWN0CiAK
IEpTRE9NR2xvYmFsT2JqZWN0OjpKU0RPTUdsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBSZWY8RE9NV3JhcHBlcldvcmxkPiYmIHdvcmxkLCBjb25zdCBHbG9iYWxPYmpl
Y3RNZXRob2RUYWJsZSogZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCiAgICAgOiBKU0dsb2JhbE9i
amVjdCh2bSwgc3RydWN0dXJlLCBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKKyAgICAsIG1fY29u
c3RydWN0b3JzKG1ha2VVbmlxdWU8RE9NQ29uc3RydWN0b3JzPigpKQogICAgICwgbV93b3JsZChX
VEZNb3ZlKHdvcmxkKSkKICAgICAsIG1fd29ybGRJc05vcm1hbChtX3dvcmxkLT5pc05vcm1hbCgp
KQogICAgICwgbV9idWlsdGluSW50ZXJuYWxGdW5jdGlvbnModm0pCkBAIC0yNjIsMTMgKzI2NCwx
MyBAQCB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuSW1wbChKU0NlbGwqIGNl
bGwsIFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgICAgIGZvciAoYXV0byYgc3RydWN0dXJlIDogdGhp
c09iamVjdC0+bV9zdHJ1Y3R1cmVzLnZhbHVlcygpKQogICAgICAgICAgICAgdmlzaXRvci5hcHBl
bmQoc3RydWN0dXJlKTsKIAotICAgICAgICBmb3IgKGF1dG8mIGNvbnN0cnVjdG9yIDogdGhpc09i
amVjdC0+bV9jb25zdHJ1Y3RvcnMudmFsdWVzKCkpCi0gICAgICAgICAgICB2aXNpdG9yLmFwcGVu
ZChjb25zdHJ1Y3Rvcik7Ci0KICAgICAgICAgZm9yIChhdXRvJiBndWFyZGVkIDogdGhpc09iamVj
dC0+bV9ndWFyZGVkT2JqZWN0cykKICAgICAgICAgICAgIGd1YXJkZWQtPnZpc2l0QWdncmVnYXRl
KHZpc2l0b3IpOwogICAgIH0KIAorICAgIGZvciAoYXV0byYgY29uc3RydWN0b3IgOiB0aGlzT2Jq
ZWN0LT5jb25zdHJ1Y3RvcnMoKS5hcnJheSgpKQorICAgICAgICB2aXNpdG9yLmFwcGVuZChjb25z
dHJ1Y3Rvcik7CisKICAgICB0aGlzT2JqZWN0LT5tX2J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucy52
aXNpdCh2aXNpdG9yKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
R2xvYmFsT2JqZWN0LmgKaW5kZXggMWYwMDYyMzkwZGYzNDU0OWY0Nzc5YjRmMTVhMTE5ZWY0ZTg2
OGI5ZC4uMGU4MWNlNjgxM2MyYjYyODFmNTcyMzgwMTk0MWQwM2ViYjk5MWZhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC0zNCwxMyAr
MzQsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBET01Db25zdHJ1Y3RvcnM7
CiBjbGFzcyBET01HdWFyZGVkT2JqZWN0OwogY2xhc3MgRXZlbnQ7CiBjbGFzcyBET01XcmFwcGVy
V29ybGQ7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiB1c2luZyBKU0RPTVN0cnVj
dHVyZU1hcCA9IEhhc2hNYXA8Y29uc3QgSlNDOjpDbGFzc0luZm8qLCBKU0M6OldyaXRlQmFycmll
cjxKU0M6OlN0cnVjdHVyZT4+OwotdXNpbmcgSlNET01Db25zdHJ1Y3Rvck1hcCA9IEhhc2hNYXA8
Y29uc3QgSlNDOjpDbGFzc0luZm8qLCBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0Pj47
CiB1c2luZyBET01HdWFyZGVkT2JqZWN0U2V0ID0gSGFzaFNldDxET01HdWFyZGVkT2JqZWN0Kj47
CiAKIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6
SlNHbG9iYWxPYmplY3QgewpAQCAtNjAsMTcgKzYwLDE2IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JU
IEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6SlNHbG9iYWxPYmplY3QgewogICAgIExv
Y2smIGdjTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV9nY0xvY2spIHsgcmV0dXJuIG1fZ2NMb2Nr
OyB9CiAKICAgICBKU0RPTVN0cnVjdHVyZU1hcCYgc3RydWN0dXJlcygpIFdURl9SRVFVSVJFU19M
T0NLKG1fZ2NMb2NrKSB7IHJldHVybiBtX3N0cnVjdHVyZXM7IH0KLSAgICBKU0RPTUNvbnN0cnVj
dG9yTWFwJiBjb25zdHJ1Y3RvcnMoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2djTG9jaykgeyByZXR1
cm4gbV9jb25zdHJ1Y3RvcnM7IH0KICAgICBET01HdWFyZGVkT2JqZWN0U2V0JiBndWFyZGVkT2Jq
ZWN0cygpIFdURl9SRVFVSVJFU19MT0NLKG1fZ2NMb2NrKSB7IHJldHVybiBtX2d1YXJkZWRPYmpl
Y3RzOyB9CisgICAgRE9NQ29uc3RydWN0b3JzJiBjb25zdHJ1Y3RvcnMoKSB7IHJldHVybiAqbV9j
b25zdHJ1Y3RvcnM7IH0KIAogICAgIC8vIE5vIGxvY2tpbmcgaXMgbmVjZXNzYXJ5IGZvciBjYWxs
IHNpdGVzIHRoYXQgZG8gbm90IG11dGF0ZSB0aGUgY29udGFpbmVycyBhbmQgYXJlIG5vdCBvbiB0
aGUgR0MgdGhyZWFkLgogICAgIGNvbnN0IEpTRE9NU3RydWN0dXJlTWFwJiBzdHJ1Y3R1cmVzKCkg
Y29uc3QgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUyB7IEFTU0VSVCghVGhyZWFk
OjptYXlCZUdDVGhyZWFkKCkpOyByZXR1cm4gbV9zdHJ1Y3R1cmVzOyB9Ci0gICAgY29uc3QgSlNE
T01Db25zdHJ1Y3Rvck1hcCYgY29uc3RydWN0b3JzKCkgY29uc3QgV1RGX0lHTk9SRVNfVEhSRUFE
X1NBRkVUWV9BTkFMWVNJUyB7IEFTU0VSVCghVGhyZWFkOjptYXlCZUdDVGhyZWFkKCkpOyByZXR1
cm4gbV9jb25zdHJ1Y3RvcnM7IH0KICAgICBjb25zdCBET01HdWFyZGVkT2JqZWN0U2V0JiBndWFy
ZGVkT2JqZWN0cygpIGNvbnN0IFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgeyBB
U1NFUlQoIVRocmVhZDo6bWF5QmVHQ1RocmVhZCgpKTsgcmV0dXJuIG1fZ3VhcmRlZE9iamVjdHM7
IH0KKyAgICBjb25zdCBET01Db25zdHJ1Y3RvcnMmIGNvbnN0cnVjdG9ycygpIGNvbnN0IHsgQVNT
RVJUKCFUaHJlYWQ6Om1heUJlR0NUaHJlYWQoKSk7IHJldHVybiAqbV9jb25zdHJ1Y3RvcnM7IH0K
IAogICAgIC8vIFRoZSBmb2xsb3dpbmcgZG9uJ3QgcmVxdWlyZSBncmFiYmluZyB0aGUgZ2NMb2Nr
IGZpcnN0IGFuZCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgSGVhcCBzYXlzIHRoYXQg
bXV0YXRvcnMgZG9uJ3QgaGF2ZSB0byBiZSBmZW5jZWQuCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAm
IHN0cnVjdHVyZXMoTm9Mb2NraW5nTmVjZXNzYXJ5VGFnKSBXVEZfSUdOT1JFU19USFJFQURfU0FG
RVRZX0FOQUxZU0lTIHsgQVNTRVJUKCF2bSgpLmhlYXAubXV0YXRvclNob3VsZEJlRmVuY2VkKCkp
OyByZXR1cm4gbV9zdHJ1Y3R1cmVzOyB9Ci0gICAgSlNET01Db25zdHJ1Y3Rvck1hcCYgY29uc3Ry
dWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeVRhZykgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVUWV9B
TkFMWVNJUyB7IEFTU0VSVCghdm0oKS5oZWFwLm11dGF0b3JTaG91bGRCZUZlbmNlZCgpKTsgcmV0
dXJuIG1fY29uc3RydWN0b3JzOyB9CiAgICAgRE9NR3VhcmRlZE9iamVjdFNldCYgZ3VhcmRlZE9i
amVjdHMoTm9Mb2NraW5nTmVjZXNzYXJ5VGFnKSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FO
QUxZU0lTIHsgQVNTRVJUKCF2bSgpLmhlYXAubXV0YXRvclNob3VsZEJlRmVuY2VkKCkpOyByZXR1
cm4gbV9ndWFyZGVkT2JqZWN0czsgfQogCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwpAQCAtMTI0LDggKzEyMyw4IEBAIGNsYXNzIFdF
QkNPUkVfRVhQT1JUIEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6SlNHbG9iYWxPYmpl
Y3QgewogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRN
ZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlcios
IEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CiAKICAg
ICBKU0RPTVN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX2dj
TG9jayk7Ci0gICAgSlNET01Db25zdHJ1Y3Rvck1hcCBtX2NvbnN0cnVjdG9ycyBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fZ2NMb2NrKTsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3VhcmRlZE9i
amVjdHMgV1RGX0dVQVJERURfQllfTE9DSyhtX2djTG9jayk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PERPTUNvbnN0cnVjdG9ycz4gbV9jb25zdHJ1Y3RvcnM7CiAKICAgICBSZWY8RE9NV3JhcHBlcldv
cmxkPiBtX3dvcmxkOwogICAgIHVpbnQ4X3QgbV93b3JsZElzTm9ybWFsOwpAQCAtMTQzLDI1ICsx
NDIsNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBK
U0M6OkpTR2xvYmFsT2JqZWN0IHsKICAgICBKU0M6OldlYWtHQ01hcDxDcm9zc09yaWdpbk1hcEtl
eSwgSlNDOjpHZXR0ZXJTZXR0ZXI+IG1fY3Jvc3NPcmlnaW5HZXR0ZXJTZXR0ZXJNYXA7CiB9Owog
Ci10ZW1wbGF0ZTxjbGFzcyBDb25zdHJ1Y3RvckNsYXNzPgotaW5saW5lIEpTQzo6SlNPYmplY3Qq
IGdldERPTUNvbnN0cnVjdG9yKEpTQzo6Vk0mIHZtLCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQotewotICAgIC8vIE5vIGxvY2tpbmcgaXMgbmVjZXNzYXJ5IHVubGVzcyB3
ZSBuZWVkIHRvIGFkZCBhIG5ldyBjb25zdHJ1Y3RvciB0byBKU0RPTUdsb2JhbE9iamVjdDo6Y29u
c3RydWN0b3JzKCkuCi0gICAgaWYgKEpTQzo6SlNPYmplY3QqIGNvbnN0cnVjdG9yID0gZ2xvYmFs
T2JqZWN0LmNvbnN0cnVjdG9ycygpLmdldChDb25zdHJ1Y3RvckNsYXNzOjppbmZvKCkpLmdldCgp
KQotICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7Ci0gICAgSlNDOjpKU09iamVjdCogY29uc3Ry
dWN0b3IgPSBDb25zdHJ1Y3RvckNsYXNzOjpjcmVhdGUodm0sIENvbnN0cnVjdG9yQ2xhc3M6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgY29uc3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGdsb2JhbE9i
amVjdCksIENvbnN0cnVjdG9yQ2xhc3M6OnByb3RvdHlwZUZvclN0cnVjdHVyZSh2bSwgZ2xvYmFs
T2JqZWN0KSksIGNvbnN0X2Nhc3Q8SlNET01HbG9iYWxPYmplY3QmPihnbG9iYWxPYmplY3QpKTsK
LSAgICBBU1NFUlQoIWdsb2JhbE9iamVjdC5jb25zdHJ1Y3RvcnMoKS5jb250YWlucyhDb25zdHJ1
Y3RvckNsYXNzOjppbmZvKCkpKTsKLSAgICBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0
PiB0ZW1wOwotICAgIEpTRE9NR2xvYmFsT2JqZWN0JiBtdXRhYmxlR2xvYmFsT2JqZWN0ID0gY29u
c3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKHZtLmhl
YXAubXV0YXRvclNob3VsZEJlRmVuY2VkKCkpIHsKLSAgICAgICAgTG9ja2VyIGxvY2tlciB7IG11
dGFibGVHbG9iYWxPYmplY3QuZ2NMb2NrKCkgfTsKLSAgICAgICAgbXV0YWJsZUdsb2JhbE9iamVj
dC5jb25zdHJ1Y3RvcnMoKS5hZGQoQ29uc3RydWN0b3JDbGFzczo6aW5mbygpLCB0ZW1wKS5pdGVy
YXRvci0+dmFsdWUuc2V0KHZtLCAmZ2xvYmFsT2JqZWN0LCBjb25zdHJ1Y3Rvcik7Ci0gICAgICAg
IHJldHVybiBjb25zdHJ1Y3RvcjsKLSAgICB9Ci0gICAgbXV0YWJsZUdsb2JhbE9iamVjdC5jb25z
dHJ1Y3RvcnMoTm9Mb2NraW5nTmVjZXNzYXJ5KS5hZGQoQ29uc3RydWN0b3JDbGFzczo6aW5mbygp
LCB0ZW1wKS5pdGVyYXRvci0+dmFsdWUuc2V0KHZtLCAmZ2xvYmFsT2JqZWN0LCBjb25zdHJ1Y3Rv
cik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdG9yOwotfQotCiBXRUJDT1JFX0VYUE9SVCBKU0RPTUds
b2JhbE9iamVjdCYgY2FsbGVyR2xvYmFsT2JqZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6
OkNhbGxGcmFtZSYpOwogCiBKU0RPTUdsb2JhbE9iamVjdCogdG9KU0RPTUdsb2JhbE9iamVjdChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRE9NV3JhcHBlcldvcmxkJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA1Mjg2MTViNDYxYmYwZGI3NzFkZjQyNjg2ZmEyMmU1ZDJkZTY1MmYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdElu
bGluZXMuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NQ29uc3RydWN0
b3JzLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit0ZW1wbGF0ZTxjbGFzcyBDb25zdHJ1Y3RvckNsYXNzLCBET01Db25zdHJ1Y3RvcklE
IGNvbnN0cnVjdG9ySUQ+CitpbmxpbmUgSlNDOjpKU09iamVjdCogZ2V0RE9NQ29uc3RydWN0b3Io
SlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit7Cisg
ICAgLy8gTm8gbG9ja2luZyBpcyBuZWNlc3NhcnkgdW5sZXNzIHdlIG5lZWQgdG8gYWRkIGEgbmV3
IGNvbnN0cnVjdG9yIHRvIEpTRE9NR2xvYmFsT2JqZWN0Ojpjb25zdHJ1Y3RvcnMoKS4KKyAgICBp
ZiAoSlNDOjpKU09iamVjdCogY29uc3RydWN0b3IgPSBnbG9iYWxPYmplY3QuY29uc3RydWN0b3Jz
KCkuYXJyYXkoKVtzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29uc3RydWN0b3JJRCldLmdldCgpKQor
ICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CisgICAgSlNDOjpKU09iamVjdCogY29uc3RydWN0
b3IgPSBDb25zdHJ1Y3RvckNsYXNzOjpjcmVhdGUodm0sIENvbnN0cnVjdG9yQ2xhc3M6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgY29uc3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGdsb2JhbE9iamVj
dCksIENvbnN0cnVjdG9yQ2xhc3M6OnByb3RvdHlwZUZvclN0cnVjdHVyZSh2bSwgZ2xvYmFsT2Jq
ZWN0KSksIGNvbnN0X2Nhc3Q8SlNET01HbG9iYWxPYmplY3QmPihnbG9iYWxPYmplY3QpKTsKKyAg
ICBBU1NFUlQoIWdsb2JhbE9iamVjdC5jb25zdHJ1Y3RvcnMoKS5hcnJheSgpW3N0YXRpY19jYXN0
PHVuc2lnbmVkPihjb25zdHJ1Y3RvcklEKV0uZ2V0KCkpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0
JiBtdXRhYmxlR2xvYmFsT2JqZWN0ID0gY29uc3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGds
b2JhbE9iamVjdCk7CisgICAgbXV0YWJsZUdsb2JhbE9iamVjdC5jb25zdHJ1Y3RvcnMoKS5hcnJh
eSgpW3N0YXRpY19jYXN0PHVuc2lnbmVkPihjb25zdHJ1Y3RvcklEKV0uc2V0KHZtLCAmZ2xvYmFs
T2JqZWN0LCBjb25zdHJ1Y3Rvcik7CisgICAgcmV0dXJuIGNvbnN0cnVjdG9yOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGQyNWUzZmY0NGI2YjY0YzlmOTM5M2Y5NmFiOTM4
ZTQ4Njk4ODg3YjYuLjQ1ZjJhNTAyMzZhMTg0ODc1YjM0YTY1NDRlM2MyNDgzMDY3OTU0MTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCkBAIC00NzY1LDE1ICs0NzY1LDE2IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAg
ICAgfQogCiAgICAgaWYgKCEkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntMZWdhY3lO
b0ludGVyZmFjZU9iamVjdH0pIHsKKyAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNWYWx1
ZSAke2NsYXNzTmFtZX06OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIp
OwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8JHtjbGFzc05hbWV9RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPCR7Y2xhc3NOYW1lfURPTUNvbnN0cnVj
dG9yLCBET01Db25zdHJ1Y3RvcklEOjoke2ludGVyZmFjZU5hbWV9Pih2bSwgKmpzQ2FzdDxjb25z
dCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpO1xuIik7CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAifVxuXG4iKTsKIAogICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57TGVnYWN5RmFjdG9yeUZ1bmN0aW9ufSkgewogICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICJKU1ZhbHVlICR7Y2xhc3NOYW1lfTo6Z2V0TGVnYWN5RmFjdG9yeUZ1
bmN0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rvcjwke2NsYXNzTmFtZX1MZWdhY3lG
YWN0b3J5RnVuY3Rpb24+KHZtLCAqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3Rvcjwke2NsYXNzTmFtZX1MZWdhY3lGYWN0b3J5RnVuY3Rpb24sIERPTUNv
bnN0cnVjdG9ySUQ6OiR7aW50ZXJmYWNlTmFtZX0+KHZtLCAqanNDYXN0PEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAifVxuXG4iKTsKICAgICAgICAgfQogICAgIH0KQEAgLTY0NTYsOSArNjQ1NywxMCBAQCBzdWIg
R2VuZXJhdGVDYWxsYmFja0ltcGxlbWVudGF0aW9uQ29udGVudAogCiAgICAgICAgIEdlbmVyYXRl
Q29uc3RydWN0b3JEZWZpbml0aW9ucygkY29udGVudFJlZiwgJGNsYXNzTmFtZSwgIiIsICR2aXNp
YmxlTmFtZSwgJGludGVyZmFjZU9yQ2FsbGJhY2spOwogCisgICAgICAgIEFkZFRvSW1wbEluY2x1
ZGVzKCJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIpOwogICAgICAgICBwdXNoKEAkY29udGVu
dFJlZiwgIkpTVmFsdWUgJHtjbGFzc05hbWV9OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpXG4iKTsKICAgICAgICAgcHVzaChAJGNvbnRl
bnRSZWYsICJ7XG4iKTsKLSAgICAgICAgcHVzaChAJGNvbnRlbnRSZWYsICIgICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPCR7Y2xhc3NOYW1lfURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpO1xuIik7CisgICAgICAgIHB1
c2goQCRjb250ZW50UmVmLCAiICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rvcjwke2NsYXNzTmFt
ZX1ET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6JHtuYW1lfT4odm0sICpqc0Nhc3Q8
Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTtcbiIpOwogICAgICAgICBw
dXNoKEAkY29udGVudFJlZiwgIn1cblxuIik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1pZGxzLnBsCmluZGV4IDIwYTBiYTNmOWRh
MGM2ODRhNzZmY2FlOTJkYTFiNjAzZWY4MDYzMGUuLjA1N2NmODAwZjc3MTI2N2Q3NTFjNmU0NGE4
MjNmNWE2ODk0YzIzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvcHJlcHJvY2Vzcy1pZGxzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvcHJlcHJvY2Vzcy1pZGxzLnBsCkBAIC00MSw2ICs0MSw3IEBACiBteSAkdGVzdEdsb2JhbENv
bnRleHROYW1lOwogbXkgJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlOwogbXkgJGlzb1N1YnNw
YWNlc0hlYWRlckZpbGU7CitteSAkY29uc3RydWN0b3JzSGVhZGVyRmlsZTsKIG15ICR3aW5kb3dD
b25zdHJ1Y3RvcnNGaWxlOwogbXkgJHdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZTsK
IG15ICRkZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGU7CkBAIC02NCw2
ICs2NSw3IEBACiAgICAgICAgICAgICd0ZXN0R2xvYmFsQ29udGV4dE5hbWU9cycgPT4gXCR0ZXN0
R2xvYmFsQ29udGV4dE5hbWUsCiAgICAgICAgICAgICdzdXBwbGVtZW50YWxEZXBlbmRlbmN5Rmls
ZT1zJyA9PiBcJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlLAogICAgICAgICAgICAnaXNvU3Vi
c3BhY2VzSGVhZGVyRmlsZT1zJyA9PiBcJGlzb1N1YnNwYWNlc0hlYWRlckZpbGUsCisgICAgICAg
ICAgICdjb25zdHJ1Y3RvcnNIZWFkZXJGaWxlPXMnID0+IFwkY29uc3RydWN0b3JzSGVhZGVyRmls
ZSwKICAgICAgICAgICAgJ3dpbmRvd0NvbnN0cnVjdG9yc0ZpbGU9cycgPT4gXCR3aW5kb3dDb25z
dHJ1Y3RvcnNGaWxlLAogICAgICAgICAgICAnd29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNG
aWxlPXMnID0+IFwkd29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNGaWxlLAogICAgICAgICAg
ICAnZGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNGaWxlPXMnID0+IFwkZGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNGaWxlLApAQCAtOTIsNiArOTQsNyBA
QAogCiAkc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUgPSBDeWd3aW5QYXRoSWZOZWVkZWQoJHN1
cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlKTsKICRpc29TdWJzcGFjZXNIZWFkZXJGaWxlID0gQ3ln
d2luUGF0aElmTmVlZGVkKCRpc29TdWJzcGFjZXNIZWFkZXJGaWxlKTsKKyRjb25zdHJ1Y3RvcnNI
ZWFkZXJGaWxlID0gQ3lnd2luUGF0aElmTmVlZGVkKCRjb25zdHJ1Y3RvcnNIZWFkZXJGaWxlKTsK
ICR3aW5kb3dDb25zdHJ1Y3RvcnNGaWxlID0gQ3lnd2luUGF0aElmTmVlZGVkKCR3aW5kb3dDb25z
dHJ1Y3RvcnNGaWxlKTsKICR3b3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgPSBDeWd3
aW5QYXRoSWZOZWVkZWQoJHdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSk7CiAkZGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNGaWxlID0gQ3lnd2luUGF0aElmTmVl
ZGVkKCRkZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUpOwpAQCAtMTU3
LDYgKzE2MCwxOSBAQAogICAgIERPTUlzb1N1YnNwYWNlcygpID0gZGVmYXVsdDsKIEVORAogCitt
eSBAY29uc3RydWN0b3JzID0gKCk7CitteSAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSA9IDw8RU5E
OworI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNDSW5saW5lcy5oPgorCisjcHJhZ21hIG9u
Y2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIERPTUNvbnN0cnVjdG9ySUQg
OiB1aW50MTZfdCB7CitFTkQKKwogIyBHZXQgcmlkIG9mIGR1cGxpY2F0ZXMgaW4gaWRsRmlsZU5h
bWVzIGFycmF5LgogbXkgJWlkbEZpbGVOYW1lSGFzaCA9IG1hcCB7ICRfLCAxIH0gQGlkbEZpbGVO
YW1lczsKIApAQCAtMjE0LDYgKzIzMCw4IEBAIEVORAogICAgICAgICAgICAgJGlzb1N1YnNwYWNl
c0hlYWRlckNvZGUgLj0gIiAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNDOjpJc29TdWJzcGFjZT4gbV9z
dWJzcGFjZUZvciR7aW50ZXJmYWNlTmFtZX1JdGVyYXRvcjtcbiI7CiAgICAgICAgIH0KICAgICB9
CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICAke2ludGVyZmFjZU5hbWV9LFxu
IjsKKyAgICBwdXNoKEBjb25zdHJ1Y3RvcnMsICRpbnRlcmZhY2VOYW1lKTsKIAogICAgICMgRm9y
IGV2ZXJ5IGludGVyZmFjZSB0aGF0IGlzIGV4cG9zZWQgaW4gYSBnaXZlbiBFQ01BU2NyaXB0IGds
b2JhbCBlbnZpcm9ubWVudCBhbmQ6CiAgICAgIyAtIGlzIGEgY2FsbGJhY2sgaW50ZXJmYWNlIHRo
YXQgaGFzIGNvbnN0YW50cyBkZWNsYXJlZCBvbiBpdCwgb3IKQEAgLTI3MCw2ICsyODgsMjkgQEAg
RU5ECiAgICAgV3JpdGVGaWxlSWZDaGFuZ2VkKCRpc29TdWJzcGFjZXNIZWFkZXJGaWxlLCAkaXNv
U3Vic3BhY2VzSGVhZGVyQ29kZSk7CiB9CiAKK2lmICgkY29uc3RydWN0b3JzSGVhZGVyRmlsZSkg
eworICAgIG15ICRjb25zdHJ1Y3RvcnNMZW5ndGggPSBAY29uc3RydWN0b3JzOworICAgICRjb25z
dHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICJ9O1xuIjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29k
ZSAuPSAiXG4iOworICAgICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICJzdGF0aWMgY29uc3Rl
eHByIHVuc2lnbmVkIG51bWJlck9mRE9NQ29uc3RydWN0b3JzID0gJGNvbnN0cnVjdG9yc0xlbmd0
aDtcbiI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIlxuIjsKKyAgICAkY29uc3Ry
dWN0b3JzSGVhZGVyQ29kZSAuPSAiY2xhc3MgRE9NQ29uc3RydWN0b3JzIHtcbiI7CisgICAgJGNv
bnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01Db25z
dHJ1Y3RvcnMpO1xuIjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAiICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEKERPTUNvbnN0cnVjdG9ycyk7XG4iOworICAgICRjb25zdHJ1Y3Rv
cnNIZWFkZXJDb2RlIC49ICJwdWJsaWM6XG4iOworICAgICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2Rl
IC49ICIgICAgdXNpbmcgQ29uc3RydWN0b3JBcnJheSA9IHN0ZDo6YXJyYXk8SlNDOjpXcml0ZUJh
cnJpZXI8SlNDOjpKU09iamVjdD4sIG51bWJlck9mRE9NQ29uc3RydWN0b3JzPjtcbiI7CisgICAg
JGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICBET01Db25zdHJ1Y3RvcnMoKSA9IGRlZmF1
bHQ7XG4iOworICAgICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICIgICAgQ29uc3RydWN0b3JB
cnJheSYgYXJyYXkoKSB7IHJldHVybiBtX2FycmF5OyB9XG4iOworICAgICRjb25zdHJ1Y3RvcnNI
ZWFkZXJDb2RlIC49ICIgICAgY29uc3QgQ29uc3RydWN0b3JBcnJheSYgYXJyYXkoKSBjb25zdCB7
IHJldHVybiBtX2FycmF5OyB9XG4iOworICAgICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICJc
biI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gInByaXZhdGU6XG4iOworICAgICRj
b25zdHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICIgICAgQ29uc3RydWN0b3JBcnJheSBtX2FycmF5IHsg
fTtcbiI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIn07XG4iOworICAgICRjb25z
dHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICJcbiI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUg
Lj0gIn0gLy8gbmFtZXNwYWNlIFdlYkNvcmVcbiI7CisgICAgV3JpdGVGaWxlSWZDaGFuZ2VkKCRj
b25zdHJ1Y3RvcnNIZWFkZXJGaWxlLCAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSk7Cit9CisKICMg
UmVzb2x2ZXMgcGFydGlhbCBpbnRlcmZhY2VzIGFuZCBpbmNsdWRlIGRlcGVuZGVuY2llcy4KIGZv
cmVhY2ggbXkgJGlkbEZpbGVQYXRoIChzb3J0IGtleXMgJXN1cHBsZW1lbnRhbERlcGVuZGVuY2ll
cykgewogICAgIG15ICRiYXNlRmlsZXMgPSAkc3VwcGxlbWVudGFsRGVwZW5kZW5jaWVzeyRpZGxG
aWxlUGF0aH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTRE9NV2luZG93LmNwcAppbmRleCA4YzI3ZjAyNGNkNWRiYzgyMThiODVlMDgyMmZi
OTdjOTBmMTZkNjM0Li40MThkOWE1ZGVkOTdmZWRiYjE2ZjkyYTFkNTRhZGZlZDY5OTczM2UxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNET01X
aW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U0RPTVdpbmRvdy5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcu
aCIKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1
ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVj
dElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkpTRE9NV3Jh
cHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuaCIKQEAg
LTE5OCw3ICsxOTksNyBAQCB2b2lkIEpTRE9NV2luZG93OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IEpTV2luZG93UHJveHkqIHByb3h5KQogCiBKU1ZhbHVlIEpTRE9NV2luZG93OjpnZXRDb25zdHJ1
Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTRE9NV2luZG93RE9NQ29uc3RydWN0b3I+KHZtLCAq
anNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0
dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTRE9NV2luZG93RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0
cnVjdG9ySUQ6OkRPTVdpbmRvdz4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3Qq
PihnbG9iYWxPYmplY3QpKTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzRE9NV2lu
ZG93Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDdkNDhkNzAwZTE3MTI5ZGQ3ZjhlZDI4
YzhiZTY1YTdiZDcyZDc4MjQuLmJjNGM3YWVlOWU0NzJmZjlkMmUxYjAzNjQ2NjI5NzRiZDYxMmYw
Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RP
TUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9u
SGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNs
dWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xMjAs
NyArMTIxLDcgQEAgdm9pZCBKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpmaW5pc2hDcmVh
dGlvbihWTSYgdm0sIEpTUHJveHkqIHByb3h5KQogCiBKU1ZhbHVlIEpTRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1
Y3RvcjxKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0
cnVjdG9ySUQ6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RP
TV9HRVRURVIoanNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yLCAoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwg
UHJvcGVydHlOYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuY3Bw
CmluZGV4IGY0M2RkMjM3NWM4MTI2ZmZkNzlmYzdiNTY5OTJmZTNlOGU4ZGY0MzMuLjI5MWM2Njgy
YzFlM2I2ZTc3MmQ3ZGE1MTE5YTAyY2FiZmU2Y2M5MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3Nl
ZFRvV29ya2VyQW5kV2luZG93LmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9N
Q29udmVydEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIK
ICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2Jq
ZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNE
T01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1Rlc3RPYmouaCIKQEAgLTIwNyw3ICsyMDgs
NyBAQCBKU09iamVjdCogSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c6OnByb3RvdHlwZShWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYQogCiBKU1ZhbHVlIEpTRXhwb3NlZFRvV29ya2Vy
QW5kV2luZG93OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTRXhwb3NlZFRv
V29ya2VyQW5kV2luZG93RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9y
PEpTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9y
SUQ6OkV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdz4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU0V4cG9zZWRUb1dvcmtlckFu
ZFdpbmRvdzo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3Bl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1BhaW50V29y
a2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCAxNjkwOTYzZDNmODhkYzEyNzU5NjZkMGMwMWYyNGRm
YjRmYTI3MDljLi41MTNmYTlkYmUxYTdmYTE1NzhkNDQ0Y2Q3OWU5MTg3YWNiMzdiN2RmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNQYWludFdv
cmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0yNyw2ICsyNyw3IEBA
CiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5v
dENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisj
aW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFw
cGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5j
bHVkZSAiUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCIKQEAgLTEyMCw3ICsxMjEsNyBAQCB2b2lk
IEpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNQcm94
eSogcHJveHkpCiAKIEpTVmFsdWUgSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6Z2V0Q29uc3Ry
dWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlRE9NQ29u
c3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGVET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6UGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGU+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1BhaW50V29ya2xldEdsb2JhbFNj
b3BlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMjZkYmI5YjgzNjgzODNiNzJmMWZlZjVlZmNj
Yjk1MDU5ZDYyY2FkZi4uYzQ5Nzg3NWY1Yzg4YWIzMWRjZDQ5NjBkNjM4OWNlOWY0OWM0Y2ExOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01Db25zdHJ1
Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5n
LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNE
T01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5o
IgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTEyMCw3ICsxMjEsNyBA
QCB2b2lkIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IEpTUHJveHkqIHByb3h5KQogCiBKU1ZhbHVlIEpTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpn
ZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVh
Y3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDRVJlYWN0aW9ucy5jcHAKaW5kZXggMTcxOTYwYzEzNzZlYzA4YTdiNWFlZWQ4MTliZjliNTRh
ZmI1Y2U1Ny4uYjg3OGI0NmUxOTExNGU4OGM2YmIzMzFiOTY3MzQwNGFlZjQ3ZjE0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVh
Y3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q0VSZWFjdGlvbnMuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSlNET01D
b252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNp
bmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0
SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01X
cmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmgi
CkBAIC0xNzUsNyArMTc2LDcgQEAgSlNPYmplY3QqIEpTVGVzdENFUmVhY3Rpb25zOjpwcm90b3R5
cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpT
VGVzdENFUmVhY3Rpb25zOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dENFUmVhY3Rpb25zRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpT
VGVzdENFUmVhY3Rpb25zRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RDRVJl
YWN0aW9ucz4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RDRVJlYWN0aW9uczo6ZGVzdHJveShKU0M6OkpTQ2VsbCog
Y2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcAppbmRl
eCBhMWRmNTc4MzM1ZTA1YzRkN2Y2M2QwYTI2ZjU1NDc2Yzk5YTliYTk5Li5jYTM4MjkxMGY3NTIy
YmU1ZjY4NjEwYTE4ZmMxOWNkYjFmYjUyNDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVh
Y3Rpb25zU3RyaW5naWZpZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSlNET01D
b25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJp
bmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpT
RE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgiCkBAIC0xNTUsNyArMTU2LDcgQEAgSlNPYmplY3QqIEpTVGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG8KIAog
SlNWYWx1ZSBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYg
dm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJET01Db25zdHJ1Y3Rv
cj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
KyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmll
ckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0Q0VSZWFjdGlvbnNTdHJpbmdp
Zmllcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKIH0KIAogdm9pZCBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyOjpkZXN0cm95KEpTQzo6
SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwCmluZGV4IDhlNTc5ZDMwZWNmZGJl
ZDM3YTc0ZGEyNmY2OTZlMDEzOGMyYjczYTQuLmNhOWM5NmRiZjIyODNlYTQ1MzFlZWUwZjk4OGJm
ZjY1MjA2MWNhYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAK
ICNpbmNsdWRlICJKU0RPTUNvbnZlcnRVbmlvbi5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9u
SGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpT
RE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU05vZGUuaCIKQEAgLTE5
Nyw3ICsxOTgsNyBAQCBKU09iamVjdCogSlNUZXN0Q2FsbFRyYWNlcjo6cHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIAogSlNWYWx1ZSBKU1Rlc3RDYWxs
VHJhY2VyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdENhbGxUcmFj
ZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Q2FsbFRy
YWNlckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0Q2FsbFRyYWNlcj4odm0s
ICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAog
dm9pZCBKU1Rlc3RDYWxsVHJhY2VyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxi
YWNrSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHAKaW5kZXggZjBkOGU3MWQ0NDJkMmRjZjMxM2Vk
ZWU3MTU2YjYwMmZmNjJmYTM1Ni4uZmY1ZGIxNzcxYWQ5NWNjOTdjNjM1YTY5YTZmZDFmNjYyYjUx
ZDMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENhbGxiYWNrSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCkBAIC0zNCw2ICsz
NCw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9N
RXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2lu
Y2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NU3RyaW5n
TGlzdC5oIgogI2luY2x1ZGUgIkpTVGVzdE5vZGUuaCIKICNpbmNsdWRlICJKU1Rlc3RPYmouaCIK
QEAgLTE3MCw3ICsxNzEsNyBAQCB0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0Q2FsbGJhY2tJbnRlcmZh
Y2VET01Db25zdHJ1Y3Rvcjo6aW5pdGlhbGl6ZVByb3BlcnRpZXMoVk0mCiAKIEpTVmFsdWUgSlNU
ZXN0Q2FsbGJhY2tJbnRlcmZhY2U6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2VET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2VET01Db25zdHJ1Y3RvciwgRE9NQ29uc3Ry
dWN0b3JJRDo6VGVzdENhbGxiYWNrSW50ZXJmYWNlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBDYWxsYmFja1Jlc3VsdDx0eXBlbmFt
ZSBJRExVbmRlZmluZWQ6OkltcGxlbWVudGF0aW9uVHlwZT4gSlNUZXN0Q2FsbGJhY2tJbnRlcmZh
Y2U6OmNhbGxiYWNrV2l0aE5vUGFyYW0oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFz
c1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAKaW5kZXggYjRiMjViNjU5ODhkNTc2NDY2Njcw
MmZlZmZkZDlhZmQ5MjE4MmM1Zi4uOTNiZDYwMTk2ZDhlZGY3Y2M3Mjc2NzcwNTEyYTAyMTRiYmRj
OWU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3IuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgi
CiAjaW5jbHVkZSAiSlNET01CdWlsdGluQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJKU0RPTUV4
Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9y
QnVpbHRpbnMuaCIKQEAgLTE0Niw3ICsxNDcsNyBAQCBKU09iamVjdCogSlNUZXN0Q2xhc3NXaXRo
SlNCdWlsdGluQ29uc3RydWN0b3I6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZQog
CiBKU1ZhbHVlIEpTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1
Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVj
dG9yRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdENsYXNz
V2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RDbGFzc1dp
dGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25k
aXRpb25hbEluY2x1ZGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcAppbmRleCA5YTkwM2U1YjMzYmM2NTE0
YzE5Y2Q0ZTAyYjVjYjlhZDUxYjFkNzI4Li4wZjczZGQ2NDY4ZGNhM2YzNWY0MTNkZDUwYTBhZTE5
OGEzNzNlNDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCkBA
IC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFi
bGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1iZXJzLmgiCiAjaW5jbHVkZSAiSlNET01F
eGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2Fj
aGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC00NzQsNyArNDc1
LDcgQEAgSlNPYmplY3QqIEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXM6OnByb3RvdHlwZShWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWwKIAogSlNWYWx1ZSBKU1Rlc3RDb25kaXRpb25h
bEluY2x1ZGVzOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdENvbmRp
dGlvbmFsSW5jbHVkZXNET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlc0RPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklE
OjpUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcz4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RDb25kaXRpb25hbEluY2x1
ZGVzOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRp
dGlvbmFsbHlSZWFkV3JpdGUuY3BwCmluZGV4IGViOWI2OTBhYmRjYjg0NTVkMWI0MzYxYTM3YTgz
N2RlMzRlMjk4MTUuLmUyZjQwYzE2MTQ1ZDQ3Zjg2N2U1MmVhOWY4ZGNkYTJmNjE3MWY0MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
b25kaXRpb25hbGx5UmVhZFdyaXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAKQEAgLTMzLDYg
KzMzLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRQcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNE
T01FeGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisj
aW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFw
cGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU05vZGUuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgiCkBAIC0yNTksNyArMjYwLDcgQEAgSlNPYmplY3QqIEpTVGVzdENvbmRpdGlv
bmFsbHlSZWFkV3JpdGU6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG8K
IAogSlNWYWx1ZSBKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjpnZXRDb25zdHJ1Y3RvcihW
TSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGVET01Db25zdHJ1
Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRX
cml0ZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjpkZXN0cm95KEpT
Qzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RE9NSklULmNwcAppbmRleCBmMTAwNDQ1MzMxNmEzYWZiNjc3
NzJmNDllZjA2MDc1ZDkzMDNjYTYwLi5hOWJhYWRkOTJhZDcxNDNmMzRkNDBkNGVhYTY1MGViYjI0
MTY3OWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RE9NSklULmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RE9NSklULmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkpT
RE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgi
CiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9i
amVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpT
RE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNFbGVtZW50LmgiCkBAIC02MDAsNyArNjAx
LDcgQEAgSlNPYmplY3QqIEpTVGVzdERPTUpJVDo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIAogSlNWYWx1ZSBKU1Rlc3RET01KSVQ6OmdldENvbnN0
cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAg
ICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RE9NSklURE9NQ29uc3RydWN0b3I+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERPTUpJVERPTUNvbnN0cnVjdG9yLCBET01D
b25zdHJ1Y3RvcklEOjpUZXN0RE9NSklUPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNU
ZXN0RE9NSklUQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pT
T04uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERl
ZmF1bHRUb0pTT04uY3BwCmluZGV4IDQ0MGExOWFhYzMyZDc4ODE2MDhkODdlZjc4MjQwYzRlYzZl
NjAyZjQuLmZjZTc1N2U2Njc4YmQyNDJmNDUyNjBiYWUwNjc5NGRhZDFkNjJlNWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0
VG9KU09OLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJKU0RP
TUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgog
I2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RP
TVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgpAQCAtMjQwLDcg
KzI0MSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3REZWZhdWx0VG9KU09OOjpwcm90b3R5cGUoVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0CiAKIEpTVmFsdWUgSlNUZXN0RGVmYXVs
dFRvSlNPTjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3REZWZhdWx0
VG9KU09ORE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERl
ZmF1bHRUb0pTT05ET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdERlZmF1bHRU
b0pTT04+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KSk7CiB9CiAKIHZvaWQgSlNUZXN0RGVmYXVsdFRvSlNPTjo6ZGVzdHJveShKU0M6OkpTQ2VsbCog
Y2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5
RXhwb3NlZC5jcHAKaW5kZXggMWYzOTU5ODFhMGM0YTA1ZmE4Y2FjNzBjNTIxYWY5ZTRkNDRmYjZh
My4uMWFhZDFhMTliMTY0MGI3YWViYmM4MmM4YmVhNjc1MGE1ZmMzMWZjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pT
T05GaWx0ZXJlZEJ5RXhwb3NlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZC5jcHAKQEAg
LTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1iZXJzLmgiCiAjaW5jbHVk
ZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTczLDcgKzE3NCw3IEBAIEpTT2JqZWN0
KiBKU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ6OnByb3RvdHlwZShWTSYgdm0s
IEpTRE9NR2xvYmFsT2JqCiAKIEpTVmFsdWUgSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlF
eHBvc2VkOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERlZmF1bHRU
b0pTT05GaWx0ZXJlZEJ5RXhwb3NlZERPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWRET01Db25zdHJ1Y3Rv
ciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZD4o
dm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0K
IAogdm9pZCBKU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pT
T05JbmRpcmVjdEluaGVyaXRhbmNlLmNwcAppbmRleCA5NTcwOTg0ZmI2YjhjYTE2YTU4MGJmM2Nh
NDBkZDczZDRkZjIwMmFjLi5kZjE4YmY2N2YxZGIwOTFiNTUwNWVlOGYxN2QzYTc2Mzg5ZmU0MDU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJ
bmhlcml0YW5jZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcu
aCIKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1
ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVj
dElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgi
CkBAIC0xMzgsNyArMTM5LDcgQEAgSlNPYmplY3QqIEpTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVj
dEluaGVyaXRhbmNlOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE8KIAogSlNWYWx1ZSBK
U1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZTo6Z2V0Q29uc3RydWN0b3IoVk0m
IHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZURP
TUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3REZWZhdWx0VG9K
U09OSW5kaXJlY3RJbmhlcml0YW5jZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpU
ZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2U+KHZtLCAqanNDYXN0PGNvbnN0IEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9N
X0dFVFRFUihqc1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZUNvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTklu
aGVyaXQuY3BwCmluZGV4IGU0MWYwYjk2YzE3MDU2NmQ4YmFiNTgyMmY4MjgzOTE4OTI1ZGI1MTQu
Ljk2ZGI0MTI4ZmQ0MDk2ODI1Yzg4OWY4NzdmM2JmYzE0NzM5MDZmODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09O
SW5oZXJpdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1
ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRs
aW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1
ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNUZXN0RGVmYXVsdFRvSlNPTklu
ZGlyZWN0SW5oZXJpdGFuY2UuaCIKQEAgLTE2Nyw3ICsxNjgsNyBAQCBKU09iamVjdCogSlNUZXN0
RGVmYXVsdFRvSlNPTkluaGVyaXQ6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0
JiBnbG9iYQogCiBKU1ZhbHVlIEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0OjpnZXRDb25zdHJ1
Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RE9NQ29u
c3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERlZmF1bHRUb0pTT05J
bmhlcml0RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3REZWZhdWx0VG9KU09O
SW5oZXJpdD4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdERlZmF1bHRUb0pTT05J
bmhlcml0Q29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05J
bmhlcml0RmluYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwCmluZGV4IDg3NjZkZmYyYWY2YTVh
OTBjZjJjMTM4NTlhMTY4YWJlYzg4ODY1YzcuLjgwN2E3ODhiNGJmNGEwZTRkYzg4ZjZjYWY5NWVm
Mzc4MTYzZmEyZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVy
aXRGaW5hbC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJp
bmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpT
RE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNo
ZS5oIgogI2luY2x1ZGUgIkpTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlLmgi
CkBAIC0xNzAsNyArMTcxLDcgQEAgSlNPYmplY3QqIEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0
RmluYWw6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JgogCiBKU1ZhbHVlIEpT
VGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWw6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29u
c3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbERPTUNvbnN0cnVjdG9yPih2
bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFs
RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3REZWZhdWx0VG9KU09OSW5oZXJp
dEZpbmFsPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0RGVmYXVsdFRvSlNPTklu
aGVyaXRGaW5hbENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRv
U2hhcmVkU3ludGhldGljQXR0cmlidXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlLmNw
cAppbmRleCBjMGYzYzkyODQ2NDUzNDg5ZjdlMDdkZWE1NDg1YThiNzNjMDRkMDUzLi5hYjE2MzNk
NmI4MWMwM2IxMzdkMWNiOTdkZTM3NTZlMTZjYTQyYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRo
ZXRpY0F0dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUuY3BwCkBAIC0y
OSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUu
aCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNl
cHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgog
I2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE1Miw3ICsx
NTMsNyBAQCBKU09iamVjdCogSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0
ZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYQogCiBKU1ZhbHVlIEpTVGVzdERlbGVnYXRl
VG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3Qg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZURPTUNvbnN0cnVj
dG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkp
OworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3lu
dGhldGljQXR0cmlidXRlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3REZWxl
Z2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdERlbGVnYXRlVG9T
aGFyZWRTeW50aGV0aWNBdHRyaWJ1dGU6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RG9t
YWluU2VjdXJpdHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdERvbWFpblNlY3VyaXR5LmNwcAppbmRleCBlMWQ5ODQwNjM1MDIxNmE1Yjk5ZmM4YTc5
NWQ1NzYxMmQwM2MwNTIyLi43ZWY5NDljMTAyYzFjZWMxNDUxMjkyNjNhMDllNTY2MWQ5ZWYwNDBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RG9tYWluU2VjdXJpdHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bmNsdWRlICJKU0RPTUNvbnZlcnROdW1iZXJzLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3Ry
aW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJK
U0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgog
I2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNOb2RlLmgiCkBAIC0x
NzQsNyArMTc1LDcgQEAgSlNPYmplY3QqIEpTVGVzdERvbWFpblNlY3VyaXR5Ojpwcm90b3R5cGUo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWMKIAogSlNWYWx1ZSBKU1Rlc3RE
b21haW5TZWN1cml0eTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RE
b21haW5TZWN1cml0eURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U1Rlc3REb21haW5TZWN1cml0eURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0
RG9tYWluU2VjdXJpdHk+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0RG9tYWluU2VjdXJpdHk6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAKaW5kZXgg
OTgzMWZlOTYwZWJmYTQ4ZmI3MTYzYTc4Yjk5MDczY2MyZmExZWI5MS4uMjNiZjc1N2VhNGZhNTRi
NGQyNmZjNGExOTJlZDRjOThkNmVjOGMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0
aW5nLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RD
b25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1
ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVj
dElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9N
V3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNUZXN0U3ViT2JqLmgiCkBAIC0yNjgsNyArMjY5
LDcgQEAgSlNPYmplY3QqIEpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OnByb3RvdHlwZShWTSYgdm0s
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmoKIAogSlNWYWx1ZSBKU1Rlc3RFbmFibGVkQnlT
ZXR0aW5nOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEVuYWJsZWRC
eVNldHRpbmdET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
RW5hYmxlZEJ5U2V0dGluZ0RPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0RW5h
YmxlZEJ5U2V0dGluZz4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nOjpkZXN0cm95KEpT
Qzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5jcHAKaW5k
ZXggOTE4Yjk0ZWVlYWE1ZWZkMjMxYjg3MjhlMWEwMGZhZWExZGM4YmM1Ny4uNjI0ZWQ1MTU2NDdm
N2M1ZWM2N2Q0MDMyZDJkYjQ3NjUyZDdlOTAwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZv
ckNvbnRleHQuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgi
CiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRl
ICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJ
bmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1Rl
c3RTdWJPYmouaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNDUs
NyArMTQ2LDcgQEAgSlNPYmplY3QqIEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0Ojpwcm90b3R5cGUo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2IKIAogSlNWYWx1ZSBKU1Rlc3RFbmFi
bGVkRm9yQ29udGV4dDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RF
bmFibGVkRm9yQ29udGV4dERPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rv
cjxKU1Rlc3RFbmFibGVkRm9yQ29udGV4dERPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklE
OjpUZXN0RW5hYmxlZEZvckNvbnRleHQ+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0RW5hYmxlZEZvckNvbnRleHQ6
OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5jcHAKaW5kZXggZTYwZDYzOGUzZGQ3MDFmNDEyODhkOGIzZGZkMDQyZGJmMmQzZTY3NS4uMGU3
MDIzNDNkMGM5OGY3YzZiYjMzNjMyZjgzMjA3ZWU4YWYxMjlhNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
dmVudENvbnN0cnVjdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5o
IgpAQCAtMjU1LDcgKzI1Niw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RFdmVudENvbnN0cnVjdG9yOjpw
cm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqCiAKIEpTVmFsdWUg
SlNUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rv
cjxKU1Rlc3RFdmVudENvbnN0cnVjdG9yRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0
IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNv
bnN0cnVjdG9yPEpTVGVzdEV2ZW50Q29uc3RydWN0b3JET01Db25zdHJ1Y3RvciwgRE9NQ29uc3Ry
dWN0b3JJRDo6VGVzdEV2ZW50Q29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRF
Uihqc1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggZGY4ZWExODY4MDgyMjE2ZTNjNzgzMzQ2
MmUwMGE5MjVmNTY5NjYwMS4uN2IwYmFlM2E0MDUwZmFjMjJmNmZhYWNiNGYwZWIxMzgzYjg5NDk1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk
ZSAiSlNET01Db252ZXJ0TnVtYmVycy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU05vZGUuaCIKQEAgLTE1MCw3ICsx
NTEsNyBAQCBKU09iamVjdCogSlNUZXN0RXZlbnRUYXJnZXQ6OnByb3RvdHlwZShWTSYgdm0sIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgSlNUZXN0RXZlbnRUYXJn
ZXQ6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RXZlbnRUYXJnZXRE
T01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RXZlbnRUYXJn
ZXRET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEV2ZW50VGFyZ2V0Pih2bSwg
KmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBi
b29sIEpTVGVzdEV2ZW50VGFyZ2V0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVj
dCwgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKaW5kZXgg
N2FmMDg4MzUyNTFmOTRjMDI0ZjUyMGUyOTQzYTVjMDAxY2IyNzk0Yi4uYjNkNjI1MTNmNTIxNDU1
YTQ1NTA3ODYxMTJjYWRlZWQzMDJlNjMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTI4
LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5o
IgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2Vw
dGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQ0LDcgKzE0
NSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RFeGNlcHRpb246OnByb3RvdHlwZShWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgSlNUZXN0RXhjZXB0aW9uOjpn
ZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEV4Y2VwdGlvbkRPTUNvbnN0
cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RFeGNlcHRpb25ET01Db25z
dHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEV4Y2VwdGlvbj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RF
eGNlcHRpb246OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJs
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZS5jcHAKaW5kZXggZDVjMjg0MmU5NTNjZDI1YmI3ZmVmMTc0NTZiM2Fh
ZjdlZTNlOTA0OC4uNTUyODkzNjczMDU2N2EzMGMwOTZmZTEyM2IzZGZmNWQ0NTA3YjEyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdl
bmVyYXRlSXNSZWFjaGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcApAQCAtMjgsNiArMjgsNyBA
QAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVk
ZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
ICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCkBAIC0xNTQsNyArMTU1LDcgQEAgSlNP
YmplY3QqIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGU6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWwKIAogSlNWYWx1ZSBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxl
OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEdlbmVyYXRlSXNSZWFj
aGFibGVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3Qq
PihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlOjpkZXN0
cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAppbmRleCBj
YjM0NTE0YjI0ZDc4N2Q1MGIxYmRhZDczZTZkZGY0ODM5YWYxMDA0Li5lZjY5ODhmNTA5NjQ5MDE1
YTU4ZTFkNmUyNWZkMWQ3ZGQyYzRmZGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcApA
QCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3QuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uUmV0dXJuaW5nUHJvbWlz
ZS5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCkBAIC03MDQsNyArNzA1LDcgQEAg
dm9pZCBKU1Rlc3RHbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogSlNWYWx1
ZSBKU1Rlc3RHbG9iYWxPYmplY3Q6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0R2xvYmFsT2JqZWN0RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVj
dG9yPEpTVGVzdEdsb2JhbE9iamVjdERPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpU
ZXN0R2xvYmFsT2JqZWN0Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEdsb2JhbE9iamVjdDo6ZGVzdHJveShKU0M6
OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVu
dGlmaWVyLmNwcAppbmRleCAyZmFkMWJlNjRjMzI1NTA1ZmEyOTE2MDM0MTJjMjcxMTQyNzMzMzU3
Li4xYjU2NjQ3MDU5YjIyNjM4Yzk4ZjA4MDdkZThmZDYzNjUzMWI3OThlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRl
ck5vSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0yNyw2ICsyNyw3
IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNs
dWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5k
bGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Miw3ICsxNDMsNyBAQCBK
U09iamVjdCogSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllcjo6cHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmCiAKIEpTVmFsdWUgSlNUZXN0SW5kZXhlZFNldHRlck5vSWRl
bnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RJbmRleGVk
U2V0dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVj
dG9yPEpTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6VGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI+KHZtLCAqanNDYXN0PGNv
bnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0
SW5kZXhlZFNldHRlck5vSWRlbnRpZmllcjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5j
cHAKaW5kZXggZDdlNjkzY2IyOWMxMjFkNmQ3YWU2YTlkZjQzYTA3ZTQ2MjQ1OTZjZS4uZDg1NDdk
ZTYxYzgyZmY4NmYwOWQ1M2RlODM4OTA4Yzc3MDRkMTRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2lu
Z0V4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKQEAgLTI3LDYgKzI3
LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2lu
Y2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhh
bmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVk
ZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQyLDcgKzE0Myw3IEBA
IEpTT2JqZWN0KiBKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3RvdHlw
ZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqCiAKIEpTVmFsdWUgSlNUZXN0SW5kZXhlZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25ET01D
b25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OmRl
c3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVk
U2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCmluZGV4IGNlNWEzY2EzMmNjYWZhNDIyY2M3ZjRkMjgx
NGUzYjY0OGE1OTk5NzIuLjBjMTJhNTg1MDI0NzFiOTg4YzYxY2VhMDk0ZGQ1YjZiNWJiY2NmZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIu
Y3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0TnVtYmVycy5oIgog
I2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlv
bkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE1MSw3ICsxNTIsNyBAQCBK
U09iamVjdCogSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyOjpwcm90b3R5cGUoVk0m
IHZtLCBKU0RPTUdsb2JhbE9iamVjdAogCiBKU1ZhbHVlIEpTVGVzdEluZGV4ZWRTZXR0ZXJXaXRo
SWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RJbmRl
eGVkU2V0dGVyV2l0aElkZW50aWZpZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyRE9NQ29uc3RydWN0b3Is
IERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI+KHZtLCAq
anNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZv
aWQgSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyOjpkZXN0cm95KEpTQzo6SlNDZWxs
KiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAppbmRleCBjMjA5YjEyYzZmNDU1Y2E2NzFkYjJm
MmNjOTJiZDA0N2Q3M2QyNGNmLi5kOGRmODM0ZGJmN2ZkMzFkYmE3NDNmYzRiZGY1NDIzMTI0NWQ2
MWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IkpTRE9NQ29udmVydEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3Mu
aCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01JdGVyYXRvci5oIgogI2luY2x1
ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAg
LTUwMCw3ICs1MDEsNyBAQCBKU09iamVjdCogSlNUZXN0SW50ZXJmYWNlOjpwcm90b3R5cGUoVk0m
IHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpTVGVzdElu
dGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RJbnRlcmZh
Y2VET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0SW50ZXJm
YWNlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RJbnRlcmZhY2U+KHZtLCAq
anNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZv
aWQgSlNUZXN0SW50ZXJmYWNlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZUxlYWRpbmdVbmRlcnNjb3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5jcHAKaW5kZXggZGJhNWZi
M2RjYTdhZGMxY2M2ODgyMzFiYWNiMWJlMjQzMjFmYzIyZC4uMTNlY2FlZDc1ZTI0NWE4MGI5N2U1
MmFjZjU1NjUwZDIwZDA1NWU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
TGVhZGluZ1VuZGVyc2NvcmUuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01D
b25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJp
bmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpT
RE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVK
U0NsaWVudERhdGEuaCIKQEAgLTE0NCw3ICsxNDUsNyBAQCBKU09iamVjdCogSlNUZXN0SW50ZXJm
YWNlTGVhZGluZ1VuZGVyc2NvcmU6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0
JgogCiBKU1ZhbHVlIEpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlOjpnZXRDb25zdHJ1
Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3Jl
RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEludGVyZmFj
ZUxlYWRpbmdVbmRlcnNjb3JlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RJ
bnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RJbnRlcmZhY2VMZWFkaW5n
VW5kZXJzY29yZTo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuY3Bw
CmluZGV4IDNkMDA5YjlkMGM5MjZkMThkOGQ4OTUwYjY0YWI0MDU4MGFmOTU3YzIuLjcwMGVjOTk0
YmNiNWY1ODRmZWEwZjdlY2MxMDBlZmMzMjgzN2IzNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcApA
QCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3Rh
YmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNE
T01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5l
cy5oIgogI2luY2x1ZGUgIkpTRE9NSXRlcmF0b3IuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlv
bi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCkBAIC0xNTcsNyArMTU4LDcgQEAg
SlNPYmplY3QqIEpTVGVzdEl0ZXJhYmxlOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpTVGVzdEl0ZXJhYmxlOjpnZXRDb25zdHJ1
Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEl0ZXJhYmxlRE9NQ29uc3RydWN0b3I+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEl0ZXJhYmxlRE9NQ29uc3RydWN0b3IsIERP
TUNvbnN0cnVjdG9ySUQ6OlRlc3RJdGVyYWJsZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RJdGVyYWJsZTo6ZGVz
dHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3Ry
dWN0b3IuY3BwCmluZGV4IDAwOWUzYzE5MTI4ZWViMWM1ODY3ZTI4Yjg2NjhmYzJhOGJiZWRhMmEu
LmRhZTliMjBiNjFkMDc0ODY2YjE1ZWU4NjFhYzhjOWM0ZTViOTc4NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0aW5Db25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1
ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJUZXN0SlNCdWlsdGluQ29uc3RydWN0
b3JCdWlsdGlucy5oIgpAQCAtMTUyLDcgKzE1Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RKU0J1aWx0
aW5Db25zdHJ1Y3Rvcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
CiAKIEpTVmFsdWUgSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdG9yKFZN
JiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4g
Z2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3JET01Db25zdHJ1Y3Rv
cj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
KyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3JE
T01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9y
Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwog
fQogCiB2b2lkIEpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpkZXN0cm95KEpTQzo6SlNDZWxs
KiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcAppbmRl
eCA0YzQwNTgyODJkMzRjYTlhNGUxNzQwNGU5ODdlYTc5NmY4NWI3YmZiLi5hNTY5ZjdkZDk1MGEx
NjJmZmVjYjkzMmQwNGViNGYwMTQyYTRmNjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5
RmFjdG9yeUZ1bmN0aW9uLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydEludGVyZmFjZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01MZWdhY3lGYWN0b3J5RnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKQEAgLTE5MywxMiArMTk0LDEyIEBAIEpTT2JqZWN0KiBKU1Rlc3RMZWdhY3lGYWN0
b3J5RnVuY3Rpb246OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iCiAK
IEpTVmFsdWUgSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uOjpnZXRDb25zdHJ1Y3RvcihWTSYg
dm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkRPTUNvbnN0cnVjdG9y
Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwor
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25E
T01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlv
bj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
IH0KIAogSlNWYWx1ZSBKU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb246OmdldExlZ2FjeUZhY3Rv
cnlGdW5jdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkxlZ2Fj
eUZhY3RvcnlGdW5jdGlvbj4odm0sICpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxP
YmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TGVnYWN5RmFjdG9y
eUZ1bmN0aW9uTGVnYWN5RmFjdG9yeUZ1bmN0aW9uLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TGVn
YWN5RmFjdG9yeUZ1bmN0aW9uPih2bSwgKmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbjo6ZGVzdHJv
eShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zLmNwcAppbmRleCBjZGU0ZTA0NmJjZDJmYjA4NDgyMTE2NWFhMDc0NTEwMGZjMDA5MDM3
Li44NDMyZjEzNWIyZmUyZTRiNmNiMjJhZmVlY2M5ZTkzMzg0MjBjZmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJp
ZGVCdWlsdElucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9u
SGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpT
RE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU05vZGUuaCIKQEAgLTE1
MSw3ICsxNTIsNyBAQCBKU09iamVjdCogSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6cHJv
dG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsbwogCiBKU1ZhbHVlIEpTVGVzdExl
Z2FjeU92ZXJyaWRlQnVpbHRJbnM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdEluc0RPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRE
T01Db25zdHJ1Y3RvcjxKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zRE9NQ29uc3RydWN0b3Is
IERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpT
VGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TWFwTGlrZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TWFwTGlrZS5jcHAKaW5kZXggNmMzOTY4Y2E5YTI5ZWRkYzE0NjU0MDczMjY0YmM1ZWQxODBk
MTExNC4uYjQ4NzZmMzg4ZGYzZjMxMmI3NmY4MDAwNTdjMjJkOTllMDgwNTZlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RN
YXBMaWtlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydEFueS5o
IgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2Vw
dGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNET01NYXBMaWtlLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNp
bmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgpAQCAtMTcwLDcgKzE3MSw3IEBAIEpTT2JqZWN0
KiBKU1Rlc3RNYXBMaWtlOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpTVGVzdE1hcExpa2U6OmdldENvbnN0cnVjdG9yKFZNJiB2
bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0
RE9NQ29uc3RydWN0b3I8SlNUZXN0TWFwTGlrZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRE
T01Db25zdHJ1Y3RvcjxKU1Rlc3RNYXBMaWtlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9y
SUQ6OlRlc3RNYXBMaWtlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdE1hcExpa2U6OmRlc3Ryb3koSlNDOjpKU0Nl
bGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlk
ZGVuT3BlcmF0aW9ucy5jcHAKaW5kZXggZWJkMGMzNGRjODQ4MjQyMzRjN2IzZTRmZjM4NjA0ODJm
NjAxNjViYy4uZjJmNjBlNjI5NmU3OTgyMDUyYTY5ZGQ4MDY0YmJhYTM2NWJkOTAxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25z
LmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIK
ICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRp
b25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NTWFwTGlrZS5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5j
bHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTE3NCw3ICsxNzUsNyBAQCBKU09iamVjdCog
SlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uczo6cHJvdG90eXBlKFZNJiB2bSwg
SlNET01HbG9iYWxPYgogCiBKU1ZhbHVlIEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJh
dGlvbnM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TWFwTGlrZVdp
dGhPdmVycmlkZGVuT3BlcmF0aW9uc0RPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zRE9NQ29uc3RydWN0
b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25z
Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwog
fQogCiB2b2lkIEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6OmRlc3Ryb3ko
SlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4IGJiZjJmMzMxMDBkMDc2ZTYwMjEy
YWViNmRkZTc4NGIxMDM3Y2VjNjEuLjI1MWNlMTE3YzY4ZDBkZWJiYjc5YjZiNjZhYjk5OTBlMzI4
N2I3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01D
b25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJp
bmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpT
RE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVK
U0NsaWVudERhdGEuaCIKQEAgLTE0Myw3ICsxNDQsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2Jh
bAogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllcjo6Z2V0
Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3IsIERP
TUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAK
IHZvaWQgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyOjpkZXN0cm95KEpT
Qzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKaW5kZXggN2U1MmY1N2VkZmMx
MTMxYjI4MjIwYjhmZGQ1OThhZGFmOWFmZjM4Mi4uZDNiMTA2ODdhYzI3Y2YyYjY4OGJiMjRkNWI4
NWU4ODcyNzg5MWZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBA
CiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRl
ICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
RE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Myw3ICsxNDQsNyBAQCBKU09i
amVjdCogSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3Rv
dHlwZShWTSYgdm0sIEpTRE9NRwogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpT
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3I+
KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7Cisg
ICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2Vs
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
V2l0aElkZW50aWZpZXIuY3BwCmluZGV4IGRkZWE0MGE0ODA2ZGMyOTY3MDA0ZGU3ZGM1ZGJmNThh
MDgxZjM5ODcuLmFlNmIxMDRlNWI1MzczMmJjZmI0ZWY0YzAyM2QwNTdjZDZhNzc2YjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJ
ZGVudGlmaWVyLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51
bWJlcnMuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNE
T01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5l
cy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
Q2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNTQsNyAr
MTU1LDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlm
aWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2IKIAogSlNWYWx1ZSBKU1Rlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25z
dCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckRPTUNvbnN0
cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4
IGI1OTBhMmU0NGE2ZmYzMWY3OTMzNThkNWQxZDc4ZTY3NWUxNjk5NzUuLjEzOTFjODg3ZGZlYjdk
Y2FiNGIzYmViZjM1MDczMzM4NWFiZjEyMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNE
T01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRT
dHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUg
IkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hl
LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNv
cmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Miw3ICsxNDMsNyBAQCBKU09iamVjdCogSlNUZXN0TmFt
ZWREZWxldGVyTm9JZGVudGlmaWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVj
dCYgZwogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllcjo6Z2V0Q29uc3Ry
dWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXJE
T01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWREZWxl
dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1l
ZERlbGV0ZXJOb0lkZW50aWZpZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlm
aWVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKaW5kZXggNWQ5YjU3ZmZiZmIxMDhh
NmI4ZDJlZjU2MmFhN2IxNWI4Y2Q1ZmM3Mi4uMDgxMzEwMWY0ZTM0ZTFkM2VlZTk1YzUxOTllYTdj
NzgxODRkZDc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhy
b3dpbmdFeGNlcHRpb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25z
dHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdz
LmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9N
R2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0Ns
aWVudERhdGEuaCIKQEAgLTE0Miw3ICsxNDMsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWREZWxl
dGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZQog
CiBKU1ZhbHVlIEpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1
Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0
aW9uRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVk
RGVsZXRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZERl
bGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuY3BwCmluZGV4IDNh
MDY0MGVjYWZlOWFhMDQxZTA3MzE2ZThjMGI2NDE1OTNmZDliYjguLjFlYmZkMDM1MjBmYTE5OWNi
MjQ0NWJjYTJjYTc3YTU1NThmOWYxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
RGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkpT
RE9NQ29udmVydEJhc2UuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5j
bHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2Jq
ZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNE
T01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBA
IC0xNTAsNyArMTUxLDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlm
aWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYKIAogSlNWYWx1ZSBKU1Rl
c3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25z
dCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yPih2
bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmll
ckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TmFtZWREZWxldGVyV2l0aElk
ZW50aWZpZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXI6OmRlc3Ry
b3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVs
ZXRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAppbmRleCBlMjNjZjdlZWY2YWE1MDdmN2FhNWYyMWJj
Yzg3MWE0MWVhNmU4NTM4Li5kMGJhMDQ3Mjc1ZDM0YzIzNTZlOWM4YTQ5MDUwNjAwMjgwMjYxNTQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdl
dHRlci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90
Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5o
IgpAQCAtMTQzLDcgKzE0NCw3IEBAIEpTT2JqZWN0KiBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5k
ZXhlZEdldHRlcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplCiAKIEpTVmFsdWUg
SlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXI6OmdldENvbnN0cnVjdG9yKFZNJiB2
bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0
RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJET01Db25z
dHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWREZWxldGVyV2l0
aEluZGV4ZWRHZXR0ZXJET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE5hbWVk
RGVsZXRlcldpdGhJbmRleGVkR2V0dGVyPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdE5hbWVkRGVsZXRlcldpdGhJ
bmRleGVkR2V0dGVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2Fs
bFdpdGguY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwCmluZGV4IGI4NDcxNDk2NDdlNjgwNDE1OWNmNjAxY2My
OTViZmU5YjBiZTRlMzYuLmVhMGU1MTNlOGM5NzE5YjIyZjYwZWU3M2VlNzAxYTRhZDdhNDE3NTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZEdldHRlckNhbGxXaXRoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAKQEAgLTI4LDYgKzI4
LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2lu
Y2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhh
bmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVk
ZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQyLDcgKzE0Myw3IEBA
IEpTT2JqZWN0KiBKU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoOjpwcm90b3R5cGUoVk0mIHZtLCBK
U0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWRHZXR0ZXJDYWxs
V2l0aDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZEdldHRl
ckNhbGxXaXRoRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dE5hbWVkR2V0dGVyQ2FsbFdpdGhET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVz
dE5hbWVkR2V0dGVyQ2FsbFdpdGg+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aDo6
ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0
ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4IDRkMDkzOTg3MDZlNDk1ODk1ZGU0MGQ5ODIxN2QwMGIy
ZTc2NzY2ZmEuLmM5Y2Y0ZWM4Y2I3ZjE3Y2U4YTQ0NGM1YWFmODBiYWE4YzczZGNiMTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZEdldHRlck5vSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAj
aW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9u
SGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNs
dWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCkBAIC0xNDIsNyArMTQzLDcg
QEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyOjpwcm90b3R5cGUoVk0m
IHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2wKIAogSlNWYWx1ZSBKU1Rlc3ROYW1lZEdldHRlck5v
SWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1l
ZEdldHRlck5vSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1
Y3RvcjxKU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yLCBET01Db25z
dHJ1Y3RvcklEOjpUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXI+KHZtLCAqanNDYXN0PGNvbnN0
IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFt
ZWRHZXR0ZXJOb0lkZW50aWZpZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRH
ZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKaW5kZXggOGRiMTk5
YjM2YjBmMjVlMzFkOTYxODI0ZDc3ZTA3MDc2ZDYwNmQ1OC4uNWNkNTI5YzQwODhiM2FkMTlkOTVm
MDAyNTcxZjZjZjQxNDkwMDc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRl
cldpdGhJZGVudGlmaWVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29u
c3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5n
cy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RP
TUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2lu
Y2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgpAQCAtMTQ4LDcgKzE0OSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3ROYW1lZEdldHRlcldp
dGhJZGVudGlmaWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYKIAogSlNW
YWx1ZSBKU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYg
dm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXJET01Db25zdHJ1
Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRl
bnRpZmllckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TmFtZWRHZXR0ZXJX
aXRoSWRlbnRpZmllcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyOjpk
ZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
ck5vSWRlbnRpZmllci5jcHAKaW5kZXggNzFiNzIyMzhhNzc5N2IwOTg1MjY4NDVjOTZmZTZhNWM0
Y2QzN2M1Ny4uNTNmMTc0OWYyMWI4NThiZjNmOWRmMWNhMzY4NGI0NWI5NmIxZTk3YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyTm9JZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0yOCw2ICsy
OCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNp
bmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25I
YW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1
ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Miw3ICsxNDMsNyBA
QCBKU09iamVjdCogSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXI6OnByb3RvdHlwZShWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbAogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkU2V0dGVyTm9J
ZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVk
U2V0dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVj
dG9yPEpTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0
cnVjdG9ySUQ6OlRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1l
ZFNldHRlck5vSWRlbnRpZmllcjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAppbmRleCA0
NzAzOTQzOGE3MjM4YTZhZTBhMTU1NDNhYTg4MjdkN2IzMTlkNTJiLi4zMTEwYjFmZjBmM2U0YTYz
MDhlZWIwNDk0YzRjNjYwYWMyZWE3ZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVk
ZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNv
bnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2lu
Y2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBl
ckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUg
IldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Miw3ICsxNDMsNyBAQCBKU09iamVjdCogSlNU
ZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01H
bG9iYWxPYmplYwogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246
OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbkRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0
cnVjdG9ySUQ6OlRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uPih2bSwgKmpzQ2FzdDxj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVz
dE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKaW5k
ZXggNWVhZGRkMGU4ODZmNmZjZWEyMzRlZDVlZDVhMjhjMThhOTIwNjUxOC4uMzIzYmZlYzkzNmMw
MTNiMzkxNTY0NTRhZTViMzYxMDc2ZDM0M2YxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg
IkpTRE9NQ29udmVydEJhc2UuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAj
aW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFs
T2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAi
SlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0Lmgi
CkBAIC0xNTAsNyArMTUxLDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50
aWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JgogCiBKU1ZhbHVlIEpT
VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29u
c3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yPih2
bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVy
RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZFNldHRlcldpdGhJZGVu
dGlmaWVyPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOwogfQogCiB2b2lkIEpTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXI6OmRlc3Ryb3ko
SlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSW5kZXhlZEdldHRlci5jcHAKaW5kZXggODJmY2ViYmMxMmU3MzM2YzUzMWNkNmZmNDlkODc5
NjFhMjY5MzlmNC4uZjA0Yzg0MmU0MGJjZjgzZGI0NTZmZjJlOGYwNTllYzUzNmQ1MTgzNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNw
cApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIKICNp
bmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25I
YW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1
ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNTQsNyArMTU1LDcgQEAgSlNP
YmplY3QqIEpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXI6OnByb3RvdHlwZShWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWMKIAogSlNWYWx1ZSBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRl
eGVkR2V0dGVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVk
U2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckRPTUNvbnN0cnVjdG9y
LCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlcj4odm0s
ICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAog
dm9pZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyOjpkZXN0cm95KEpTQzo6SlND
ZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVy
V2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuY3BwCmluZGV4IDI0ODc0ZjVjNjcyODY1OGFkYTAx
ZGE5YWFmZGRkODlmNmJiYmY2OTcuLmRhMDk3MGVjYjBmZTRlZjJjNGY1MzVmMzc1NmFmZjJiNDdi
MDhmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnZlcnROdW1iZXJzLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1
ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIgpAQCAtMTU0LDcgKzE1NSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3ROYW1lZFNldHRlcldpdGhJ
bmRleGVkR2V0dGVyQW5kU2V0dGVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsCiAKIEpTVmFs
dWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlcjo6Z2V0Q29uc3Ry
dWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0
dGVyQW5kU2V0dGVyRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpT
VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXJET01Db25zdHJ1Y3Rvciwg
RE9NQ29uc3RydWN0b3JJRDo6VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0
ZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7
CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlcjo6
ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlk
ZUJ1aWx0SW5zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAppbmRleCBlNjE1
MjMwM2ViNDVhNDRlNDY0NDI5Nzc1MWM2YTMyNDZhOTJhYzMzLi4xMmZjOTlkNWQyMWFiNmVmODQ4
NmI1YmY1NjJmN2I0ZmRjNjhlYjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWls
dElucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCkBAIC0yOCw2ICsy
OCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNp
bmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25I
YW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1
ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Miw3ICsxNDMsNyBA
QCBKU09iamVjdCogSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6
cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbAogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkU2V0dGVyV2l0
aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluc0RPTUNvbnN0cnVj
dG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkp
OworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdh
Y3lPdmVycmlkZUJ1aWx0SW5zRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RO
YW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNl
bGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldp
dGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMuY3BwCmluZGV4IGMyMmE2MzE4MzM4NTllYWZj
ODI2YWMxYmU0OWE0MjM4NmVlZmQxZTIuLjNjM2Q2OGQwODUwZTU3MzU3YWZkOTc4MjNlMDVkMjAy
YTNkYjM1ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMuY3BwCkBAIC0zMSw2ICszMSw3
IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0QmFzZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVy
dFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVk
ZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24u
aCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKQEAgLTE2OCw3ICsxNjksNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzOjpwcm90b3R5cGUoVk0mIHZtLCBK
UwogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVy
dGllczo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRl
cldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nh
c3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4g
Z2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQ
cm9wZXJ0aWVzRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZFNldHRl
cldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXM+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBj
ZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2Fj
eU92ZXJyaWRlQnVpbHRJbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0Fu
ZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCmluZGV4IGNjYzVjMDMzMzc0MjlhZDc2NDViMjRj
ZTdkNTljYjRjOGM4YmU5YTcuLmE3ZjU0MTIwYjQ3NjBjODA4YjkxM2IxNDFjMDc3MDI4MDg5NTJl
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lP
dmVycmlkZUJ1aWx0SW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVz
QW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnZlcnRCYXNlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgog
I2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2Jh
bE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUg
IkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgpAQCAtMTY4LDcgKzE2OSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdh
Y3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0CiAKIEpTVmFsdWUg
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5
T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVy
cmlkZUJ1aWx0SW5zRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpT
VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92
ZXJyaWRlQnVpbHRJbnNET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVp
bHRJbnM+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9w
ZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2Vs
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lc3BhY2VPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVzcGFjZU9iamVjdC5jcHAKaW5kZXggY2MxMzQzYmY4YzVmMDQw
OTBlNTM2YTZkODA1MjViMTc2MTAwNTZhNC4uZDAyMzExZmY0YWIzMzc3YmZjMjc0ZWE1NzVjMGNh
YzA2ZGRkYmRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVzcGFjZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVzcGFjZU9iamVjdC5jcHAKQEAgLTMzLDYg
KzMzLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1iZXJzLmgiCiAjaW5jbHVkZSAiSlNE
T01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIK
KyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9w
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNU
ZXN0T2JqLmgiCkBAIC0xNDUsNyArMTQ2LDcgQEAgdm9pZCBKU1Rlc3ROYW1lc3BhY2VPYmplY3Q6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogSlNWYWx1ZSBKU1Rlc3ROYW1lc3BhY2VPYmplY3Q6
OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZXNwYWNlT2JqZWN0
RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVzcGFj
ZU9iamVjdERPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TmFtZXNwYWNlT2Jq
ZWN0Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkp
OwogfQogCiB2b2lkIEpTVGVzdE5hbWVzcGFjZU9iamVjdDo6ZGVzdHJveShKU0M6OkpTQ2VsbCog
Y2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROb2RlLmNwcAppbmRleCBmNTQyNjhjOWUxMGZmMzg2NWExYjJhNGE0N2NkYThlZjQ5
NTYwNDg1Li5iZGI2Nzk1NWNkOWY0Yjk4MDgwOGIyMTZkNmNjY2Y5YTJkZGQzMmJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5v
ZGUuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NSXRlcmF0b3IuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2lu
Y2x1ZGUgIkpTRE9NT3BlcmF0aW9uUmV0dXJuaW5nUHJvbWlzZS5oIgpAQCAtMjU1LDcgKzI1Niw3
IEBAIEpTT2JqZWN0KiBKU1Rlc3ROb2RlOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpTVGVzdE5vZGU6OmdldENvbnN0cnVjdG9y
KFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1
cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Tm9kZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROb2RlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9y
SUQ6OlRlc3ROb2RlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0Tm9kZUNvbnN0
cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggMmFiZjUxOGIyM2I4
NjgxZmQxMjQ3ZjFkMjFmMmE0NGM3MDg4NWZlZS4uNGNjMTYxYjRmOWRlNTM3NjdkYTlhMThhNTEz
ZDQ2ZTMyZDFhZTFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlICJK
U0RPTUNvbnZlcnRYUGF0aE5TUmVzb2x2ZXIuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhh
bmRsaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0RP
TUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTUl0ZXJhdG9yLmgiCiAjaW5j
bHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvblJldHVybmlu
Z1Byb21pc2UuaCIKQEAgLTI1MTcsNyArMjUxOCw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RPYmo6OnBy
b3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFs
dWUgSlNUZXN0T2JqOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE9i
akRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RPYmpET01D
b25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE9iaj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RPYmo6
OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9wZXJhdGlvbkNv
bmRpdGlvbmFsLmNwcAppbmRleCA5NzU3ODFhMDZlNzU3NGUwMmFkZDI2YzgzZTMyMzYyMjE2OTY1
YzE5Li5hOTU4ZDI0OWQ2MDdmMDUxNDJkNjVjNjU5NjU4MWJlZGU1NjE2ZDhmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3BlcmF0aW9u
Q29uZGl0aW9uYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNp
bmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29u
c3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNs
dWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlv
bi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgpAQCAtMTY4LDcgKzE2OSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RPcGVy
YXRpb25Db25kaXRpb25hbDo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhCiAKIEpTVmFsdWUgSlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWw6OmdldENvbnN0cnVjdG9y
KFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1
cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxET01Db25zdHJ1
Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9u
YWxET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE9wZXJhdGlvbkNvbmRpdGlv
bmFsPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkp
OwogfQogCiB2b2lkIEpTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsOjpkZXN0cm95KEpTQzo6SlND
ZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3Bw
CmluZGV4IDVhNmRjYzU5NjFjZDkwYmRlMDVhZDFiOGMzN2YyZTE5ZWQ4MDAxM2EuLjk4MGVmZTNi
ODEzOGY4ZGVmNTdlMWM2ZDgzZGQ2Yjg4ZWRiMzNjMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJK
U0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0VmFyaWFkaWMuaCIK
ICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9i
YWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50
RGF0YS5oIgpAQCAtMjY1LDcgKzI2Niw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvCiAKIEpT
VmFsdWUgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Z2V0Q29uc3RydWN0b3IoVk0mIHZt
LCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRE
T01Db25zdHJ1Y3RvcjxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzRE9NQ29uc3RydWN0b3I+
KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7Cisg
ICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNE
T01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnM+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7
CiB9CiAKIHZvaWQgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6ZGVzdHJveShKU0M6OkpT
Q2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAppbmRleCA0YWE1YzkxMTdmNmQ5N2Q3YjhhYjU3MGM5
ZGRkYTlkZTQ2NzI4NDkyLi5mNjc3ZTgxMmFlOGRhZTY0ZjkyYjAxNmRkZDhkNWFlOGRjNWI5NGU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSlNET01Db252
ZXJ0U2VxdWVuY2VzLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1
ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVj
dElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgi
CkBAIC0yMDgsNyArMjA5LDcgQEAgSlNPYmplY3QqIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2U6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmEKIAogSlNWYWx1ZSBK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlOjpnZXRDb25zdHJ1Y3RvcihW
TSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVu
Y2VET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3Rv
cklEOjpUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4odm0sICpqc0Nhc3Q8
Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlOjpkZXN0cm95KEpTQzo6SlNDZWxs
KiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcAppbmRleCBiOThiZjZlMzk1
NTQzYzdmYmRlZGYwY2Q3ZDI2MDcyZjNmYmUxMTk5Li5hZDVlMWQ3YTNiODBiMGQxZjk3ZTc1YmQy
OGVjNzViMTMyZTRiYWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcApAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9N
Q29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25I
YW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1
ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNQbHVnaW5FbGVtZW50RnVuY3Rp
b25zLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTQxLDcgKzE0
Miw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RQbHVnaW5JbnRlcmZhY2U6OnByb3RvdHlwZShWTSYgdm0s
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplCiAKIEpTVmFsdWUgSlNUZXN0UGx1Z2luSW50
ZXJmYWNlOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFBsdWdpbklu
dGVyZmFjZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RQ
bHVnaW5JbnRlcmZhY2VET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdFBsdWdp
bkludGVyZmFjZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxP
YmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RQbHVnaW5JbnRlcmZhY2U6OmRlc3Ryb3koSlNDOjpK
U0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3Bw
CmluZGV4IDcyOWJhYmQzMWNiZmE0ODMyYTY1Y2M3NTc2MDdjODE3ZDJlYTgxMTIuLjI1MGMxMmUw
M2I3NmNjNzBkMzBiNDI4NmJmNGYzYWUwYjViYThjMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSlNE
T01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIK
ICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2Jq
ZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEu
aCIKQEAgLTI1MSw3ICsyNTIsNyBAQCBKU09iamVjdCogSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2
ZW50Ojpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYgogCiBKU1ZhbHVl
IEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25z
dCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRET01Db25zdHJ1Y3Rvcj4odm0sICpq
c0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1
cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50RE9NQ29uc3Ry
dWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+KHZtLCAq
anNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIEpT
Q19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1
Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlNYXBMaWtlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2Uu
Y3BwCmluZGV4IGQxMTdhODk3MGY1NTNhZDAzNzU4MWZiOWViNGE0ZjhiMDQxZTgxMDkuLjNhMmRk
MjFmODk4NTJkY2M3NmU3OTQ5NzYwNzM2NDBmYThkMTQxMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFk
T25seU1hcExpa2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0
QW55LmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9N
RXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMu
aCIKICNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5o
IgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCkBAIC0xNjQsNyArMTY1LDcgQEAgSlNP
YmplY3QqIEpTVGVzdFJlYWRPbmx5TWFwTGlrZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamUKIAogSlNWYWx1ZSBKU1Rlc3RSZWFkT25seU1hcExpa2U6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0UmVhZE9ubHlNYXBMaWtlRE9N
Q29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFJlYWRPbmx5TWFw
TGlrZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0UmVhZE9ubHlNYXBMaWtl
Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwog
fQogCiB2b2lkIEpTVGVzdFJlYWRPbmx5TWFwTGlrZTo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2Vs
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RSZWFkT25seVNldExpa2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAKaW5kZXggMTcyMTI3MGZlMTc5NmY1
NWQwMGQxYTkxMzc1ZDU5Njc5Mjg3NDBmNC4uOGZhYmZkOGU4OGY0ZjQ0YjEzNDQxNzc5OWQyZjBl
M2NjZWVmMzkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRBbnkuaCIKICNpbmNsdWRlICJKU0RPTUNv
bnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2lu
Y2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0
aW9uLmgiCiAjaW5jbHVkZSAiSlNET01TZXRMaWtlLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
Q2FjaGUuaCIKQEAgLTE2Miw3ICsxNjMsNyBAQCBKU09iamVjdCogSlNUZXN0UmVhZE9ubHlTZXRM
aWtlOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZQogCiBK
U1ZhbHVlIEpTVGVzdFJlYWRPbmx5U2V0TGlrZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25z
dCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RSZWFkT25seVNldExpa2VET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8
Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0
RE9NQ29uc3RydWN0b3I8SlNUZXN0UmVhZE9ubHlTZXRMaWtlRE9NQ29uc3RydWN0b3IsIERPTUNv
bnN0cnVjdG9ySUQ6OlRlc3RSZWFkT25seVNldExpa2U+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0UmVhZE9ubHlT
ZXRMaWtlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29z
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVw
b3J0RXh0cmFNZW1vcnlDb3N0LmNwcAppbmRleCA2NzM5ZTY1ZmRhMjM3OTY1NmVlNzlkMmE2ZDFi
MWQ5MmVhYTA5M2E4Li44NTBhMTAzZGFjODA1Njc4MDYwZGRhZGE0Y2IzYjZjMTBhMTcwZjU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmNwcApAQCAtMjYsNiAr
MjYsNyBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NQ29uc3Ry
dWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
RE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0MSw3ICsxNDIsNyBAQCBKU09i
amVjdCogSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0Ojpwcm90b3R5cGUoVk0mIHZtLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYgogCiBKU1ZhbHVlIEpTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29z
dDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RSZXBvcnRFeHRyYU1l
bW9yeUNvc3RET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
UmVwb3J0RXh0cmFNZW1vcnlDb3N0RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRl
c3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlD
b3N0OjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRleCA1MzVkMGQ2OWJhNTI2
MTM5YjE4YTljYzY3NTgwYzk2ZmRkZmI2NzgyLi44NmRiZjQxMTZjMjgwZDljYjUwOWJlN2UwNDBl
MTZkZjJkNjVhOGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkpTRE9N
Q29udmVydFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9u
SGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpT
RE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU01lc3NhZ2VQb3J0Lmgi
CkBAIC0xNzMsNyArMTc0LDcgQEAgSlNPYmplY3QqIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmoKIAogSlNWYWx1ZSBK
U1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmdldENvbnN0cnVjdG9yKFZNJiB2
bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0
RE9NQ29uc3RydWN0b3I8SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlRE9NQ29u
c3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZTo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtl
LmNwcAppbmRleCBmZWQ1MjE2NzQzODQwNTRhZjBiYTQ0MmQwMzljZGMxNWRiMmYzYWFlLi45MzJj
MDM2YWU2MDdiYTA1MTE3ODFiMDk5OWEzMTNmYmNkNjAwYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2UuY3Bw
CkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0QW55LmgiCiAjaW5jbHVk
ZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NU2V0TGlrZS5oIgogI2luY2x1ZGUgIkpT
RE9NV3JhcHBlckNhY2hlLmgiCkBAIC0xNjgsNyArMTY5LDcgQEAgSlNPYmplY3QqIEpTVGVzdFNl
dExpa2U6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
CiAKIEpTVmFsdWUgSlNUZXN0U2V0TGlrZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1
Y3RvcjxKU1Rlc3RTZXRMaWtlRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVj
dG9yPEpTVGVzdFNldExpa2VET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdFNl
dExpa2U+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KSk7CiB9CiAKIHZvaWQgSlNUZXN0U2V0TGlrZTo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRp
b25zLmNwcAppbmRleCBmOTZiZGVlNmUyNWNiNzIyNmY3YzE4ZTBlNjU0YWZkM2JjNmNmMjE0Li5h
YjJiMzdkYTRmNGRkMjhiMDhhYWMxYjAwODBhZTFiNDczNTVlMTMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCkBAIC0z
Miw2ICszMiw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0TnVtYmVycy5oIgogI2luY2x1ZGUg
IkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5n
LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNE
T01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVNldExpa2UuaCIKICNpbmNsdWRlICJKU0RP
TVdyYXBwZXJDYWNoZS5oIgpAQCAtMTcyLDcgKzE3Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RTZXRM
aWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2Jh
bE9iCiAKIEpTVmFsdWUgSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uczo6Z2V0
Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRk
ZW5PcGVyYXRpb25zRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpT
VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM+KHZtLCAqanND
YXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQg
SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uczo6ZGVzdHJveShKU0M6OkpTQ2Vs
bCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwCmluZGV4IGIwOTQ2MDM0NjBlOWRiZjVk
NTYyODYyMWM4YWZmOWI0NjAyZDkyYzQuLjE3YTYyODZhN2M5NmQ4MGQ4ZWZmNmUxNzI0YzdhNWIz
MTQwNzBkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcApAQCAtMjcsNiArMjcsNyBAQAog
I2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAi
SlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcu
aCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RP
TU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTQ3LDcgKzE0OCw3IEBAIEpTT2JqZWN0KiBK
U1Rlc3RTdHJpbmdpZmllcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKIAogSlNWYWx1ZSBKU1Rlc3RTdHJpbmdpZmllcjo6Z2V0Q29uc3RydWN0b3Io
Vk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVy
biBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdpZmllckRPTUNvbnN0cnVjdG9yPih2bSwg
KmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJl
dHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdpZmllckRPTUNvbnN0cnVjdG9yLCBE
T01Db25zdHJ1Y3RvcklEOjpUZXN0U3RyaW5naWZpZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0U3RyaW5naWZp
ZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcAppbmRleCA2N2NjMzgxYWNhMWI0YWJl
NDU1NGE5NmYxMzliNTRhNzZlZmI2YmJhLi43Y2Q2NzViOGE4OGE4ZmEwOTg5YzEwODBkZjFlNjBk
NzlhYjE2OTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255
bW91c09wZXJhdGlvbi5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0
cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3Mu
aCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNs
dWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKQEAgLTE0Nyw3ICsxNDgsNyBAQCBKU09iamVjdCogSlNUZXN0U3RyaW5naWZpZXJBbm9u
eW1vdXNPcGVyYXRpb246OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZQogCiBKU1Zh
bHVlIEpTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uOjpnZXRDb25zdHJ1Y3RvcihW
TSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uRE9N
Q29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVy
QW5vbnltb3VzT3BlcmF0aW9uRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RT
dHJpbmdpZmllckFub255bW91c09wZXJhdGlvbj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RTdHJpbmdpZmllckFu
b255bW91c09wZXJhdGlvbjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmll
ck5hbWVkT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmNwcAppbmRleCAyOWEwYjk4YWQw
NzkzMWZiYjdhZDA2MGU2NWQyODQ0NjgxMGE2MmJhLi5mODVmNTM4YTJmNDhmOTJiMmYyYTE5NTM5
NWI3MmUxOGEyNWYzYTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFt
ZWRPcGVyYXRpb24uY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1
Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCkBAIC0xNDksNyArMTUwLDcgQEAgSlNPYmplY3QqIEpTVGVzdFN0cmluZ2lmaWVyTmFtZWRP
cGVyYXRpb246OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JgogCiBKU1ZhbHVl
IEpTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb246OmdldENvbnN0cnVjdG9yKFZNJiB2bSwg
Y29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbkRPTUNvbnN0cnVjdG9y
Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwor
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0
aW9uRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RTdHJpbmdpZmllck5hbWVk
T3BlcmF0aW9uPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb246OmRlc3Ry
b3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCmluZGV4IDUyOTkxMmZhMGQwMjVhYmY5
NmRiOTlkNGJiYzMwYmE0OTRmZWNmZTcuLjg0OTUwYmUxNTNkMWRmNmY0YjRjYzQxNTQzMTkyNzE2
YjQ3NzYwNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9w
ZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSlNE
T01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRT
dHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUg
IkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCkBAIC0xNDksNyArMTUwLDcgQEAgSlNPYmplY3QqIEpTVGVzdFN0cmluZ2lm
aWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBczo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWwK
IAogSlNWYWx1ZSBKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXM6OmdldENv
bnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsK
LSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25J
bXBsZW1lbnRlZEFzRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpT
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBc0RPTUNvbnN0cnVjdG9yLCBET01D
b25zdHJ1Y3RvcklEOjpUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzPih2bSwg
KmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2
b2lkIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBczo6ZGVzdHJveShKU0M6
OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVy
T3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAKaW5kZXggODRiZGQzYTc3YTk2NWE0MTUyMTgyYWYw
NmVkNmRiOTdmYWQ1MzBhYS4uZTgzN2JhYjc0MDg2NDhkNDcyYjYyMmI1MjhjZWE1NmE1OWNlMjI4
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
TmFtZWRUb1N0cmluZy5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0
cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3Mu
aCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNs
dWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKQEAgLTE0Nyw3ICsxNDgsNyBAQCBKU09iamVjdCogSlNUZXN0U3RyaW5naWZpZXJPcGVy
YXRpb25OYW1lZFRvU3RyaW5nOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbAogCiBKU1Zh
bHVlIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZzo6Z2V0Q29uc3RydWN0
b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJl
dHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9T
dHJpbmdET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3Qq
PihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0U3Ry
aW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVj
dG9ySUQ6OlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmc+KHZtLCAqanNDYXN0
PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nOjpkZXN0cm95KEpTQzo6SlNDZWxs
KiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRy
aWJ1dGUuY3BwCmluZGV4IDg0ZmFlMDU2YmI1ZTEyZWFiNzQwMDkzNDkzYmQ5NjY1YzdiNDQzMzUu
LjEzMGNhMzQyNDZmNWEyZmM2NDRhNGQyZDdkYTRhZDUyZTA3YzI5NzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJl
YWRPbmx5QXR0cmlidXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZS5jcHAKQEAgLTI4LDYg
KzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgog
I2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlv
bkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE1MCw3ICsxNTEsNyBAQCBK
U09iamVjdCogSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZTo6cHJvdG90eXBlKFZN
JiB2bSwgSlNET01HbG9iYWxPYmplYwogCiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVyUmVhZE9u
bHlBdHRyaWJ1dGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0U3Ry
aW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25z
dCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01D
b25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlRE9NQ29uc3RydWN0
b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlPih2
bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQog
CiB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGU6OmRlc3Ryb3koSlNDOjpK
U0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdy
aXRlQXR0cmlidXRlLmNwcAppbmRleCA3ODQ5MGRmOWZjNWViYjgwM2Q2NGIzZTZkNDAzMTJjMjhm
NGVlZTYzLi4yZmRmOWNjZDNkNjg2M2Y2ZGU4OThjMjIxOWZhM2ZiMTY0NGY2NTQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAK
QEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0
YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RP
TUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJD
YWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE1MSw3ICsx
NTIsNyBAQCBKU09iamVjdCogSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGU6OnBy
b3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZQogCiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lm
aWVyUmVhZFdyaXRlQXR0cmlidXRlOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9y
PEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlRE9NQ29uc3RydWN0b3I+KHZtLCAq
anNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0
dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRl
RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RTdHJpbmdpZmllclJlYWRXcml0
ZUF0dHJpYnV0ZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxP
YmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZTo6
ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCmluZGV4IGE4MTJi
MTIzYzk5ZTUzMjY1OWM5ZWNlNjQ2YjBlOWU5OWJmZDcyMzAuLjBjYzY2ZTk3NWU5ZDI1MDY5YjUz
NGQ0Zjc3NGM5N2M3NzE5YTNlYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcApAQCAtNDAsNiArNDAs
NyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydFVuaW9uLmgiCiAjaW5jbHVkZSAiSlNET01FeGNl
cHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVk
ZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24u
aCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTU1ZHUG9pbnQu
aCIKQEAgLTI2Myw3ICsyNjQsNyBAQCBKU09iamVjdCogSlNUZXN0VHlwZWRlZnM6OnByb3RvdHlw
ZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgSlNU
ZXN0VHlwZWRlZnM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0VHlw
ZWRlZnNET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3Qq
PihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0VHlw
ZWRlZnNET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdFR5cGVkZWZzPih2bSwg
KmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2
b2lkIEpTVGVzdFR5cGVkZWZzOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTV29ya2VyR2xvYmFs
U2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTV29y
a2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGEyNTczMDU1NDY4ODU1ZWZlMDdhNTg3Yjc5ZGU0MTll
NzJiOTgwOTkuLjQ4YTZiZDU0ZTBjN2M5ZGUwMjZhNjFkNTVmOTgzNTYwMTQ2NjVhNzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtlckds
b2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJK
U0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJs
ZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RP
TUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgog
I2luY2x1ZGUgIkpTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93LmgiCiAjaW5jbHVkZSAiSlNUZXN0
RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkLmgiCkBAIC0xNjEsNyArMTYyLDcgQEAgSlNP
YmplY3QqIEpTV29ya2VyR2xvYmFsU2NvcGU6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QKIAogSlNWYWx1ZSBKU1dvcmtlckdsb2JhbFNjb3BlOjpnZXRD
b25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7
Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTV29ya2VyR2xvYmFsU2NvcGVET01Db25z
dHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNXb3JrZXJHbG9iYWxTY29wZURP
TUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpXb3JrZXJHbG9iYWxTY29wZT4odm0sICpq
c0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogSlND
X0RFRklORV9DVVNUT01fR0VUVEVSKGpzV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTV29ya2xldEdsb2JhbFNjb3BlLmNwcAppbmRleCAz
NzIwODcwMDdmNjhkNTljNmEyMjQwYjkwOTc5YThjYTA1ODE0YjY3Li41ZjIzN2YxZDc2YTg4ZDM1
YzY5NDZhODczYzY3NGVlYjRkYzk5NGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtsZXRHbG9iYWxTY29wZS5j
cHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRl
ICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhj
ZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTV29ya2xldEdsb2Jh
bFNjb3BlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTMwLDcg
KzEzMSw3IEBAIEpTT2JqZWN0KiBKU1dvcmtsZXRHbG9iYWxTY29wZTo6cHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjCiAKIEpTVmFsdWUgSlNXb3JrbGV0R2xv
YmFsU2NvcGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNXb3JrbGV0R2xv
YmFsU2NvcGVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNXb3Jr
bGV0R2xvYmFsU2NvcGVET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6V29ya2xldEds
b2JhbFNjb3BlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNXb3JrbGV0R2xvYmFsU2Nv
cGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431170</attachid>
            <date>2021-06-10 19:53:36 -0700</date>
            <delta_ts>2021-06-10 19:58:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226909-20210610195335.patch</filename>
            <type>text/plain</type>
            <size>140835</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWViOWMxM2Y3N2NjNDM4
NTI2MzA4ZDVkNGRjMzZkOWQ4MDAzMWFhMC4uNGJiYjhlZjIxYjQwZDZlMzM5ZGYxOTFmZTEyNGZi
NmFmYzdmZjBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5NyBAQAorMjAyMS0wNi0xMCAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBET01Db25zdHJ1
Y3RvciBhcnJheSBpbnN0ZWFkIG9mIEhhc2hNYXAgc2luY2Ugd2luZG93IGNvbnN0cnVjdG9yIHBy
b3BlcnR5IGFjY2VzcyBpcyBjcml0aWNhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI2OTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgd2luZG93LlhYWCBjb25zdHJ1Y3RvciBhY2Nlc3MgaXMgcmVsYXRp
dmVseSBmcmVxdWVudGx5IGRvbmUuIEJ1dCBpdHMgaW1wbGVtZW50YXRpb24gaXMgdXNpbmcgSGFz
aE1hcCBsb29rdXAgZXZlbiB0aG91Z2gKKyAgICAgICAgd2UgYXJlIHN1Y2Nlc3NmdWxseSBjYWNo
aW5nIHRoZSBjdXN0b20gcHJvcGVydHkgYWNjZXNzZXMuIFRoaXMgcGF0Y2ggc3RvcCB1c2luZyBI
YXNoTWFwIGFuZCBpbnN0ZWFkIHVzaW5nIGFycmF5IGJ5CisgICAgICAgIGNvbGxlY3RpbmcgYWxs
IGNvbnN0cnVjdG9ycyBhdCBidWlsZCB0aW1lLiAjIG9mIGNvbnN0cnVjdG9ycyBhcmUgNzc0IGlu
IG1hY09TIGJ1aWxkLgorCisgICAgICAgIHByZXByb2Nlc3MtaWRscy5wbCBjb2xsZWN0cyBhbGwg
Y29uc3RydWN0b3JzIGFuZCBhc3NpZ24gRE9NQ29uc3RydWN0b3I6OlhYWCBlbnVtIHRvIGVhY2gg
Y29uc3RydWN0b3IuIEFuZCBpdCBhbHNvIGNvdW50cworICAgICAgICB0aGUgbnVtYmVyIG9mIGNv
bnN0cnVjdG9ycyAmIGNyZWF0ZSBET01Db25zdHJ1Y3RvcnMgY2xhc3Mgd2hpY2ggaG9sZHMgYXJy
YXkgb2YgY29uc3RydWN0b3JzLgorCisgICAgICAgIFdlIGFsc28gcmVtb3ZlIGxvY2tpbmcgZm9y
IEpTRE9NR2xvYmFsT2JqZWN0OjptX2NvbnN0cnVjdG9ycyBzaW5jZSBpdCBpcyBubyBsb25nZXIg
SGFzaFRhYmxlLCBzbyBHQyBjYW4gc2FmZWx5IGFjY2VzcyB0bworICAgICAgICB0aGVzZSBmaWVs
ZHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUds
b2JhbE9iamVjdDo6SlNET01HbG9iYWxPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01H
bG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW5JbXBsKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RE9NQ29uc3RydWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0SW5saW5l
cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmdldERPTUNvbnN0cnVjdG9yKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVy
YXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoR2VuZXJhdGVDYWxsYmFja0ltcGxlbWVudGF0
aW9uQ29udGVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMu
cGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRE9NV2luZG93LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Z2V0
Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9z
ZWRUb1dvcmtlckFuZFdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0V4cG9zZWRUb1dv
cmtlckFuZFdpbmRvdzo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmdldENvbnN0
cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q0VSZWFjdGlvbnM6OmdldENvbnN0
cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
Q2FsbFRyYWNlcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rv
cjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENv
bmRpdGlvbmFsSW5jbHVkZXM6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjpnZXRDb25zdHJ1Y3Rvcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpKU1Rlc3RET01KSVQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3REZWZhdWx0VG9KU09OOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJl
ZEJ5RXhwb3NlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3REZWZhdWx0VG9KU09ORmls
dGVyZWRCeUV4cG9zZWQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2U6
OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RGVm
YXVsdFRvSlNPTkluaGVyaXQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsOjpnZXRDb25zdHJ1
Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlbGVnYXRl
VG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6Z2V0Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3REb21haW5TZWN1cml0eTo6Z2V0Q29uc3RydWN0b3Ip
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OmdldENv
bnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5h
YmxlZEZvckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RW5hYmxlZEZvckNv
bnRleHQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RF
dmVudENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdEV2ZW50VGFyZ2V0OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RHbG9iYWxPYmplY3Q6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldp
dGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
SW50ZXJmYWNlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlOjpnZXRDb25zdHJ1Y3Rvcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEl0ZXJhYmxlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpnZXRD
b25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExl
Z2FjeUZhY3RvcnlGdW5jdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RMZWdhY3lG
YWN0b3J5RnVuY3Rpb246OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dExlZ2FjeUZhY3RvcnlGdW5jdGlvbjo6Z2V0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElu
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zOjpn
ZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE1hcExpa2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TWFwTGlrZTo6Z2V0Q29uc3Ry
dWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE1h
cExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9J
ZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRp
Zmllcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5n
RXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3Rvcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldp
dGhJbmRleGVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkRGVsZXRl
cldpdGhJbmRleGVkR2V0dGVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aDo6Z2V0Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRp
Zmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmll
cjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXI6Omdl
dENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZp
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmll
cjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXI6OmdldENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckFuZFNldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZFNl
dHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92
ZXJyaWRlQnVpbHRJbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdl
YWJsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVu
Zm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0
aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lc3BhY2VPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZXNwYWNlT2JqZWN0OjpnZXRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNUZXN0Tm9kZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNU
ZXN0T2JqOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Z2V0Q29uc3Ry
dWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmdldENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFBsdWdpbkludGVyZmFjZTo6Z2V0Q29uc3RydWN0
b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVq
ZWN0aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RS
ZWFkT25seU1hcExpa2U6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdFJlYWRPbmx5U2V0TGlrZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0OjpnZXRDb25zdHJ1Y3Rv
cik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RTZXRMaWtlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uczo6
Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RTdHJpbmdpZmllcjo6
Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbjo6Z2V0Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3Bl
cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVy
YXRpb246OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBczo6Z2V0Q29u
c3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nOjpnZXRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9u
bHlBdHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U3RyaW5naWZpZXJSZWFk
T25seUF0dHJpYnV0ZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZTo6Z2V0Q29u
c3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBl
ZGVmcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RUeXBlZGVmczo6Z2V0Q29uc3RydWN0
b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtlckdsb2JhbFNj
b3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTV29ya2VyR2xvYmFsU2NvcGU6OmdldENvbnN0
cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xv
YmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNXb3JrbGV0R2xvYmFsU2NvcGU6Omdl
dENvbnN0cnVjdG9yKToKKwogMjAyMS0wNi0wOSAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxoZXljYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCB3aW5kb3cuaW50ZXJuYWxzLmxvZygpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDMyNmJmMzdmOGY2ZDY3YzE3NDdjZDcyMjFlZjY3MDE4ZDU3MGYyY2Eu
LjBiYzdkZWRjY2M3YzM1ZjIwN2FhMTA2MTJhNTZkYTZhMGE4NWE4NjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC0xODU2LDYgKzE4NTYsNyBAQCBzZXQoTUFLRV9OQU1FU19ERVBFTkRFTkNJRVMK
ICkKIHNldChTVVBQTEVNRU5UQUxfREVQRU5ERU5DWV9GSUxFICR7V2ViQ29yZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXApCiBzZXQoSVNPX1NVQlNQQUNF
U19IRUFERVJfRklMRSAke1dlYkNvcmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vRE9NSXNvU3Vic3Bh
Y2VzLmgpCitzZXQoQ09OU1RSVUNUT1JTX0hFQURFUl9GSUxFICR7V2ViQ29yZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9ET01Db25zdHJ1Y3RvcnMuaCkKIHNldChXSU5ET1dfQ09OU1RSVUNUT1JTX0ZJ
TEUgJHtXZWJDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L0RPTVdpbmRvd0NvbnN0cnVjdG9ycy5p
ZGwpCiBzZXQoV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUgJHtXZWJDb3JlX0RF
UklWRURfU09VUkNFU19ESVJ9L1dvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzLmlkbCkKIHNl
dChERURJQ0FURURXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSAke1dlYkNvcmVf
REVSSVZFRF9TT1VSQ0VTX0RJUn0vRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
cnMuaWRsKQpAQCAtMjA0MSw5ICsyMDQyLDEwIEBAIEdFTkVSQVRFX0JJTkRJTkdTKFdlYkNvcmVC
aW5kaW5ncwogICAgIEdFTkVSQVRPUiBKUwogICAgIFNVUFBMRU1FTlRBTF9ERVBGSUxFICR7U1VQ
UExFTUVOVEFMX0RFUEVOREVOQ1lfRklMRX0KICAgICBQUF9FWFRSQV9PVVRQVVQKLSAgICAgICAg
JHtJU09fU1VCU1BBQ0VTX0hFQURFUl9GSUxFfSAke1dJTkRPV19DT05TVFJVQ1RPUlNfRklMRX0g
JHtXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0gJHtERURJQ0FURURXT1JLRVJH
TE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KKyAgICAgICAgJHtJU09fU1VCU1BBQ0VTX0hF
QURFUl9GSUxFfSAke0NPTlNUUlVDVE9SU19IRUFERVJfRklMRX0gJHtXSU5ET1dfQ09OU1RSVUNU
T1JTX0ZJTEV9ICR7V09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEV9ICR7REVESUNB
VEVEV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEV9CiAgICAgUFBfRVhUUkFfQVJH
UwogICAgICAgICAtLWlzb1N1YnNwYWNlc0hlYWRlckZpbGUgJHtJU09fU1VCU1BBQ0VTX0hFQURF
Ul9GSUxFfQorICAgICAgICAtLWNvbnN0cnVjdG9yc0hlYWRlckZpbGUgJHtDT05TVFJVQ1RPUlNf
SEVBREVSX0ZJTEV9CiAgICAgICAgIC0td2luZG93Q29uc3RydWN0b3JzRmlsZSAke1dJTkRPV19D
T05TVFJVQ1RPUlNfRklMRX0KICAgICAgICAgLS13b3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9y
c0ZpbGUgJHtXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KICAgICAgICAgLS1k
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJHtERURJQ0FURURXT1JL
RVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggY2I2MDg5NTkxZmYxZjNmN2YzNDM1
ZjZlMWY5MTcwNTFhOTQzN2FlNy4uZjE1MGUzYjI3NzZjMmI1ODNjOGQ5MzU4NTljOGYyZGVkZTEz
MWU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKQEAgLTksNiArOSw3IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvQ29sb3JEYXRhLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvQ29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2UuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ291bnRRdWV1aW5nU3RyYXRl
Z3lCdWlsdGlucy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9ET01Db25zdHJ1Y3RvcnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvRE9NSXNvU3Vic3BhY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NV2luZG93Q29uc3RydWN0b3Jz
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjFjMWUzOWVjMTQ5NjgxYTZh
ZWQwODFiN2Q1NzI3YzkzZTBiMDYwMi4uZDlkYWViNWFiMzI4NDZiMjIyMjY0MWY5MjEzYjVjNWIx
YTM3NGU5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xODU0LDYgKzE4NTQs
NyBAQCBKU19CSU5ESU5HU19TQ1JJUFRTID0gJChDT01NT05fQklORElOR1NfU0NSSVBUUykgJChX
ZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL0NvZAogU1VQUExFTUVOVEFMX0RFUEVOREVOQ1lfRklM
RSA9IFN1cHBsZW1lbnRhbERlcGVuZGVuY2llcy50eHQKIFNVUFBMRU1FTlRBTF9NQUtFRklMRV9E
RVBTID0gU3VwcGxlbWVudGFsRGVwZW5kZW5jaWVzLmRlcAogSVNPX1NVQlNQQUNFU19IRUFERVJf
RklMRSA9IERPTUlzb1N1YnNwYWNlcy5oCitDT05TVFJVQ1RPUlNfSEVBREVSX0ZJTEUgPSBET01D
b25zdHJ1Y3RvcnMuaAogV0lORE9XX0NPTlNUUlVDVE9SU19GSUxFID0gRE9NV2luZG93Q29uc3Ry
dWN0b3JzLmlkbAogV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUgPSBXb3JrZXJH
bG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKIERFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NP
TlNUUlVDVE9SU19GSUxFID0gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnMu
aWRsCkBAIC0xODY3LDYgKzE4NjgsNyBAQCBJRExfSU5URVJNRURJQVRFX0ZJTEVTID0gXAogICAg
ICQoU1VQUExFTUVOVEFMX01BS0VGSUxFX0RFUFMpIFwKICAgICAkKFNVUFBMRU1FTlRBTF9ERVBF
TkRFTkNZX0ZJTEUpIFwKICAgICAkKElTT19TVUJTUEFDRVNfSEVBREVSX0ZJTEUpIFwKKyAgICAk
KENPTlNUUlVDVE9SU19IRUFERVJfRklMRSkgXAogICAgICQoV0lORE9XX0NPTlNUUlVDVE9SU19G
SUxFKSBcCiAgICAgJChXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgXAogICAg
ICQoREVESUNBVEVEV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIFwKQEAgLTE4
NzksNyArMTg4MSw3IEBAIElETF9JTlRFUk1FRElBVEVfUEFUVEVSTlMgPSAkKHN1YnN0IC4sJSwk
KElETF9JTlRFUk1FRElBVEVfRklMRVMpKQogCiAkKElETF9JTlRFUk1FRElBVEVfUEFUVEVSTlMp
IDogJChQUkVQUk9DRVNTX0lETFNfU0NSSVBUUykgJChJRExfQVRUUklCVVRFU19GSUxFKSAkKEpT
X0JJTkRJTkdfSURMUykgJChGRUFUVVJFX0FORF9QTEFURk9STV9ERUZJTkVfREVQRU5ERU5DSUVT
KQogCSQoc2hlbGwgZWNobyAkKEpTX0JJTkRJTkdfSURMUykgfCB0ciAiICIgIlxuIiA+IElETEZp
bGVOYW1lc0xpc3QudHh0KQotCSQoUEVSTCkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL3By
ZXByb2Nlc3MtaWRscy5wbCAtLWRlZmluZXMgIiQoRkVBVFVSRV9BTkRfUExBVEZPUk1fREVGSU5F
UykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1pZGxGaWxlTmFtZXNMaXN0IElETEZpbGVOYW1lc0xp
c3QudHh0IC0taWRsQXR0cmlidXRlc0ZpbGUgJChJRExfQVRUUklCVVRFU19GSUxFKSAtLXN1cHBs
ZW1lbnRhbERlcGVuZGVuY3lGaWxlICQoU1VQUExFTUVOVEFMX0RFUEVOREVOQ1lfRklMRSkgLS1p
c29TdWJzcGFjZXNIZWFkZXJGaWxlICQoSVNPX1NVQlNQQUNFU19IRUFERVJfRklMRSkgLS13aW5k
b3dDb25zdHJ1Y3RvcnNGaWxlICQoV0lORE9XX0NPTlNUUlVDVE9SU19GSUxFKSAtLXdvcmtlckds
b2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAkKFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9S
U19GSUxFKSAtLWRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAkKERF
RElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFKSAtLXNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChTRVJWSUNFV09SS0VSR0xPQkFMU0NPUEVf
Q09OU1RSVUNUT1JTX0ZJTEUpIC0td29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAk
KFdPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1wYWludFdvcmtsZXRHbG9i
YWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChQQUlOVFdPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJV
Q1RPUlNfRklMRSkgLS1hdWRpb1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChB
VURJT1dPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1zdXBwbGVtZW50YWxN
YWtlZmlsZURlcHMgJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVfREVQUykKKwkkKFBFUkwpICQoV2Vi
Q29yZSkvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGwgLS1kZWZpbmVzICIkKEZF
QVRVUkVfQU5EX1BMQVRGT1JNX0RFRklORVMpIExBTkdVQUdFX0pBVkFTQ1JJUFQiIC0taWRsRmls
ZU5hbWVzTGlzdCBJRExGaWxlTmFtZXNMaXN0LnR4dCAtLWlkbEF0dHJpYnV0ZXNGaWxlICQoSURM
X0FUVFJJQlVURVNfRklMRSkgLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSAkKFNVUFBMRU1F
TlRBTF9ERVBFTkRFTkNZX0ZJTEUpIC0taXNvU3Vic3BhY2VzSGVhZGVyRmlsZSAkKElTT19TVUJT
UEFDRVNfSEVBREVSX0ZJTEUpIC0tY29uc3RydWN0b3JzSGVhZGVyRmlsZSAkKENPTlNUUlVDVE9S
U19IRUFERVJfRklMRSkgLS13aW5kb3dDb25zdHJ1Y3RvcnNGaWxlICQoV0lORE9XX0NPTlNUUlVD
VE9SU19GSUxFKSAtLXdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAkKFdPUktFUkdM
T0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFKSAtLWRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
Q29uc3RydWN0b3JzRmlsZSAkKERFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9S
U19GSUxFKSAtLXNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChTRVJW
SUNFV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0td29ya2xldEdsb2JhbFNj
b3BlQ29uc3RydWN0b3JzRmlsZSAkKFdPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklM
RSkgLS1wYWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChQQUlOVFdPUktM
RVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1hdWRpb1dvcmtsZXRHbG9iYWxTY29w
ZUNvbnN0cnVjdG9yc0ZpbGUgJChBVURJT1dPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNf
RklMRSkgLS1zdXBwbGVtZW50YWxNYWtlZmlsZURlcHMgJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVf
REVQUykKIAogIwogIyBFbWl0IHRoZSBydWxlcyB0byBnZW5lcmF0ZSBiaW5kaW5ncyBmcm9tIElE
TCBmaWxlcy4gTm90ZSB0aGF0IHRoZXJlIGFyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFkYTQxNGM0N2M3YzA4OTlkMzk1NDJl
NDQ4ZDU2ODQ1YzI5Nzg4YWIuLmZlZDQwMjAwMTUxYTYzYWQzMmMwY2M3MWFkYzMzMTRiMzQxMWMw
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTUxNjAsNiArNTE2MCw3IEBACiAJCUUzMTUwRUE3MURBNzIxOTMwMDE5NDAxMiAv
KiBET01KSVRIZWxwZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzE1MEVBNTFEQTcyMThEMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oICovOyB9
OwogCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzhEMDYwOTFG
OEU4MTE5MDA2NDlDRjIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMyM0NGRkExRTVBRjZBRjAwRjBC
NEEwIC8qIEpTRE9NQ29udmVydFByb21pc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzMjNDRkY5MUU1QUY2QTUwMEYwQjRBMCAvKiBKU0RPTUNvbnZl
cnRQcm9taXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJRTMzRDBDQkUyNjcyRTFCNjAwNzRFMTgzIC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5l
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMzRDBD
QkMyNjcyRTFCMzAwNzRFMTgzIC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyB9Owog
CQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQzMkRFMDI1
RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IH07CiAJCUUz
NDdFNUZBMjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQ3RTVGODI1RDRGMDAwMDBG
MTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1
bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMTY0ODMsNiArMTY0ODQsNyBAQAogCQlFMzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyog
VHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5p
dFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMyOTI3NjYyMjU0M0ZE
RTAwMzA4QTlBIC8qIERPTVJlY3RSZWFkT25seS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01S
ZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzM0ODI1RTFE
QzkzQUEwMDA5Qzk1NDQgLyogRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJRTMzRDBDQkMyNjcy
RTFCMzAwNzRFMTgzIC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM0MzJERTMyNUQzNzdFMzAwNThF
NjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2Ny
aXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJTY3Jp
cHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzQ5NCw2ICsyNzQ5
Niw3IEBACiAJCQkJN0M0NUM5QzcxRTNFOEFGRjAwQUFCNTU4IC8qIEpTRE9NRXhjZXB0aW9uSGFu
ZGxpbmcuaCAqLywKIAkJCQlFMUMzNkNCQzBFQjA4MDYyMDA3NDEwQkMgLyogSlNET01HbG9iYWxP
YmplY3QuY3BwICovLAogCQkJCUUxQzM2QzAyMEVCMDc2RDYwMDc0MTBCQyAvKiBKU0RPTUdsb2Jh
bE9iamVjdC5oICovLAorCQkJCUUzM0QwQ0JDMjY3MkUxQjMwMDc0RTE4MyAvKiBKU0RPTUdsb2Jh
bE9iamVjdElubGluZXMuaCAqLywKIAkJCQk3QzJCREQzQjE3QzdGOThCMDAzOEZGMTUgLyogSlNE
T01HbG9iYWxPYmplY3RUYXNrLmNwcCAqLywKIAkJCQk3QzJCREQzQzE3QzdGOThCMDAzOEZGMTUg
LyogSlNET01HbG9iYWxPYmplY3RUYXNrLmggKi8sCiAJCQkJNDFBMUIwMUIxRTU0MjM5NjAwN0Yz
NzY5IC8qIEpTRE9NR3VhcmRlZE9iamVjdC5jcHAgKi8sCkBAIC0zMzQ4MSw2ICszMzQ4NCw3IEBA
CiAJCQkJODM5OTQ3MTAxRjUwQjZGQTAwRTlEODZCIC8qIEpTRE9NRmlsZVN5c3RlbS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzM2QzAzMEVCMDc2RDYwMDc0MTBCQyAvKiBKU0RPTUds
b2JhbE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTMzRDBDQkUyNjcyRTFCNjAwNzRFMTgz
IC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MyQkRE
M0UxN0M3Rjk4QzAwMzhGRjE1IC8qIEpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDFBMUIwMUMxRTU0MjM5QjAwN0YzNzY5IC8qIEpTRE9NR3VhcmRlZE9iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRjgwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTRE9NSW1w
bGVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IGUzMTFkMGFmZWU2NGI5YjgwZTAyYzk1
Njk2MjcyZjAwM2I1ODMxM2UuLjdjNzQ0ZjczMGNkYjM3OGFkNzkxYTg3MTU5OTcyNjJlNjE2MjA5
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJK
U0RPTUdsb2JhbE9iamVjdC5oIgogCisjaW5jbHVkZSAiRE9NQ29uc3RydWN0b3JzLmgiCiAjaW5j
bHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGZXRj
aFJlc3BvbnNlLmgiCkBAIC03Nyw2ICs3OCw3IEBAIGNvbnN0IENsYXNzSW5mbyBKU0RPTUdsb2Jh
bE9iamVjdDo6c19pbmZvID0geyAiRE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xvYmFsT2JqZWN0CiAK
IEpTRE9NR2xvYmFsT2JqZWN0OjpKU0RPTUdsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBSZWY8RE9NV3JhcHBlcldvcmxkPiYmIHdvcmxkLCBjb25zdCBHbG9iYWxPYmpl
Y3RNZXRob2RUYWJsZSogZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCiAgICAgOiBKU0dsb2JhbE9i
amVjdCh2bSwgc3RydWN0dXJlLCBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKKyAgICAsIG1fY29u
c3RydWN0b3JzKG1ha2VVbmlxdWU8RE9NQ29uc3RydWN0b3JzPigpKQogICAgICwgbV93b3JsZChX
VEZNb3ZlKHdvcmxkKSkKICAgICAsIG1fd29ybGRJc05vcm1hbChtX3dvcmxkLT5pc05vcm1hbCgp
KQogICAgICwgbV9idWlsdGluSW50ZXJuYWxGdW5jdGlvbnModm0pCkBAIC0yNjIsMTMgKzI2NCwx
MyBAQCB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuSW1wbChKU0NlbGwqIGNl
bGwsIFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgICAgIGZvciAoYXV0byYgc3RydWN0dXJlIDogdGhp
c09iamVjdC0+bV9zdHJ1Y3R1cmVzLnZhbHVlcygpKQogICAgICAgICAgICAgdmlzaXRvci5hcHBl
bmQoc3RydWN0dXJlKTsKIAotICAgICAgICBmb3IgKGF1dG8mIGNvbnN0cnVjdG9yIDogdGhpc09i
amVjdC0+bV9jb25zdHJ1Y3RvcnMudmFsdWVzKCkpCi0gICAgICAgICAgICB2aXNpdG9yLmFwcGVu
ZChjb25zdHJ1Y3Rvcik7Ci0KICAgICAgICAgZm9yIChhdXRvJiBndWFyZGVkIDogdGhpc09iamVj
dC0+bV9ndWFyZGVkT2JqZWN0cykKICAgICAgICAgICAgIGd1YXJkZWQtPnZpc2l0QWdncmVnYXRl
KHZpc2l0b3IpOwogICAgIH0KIAorICAgIGZvciAoYXV0byYgY29uc3RydWN0b3IgOiB0aGlzT2Jq
ZWN0LT5jb25zdHJ1Y3RvcnMoKS5hcnJheSgpKQorICAgICAgICB2aXNpdG9yLmFwcGVuZChjb25z
dHJ1Y3Rvcik7CisKICAgICB0aGlzT2JqZWN0LT5tX2J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucy52
aXNpdCh2aXNpdG9yKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
R2xvYmFsT2JqZWN0LmgKaW5kZXggMWYwMDYyMzkwZGYzNDU0OWY0Nzc5YjRmMTVhMTE5ZWY0ZTg2
OGI5ZC4uMGU4MWNlNjgxM2MyYjYyODFmNTcyMzgwMTk0MWQwM2ViYjk5MWZhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC0zNCwxMyAr
MzQsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBET01Db25zdHJ1Y3RvcnM7
CiBjbGFzcyBET01HdWFyZGVkT2JqZWN0OwogY2xhc3MgRXZlbnQ7CiBjbGFzcyBET01XcmFwcGVy
V29ybGQ7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiB1c2luZyBKU0RPTVN0cnVj
dHVyZU1hcCA9IEhhc2hNYXA8Y29uc3QgSlNDOjpDbGFzc0luZm8qLCBKU0M6OldyaXRlQmFycmll
cjxKU0M6OlN0cnVjdHVyZT4+OwotdXNpbmcgSlNET01Db25zdHJ1Y3Rvck1hcCA9IEhhc2hNYXA8
Y29uc3QgSlNDOjpDbGFzc0luZm8qLCBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0Pj47
CiB1c2luZyBET01HdWFyZGVkT2JqZWN0U2V0ID0gSGFzaFNldDxET01HdWFyZGVkT2JqZWN0Kj47
CiAKIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6
SlNHbG9iYWxPYmplY3QgewpAQCAtNjAsMTcgKzYwLDE2IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JU
IEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6SlNHbG9iYWxPYmplY3QgewogICAgIExv
Y2smIGdjTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV9nY0xvY2spIHsgcmV0dXJuIG1fZ2NMb2Nr
OyB9CiAKICAgICBKU0RPTVN0cnVjdHVyZU1hcCYgc3RydWN0dXJlcygpIFdURl9SRVFVSVJFU19M
T0NLKG1fZ2NMb2NrKSB7IHJldHVybiBtX3N0cnVjdHVyZXM7IH0KLSAgICBKU0RPTUNvbnN0cnVj
dG9yTWFwJiBjb25zdHJ1Y3RvcnMoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2djTG9jaykgeyByZXR1
cm4gbV9jb25zdHJ1Y3RvcnM7IH0KICAgICBET01HdWFyZGVkT2JqZWN0U2V0JiBndWFyZGVkT2Jq
ZWN0cygpIFdURl9SRVFVSVJFU19MT0NLKG1fZ2NMb2NrKSB7IHJldHVybiBtX2d1YXJkZWRPYmpl
Y3RzOyB9CisgICAgRE9NQ29uc3RydWN0b3JzJiBjb25zdHJ1Y3RvcnMoKSB7IHJldHVybiAqbV9j
b25zdHJ1Y3RvcnM7IH0KIAogICAgIC8vIE5vIGxvY2tpbmcgaXMgbmVjZXNzYXJ5IGZvciBjYWxs
IHNpdGVzIHRoYXQgZG8gbm90IG11dGF0ZSB0aGUgY29udGFpbmVycyBhbmQgYXJlIG5vdCBvbiB0
aGUgR0MgdGhyZWFkLgogICAgIGNvbnN0IEpTRE9NU3RydWN0dXJlTWFwJiBzdHJ1Y3R1cmVzKCkg
Y29uc3QgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUyB7IEFTU0VSVCghVGhyZWFk
OjptYXlCZUdDVGhyZWFkKCkpOyByZXR1cm4gbV9zdHJ1Y3R1cmVzOyB9Ci0gICAgY29uc3QgSlNE
T01Db25zdHJ1Y3Rvck1hcCYgY29uc3RydWN0b3JzKCkgY29uc3QgV1RGX0lHTk9SRVNfVEhSRUFE
X1NBRkVUWV9BTkFMWVNJUyB7IEFTU0VSVCghVGhyZWFkOjptYXlCZUdDVGhyZWFkKCkpOyByZXR1
cm4gbV9jb25zdHJ1Y3RvcnM7IH0KICAgICBjb25zdCBET01HdWFyZGVkT2JqZWN0U2V0JiBndWFy
ZGVkT2JqZWN0cygpIGNvbnN0IFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgeyBB
U1NFUlQoIVRocmVhZDo6bWF5QmVHQ1RocmVhZCgpKTsgcmV0dXJuIG1fZ3VhcmRlZE9iamVjdHM7
IH0KKyAgICBjb25zdCBET01Db25zdHJ1Y3RvcnMmIGNvbnN0cnVjdG9ycygpIGNvbnN0IHsgQVNT
RVJUKCFUaHJlYWQ6Om1heUJlR0NUaHJlYWQoKSk7IHJldHVybiAqbV9jb25zdHJ1Y3RvcnM7IH0K
IAogICAgIC8vIFRoZSBmb2xsb3dpbmcgZG9uJ3QgcmVxdWlyZSBncmFiYmluZyB0aGUgZ2NMb2Nr
IGZpcnN0IGFuZCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgSGVhcCBzYXlzIHRoYXQg
bXV0YXRvcnMgZG9uJ3QgaGF2ZSB0byBiZSBmZW5jZWQuCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAm
IHN0cnVjdHVyZXMoTm9Mb2NraW5nTmVjZXNzYXJ5VGFnKSBXVEZfSUdOT1JFU19USFJFQURfU0FG
RVRZX0FOQUxZU0lTIHsgQVNTRVJUKCF2bSgpLmhlYXAubXV0YXRvclNob3VsZEJlRmVuY2VkKCkp
OyByZXR1cm4gbV9zdHJ1Y3R1cmVzOyB9Ci0gICAgSlNET01Db25zdHJ1Y3Rvck1hcCYgY29uc3Ry
dWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeVRhZykgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVUWV9B
TkFMWVNJUyB7IEFTU0VSVCghdm0oKS5oZWFwLm11dGF0b3JTaG91bGRCZUZlbmNlZCgpKTsgcmV0
dXJuIG1fY29uc3RydWN0b3JzOyB9CiAgICAgRE9NR3VhcmRlZE9iamVjdFNldCYgZ3VhcmRlZE9i
amVjdHMoTm9Mb2NraW5nTmVjZXNzYXJ5VGFnKSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FO
QUxZU0lTIHsgQVNTRVJUKCF2bSgpLmhlYXAubXV0YXRvclNob3VsZEJlRmVuY2VkKCkpOyByZXR1
cm4gbV9ndWFyZGVkT2JqZWN0czsgfQogCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwpAQCAtMTI0LDggKzEyMyw4IEBAIGNsYXNzIFdF
QkNPUkVfRVhQT1JUIEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6SlNHbG9iYWxPYmpl
Y3QgewogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRN
ZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlcios
IEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CiAKICAg
ICBKU0RPTVN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX2dj
TG9jayk7Ci0gICAgSlNET01Db25zdHJ1Y3Rvck1hcCBtX2NvbnN0cnVjdG9ycyBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fZ2NMb2NrKTsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3VhcmRlZE9i
amVjdHMgV1RGX0dVQVJERURfQllfTE9DSyhtX2djTG9jayk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PERPTUNvbnN0cnVjdG9ycz4gbV9jb25zdHJ1Y3RvcnM7CiAKICAgICBSZWY8RE9NV3JhcHBlcldv
cmxkPiBtX3dvcmxkOwogICAgIHVpbnQ4X3QgbV93b3JsZElzTm9ybWFsOwpAQCAtMTQzLDI1ICsx
NDIsNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBK
U0M6OkpTR2xvYmFsT2JqZWN0IHsKICAgICBKU0M6OldlYWtHQ01hcDxDcm9zc09yaWdpbk1hcEtl
eSwgSlNDOjpHZXR0ZXJTZXR0ZXI+IG1fY3Jvc3NPcmlnaW5HZXR0ZXJTZXR0ZXJNYXA7CiB9Owog
Ci10ZW1wbGF0ZTxjbGFzcyBDb25zdHJ1Y3RvckNsYXNzPgotaW5saW5lIEpTQzo6SlNPYmplY3Qq
IGdldERPTUNvbnN0cnVjdG9yKEpTQzo6Vk0mIHZtLCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQotewotICAgIC8vIE5vIGxvY2tpbmcgaXMgbmVjZXNzYXJ5IHVubGVzcyB3
ZSBuZWVkIHRvIGFkZCBhIG5ldyBjb25zdHJ1Y3RvciB0byBKU0RPTUdsb2JhbE9iamVjdDo6Y29u
c3RydWN0b3JzKCkuCi0gICAgaWYgKEpTQzo6SlNPYmplY3QqIGNvbnN0cnVjdG9yID0gZ2xvYmFs
T2JqZWN0LmNvbnN0cnVjdG9ycygpLmdldChDb25zdHJ1Y3RvckNsYXNzOjppbmZvKCkpLmdldCgp
KQotICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7Ci0gICAgSlNDOjpKU09iamVjdCogY29uc3Ry
dWN0b3IgPSBDb25zdHJ1Y3RvckNsYXNzOjpjcmVhdGUodm0sIENvbnN0cnVjdG9yQ2xhc3M6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgY29uc3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGdsb2JhbE9i
amVjdCksIENvbnN0cnVjdG9yQ2xhc3M6OnByb3RvdHlwZUZvclN0cnVjdHVyZSh2bSwgZ2xvYmFs
T2JqZWN0KSksIGNvbnN0X2Nhc3Q8SlNET01HbG9iYWxPYmplY3QmPihnbG9iYWxPYmplY3QpKTsK
LSAgICBBU1NFUlQoIWdsb2JhbE9iamVjdC5jb25zdHJ1Y3RvcnMoKS5jb250YWlucyhDb25zdHJ1
Y3RvckNsYXNzOjppbmZvKCkpKTsKLSAgICBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0
PiB0ZW1wOwotICAgIEpTRE9NR2xvYmFsT2JqZWN0JiBtdXRhYmxlR2xvYmFsT2JqZWN0ID0gY29u
c3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKHZtLmhl
YXAubXV0YXRvclNob3VsZEJlRmVuY2VkKCkpIHsKLSAgICAgICAgTG9ja2VyIGxvY2tlciB7IG11
dGFibGVHbG9iYWxPYmplY3QuZ2NMb2NrKCkgfTsKLSAgICAgICAgbXV0YWJsZUdsb2JhbE9iamVj
dC5jb25zdHJ1Y3RvcnMoKS5hZGQoQ29uc3RydWN0b3JDbGFzczo6aW5mbygpLCB0ZW1wKS5pdGVy
YXRvci0+dmFsdWUuc2V0KHZtLCAmZ2xvYmFsT2JqZWN0LCBjb25zdHJ1Y3Rvcik7Ci0gICAgICAg
IHJldHVybiBjb25zdHJ1Y3RvcjsKLSAgICB9Ci0gICAgbXV0YWJsZUdsb2JhbE9iamVjdC5jb25z
dHJ1Y3RvcnMoTm9Mb2NraW5nTmVjZXNzYXJ5KS5hZGQoQ29uc3RydWN0b3JDbGFzczo6aW5mbygp
LCB0ZW1wKS5pdGVyYXRvci0+dmFsdWUuc2V0KHZtLCAmZ2xvYmFsT2JqZWN0LCBjb25zdHJ1Y3Rv
cik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdG9yOwotfQotCiBXRUJDT1JFX0VYUE9SVCBKU0RPTUds
b2JhbE9iamVjdCYgY2FsbGVyR2xvYmFsT2JqZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6
OkNhbGxGcmFtZSYpOwogCiBKU0RPTUdsb2JhbE9iamVjdCogdG9KU0RPTUdsb2JhbE9iamVjdChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRE9NV3JhcHBlcldvcmxkJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA1Mjg2MTViNDYxYmYwZGI3NzFkZjQyNjg2ZmEyMmU1ZDJkZTY1MmYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdElu
bGluZXMuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NQ29uc3RydWN0
b3JzLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit0ZW1wbGF0ZTxjbGFzcyBDb25zdHJ1Y3RvckNsYXNzLCBET01Db25zdHJ1Y3RvcklE
IGNvbnN0cnVjdG9ySUQ+CitpbmxpbmUgSlNDOjpKU09iamVjdCogZ2V0RE9NQ29uc3RydWN0b3Io
SlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit7Cisg
ICAgLy8gTm8gbG9ja2luZyBpcyBuZWNlc3NhcnkgdW5sZXNzIHdlIG5lZWQgdG8gYWRkIGEgbmV3
IGNvbnN0cnVjdG9yIHRvIEpTRE9NR2xvYmFsT2JqZWN0Ojpjb25zdHJ1Y3RvcnMoKS4KKyAgICBp
ZiAoSlNDOjpKU09iamVjdCogY29uc3RydWN0b3IgPSBnbG9iYWxPYmplY3QuY29uc3RydWN0b3Jz
KCkuYXJyYXkoKVtzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29uc3RydWN0b3JJRCldLmdldCgpKQor
ICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CisgICAgSlNDOjpKU09iamVjdCogY29uc3RydWN0
b3IgPSBDb25zdHJ1Y3RvckNsYXNzOjpjcmVhdGUodm0sIENvbnN0cnVjdG9yQ2xhc3M6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgY29uc3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGdsb2JhbE9iamVj
dCksIENvbnN0cnVjdG9yQ2xhc3M6OnByb3RvdHlwZUZvclN0cnVjdHVyZSh2bSwgZ2xvYmFsT2Jq
ZWN0KSksIGNvbnN0X2Nhc3Q8SlNET01HbG9iYWxPYmplY3QmPihnbG9iYWxPYmplY3QpKTsKKyAg
ICBBU1NFUlQoIWdsb2JhbE9iamVjdC5jb25zdHJ1Y3RvcnMoKS5hcnJheSgpW3N0YXRpY19jYXN0
PHVuc2lnbmVkPihjb25zdHJ1Y3RvcklEKV0uZ2V0KCkpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0
JiBtdXRhYmxlR2xvYmFsT2JqZWN0ID0gY29uc3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGds
b2JhbE9iamVjdCk7CisgICAgbXV0YWJsZUdsb2JhbE9iamVjdC5jb25zdHJ1Y3RvcnMoKS5hcnJh
eSgpW3N0YXRpY19jYXN0PHVuc2lnbmVkPihjb25zdHJ1Y3RvcklEKV0uc2V0KHZtLCAmZ2xvYmFs
T2JqZWN0LCBjb25zdHJ1Y3Rvcik7CisgICAgcmV0dXJuIGNvbnN0cnVjdG9yOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGQyNWUzZmY0NGI2YjY0YzlmOTM5M2Y5NmFiOTM4
ZTQ4Njk4ODg3YjYuLjRiMDhiYWYyMTRiMDljZDYwODUwZmIxYTZiODE4N2YzM2RlMjNmMmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCkBAIC00NzY1LDE1ICs0NzY1LDE2IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAg
ICAgfQogCiAgICAgaWYgKCEkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntMZWdhY3lO
b0ludGVyZmFjZU9iamVjdH0pIHsKKyAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNWYWx1
ZSAke2NsYXNzTmFtZX06OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIp
OwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8JHtjbGFzc05hbWV9RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPCR7Y2xhc3NOYW1lfURPTUNvbnN0cnVj
dG9yLCBET01Db25zdHJ1Y3RvcklEOjoke2ludGVyZmFjZU5hbWV9Pih2bSwgKmpzQ2FzdDxjb25z
dCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpO1xuIik7CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAifVxuXG4iKTsKIAogICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57TGVnYWN5RmFjdG9yeUZ1bmN0aW9ufSkgewogICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICJKU1ZhbHVlICR7Y2xhc3NOYW1lfTo6Z2V0TGVnYWN5RmFjdG9yeUZ1
bmN0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rvcjwke2NsYXNzTmFtZX1MZWdhY3lG
YWN0b3J5RnVuY3Rpb24+KHZtLCAqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3Rvcjwke2NsYXNzTmFtZX1MZWdhY3lGYWN0b3J5RnVuY3Rpb24sIERPTUNv
bnN0cnVjdG9ySUQ6OiR7aW50ZXJmYWNlTmFtZX1MZWdhY3lGYWN0b3J5Pih2bSwgKmpzQ2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpO1xuIik7CiAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAgICAgICAgIH0KICAgICB9CkBAIC02NDU2LDkgKzY0
NTcsMTAgQEAgc3ViIEdlbmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbkNvbnRlbnQKIAogICAg
ICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbnMoJGNvbnRlbnRSZWYsICRjbGFzc05h
bWUsICIiLCAkdmlzaWJsZU5hbWUsICRpbnRlcmZhY2VPckNhbGxiYWNrKTsKIAorICAgICAgICBB
ZGRUb0ltcGxJbmNsdWRlcygiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiKTsKICAgICAgICAg
cHVzaChAJGNvbnRlbnRSZWYsICJKU1ZhbHVlICR7Y2xhc3NOYW1lfTo6Z2V0Q29uc3RydWN0b3Io
Vk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KVxuIik7CiAgICAgICAg
IHB1c2goQCRjb250ZW50UmVmLCAie1xuIik7Ci0gICAgICAgIHB1c2goQCRjb250ZW50UmVmLCAi
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rvcjwke2NsYXNzTmFtZX1ET01Db25zdHJ1Y3Rvcj4o
dm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTtcbiIp
OworICAgICAgICBwdXNoKEAkY29udGVudFJlZiwgIiAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8JHtjbGFzc05hbWV9RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OiR7bmFtZX0+
KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7XG4i
KTsKICAgICAgICAgcHVzaChAJGNvbnRlbnRSZWYsICJ9XG5cbiIpOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGwg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbAppbmRl
eCAyMGEwYmEzZjlkYTBjNjg0YTc2ZmNhZTkyZGExYjYwM2VmODA2MzBlLi42MDFkMmY1MzE2ZTIz
MWY1YjlmM2RlMTZhYzIyNDFmZDg3MzZiNzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbApAQCAtNDEsNiArNDEsNyBAQAogbXkg
JHRlc3RHbG9iYWxDb250ZXh0TmFtZTsKIG15ICRzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZTsK
IG15ICRpc29TdWJzcGFjZXNIZWFkZXJGaWxlOworbXkgJGNvbnN0cnVjdG9yc0hlYWRlckZpbGU7
CiBteSAkd2luZG93Q29uc3RydWN0b3JzRmlsZTsKIG15ICR3b3JrZXJHbG9iYWxTY29wZUNvbnN0
cnVjdG9yc0ZpbGU7CiBteSAkZGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNG
aWxlOwpAQCAtNjQsNiArNjUsNyBAQAogICAgICAgICAgICAndGVzdEdsb2JhbENvbnRleHROYW1l
PXMnID0+IFwkdGVzdEdsb2JhbENvbnRleHROYW1lLAogICAgICAgICAgICAnc3VwcGxlbWVudGFs
RGVwZW5kZW5jeUZpbGU9cycgPT4gXCRzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSwKICAgICAg
ICAgICAgJ2lzb1N1YnNwYWNlc0hlYWRlckZpbGU9cycgPT4gXCRpc29TdWJzcGFjZXNIZWFkZXJG
aWxlLAorICAgICAgICAgICAnY29uc3RydWN0b3JzSGVhZGVyRmlsZT1zJyA9PiBcJGNvbnN0cnVj
dG9yc0hlYWRlckZpbGUsCiAgICAgICAgICAgICd3aW5kb3dDb25zdHJ1Y3RvcnNGaWxlPXMnID0+
IFwkd2luZG93Q29uc3RydWN0b3JzRmlsZSwKICAgICAgICAgICAgJ3dvcmtlckdsb2JhbFNjb3Bl
Q29uc3RydWN0b3JzRmlsZT1zJyA9PiBcJHdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmls
ZSwKICAgICAgICAgICAgJ2RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmls
ZT1zJyA9PiBcJGRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSwKQEAg
LTkyLDYgKzk0LDcgQEAKIAogJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlID0gQ3lnd2luUGF0
aElmTmVlZGVkKCRzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSk7CiAkaXNvU3Vic3BhY2VzSGVh
ZGVyRmlsZSA9IEN5Z3dpblBhdGhJZk5lZWRlZCgkaXNvU3Vic3BhY2VzSGVhZGVyRmlsZSk7Cisk
Y29uc3RydWN0b3JzSGVhZGVyRmlsZSA9IEN5Z3dpblBhdGhJZk5lZWRlZCgkY29uc3RydWN0b3Jz
SGVhZGVyRmlsZSk7CiAkd2luZG93Q29uc3RydWN0b3JzRmlsZSA9IEN5Z3dpblBhdGhJZk5lZWRl
ZCgkd2luZG93Q29uc3RydWN0b3JzRmlsZSk7CiAkd29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
cnNGaWxlID0gQ3lnd2luUGF0aElmTmVlZGVkKCR3b3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9y
c0ZpbGUpOwogJGRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSA9IEN5
Z3dpblBhdGhJZk5lZWRlZCgkZGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNG
aWxlKTsKQEAgLTE1Nyw2ICsxNjAsMTkgQEAKICAgICBET01Jc29TdWJzcGFjZXMoKSA9IGRlZmF1
bHQ7CiBFTkQKIAorbXkgQGNvbnN0cnVjdG9ycyA9ICgpOworbXkgJGNvbnN0cnVjdG9yc0hlYWRl
ckNvZGUgPSA8PEVORDsKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4K
KworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBET01D
b25zdHJ1Y3RvcklEIDogdWludDE2X3QgeworRU5ECisKICMgR2V0IHJpZCBvZiBkdXBsaWNhdGVz
IGluIGlkbEZpbGVOYW1lcyBhcnJheS4KIG15ICVpZGxGaWxlTmFtZUhhc2ggPSBtYXAgeyAkXywg
MSB9IEBpZGxGaWxlTmFtZXM7CiAKQEAgLTI1Miw2ICsyNjgsMTMgQEAgRU5ECiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CisKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAi
ICAgICR7aW50ZXJmYWNlTmFtZX0sXG4iOworICAgIHB1c2goQGNvbnN0cnVjdG9ycywgIiR7aW50
ZXJmYWNlTmFtZX0iKTsKKyAgICBpZiAoJGV4dGVuZGVkQXR0cmlidXRlcy0+e0xlZ2FjeUZhY3Rv
cnlGdW5jdGlvbn0pIHsKKyAgICAgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICAk
e2ludGVyZmFjZU5hbWV9TGVnYWN5RmFjdG9yeSxcbiI7CisgICAgICAgIHB1c2goQGNvbnN0cnVj
dG9ycywgIiR7aW50ZXJmYWNlTmFtZX1MZWdhY3lGYWN0b3J5Iik7CisgICAgfQogfQogCiAjIEdl
bmVyYXRlIHBhcnRpYWwgaW50ZXJmYWNlcyBmb3IgQ29uc3RydWN0b3JzLgpAQCAtMjcwLDYgKzI5
MywyOSBAQCBFTkQKICAgICBXcml0ZUZpbGVJZkNoYW5nZWQoJGlzb1N1YnNwYWNlc0hlYWRlckZp
bGUsICRpc29TdWJzcGFjZXNIZWFkZXJDb2RlKTsKIH0KIAoraWYgKCRjb25zdHJ1Y3RvcnNIZWFk
ZXJGaWxlKSB7CisgICAgbXkgJGNvbnN0cnVjdG9yc0xlbmd0aCA9IEBjb25zdHJ1Y3RvcnM7Cisg
ICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIn07XG4iOworICAgICRjb25zdHJ1Y3RvcnNI
ZWFkZXJDb2RlIC49ICJcbiI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gInN0YXRp
YyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZET01Db25zdHJ1Y3RvcnMgPSAkY29uc3RydWN0
b3JzTGVuZ3RoO1xuIjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAiXG4iOworICAg
ICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICJjbGFzcyBET01Db25zdHJ1Y3RvcnMge1xuIjsK
KyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAiICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERPTUNvbnN0cnVjdG9ycyk7XG4iOworICAgICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICIg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQoRE9NQ29uc3RydWN0b3JzKTtcbiI7CisgICAgJGNv
bnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gInB1YmxpYzpcbiI7CisgICAgJGNvbnN0cnVjdG9yc0hl
YWRlckNvZGUgLj0gIiAgICB1c2luZyBDb25zdHJ1Y3RvckFycmF5ID0gc3RkOjphcnJheTxKU0M6
OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0PiwgbnVtYmVyT2ZET01Db25zdHJ1Y3RvcnM+O1xu
IjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAiICAgIERPTUNvbnN0cnVjdG9ycygp
ID0gZGVmYXVsdDtcbiI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICBDb25z
dHJ1Y3RvckFycmF5JiBhcnJheSgpIHsgcmV0dXJuIG1fYXJyYXk7IH1cbiI7CisgICAgJGNvbnN0
cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICBjb25zdCBDb25zdHJ1Y3RvckFycmF5JiBhcnJheSgp
IGNvbnN0IHsgcmV0dXJuIG1fYXJyYXk7IH1cbiI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNv
ZGUgLj0gIlxuIjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAicHJpdmF0ZTpcbiI7
CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICBDb25zdHJ1Y3RvckFycmF5IG1f
YXJyYXkgeyB9O1xuIjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAifTtcbiI7Cisg
ICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIlxuIjsKKyAgICAkY29uc3RydWN0b3JzSGVh
ZGVyQ29kZSAuPSAifSAvLyBuYW1lc3BhY2UgV2ViQ29yZVxuIjsKKyAgICBXcml0ZUZpbGVJZkNo
YW5nZWQoJGNvbnN0cnVjdG9yc0hlYWRlckZpbGUsICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2RlKTsK
K30KKwogIyBSZXNvbHZlcyBwYXJ0aWFsIGludGVyZmFjZXMgYW5kIGluY2x1ZGUgZGVwZW5kZW5j
aWVzLgogZm9yZWFjaCBteSAkaWRsRmlsZVBhdGggKHNvcnQga2V5cyAlc3VwcGxlbWVudGFsRGVw
ZW5kZW5jaWVzKSB7CiAgICAgbXkgJGJhc2VGaWxlcyA9ICRzdXBwbGVtZW50YWxEZXBlbmRlbmNp
ZXN7JGlkbEZpbGVQYXRofTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNET01XaW5kb3cuY3BwCmluZGV4IDhjMjdmMDI0Y2Q1ZGJjODIxOGI4
NWUwODIyZmI5N2M5MGYxNmQ2MzQuLjQxOGQ5YTVkZWQ5N2ZlZGJiMTZmOTJhMWQ1NGFkZmVkNjk5
NzMzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTRE9NV2luZG93LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCiAjaW5jbHVkZSAi
SlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRv
dy5oIgpAQCAtMTk4LDcgKzE5OSw3IEBAIHZvaWQgSlNET01XaW5kb3c6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSlNXaW5kb3dQcm94eSogcHJveHkpCiAKIEpTVmFsdWUgSlNET01XaW5kb3c6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNET01XaW5kb3dET01Db25zdHJ1Y3Rv
cj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
KyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNET01XaW5kb3dET01Db25zdHJ1Y3Rvciwg
RE9NQ29uc3RydWN0b3JJRDo6RE9NV2luZG93Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIo
anNET01XaW5kb3dDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggN2Q0OGQ3MDBlMTcxMjlk
ZDdmOGVkMjhjOGJlNjVhN2JkNzJkNzgyNC4uYmM0YzdhZWU5ZTQ3MmZmOWQyZTFiMDM2NDY2Mjk3
NGJkNjEyZjBjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1
ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01F
eGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
QEAgLTEyMCw3ICsxMjEsNyBAQCB2b2lkIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSlNQcm94eSogcHJveHkpCiAKIEpTVmFsdWUgSlNEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNv
bnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERP
TUNvbnN0cnVjdG9yPEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVET01Db25zdHJ1Y3Rvciwg
RE9NQ29uc3RydWN0b3JJRDo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KHZtLCAqanNDYXN0
PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJ
TkVfQ1VTVE9NX0dFVFRFUihqc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdp
bmRvdy5jcHAKaW5kZXggZjQzZGQyMzc1YzgxMjZmZmQ3OWZjN2I1Njk5MmZlM2U4ZThkZjQzMy4u
MjkxYzY2ODJjMWUzYjZlNzcyZDdkYTUxMTlhMDJjYWJmZTZjYzkxZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5k
V2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVk
ZSAiSlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5k
bGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNs
dWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTVGVzdE9iai5oIgpAQCAtMjA3
LDcgKzIwOCw3IEBAIEpTT2JqZWN0KiBKU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdzo6cHJvdG90
eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhCiAKIEpTVmFsdWUgSlNFeHBvc2Vk
VG9Xb3JrZXJBbmRXaW5kb3c6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNF
eHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6RXhwb3NlZFRvV29ya2VyQW5kV2luZG93Pih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTRXhwb3NlZFRv
V29ya2VyQW5kV2luZG93OjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUGFpbnRXb3JrbGV0R2xv
YmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IDE2OTA5NjNkM2Y4OGRjMTI3NTk2NmQw
YzAxZjI0ZGZiNGZhMjcwOWMuLjUxM2ZhOWRiZTFhN2ZhMTU3OGQ0NDRjZDc5ZTkxODdhY2IzN2I3
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTI3LDYg
KzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUNvbnN0
cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUu
aCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgpAQCAtMTIwLDcgKzEyMSw3
IEBAIHZvaWQgSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBKU1Byb3h5KiBwcm94eSkKIAogSlNWYWx1ZSBKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlOjpn
ZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTUGFpbnRXb3JrbGV0R2xvYmFsU2Nv
cGVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNQYWludFdvcmts
ZXRHbG9iYWxTY29wZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpQYWludFdvcmts
ZXRHbG9iYWxTY29wZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCAyNmRiYjliODM2ODM4M2I3MmYx
ZmVmNWVmY2NiOTUwNTlkNjJjYWRmLi5jNDk3ODc1ZjVjODhhYjMxZGNkNDk2MGQ2Mzg5Y2U5ZjQ5
YzRjYTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAg
LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RP
TUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9u
SGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNs
dWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTIwLDcg
KzEyMSw3IEBAIHZvaWQgSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSlNQcm94eSogcHJveHkpCiAKIEpTVmFsdWUgSlNTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q0VSZWFjdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcAppbmRleCAxNzE5NjBjMTM3NmVjMDhhN2I1YWVlZDgx
OWJmOWI1NGFmYjVjZTU3Li5iODc4YjQ2ZTE5MTE0ZTg4YzZiYjMzMWI5NjczNDA0YWVmNDdmMTQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q0VSZWFjdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNET01HbG9i
YWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRl
ICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTVGVzdENFUmVhY3Rpb25zU3RyaW5n
aWZpZXIuaCIKQEAgLTE3NSw3ICsxNzYsNyBAQCBKU09iamVjdCogSlNUZXN0Q0VSZWFjdGlvbnM6
OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpT
VmFsdWUgSlNUZXN0Q0VSZWFjdGlvbnM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8SlNUZXN0Q0VSZWFjdGlvbnNET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0Q0VSZWFjdGlvbnNET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6
VGVzdENFUmVhY3Rpb25zPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdENFUmVhY3Rpb25zOjpkZXN0cm95KEpTQzo6
SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIu
Y3BwCmluZGV4IGExZGY1NzgzMzVlMDVjNGQ3ZjYzZDBhMjZmNTU0NzZjOTlhOWJhOTkuLmNhMzgy
OTEwZjc1MjJiZTVmNjg2MTBhMThmYzE5Y2RiMWZiNTI0N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRp
b24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE1NSw3ICsxNTYsNyBAQCBKU09iamVjdCogSlNUZXN0Q0VS
ZWFjdGlvbnNTdHJpbmdpZmllcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsbwogCiBKU1ZhbHVlIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI6OmdldENvbnN0cnVj
dG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBy
ZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckRPTUNv
bnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RDRVJlYWN0aW9uc1N0
cmluZ2lmaWVyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI6OmRlc3Ry
b3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAKaW5kZXggOGU1Nzlk
MzBlY2ZkYmVkMzdhNzRkYTI2ZjY5NmUwMTM4YzJiNzNhNC4uY2E5Yzk2ZGJmMjI4M2VhNDUzMWVl
ZTBmOTg4YmZmNjUyMDYxY2FhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcApAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydFVuaW9uLmgiCiAjaW5jbHVkZSAiSlNET01F
eGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRp
b24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5o
IgpAQCAtMTk3LDcgKzE5OCw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RDYWxsVHJhY2VyOjpwcm90b3R5
cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpT
VGVzdENhbGxUcmFjZXI6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
Q2FsbFRyYWNlckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3RDYWxsVHJhY2VyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RDYWxsVHJh
Y2VyPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkp
OwogfQogCiB2b2lkIEpTVGVzdENhbGxUcmFjZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrSW50ZXJmYWNlLmNwcAppbmRleCBmMGQ4ZTcxZDQ0MmQy
ZGNmMzEzZWRlZTcxNTZiNjAyZmY2MmZhMzU2Li5mZjVkYjE3NzFhZDk1Y2M5N2M2MzVhNjlhNmZk
MWY2NjJiNTFkMzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHAKQEAg
LTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVk
ZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0
LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNE
T01TdHJpbmdMaXN0LmgiCiAjaW5jbHVkZSAiSlNUZXN0Tm9kZS5oIgogI2luY2x1ZGUgIkpTVGVz
dE9iai5oIgpAQCAtMTcwLDcgKzE3MSw3IEBAIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RDYWxsYmFj
a0ludGVyZmFjZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYKIAogSlNW
YWx1ZSBKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25z
dCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RDYWxsYmFja0ludGVyZmFjZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RDYWxsYmFja0ludGVyZmFjZURPTUNvbnN0cnVjdG9yLCBE
T01Db25zdHJ1Y3RvcklEOjpUZXN0Q2FsbGJhY2tJbnRlcmZhY2U+KHZtLCAqanNDYXN0PGNvbnN0
IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIENhbGxiYWNrUmVzdWx0
PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFj
a0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoTm9QYXJhbSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcAppbmRleCBiNGIyNWI2NTk4OGQ1
NzY0NjY2NzAyZmVmZmRkOWFmZDkyMTgyYzVmLi45M2JkNjAxOTZkOGVkZjdjYzcyNzY3NzA1MTJh
MDIxNGJiZGM5ZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1
aWx0aW5Db25zdHJ1Y3Rvci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJKU0RPTUJp
bmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUg
IkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElu
bGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3JCdWlsdGlucy5oIgpAQCAtMTQ2LDcgKzE0Nyw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RD
bGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplCiAKIEpTVmFsdWUgSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3I6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGlu
Q29uc3RydWN0b3JET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JET01Db25zdHJ1Y3RvciwgRE9NQ29uc3Ry
dWN0b3JJRDo6VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVz
dENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxs
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCmluZGV4IDlhOTAzZTVi
MzNiYzY1MTRjMTljZDRlMDJiNWNiOWFkNTFiMWQ3MjguLjBmNzNkZDY0NjhkY2EzZjM1ZjQxM2Rk
NTBhMGFlMTk4YTM3M2U0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRl
cy5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29u
c3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIKICNpbmNsdWRl
ICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJ
bmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdy
YXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTQ3
NCw3ICs0NzUsNyBAQCBKU09iamVjdCogSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlczo6cHJvdG90
eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbAogCiBKU1ZhbHVlIEpTVGVzdENv
bmRpdGlvbmFsSW5jbHVkZXM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0Q29uZGl0aW9uYWxJbmNsdWRlc0RPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0
cnVjdG9ySUQ6OlRlc3RDb25kaXRpb25hbEluY2x1ZGVzPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdENvbmRpdGlv
bmFsSW5jbHVkZXM6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAKaW5kZXggZWI5YjY5MGFiZGNiODQ1NWQxYjQz
NjFhMzdhODM3ZGUzNGUyOTgxNS4uZTJmNDBjMTYxNDVkNDdmODY3ZTUyZWE5ZjhkY2RhMmY2MTcx
ZjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlLmNwcApA
QCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydFByb21pc2UuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3QuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgogI2luY2x1ZGUgIlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaCIKQEAgLTI1OSw3ICsyNjAsNyBAQCBKU09iamVjdCogSlNUZXN0
Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsbwogCiBKU1ZhbHVlIEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU6OmdldENvbnN0
cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAg
ICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZURP
TUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RDb25kaXRpb25h
bGx5UmVhZFdyaXRlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RDb25kaXRp
b25hbGx5UmVhZFdyaXRlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU6OmRl
c3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RE9NSklULmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCmluZGV4IGYxMDA0NDUzMzE2
YTNhZmI2Nzc3MmY0OWVmMDYwNzVkOTMwM2NhNjAuLmE5YmFhZGQ5MmFkNzE0M2YzNGQ0MGQ0ZWFh
NjUwZWJiMjQxNjc5ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5j
bHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFu
ZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9N
R2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5j
bHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU0VsZW1lbnQuaCIKQEAgLTYw
MCw3ICs2MDEsNyBAQCBKU09iamVjdCogSlNUZXN0RE9NSklUOjpwcm90b3R5cGUoVk0mIHZtLCBK
U0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpTVGVzdERPTUpJVDo6
Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RET01KSVRET01Db25zdHJ1
Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RE9NSklURE9NQ29uc3RydWN0
b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RET01KSVQ+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RET01KSVRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVm
YXVsdFRvSlNPTi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAKaW5kZXggNDQwYTE5YWFjMzJkNzg4MTYwOGQ4N2VmNzgy
NDBjNGVjNmU2MDJmNC4uZmNlNzU3ZTY2NzhiZDI0MmY0NTI2MGJhZTA2Nzk0ZGFkMWQ2MmU1YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dERlZmF1bHRUb0pTT04uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1
ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRs
aW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1
ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCkBA
IC0yNDAsNyArMjQxLDcgQEAgSlNPYmplY3QqIEpTVGVzdERlZmF1bHRUb0pTT046OnByb3RvdHlw
ZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QKIAogSlNWYWx1ZSBKU1Rl
c3REZWZhdWx0VG9KU09OOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dERlZmF1bHRUb0pTT05ET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0RGVmYXVsdFRvSlNPTkRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0
RGVmYXVsdFRvSlNPTj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3REZWZhdWx0VG9KU09OOjpkZXN0cm95KEpTQzo6
SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkZp
bHRlcmVkQnlFeHBvc2VkLmNwcAppbmRleCAxZjM5NTk4MWEwYzRhMDVmYThjYWM3MGM1MjFhZjll
NGQ0NGZiNmEzLi4xYWFkMWExOWIxNjQwYjdhZWJiYzgyYzhiZWE2NzUwYTVmYzMxZmM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVm
YXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2Vk
LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIK
ICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRp
b25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNzMsNyArMTc0LDcgQEAg
SlNPYmplY3QqIEpTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZDo6cHJvdG90eXBl
KFZNJiB2bSwgSlNET01HbG9iYWxPYmoKIAogSlNWYWx1ZSBKU1Rlc3REZWZhdWx0VG9KU09ORmls
dGVyZWRCeUV4cG9zZWQ6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0
PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZERPTUNv
bnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlF
eHBvc2VkPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOwogfQogCiB2b2lkIEpTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZDo6ZGVz
dHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5j
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVm
YXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UuY3BwCmluZGV4IDk1NzA5ODRmYjZiOGNhMTZh
NTgwYmYzY2E0MGRkNzNkNGRmMjAyYWMuLmRmMThiZjY3ZjFkYjA5MWI1NTA1ZWU4ZjE3ZDNhNzYz
ODlmZTQwNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05J
bmRpcmVjdEluaGVyaXRhbmNlLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVu
dERhdGEuaCIKQEAgLTEzOCw3ICsxMzksNyBAQCBKU09iamVjdCogSlNUZXN0RGVmYXVsdFRvSlNP
TkluZGlyZWN0SW5oZXJpdGFuY2U6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsTwogCiBK
U1ZhbHVlIEpTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlOjpnZXRDb25zdHJ1
Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVy
aXRhbmNlRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERl
ZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVj
dG9ySUQ6OlRlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZT4odm0sICpqc0Nhc3Q8
Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogSlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKGpzVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlQ29u
c3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0
VG9KU09OSW5oZXJpdC5jcHAKaW5kZXggZTQxZjBiOTZjMTcwNTY2ZDhiYWI1ODIyZjgyODM5MTg5
MjVkYjUxNC4uOTZkYjQxMjhmZDQwOTY4MjVjODg5Zjg3N2YzYmZjMTQ3MzkwNmY4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1
bHRUb0pTT05Jbmhlcml0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuY3BwCkBAIC0zNSw2ICszNSw3IEBA
CiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0
aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUg
IkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1Rlc3REZWZhdWx0
VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZS5oIgpAQCAtMTY3LDcgKzE2OCw3IEBAIEpTT2JqZWN0
KiBKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdDo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhCiAKIEpTVmFsdWUgSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQ6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVy
aXRET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdERlZmF1
bHRUb0pTT05Jbmhlcml0Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRGaW5hbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbC5jcHAKaW5kZXggODc2NmRm
ZjJhZjZhNWE5MGNmMmMxMzg1OWExNjhhYmVjODg4NjVjNy4uODA3YTc4OGI0YmY0YTBlNGRjODhm
NmNhZjk1ZWYzNzgxNjNmYTJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9K
U09OSW5oZXJpdEZpbmFsLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCiAjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElu
bGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3Jh
cHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJp
dGFuY2UuaCIKQEAgLTE3MCw3ICsxNzEsNyBAQCBKU09iamVjdCogSlNUZXN0RGVmYXVsdFRvSlNP
TkluaGVyaXRGaW5hbDo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmCiAKIEpT
VmFsdWUgSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbDo6Z2V0Q29uc3RydWN0b3IoVk0m
IHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsRE9NQ29uc3Ry
dWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERlZmF1bHRUb0pTT05Jbmhl
cml0RmluYWxET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdERlZmF1bHRUb0pT
T05Jbmhlcml0RmluYWw+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3REZWZhdWx0
VG9KU09OSW5oZXJpdEZpbmFsQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERl
bGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRy
aWJ1dGUuY3BwCmluZGV4IGMwZjNjOTI4NDY0NTM0ODlmN2UwN2RlYTU0ODVhOGI3M2MwNGQwNTMu
LmFiMTYzM2Q2YjgxYzAzYjEzN2QxY2I5N2RlMzc1NmUxNmNhNDJhMTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hh
cmVkU3ludGhldGljQXR0cmlidXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZS5j
cHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3Ry
dWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJK
U0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAt
MTUyLDcgKzE1Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGlj
QXR0cmlidXRlOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhCiAKIEpTVmFsdWUgSlNUZXN0
RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZt
LCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRE
T01Db25zdHJ1Y3RvcjxKU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlRE9N
Q29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERlbGVnYXRlVG9T
aGFyZWRTeW50aGV0aWNBdHRyaWJ1dGVET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6
VGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGU+KHZtLCAqanNDYXN0PGNvbnN0
IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0RGVs
ZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2Vs
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3REb21haW5TZWN1cml0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RG9tYWluU2VjdXJpdHkuY3BwCmluZGV4IGUxZDk4NDA2MzUwMjE2YTVi
OTlmYzhhNzk1ZDU3NjEyZDAzYzA1MjIuLjdlZjk0OWMxMDJjMWNlYzE0NTEyOTI2M2EwOWU1NjYx
ZDllZjA0MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERvbWFpblNlY3VyaXR5LmNwcApAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIKICNpbmNsdWRlICJKU0RPTUNv
bnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2lu
Y2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0
aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU05vZGUu
aCIKQEAgLTE3NCw3ICsxNzUsNyBAQCBKU09iamVjdCogSlNUZXN0RG9tYWluU2VjdXJpdHk6OnBy
b3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplYwogCiBKU1ZhbHVl
IEpTVGVzdERvbWFpblNlY3VyaXR5OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9y
PEpTVGVzdERvbWFpblNlY3VyaXR5RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0
cnVjdG9yPEpTVGVzdERvbWFpblNlY3VyaXR5RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9y
SUQ6OlRlc3REb21haW5TZWN1cml0eT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3REb21haW5TZWN1cml0eTo6ZGVz
dHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNw
cAppbmRleCA5ODMxZmU5NjBlYmZhNDhmYjcxNjNhNzhiOTkwNzNjYzJmYTFlYjkxLi4yM2JmNzU3
ZWE0ZmE1NGI0ZDI2ZmM0YTE5MmVkNGM5OGQ2ZWM4YzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJs
ZWRCeVNldHRpbmcuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1
Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1Rlc3RTdWJPYmouaCIKQEAgLTI2
OCw3ICsyNjksNyBAQCBKU09iamVjdCogSlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6cHJvdG90eXBl
KFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iagogCiBKU1ZhbHVlIEpTVGVzdEVu
YWJsZWRCeVNldHRpbmc6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
RW5hYmxlZEJ5U2V0dGluZ0RPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rv
cjxKU1Rlc3RFbmFibGVkQnlTZXR0aW5nRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3RFbmFibGVkQnlTZXR0aW5nPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OmRl
c3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0
LmNwcAppbmRleCA5MThiOTRlZWVhYTVlZmQyMzFiODcyOGUxYTAwZmFlYTFkYzhiYzU3Li42MjRl
ZDUxNTY0N2Y3YzVlYzY3ZDQwMzJkMmRiNDc2NTJkN2U5MDBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
bmFibGVkRm9yQ29udGV4dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUJp
bmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgog
I2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2Jh
bE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1
ZGUgIkpTVGVzdFN1Yk9iai5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
QEAgLTE0NSw3ICsxNDYsNyBAQCBKU09iamVjdCogSlNUZXN0RW5hYmxlZEZvckNvbnRleHQ6OnBy
b3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYgogCiBKU1ZhbHVlIEpT
VGVzdEVuYWJsZWRGb3JDb250ZXh0OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9y
PEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0
IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNv
bnN0cnVjdG9yPEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0
cnVjdG9ySUQ6OlRlc3RFbmFibGVkRm9yQ29udGV4dD4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01H
bG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RFbmFibGVkRm9y
Q29udGV4dDo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENv
bnN0cnVjdG9yLmNwcAppbmRleCBlNjBkNjM4ZTNkZDcwMWY0MTI4OGQ4YjNkZmQwNDJkYmYyZDNl
Njc1Li4wZTcwMjM0M2QwYzk4ZjdjNmJiMzM2MzJmODMyMDdlZThhZjEyOWE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAi
SlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGll
bnREYXRhLmgiCkBAIC0yNTUsNyArMjU2LDcgQEAgSlNPYmplY3QqIEpTVGVzdEV2ZW50Q29uc3Ry
dWN0b3I6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmoKIAog
SlNWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNv
bnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNv
bnN0cnVjdG9yPEpTVGVzdEV2ZW50Q29uc3RydWN0b3JET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nh
c3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4g
Z2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RXZlbnRDb25zdHJ1Y3RvckRPTUNvbnN0cnVjdG9yLCBE
T01Db25zdHJ1Y3RvcklEOjpUZXN0RXZlbnRDb25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogSlNDX0RFRklORV9DVVNU
T01fR0VUVEVSKGpzVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3Bl
cnR5TmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCBkZjhlYTE4NjgwODIyMTZl
M2M3ODMzNDYyZTAwYTkyNWY1Njk2NjAxLi43YjBiYWUzYTQwNTBmYWMyMmY2ZmFhY2I0ZjBlYjEz
ODNiODk0OTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1iZXJzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRp
b25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAi
SlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgpAQCAt
MTUwLDcgKzE1MSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RFdmVudFRhcmdldDo6cHJvdG90eXBlKFZN
JiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIAogSlNWYWx1ZSBKU1Rlc3RF
dmVudFRhcmdldDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RFdmVu
dFRhcmdldERPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RF
dmVudFRhcmdldERPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0RXZlbnRUYXJn
ZXQ+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7
CiB9CiAKIGJvb2wgSlNUZXN0RXZlbnRUYXJnZXQ6OmdldE93blByb3BlcnR5U2xvdChKU09iamVj
dCogb2JqZWN0LCBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNw
cAppbmRleCA3YWYwODgzNTI1MWY5NGMwMjRmNTIwZTI5NDNhNWMwMDFjYjI3OTRiLi5iM2Q2MjUx
M2Y1MjE0NTVhNDU1MDc4NjExMmNhZGVlZDMwMmU2MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1
Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpT
RE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCkBAIC0x
NDQsNyArMTQ1LDcgQEAgSlNPYmplY3QqIEpTVGVzdEV4Y2VwdGlvbjo6cHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIAogSlNWYWx1ZSBKU1Rlc3RFeGNl
cHRpb246OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RXhjZXB0aW9u
RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEV4Y2VwdGlv
bkRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0RXhjZXB0aW9uPih2bSwgKmpz
Q2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lk
IEpTVGVzdEV4Y2VwdGlvbjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcAppbmRleCBkNWMyODQyZTk1M2NkMjViYjdmZWYx
NzQ1NmIzYWFmN2VlM2U5MDQ4Li41NTI4OTM2NzMwNTY3YTMwYzA5NmZlMTIzYjNkZmY1ZDQ1MDdi
MTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCkBAIC0yOCw2
ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIK
ICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRp
b25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE1NCw3ICsxNTUs
NyBAQCBKU09iamVjdCogSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZTo6cHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbAogCiBKU1ZhbHVlIEpTVGVzdEdlbmVyYXRlSXNS
ZWFjaGFibGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFi
bGU6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3Bw
CmluZGV4IGNiMzQ1MTRiMjRkNzg3ZDUwYjFiZGFkNzNlNmRkZjQ4MzlhZjEwMDQuLmVmNjk4OGY1
MDk2NDkwMTVhNThlMWQ2ZTI1ZmQxZDdkZDJjNGZkYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmpl
Y3QuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb25SZXR1cm5p
bmdQcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTcwNCw3ICs3
MDUsNyBAQCB2b2lkIEpTVGVzdEdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQog
CiBKU1ZhbHVlIEpTVGVzdEdsb2JhbE9iamVjdDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25z
dCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RHbG9iYWxPYmplY3RET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0R2xvYmFsT2JqZWN0RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVj
dG9ySUQ6OlRlc3RHbG9iYWxPYmplY3Q+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0R2xvYmFsT2JqZWN0OjpkZXN0
cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4IDJmYWQxYmU2NGMzMjU1MDVmYTI5MTYwMzQxMmMyNzEx
NDI3MzMzNTcuLjFiNTY2NDcwNTliMjI2MzhjOThmMDgwN2RlOGZkNjM2NTMxYjc5OGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKQEAgLTI3
LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5o
IgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2Vw
dGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQyLDcgKzE0
Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyOjpwcm90b3R5
cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYKIAogSlNWYWx1ZSBKU1Rlc3RJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllckRPTUNvbnN0cnVjdG9y
LCBET01Db25zdHJ1Y3RvcklEOjpUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllcj4odm0sICpq
c0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9p
ZCBKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBj
ZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcAppbmRleCBkN2U2OTNjYjI5YzEyMWQ2ZDdhZTZhOWRmNDNhMDdlNDYyNDU5NmNl
Li5kODU0N2RlNjFjODJmZjg2ZjA5ZDUzZGU4Mzg5MDhjNzcwNGQxNGFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxl
LmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhj
ZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCkBAIC0xNDIsNyAr
MTQzLDcgQEAgSlNPYmplY3QqIEpTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6
cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmoKIAogSlNWYWx1ZSBKU1Rlc3RJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8SlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3I+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbkRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0SW5kZXhlZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50
aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKaW5kZXggY2U1YTNjYTMyY2NhZmE0MjJj
YzdmNGQyODE0ZTNiNjQ4YTU5OTk3Mi4uMGMxMmE1ODUwMjQ3MWI5ODhjNjFjZWEwOTRkZDViNmI1
YmJjY2ZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRl
bnRpZmllci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1i
ZXJzLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9N
RXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMu
aCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNh
Y2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTUxLDcgKzE1
Miw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI6OnByb3Rv
dHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0CiAKIEpTVmFsdWUgSlNUZXN0SW5kZXhlZFNl
dHRlcldpdGhJZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpT
VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJET01Db25z
dHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmll
cj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
IH0KIAogdm9pZCBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGMyMDliMTJjNmY0NTVj
YTY3MWRiMmYyY2M5MmJkMDQ3ZDczZDI0Y2YuLmQ4ZGY4MzRkYmY3ZmQzMWRiYTc0M2ZjNGJkZjU0
MjMxMjQ1ZDYxYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiSlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0
U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRl
ICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTUl0ZXJhdG9yLmgi
CiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNo
ZS5oIgpAQCAtNTAwLDcgKzUwMSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RJbnRlcmZhY2U6OnByb3Rv
dHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUg
SlNUZXN0SW50ZXJmYWNlOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dEludGVyZmFjZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3RJbnRlcmZhY2VET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEludGVyZmFj
ZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
IH0KIAogdm9pZCBKU1Rlc3RJbnRlcmZhY2U6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcAppbmRl
eCBkYmE1ZmIzZGNhN2FkYzFjYzY4ODIzMWJhY2IxYmUyNDMyMWZjMjJkLi4xM2VjYWVkNzVlMjQ1
YTgwYjk3ZTUyYWNmNTU2NTBkMjBkMDU1ZTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
Q2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQ0LDcgKzE0NSw3IEBAIEpTT2JqZWN0KiBKU1Rl
c3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplY3QmCiAKIEpTVmFsdWUgSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmU6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0SW50ZXJmYWNlTGVhZGluZ1Vu
ZGVyc2NvcmVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmVET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJ
RDo6VGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEludGVyZmFj
ZUxlYWRpbmdVbmRlcnNjb3JlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVy
YWJsZS5jcHAKaW5kZXggM2QwMDliOWQwYzkyNmQxOGQ4ZDg5NTBiNjRhYjQwNTgwYWY5NTdjMi4u
NzAwZWM5OTRiY2I1ZjU4NGZlYTBmN2VjYzEwMGVmYzMyODM3YjM0YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFi
bGUuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENv
bnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRJbnRlcmZhY2UuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01JdGVyYXRvci5oIgogI2luY2x1ZGUgIkpTRE9N
T3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTE1Nyw3ICsx
NTgsNyBAQCBKU09iamVjdCogSlNUZXN0SXRlcmFibGU6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgSlNUZXN0SXRlcmFibGU6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0SXRlcmFibGVET01Db25zdHJ1
Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0SXRlcmFibGVET01Db25zdHJ1
Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEl0ZXJhYmxlPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEl0ZXJh
YmxlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0
aW5Db25zdHJ1Y3Rvci5jcHAKaW5kZXggMDA5ZTNjMTkxMjhlZWIxYzU4NjdlMjhiODY2OGZjMmE4
YmJlZGEyYS4uZGFlOWIyMGI2MWQwNzQ4NjZiMTVlZTg2MWFjOGM5YzRlNWI5Nzg0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVp
bHRpbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCkBAIC0yNiw2ICsyNiw3IEBA
CiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01CdWlsdGluQ29uc3Ry
dWN0b3IuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAi
SlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlRlc3RKU0J1aWx0aW5D
b25zdHJ1Y3RvckJ1aWx0aW5zLmgiCkBAIC0xNTIsNyArMTUzLDcgQEAgSlNPYmplY3QqIEpTVGVz
dEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVj
dCYgZ2xvYmEKIAogSlNWYWx1ZSBKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3Ry
dWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckRPTUNv
bnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RKU0J1aWx0aW5Db25z
dHJ1Y3RvckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0SlNCdWlsdGluQ29u
c3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3I6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24u
Y3BwCmluZGV4IDRjNDA1ODI4MmQzNGNhOWE0ZTE3NDA0ZTk4N2VhNzk2Zjg1YjdiZmIuLmE1Njlm
N2RkOTUwYTE2MmZmZWNiOTMyZDA0ZWI0ZjAxNDJhNGY2OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
SlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlv
bi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgpAQCAtMTkzLDEyICsxOTQsMTIgQEAgSlNPYmplY3QqIEpTVGVzdExl
Z2FjeUZhY3RvcnlGdW5jdGlvbjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsb2IKIAogSlNWYWx1ZSBKU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb246OmdldENvbnN0cnVj
dG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBy
ZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uRE9NQ29u
c3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdExlZ2FjeUZhY3RvcnlG
dW5jdGlvbkRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TGVnYWN5RmFjdG9y
eUZ1bmN0aW9uPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOwogfQogCiBKU1ZhbHVlIEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbjo6Z2V0TGVn
YWN5RmFjdG9yeUZ1bmN0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0
aW9uTGVnYWN5RmFjdG9yeUZ1bmN0aW9uPih2bSwgKmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RMZWdh
Y3lGYWN0b3J5RnVuY3Rpb25MZWdhY3lGYWN0b3J5RnVuY3Rpb24sIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24+KHZtLCAqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9u
OjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU92
ZXJyaWRlQnVpbHRJbnMuY3BwCmluZGV4IGNkZTRlMDQ2YmNkMmZiMDg0ODIxMTY1YWEwNzQ1MTAw
ZmMwMDkwMzcuLjg0MzJmMTM1YjJmZTJlNGI2Y2IyMmFmZWVjYzllOTMzODQyMGNmYTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdh
Y3lPdmVycmlkZUJ1aWx0SW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKQEAgLTMwLDYgKzMw
LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01F
eGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRp
b24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5o
IgpAQCAtMTUxLDcgKzE1Miw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0
SW5zOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvCiAKIEpTVmFsdWUg
SlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25z
dCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zRE9NQ29uc3RydWN0b3I+KHZtLCAq
anNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0
dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNET01Db25z
dHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAK
IHZvaWQgSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6ZGVzdHJveShKU0M6OkpTQ2VsbCog
Y2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RNYXBMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RNYXBMaWtlLmNwcAppbmRleCA2YzM5NjhjYTlhMjllZGRjMTQ2NTQwNzMyNjRi
YzVlZDE4MGQxMTE0Li5iNDg3NmYzODhkZjNmMzEyYjc2ZjgwMDA1N2MyMmQ5OWUwODA1NmUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TWFwTGlrZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE1hcExpa2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSlNET01Db252
ZXJ0QW55LmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpT
RE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlv
bi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCkBAIC0xNzAsNyArMTcxLDcgQEAg
SlNPYmplY3QqIEpTVGVzdE1hcExpa2U6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgSlNUZXN0TWFwTGlrZTo6Z2V0Q29uc3RydWN0
b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJl
dHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RNYXBMaWtlRE9NQ29uc3RydWN0b3I+KHZtLCAq
anNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0
dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE1hcExpa2VET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6VGVzdE1hcExpa2U+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TWFwTGlrZTo6ZGVzdHJveShK
U0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0
aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAppbmRleCBlYmQwYzM0ZGM4NDgyNDIzNGM3YjNlNGZm
Mzg2MDQ4MmY2MDE2NWJjLi5mMmY2MGU2Mjk2ZTc5ODIwNTJhNjlkZDgwNjRiYmFhMzY1YmQ5MDFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnMuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0TnVt
YmVycy5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RP
TUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiSlNET01NYXBMaWtlLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24u
aCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgpAQCAtMTc0LDcgKzE3NSw3IEBAIEpT
T2JqZWN0KiBKU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zOjpwcm90b3R5cGUo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iCiAKIEpTVmFsdWUgSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlk
ZGVuT3BlcmF0aW9uczo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RN
YXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0
PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNET01D
b25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnM+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uczo6
ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50
aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKaW5kZXggYmJmMmYzMzEwMGQw
NzZlNjAyMTJhZWI2ZGRlNzg0YjEwMzdjZWM2MS4uMjUxY2UxMTdjNjhkMGRlYmJiNzliNmI2NmFi
OTk5MGUzMjg3YjdhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5k
SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
Q2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQzLDcgKzE0NCw3IEBAIEpTT2JqZWN0KiBKU1Rl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpT
RE9NR2xvYmFsCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlm
aWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlck5vSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1
Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRp
Zmllcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI6OmRl
c3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAppbmRleCA3ZTUy
ZjU3ZWRmYzExMzFiMjgyMjBiOGZkZDU5OGFkYWY5YWZmMzgyLi5kM2IxMDY4N2FjMjdjZjJiNjg4
YmIyNGQ1Yjg1ZTg4NzI3ODkxZmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKQEAgLTI4LDYg
KzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgog
I2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlv
bkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQzLDcgKzE0NCw3
IEBAIEpTT2JqZWN0KiBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
bjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3Qg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25ET01Db25z
dHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb25ET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uPih2bSwgKmpzQ2FzdDxj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVz
dE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uOjpkZXN0cm95KEpTQzo6SlND
ZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKaW5kZXggZGRlYTQwYTQ4MDZkYzI5NjcwMDRkZTdk
YzVkYmY1OGEwODFmMzk4Ny4uYWU2YjEwNGU1YjUzNzMyYmNmYjRlZjRjMDIzZDA1N2NkNmE3NzZi
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSlNET01D
b252ZXJ0TnVtYmVycy5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RP
TVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAg
LTE1NCw3ICsxNTUsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0
aElkZW50aWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYgogCiBKU1ZhbHVlIEpTVGVz
dE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYg
dm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVy
RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkQW5k
SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9y
SUQ6OlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4odm0sICpqc0Nhc3Q8
Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6ZGVzdHJveShKU0M6OkpTQ2Vs
bCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5j
cHAKaW5kZXggYjU5MGEyZTQ0YTZmZjMxZjc5MzM1OGQ1ZDFkNzhlNjc1ZTE2OTk3NS4uMTM5MWM4
ODdkZmViN2RjYWI0YjNiZWJmMzUwNzMzMzg1YWJmMTIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRp
Zmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNs
dWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9N
Q29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisj
aW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFw
cGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVk
ZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQyLDcgKzE0Myw3IEBAIEpTT2JqZWN0KiBK
U1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xv
YmFsT2JqZWN0JiBnCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyOjpn
ZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkRGVsZXRlck5vSWRl
bnRpZmllckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RO
YW1lZERlbGV0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6
VGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZERlbGV0ZXJO
b0lkZW50aWZpZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhy
b3dpbmdFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcAppbmRleCA1ZDliNTdm
ZmJmYjEwOGE2YjhkMmVmNTYyYWE3YjE1YjhjZDVmYzcyLi4wODEzMTAxZjRlMzRlMWQzZWVlOTVj
NTE5OWVhN2M3ODE4NGRkNzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERl
bGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJK
U0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVy
dFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVk
ZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2Fj
aGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQyLDcgKzE0Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RO
YW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb246Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWREZWxldGVyVGhyb3dp
bmdFeGNlcHRpb25ET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb25ET01Db25zdHJ1Y3RvciwgRE9NQ29uc3Ry
dWN0b3JJRDo6VGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uPih2bSwgKmpzQ2FzdDxj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVz
dE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxs
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHAK
aW5kZXggM2EwNjQwZWNhZmU5YWEwNDFlMDczMTZlOGMwYjY0MTU5M2ZkOWJiOC4uMWViZmQwMzUy
MGZhMTk5Y2IyNDQ1YmNhMmNhNzdhNTU1OGY5ZjFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlm
aWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSAiSlNET01Db252ZXJ0QmFzZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3Mu
aCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNs
dWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKQEAgLTE1MCw3ICsxNTEsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWREZWxldGVyV2l0
aElkZW50aWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JgogCiBKU1Zh
bHVlIEpTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYg
dm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyRE9NQ29uc3Ry
dWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkRGVsZXRlcldpdGhJ
ZGVudGlmaWVyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZERlbGV0
ZXJXaXRoSWRlbnRpZmllcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmll
cjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdl
dHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCmluZGV4IGUyM2NmN2VlZjZhYTUwN2Y3
YWE1ZjIxYmNjODcxYTQxZWE2ZTg1MzguLmQwYmEwNDcyNzVkMzRjMjM1NmU5YzhhNDkwNTA2MDAy
ODAyNjE1NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJ
bmRleGVkR2V0dGVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3Ry
dWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGll
bnREYXRhLmgiCkBAIC0xNDMsNyArMTQ0LDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkRGVsZXRl
cldpdGhJbmRleGVkR2V0dGVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamUKIAog
SlNWYWx1ZSBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlcjo6Z2V0Q29uc3RydWN0
b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJl
dHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRl
ckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZERl
bGV0ZXJXaXRoSW5kZXhlZEdldHRlckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpU
ZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWREZWxl
dGVyV2l0aEluZGV4ZWRHZXR0ZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRH
ZXR0ZXJDYWxsV2l0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAKaW5kZXggYjg0NzE0OTY0N2U2ODA0MTU5
Y2Y2MDFjYzI5NWJmZTliMGJlNGUzNi4uZWEwZTUxM2U4Yzk3MTliMjJmNjBlZTczZWU3MDFhNGFk
N2E0MTc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoLmNwcApAQCAt
MjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxl
LmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhj
ZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCkBAIC0xNDIsNyAr
MTQzLDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGg6OnByb3RvdHlwZShW
TSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWwKIAogSlNWYWx1ZSBKU1Rlc3ROYW1lZEdl
dHRlckNhbGxXaXRoOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5h
bWVkR2V0dGVyQ2FsbFdpdGhET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01H
bG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8SlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aERPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3Rv
cklEOjpUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aD4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZEdldHRlckNh
bGxXaXRoOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlm
aWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZEdldHRlck5vSWRlbnRpZmllci5jcHAKaW5kZXggNGQwOTM5ODcwNmU0OTU4OTVkZTQwZDk4
MjE3ZDAwYjJlNzY3NjZmYS4uYzljZjRlYzhjYjdmMTdjZThhNDQ0YzVhYWY4MGJhYThjNzNkY2Ix
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCkBA
IC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFi
bGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01F
eGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Miw3
ICsxNDMsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXI6OnByb3Rv
dHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbAogCiBKU1ZhbHVlIEpTVGVzdE5hbWVk
R2V0dGVyTm9JZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpT
VGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNv
bnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERP
TUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3Is
IERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllcj4odm0sICpqc0Nh
c3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBK
U1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllcjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcAppbmRl
eCA4ZGIxOTliMzZiMGYyNWUzMWQ5NjE4MjRkNzdlMDcwNzZkNjA2ZDU4Li41Y2Q1MjljNDA4OGIz
YWQxOWQ5NWYwMDI1NzFmNmNmNDE0OTAwNzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkR2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAi
SlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZl
cnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1
ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9u
LmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgiCkBAIC0xNDgsNyArMTQ5LDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVk
R2V0dGVyV2l0aElkZW50aWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0
JgogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXI6OmdldENvbnN0cnVj
dG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBy
ZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllckRP
TUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZEdldHRl
cldpdGhJZGVudGlmaWVyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1l
ZEdldHRlcldpdGhJZGVudGlmaWVyPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50
aWZpZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZp
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAppbmRleCA3MWI3MjIzOGE3Nzk3YjA5ODUyNjg0NWM5
NmZlNmE1YzRjZDM3YzU3Li41M2YxNzQ5ZjIxYjg1OGJmM2Y5ZGYxY2EzNjg0YjQ1Yjk2YjFlOTdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJs
ZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4
Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQyLDcg
KzE0Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcjo6cHJvdG90
eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWRT
ZXR0ZXJOb0lkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3Rvciwg
RE9NQ29uc3RydWN0b3JJRDo6VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpT
VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3Bw
CmluZGV4IDQ3MDM5NDM4YTcyMzhhNmFlMGExNTU0M2FhODgyN2Q3YjMxOWQ1MmIuLjMxMTBiMWZm
MGYzZTRhNjMwOGVlYjA0OTRjNGM2NjBhYzJlYTdmNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUg
IkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5n
LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNE
T01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAj
aW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQyLDcgKzE0Myw3IEBAIEpTT2Jq
ZWN0KiBKU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uOjpwcm90b3R5cGUoVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0
cnVjdG9yPEpTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25ET01Db25zdHJ1Y3Rvciwg
RE9NQ29uc3RydWN0b3JJRDo6VGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24+KHZtLCAq
anNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZv
aWQgSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6ZGVzdHJveShKU0M6OkpTQ2Vs
bCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVy
LmNwcAppbmRleCA1ZWFkZGQwZTg4NmY2ZmNlYTIzNGVkNWVkNWEyOGMxOGE5MjA2NTE4Li4zMjNi
ZmVjOTM2YzAxM2IzOTE1NjQ1NGFlNWIzNjEwNzZkMzQzZjFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRl
bnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiSlNET01Db252ZXJ0QmFzZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmlu
Z3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNE
T01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNp
bmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKQEAgLTE1MCw3ICsxNTEsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSWRlbnRpZmllcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmCiAKIEpT
VmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0m
IHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyRE9NQ29uc3Ry
dWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkU2V0dGVyV2l0aElk
ZW50aWZpZXJET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE5hbWVkU2V0dGVy
V2l0aElkZW50aWZpZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6
ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAppbmRleCA4MmZjZWJiYzEyZTczMzZjNTMxY2Q2
ZmY0OWQ4Nzk2MWEyNjkzOWY0Li5mMDRjODQyZTQwYmNmODNkYjQ1NmZmMmU4ZjA1OWVjNTM2ZDUx
ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXIuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0TnVtYmVy
cy5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4
Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNo
ZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE1NCw3ICsxNTUs
NyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlcjo6cHJvdG90
eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplYwogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkU2V0dGVy
V2l0aEluZGV4ZWRHZXR0ZXI6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyRE9NQ29u
c3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0
dGVyPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkp
OwogfQogCiB2b2lkIEpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXI6OmRlc3Ryb3ko
SlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHAKaW5kZXggMjQ4NzRmNWM2NzI4
NjU4YWRhMDFkYTlhYWZkZGQ4OWY2YmJiZjY5Ny4uZGEwOTcwZWNiMGZlNGVmMmM0ZjUzNWYzNzU2
YWZmMmI0N2IwOGYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyLmNwcApAQCAtMzEsNiArMzEsNyBAQAog
I2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRT
dHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUg
IkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCkBAIC0xNTQsNyArMTU1LDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkU2V0
dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2wK
IAogSlNWYWx1ZSBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyOjpn
ZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkU2V0dGVyV2l0aElu
ZGV4ZWRHZXR0ZXJBbmRTZXR0ZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlckRPTUNvbnN0
cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRl
ckFuZFNldHRlcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxP
YmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5k
U2V0dGVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2Fj
eU92ZXJyaWRlQnVpbHRJbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCmlu
ZGV4IGU2MTUyMzAzZWI0NWE0NGU0NjQ0Mjk3NzUxYzZhMzI0NmE5MmFjMzMuLjEyZmM5OWQ1ZDIx
YWI2ZWY4NDg2YjViZjU2MmY3YjRmZGM2OGViNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVy
cmlkZUJ1aWx0SW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJs
ZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4
Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQyLDcg
KzE0Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBj
b25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01D
b25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zRE9N
Q29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJ
RDo6VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+KHZtLCAqanNDYXN0
PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6ZGVzdHJveShKU0M6OkpT
Q2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcy5jcHAKaW5kZXggYzIyYTYzMTgz
Mzg1OWVhZmM4MjZhYzFiZTQ5YTQyMzg2ZWVmZDFlMi4uM2MzZDY4ZDA4NTBlNTczNTdhZmQ5Nzgy
M2UwNWQyMDJhM2RiMzU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVy
dGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcy5jcHAKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRCYXNlLmgiCiAjaW5jbHVkZSAiSlNE
T01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIK
KyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9w
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTY4LDcgKzE2OSw3IEBAIEpTT2JqZWN0KiBKU1Rl
c3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXM6OnByb3RvdHlwZShW
TSYgdm0sIEpTCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFi
bGVQcm9wZXJ0aWVzOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5h
bWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0RPTUNvbnN0cnVjdG9yPih2
bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZv
cmdlYWJsZVByb3BlcnRpZXNET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE5h
bWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcz4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RO
YW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXM6OmRlc3Ryb3koSlNDOjpK
U0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVz
QW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9w
ZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKaW5kZXggY2NjNWMwMzMzNzQyOWFk
NzY0NWIyNGNlN2Q1OWNiNGM4YzhiZTlhNy4uYTdmNTQxMjBiNDc2MGM4MDhiOTEzYjE0MWMwNzcw
MjgwODk1MmVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0Fu
ZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcApAQCAtMzEsNiArMzEsNyBAQAog
I2luY2x1ZGUgIkpTRE9NQ29udmVydEJhc2UuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJp
bmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpT
RE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgiCkBAIC0xNjgsNyArMTY5LDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHQKIAog
SlNWYWx1ZSBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNB
bmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVj
dG9yPEpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExl
Z2FjeU92ZXJyaWRlQnVpbHRJbnNET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5k
TGVnYWN5T3ZlcnJpZGVCdWlsdEluc0RPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpU
ZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3Zl
cnJpZGVCdWlsdElucz4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdl
YWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zOjpkZXN0cm95KEpTQzo6SlND
ZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVzcGFjZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZXNwYWNlT2JqZWN0LmNwcAppbmRleCBjYzEzNDNi
ZjhjNWYwNDA5MGU1MzZhNmQ4MDUyNWIxNzYxMDA1NmE0Li5kMDIzMTFmZjRhYjMzNzdiZmMyNzRl
YTU3NWMwY2FjMDZkZGRiZGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZXNwYWNlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZXNwYWNlT2JqZWN0LmNwcApA
QCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIKICNpbmNs
dWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5k
bGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNs
dWRlICJKU1Rlc3RPYmouaCIKQEAgLTE0NSw3ICsxNDYsNyBAQCB2b2lkIEpTVGVzdE5hbWVzcGFj
ZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBKU1ZhbHVlIEpTVGVzdE5hbWVzcGFj
ZU9iamVjdDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lc3Bh
Y2VPYmplY3RET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
TmFtZXNwYWNlT2JqZWN0RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1l
c3BhY2VPYmplY3Q+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZXNwYWNlT2JqZWN0OjpkZXN0cm95KEpTQzo6
SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCmluZGV4IGY1NDI2OGM5ZTEwZmYzODY1YTFiMmE0YTQ3
Y2RhOGVmNDk1NjA0ODUuLmJkYjY3OTU1Y2Q5ZjRiOTgwODA4YjIxNmQ2Y2NjZjlhMmRkZDMyYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Tm9kZS5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRT
dHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUg
IkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiSlNET01JdGVyYXRvci5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9u
LmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb25SZXR1cm5pbmdQcm9taXNlLmgiCkBAIC0yNTUs
NyArMjU2LDcgQEAgSlNPYmplY3QqIEpTVGVzdE5vZGU6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgSlNUZXN0Tm9kZTo6Z2V0Q29u
c3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewot
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROb2RlRE9NQ29uc3RydWN0b3I+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5vZGVET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6VGVzdE5vZGU+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RO
b2RlQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCAyYWJm
NTE4YjIzYjg2ODFmZDEyNDdmMWQyMWYyYTQ0YzcwODg1ZmVlLi40Y2MxNjFiNGY5ZGU1Mzc2N2Rh
OWExOGE1MTNkNDZlMzJkMWFlMWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtNTUsNiArNTUsNyBAQAogI2lu
Y2x1ZGUgIkpTRE9NQ29udmVydFhQYXRoTlNSZXNvbHZlci5oIgogI2luY2x1ZGUgIkpTRE9NRXhj
ZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1
ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NSXRlcmF0b3Iu
aCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9u
UmV0dXJuaW5nUHJvbWlzZS5oIgpAQCAtMjUxNyw3ICsyNTE4LDcgQEAgSlNPYmplY3QqIEpTVGVz
dE9iajo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkK
IAogSlNWYWx1ZSBKU1Rlc3RPYmo6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0T2JqRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dE9iakRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0T2JqPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpT
VGVzdE9iajo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25h
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3Bl
cmF0aW9uQ29uZGl0aW9uYWwuY3BwCmluZGV4IDk3NTc4MWEwNmU3NTc0ZTAyYWRkMjZjODNlMzIz
NjIyMTY5NjVjMTkuLmE5NThkMjQ5ZDYwN2YwNTE0MmQ2NWM2NTk2NTgxYmVkZTU2MTZkOGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
cGVyYXRpb25Db25kaXRpb25hbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmNwcApAQCAtMjksNiArMjks
NyBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0
b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5o
IgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9N
T3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNjgsNyArMTY5LDcgQEAgSlNPYmplY3QqIEpT
VGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmEKIAogSlNWYWx1ZSBKU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbDo6Z2V0Q29u
c3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewot
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbERP
TUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RPcGVyYXRpb25D
b25kaXRpb25hbERPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0T3BlcmF0aW9u
Q29uZGl0aW9uYWw+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWw6OmRlc3Ryb3ko
SlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9ycy5jcHAKaW5kZXggNWE2ZGNjNTk2MWNkOTBiZGUwNWFkMWI4YzM3ZjJlMTllZDgwMDEzYS4u
OTgwZWZlM2I4MTM4ZjhkZWY1N2UxYzZkODNkZDZiODhlZGIzM2MyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2lu
Y2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRWYXJp
YWRpYy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJK
U0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5o
IgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3Jl
SlNDbGllbnREYXRhLmgiCkBAIC0yNjUsNyArMjY2LDcgQEAgSlNPYmplY3QqIEpTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnM6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG8KIAogSlNWYWx1ZSBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpnZXRDb25zdHJ1Y3Rv
cihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0
dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNET01Db25z
dHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9yc0RPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycz4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxP
YmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpkZXN0cm95
KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCmluZGV4IDRhYTVjOTExN2Y2ZDk3ZDdi
OGFiNTcwYzlkZGRhOWRlNDY3Mjg0OTIuLmY2NzdlODEyYWU4ZGFlNjRmOTJiMDE2ZGRkOGQ1YWU4
ZGM1Yjk0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJK
U0RPTUNvbnZlcnRTZXF1ZW5jZXMuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVu
dERhdGEuaCIKQEAgLTIwOCw3ICsyMDksNyBAQCBKU09iamVjdCogSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yc1dpdGhTZXF1ZW5jZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYQogCiBK
U1ZhbHVlIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmdldENvbnN0
cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAg
ICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dp
dGhTZXF1ZW5jZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlRE9NQ29uc3RydWN0b3IsIERPTUNv
bnN0cnVjdG9ySUQ6OlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPih2bSwg
KmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2
b2lkIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQbHVnaW5JbnRlcmZhY2UuY3BwCmluZGV4IGI5
OGJmNmUzOTU1NDNjN2ZiZGVkZjBjZDdkMjYwNzJmM2ZiZTExOTkuLmFkNWUxZDdhM2I4MGIwZDFm
OTdlNzViZDI4ZWM3NWIxMzJlNGJhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQbHVnaW5JbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQbHVnaW5JbnRlcmZhY2Uu
Y3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVk
ZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUV4
Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1BsdWdpbkVsZW1l
bnRGdW5jdGlvbnMuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0x
NDEsNyArMTQyLDcgQEAgSlNPYmplY3QqIEpTVGVzdFBsdWdpbkludGVyZmFjZTo6cHJvdG90eXBl
KFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamUKIAogSlNWYWx1ZSBKU1Rlc3RQ
bHVnaW5JbnRlcmZhY2U6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
UGx1Z2luSW50ZXJmYWNlRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9y
PEpTVGVzdFBsdWdpbkludGVyZmFjZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpU
ZXN0UGx1Z2luSW50ZXJmYWNlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFBsdWdpbkludGVyZmFjZTo6ZGVzdHJv
eShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25F
dmVudC5jcHAKaW5kZXggNzI5YmFiZDMxY2JmYTQ4MzJhNjVjYzc1NzYwN2M4MTdkMmVhODExMi4u
MjUwYzEyZTAzYjc2Y2M3MGQzMGI0Mjg2YmY0ZjNhZTBiNWJhOGMyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rp
b25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNs
dWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5k
bGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xp
ZW50RGF0YS5oIgpAQCAtMjUxLDcgKzI1Miw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RQcm9taXNlUmVq
ZWN0aW9uRXZlbnQ6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iCiAK
IEpTVmFsdWUgSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50OjpnZXRDb25zdHJ1Y3RvcihWTSYg
dm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudERPTUNvbnN0cnVjdG9y
Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwor
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRE
T01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdFByb21pc2VSZWplY3Rpb25FdmVu
dD4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
IH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzVGVzdFByb21pc2VSZWplY3Rpb25FdmVu
dENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5
TWFwTGlrZS5jcHAKaW5kZXggZDExN2E4OTcwZjU1M2FkMDM3NTgxZmI5ZWI0YTRmOGIwNDFlODEw
OS4uM2EyZGQyMWY4OTg1MmRjYzc2ZTc5NDk3NjA3MzY0MGZhOGQxNDEwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFw
TGlrZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFJlYWRPbmx5TWFwTGlrZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJKU0RP
TUNvbnZlcnRBbnkuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVk
ZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0
SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NTWFwTGlrZS5oIgogI2luY2x1ZGUgIkpTRE9NT3Bl
cmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTE2NCw3ICsxNjUs
NyBAQCBKU09iamVjdCogSlNUZXN0UmVhZE9ubHlNYXBMaWtlOjpwcm90b3R5cGUoVk0mIHZtLCBK
U0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZQogCiBKU1ZhbHVlIEpTVGVzdFJlYWRPbmx5TWFw
TGlrZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RSZWFkT25seU1h
cExpa2VET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3Qq
PihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0UmVh
ZE9ubHlNYXBMaWtlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RSZWFkT25s
eU1hcExpa2U+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0UmVhZE9ubHlNYXBMaWtlOjpkZXN0cm95KEpTQzo6SlND
ZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtlLmNwcAppbmRleCAxNzIxMjcw
ZmUxNzk2ZjU1ZDAwZDFhOTEzNzVkNTk2NzkyODc0MGY0Li44ZmFiZmQ4ZTg4ZjRmNDRiMTM0NDE3
Nzk5ZDJmMGUzY2NlZWYzOTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtlLmNwcApA
QCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydEFueS5oIgogI2luY2x1ZGUg
IkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5n
LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNE
T01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVNldExpa2UuaCIKICNpbmNsdWRlICJKU0RP
TVdyYXBwZXJDYWNoZS5oIgpAQCAtMTYyLDcgKzE2Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RSZWFk
T25seVNldExpa2U6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplCiAKIEpTVmFsdWUgSlNUZXN0UmVhZE9ubHlTZXRMaWtlOjpnZXRDb25zdHJ1Y3RvcihWTSYg
dm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdFJlYWRPbmx5U2V0TGlrZURPTUNvbnN0cnVjdG9yPih2bSwg
KmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJl
dHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RSZWFkT25seVNldExpa2VET01Db25zdHJ1Y3Rv
ciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdFJlYWRPbmx5U2V0TGlrZT4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RS
ZWFkT25seVNldExpa2U6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVwb3J0RXh0cmFN
ZW1vcnlDb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3BwCmluZGV4IDY3MzllNjVmZGEyMzc5NjU2ZWU3
OWQyYTZkMWIxZDkyZWFhMDkzYTguLjg1MGExMDNkYWM4MDU2NzgwNjBkZGFkYTRjYjNiNmMxMGEx
NzBmNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3BwCkBA
IC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNE
T01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlv
bkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQxLDcgKzE0Miw3
IEBAIEpTT2JqZWN0KiBKU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q6OnByb3RvdHlwZShWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iCiAKIEpTVmFsdWUgSlNUZXN0UmVwb3J0RXh0cmFN
ZW1vcnlDb3N0OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFJlcG9y
dEV4dHJhTWVtb3J5Q29zdERPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rv
cjxKU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0
b3JJRDo6VGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdD4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01H
bG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RSZXBvcnRFeHRy
YU1lbW9yeUNvc3Q6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IDUzNWQw
ZDY5YmE1MjYxMzliMThhOWNjNjc1ODBjOTZmZGRmYjY3ODIuLjg2ZGJmNDExNmMyODBkOWNiNTA5
YmU3ZTA0MGUxNmRmMmQ2NWE4Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVk
ZSAiSlNET01Db252ZXJ0U2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNET01F
eGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRp
b24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTTWVzc2Fn
ZVBvcnQuaCIKQEAgLTE3Myw3ICsxNzQsNyBAQCBKU09iamVjdCogSlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iagogCiBK
U1ZhbHVlIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6Z2V0Q29uc3RydWN0
b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJl
dHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U+KHZtLCAqanNDYXN0PGNvbnN0IEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
dExpa2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFNldExpa2UuY3BwCmluZGV4IGZlZDUyMTY3NDM4NDA1NGFmMGJhNDQyZDAzOWNkYzE1ZGIyZjNh
YWUuLjkzMmMwMzZhZTYwN2JhMDUxMTc4MWIwOTk5YTMxM2ZiY2Q2MDBjNjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0
TGlrZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRBbnkuaCIK
ICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRp
b25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01TZXRMaWtlLmgiCiAjaW5j
bHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTE2OCw3ICsxNjksNyBAQCBKU09iamVjdCog
SlNUZXN0U2V0TGlrZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCkKIAogSlNWYWx1ZSBKU1Rlc3RTZXRMaWtlOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0s
IGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERP
TUNvbnN0cnVjdG9yPEpTVGVzdFNldExpa2VET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0U2V0TGlrZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklE
OjpUZXN0U2V0TGlrZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RTZXRMaWtlOjpkZXN0cm95KEpTQzo6SlNDZWxs
KiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnMuY3BwCmluZGV4IGY5NmJkZWU2ZTI1Y2I3MjI2ZjdjMThlMGU2NTRhZmQzYmM2
Y2YyMTQuLmFiMmIzN2RhNGY0ZGQyOGIwOGFhYzFiMDA4MGFlMWI0NzM1NWUxMzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5j
cHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1iZXJzLmgiCiAj
aW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9u
SGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNs
dWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NU2V0TGlrZS5oIgogI2luY2x1
ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCkBAIC0xNzIsNyArMTczLDcgQEAgSlNPYmplY3QqIEpT
VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6OnByb3RvdHlwZShWTSYgdm0sIEpT
RE9NR2xvYmFsT2IKIAogSlNWYWx1ZSBKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRp
b25zOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFNldExpa2VXaXRo
T3ZlcnJpZGRlbk9wZXJhdGlvbnNET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0RPTUNvbnN0cnVjdG9y
LCBET01Db25zdHJ1Y3RvcklEOjpUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucz4o
dm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0K
IAogdm9pZCBKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zOjpkZXN0cm95KEpT
Qzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllci5jcHAKaW5kZXggYjA5NDYwMzQ2
MGU5ZGJmNWQ1NjI4NjIxYzhhZmY5YjQ2MDJkOTJjNC4uMTdhNjI4NmE3Yzk2ZDgwZDhlZmY2ZTE3
MjRjN2E1YjMxNDA3MGRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNp
bmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25I
YW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1
ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNDcsNyArMTQ4LDcgQEAgSlNP
YmplY3QqIEpTVGVzdFN0cmluZ2lmaWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVyOjpnZXRDb25z
dHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0g
ICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVyRE9NQ29uc3RydWN0
b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7
CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVyRE9NQ29uc3Ry
dWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RTdHJpbmdpZmllcj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RT
dHJpbmdpZmllcjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255
bW91c09wZXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwCmluZGV4IDY3Y2MzODFh
Y2ExYjRhYmU0NTU0YTk2ZjEzOWI1NGE3NmVmYjZiYmEuLjdjZDY3NWI4YTg4YThmYTA5ODljMTA4
MGRmMWU2MGQ3OWFiMTY5MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lm
aWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkpT
RE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0
U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRl
ICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5o
IgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgpAQCAtMTQ3LDcgKzE0OCw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RTdHJpbmdp
ZmllckFub255bW91c09wZXJhdGlvbjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
CiAKIEpTVmFsdWUgSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb246OmdldENvbnN0
cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAg
ICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVy
YXRpb25ET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3Qq
PihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0U3Ry
aW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb25ET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJ
RDo6VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFN0cmlu
Z2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0
cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCmluZGV4IDI5
YTBiOThhZDA3OTMxZmJiN2FkMDYwZTY1ZDI4NDQ2ODEwYTYyYmEuLmY4NWY1MzhhMmY0OGY5MmIy
ZjJhMTk1Mzk1YjcyZTE4YTI1ZjNhNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXJOYW1lZE9wZXJhdGlvbi5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RP
TUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0
cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAi
SlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKQEAgLTE0OSw3ICsxNTAsNyBAQCBKU09iamVjdCogSlNUZXN0U3RyaW5naWZp
ZXJOYW1lZE9wZXJhdGlvbjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmCiAK
IEpTVmFsdWUgSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbjo6Z2V0Q29uc3RydWN0b3Io
Vk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVy
biBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uRE9NQ29u
c3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVyTmFt
ZWRPcGVyYXRpb25ET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdFN0cmluZ2lm
aWVyTmFtZWRPcGVyYXRpb24+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlv
bjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxl
bWVudGVkQXMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcy5jcHAKaW5kZXggNTI5OTEyZmEw
ZDAyNWFiZjk2ZGI5OWQ0YmJjMzBiYTQ5NGZlY2ZlNy4uODQ5NTBiZTE1M2QxZGY2ZjRiNGNjNDE1
NDMxOTI3MTZiNDc3NjA1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmlu
Z2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcy5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNs
dWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9N
Q29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisj
aW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVy
YXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE0OSw3ICsxNTAsNyBAQCBKU09iamVjdCogSlNUZXN0
U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RP
TUdsb2JhbAogCiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRB
czo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdpZmllck9w
ZXJhdGlvbkltcGxlbWVudGVkQXNET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzRE9NQ29uc3RydWN0
b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVk
QXM+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7
CiB9CiAKIHZvaWQgSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzOjpkZXN0
cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmlu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3Ry
aW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nLmNwcAppbmRleCA4NGJkZDNhNzdhOTY1YTQx
NTIxODJhZjA2ZWQ2ZGI5N2ZhZDUzMGFhLi5lODM3YmFiNzQwODY0OGQ0NzJiNjIyYjUyOGNlYTU2
YTU5Y2UyMjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJP
cGVyYXRpb25OYW1lZFRvU3RyaW5nLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkpT
RE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0
U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRl
ICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5o
IgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgpAQCAtMTQ3LDcgKzE0OCw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RTdHJpbmdp
Zmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmc6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFs
CiAKIEpTVmFsdWUgSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nOjpnZXRD
b25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7
Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9u
TmFtZWRUb1N0cmluZ0RPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdET01Db25zdHJ1Y3RvciwgRE9N
Q29uc3RydWN0b3JJRDo6VGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZz4odm0s
ICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAog
dm9pZCBKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmc6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFk
T25seUF0dHJpYnV0ZS5jcHAKaW5kZXggODRmYWUwNTZiYjVlMTJlYWI3NDAwOTM0OTNiZDk2NjVj
N2I0NDMzNS4uMTMwY2EzNDI0NmY1YTJmYzY0NGE0ZDJkN2RhNGFkNTJlMDdjMjk3MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmlu
Z2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlLmNwcApA
QCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3Rh
YmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9N
RXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMu
aCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNh
Y2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTUwLDcgKzE1
MSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlOjpwcm90
b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjCiAKIEpTVmFsdWUgSlNUZXN0U3RyaW5naWZp
ZXJSZWFkT25seUF0dHJpYnV0ZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlRE9NQ29uc3RydWN0b3I+KHZtLCAqanND
YXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGVET01D
b25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRy
aWJ1dGU+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KSk7CiB9CiAKIHZvaWQgSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZTo6ZGVzdHJv
eShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZp
ZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCmluZGV4IDc4NDkwZGY5ZmM1ZWJiODAzZDY0YjNlNmQ0
MDMxMmMyOGY0ZWVlNjMuLjJmZGY5Y2NkM2Q2ODYzZjZkZTg5OGMyMjE5ZmEzZmIxNjQ0ZjY1NDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmli
dXRlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RD
b25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1
ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVj
dElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9N
V3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAt
MTUxLDcgKzE1Miw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJp
YnV0ZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplCiAKIEpTVmFsdWUgSlNUZXN0
U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29u
c3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVET01Db25zdHJ1Y3Rv
cj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
KyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVB
dHRyaWJ1dGVET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdFN0cmluZ2lmaWVy
UmVhZFdyaXRlQXR0cmlidXRlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0
cmlidXRlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKaW5k
ZXggYTgxMmIxMjNjOTllNTMyNjU5YzllY2U2NDZiMGU5ZTk5YmZkNzIzMC4uMGNjNjZlOTc1ZTlk
MjUwNjliNTM0ZDRmNzc0Yzk3Yzc3MTlhM2VhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCkBAIC00
MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0VW5pb24uaCIKICNpbmNsdWRlICJK
U0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIK
KyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9w
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNT
VkdQb2ludC5oIgpAQCAtMjYzLDcgKzI2NCw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RUeXBlZGVmczo6
cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIAogSlNW
YWx1ZSBKU1Rlc3RUeXBlZGVmczo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U1Rlc3RUeXBlZGVmc0RPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U1Rlc3RUeXBlZGVmc0RPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0VHlwZWRl
ZnM+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7
CiB9CiAKIHZvaWQgSlNUZXN0VHlwZWRlZnM6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggYTI1NzMwNTU0Njg4NTVlZmUwN2E1ODdi
NzlkZTQxOWU3MmI5ODA5OS4uNDhhNmJkNTRlMGM3YzlkZTAyNmE2MWQ1NWY5ODM1NjAxNDY2NWE3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
V29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2lu
Y2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25z
dHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1
ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNh
Y2hlLmgiCiAjaW5jbHVkZSAiSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuaCIKICNpbmNsdWRl
ICJKU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuaCIKQEAgLTE2MSw3ICsxNjIs
NyBAQCBKU09iamVjdCogSlNXb3JrZXJHbG9iYWxTY29wZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdAogCiBKU1ZhbHVlIEpTV29ya2VyR2xvYmFsU2Nv
cGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNXb3JrZXJHbG9iYWxTY29w
ZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1dvcmtlckdsb2Jh
bFNjb3BlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6Oldvcmtlckdsb2JhbFNjb3Bl
Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwog
fQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVj
dG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtsZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xvYmFsU2NvcGUuY3Bw
CmluZGV4IDM3MjA4NzAwN2Y2OGQ1OWM2YTIyNDBiOTA5NzlhOGNhMDU4MTRiNjcuLjVmMjM3ZjFk
NzZhODhkMzVjNjk0NmE4NzNjNjc0ZWViNGRjOTk0ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTV29ya2xldEdsb2Jh
bFNjb3BlLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgog
I2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAi
SlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5s
aW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNXb3Jr
bGV0R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBA
IC0xMzAsNyArMTMxLDcgQEAgSlNPYmplY3QqIEpTV29ya2xldEdsb2JhbFNjb3BlOjpwcm90b3R5
cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWMKIAogSlNWYWx1ZSBKU1dv
cmtsZXRHbG9iYWxTY29wZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1dv
cmtsZXRHbG9iYWxTY29wZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rv
cjxKU1dvcmtsZXRHbG9iYWxTY29wZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpX
b3JrbGV0R2xvYmFsU2NvcGU+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1dvcmtsZXRH
bG9iYWxTY29wZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431171</attachid>
            <date>2021-06-10 19:58:28 -0700</date>
            <delta_ts>2021-06-10 20:29:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226909-20210610195827.patch</filename>
            <type>text/plain</type>
            <size>140848</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWViOWMxM2Y3N2NjNDM4
NTI2MzA4ZDVkNGRjMzZkOWQ4MDAzMWFhMC4uNGJiYjhlZjIxYjQwZDZlMzM5ZGYxOTFmZTEyNGZi
NmFmYzdmZjBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5NyBAQAorMjAyMS0wNi0xMCAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFVzZSBET01Db25zdHJ1
Y3RvciBhcnJheSBpbnN0ZWFkIG9mIEhhc2hNYXAgc2luY2Ugd2luZG93IGNvbnN0cnVjdG9yIHBy
b3BlcnR5IGFjY2VzcyBpcyBjcml0aWNhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI2OTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgd2luZG93LlhYWCBjb25zdHJ1Y3RvciBhY2Nlc3MgaXMgcmVsYXRp
dmVseSBmcmVxdWVudGx5IGRvbmUuIEJ1dCBpdHMgaW1wbGVtZW50YXRpb24gaXMgdXNpbmcgSGFz
aE1hcCBsb29rdXAgZXZlbiB0aG91Z2gKKyAgICAgICAgd2UgYXJlIHN1Y2Nlc3NmdWxseSBjYWNo
aW5nIHRoZSBjdXN0b20gcHJvcGVydHkgYWNjZXNzZXMuIFRoaXMgcGF0Y2ggc3RvcCB1c2luZyBI
YXNoTWFwIGFuZCBpbnN0ZWFkIHVzaW5nIGFycmF5IGJ5CisgICAgICAgIGNvbGxlY3RpbmcgYWxs
IGNvbnN0cnVjdG9ycyBhdCBidWlsZCB0aW1lLiAjIG9mIGNvbnN0cnVjdG9ycyBhcmUgNzc0IGlu
IG1hY09TIGJ1aWxkLgorCisgICAgICAgIHByZXByb2Nlc3MtaWRscy5wbCBjb2xsZWN0cyBhbGwg
Y29uc3RydWN0b3JzIGFuZCBhc3NpZ24gRE9NQ29uc3RydWN0b3I6OlhYWCBlbnVtIHRvIGVhY2gg
Y29uc3RydWN0b3IuIEFuZCBpdCBhbHNvIGNvdW50cworICAgICAgICB0aGUgbnVtYmVyIG9mIGNv
bnN0cnVjdG9ycyAmIGNyZWF0ZSBET01Db25zdHJ1Y3RvcnMgY2xhc3Mgd2hpY2ggaG9sZHMgYXJy
YXkgb2YgY29uc3RydWN0b3JzLgorCisgICAgICAgIFdlIGFsc28gcmVtb3ZlIGxvY2tpbmcgZm9y
IEpTRE9NR2xvYmFsT2JqZWN0OjptX2NvbnN0cnVjdG9ycyBzaW5jZSBpdCBpcyBubyBsb25nZXIg
SGFzaFRhYmxlLCBzbyBHQyBjYW4gc2FmZWx5IGFjY2VzcyB0bworICAgICAgICB0aGVzZSBmaWVs
ZHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUds
b2JhbE9iamVjdDo6SlNET01HbG9iYWxPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01H
bG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW5JbXBsKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RE9NQ29uc3RydWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0SW5saW5l
cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmdldERPTUNvbnN0cnVjdG9yKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVy
YXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoR2VuZXJhdGVDYWxsYmFja0ltcGxlbWVudGF0
aW9uQ29udGVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMu
cGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRE9NV2luZG93LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Z2V0
Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9z
ZWRUb1dvcmtlckFuZFdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0V4cG9zZWRUb1dv
cmtlckFuZFdpbmRvdzo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmdldENvbnN0
cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q0VSZWFjdGlvbnM6OmdldENvbnN0
cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
Q2FsbFRyYWNlcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rv
cjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENv
bmRpdGlvbmFsSW5jbHVkZXM6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjpnZXRDb25zdHJ1Y3Rvcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpKU1Rlc3RET01KSVQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3REZWZhdWx0VG9KU09OOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJl
ZEJ5RXhwb3NlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3REZWZhdWx0VG9KU09ORmls
dGVyZWRCeUV4cG9zZWQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2U6
OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RGVm
YXVsdFRvSlNPTkluaGVyaXQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsOjpnZXRDb25zdHJ1
Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlbGVnYXRl
VG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6Z2V0Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3REb21haW5TZWN1cml0eTo6Z2V0Q29uc3RydWN0b3Ip
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OmdldENv
bnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5h
YmxlZEZvckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RW5hYmxlZEZvckNv
bnRleHQ6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RF
dmVudENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdEV2ZW50VGFyZ2V0OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RHbG9iYWxPYmplY3Q6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldp
dGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0
SW50ZXJmYWNlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlOjpnZXRDb25zdHJ1Y3Rvcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEl0ZXJhYmxlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpnZXRD
b25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExl
Z2FjeUZhY3RvcnlGdW5jdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RMZWdhY3lG
YWN0b3J5RnVuY3Rpb246OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dExlZ2FjeUZhY3RvcnlGdW5jdGlvbjo6Z2V0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElu
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zOjpn
ZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE1hcExpa2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TWFwTGlrZTo6Z2V0Q29uc3Ry
dWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE1h
cExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9J
ZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRp
Zmllcjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5n
RXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3Rvcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldp
dGhJbmRleGVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE5hbWVkRGVsZXRl
cldpdGhJbmRleGVkR2V0dGVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aDo6Z2V0Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRp
Zmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmll
cjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXI6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXI6Omdl
dENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZp
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmll
cjo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXI6OmdldENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckFuZFNldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROYW1lZFNl
dHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92
ZXJyaWRlQnVpbHRJbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdl
YWJsZVByb3BlcnRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVu
Zm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0
aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lc3BhY2VPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0TmFtZXNwYWNlT2JqZWN0OjpnZXRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNUZXN0Tm9kZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNU
ZXN0T2JqOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Z2V0Q29uc3Ry
dWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmdldENvbnN0cnVjdG9yKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFBsdWdpbkludGVyZmFjZTo6Z2V0Q29uc3RydWN0
b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVq
ZWN0aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50OjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RS
ZWFkT25seU1hcExpa2U6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTVGVzdFJlYWRPbmx5U2V0TGlrZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0OjpnZXRDb25zdHJ1Y3Rv
cik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU1Rlc3RTZXRMaWtlOjpnZXRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uczo6
Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RTdHJpbmdpZmllcjo6
Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbjo6Z2V0Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3Bl
cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVy
YXRpb246OmdldENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBczo6Z2V0Q29u
c3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nOjpnZXRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9u
bHlBdHRyaWJ1dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0U3RyaW5naWZpZXJSZWFk
T25seUF0dHJpYnV0ZTo6Z2V0Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpKU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZTo6Z2V0Q29u
c3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBl
ZGVmcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RUeXBlZGVmczo6Z2V0Q29uc3RydWN0
b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1dvcmtlckdsb2JhbFNj
b3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTV29ya2VyR2xvYmFsU2NvcGU6OmdldENvbnN0
cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xv
YmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNXb3JrbGV0R2xvYmFsU2NvcGU6Omdl
dENvbnN0cnVjdG9yKToKKwogMjAyMS0wNi0wOSAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxoZXljYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCB3aW5kb3cuaW50ZXJuYWxzLmxvZygpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDMyNmJmMzdmOGY2ZDY3YzE3NDdjZDcyMjFlZjY3MDE4ZDU3MGYyY2Eu
LjBiYzdkZWRjY2M3YzM1ZjIwN2FhMTA2MTJhNTZkYTZhMGE4NWE4NjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC0xODU2LDYgKzE4NTYsNyBAQCBzZXQoTUFLRV9OQU1FU19ERVBFTkRFTkNJRVMK
ICkKIHNldChTVVBQTEVNRU5UQUxfREVQRU5ERU5DWV9GSUxFICR7V2ViQ29yZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXApCiBzZXQoSVNPX1NVQlNQQUNF
U19IRUFERVJfRklMRSAke1dlYkNvcmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vRE9NSXNvU3Vic3Bh
Y2VzLmgpCitzZXQoQ09OU1RSVUNUT1JTX0hFQURFUl9GSUxFICR7V2ViQ29yZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9ET01Db25zdHJ1Y3RvcnMuaCkKIHNldChXSU5ET1dfQ09OU1RSVUNUT1JTX0ZJ
TEUgJHtXZWJDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L0RPTVdpbmRvd0NvbnN0cnVjdG9ycy5p
ZGwpCiBzZXQoV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUgJHtXZWJDb3JlX0RF
UklWRURfU09VUkNFU19ESVJ9L1dvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzLmlkbCkKIHNl
dChERURJQ0FURURXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSAke1dlYkNvcmVf
REVSSVZFRF9TT1VSQ0VTX0RJUn0vRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
cnMuaWRsKQpAQCAtMjA0MSw5ICsyMDQyLDEwIEBAIEdFTkVSQVRFX0JJTkRJTkdTKFdlYkNvcmVC
aW5kaW5ncwogICAgIEdFTkVSQVRPUiBKUwogICAgIFNVUFBMRU1FTlRBTF9ERVBGSUxFICR7U1VQ
UExFTUVOVEFMX0RFUEVOREVOQ1lfRklMRX0KICAgICBQUF9FWFRSQV9PVVRQVVQKLSAgICAgICAg
JHtJU09fU1VCU1BBQ0VTX0hFQURFUl9GSUxFfSAke1dJTkRPV19DT05TVFJVQ1RPUlNfRklMRX0g
JHtXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0gJHtERURJQ0FURURXT1JLRVJH
TE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KKyAgICAgICAgJHtJU09fU1VCU1BBQ0VTX0hF
QURFUl9GSUxFfSAke0NPTlNUUlVDVE9SU19IRUFERVJfRklMRX0gJHtXSU5ET1dfQ09OU1RSVUNU
T1JTX0ZJTEV9ICR7V09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEV9ICR7REVESUNB
VEVEV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEV9CiAgICAgUFBfRVhUUkFfQVJH
UwogICAgICAgICAtLWlzb1N1YnNwYWNlc0hlYWRlckZpbGUgJHtJU09fU1VCU1BBQ0VTX0hFQURF
Ul9GSUxFfQorICAgICAgICAtLWNvbnN0cnVjdG9yc0hlYWRlckZpbGUgJHtDT05TVFJVQ1RPUlNf
SEVBREVSX0ZJTEV9CiAgICAgICAgIC0td2luZG93Q29uc3RydWN0b3JzRmlsZSAke1dJTkRPV19D
T05TVFJVQ1RPUlNfRklMRX0KICAgICAgICAgLS13b3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9y
c0ZpbGUgJHtXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KICAgICAgICAgLS1k
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJHtERURJQ0FURURXT1JL
RVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggY2I2MDg5NTkxZmYxZjNmN2YzNDM1
ZjZlMWY5MTcwNTFhOTQzN2FlNy4uZjE1MGUzYjI3NzZjMmI1ODNjOGQ5MzU4NTljOGYyZGVkZTEz
MWU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKQEAgLTksNiArOSw3IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvQ29sb3JEYXRhLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvQ29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2UuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ291bnRRdWV1aW5nU3RyYXRl
Z3lCdWlsdGlucy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9ET01Db25zdHJ1Y3RvcnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvRE9NSXNvU3Vic3BhY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NV2luZG93Q29uc3RydWN0b3Jz
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjFjMWUzOWVjMTQ5NjgxYTZh
ZWQwODFiN2Q1NzI3YzkzZTBiMDYwMi4uZDlkYWViNWFiMzI4NDZiMjIyMjY0MWY5MjEzYjVjNWIx
YTM3NGU5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xODU0LDYgKzE4NTQs
NyBAQCBKU19CSU5ESU5HU19TQ1JJUFRTID0gJChDT01NT05fQklORElOR1NfU0NSSVBUUykgJChX
ZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL0NvZAogU1VQUExFTUVOVEFMX0RFUEVOREVOQ1lfRklM
RSA9IFN1cHBsZW1lbnRhbERlcGVuZGVuY2llcy50eHQKIFNVUFBMRU1FTlRBTF9NQUtFRklMRV9E
RVBTID0gU3VwcGxlbWVudGFsRGVwZW5kZW5jaWVzLmRlcAogSVNPX1NVQlNQQUNFU19IRUFERVJf
RklMRSA9IERPTUlzb1N1YnNwYWNlcy5oCitDT05TVFJVQ1RPUlNfSEVBREVSX0ZJTEUgPSBET01D
b25zdHJ1Y3RvcnMuaAogV0lORE9XX0NPTlNUUlVDVE9SU19GSUxFID0gRE9NV2luZG93Q29uc3Ry
dWN0b3JzLmlkbAogV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUgPSBXb3JrZXJH
bG9iYWxTY29wZUNvbnN0cnVjdG9ycy5pZGwKIERFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NP
TlNUUlVDVE9SU19GSUxFID0gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnMu
aWRsCkBAIC0xODY3LDYgKzE4NjgsNyBAQCBJRExfSU5URVJNRURJQVRFX0ZJTEVTID0gXAogICAg
ICQoU1VQUExFTUVOVEFMX01BS0VGSUxFX0RFUFMpIFwKICAgICAkKFNVUFBMRU1FTlRBTF9ERVBF
TkRFTkNZX0ZJTEUpIFwKICAgICAkKElTT19TVUJTUEFDRVNfSEVBREVSX0ZJTEUpIFwKKyAgICAk
KENPTlNUUlVDVE9SU19IRUFERVJfRklMRSkgXAogICAgICQoV0lORE9XX0NPTlNUUlVDVE9SU19G
SUxFKSBcCiAgICAgJChXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgXAogICAg
ICQoREVESUNBVEVEV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIFwKQEAgLTE4
NzksNyArMTg4MSw3IEBAIElETF9JTlRFUk1FRElBVEVfUEFUVEVSTlMgPSAkKHN1YnN0IC4sJSwk
KElETF9JTlRFUk1FRElBVEVfRklMRVMpKQogCiAkKElETF9JTlRFUk1FRElBVEVfUEFUVEVSTlMp
IDogJChQUkVQUk9DRVNTX0lETFNfU0NSSVBUUykgJChJRExfQVRUUklCVVRFU19GSUxFKSAkKEpT
X0JJTkRJTkdfSURMUykgJChGRUFUVVJFX0FORF9QTEFURk9STV9ERUZJTkVfREVQRU5ERU5DSUVT
KQogCSQoc2hlbGwgZWNobyAkKEpTX0JJTkRJTkdfSURMUykgfCB0ciAiICIgIlxuIiA+IElETEZp
bGVOYW1lc0xpc3QudHh0KQotCSQoUEVSTCkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL3By
ZXByb2Nlc3MtaWRscy5wbCAtLWRlZmluZXMgIiQoRkVBVFVSRV9BTkRfUExBVEZPUk1fREVGSU5F
UykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1pZGxGaWxlTmFtZXNMaXN0IElETEZpbGVOYW1lc0xp
c3QudHh0IC0taWRsQXR0cmlidXRlc0ZpbGUgJChJRExfQVRUUklCVVRFU19GSUxFKSAtLXN1cHBs
ZW1lbnRhbERlcGVuZGVuY3lGaWxlICQoU1VQUExFTUVOVEFMX0RFUEVOREVOQ1lfRklMRSkgLS1p
c29TdWJzcGFjZXNIZWFkZXJGaWxlICQoSVNPX1NVQlNQQUNFU19IRUFERVJfRklMRSkgLS13aW5k
b3dDb25zdHJ1Y3RvcnNGaWxlICQoV0lORE9XX0NPTlNUUlVDVE9SU19GSUxFKSAtLXdvcmtlckds
b2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAkKFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9S
U19GSUxFKSAtLWRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAkKERF
RElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFKSAtLXNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChTRVJWSUNFV09SS0VSR0xPQkFMU0NPUEVf
Q09OU1RSVUNUT1JTX0ZJTEUpIC0td29ya2xldEdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAk
KFdPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1wYWludFdvcmtsZXRHbG9i
YWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChQQUlOVFdPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJV
Q1RPUlNfRklMRSkgLS1hdWRpb1dvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChB
VURJT1dPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1zdXBwbGVtZW50YWxN
YWtlZmlsZURlcHMgJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVfREVQUykKKwkkKFBFUkwpICQoV2Vi
Q29yZSkvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGwgLS1kZWZpbmVzICIkKEZF
QVRVUkVfQU5EX1BMQVRGT1JNX0RFRklORVMpIExBTkdVQUdFX0pBVkFTQ1JJUFQiIC0taWRsRmls
ZU5hbWVzTGlzdCBJRExGaWxlTmFtZXNMaXN0LnR4dCAtLWlkbEF0dHJpYnV0ZXNGaWxlICQoSURM
X0FUVFJJQlVURVNfRklMRSkgLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSAkKFNVUFBMRU1F
TlRBTF9ERVBFTkRFTkNZX0ZJTEUpIC0taXNvU3Vic3BhY2VzSGVhZGVyRmlsZSAkKElTT19TVUJT
UEFDRVNfSEVBREVSX0ZJTEUpIC0tY29uc3RydWN0b3JzSGVhZGVyRmlsZSAkKENPTlNUUlVDVE9S
U19IRUFERVJfRklMRSkgLS13aW5kb3dDb25zdHJ1Y3RvcnNGaWxlICQoV0lORE9XX0NPTlNUUlVD
VE9SU19GSUxFKSAtLXdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSAkKFdPUktFUkdM
T0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFKSAtLWRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
Q29uc3RydWN0b3JzRmlsZSAkKERFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9S
U19GSUxFKSAtLXNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChTRVJW
SUNFV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUpIC0td29ya2xldEdsb2JhbFNj
b3BlQ29uc3RydWN0b3JzRmlsZSAkKFdPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklM
RSkgLS1wYWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUgJChQQUlOVFdPUktM
RVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRSkgLS1hdWRpb1dvcmtsZXRHbG9iYWxTY29w
ZUNvbnN0cnVjdG9yc0ZpbGUgJChBVURJT1dPUktMRVRHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNf
RklMRSkgLS1zdXBwbGVtZW50YWxNYWtlZmlsZURlcHMgJChTVVBQTEVNRU5UQUxfTUFLRUZJTEVf
REVQUykKIAogIwogIyBFbWl0IHRoZSBydWxlcyB0byBnZW5lcmF0ZSBiaW5kaW5ncyBmcm9tIElE
TCBmaWxlcy4gTm90ZSB0aGF0IHRoZXJlIGFyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFkYTQxNGM0N2M3YzA4OTlkMzk1NDJl
NDQ4ZDU2ODQ1YzI5Nzg4YWIuLmZlZDQwMjAwMTUxYTYzYWQzMmMwY2M3MWFkYzMzMTRiMzQxMWMw
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTUxNjAsNiArNTE2MCw3IEBACiAJCUUzMTUwRUE3MURBNzIxOTMwMDE5NDAxMiAv
KiBET01KSVRIZWxwZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMzE1MEVBNTFEQTcyMThEMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oICovOyB9
OwogCQlFMzIwMUMxQTFGOEU4MjEzMDA3NkEwMzIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzhEMDYwOTFG
OEU4MTE5MDA2NDlDRjIgLyogTW9kdWxlRmV0Y2hQYXJhbWV0ZXJzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMyM0NGRkExRTVBRjZBRjAwRjBC
NEEwIC8qIEpTRE9NQ29udmVydFByb21pc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzMjNDRkY5MUU1QUY2QTUwMEYwQjRBMCAvKiBKU0RPTUNvbnZl
cnRQcm9taXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJRTMzRDBDQkUyNjcyRTFCNjAwNzRFMTgzIC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5l
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMzRDBD
QkMyNjcyRTFCMzAwNzRFMTgzIC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyB9Owog
CQlFMzQzMkRFNDI1RDM3N0UzMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQzMkRFMDI1
RDM3N0UyMDA1OEU2MTIgLyogV29ya2VyTW9kdWxlU2NyaXB0TG9hZGVyLmggKi87IH07CiAJCUUz
NDdFNUZBMjVENEYwMDAwMEYxN0E1QyAvKiBXb3JrZXJTY3JpcHRGZXRjaGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzQ3RTVGODI1RDRGMDAwMDBG
MTdBNUMgLyogV29ya2VyU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTE4OEI0MjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1
bGVTY3JpcHRMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNTE4OEIzMjVEMzg3Q0YwMEE3N0FGMyAvKiBNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMTY0ODMsNiArMTY0ODQsNyBAQAogCQlFMzI5Mjc2MzIyNTQzRjU5MDAzMDhBOUEgLyog
VHlwZWRPTUNTU1VuaXRWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUeXBlZE9NQ1NTVW5p
dFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMyOTI3NjYyMjU0M0ZE
RTAwMzA4QTlBIC8qIERPTVJlY3RSZWFkT25seS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01S
ZWN0UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzM0ODI1RTFE
QzkzQUEwMDA5Qzk1NDQgLyogRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJRTMzRDBDQkMyNjcy
RTFCMzAwNzRFMTgzIC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTM0MzJERTAyNUQzNzdFMjAwNThFNjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2Fk
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM0MzJERTMyNUQzNzdFMzAwNThF
NjEyIC8qIFdvcmtlck1vZHVsZVNjcmlwdExvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXb3JrZXJNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzQ3RTVGODI1RDRGMDAwMDBGMTdBNUMgLyogV29ya2VyU2Ny
aXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJTY3Jp
cHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzQ5NCw2ICsyNzQ5
Niw3IEBACiAJCQkJN0M0NUM5QzcxRTNFOEFGRjAwQUFCNTU4IC8qIEpTRE9NRXhjZXB0aW9uSGFu
ZGxpbmcuaCAqLywKIAkJCQlFMUMzNkNCQzBFQjA4MDYyMDA3NDEwQkMgLyogSlNET01HbG9iYWxP
YmplY3QuY3BwICovLAogCQkJCUUxQzM2QzAyMEVCMDc2RDYwMDc0MTBCQyAvKiBKU0RPTUdsb2Jh
bE9iamVjdC5oICovLAorCQkJCUUzM0QwQ0JDMjY3MkUxQjMwMDc0RTE4MyAvKiBKU0RPTUdsb2Jh
bE9iamVjdElubGluZXMuaCAqLywKIAkJCQk3QzJCREQzQjE3QzdGOThCMDAzOEZGMTUgLyogSlNE
T01HbG9iYWxPYmplY3RUYXNrLmNwcCAqLywKIAkJCQk3QzJCREQzQzE3QzdGOThCMDAzOEZGMTUg
LyogSlNET01HbG9iYWxPYmplY3RUYXNrLmggKi8sCiAJCQkJNDFBMUIwMUIxRTU0MjM5NjAwN0Yz
NzY5IC8qIEpTRE9NR3VhcmRlZE9iamVjdC5jcHAgKi8sCkBAIC0zMzQ4MSw2ICszMzQ4NCw3IEBA
CiAJCQkJODM5OTQ3MTAxRjUwQjZGQTAwRTlEODZCIC8qIEpTRE9NRmlsZVN5c3RlbS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzM2QzAzMEVCMDc2RDYwMDc0MTBCQyAvKiBKU0RPTUds
b2JhbE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTMzRDBDQkUyNjcyRTFCNjAwNzRFMTgz
IC8qIEpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MyQkRE
M0UxN0M3Rjk4QzAwMzhGRjE1IC8qIEpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDFBMUIwMUMxRTU0MjM5QjAwN0YzNzY5IC8qIEpTRE9NR3VhcmRlZE9iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRjgwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTRE9NSW1w
bGVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IGUzMTFkMGFmZWU2NGI5YjgwZTAyYzk1
Njk2MjcyZjAwM2I1ODMxM2UuLjdjNzQ0ZjczMGNkYjM3OGFkNzkxYTg3MTU5OTcyNjJlNjE2MjA5
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJK
U0RPTUdsb2JhbE9iamVjdC5oIgogCisjaW5jbHVkZSAiRE9NQ29uc3RydWN0b3JzLmgiCiAjaW5j
bHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGZXRj
aFJlc3BvbnNlLmgiCkBAIC03Nyw2ICs3OCw3IEBAIGNvbnN0IENsYXNzSW5mbyBKU0RPTUdsb2Jh
bE9iamVjdDo6c19pbmZvID0geyAiRE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xvYmFsT2JqZWN0CiAK
IEpTRE9NR2xvYmFsT2JqZWN0OjpKU0RPTUdsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBSZWY8RE9NV3JhcHBlcldvcmxkPiYmIHdvcmxkLCBjb25zdCBHbG9iYWxPYmpl
Y3RNZXRob2RUYWJsZSogZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCiAgICAgOiBKU0dsb2JhbE9i
amVjdCh2bSwgc3RydWN0dXJlLCBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKKyAgICAsIG1fY29u
c3RydWN0b3JzKG1ha2VVbmlxdWU8RE9NQ29uc3RydWN0b3JzPigpKQogICAgICwgbV93b3JsZChX
VEZNb3ZlKHdvcmxkKSkKICAgICAsIG1fd29ybGRJc05vcm1hbChtX3dvcmxkLT5pc05vcm1hbCgp
KQogICAgICwgbV9idWlsdGluSW50ZXJuYWxGdW5jdGlvbnModm0pCkBAIC0yNjIsMTMgKzI2NCwx
MyBAQCB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuSW1wbChKU0NlbGwqIGNl
bGwsIFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgICAgIGZvciAoYXV0byYgc3RydWN0dXJlIDogdGhp
c09iamVjdC0+bV9zdHJ1Y3R1cmVzLnZhbHVlcygpKQogICAgICAgICAgICAgdmlzaXRvci5hcHBl
bmQoc3RydWN0dXJlKTsKIAotICAgICAgICBmb3IgKGF1dG8mIGNvbnN0cnVjdG9yIDogdGhpc09i
amVjdC0+bV9jb25zdHJ1Y3RvcnMudmFsdWVzKCkpCi0gICAgICAgICAgICB2aXNpdG9yLmFwcGVu
ZChjb25zdHJ1Y3Rvcik7Ci0KICAgICAgICAgZm9yIChhdXRvJiBndWFyZGVkIDogdGhpc09iamVj
dC0+bV9ndWFyZGVkT2JqZWN0cykKICAgICAgICAgICAgIGd1YXJkZWQtPnZpc2l0QWdncmVnYXRl
KHZpc2l0b3IpOwogICAgIH0KIAorICAgIGZvciAoYXV0byYgY29uc3RydWN0b3IgOiB0aGlzT2Jq
ZWN0LT5jb25zdHJ1Y3RvcnMoKS5hcnJheSgpKQorICAgICAgICB2aXNpdG9yLmFwcGVuZChjb25z
dHJ1Y3Rvcik7CisKICAgICB0aGlzT2JqZWN0LT5tX2J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucy52
aXNpdCh2aXNpdG9yKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
R2xvYmFsT2JqZWN0LmgKaW5kZXggMWYwMDYyMzkwZGYzNDU0OWY0Nzc5YjRmMTVhMTE5ZWY0ZTg2
OGI5ZC4uMGU4MWNlNjgxM2MyYjYyODFmNTcyMzgwMTk0MWQwM2ViYjk5MWZhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC0zNCwxMyAr
MzQsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBET01Db25zdHJ1Y3RvcnM7
CiBjbGFzcyBET01HdWFyZGVkT2JqZWN0OwogY2xhc3MgRXZlbnQ7CiBjbGFzcyBET01XcmFwcGVy
V29ybGQ7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiB1c2luZyBKU0RPTVN0cnVj
dHVyZU1hcCA9IEhhc2hNYXA8Y29uc3QgSlNDOjpDbGFzc0luZm8qLCBKU0M6OldyaXRlQmFycmll
cjxKU0M6OlN0cnVjdHVyZT4+OwotdXNpbmcgSlNET01Db25zdHJ1Y3Rvck1hcCA9IEhhc2hNYXA8
Y29uc3QgSlNDOjpDbGFzc0luZm8qLCBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0Pj47
CiB1c2luZyBET01HdWFyZGVkT2JqZWN0U2V0ID0gSGFzaFNldDxET01HdWFyZGVkT2JqZWN0Kj47
CiAKIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6
SlNHbG9iYWxPYmplY3QgewpAQCAtNjAsMTcgKzYwLDE2IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JU
IEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6SlNHbG9iYWxPYmplY3QgewogICAgIExv
Y2smIGdjTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV9nY0xvY2spIHsgcmV0dXJuIG1fZ2NMb2Nr
OyB9CiAKICAgICBKU0RPTVN0cnVjdHVyZU1hcCYgc3RydWN0dXJlcygpIFdURl9SRVFVSVJFU19M
T0NLKG1fZ2NMb2NrKSB7IHJldHVybiBtX3N0cnVjdHVyZXM7IH0KLSAgICBKU0RPTUNvbnN0cnVj
dG9yTWFwJiBjb25zdHJ1Y3RvcnMoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2djTG9jaykgeyByZXR1
cm4gbV9jb25zdHJ1Y3RvcnM7IH0KICAgICBET01HdWFyZGVkT2JqZWN0U2V0JiBndWFyZGVkT2Jq
ZWN0cygpIFdURl9SRVFVSVJFU19MT0NLKG1fZ2NMb2NrKSB7IHJldHVybiBtX2d1YXJkZWRPYmpl
Y3RzOyB9CisgICAgRE9NQ29uc3RydWN0b3JzJiBjb25zdHJ1Y3RvcnMoKSB7IHJldHVybiAqbV9j
b25zdHJ1Y3RvcnM7IH0KIAogICAgIC8vIE5vIGxvY2tpbmcgaXMgbmVjZXNzYXJ5IGZvciBjYWxs
IHNpdGVzIHRoYXQgZG8gbm90IG11dGF0ZSB0aGUgY29udGFpbmVycyBhbmQgYXJlIG5vdCBvbiB0
aGUgR0MgdGhyZWFkLgogICAgIGNvbnN0IEpTRE9NU3RydWN0dXJlTWFwJiBzdHJ1Y3R1cmVzKCkg
Y29uc3QgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUyB7IEFTU0VSVCghVGhyZWFk
OjptYXlCZUdDVGhyZWFkKCkpOyByZXR1cm4gbV9zdHJ1Y3R1cmVzOyB9Ci0gICAgY29uc3QgSlNE
T01Db25zdHJ1Y3Rvck1hcCYgY29uc3RydWN0b3JzKCkgY29uc3QgV1RGX0lHTk9SRVNfVEhSRUFE
X1NBRkVUWV9BTkFMWVNJUyB7IEFTU0VSVCghVGhyZWFkOjptYXlCZUdDVGhyZWFkKCkpOyByZXR1
cm4gbV9jb25zdHJ1Y3RvcnM7IH0KICAgICBjb25zdCBET01HdWFyZGVkT2JqZWN0U2V0JiBndWFy
ZGVkT2JqZWN0cygpIGNvbnN0IFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgeyBB
U1NFUlQoIVRocmVhZDo6bWF5QmVHQ1RocmVhZCgpKTsgcmV0dXJuIG1fZ3VhcmRlZE9iamVjdHM7
IH0KKyAgICBjb25zdCBET01Db25zdHJ1Y3RvcnMmIGNvbnN0cnVjdG9ycygpIGNvbnN0IHsgQVNT
RVJUKCFUaHJlYWQ6Om1heUJlR0NUaHJlYWQoKSk7IHJldHVybiAqbV9jb25zdHJ1Y3RvcnM7IH0K
IAogICAgIC8vIFRoZSBmb2xsb3dpbmcgZG9uJ3QgcmVxdWlyZSBncmFiYmluZyB0aGUgZ2NMb2Nr
IGZpcnN0IGFuZCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgSGVhcCBzYXlzIHRoYXQg
bXV0YXRvcnMgZG9uJ3QgaGF2ZSB0byBiZSBmZW5jZWQuCiAgICAgSlNET01TdHJ1Y3R1cmVNYXAm
IHN0cnVjdHVyZXMoTm9Mb2NraW5nTmVjZXNzYXJ5VGFnKSBXVEZfSUdOT1JFU19USFJFQURfU0FG
RVRZX0FOQUxZU0lTIHsgQVNTRVJUKCF2bSgpLmhlYXAubXV0YXRvclNob3VsZEJlRmVuY2VkKCkp
OyByZXR1cm4gbV9zdHJ1Y3R1cmVzOyB9Ci0gICAgSlNET01Db25zdHJ1Y3Rvck1hcCYgY29uc3Ry
dWN0b3JzKE5vTG9ja2luZ05lY2Vzc2FyeVRhZykgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVUWV9B
TkFMWVNJUyB7IEFTU0VSVCghdm0oKS5oZWFwLm11dGF0b3JTaG91bGRCZUZlbmNlZCgpKTsgcmV0
dXJuIG1fY29uc3RydWN0b3JzOyB9CiAgICAgRE9NR3VhcmRlZE9iamVjdFNldCYgZ3VhcmRlZE9i
amVjdHMoTm9Mb2NraW5nTmVjZXNzYXJ5VGFnKSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FO
QUxZU0lTIHsgQVNTRVJUKCF2bSgpLmhlYXAubXV0YXRvclNob3VsZEJlRmVuY2VkKCkpOyByZXR1
cm4gbV9ndWFyZGVkT2JqZWN0czsgfQogCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwpAQCAtMTI0LDggKzEyMyw4IEBAIGNsYXNzIFdF
QkNPUkVfRVhQT1JUIEpTRE9NR2xvYmFsT2JqZWN0IDogcHVibGljIEpTQzo6SlNHbG9iYWxPYmpl
Y3QgewogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBtb2R1bGVMb2FkZXJDcmVhdGVJbXBvcnRN
ZXRhUHJvcGVydGllcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpKU01vZHVsZUxvYWRlcios
IEpTQzo6SlNWYWx1ZSwgSlNDOjpKU01vZHVsZVJlY29yZCosIEpTQzo6SlNWYWx1ZSk7CiAKICAg
ICBKU0RPTVN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX2dj
TG9jayk7Ci0gICAgSlNET01Db25zdHJ1Y3Rvck1hcCBtX2NvbnN0cnVjdG9ycyBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fZ2NMb2NrKTsKICAgICBET01HdWFyZGVkT2JqZWN0U2V0IG1fZ3VhcmRlZE9i
amVjdHMgV1RGX0dVQVJERURfQllfTE9DSyhtX2djTG9jayk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PERPTUNvbnN0cnVjdG9ycz4gbV9jb25zdHJ1Y3RvcnM7CiAKICAgICBSZWY8RE9NV3JhcHBlcldv
cmxkPiBtX3dvcmxkOwogICAgIHVpbnQ4X3QgbV93b3JsZElzTm9ybWFsOwpAQCAtMTQzLDI1ICsx
NDIsNiBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTUdsb2JhbE9iamVjdCA6IHB1YmxpYyBK
U0M6OkpTR2xvYmFsT2JqZWN0IHsKICAgICBKU0M6OldlYWtHQ01hcDxDcm9zc09yaWdpbk1hcEtl
eSwgSlNDOjpHZXR0ZXJTZXR0ZXI+IG1fY3Jvc3NPcmlnaW5HZXR0ZXJTZXR0ZXJNYXA7CiB9Owog
Ci10ZW1wbGF0ZTxjbGFzcyBDb25zdHJ1Y3RvckNsYXNzPgotaW5saW5lIEpTQzo6SlNPYmplY3Qq
IGdldERPTUNvbnN0cnVjdG9yKEpTQzo6Vk0mIHZtLCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQotewotICAgIC8vIE5vIGxvY2tpbmcgaXMgbmVjZXNzYXJ5IHVubGVzcyB3
ZSBuZWVkIHRvIGFkZCBhIG5ldyBjb25zdHJ1Y3RvciB0byBKU0RPTUdsb2JhbE9iamVjdDo6Y29u
c3RydWN0b3JzKCkuCi0gICAgaWYgKEpTQzo6SlNPYmplY3QqIGNvbnN0cnVjdG9yID0gZ2xvYmFs
T2JqZWN0LmNvbnN0cnVjdG9ycygpLmdldChDb25zdHJ1Y3RvckNsYXNzOjppbmZvKCkpLmdldCgp
KQotICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7Ci0gICAgSlNDOjpKU09iamVjdCogY29uc3Ry
dWN0b3IgPSBDb25zdHJ1Y3RvckNsYXNzOjpjcmVhdGUodm0sIENvbnN0cnVjdG9yQ2xhc3M6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgY29uc3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGdsb2JhbE9i
amVjdCksIENvbnN0cnVjdG9yQ2xhc3M6OnByb3RvdHlwZUZvclN0cnVjdHVyZSh2bSwgZ2xvYmFs
T2JqZWN0KSksIGNvbnN0X2Nhc3Q8SlNET01HbG9iYWxPYmplY3QmPihnbG9iYWxPYmplY3QpKTsK
LSAgICBBU1NFUlQoIWdsb2JhbE9iamVjdC5jb25zdHJ1Y3RvcnMoKS5jb250YWlucyhDb25zdHJ1
Y3RvckNsYXNzOjppbmZvKCkpKTsKLSAgICBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0
PiB0ZW1wOwotICAgIEpTRE9NR2xvYmFsT2JqZWN0JiBtdXRhYmxlR2xvYmFsT2JqZWN0ID0gY29u
c3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGdsb2JhbE9iamVjdCk7Ci0gICAgaWYgKHZtLmhl
YXAubXV0YXRvclNob3VsZEJlRmVuY2VkKCkpIHsKLSAgICAgICAgTG9ja2VyIGxvY2tlciB7IG11
dGFibGVHbG9iYWxPYmplY3QuZ2NMb2NrKCkgfTsKLSAgICAgICAgbXV0YWJsZUdsb2JhbE9iamVj
dC5jb25zdHJ1Y3RvcnMoKS5hZGQoQ29uc3RydWN0b3JDbGFzczo6aW5mbygpLCB0ZW1wKS5pdGVy
YXRvci0+dmFsdWUuc2V0KHZtLCAmZ2xvYmFsT2JqZWN0LCBjb25zdHJ1Y3Rvcik7Ci0gICAgICAg
IHJldHVybiBjb25zdHJ1Y3RvcjsKLSAgICB9Ci0gICAgbXV0YWJsZUdsb2JhbE9iamVjdC5jb25z
dHJ1Y3RvcnMoTm9Mb2NraW5nTmVjZXNzYXJ5KS5hZGQoQ29uc3RydWN0b3JDbGFzczo6aW5mbygp
LCB0ZW1wKS5pdGVyYXRvci0+dmFsdWUuc2V0KHZtLCAmZ2xvYmFsT2JqZWN0LCBjb25zdHJ1Y3Rv
cik7Ci0gICAgcmV0dXJuIGNvbnN0cnVjdG9yOwotfQotCiBXRUJDT1JFX0VYUE9SVCBKU0RPTUds
b2JhbE9iamVjdCYgY2FsbGVyR2xvYmFsT2JqZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6
OkNhbGxGcmFtZSYpOwogCiBKU0RPTUdsb2JhbE9iamVjdCogdG9KU0RPTUdsb2JhbE9iamVjdChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRE9NV3JhcHBlcldvcmxkJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA1Mjg2MTViNDYxYmYwZGI3NzFkZjQyNjg2ZmEyMmU1ZDJkZTY1MmYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdElu
bGluZXMuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRE9NQ29uc3RydWN0
b3JzLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit0ZW1wbGF0ZTxjbGFzcyBDb25zdHJ1Y3RvckNsYXNzLCBET01Db25zdHJ1Y3RvcklE
IGNvbnN0cnVjdG9ySUQ+CitpbmxpbmUgSlNDOjpKU09iamVjdCogZ2V0RE9NQ29uc3RydWN0b3Io
SlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit7Cisg
ICAgLy8gTm8gbG9ja2luZyBpcyBuZWNlc3NhcnkgdW5sZXNzIHdlIG5lZWQgdG8gYWRkIGEgbmV3
IGNvbnN0cnVjdG9yIHRvIEpTRE9NR2xvYmFsT2JqZWN0Ojpjb25zdHJ1Y3RvcnMoKS4KKyAgICBp
ZiAoSlNDOjpKU09iamVjdCogY29uc3RydWN0b3IgPSBnbG9iYWxPYmplY3QuY29uc3RydWN0b3Jz
KCkuYXJyYXkoKVtzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29uc3RydWN0b3JJRCldLmdldCgpKQor
ICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CisgICAgSlNDOjpKU09iamVjdCogY29uc3RydWN0
b3IgPSBDb25zdHJ1Y3RvckNsYXNzOjpjcmVhdGUodm0sIENvbnN0cnVjdG9yQ2xhc3M6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgY29uc3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGdsb2JhbE9iamVj
dCksIENvbnN0cnVjdG9yQ2xhc3M6OnByb3RvdHlwZUZvclN0cnVjdHVyZSh2bSwgZ2xvYmFsT2Jq
ZWN0KSksIGNvbnN0X2Nhc3Q8SlNET01HbG9iYWxPYmplY3QmPihnbG9iYWxPYmplY3QpKTsKKyAg
ICBBU1NFUlQoIWdsb2JhbE9iamVjdC5jb25zdHJ1Y3RvcnMoKS5hcnJheSgpW3N0YXRpY19jYXN0
PHVuc2lnbmVkPihjb25zdHJ1Y3RvcklEKV0uZ2V0KCkpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0
JiBtdXRhYmxlR2xvYmFsT2JqZWN0ID0gY29uc3RfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCY+KGds
b2JhbE9iamVjdCk7CisgICAgbXV0YWJsZUdsb2JhbE9iamVjdC5jb25zdHJ1Y3RvcnMoKS5hcnJh
eSgpW3N0YXRpY19jYXN0PHVuc2lnbmVkPihjb25zdHJ1Y3RvcklEKV0uc2V0KHZtLCAmZ2xvYmFs
T2JqZWN0LCBjb25zdHJ1Y3Rvcik7CisgICAgcmV0dXJuIGNvbnN0cnVjdG9yOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGQyNWUzZmY0NGI2YjY0YzlmOTM5M2Y5NmFiOTM4
ZTQ4Njk4ODg3YjYuLjRiMDhiYWYyMTRiMDljZDYwODUwZmIxYTZiODE4N2YzM2RlMjNmMmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCkBAIC00NzY1LDE1ICs0NzY1LDE2IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAg
ICAgfQogCiAgICAgaWYgKCEkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntMZWdhY3lO
b0ludGVyZmFjZU9iamVjdH0pIHsKKyAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNWYWx1
ZSAke2NsYXNzTmFtZX06OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIp
OwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8JHtjbGFzc05hbWV9RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPCR7Y2xhc3NOYW1lfURPTUNvbnN0cnVj
dG9yLCBET01Db25zdHJ1Y3RvcklEOjoke2ludGVyZmFjZU5hbWV9Pih2bSwgKmpzQ2FzdDxjb25z
dCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpO1xuIik7CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAifVxuXG4iKTsKIAogICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57TGVnYWN5RmFjdG9yeUZ1bmN0aW9ufSkgewogICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICJKU1ZhbHVlICR7Y2xhc3NOYW1lfTo6Z2V0TGVnYWN5RmFjdG9yeUZ1
bmN0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rvcjwke2NsYXNzTmFtZX1MZWdhY3lG
YWN0b3J5RnVuY3Rpb24+KHZtLCAqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3Rvcjwke2NsYXNzTmFtZX1MZWdhY3lGYWN0b3J5RnVuY3Rpb24sIERPTUNv
bnN0cnVjdG9ySUQ6OiR7aW50ZXJmYWNlTmFtZX1MZWdhY3lGYWN0b3J5Pih2bSwgKmpzQ2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpO1xuIik7CiAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAgICAgICAgIH0KICAgICB9CkBAIC02NDU2LDkgKzY0
NTcsMTAgQEAgc3ViIEdlbmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbkNvbnRlbnQKIAogICAg
ICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbnMoJGNvbnRlbnRSZWYsICRjbGFzc05h
bWUsICIiLCAkdmlzaWJsZU5hbWUsICRpbnRlcmZhY2VPckNhbGxiYWNrKTsKIAorICAgICAgICBB
ZGRUb0ltcGxJbmNsdWRlcygiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiKTsKICAgICAgICAg
cHVzaChAJGNvbnRlbnRSZWYsICJKU1ZhbHVlICR7Y2xhc3NOYW1lfTo6Z2V0Q29uc3RydWN0b3Io
Vk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KVxuIik7CiAgICAgICAg
IHB1c2goQCRjb250ZW50UmVmLCAie1xuIik7Ci0gICAgICAgIHB1c2goQCRjb250ZW50UmVmLCAi
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rvcjwke2NsYXNzTmFtZX1ET01Db25zdHJ1Y3Rvcj4o
dm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTtcbiIp
OworICAgICAgICBwdXNoKEAkY29udGVudFJlZiwgIiAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8JHtjbGFzc05hbWV9RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OiR7bmFtZX0+
KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7XG4i
KTsKICAgICAgICAgcHVzaChAJGNvbnRlbnRSZWYsICJ9XG5cbiIpOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGwg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbAppbmRl
eCAyMGEwYmEzZjlkYTBjNjg0YTc2ZmNhZTkyZGExYjYwM2VmODA2MzBlLi42MDFkMmY1MzE2ZTIz
MWY1YjlmM2RlMTZhYzIyNDFmZDg3MzZiNzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3MtaWRscy5wbApAQCAtNDEsNiArNDEsNyBAQAogbXkg
JHRlc3RHbG9iYWxDb250ZXh0TmFtZTsKIG15ICRzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZTsK
IG15ICRpc29TdWJzcGFjZXNIZWFkZXJGaWxlOworbXkgJGNvbnN0cnVjdG9yc0hlYWRlckZpbGU7
CiBteSAkd2luZG93Q29uc3RydWN0b3JzRmlsZTsKIG15ICR3b3JrZXJHbG9iYWxTY29wZUNvbnN0
cnVjdG9yc0ZpbGU7CiBteSAkZGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNG
aWxlOwpAQCAtNjQsNiArNjUsNyBAQAogICAgICAgICAgICAndGVzdEdsb2JhbENvbnRleHROYW1l
PXMnID0+IFwkdGVzdEdsb2JhbENvbnRleHROYW1lLAogICAgICAgICAgICAnc3VwcGxlbWVudGFs
RGVwZW5kZW5jeUZpbGU9cycgPT4gXCRzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSwKICAgICAg
ICAgICAgJ2lzb1N1YnNwYWNlc0hlYWRlckZpbGU9cycgPT4gXCRpc29TdWJzcGFjZXNIZWFkZXJG
aWxlLAorICAgICAgICAgICAnY29uc3RydWN0b3JzSGVhZGVyRmlsZT1zJyA9PiBcJGNvbnN0cnVj
dG9yc0hlYWRlckZpbGUsCiAgICAgICAgICAgICd3aW5kb3dDb25zdHJ1Y3RvcnNGaWxlPXMnID0+
IFwkd2luZG93Q29uc3RydWN0b3JzRmlsZSwKICAgICAgICAgICAgJ3dvcmtlckdsb2JhbFNjb3Bl
Q29uc3RydWN0b3JzRmlsZT1zJyA9PiBcJHdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmls
ZSwKICAgICAgICAgICAgJ2RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmls
ZT1zJyA9PiBcJGRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSwKQEAg
LTkyLDYgKzk0LDcgQEAKIAogJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlID0gQ3lnd2luUGF0
aElmTmVlZGVkKCRzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSk7CiAkaXNvU3Vic3BhY2VzSGVh
ZGVyRmlsZSA9IEN5Z3dpblBhdGhJZk5lZWRlZCgkaXNvU3Vic3BhY2VzSGVhZGVyRmlsZSk7Cisk
Y29uc3RydWN0b3JzSGVhZGVyRmlsZSA9IEN5Z3dpblBhdGhJZk5lZWRlZCgkY29uc3RydWN0b3Jz
SGVhZGVyRmlsZSk7CiAkd2luZG93Q29uc3RydWN0b3JzRmlsZSA9IEN5Z3dpblBhdGhJZk5lZWRl
ZCgkd2luZG93Q29uc3RydWN0b3JzRmlsZSk7CiAkd29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
cnNGaWxlID0gQ3lnd2luUGF0aElmTmVlZGVkKCR3b3JrZXJHbG9iYWxTY29wZUNvbnN0cnVjdG9y
c0ZpbGUpOwogJGRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSA9IEN5
Z3dpblBhdGhJZk5lZWRlZCgkZGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNG
aWxlKTsKQEAgLTE1Nyw2ICsxNjAsMTkgQEAKICAgICBET01Jc29TdWJzcGFjZXMoKSA9IGRlZmF1
bHQ7CiBFTkQKIAorbXkgQGNvbnN0cnVjdG9ycyA9ICgpOworbXkgJGNvbnN0cnVjdG9yc0hlYWRl
ckNvZGUgPSA8PEVORDsKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4K
KworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBET01D
b25zdHJ1Y3RvcklEIDogdWludDE2X3QgeworRU5ECisKICMgR2V0IHJpZCBvZiBkdXBsaWNhdGVz
IGluIGlkbEZpbGVOYW1lcyBhcnJheS4KIG15ICVpZGxGaWxlTmFtZUhhc2ggPSBtYXAgeyAkXywg
MSB9IEBpZGxGaWxlTmFtZXM7CiAKQEAgLTI1Miw2ICsyNjgsMTMgQEAgRU5ECiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CisKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAi
ICAgICR7aW50ZXJmYWNlTmFtZX0sXG4iOworICAgIHB1c2goQGNvbnN0cnVjdG9ycywgIiR7aW50
ZXJmYWNlTmFtZX0iKTsKKyAgICBpZiAoJGV4dGVuZGVkQXR0cmlidXRlcy0+e0xlZ2FjeUZhY3Rv
cnlGdW5jdGlvbn0pIHsKKyAgICAgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICAk
e2ludGVyZmFjZU5hbWV9TGVnYWN5RmFjdG9yeSxcbiI7CisgICAgICAgIHB1c2goQGNvbnN0cnVj
dG9ycywgIiR7aW50ZXJmYWNlTmFtZX1MZWdhY3lGYWN0b3J5Iik7CisgICAgfQogfQogCiAjIEdl
bmVyYXRlIHBhcnRpYWwgaW50ZXJmYWNlcyBmb3IgQ29uc3RydWN0b3JzLgpAQCAtMjcwLDYgKzI5
MywyOSBAQCBFTkQKICAgICBXcml0ZUZpbGVJZkNoYW5nZWQoJGlzb1N1YnNwYWNlc0hlYWRlckZp
bGUsICRpc29TdWJzcGFjZXNIZWFkZXJDb2RlKTsKIH0KIAoraWYgKCRjb25zdHJ1Y3RvcnNIZWFk
ZXJGaWxlKSB7CisgICAgbXkgJGNvbnN0cnVjdG9yc0xlbmd0aCA9IEBjb25zdHJ1Y3RvcnM7Cisg
ICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIn07XG4iOworICAgICRjb25zdHJ1Y3RvcnNI
ZWFkZXJDb2RlIC49ICJcbiI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gInN0YXRp
YyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZET01Db25zdHJ1Y3RvcnMgPSAkY29uc3RydWN0
b3JzTGVuZ3RoO1xuIjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAiXG4iOworICAg
ICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICJjbGFzcyBET01Db25zdHJ1Y3RvcnMge1xuIjsK
KyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAiICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERPTUNvbnN0cnVjdG9ycyk7XG4iOworICAgICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2RlIC49ICIg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQoRE9NQ29uc3RydWN0b3JzKTtcbiI7CisgICAgJGNv
bnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gInB1YmxpYzpcbiI7CisgICAgJGNvbnN0cnVjdG9yc0hl
YWRlckNvZGUgLj0gIiAgICB1c2luZyBDb25zdHJ1Y3RvckFycmF5ID0gc3RkOjphcnJheTxKU0M6
OldyaXRlQmFycmllcjxKU0M6OkpTT2JqZWN0PiwgbnVtYmVyT2ZET01Db25zdHJ1Y3RvcnM+O1xu
IjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAiICAgIERPTUNvbnN0cnVjdG9ycygp
ID0gZGVmYXVsdDtcbiI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICBDb25z
dHJ1Y3RvckFycmF5JiBhcnJheSgpIHsgcmV0dXJuIG1fYXJyYXk7IH1cbiI7CisgICAgJGNvbnN0
cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICBjb25zdCBDb25zdHJ1Y3RvckFycmF5JiBhcnJheSgp
IGNvbnN0IHsgcmV0dXJuIG1fYXJyYXk7IH1cbiI7CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNv
ZGUgLj0gIlxuIjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAicHJpdmF0ZTpcbiI7
CisgICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIiAgICBDb25zdHJ1Y3RvckFycmF5IG1f
YXJyYXkgeyB9O1xuIjsKKyAgICAkY29uc3RydWN0b3JzSGVhZGVyQ29kZSAuPSAifTtcbiI7Cisg
ICAgJGNvbnN0cnVjdG9yc0hlYWRlckNvZGUgLj0gIlxuIjsKKyAgICAkY29uc3RydWN0b3JzSGVh
ZGVyQ29kZSAuPSAifSAvLyBuYW1lc3BhY2UgV2ViQ29yZVxuIjsKKyAgICBXcml0ZUZpbGVJZkNo
YW5nZWQoJGNvbnN0cnVjdG9yc0hlYWRlckZpbGUsICRjb25zdHJ1Y3RvcnNIZWFkZXJDb2RlKTsK
K30KKwogIyBSZXNvbHZlcyBwYXJ0aWFsIGludGVyZmFjZXMgYW5kIGluY2x1ZGUgZGVwZW5kZW5j
aWVzLgogZm9yZWFjaCBteSAkaWRsRmlsZVBhdGggKHNvcnQga2V5cyAlc3VwcGxlbWVudGFsRGVw
ZW5kZW5jaWVzKSB7CiAgICAgbXkgJGJhc2VGaWxlcyA9ICRzdXBwbGVtZW50YWxEZXBlbmRlbmNp
ZXN7JGlkbEZpbGVQYXRofTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNET01XaW5kb3cuY3BwCmluZGV4IDhjMjdmMDI0Y2Q1ZGJjODIxOGI4
NWUwODIyZmI5N2M5MGYxNmQ2MzQuLjQxOGQ5YTVkZWQ5N2ZlZGJiMTZmOTJhMWQ1NGFkZmVkNjk5
NzMzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTRE9NV2luZG93LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCiAjaW5jbHVkZSAi
SlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRv
dy5oIgpAQCAtMTk4LDcgKzE5OSw3IEBAIHZvaWQgSlNET01XaW5kb3c6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSlNXaW5kb3dQcm94eSogcHJveHkpCiAKIEpTVmFsdWUgSlNET01XaW5kb3c6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNET01XaW5kb3dET01Db25zdHJ1Y3Rv
cj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
KyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNET01XaW5kb3dET01Db25zdHJ1Y3Rvciwg
RE9NQ29uc3RydWN0b3JJRDo6RE9NV2luZG93Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIo
anNET01XaW5kb3dDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggN2Q0OGQ3MDBlMTcxMjlk
ZDdmOGVkMjhjOGJlNjVhN2JkNzJkNzgyNC4uYmM0YzdhZWU5ZTQ3MmZmOWQyZTFiMDM2NDY2Mjk3
NGJkNjEyZjBjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1
ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01F
eGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
QEAgLTEyMCw3ICsxMjEsNyBAQCB2b2lkIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSlNQcm94eSogcHJveHkpCiAKIEpTVmFsdWUgSlNEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNv
bnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERP
TUNvbnN0cnVjdG9yPEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVET01Db25zdHJ1Y3Rvciwg
RE9NQ29uc3RydWN0b3JJRDo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KHZtLCAqanNDYXN0
PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJ
TkVfQ1VTVE9NX0dFVFRFUihqc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlQ29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdp
bmRvdy5jcHAKaW5kZXggZjQzZGQyMzc1YzgxMjZmZmQ3OWZjN2I1Njk5MmZlM2U4ZThkZjQzMy4u
MjkxYzY2ODJjMWUzYjZlNzcyZDdkYTUxMTlhMDJjYWJmZTZjYzkxZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5k
V2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVk
ZSAiSlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5k
bGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNs
dWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTVGVzdE9iai5oIgpAQCAtMjA3
LDcgKzIwOCw3IEBAIEpTT2JqZWN0KiBKU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdzo6cHJvdG90
eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhCiAKIEpTVmFsdWUgSlNFeHBvc2Vk
VG9Xb3JrZXJBbmRXaW5kb3c6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNF
eHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6RXhwb3NlZFRvV29ya2VyQW5kV2luZG93Pih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTRXhwb3NlZFRv
V29ya2VyQW5kV2luZG93OjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTUGFpbnRXb3JrbGV0R2xv
YmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IDE2OTA5NjNkM2Y4OGRjMTI3NTk2NmQw
YzAxZjI0ZGZiNGZhMjcwOWMuLjUxM2ZhOWRiZTFhN2ZhMTU3OGQ0NDRjZDc5ZTkxODdhY2IzN2I3
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTI3LDYg
KzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUNvbnN0
cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUu
aCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgpAQCAtMTIwLDcgKzEyMSw3
IEBAIHZvaWQgSlNQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBKU1Byb3h5KiBwcm94eSkKIAogSlNWYWx1ZSBKU1BhaW50V29ya2xldEdsb2JhbFNjb3BlOjpn
ZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTUGFpbnRXb3JrbGV0R2xvYmFsU2Nv
cGVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNQYWludFdvcmts
ZXRHbG9iYWxTY29wZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpQYWludFdvcmts
ZXRHbG9iYWxTY29wZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCAyNmRiYjliODM2ODM4M2I3MmYx
ZmVmNWVmY2NiOTUwNTlkNjJjYWRmLi5jNDk3ODc1ZjVjODhhYjMxZGNkNDk2MGQ2Mzg5Y2U5ZjQ5
YzRjYTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAg
LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RP
TUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9u
SGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNs
dWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTIwLDcg
KzEyMSw3IEBAIHZvaWQgSlNTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSlNQcm94eSogcHJveHkpCiAKIEpTVmFsdWUgSlNTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q0VSZWFjdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcAppbmRleCAxNzE5NjBjMTM3NmVjMDhhN2I1YWVlZDgx
OWJmOWI1NGFmYjVjZTU3Li5iODc4YjQ2ZTE5MTE0ZTg4YzZiYjMzMWI5NjczNDA0YWVmNDdmMTQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q0VSZWFjdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNET01HbG9i
YWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRl
ICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTVGVzdENFUmVhY3Rpb25zU3RyaW5n
aWZpZXIuaCIKQEAgLTE3NSw3ICsxNzYsNyBAQCBKU09iamVjdCogSlNUZXN0Q0VSZWFjdGlvbnM6
OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpT
VmFsdWUgSlNUZXN0Q0VSZWFjdGlvbnM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8SlNUZXN0Q0VSZWFjdGlvbnNET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0Q0VSZWFjdGlvbnNET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6
VGVzdENFUmVhY3Rpb25zPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdENFUmVhY3Rpb25zOjpkZXN0cm95KEpTQzo6
SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIu
Y3BwCmluZGV4IGExZGY1NzgzMzVlMDVjNGQ3ZjYzZDBhMjZmNTU0NzZjOTlhOWJhOTkuLmNhMzgy
OTEwZjc1MjJiZTVmNjg2MTBhMThmYzE5Y2RiMWZiNTI0N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRp
b24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE1NSw3ICsxNTYsNyBAQCBKU09iamVjdCogSlNUZXN0Q0VS
ZWFjdGlvbnNTdHJpbmdpZmllcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsbwogCiBKU1ZhbHVlIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI6OmdldENvbnN0cnVj
dG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBy
ZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckRPTUNv
bnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RDRVJlYWN0aW9uc1N0
cmluZ2lmaWVyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI6OmRlc3Ry
b3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5jcHAKaW5kZXggOGU1Nzlk
MzBlY2ZkYmVkMzdhNzRkYTI2ZjY5NmUwMTM4YzJiNzNhNC4uY2E5Yzk2ZGJmMjI4M2VhNDUzMWVl
ZTBmOTg4YmZmNjUyMDYxY2FhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsVHJhY2VyLmNwcApAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydFVuaW9uLmgiCiAjaW5jbHVkZSAiSlNET01F
eGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRp
b24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5o
IgpAQCAtMTk3LDcgKzE5OCw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RDYWxsVHJhY2VyOjpwcm90b3R5
cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpT
VGVzdENhbGxUcmFjZXI6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
Q2FsbFRyYWNlckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3RDYWxsVHJhY2VyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RDYWxsVHJh
Y2VyPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkp
OwogfQogCiB2b2lkIEpTVGVzdENhbGxUcmFjZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrSW50ZXJmYWNlLmNwcAppbmRleCBmMGQ4ZTcxZDQ0MmQy
ZGNmMzEzZWRlZTcxNTZiNjAyZmY2MmZhMzU2Li5mZjVkYjE3NzFhZDk1Y2M5N2M2MzVhNjlhNmZk
MWY2NjJiNTFkMzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5jcHAKQEAg
LTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVk
ZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0
LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNE
T01TdHJpbmdMaXN0LmgiCiAjaW5jbHVkZSAiSlNUZXN0Tm9kZS5oIgogI2luY2x1ZGUgIkpTVGVz
dE9iai5oIgpAQCAtMTcwLDcgKzE3MSw3IEBAIHRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RDYWxsYmFj
a0ludGVyZmFjZURPTUNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYKIAogSlNW
YWx1ZSBKU1Rlc3RDYWxsYmFja0ludGVyZmFjZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25z
dCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RDYWxsYmFja0ludGVyZmFjZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RDYWxsYmFja0ludGVyZmFjZURPTUNvbnN0cnVjdG9yLCBE
T01Db25zdHJ1Y3RvcklEOjpUZXN0Q2FsbGJhY2tJbnRlcmZhY2U+KHZtLCAqanNDYXN0PGNvbnN0
IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIENhbGxiYWNrUmVzdWx0
PHR5cGVuYW1lIElETFVuZGVmaW5lZDo6SW1wbGVtZW50YXRpb25UeXBlPiBKU1Rlc3RDYWxsYmFj
a0ludGVyZmFjZTo6Y2FsbGJhY2tXaXRoTm9QYXJhbSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcAppbmRleCBiNGIyNWI2NTk4OGQ1
NzY0NjY2NzAyZmVmZmRkOWFmZDkyMTgyYzVmLi45M2JkNjAxOTZkOGVkZjdjYzcyNzY3NzA1MTJh
MDIxNGJiZGM5ZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1
aWx0aW5Db25zdHJ1Y3Rvci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJKU0RPTUJp
bmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUg
IkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElu
bGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3JCdWlsdGlucy5oIgpAQCAtMTQ2LDcgKzE0Nyw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RD
bGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplCiAKIEpTVmFsdWUgSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3I6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGlu
Q29uc3RydWN0b3JET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3JET01Db25zdHJ1Y3RvciwgRE9NQ29uc3Ry
dWN0b3JJRDo6VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVz
dENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxs
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwCmluZGV4IDlhOTAzZTVi
MzNiYzY1MTRjMTljZDRlMDJiNWNiOWFkNTFiMWQ3MjguLjBmNzNkZDY0NjhkY2EzZjM1ZjQxM2Rk
NTBhMGFlMTk4YTM3M2U0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRl
cy5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29u
c3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIKICNpbmNsdWRl
ICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJ
bmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdy
YXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTQ3
NCw3ICs0NzUsNyBAQCBKU09iamVjdCogSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlczo6cHJvdG90
eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbAogCiBKU1ZhbHVlIEpTVGVzdENv
bmRpdGlvbmFsSW5jbHVkZXM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0Q29uZGl0aW9uYWxJbmNsdWRlc0RPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0
cnVjdG9ySUQ6OlRlc3RDb25kaXRpb25hbEluY2x1ZGVzPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdENvbmRpdGlv
bmFsSW5jbHVkZXM6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxseVJl
YWRXcml0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5jcHAKaW5kZXggZWI5YjY5MGFiZGNiODQ1NWQxYjQz
NjFhMzdhODM3ZGUzNGUyOTgxNS4uZTJmNDBjMTYxNDVkNDdmODY3ZTUyZWE5ZjhkY2RhMmY2MTcx
ZjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlLmNwcApA
QCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydFByb21pc2UuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3QuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgogI2luY2x1ZGUgIlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaCIKQEAgLTI1OSw3ICsyNjAsNyBAQCBKU09iamVjdCogSlNUZXN0
Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsbwogCiBKU1ZhbHVlIEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU6OmdldENvbnN0
cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAg
ICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZURP
TUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RDb25kaXRpb25h
bGx5UmVhZFdyaXRlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RDb25kaXRp
b25hbGx5UmVhZFdyaXRlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU6OmRl
c3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RE9NSklULmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCmluZGV4IGYxMDA0NDUzMzE2
YTNhZmI2Nzc3MmY0OWVmMDYwNzVkOTMwM2NhNjAuLmE5YmFhZGQ5MmFkNzE0M2YzNGQ0MGQ0ZWFh
NjUwZWJiMjQxNjc5ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5j
bHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFu
ZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9N
R2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5j
bHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU0VsZW1lbnQuaCIKQEAgLTYw
MCw3ICs2MDEsNyBAQCBKU09iamVjdCogSlNUZXN0RE9NSklUOjpwcm90b3R5cGUoVk0mIHZtLCBK
U0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpTVGVzdERPTUpJVDo6
Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RET01KSVRET01Db25zdHJ1
Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RE9NSklURE9NQ29uc3RydWN0
b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RET01KSVQ+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RET01KSVRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVm
YXVsdFRvSlNPTi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAKaW5kZXggNDQwYTE5YWFjMzJkNzg4MTYwOGQ4N2VmNzgy
NDBjNGVjNmU2MDJmNC4uZmNlNzU3ZTY2NzhiZDI0MmY0NTI2MGJhZTA2Nzk0ZGFkMWQ2MmU1YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dERlZmF1bHRUb0pTT04uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1
ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRs
aW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1
ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCkBA
IC0yNDAsNyArMjQxLDcgQEAgSlNPYmplY3QqIEpTVGVzdERlZmF1bHRUb0pTT046OnByb3RvdHlw
ZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QKIAogSlNWYWx1ZSBKU1Rl
c3REZWZhdWx0VG9KU09OOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dERlZmF1bHRUb0pTT05ET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0RGVmYXVsdFRvSlNPTkRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0
RGVmYXVsdFRvSlNPTj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3REZWZhdWx0VG9KU09OOjpkZXN0cm95KEpTQzo6
SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkZp
bHRlcmVkQnlFeHBvc2VkLmNwcAppbmRleCAxZjM5NTk4MWEwYzRhMDVmYThjYWM3MGM1MjFhZjll
NGQ0NGZiNmEzLi4xYWFkMWExOWIxNjQwYjdhZWJiYzgyYzhiZWE2NzUwYTVmYzMxZmM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVm
YXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2Vk
LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIK
ICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRp
b25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNzMsNyArMTc0LDcgQEAg
SlNPYmplY3QqIEpTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZDo6cHJvdG90eXBl
KFZNJiB2bSwgSlNET01HbG9iYWxPYmoKIAogSlNWYWx1ZSBKU1Rlc3REZWZhdWx0VG9KU09ORmls
dGVyZWRCeUV4cG9zZWQ6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0
PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZERPTUNv
bnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlF
eHBvc2VkPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOwogfQogCiB2b2lkIEpTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZDo6ZGVz
dHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5j
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVm
YXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UuY3BwCmluZGV4IDk1NzA5ODRmYjZiOGNhMTZh
NTgwYmYzY2E0MGRkNzNkNGRmMjAyYWMuLmRmMThiZjY3ZjFkYjA5MWI1NTA1ZWU4ZjE3ZDNhNzYz
ODlmZTQwNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05J
bmRpcmVjdEluaGVyaXRhbmNlLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVu
dERhdGEuaCIKQEAgLTEzOCw3ICsxMzksNyBAQCBKU09iamVjdCogSlNUZXN0RGVmYXVsdFRvSlNP
TkluZGlyZWN0SW5oZXJpdGFuY2U6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsTwogCiBK
U1ZhbHVlIEpTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlOjpnZXRDb25zdHJ1
Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVy
aXRhbmNlRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERl
ZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVj
dG9ySUQ6OlRlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZT4odm0sICpqc0Nhc3Q8
Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogSlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKGpzVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlQ29u
c3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0
VG9KU09OSW5oZXJpdC5jcHAKaW5kZXggZTQxZjBiOTZjMTcwNTY2ZDhiYWI1ODIyZjgyODM5MTg5
MjVkYjUxNC4uOTZkYjQxMjhmZDQwOTY4MjVjODg5Zjg3N2YzYmZjMTQ3MzkwNmY4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1
bHRUb0pTT05Jbmhlcml0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuY3BwCkBAIC0zNSw2ICszNSw3IEBA
CiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0
aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUg
IkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1Rlc3REZWZhdWx0
VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZS5oIgpAQCAtMTY3LDcgKzE2OCw3IEBAIEpTT2JqZWN0
KiBKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdDo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhCiAKIEpTVmFsdWUgSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQ6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVy
aXRET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdERlZmF1
bHRUb0pTT05Jbmhlcml0Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXRGaW5hbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbC5jcHAKaW5kZXggODc2NmRm
ZjJhZjZhNWE5MGNmMmMxMzg1OWExNjhhYmVjODg4NjVjNy4uODA3YTc4OGI0YmY0YTBlNGRjODhm
NmNhZjk1ZWYzNzgxNjNmYTJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9K
U09OSW5oZXJpdEZpbmFsLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCiAjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElu
bGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3Jh
cHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJp
dGFuY2UuaCIKQEAgLTE3MCw3ICsxNzEsNyBAQCBKU09iamVjdCogSlNUZXN0RGVmYXVsdFRvSlNP
TkluaGVyaXRGaW5hbDo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmCiAKIEpT
VmFsdWUgSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbDo6Z2V0Q29uc3RydWN0b3IoVk0m
IHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsRE9NQ29uc3Ry
dWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0
KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERlZmF1bHRUb0pTT05Jbmhl
cml0RmluYWxET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdERlZmF1bHRUb0pT
T05Jbmhlcml0RmluYWw+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3REZWZhdWx0
VG9KU09OSW5oZXJpdEZpbmFsQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERl
bGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRy
aWJ1dGUuY3BwCmluZGV4IGMwZjNjOTI4NDY0NTM0ODlmN2UwN2RlYTU0ODVhOGI3M2MwNGQwNTMu
LmFiMTYzM2Q2YjgxYzAzYjEzN2QxY2I5N2RlMzc1NmUxNmNhNDJhMTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hh
cmVkU3ludGhldGljQXR0cmlidXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZS5j
cHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3Ry
dWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJK
U0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAt
MTUyLDcgKzE1Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGlj
QXR0cmlidXRlOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhCiAKIEpTVmFsdWUgSlNUZXN0
RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6Z2V0Q29uc3RydWN0b3IoVk0mIHZt
LCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRE
T01Db25zdHJ1Y3RvcjxKU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlRE9N
Q29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdERlbGVnYXRlVG9T
aGFyZWRTeW50aGV0aWNBdHRyaWJ1dGVET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6
VGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGU+KHZtLCAqanNDYXN0PGNvbnN0
IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0RGVs
ZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2Vs
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3REb21haW5TZWN1cml0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RG9tYWluU2VjdXJpdHkuY3BwCmluZGV4IGUxZDk4NDA2MzUwMjE2YTVi
OTlmYzhhNzk1ZDU3NjEyZDAzYzA1MjIuLjdlZjk0OWMxMDJjMWNlYzE0NTEyOTI2M2EwOWU1NjYx
ZDllZjA0MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERvbWFpblNlY3VyaXR5LmNwcApAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIKICNpbmNsdWRlICJKU0RPTUNv
bnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2lu
Y2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0
aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU05vZGUu
aCIKQEAgLTE3NCw3ICsxNzUsNyBAQCBKU09iamVjdCogSlNUZXN0RG9tYWluU2VjdXJpdHk6OnBy
b3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplYwogCiBKU1ZhbHVl
IEpTVGVzdERvbWFpblNlY3VyaXR5OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9y
PEpTVGVzdERvbWFpblNlY3VyaXR5RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0
cnVjdG9yPEpTVGVzdERvbWFpblNlY3VyaXR5RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9y
SUQ6OlRlc3REb21haW5TZWN1cml0eT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3REb21haW5TZWN1cml0eTo6ZGVz
dHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNw
cAppbmRleCA5ODMxZmU5NjBlYmZhNDhmYjcxNjNhNzhiOTkwNzNjYzJmYTFlYjkxLi4yM2JmNzU3
ZWE0ZmE1NGI0ZDI2ZmM0YTE5MmVkNGM5OGQ2ZWM4YzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJs
ZWRCeVNldHRpbmcuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1
Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJKU1Rlc3RTdWJPYmouaCIKQEAgLTI2
OCw3ICsyNjksNyBAQCBKU09iamVjdCogSlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6cHJvdG90eXBl
KFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iagogCiBKU1ZhbHVlIEpTVGVzdEVu
YWJsZWRCeVNldHRpbmc6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
RW5hYmxlZEJ5U2V0dGluZ0RPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rv
cjxKU1Rlc3RFbmFibGVkQnlTZXR0aW5nRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3RFbmFibGVkQnlTZXR0aW5nPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OmRl
c3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0
LmNwcAppbmRleCA5MThiOTRlZWVhYTVlZmQyMzFiODcyOGUxYTAwZmFlYTFkYzhiYzU3Li42MjRl
ZDUxNTY0N2Y3YzVlYzY3ZDQwMzJkMmRiNDc2NTJkN2U5MDBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
bmFibGVkRm9yQ29udGV4dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUJp
bmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgog
I2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2Jh
bE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1
ZGUgIkpTVGVzdFN1Yk9iai5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
QEAgLTE0NSw3ICsxNDYsNyBAQCBKU09iamVjdCogSlNUZXN0RW5hYmxlZEZvckNvbnRleHQ6OnBy
b3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYgogCiBKU1ZhbHVlIEpT
VGVzdEVuYWJsZWRGb3JDb250ZXh0OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9y
PEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0
IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNv
bnN0cnVjdG9yPEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0
cnVjdG9ySUQ6OlRlc3RFbmFibGVkRm9yQ29udGV4dD4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01H
bG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RFbmFibGVkRm9y
Q29udGV4dDo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENv
bnN0cnVjdG9yLmNwcAppbmRleCBlNjBkNjM4ZTNkZDcwMWY0MTI4OGQ4YjNkZmQwNDJkYmYyZDNl
Njc1Li4wZTcwMjM0M2QwYzk4ZjdjNmJiMzM2MzJmODMyMDdlZThhZjEyOWE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAi
SlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGll
bnREYXRhLmgiCkBAIC0yNTUsNyArMjU2LDcgQEAgSlNPYmplY3QqIEpTVGVzdEV2ZW50Q29uc3Ry
dWN0b3I6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmoKIAog
SlNWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNv
bnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNv
bnN0cnVjdG9yPEpTVGVzdEV2ZW50Q29uc3RydWN0b3JET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nh
c3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4g
Z2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RXZlbnRDb25zdHJ1Y3RvckRPTUNvbnN0cnVjdG9yLCBE
T01Db25zdHJ1Y3RvcklEOjpUZXN0RXZlbnRDb25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogSlNDX0RFRklORV9DVVNU
T01fR0VUVEVSKGpzVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3Bl
cnR5TmFtZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCBkZjhlYTE4NjgwODIyMTZl
M2M3ODMzNDYyZTAwYTkyNWY1Njk2NjAxLi43YjBiYWUzYTQwNTBmYWMyMmY2ZmFhY2I0ZjBlYjEz
ODNiODk0OTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1iZXJzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRp
b25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAi
SlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgpAQCAt
MTUwLDcgKzE1MSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RFdmVudFRhcmdldDo6cHJvdG90eXBlKFZN
JiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIAogSlNWYWx1ZSBKU1Rlc3RF
dmVudFRhcmdldDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RFdmVu
dFRhcmdldERPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RF
dmVudFRhcmdldERPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0RXZlbnRUYXJn
ZXQ+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7
CiB9CiAKIGJvb2wgSlNUZXN0RXZlbnRUYXJnZXQ6OmdldE93blByb3BlcnR5U2xvdChKU09iamVj
dCogb2JqZWN0LCBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNw
cAppbmRleCA3YWYwODgzNTI1MWY5NGMwMjRmNTIwZTI5NDNhNWMwMDFjYjI3OTRiLi5iM2Q2MjUx
M2Y1MjE0NTVhNDU1MDc4NjExMmNhZGVlZDMwMmU2MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1
Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpT
RE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCkBAIC0x
NDQsNyArMTQ1LDcgQEAgSlNPYmplY3QqIEpTVGVzdEV4Y2VwdGlvbjo6cHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIAogSlNWYWx1ZSBKU1Rlc3RFeGNl
cHRpb246OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0RXhjZXB0aW9u
RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEV4Y2VwdGlv
bkRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0RXhjZXB0aW9uPih2bSwgKmpz
Q2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lk
IEpTVGVzdEV4Y2VwdGlvbjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcAppbmRleCBkNWMyODQyZTk1M2NkMjViYjdmZWYx
NzQ1NmIzYWFmN2VlM2U5MDQ4Li41NTI4OTM2NzMwNTY3YTMwYzA5NmZlMTIzYjNkZmY1ZDQ1MDdi
MTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCkBAIC0yOCw2
ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIK
ICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRp
b25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE1NCw3ICsxNTUs
NyBAQCBKU09iamVjdCogSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZTo6cHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbAogCiBKU1ZhbHVlIEpTVGVzdEdlbmVyYXRlSXNS
ZWFjaGFibGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFi
bGU6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3Bw
CmluZGV4IGNiMzQ1MTRiMjRkNzg3ZDUwYjFiZGFkNzNlNmRkZjQ4MzlhZjEwMDQuLmVmNjk4OGY1
MDk2NDkwMTVhNThlMWQ2ZTI1ZmQxZDdkZDJjNGZkYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmpl
Y3QuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb25SZXR1cm5p
bmdQcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTcwNCw3ICs3
MDUsNyBAQCB2b2lkIEpTVGVzdEdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQog
CiBKU1ZhbHVlIEpTVGVzdEdsb2JhbE9iamVjdDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25z
dCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RHbG9iYWxPYmplY3RET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0R2xvYmFsT2JqZWN0RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVj
dG9ySUQ6OlRlc3RHbG9iYWxPYmplY3Q+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0R2xvYmFsT2JqZWN0OjpkZXN0
cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4IDJmYWQxYmU2NGMzMjU1MDVmYTI5MTYwMzQxMmMyNzEx
NDI3MzMzNTcuLjFiNTY2NDcwNTliMjI2MzhjOThmMDgwN2RlOGZkNjM2NTMxYjc5OGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKQEAgLTI3
LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5o
IgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2Vw
dGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQyLDcgKzE0
Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyOjpwcm90b3R5
cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYKIAogSlNWYWx1ZSBKU1Rlc3RJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllckRPTUNvbnN0cnVjdG9y
LCBET01Db25zdHJ1Y3RvcklEOjpUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllcj4odm0sICpq
c0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9p
ZCBKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBj
ZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcAppbmRleCBkN2U2OTNjYjI5YzEyMWQ2ZDdhZTZhOWRmNDNhMDdlNDYyNDU5NmNl
Li5kODU0N2RlNjFjODJmZjg2ZjA5ZDUzZGU4Mzg5MDhjNzcwNGQxNGFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxl
LmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhj
ZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCkBAIC0xNDIsNyAr
MTQzLDcgQEAgSlNPYmplY3QqIEpTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6
cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmoKIAogSlNWYWx1ZSBKU1Rlc3RJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0
b3I8SlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3I+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbkRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0SW5kZXhlZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50
aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKaW5kZXggY2U1YTNjYTMyY2NhZmE0MjJj
YzdmNGQyODE0ZTNiNjQ4YTU5OTk3Mi4uMGMxMmE1ODUwMjQ3MWI5ODhjNjFjZWEwOTRkZDViNmI1
YmJjY2ZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRl
bnRpZmllci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1i
ZXJzLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9N
RXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMu
aCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNh
Y2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTUxLDcgKzE1
Miw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI6OnByb3Rv
dHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0CiAKIEpTVmFsdWUgSlNUZXN0SW5kZXhlZFNl
dHRlcldpdGhJZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpT
VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJET01Db25z
dHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmll
cj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
IH0KIAogdm9pZCBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGMyMDliMTJjNmY0NTVj
YTY3MWRiMmYyY2M5MmJkMDQ3ZDczZDI0Y2YuLmQ4ZGY4MzRkYmY3ZmQzMWRiYTc0M2ZjNGJkZjU0
MjMxMjQ1ZDYxYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiSlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0
U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRl
ICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTUl0ZXJhdG9yLmgi
CiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNo
ZS5oIgpAQCAtNTAwLDcgKzUwMSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RJbnRlcmZhY2U6OnByb3Rv
dHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUg
SlNUZXN0SW50ZXJmYWNlOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVz
dEludGVyZmFjZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3RJbnRlcmZhY2VET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEludGVyZmFj
ZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
IH0KIAogdm9pZCBKU1Rlc3RJbnRlcmZhY2U6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcAppbmRl
eCBkYmE1ZmIzZGNhN2FkYzFjYzY4ODIzMWJhY2IxYmUyNDMyMWZjMjJkLi4xM2VjYWVkNzVlMjQ1
YTgwYjk3ZTUyYWNmNTU2NTBkMjBkMDU1ZTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
bnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
Q2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQ0LDcgKzE0NSw3IEBAIEpTT2JqZWN0KiBKU1Rl
c3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9i
YWxPYmplY3QmCiAKIEpTVmFsdWUgSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmU6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0SW50ZXJmYWNlTGVhZGluZ1Vu
ZGVyc2NvcmVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmpl
Y3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmVET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJ
RDo6VGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEludGVyZmFj
ZUxlYWRpbmdVbmRlcnNjb3JlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVy
YWJsZS5jcHAKaW5kZXggM2QwMDliOWQwYzkyNmQxOGQ4ZDg5NTBiNjRhYjQwNTgwYWY5NTdjMi4u
NzAwZWM5OTRiY2I1ZjU4NGZlYTBmN2VjYzEwMGVmYzMyODM3YjM0YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFi
bGUuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENv
bnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRJbnRlcmZhY2UuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01JdGVyYXRvci5oIgogI2luY2x1ZGUgIkpTRE9N
T3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTE1Nyw3ICsx
NTgsNyBAQCBKU09iamVjdCogSlNUZXN0SXRlcmFibGU6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgSlNUZXN0SXRlcmFibGU6Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0SXRlcmFibGVET01Db25zdHJ1
Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0SXRlcmFibGVET01Db25zdHJ1
Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdEl0ZXJhYmxlPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdEl0ZXJh
YmxlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RKU0J1aWx0
aW5Db25zdHJ1Y3Rvci5jcHAKaW5kZXggMDA5ZTNjMTkxMjhlZWIxYzU4NjdlMjhiODY2OGZjMmE4
YmJlZGEyYS4uZGFlOWIyMGI2MWQwNzQ4NjZiMTVlZTg2MWFjOGM5YzRlNWI5Nzg0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVp
bHRpbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCkBAIC0yNiw2ICsyNiw3IEBA
CiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01CdWlsdGluQ29uc3Ry
dWN0b3IuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAi
SlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIK
ICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlRlc3RKU0J1aWx0aW5D
b25zdHJ1Y3RvckJ1aWx0aW5zLmgiCkBAIC0xNTIsNyArMTUzLDcgQEAgSlNPYmplY3QqIEpTVGVz
dEpTQnVpbHRpbkNvbnN0cnVjdG9yOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVj
dCYgZ2xvYmEKIAogSlNWYWx1ZSBKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3Ry
dWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckRPTUNv
bnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RKU0J1aWx0aW5Db25z
dHJ1Y3RvckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0SlNCdWlsdGluQ29u
c3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3I6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24u
Y3BwCmluZGV4IDRjNDA1ODI4MmQzNGNhOWE0ZTE3NDA0ZTk4N2VhNzk2Zjg1YjdiZmIuLjNhZGMx
MmZkMmY0YzYwYmVjNmNlN2I2NjA1NzAxMTE1MGExM2ZkODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
SlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTUxlZ2FjeUZhY3RvcnlGdW5jdGlv
bi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgpAQCAtMTkzLDEyICsxOTQsMTIgQEAgSlNPYmplY3QqIEpTVGVzdExl
Z2FjeUZhY3RvcnlGdW5jdGlvbjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsb2IKIAogSlNWYWx1ZSBKU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb246OmdldENvbnN0cnVj
dG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBy
ZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uRE9NQ29u
c3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdExlZ2FjeUZhY3RvcnlG
dW5jdGlvbkRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TGVnYWN5RmFjdG9y
eUZ1bmN0aW9uPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOwogfQogCiBKU1ZhbHVlIEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbjo6Z2V0TGVn
YWN5RmFjdG9yeUZ1bmN0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0
aW9uTGVnYWN5RmFjdG9yeUZ1bmN0aW9uPih2bSwgKmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RMZWdh
Y3lGYWN0b3J5RnVuY3Rpb25MZWdhY3lGYWN0b3J5RnVuY3Rpb24sIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb25MZWdhY3lGYWN0b3J5Pih2bSwgKmpzQ2FzdDxKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdExlZ2FjeUZh
Y3RvcnlGdW5jdGlvbjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlk
ZUJ1aWx0SW5zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAppbmRleCBjZGU0ZTA0NmJjZDJmYjA4NDgy
MTE2NWFhMDc0NTEwMGZjMDA5MDM3Li44NDMyZjEzNWIyZmUyZTRiNmNiMjJhZmVlY2M5ZTkzMzg0
MjBjZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3Bw
CkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2lu
Y2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9i
amVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNs
dWRlICJKU05vZGUuaCIKQEAgLTE1MSw3ICsxNTIsNyBAQCBKU09iamVjdCogSlNUZXN0TGVnYWN5
T3ZlcnJpZGVCdWlsdEluczo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
bwogCiBKU1ZhbHVlIEpTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OmdldENvbnN0cnVjdG9y
KFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1
cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdEluc0RPTUNvbnN0
cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RMZWdhY3lPdmVycmlk
ZUJ1aWx0SW5zPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOwogfQogCiB2b2lkIEpTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OmRlc3Ryb3ko
SlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZS5jcHAKaW5kZXggNmMzOTY4Y2E5YTI5ZWRk
YzE0NjU0MDczMjY0YmM1ZWQxODBkMTExNC4uYjQ4NzZmMzg4ZGYzZjMxMmI3NmY4MDAwNTdjMjJk
OTllMDgwNTZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE1hcExpa2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkpTRE9NQ29udmVydEFueS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIK
ICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9i
YWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01NYXBMaWtlLmgiCiAjaW5jbHVkZSAi
SlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgpAQCAtMTcw
LDcgKzE3MSw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RNYXBMaWtlOjpwcm90b3R5cGUoVk0mIHZtLCBK
U0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpTVGVzdE1hcExpa2U6
OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TWFwTGlrZURPTUNvbnN0
cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RNYXBMaWtlRE9NQ29uc3Ry
dWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RNYXBMaWtlPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdE1hcExp
a2U6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3Bl
cmF0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAKaW5kZXggZWJkMGMzNGRjODQ4
MjQyMzRjN2IzZTRmZjM4NjA0ODJmNjAxNjViYy4uZjJmNjBlNjI5NmU3OTgyMDUyYTY5ZGQ4MDY0
YmJhYTM2NWJkOTAxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0
aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkpT
RE9NQ29udmVydE51bWJlcnMuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAj
aW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFs
T2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NTWFwTGlrZS5oIgogI2luY2x1ZGUgIkpT
RE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTE3NCw3
ICsxNzUsNyBAQCBKU09iamVjdCogSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9u
czo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYgogCiBKU1ZhbHVlIEpTVGVzdE1hcExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3Qg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uc0RPTUNvbnN0cnVjdG9y
Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwor
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RNYXBMaWtlV2l0
aE92ZXJyaWRkZW5PcGVyYXRpb25zPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnM6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyTm9JZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4
IGJiZjJmMzMxMDBkMDc2ZTYwMjEyYWViNmRkZTc4NGIxMDM3Y2VjNjEuLjI1MWNlMTE3YzY4ZDBk
ZWJiYjc5YjZiNjZhYjk5OTBlMzI4N2I3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50
aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0yOCw2ICsyOCw3
IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNs
dWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5k
bGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Myw3ICsxNDQsNyBAQCBK
U09iamVjdCogSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyOjpwcm90b3R5
cGUoVk0mIHZtLCBKU0RPTUdsb2JhbAogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3Rvcj4odm0sICpq
c0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1
cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlm
aWVyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJOb0lkZW50aWZpZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4o
Z2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9J
ZGVudGlmaWVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlclRocm93aW5nRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5j
cHAKaW5kZXggN2U1MmY1N2VkZmMxMTMxYjI4MjIwYjhmZGQ1OThhZGFmOWFmZjM4Mi4uZDNiMTA2
ODdhYzI3Y2YyYjY4OGJiMjRkNWI4NWU4ODcyNzg5MWZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24u
Y3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0
cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAi
SlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5s
aW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAg
LTE0Myw3ICsxNDQsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhy
b3dpbmdFeGNlcHRpb246OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NRwogCiBKU1ZhbHVlIEpTVGVz
dE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3RvcihW
TSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3IsIERPTUNv
bnN0cnVjdG9ySUQ6OlRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4o
dm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0K
IAogdm9pZCBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6ZGVz
dHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRp
Zmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCmluZGV4IGRkZWE0MGE0ODA2
ZGMyOTY3MDA0ZGU3ZGM1ZGJmNThhMDgxZjM5ODcuLmFlNmIxMDRlNWI1MzczMmJjZmI0ZWY0YzAy
M2QwNTdjZDZhNzc2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
QW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgIkpTRE9NQ29udmVydE51bWJlcnMuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJp
bmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpT
RE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgiCkBAIC0xNTQsNyArMTU1LDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmaWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2IKIAog
SlNWYWx1ZSBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6Z2V0Q29u
c3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewot
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxK
U1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yLCBE
T01Db25zdHJ1Y3RvcklEOjpUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI+
KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9
CiAKIHZvaWQgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI6OmRlc3Ry
b3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJO
b0lkZW50aWZpZXIuY3BwCmluZGV4IGI1OTBhMmU0NGE2ZmYzMWY3OTMzNThkNWQxZDc4ZTY3NWUx
Njk5NzUuLjEzOTFjODg3ZGZlYjdkY2FiNGIzYmViZjM1MDczMzM4NWFiZjEyMjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERl
bGV0ZXJOb0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0yOCw2ICsy
OCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNp
bmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25I
YW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1
ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Miw3ICsxNDMsNyBA
QCBKU09iamVjdCogSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyOjpwcm90b3R5cGUoVk0m
IHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZwogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkRGVsZXRlck5v
SWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1l
ZERlbGV0ZXJOb0lkZW50aWZpZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3Ry
dWN0b3I8SlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3IsIERPTUNv
bnN0cnVjdG9ySUQ6OlRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXI+KHZtLCAqanNDYXN0PGNv
bnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0
TmFtZWREZWxldGVyTm9JZGVudGlmaWVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAK
aW5kZXggNWQ5YjU3ZmZiZmIxMDhhNmI4ZDJlZjU2MmFhN2IxNWI4Y2Q1ZmM3Mi4uMDgxMzEwMWY0
ZTM0ZTFkM2VlZTk1YzUxOTllYTdjNzgxODRkZDc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBA
CiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRl
ICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGlu
Zy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
RE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Miw3ICsxNDMsNyBAQCBKU09i
amVjdCogSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb246OnByb3RvdHlwZShWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZQogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5n
RXhjZXB0aW9uOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVk
RGVsZXRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0
IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNv
bnN0cnVjdG9yPEpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uRE9NQ29uc3RydWN0
b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4o
dm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0K
IAogdm9pZCBKU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6ZGVzdHJveShKU0M6
OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElk
ZW50aWZpZXIuY3BwCmluZGV4IDNhMDY0MGVjYWZlOWFhMDQxZTA3MzE2ZThjMGI2NDE1OTNmZDli
YjguLjFlYmZkMDM1MjBmYTE5OWNiMjQ0NWJjYTJjYTc3YTU1NThmOWYxZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0
ZXJXaXRoSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydEJhc2UuaCIKICNpbmNsdWRlICJKU0RPTUNv
bnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2lu
Y2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0
aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNTAsNyArMTUxLDcgQEAgSlNPYmplY3QqIEpTVGVzdE5h
bWVkRGVsZXRlcldpdGhJZGVudGlmaWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYKIAogSlNWYWx1ZSBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcjo6Z2V0Q29u
c3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewot
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRp
ZmllckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1l
ZERlbGV0ZXJXaXRoSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpU
ZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWREZWxldGVy
V2l0aElkZW50aWZpZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVy
V2l0aEluZGV4ZWRHZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAppbmRleCBlMjNj
ZjdlZWY2YWE1MDdmN2FhNWYyMWJjYzg3MWE0MWVhNmU4NTM4Li5kMGJhMDQ3Mjc1ZDM0YzIzNTZl
OWM4YTQ5MDUwNjAwMjgwMjYxNTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRl
ICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29u
dmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5j
bHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
Q2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMTQzLDcgKzE0NCw3IEBAIEpTT2JqZWN0KiBKU1Rl
c3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01H
bG9iYWxPYmplCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXI6
OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWREZWxldGVyV2l0
aEluZGV4ZWRHZXR0ZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXJET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyPih2bSwgKmpzQ2Fz
dDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpT
VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBj
ZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwCmluZGV4IGI4NDcx
NDk2NDdlNjgwNDE1OWNmNjAxY2MyOTViZmU5YjBiZTRlMzYuLmVhMGU1MTNlOGM5NzE5YjIyZjYw
ZWU3M2VlNzAxYTRhZDdhNDE3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxs
V2l0aC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90
Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5o
IgpAQCAtMTQyLDcgKzE0Myw3IEBAIEpTT2JqZWN0KiBKU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRo
Ojpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsCiAKIEpTVmFsdWUg
SlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1
Y3RvcjxKU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0
PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdl
dERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGhET01Db25zdHJ1Y3Rvciwg
RE9NQ29uc3RydWN0b3JJRDo6VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGg+KHZtLCAqanNDYXN0PGNv
bnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0
TmFtZWRHZXR0ZXJDYWxsV2l0aDo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdl
dHRlck5vSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4IDRkMDkzOTg3MDZl
NDk1ODk1ZGU0MGQ5ODIxN2QwMGIyZTc2NzY2ZmEuLmM5Y2Y0ZWM4Y2I3ZjE3Y2U4YTQ0NGM1YWFm
ODBiYWE4YzczZGNiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyTm9JZGVu
dGlmaWVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JO
b3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2lu
Y2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9i
amVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRh
LmgiCkBAIC0xNDIsNyArMTQzLDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkR2V0dGVyTm9JZGVu
dGlmaWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2wKIAogSlNWYWx1
ZSBKU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBj
b25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01D
b25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yPih2
bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllckRP
TUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZp
ZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7
CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXI6OmRlc3Ryb3koSlNDOjpK
U0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRp
Zmllci5jcHAKaW5kZXggOGRiMTk5YjM2YjBmMjVlMzFkOTYxODI0ZDc3ZTA3MDc2ZDYwNmQ1OC4u
NWNkNTI5YzQwODhiM2FkMTlkOTVmMDAyNTcxZjZjZjQxNDkwMDc4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0
aElkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcApAQCAtMjgsNiArMjgsNyBA
QAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVk
ZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTQ4LDcgKzE0OSw3IEBAIEpTT2JqZWN0
KiBKU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RP
TUdsb2JhbE9iamVjdCYKIAogSlNWYWx1ZSBKU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVy
OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkR2V0dGVyV2l0
aElkZW50aWZpZXJET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3Rv
cklEOjpUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZEdl
dHRlcldpdGhJZGVudGlmaWVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0
dGVyTm9JZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5jcHAKaW5kZXggNzFiNzIyMzhhNzc5
N2IwOTg1MjY4NDVjOTZmZTZhNWM0Y2QzN2M1Ny4uNTNmMTc0OWYyMWI4NThiZjNmOWRmMWNhMzY4
NGI0NWI5NmIxZTk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50
aWZpZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5v
dENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5j
bHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2Jq
ZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEu
aCIKQEAgLTE0Miw3ICsxNDMsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50
aWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbAogCiBKU1ZhbHVl
IEpTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNv
bnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNv
bnN0cnVjdG9yPEpTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyRE9NQ29uc3RydWN0b3I+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyRE9N
Q29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmll
cj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
IH0KIAogdm9pZCBKU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcjo6ZGVzdHJveShKU0M6OkpT
Q2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5n
RXhjZXB0aW9uLmNwcAppbmRleCA0NzAzOTQzOGE3MjM4YTZhZTBhMTU1NDNhYTg4MjdkN2IzMTlk
NTJiLi4zMTEwYjFmZjBmM2U0YTYzMDhlZWIwNDk0YzRjNjYwYWMyZWE3ZjUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCkBAIC0y
OCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUu
aCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNl
cHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgog
I2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTE0Miw3ICsx
NDMsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6cHJv
dG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplYwogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb246OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkRPTUNvbnN0cnVjdG9yPih2bSwgKmpz
Q2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVy
biBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0aW9uRE9N
Q29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOwogfQogCiB2b2lkIEpTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OmRlc3Ry
b3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSWRlbnRpZmllci5jcHAKaW5kZXggNWVhZGRkMGU4ODZmNmZjZWEyMzRlZDVlZDVhMjhjMThh
OTIwNjUxOC4uMzIzYmZlYzkzNmMwMTNiMzkxNTY0NTRhZTViMzYxMDc2ZDM0M2YxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcApAQCAtMzAs
NiArMzAsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydEJhc2UuaCIKICNpbmNsdWRlICJKU0RP
TUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgor
I2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3Bl
cmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNTAsNyArMTUxLDcgQEAgSlNPYmplY3QqIEpTVGVz
dE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFs
T2JqZWN0JgogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXI6OmdldENv
bnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsK
LSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRp
ZmllckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1l
ZFNldHRlcldpdGhJZGVudGlmaWVyRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRl
c3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2Jh
bE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdE5hbWVkU2V0dGVyV2l0
aElkZW50aWZpZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRo
SW5kZXhlZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAKaW5kZXggODJmY2ViYmMx
MmU3MzM2YzUzMWNkNmZmNDlkODc5NjFhMjY5MzlmNC4uZjA0Yzg0MmU0MGJjZjgzZGI0NTZmZjJl
OGYwNTllYzUzNmQ1MTgzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhJbmRleGVkR2V0dGVyLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkpTRE9N
Q29udmVydE51bWJlcnMuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5j
bHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2Jq
ZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNE
T01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBA
IC0xNTQsNyArMTU1LDcgQEAgSlNPYmplY3QqIEpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXI6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWMKIAogSlNWYWx1ZSBKU1Rl
c3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNv
bnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNv
bnN0cnVjdG9yPEpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJET01Db25zdHJ1Y3Rv
cj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
KyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhl
ZEdldHRlckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0TmFtZWRTZXR0ZXJX
aXRoSW5kZXhlZEdldHRlcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0
dGVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXJBbmRTZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIuY3BwCmluZGV4
IDI0ODc0ZjVjNjcyODY1OGFkYTAxZGE5YWFmZGRkODlmNmJiYmY2OTcuLmRhMDk3MGVjYjBmZTRl
ZjJjNGY1MzVmMzc1NmFmZjJiNDdiMDhmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVy
QW5kU2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHAKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1iZXJzLmgiCiAjaW5jbHVkZSAi
SlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcu
aCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RP
TU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTU0LDcgKzE1NSw3IEBAIEpTT2JqZWN0KiBK
U1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyOjpwcm90b3R5cGUoVk0m
IHZtLCBKU0RPTUdsCiAKIEpTVmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRl
ckFuZFNldHRlcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1l
ZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyRE9NQ29uc3RydWN0b3I+KHZtLCAqanND
YXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRT
ZXR0ZXJET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE5hbWVkU2V0dGVyV2l0
aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXI+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckFuZFNldHRlcjo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNl
dHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1
aWx0SW5zLmNwcAppbmRleCBlNjE1MjMwM2ViNDVhNDRlNDY0NDI5Nzc1MWM2YTMyNDZhOTJhYzMz
Li4xMmZjOTlkNWQyMWFiNmVmODQ4NmI1YmY1NjJmN2I0ZmRjNjhlYjczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVp
bHRJbnMuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5v
dENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5j
bHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2Jq
ZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEu
aCIKQEAgLTE0Miw3ICsxNDMsNyBAQCBKU09iamVjdCogSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVn
YWN5T3ZlcnJpZGVCdWlsdEluczo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbAogCiBKU1ZhbHVl
IEpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OmdldENvbnN0cnVj
dG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICBy
ZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJp
ZGVCdWlsdEluc0RPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zRE9NQ29uc3RydWN0b3IsIERP
TUNvbnN0cnVjdG9ySUQ6OlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5z
Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwog
fQogCiB2b2lkIEpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OmRl
c3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFi
bGVQcm9wZXJ0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMuY3BwCmlu
ZGV4IGMyMmE2MzE4MzM4NTllYWZjODI2YWMxYmU0OWE0MjM4NmVlZmQxZTIuLjNjM2Q2OGQwODUw
ZTU3MzU3YWZkOTc4MjNlMDVkMjAyYTNkYjM1ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZv
cmdlYWJsZVByb3BlcnRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRp
ZXMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0QmFzZS5oIgog
I2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlv
bkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE2OCw3ICsxNjksNyBAQCBK
U09iamVjdCogSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVz
Ojpwcm90b3R5cGUoVk0mIHZtLCBKUwogCiBKU1ZhbHVlIEpTVGVzdE5hbWVkU2V0dGVyV2l0aExl
Z2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllczo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1
Y3RvcjxKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNET01D
b25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxP
YmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVj
dG9ySUQ6OlRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXM+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAK
IHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzOjpk
ZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2Vh
YmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVu
Zm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCmluZGV4IGNj
YzVjMDMzMzc0MjlhZDc2NDViMjRjZTdkNTljYjRjOGM4YmU5YTcuLmE3ZjU0MTIwYjQ3NjBjODA4
YjkxM2IxNDFjMDc3MDI4MDg5NTJlZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5
VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRCYXNlLmgiCiAjaW5jbHVkZSAiSlNE
T01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIK
KyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9w
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTY4LDcgKzE2OSw3IEBAIEpTT2JqZWN0KiBKU1Rl
c3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVy
cmlkZUJ1aWx0CiAKIEpTVmFsdWUgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFi
bGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6Z2V0Q29uc3RydWN0b3IoVk0m
IHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zRE9NQ29uc3RydWN0b3I+KHZtLCAqanND
YXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxl
UHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGll
c0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRo
TGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6ZGVz
dHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lc3BhY2VPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVzcGFjZU9iamVjdC5jcHAK
aW5kZXggY2MxMzQzYmY4YzVmMDQwOTBlNTM2YTZkODA1MjViMTc2MTAwNTZhNC4uZDAyMzExZmY0
YWIzMzc3YmZjMjc0ZWE1NzVjMGNhYzA2ZGRkYmRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVzcGFjZU9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVzcGFj
ZU9iamVjdC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnROdW1i
ZXJzLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9N
RXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMu
aCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNh
Y2hlLmgiCiAjaW5jbHVkZSAiSlNUZXN0T2JqLmgiCkBAIC0xNDUsNyArMTQ2LDcgQEAgdm9pZCBK
U1Rlc3ROYW1lc3BhY2VPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogSlNWYWx1ZSBK
U1Rlc3ROYW1lc3BhY2VPYmplY3Q6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNUZXN0TmFtZXNwYWNlT2JqZWN0RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0
cnVjdG9yPEpTVGVzdE5hbWVzcGFjZU9iamVjdERPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3Rv
cklEOjpUZXN0TmFtZXNwYWNlT2JqZWN0Pih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdE5hbWVzcGFjZU9iamVjdDo6
ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAppbmRleCBmNTQyNjhjOWUxMGZm
Mzg2NWExYjJhNGE0N2NkYThlZjQ5NTYwNDg1Li5iZGI2Nzk1NWNkOWY0Yjk4MDgwOGIyMTZkNmNj
Y2Y5YTJkZGQzMmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
SlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcu
aCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFs
T2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NSXRlcmF0b3IuaCIKICNpbmNsdWRlICJK
U0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uUmV0dXJuaW5nUHJvbWlz
ZS5oIgpAQCAtMjU1LDcgKzI1Niw3IEBAIEpTT2JqZWN0KiBKU1Rlc3ROb2RlOjpwcm90b3R5cGUo
Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogCiBKU1ZhbHVlIEpTVGVz
dE5vZGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0Tm9kZURPTUNv
bnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9i
amVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3ROb2RlRE9NQ29uc3Ry
dWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3ROb2RlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9H
RVRURVIoanNUZXN0Tm9kZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmou
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAKaW5kZXggMmFiZjUxOGIyM2I4NjgxZmQxMjQ3ZjFkMjFmMmE0NGM3MDg4NWZlZS4uNGNjMTYx
YjRmOWRlNTM3NjdkYTlhMThhNTEzZDQ2ZTMyZDFhZTFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTU1LDYg
KzU1LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRYUGF0aE5TUmVzb2x2ZXIuaCIKICNpbmNs
dWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmpl
Y3QuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJK
U0RPTU9wZXJhdGlvblJldHVybmluZ1Byb21pc2UuaCIKQEAgLTI1MTcsNyArMjUxOCw3IEBAIEpT
T2JqZWN0KiBKU1Rlc3RPYmo6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgSlNUZXN0T2JqOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0s
IGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERP
TUNvbnN0cnVjdG9yPEpTVGVzdE9iakRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25z
dHJ1Y3RvcjxKU1Rlc3RPYmpET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdE9i
aj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsK
IH0KIAogdm9pZCBKU1Rlc3RPYmo6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3BlcmF0
aW9uQ29uZGl0aW9uYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmNwcAppbmRleCA5NzU3ODFhMDZlNzU3NGUw
MmFkZDI2YzgzZTMyMzYyMjE2OTY1YzE5Li5hOTU4ZDI0OWQ2MDdmMDUxNDJkNjVjNjU5NjU4MWJl
ZGU1NjE2ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5jcHAK
QEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJK
U0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0
aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNp
bmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgi
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTY4LDcgKzE2OSw3IEBA
IEpTT2JqZWN0KiBKU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbDo6cHJvdG90eXBlKFZNJiB2bSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhCiAKIEpTVmFsdWUgSlNUZXN0T3BlcmF0aW9uQ29uZGl0
aW9uYWw6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0T3BlcmF0aW9u
Q29uZGl0aW9uYWxET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxP
YmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6
VGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9i
amVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdE9wZXJhdGlvbkNvbmRpdGlv
bmFsOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwCmluZGV4IDVhNmRjYzU5NjFjZDkwYmRlMDVhZDFiOGMzN2Yy
ZTE5ZWQ4MDAxM2EuLjk4MGVmZTNiODEzOGY4ZGVmNTdlMWM2ZDgzZGQ2Yjg4ZWRiMzNjMjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKQEAgLTMyLDYg
KzMyLDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNE
T01Db252ZXJ0VmFyaWFkaWMuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgi
CisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01X
cmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5j
bHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgpAQCAtMjY1LDcgKzI2Niw3IEBAIEpTT2JqZWN0
KiBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvCiAKIEpTVmFsdWUgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6
Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yczo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
V2l0aFNlcXVlbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAppbmRleCA0YWE1
YzkxMTdmNmQ5N2Q3YjhhYjU3MGM5ZGRkYTlkZTQ2NzI4NDkyLi5mNjc3ZTgxMmFlOGRhZTY0Zjky
YjAxNmRkZDhkNWFlOGRjNWI5NGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5j
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U2VxdWVuY2VzLmgiCiAjaW5jbHVkZSAiSlNET01Db252
ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNs
dWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJD
YWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJX
ZWJDb3JlSlNDbGllbnREYXRhLmgiCkBAIC0yMDgsNyArMjA5LDcgQEAgSlNPYmplY3QqIEpTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OnByb3RvdHlwZShWTSYgdm0sIEpT
RE9NR2xvYmEKIAogSlNWYWx1ZSBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVl
bmNlOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3Qg
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZURPTUNvbnN0
cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhT
ZXF1ZW5jZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNl
OjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNl
LmNwcAppbmRleCBiOThiZjZlMzk1NTQzYzdmYmRlZGYwY2Q3ZDI2MDcyZjNmYmUxMTk5Li5hZDVl
MWQ3YTNiODBiMGQxZjk3ZTc1YmQyOGVjNzViMTMyZTRiYWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1
Z2luSW50ZXJmYWNlLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5j
bHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2Jq
ZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAi
SlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgpAQCAtMTQxLDcgKzE0Miw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RQbHVnaW5JbnRlcmZh
Y2U6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplCiAKIEpT
VmFsdWUgSlNUZXN0UGx1Z2luSW50ZXJmYWNlOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0
cnVjdG9yPEpTVGVzdFBsdWdpbkludGVyZmFjZURPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRE
T01Db25zdHJ1Y3RvcjxKU1Rlc3RQbHVnaW5JbnRlcmZhY2VET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6VGVzdFBsdWdpbkludGVyZmFjZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01H
bG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RQbHVnaW5JbnRl
cmZhY2U6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9t
aXNlUmVqZWN0aW9uRXZlbnQuY3BwCmluZGV4IDcyOWJhYmQzMWNiZmE0ODMyYTY1Y2M3NTc2MDdj
ODE3ZDJlYTgxMTIuLjI1MGMxMmUwM2I3NmNjNzBkMzBiNDI4NmJmNGYzYWUwYjViYThjMmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCkBAIC0zNCw2ICsz
NCw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpTRE9N
RXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2lu
Y2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBl
ckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUg
IldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAgLTI1MSw3ICsyNTIsNyBAQCBKU09iamVjdCogSlNU
ZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Ojpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYgogCiBKU1ZhbHVlIEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudDo6Z2V0Q29u
c3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewot
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRE
T01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0UHJvbWlzZVJl
amVjdGlvbkV2ZW50RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RQcm9taXNl
UmVqZWN0aW9uRXZlbnQ+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CiB9CiAKIEpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RQcm9taXNl
UmVqZWN0aW9uRXZlbnRDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9u
bHlNYXBMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RSZWFkT25seU1hcExpa2UuY3BwCmluZGV4IGQxMTdhODk3MGY1NTNhZDAzNzU4MWZiOWVi
NGE0ZjhiMDQxZTgxMDkuLjNhMmRkMjFmODk4NTJkY2M3NmU3OTQ5NzYwNzM2NDBmYThkMTQxMDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RSZWFkT25seU1hcExpa2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAj
aW5jbHVkZSAiSlNET01Db252ZXJ0QW55LmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5n
cy5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RP
TUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIKICNpbmNs
dWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCkBA
IC0xNjQsNyArMTY1LDcgQEAgSlNPYmplY3QqIEpTVGVzdFJlYWRPbmx5TWFwTGlrZTo6cHJvdG90
eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamUKIAogSlNWYWx1ZSBKU1Rl
c3RSZWFkT25seU1hcExpa2U6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNU
ZXN0UmVhZE9ubHlNYXBMaWtlRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVj
dG9yPEpTVGVzdFJlYWRPbmx5TWFwTGlrZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklE
OjpUZXN0UmVhZE9ubHlNYXBMaWtlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFJlYWRPbmx5TWFwTGlrZTo6ZGVz
dHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seVNldExpa2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAK
aW5kZXggMTcyMTI3MGZlMTc5NmY1NWQwMGQxYTkxMzc1ZDU5Njc5Mjg3NDBmNC4uOGZhYmZkOGU4
OGY0ZjQ0YjEzNDQxNzc5OWQyZjBlM2NjZWVmMzkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5
U2V0TGlrZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRBbnku
aCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNl
cHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgog
I2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01TZXRMaWtlLmgiCiAj
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKQEAgLTE2Miw3ICsxNjMsNyBAQCBKU09iamVj
dCogSlNUZXN0UmVhZE9ubHlTZXRMaWtlOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZQogCiBKU1ZhbHVlIEpTVGVzdFJlYWRPbmx5U2V0TGlrZTo6Z2V0Q29u
c3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewot
ICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RSZWFkT25seVNldExpa2VET01Db25z
dHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0UmVhZE9ubHlTZXRMaWtl
RE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RSZWFkT25seVNldExpa2U+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAK
IHZvaWQgSlNUZXN0UmVhZE9ubHlTZXRMaWtlOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFJlcG9ydEV4dHJhTWVtb3J5Q29zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmNwcAppbmRleCA2NzM5ZTY1
ZmRhMjM3OTY1NmVlNzlkMmE2ZDFiMWQ5MmVhYTA5M2E4Li44NTBhMTAzZGFjODA1Njc4MDYwZGRh
ZGE0Y2IzYjZjMTBhMTcwZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVwb3J0RXh0cmFNZW1v
cnlDb3N0LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgog
I2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgiCiAjaW5jbHVkZSAi
SlNET01FeGNlcHRpb25IYW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5s
aW5lcy5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKQEAg
LTE0MSw3ICsxNDIsNyBAQCBKU09iamVjdCogSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0Ojpw
cm90b3R5cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYgogCiBKU1ZhbHVlIEpTVGVz
dFJlcG9ydEV4dHJhTWVtb3J5Q29zdDo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3Rv
cjxKU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8
Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0
RE9NQ29uc3RydWN0b3I8SlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0RE9NQ29uc3RydWN0b3Is
IERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q+KHZtLCAqanNDYXN0
PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNU
ZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0OjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNw
cAppbmRleCA1MzVkMGQ2OWJhNTI2MTM5YjE4YTljYzY3NTgwYzk2ZmRkZmI2NzgyLi44NmRiZjQx
MTZjMjgwZDljYjUwOWJlN2UwNDBlMTZkZjJkNjVhOGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMzYsNiArMzYs
NyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9i
amVjdC5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNs
dWRlICJKU01lc3NhZ2VQb3J0LmgiCkBAIC0xNzMsNyArMTc0LDcgQEAgSlNPYmplY3QqIEpTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01H
bG9iYWxPYmoKIAogSlNWYWx1ZSBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6
OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9y
PEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZURPTUNvbnN0cnVjdG9yLCBET01D
b25zdHJ1Y3RvcklEOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlPih2bSwgKmpz
Q2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lk
IEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6ZGVzdHJveShKU0M6OkpTQ2Vs
bCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXRMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTZXRMaWtlLmNwcAppbmRleCBmZWQ1MjE2NzQzODQwNTRhZjBiYTQ0MmQw
MzljZGMxNWRiMmYzYWFlLi45MzJjMDM2YWU2MDdiYTA1MTE3ODFiMDk5OWEzMTNmYmNkNjAwYzY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0U2V0TGlrZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNldExpa2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSlNET01D
b252ZXJ0QW55LmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUg
IkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElu
bGluZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NU2V0
TGlrZS5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBlckNhY2hlLmgiCkBAIC0xNjgsNyArMTY5LDcg
QEAgSlNPYmplY3QqIEpTVGVzdFNldExpa2U6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QpCiAKIEpTVmFsdWUgSlNUZXN0U2V0TGlrZTo6Z2V0Q29uc3Ry
dWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAg
IHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTZXRMaWtlRE9NQ29uc3RydWN0b3I+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFNldExpa2VET01Db25zdHJ1Y3RvciwgRE9N
Q29uc3RydWN0b3JJRDo6VGVzdFNldExpa2U+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0U2V0TGlrZTo6ZGVzdHJv
eShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAppbmRleCBmOTZiZGVlNmUyNWNiNzIyNmY3YzE4
ZTBlNjU0YWZkM2JjNmNmMjE0Li5hYjJiMzdkYTRmNGRkMjhiMDhhYWMxYjAwODBhZTFiNDczNTVl
MTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnMuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSlNET01Db252ZXJ0
TnVtYmVycy5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJK
U0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVNldExp
a2UuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgpAQCAtMTcyLDcgKzE3Myw3IEBA
IEpTT2JqZWN0KiBKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zOjpwcm90b3R5
cGUoVk0mIHZtLCBKU0RPTUdsb2JhbE9iCiAKIEpTVmFsdWUgSlNUZXN0U2V0TGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9uczo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zRE9NQ29uc3RydWN0b3I+KHZtLCAqanND
YXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnNE
T01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJRDo6VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnM+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFs
T2JqZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9u
czo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwCmlu
ZGV4IGIwOTQ2MDM0NjBlOWRiZjVkNTYyODYyMWM4YWZmOWI0NjAyZDkyYzQuLjE3YTYyODZhN2M5
NmQ4MGQ4ZWZmNmUxNzI0YzdhNWIzMTQwNzBkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNw
cApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1
Y3RhYmxlLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0U3RyaW5ncy5oIgogI2luY2x1ZGUgIkpT
RE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0RPTU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NV3JhcHBl
ckNhY2hlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTQ3LDcg
KzE0OCw3IEBAIEpTT2JqZWN0KiBKU1Rlc3RTdHJpbmdpZmllcjo6cHJvdG90eXBlKFZNJiB2bSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIAogSlNWYWx1ZSBKU1Rlc3RTdHJpbmdp
Zmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdpZmll
ckRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdp
ZmllckRPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0U3RyaW5naWZpZXI+KHZt
LCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAK
IHZvaWQgSlNUZXN0U3RyaW5naWZpZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3Ry
aW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcApp
bmRleCA2N2NjMzgxYWNhMWI0YWJlNDU1NGE5NmYxMzliNTRhNzZlZmI2YmJhLi43Y2Q2NzViOGE4
OGE4ZmEwOTg5YzEwODBkZjFlNjBkNzlhYjE2OTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVy
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUg
IkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5n
LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNE
T01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE0Nyw3ICsxNDgsNyBAQCBKU09iamVjdCog
SlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb246OnByb3RvdHlwZShWTSYgdm0sIEpT
RE9NR2xvYmFsT2JqZQogCiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0
aW9uOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVy
QW5vbnltb3VzT3BlcmF0aW9uRE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVj
dG9yPEpTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uRE9NQ29uc3RydWN0b3IsIERP
TUNvbnN0cnVjdG9ySUQ6OlRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbj4odm0sICpq
c0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9p
ZCBKU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbjo6ZGVzdHJveShKU0M6OkpTQ2Vs
bCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9u
LmNwcAppbmRleCAyOWEwYjk4YWQwNzkzMWZiYjdhZDA2MGU2NWQyODQ0NjgxMGE2MmJhLi5mODVm
NTM4YTJmNDhmOTJiMmYyYTE5NTM5NWI3MmUxOGEyNWYzYTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJOYW1lZE9w
ZXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAj
aW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNpbmNsdWRlICJK
U0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5o
IgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRE9N
T3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNDksNyArMTUwLDcgQEAgSlNPYmplY3QqIEpT
VGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb246OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xv
YmFsT2JqZWN0JgogCiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb246Omdl
dENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
IHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0U3RyaW5naWZpZXJOYW1lZE9w
ZXJhdGlvbkRPTUNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVj
dCo+KGdsb2JhbE9iamVjdCkpOworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RT
dHJpbmdpZmllck5hbWVkT3BlcmF0aW9uRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6
OlRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFN0cmluZ2lmaWVy
TmFtZWRPcGVyYXRpb246OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJP
cGVyYXRpb25JbXBsZW1lbnRlZEFzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCmlu
ZGV4IDUyOTkxMmZhMGQwMjVhYmY5NmRiOTlkNGJiYzMwYmE0OTRmZWNmZTcuLjg0OTUwYmUxNTNk
MWRmNmY0YjRjYzQxNTQzMTkyNzE2YjQ3NzYwNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxl
bWVudGVkQXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuY3BwCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGUuaCIKICNp
bmNsdWRlICJKU0RPTUNvbnZlcnRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25I
YW5kbGluZy5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0SW5saW5lcy5oIgogI2luY2x1
ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCkBAIC0xNDksNyArMTUwLDcgQEAgSlNP
YmplY3QqIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBczo6cHJvdG90eXBl
KFZNJiB2bSwgSlNET01HbG9iYWwKIAogSlNWYWx1ZSBKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlv
bkltcGxlbWVudGVkQXM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzRE9NQ29uc3RydWN0b3I+KHZtLCAqanND
YXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CisgICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRB
c0RPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpUZXN0U3RyaW5naWZpZXJPcGVyYXRp
b25JbXBsZW1lbnRlZEFzPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVt
ZW50ZWRBczo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlv
bk5hbWVkVG9TdHJpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAKaW5kZXggODRi
ZGQzYTc3YTk2NWE0MTUyMTgyYWYwNmVkNmRiOTdmYWQ1MzBhYS4uZTgzN2JhYjc0MDg2NDhkNDcy
YjYyMmI1MjhjZWE1NmE1OWNlMjI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmlu
Zy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUg
IkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5n
LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNE
T01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTE0Nyw3ICsxNDgsNyBAQCBKU09iamVjdCog
SlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nOjpwcm90b3R5cGUoVk0mIHZt
LCBKU0RPTUdsb2JhbAogCiBKU1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRU
b1N0cmluZzo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQogewotICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdp
Zmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmdET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nRE9NQ29u
c3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVk
VG9TdHJpbmc+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2Jq
ZWN0KSk7CiB9CiAKIHZvaWQgSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5n
OjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0
cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwCmluZGV4IDg0ZmFlMDU2YmI1ZTEyZWFiNzQw
MDkzNDkzYmQ5NjY1YzdiNDQzMzUuLjEzMGNhMzQyNDZmNWEyZmM2NDRhNGQyZDdkYTRhZDUyZTA3
YzI5NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0
dHJpYnV0ZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9y
Tm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmluZ3MuaCIKICNp
bmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxP
YmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJK
U0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
QEAgLTE1MCw3ICsxNTEsNyBAQCBKU09iamVjdCogSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0
dHJpYnV0ZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplYwogCiBKU1ZhbHVlIEpT
VGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwg
Y29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0ZURPTUNvbnN0cnVj
dG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkp
OworICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5
QXR0cmlidXRlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRlc3RTdHJpbmdpZmll
clJlYWRPbmx5QXR0cmlidXRlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+
KGdsb2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRy
aWJ1dGU6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVB
dHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcAppbmRleCA3ODQ5MGRmOWZjNWVi
YjgwM2Q2NGIzZTZkNDAzMTJjMjhmNGVlZTYzLi4yZmRmOWNjZDNkNjg2M2Y2ZGU4OThjMjIxOWZh
M2ZiMTY0NGY2NTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJl
YWRXcml0ZUF0dHJpYnV0ZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJKU0RPTUNv
bnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydFN0cmlu
Z3MuaCIKICNpbmNsdWRlICJKU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCisjaW5jbHVkZSAiSlNE
T01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNp
bmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKQEAgLTE1MSw3ICsxNTIsNyBAQCBKU09iamVjdCogSlNUZXN0U3RyaW5naWZpZXJS
ZWFkV3JpdGVBdHRyaWJ1dGU6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZQogCiBK
U1ZhbHVlIEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlOjpnZXRDb25zdHJ1Y3Rv
cihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0
dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRl
RE9NQ29uc3RydWN0b3I+KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xv
YmFsT2JqZWN0KSk7CisgICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdFN0cmluZ2lm
aWVyUmVhZFdyaXRlQXR0cmlidXRlRE9NQ29uc3RydWN0b3IsIERPTUNvbnN0cnVjdG9ySUQ6OlRl
c3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01H
bG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKIH0KIAogdm9pZCBKU1Rlc3RTdHJpbmdpZmll
clJlYWRXcml0ZUF0dHJpYnV0ZTo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVm
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlw
ZWRlZnMuY3BwCmluZGV4IGE4MTJiMTIzYzk5ZTUzMjY1OWM5ZWNlNjQ2YjBlOWU5OWJmZDcyMzAu
LjBjYzY2ZTk3NWU5ZDI1MDY5YjUzNGQ0Zjc3NGM5N2M3NzE5YTNlYTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVk
ZWZzLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkpTRE9NQ29udmVydFVuaW9uLmgi
CiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xv
YmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNET01PcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgog
I2luY2x1ZGUgIkpTU1ZHUG9pbnQuaCIKQEAgLTI2Myw3ICsyNjQsNyBAQCBKU09iamVjdCogSlNU
ZXN0VHlwZWRlZnM6OnByb3RvdHlwZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QpCiAKIEpTVmFsdWUgSlNUZXN0VHlwZWRlZnM6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwg
Y29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0VHlwZWRlZnNET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29u
c3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9N
Q29uc3RydWN0b3I8SlNUZXN0VHlwZWRlZnNET01Db25zdHJ1Y3RvciwgRE9NQ29uc3RydWN0b3JJ
RDo6VGVzdFR5cGVkZWZzPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGds
b2JhbE9iamVjdCkpOwogfQogCiB2b2lkIEpTVGVzdFR5cGVkZWZzOjpkZXN0cm95KEpTQzo6SlND
ZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGEyNTczMDU1NDY4
ODU1ZWZlMDdhNTg3Yjc5ZGU0MTllNzJiOTgwOTkuLjQ4YTZiZDU0ZTBjN2M5ZGUwMjZhNjFkNTVm
OTgzNTYwMTQ2NjVhNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTI3LDYg
KzI3LDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUNvbnN0
cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxp
bmcuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJK
U0RPTVdyYXBwZXJDYWNoZS5oIgogI2luY2x1ZGUgIkpTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93
LmgiCiAjaW5jbHVkZSAiSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkLmgiCkBA
IC0xNjEsNyArMTYyLDcgQEAgSlNPYmplY3QqIEpTV29ya2VyR2xvYmFsU2NvcGU6OnByb3RvdHlw
ZShWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QKIAogSlNWYWx1ZSBKU1dv
cmtlckdsb2JhbFNjb3BlOjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgcmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTV29y
a2VyR2xvYmFsU2NvcGVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9i
YWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8
SlNXb3JrZXJHbG9iYWxTY29wZURPTUNvbnN0cnVjdG9yLCBET01Db25zdHJ1Y3RvcklEOjpXb3Jr
ZXJHbG9iYWxTY29wZT4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9i
YWxPYmplY3QpKTsKIH0KIAogSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzV29ya2VyR2xvYmFs
U2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xvYmFsU2NvcGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTV29ya2xldEds
b2JhbFNjb3BlLmNwcAppbmRleCAzNzIwODcwMDdmNjhkNTljNmEyMjQwYjkwOTc5YThjYTA1ODE0
YjY3Li41ZjIzN2YxZDc2YTg4ZDM1YzY5NDZhODczYzY3NGVlYjRkYzk5NGQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNXb3JrbGV0R2xvYmFs
U2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0RP
TUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5o
IgogI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgogI2lu
Y2x1ZGUgIkpTV29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgpAQCAtMTMwLDcgKzEzMSw3IEBAIEpTT2JqZWN0KiBKU1dvcmtsZXRHbG9iYWxT
Y29wZTo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjCiAK
IEpTVmFsdWUgSlNXb3JrbGV0R2xvYmFsU2NvcGU6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29u
c3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKLSAgICByZXR1cm4gZ2V0RE9NQ29u
c3RydWN0b3I8SlNXb3JrbGV0R2xvYmFsU2NvcGVET01Db25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8
Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gZ2V0
RE9NQ29uc3RydWN0b3I8SlNXb3JrbGV0R2xvYmFsU2NvcGVET01Db25zdHJ1Y3RvciwgRE9NQ29u
c3RydWN0b3JJRDo6V29ya2xldEdsb2JhbFNjb3BlPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUds
b2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwogfQogCiBKU0NfREVGSU5FX0NVU1RPTV9HRVRU
RVIoanNXb3JrbGV0R2xvYmFsU2NvcGVDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkp
Cg==
</data>
<flag name="review"
          id="452852"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>