<?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>216089</bug_id>
          
          <creation_ts>2020-09-02 12:04:58 -0700</creation_ts>
          <short_desc>Update WebIDL parser to more closely align with current WebIDL spec</short_desc>
          <delta_ts>2020-09-03 10:14:11 -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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dbarton</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>fred.wang</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1684911</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-02 12:04:58 -0700</bug_when>
    <thetext>Update WebIDL parser to more closely align with current WebIDL spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684913</commentid>
    <comment_count>1</comment_count>
      <attachid>407784</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-02 12:14:26 -0700</bug_when>
    <thetext>Created attachment 407784
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684923</commentid>
    <comment_count>2</comment_count>
      <attachid>407787</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-02 12:39:11 -0700</bug_when>
    <thetext>Created attachment 407787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685277</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-03 09:16:15 -0700</bug_when>
    <thetext>Anyone want to review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685282</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-03 09:27:51 -0700</bug_when>
    <thetext>Committed r266523: &lt;https://trac.webkit.org/changeset/266523&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 407787.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685284</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-03 09:28:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/68283715&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685318</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-03 10:14:11 -0700</bug_when>
    <thetext>Damn, I read this whole patch and added a snarky comment (about Python vs. Perl) and set review+ and forgot to push the Submit button.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407784</attachid>
            <date>2020-09-02 12:14:26 -0700</date>
            <delta_ts>2020-09-02 12:39:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216089-20200902121426.patch</filename>
            <type>text/plain</type>
            <size>135451</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5MSBAQAorMjAyMC0wOS0wMiAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIFdlYklETCBwYXJzZXIg
dG8gbW9yZSBjbG9zZWx5IGFsaWduIHdpdGggY3VycmVudCBXZWJJREwgc3BlYworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDg5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFqb3IgY2hhbmdlcyBhcmU6
CisgICAgICAgIC0gJ2ltcGxlbWVudHMnIGtleXdvcmQgaXMgbm93IGNhbGxlZCAnaW5jbHVkZXMn
ICh0aGlzIGlzIHRoZSBvbmx5IG9ic2VydmFibGUgY2hhbmdlKS4KKyAgICAgICAgLSBBZGRlZCBz
dXBwb3J0IGZvciBwYXJzaW5nIG5hbWVzcGFjZXMsIGFzeW5jIGl0ZXJhYmxlLCBwYXJ0aWFsIG1p
eGlucyBhbmQgT2JzZXJ2YWJsZUFycmF5LCAKKyAgICAgICAgICB0aG91Z2ggdGhlIGNvZGUgZ2Vu
ZXJhdG9ycyBkb24ndCBzdXBwb3J0IHRoZW0geWV0LCBzbyB0aGV5IGp1c3QgY2xlYXJseSBlcnJv
ciBvdXQuCisgICAgICAgIC0gVXBkYXRlIGxpc3Qgb2Yga2V5d29yZHMgdGhhdCBjYW4gYmUgdXNl
ZCBhcyBhcmd1bWVudCBuYW1lcy4KKyAgICAgICAgLSBVcGRhdGUgcGFyc2VyIHRvIHVzZSB0aGUg
Y3VycmVudCB0ZXJtaW5vbG9neSBmcm9tIFdlYklETC4KKyAgICAgICAgLSBBZGRlZCBtb3JlIGNv
bW1lbnRzIHRvIGJlIGNsZWFyIHdoYXQgbmV4dCBzdGVwcyB0byB0YWtlIHN1Y2ggYXMgcmVtb3Zp
bmcgbGVnYWN5IGNvbnN0cnVjdHMKKyAgICAgICAgICBsaWtlIHNlcmlhbGl6ZXIsIGV4Y2VwdGlv
biwgbGVnYWN5Y2FsbGVyIGFuZCBtb3Zpbmcgc3ludGhldGljIG9wZXJhdGlvbiBhZGRpdGlvbnMg
ZnJvbSB0aGUKKyAgICAgICAgICBwYXJzZXIgdG8gdGhlIGNvZGUgZ2VuZXJhdG9ycy4gCisKKyAg
ICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGw6CisgICAgICAgICogTW9kdWxl
cy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lE
TFBhcnNlci5wbToKKyAgICAgICAgKFBhcnNlKToKKyAgICAgICAgKGFwcGx5VHlwZWRlZnMpOgor
ICAgICAgICAocGFyc2VEZWZpbml0aW9uKToKKyAgICAgICAgKHBhcnNlQ2FsbGJhY2tPckludGVy
ZmFjZU9yTWl4aW4pOgorICAgICAgICAocGFyc2VDYWxsYmFja1Jlc3RPckludGVyZmFjZSk6Cisg
ICAgICAgIChwYXJzZUludGVyZmFjZU9yTWl4aW4pOgorICAgICAgICAocGFyc2VJbnRlcmZhY2Up
OgorICAgICAgICAocGFyc2VOYW1lc3BhY2UpOgorICAgICAgICAocGFyc2VOYW1lc3BhY2VNZW1i
ZXJzKToKKyAgICAgICAgKHBhcnNlTmFtZXNwYWNlTWVtYmVyKToKKyAgICAgICAgKHBhcnNlUGFy
dGlhbERlZmluaXRpb24pOgorICAgICAgICAocGFyc2VQYXJ0aWFsSW50ZXJmYWNlT3JQYXJ0aWFs
TWl4aW4pOgorICAgICAgICAocGFyc2VQYXJ0aWFsSW50ZXJmYWNlKToKKyAgICAgICAgKHBhcnNl
UGFydGlhbEludGVyZmFjZU1lbWJlcnMpOgorICAgICAgICAocGFyc2VQYXJ0aWFsSW50ZXJmYWNl
TWVtYmVyKToKKyAgICAgICAgKHBhcnNlSW50ZXJmYWNlTWVtYmVyKToKKyAgICAgICAgKHBhcnNl
UGFydGlhbERpY3Rpb25hcnkpOgorICAgICAgICAocGFyc2VJbmNsdWRlc1N0YXRlbWVudCk6Cisg
ICAgICAgIChwYXJzZUluaGVyaXRBdHRyaWJ1dGUpOgorICAgICAgICAocGFyc2VPcGVyYXRpb24p
OgorICAgICAgICAocGFyc2VSZWd1bGFyT3BlcmF0aW9uKToKKyAgICAgICAgKHBhcnNlU3BlY2lh
bCk6CisgICAgICAgIChwYXJzZUFzeW5jSXRlcmFibGUpOgorICAgICAgICAocGFyc2VPcHRpb25h
bEl0ZXJhYmxlSW50ZXJmYWNlKToKKyAgICAgICAgKHBhcnNlQXJndW1lbnROYW1lS2V5d29yZCk6
CisgICAgICAgIChwYXJzZURpc3Rpbmd1aXNoYWJsZVR5cGUpOgorICAgICAgICAocGFyc2VDb25z
dFR5cGUpOgorICAgICAgICAocGFyc2VQcmltaXRpdmVUeXBlKToKKyAgICAgICAgKGFwcGx5TWVt
YmVyTGlzdCk6CisgICAgICAgIChwYXJzZUNhbGxiYWNrT3JJbnRlcmZhY2UpOiBEZWxldGVkLgor
ICAgICAgICAocGFyc2VJbXBsZW1lbnRzU3RhdGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKHBh
cnNlT3BlcmF0aW9uT3JSZWFkV3JpdGVBdHRyaWJ1dGVPck1hcGxpa2UpOiBEZWxldGVkLgorICAg
ICAgICAocGFyc2VSZWFkV3JpdGVBdHRyaWJ1dGUpOiBEZWxldGVkLgorICAgICAgICAocGFyc2VJ
bmhlcml0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Mt
aWRscy5wbDoKKyAgICAgICAgKGdldEluY2x1ZGVkSW50ZXJmYWNlc0Zyb21JREwpOgorICAgICAg
ICAoZ2V0SW1wbGVtZW50ZWRJbnRlcmZhY2VzRnJvbUlETCk6IERlbGV0ZWQuCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5jbHVkZXNTdGF0aWNSZWFkT25s
eUF0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlQ29uc3RydWN0
b3JJbmNsdWRlc1N0YXRpY1JlYWRPbmx5QXR0cik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJ
bnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVzU3RhdGljQXR0ckdldHRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVzU3RhdGljQXR0cik6Cisg
ICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVzU3Rh
dGljQXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3RvckluY2x1ZGVzU3RhdGljQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRl
cmZhY2VJbmNsdWRlc1N0cjFHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJm
YWNlSW5jbHVkZXNTdHIxKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUluY2x1
ZGVzU3RyMkdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VJbmNsdWRl
c1N0cjIpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIy
U2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUluY2x1ZGVzU3Ry
Mik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0cjNHZXR0ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIzKToKKyAgICAg
ICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyM1NldHRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0cjMpOgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlSW5jbHVkZXNOb2RlR2V0dGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OmpzVGVzdEludGVyZmFjZUluY2x1ZGVzTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpz
ZXRKU1Rlc3RJbnRlcmZhY2VJbmNsdWRlc05vZGVTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0SW50ZXJmYWNlSW5jbHVkZXNOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2QxQm9keSk6CisgICAgICAg
IChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkluY2x1ZGVzTWV0aG9k
MSk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbklu
Y2x1ZGVzTWV0aG9kMkJvZHkpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlUHJv
dG90eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhvZDIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0
SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhvZDNCb2R5KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2Qz
KToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25J
bmNsdWRlc01ldGhvZDRCb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNv
bnN0cnVjdG9yRnVuY3Rpb25JbmNsdWRlc01ldGhvZDQpOgorICAgICAgICAoV2ViQ29yZTo6anNU
ZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1lbnRzU3RhdGljUmVhZE9ubHlBdHRyR2V0dGVy
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9y
SW1wbGVtZW50c1N0YXRpY1JlYWRPbmx5QXR0cik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
Ojpqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVudHNTdGF0aWNBdHRyR2V0dGVyKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1w
bGVtZW50c1N0YXRpY0F0dHIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0
SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1lbnRzU3RhdGljQXR0clNldHRlcik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVu
dHNTdGF0aWNBdHRyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFj
ZUltcGxlbWVudHNTdHIxR2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dEludGVyZmFjZUltcGxlbWVudHNTdHIxKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ompz
VGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyR2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OmpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyU2V0dGVyKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIz
R2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUltcGxl
bWVudHNTdHIzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFj
ZUltcGxlbWVudHNTdHIzU2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpT
VGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OmpzVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2RlR2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2RlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2RlU2V0dGVyKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1
bmN0aW9uSW1wbGVtZW50c01ldGhvZDFCb2R5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OmpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDEpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25J
bXBsZW1lbnRzTWV0aG9kMkJvZHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0
SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMik6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkltcGxlbWVu
dHNNZXRob2QzQm9keSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZh
Y2VQcm90b3R5cGVGdW5jdGlvbkltcGxlbWVudHNNZXRob2QzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25JbXBsZW1lbnRzTWV0
aG9kNEJvZHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlQ29u
c3RydWN0b3JGdW5jdGlvbkltcGxlbWVudHNNZXRob2Q0KTogRGVsZXRlZC4KKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmg6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1N1cHBsZW1lbnRhbERlcGVuZGVuY2llcy5kZXA6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbXBsZW1lbnRzLmlkbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEluY2x1ZGVzLmlkbDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbXBsZW1lbnRzLmlk
bC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGw6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwuaWRsOgorICAgICAg
ICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmlkbDoKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZl
bnQuaWRsOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVudEZyYWdtZW50Lmlk
bDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRUeXBlLmlkbDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5pZGw6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaWRsOgorICAgICAgICAqIGRvbS9UZXh0
LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbDoKKyAgICAgICAgKiBo
dG1sL0hUTUxBcmVhRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TEZyYW1lU2V0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9PZmZzY3JlZW5DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1BhaW50UmVuZGVy
aW5nQ29udGV4dDJELmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9QYXRoMkQuaWRsOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsOgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGw6CisgICAgICAgICogcGFnZS9E
T01XaW5kb3cuaWRsOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmlkbDoKKyAgICAgICAgKiBw
YWdlL1dvcmtlck5hdmlnYXRvci5pZGw6CisgICAgICAgICogc3ZnL1NWR0FFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0aW9uRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuaWRs
OgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVCbGVu
ZEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVD
b252b2x2ZU1hdHJpeEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRURpZmZ1c2VMaWdo
dGluZ0VsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1l
bnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBzdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
RkVNb3JwaG9sb2d5RWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVu
dC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaWRsOgor
ICAgICAgICAqIHN2Zy9TVkdGRVRpbGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVU
dXJidWxlbmNlRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaWRs
OgorICAgICAgICAqIHN2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9T
VkdHcmFkaWVudEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdHcmFwaGljc0VsZW1lbnQu
aWRsOgorICAgICAgICAqIHN2Zy9TVkdJbWFnZUVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9T
VkdNUGF0aEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaWRsOgorICAgICAg
ICAqIHN2Zy9TVkdTY3JpcHRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxl
bWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1RSZWZFbGVtZW50LmlkbDoKKyAgICAgICAgKiBz
dmcvU1ZHVGV4dFBhdGhFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5p
ZGw6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
Vmlld1NwZWMuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlci5pZGw6CisKIDIwMjAtMDktMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBPZmZsaW5lQXVkaW9Db250ZXh0IGluY29ycmVjdGx5IHJlbmRl
cnMgYXQgYmVnaW5uaW5nIG9mIG91dHB1dCBidWZmZXIgYWZ0ZXIgcmVzdW1pbmcKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwJKHJldmlzaW9u
IDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtNTksNCArNTksNCBAQCB0eXBlZGVmIChCbG9iIG9yIEJ1ZmZl
clNvdXJjZSBvciBET01Gb3JtCiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IE1heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIEZldGNoUmVxdWVzdCBjbG9uZSgpOwogfTsK
IAotRmV0Y2hSZXF1ZXN0IGltcGxlbWVudHMgRmV0Y2hCb2R5OworRmV0Y2hSZXF1ZXN0IGluY2x1
ZGVzIEZldGNoQm9keTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjMsNCArNjMs
NCBAQCBkaWN0aW9uYXJ5IEZldGNoUmVzcG9uc2VJbml0IHsKICAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gRmV0Y2hSZXNw
b25zZSBjbG9uZSgpOwogfTsKIAotRmV0Y2hSZXNwb25zZSBpbXBsZW1lbnRzIEZldGNoQm9keTsK
K0ZldGNoUmVzcG9uc2UgaW5jbHVkZXMgRmV0Y2hCb2R5OwpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0JKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCSh3b3JraW5nIGNvcHkp
CkBAIC00Miw2ICs0Miw4IEBAIHN0cnVjdCggSURMRG9jdW1lbnQgPT4gewogICAgIGVudW1lcmF0
aW9ucyA9PiAnQCcsICMgTGlzdCBvZiAnSURMRW51bScKICAgICBkaWN0aW9uYXJpZXMgPT4gJ0An
LCAjIExpc3Qgb2YgJ0lETERpY3Rpb25hcnknCiAgICAgY2FsbGJhY2tGdW5jdGlvbnMgPT4gJ0An
LCAjIExpc3Qgb2YgJ0lETENhbGxiYWNrRnVuY3Rpb24nCisgICAgbmFtZXNwYWNlcyA9PiAnQCcs
ICMgTGlzdCBvZiAnSURMTmFtZXNwYWNlJworICAgIGluY2x1ZGVzID0+ICdAJywgIyBMaXN0IG9m
ICdJRExJbmNsdWRlc1N0YXRlbWVudCcKICAgICBmaWxlTmFtZSA9PiAnJCcsCiB9KTsKIApAQCAt
NjYsMTAgKzY4LDExIEBAIHN0cnVjdCggSURMSW50ZXJmYWNlID0+IHsKICAgICBpc0V4Y2VwdGlv
biA9PiAnJCcsICMgVXNlZCBmb3IgZXhjZXB0aW9uIGludGVyZmFjZXMKICAgICBpc0NhbGxiYWNr
ID0+ICckJywgIyBVc2VkIGZvciBjYWxsYmFjayBpbnRlcmZhY2VzCiAgICAgaXNQYXJ0aWFsID0+
ICckJywgIyBVc2VkIGZvciBwYXJ0aWFsIGludGVyZmFjZXMKLSAgICBpdGVyYWJsZSA9PiAnJCcs
ICMgVXNlZCBmb3IgaXRlcmFibGUgaW50ZXJmYWNlcwotICAgIG1hcExpa2UgPT4gJyQnLCAjIFVz
ZWQgZm9yIG1hcExpa2UgaW50ZXJmYWNlcwotICAgIHNldExpa2UgPT4gJyQnLCAjIFVzZWQgZm9y
IHNldExpa2UgaW50ZXJmYWNlcwotICAgIHNlcmlhbGl6YWJsZSA9PiAnJCcsICMgVXNlZCBmb3Ig
c2VyaWFsaXphYmxlIGludGVyZmFjZXMKKyAgICBpdGVyYWJsZSA9PiAnJCcsICMgVXNlZCBmb3Ig
aXRlcmFibGUgaW50ZXJmYWNlcywgb2YgdHlwZSAnSURMSXRlcmFibGUnCisgICAgYXN5bmNJdGVy
YWJsZSA9PiAnJCcsICMgVXNlZCBmb3IgYXN5Y24gaXRlcmFibGUgaW50ZXJmYWNlcywgb2YgdHlw
ZSAnSURMQXN5bmNJdGVyYWJsZScKKyAgICBtYXBMaWtlID0+ICckJywgIyBVc2VkIGZvciBtYXBM
aWtlIGludGVyZmFjZXMsIG9mIHR5cGUgJ0lETE1hcExpa2UnCisgICAgc2V0TGlrZSA9PiAnJCcs
ICMgVXNlZCBmb3Igc2V0TGlrZSBpbnRlcmZhY2VzLCBvZiB0eXBlICdJRExTZXRMaWtlJworICAg
IHNlcmlhbGl6YWJsZSA9PiAnJCcsICMgVXNlZCBmb3Igc2VyaWFsaXphYmxlIGludGVyZmFjZXMs
IG9mIHR5cGUgJ0lETFNlcmlhbGl6YWJsZScKICAgICBleHRlbmRlZEF0dHJpYnV0ZXMgPT4gJyQn
LAogfSk7CiAKQEAgLTEyMyw2ICsxMjYsMTUgQEAgc3RydWN0KCBJRExJdGVyYWJsZSA9PiB7CiAg
ICAgZXh0ZW5kZWRBdHRyaWJ1dGVzID0+ICckJywKIH0pOwogCisjIGh0dHBzOi8vaGV5Y2FtLmdp
dGh1Yi5pby93ZWJpZGwvI2lkbC1hc3luYy1pdGVyYWJsZQorc3RydWN0KCBJRExBc3luY0l0ZXJh
YmxlID0+IHsKKyAgICBpc0tleVZhbHVlID0+ICckJywKKyAgICBrZXlUeXBlID0+ICdJRExUeXBl
JywKKyAgICB2YWx1ZVR5cGUgPT4gJ0lETFR5cGUnLAorICAgIGFyZ3VtZW50cyA9PiAnQCcsICMg
TGlzdCBvZiAnSURMQXJndW1lbnQnCisgICAgZXh0ZW5kZWRBdHRyaWJ1dGVzID0+ICckJywKK30p
OworCiAjIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLW1hcGxpa2UKIHN0cnVj
dCggSURMTWFwTGlrZSA9PiB7CiAgICAgaXNSZWFkT25seSA9PiAnJCcsCkBAIC0xODIsNyArMTk0
LDcgQEAgc3RydWN0KCBJRExEaWN0aW9uYXJ5ID0+IHsKICAgICBwYXJlbnRUeXBlID0+ICdJRExU
eXBlJywKICAgICBtZW1iZXJzID0+ICdAJywgIyBMaXN0IG9mICdJRExEaWN0aW9uYXJ5TWVtYmVy
JwogICAgIGV4dGVuZGVkQXR0cmlidXRlcyA9PiAnJCcsCi0gICAgaXNQYXJ0aWFsID0+ICckJywg
IyBVc2VkIGZvciBwYXJ0aWFsIGludGVyZmFjZXMKKyAgICBpc1BhcnRpYWwgPT4gJyQnLCAjIFVz
ZWQgZm9yIHBhcnRpYWwgZGljdGlvbmFyaWVzCiB9KTsKIAogIyBodHRwczovL2hleWNhbS5naXRo
dWIuaW8vd2ViaWRsLyNpZGwtY2FsbGJhY2stZnVuY3Rpb25zCkBAIC0xOTIsNiArMjA0LDIxIEBA
IHN0cnVjdCggSURMQ2FsbGJhY2tGdW5jdGlvbiA9PiB7CiAgICAgZXh0ZW5kZWRBdHRyaWJ1dGVz
ID0+ICckJywKIH0pOwogCisjIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1u
YW1lc3BhY2VzCitzdHJ1Y3QoIElETE5hbWVzcGFjZSA9PiB7CisgICAgbmFtZSA9PiAnJCcsCisg
ICAgb3BlcmF0aW9ucyA9PiAnQCcsICMgTGlzdCBvZiAnSURMT3BlcmF0aW9uJworICAgIGF0dHJp
YnV0ZXMgPT4gJ0AnLCAjIExpc3Qgb2YgJ0lETEF0dHJpYnV0ZScKKyAgICBleHRlbmRlZEF0dHJp
YnV0ZXMgPT4gJyQnLAorICAgIGlzUGFydGlhbCA9PiAnJCcsICMgVXNlZCBmb3IgcGFydGlhbCBu
YW1lc3BhY2VzCit9KTsKKworIyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpbmNs
dWRlcy1zdGF0ZW1lbnQKK3N0cnVjdCggSURMSW5jbHVkZXNTdGF0ZW1lbnQgPT4geworICAgIGlu
dGVyZmFjZUlkZW50aWZpZXIgPT4gJyQnLAorICAgIG1peGluSWRlbnRpZmllciA9PiAnJCcsCit9
KTsKKwogIyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwtdHlwZWRlZnMKIHN0
cnVjdCggSURMVHlwZWRlZiA9PiB7CiAgICAgdHlwZSA9PiAnSURMVHlwZScsCkBAIC0zNDMsNiAr
MzcwLDEwIEBAIHN1YiBQYXJzZQogICAgICAgICAgICAgcHVzaChAeyRkb2N1bWVudC0+ZGljdGlv
bmFyaWVzfSwgJGRlZmluaXRpb24pOwogICAgICAgICB9IGVsc2lmIChyZWYoJGRlZmluaXRpb24p
IGVxICJJRExDYWxsYmFja0Z1bmN0aW9uIikgewogICAgICAgICAgICAgcHVzaChAeyRkb2N1bWVu
dC0+Y2FsbGJhY2tGdW5jdGlvbnN9LCAkZGVmaW5pdGlvbik7CisgICAgICAgIH0gZWxzaWYgKHJl
ZigkZGVmaW5pdGlvbikgZXEgIklETE5hbWVzcGFjZSIpIHsKKyAgICAgICAgICAgIHB1c2goQHsk
ZG9jdW1lbnQtPm5hbWVzcGFjZXN9LCAkZGVmaW5pdGlvbik7CisgICAgICAgIH0gZWxzaWYgKHJl
ZigkZGVmaW5pdGlvbikgZXEgIklETEluY2x1ZGVzU3RhdGVtZW50IikgeworICAgICAgICAgICAg
cHVzaChAeyRkb2N1bWVudC0+aW5jbHVkZXN9LCAkZGVmaW5pdGlvbik7CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBkaWUgIlVucmVjb2duaXplZCBJREwgZGVmaW5pdGlvbiBraW5kOiBc
IiIgLiByZWYoJGRlZmluaXRpb24pIC4gIlwiIjsKICAgICAgICAgfQpAQCAtNjA1LDI5ICs2MzYs
MzEgQEAgc3ViIGFkZEJ1aWx0aW5UeXBlZGVmcygpCiAgICAgJHR5cGVkZWZzeyJET01UaW1lU3Rh
bXAifSA9IElETFR5cGVkZWYtPm5ldyh0eXBlID0+ICRET01UaW1lU3RhbXBUeXBlKTsKIH0KIAot
bXkgJG5leHRBdHRyaWJ1dGVfMSA9ICdeKGF0dHJpYnV0ZXxpbmhlcml0KSQnOwogbXkgJG5leHRB
dHRyaWJ1dGVfMiA9ICdeKHJlYWRvbmx5fGF0dHJpYnV0ZSkkJzsKLW15ICRuZXh0UHJpbWl0aXZl
VHlwZV8xID0gJ14oaW50fGxvbmd8c2hvcnR8dW5zaWduZWQpJCc7Ci1teSAkbmV4dFByaW1pdGl2
ZVR5cGVfMiA9ICdeKGRvdWJsZXxmbG9hdHx1bnJlc3RyaWN0ZWQpJCc7Ci1teSAkbmV4dEFyZ3Vt
ZW50TGlzdF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8XFt8
YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8aW58bG9uZ3xvYmplY3R8b2N0ZXR8b3B0aW9u
YWx8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKLW15
ICRuZXh0RGlzdGluZ3Vpc2hhYmxlVHlwZV8xID0gJ14oYm9vbGVhbnxieXRlfGRvdWJsZXxmbG9h
dHxsb25nfG9jdGV0fHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7Citt
eSAkbmV4dEludGVnZXJUeXBlXzEgPSAnXihpbnR8bG9uZ3xzaG9ydHx1bnNpZ25lZCkkJzsKK215
ICRuZXh0RmxvYXRUeXBlXzEgPSAnXihkb3VibGV8ZmxvYXR8dW5yZXN0cmljdGVkKSQnOworbXkg
JG5leHRBcmd1bWVudExpc3RfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmlu
Z3xcW3xhbnl8Ym9vbGVhbnxieXRlfGRvdWJsZXxmbG9hdHxpbnxsb25nfG9iamVjdHxvY3RldHxv
cHRpb25hbHxzZXF1ZW5jZXxzaG9ydHxzeW1ib2x8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNp
Z25lZCkkJzsKK215ICRuZXh0UHJpbWl0aXZlVHlwZV8xID0gJ14oYm9vbGVhbnxieXRlfGRvdWJs
ZXxmbG9hdHxsb25nfG9jdGV0fHNob3J0fHN5bWJvbHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVu
c2lnbmVkKSQnOwogbXkgJG5leHRTdHJpbmdUeXBlXzEgPSAnXihCeXRlU3RyaW5nfERPTVN0cmlu
Z3xVU1ZTdHJpbmcpJCc7Ci1teSAkbmV4dEludGVyZmFjZU1lbWJlcl8xID0gJ14oXCh8Qnl0ZVN0
cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8
ZGVsZXRlcnxkb3VibGV8ZmxvYXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2Jq
ZWN0fG9jdGV0fHJlYWRvbmx5fHNlcXVlbmNlfHNldHRlcnxzaG9ydHx1bmRlZmluZWR8dW5yZXN0
cmljdGVkfHVuc2lnbmVkKSQnOwotbXkgJG5leHRPcGVyYXRpb25fMSA9ICdeKFwofEJ5dGVTdHJp
bmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFueXxib29sZWFufGJ5dGV8ZGVsZXRlcnxkb3Vi
bGV8ZmxvYXR8Z2V0dGVyfGxlZ2FjeWNhbGxlcnxsb25nfG9iamVjdHxvY3RldHxzZXF1ZW5jZXxz
ZXR0ZXJ8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0
SW50ZXJmYWNlTWVtYmVyXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8
YW55fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8ZGVsZXRlcnxkb3VibGV8ZmxvYXR8Z2V0dGVyfGlu
aGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5fHNlcXVlbmNlfHNl
dHRlcnxzaG9ydHxzeW1ib2x8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215
ICRuZXh0T3BlcmF0aW9uXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8
YW55fGJvb2xlYW58Ynl0ZXxkZWxldGVyfGRvdWJsZXxmbG9hdHxnZXR0ZXJ8bGVnYWN5Y2FsbGVy
fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNldHRlcnxzaG9ydHxzeW1ib2x8dW5kZWZpbmVk
fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKIG15ICRuZXh0VW5yZXN0cmljdGVkRmxvYXRUeXBl
XzEgPSAnXihkb3VibGV8ZmxvYXQpJCc7CiBteSAkbmV4dEV4dGVuZGVkQXR0cmlidXRlUmVzdDNf
MSA9ICdeKFwsfFxdKSQnOwotbXkgJG5leHRFeGNlcHRpb25GaWVsZF8xID0gJ14oXCh8Qnl0ZVN0
cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8Zmxv
YXR8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3Rl
ZHx1bnNpZ25lZCkkJzsKLW15ICRuZXh0VHlwZV8xID0gJ14oQnl0ZVN0cmluZ3xET01TdHJpbmd8
VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8
b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsK
K215ICRuZXh0RXhjZXB0aW9uRmllbGRfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVT
VlN0cmluZ3xhbnl8Ym9vbGVhbnxieXRlfGRvdWJsZXxmbG9hdHxsb25nfG9iamVjdHxvY3RldHxz
ZXF1ZW5jZXxzaG9ydHxzeW1ib2x8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsK
K215ICRuZXh0VHlwZV8xID0gJ14oQnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfGFueXxi
b29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNob3J0
fHN5bWJvbHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwogbXkgJG5leHRTcGVj
aWFsc18xID0gJ14oZGVsZXRlcnxnZXR0ZXJ8bGVnYWN5Y2FsbGVyfHNldHRlcikkJzsKLW15ICRu
ZXh0RGVmaW5pdGlvbnNfMSA9ICdeKGNhbGxiYWNrfGRpY3Rpb25hcnl8ZW51bXxleGNlcHRpb258
aW50ZXJmYWNlfHBhcnRpYWx8dHlwZWRlZikkJzsKLW15ICRuZXh0RXhjZXB0aW9uTWVtYmVyc18x
ID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8XFt8YW55fGJvb2xl
YW58Ynl0ZXxjb25zdHxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0ZXR8b3B0aW9uYWx8c2Vx
dWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKLW15ICRuZXh0
SW50ZXJmYWNlTWVtYmVyc18xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5n
fERhdGV8YW55fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8Y29uc3R8Y29uc3RydWN0b3J8ZGVsZXRl
cnxkb3VibGV8ZmxvYXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9j
dGV0fHJlYWRvbmx5fHNlcXVlbmNlfHNlcmlhbGl6ZXJ8c2V0dGVyfHNob3J0fHN0YXRpY3xzdHJp
bmdpZmllcnx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwotbXkgJG5leHRTaW5n
bGVUeXBlXzEgPSAnXihCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8RGF0ZXxib29sZWFu
fGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNob3J0fHVuZGVm
aW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7Ci1teSAkbmV4dEFyZ3VtZW50TmFtZV8xID0g
J14oYXR0cmlidXRlfGNhbGxiYWNrfGNvbnN0fGRlbGV0ZXJ8ZGljdGlvbmFyeXxlbnVtfGV4Y2Vw
dGlvbnxnZXR0ZXJ8aW1wbGVtZW50c3xpbmhlcml0fGludGVyZmFjZXxsZWdhY3ljYWxsZXJ8cGFy
dGlhbHxzZXJpYWxpemVyfHNldHRlcnxzdGF0aWN8c3RyaW5naWZpZXJ8dHlwZWRlZnx1bmRlZmlu
ZWR8dW5yZXN0cmljdGVkKSQnOworbXkgJG5leHREZWZpbml0aW9uc18xID0gJ14oY2FsbGJhY2t8
ZGljdGlvbmFyeXxlbnVtfGV4Y2VwdGlvbnxpbnRlcmZhY2V8bmFtZXNwYWNlfHBhcnRpYWx8dHlw
ZWRlZikkJzsKK215ICRuZXh0RXhjZXB0aW9uTWVtYmVyc18xID0gJ14oXCh8Qnl0ZVN0cmluZ3xE
T01TdHJpbmd8VVNWU3RyaW5nfFxbfGFueXxib29sZWFufGJ5dGV8Y29uc3R8ZG91YmxlfGZsb2F0
fGxvbmd8b2JqZWN0fG9jdGV0fG9wdGlvbmFsfHNlcXVlbmNlfHNob3J0fHN5bWJvbHx1bmRlZmlu
ZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5leHRJbnRlcmZhY2VNZW1iZXJzXzEg
PSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8YW55fGF0dHJpYnV0ZXxib29s
ZWFufGJ5dGV8Y29uc3R8Y29uc3RydWN0b3J8ZGVsZXRlcnxkb3VibGV8ZmxvYXR8Z2V0dGVyfGlu
aGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5fHNlcXVlbmNlfHNl
cmlhbGl6ZXJ8c2V0dGVyfHNob3J0fHN0YXRpY3xzdHJpbmdpZmllcnxzeW1ib2x8dW5kZWZpbmVk
fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0TmFtZXNwYWNlTWVtYmVyc18xID0g
J14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfGFueXxib29sZWFufGJ5dGV8ZG91
YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5fHNlcXVlbmNlfHNob3J0fHN5bWJv
bHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5leHRQYXJ0aWFsSW50
ZXJmYWNlTWVtYmVyXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8YW55
fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8Y29uc3R8ZGVsZXRlcnxkb3VibGV8ZmxvYXR8Z2V0dGVy
fGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5fHNlcXVlbmNl
fHNlcmlhbGl6ZXJ8c2V0dGVyfHNob3J0fHN0YXRpY3xzdHJpbmdpZmllcnxzeW1ib2x8dW5kZWZp
bmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0U2luZ2xlVHlwZV8xID0gJ14o
Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8
bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8c3ltYm9sfHVuZGVmaW5lZHx1bnJlc3Ry
aWN0ZWR8dW5zaWduZWQpJCc7CitteSAkbmV4dEFyZ3VtZW50TmFtZV8xID0gJ14oYXN5bmN8YXR0
cmlidXRlfGNhbGxiYWNrfGNvbnN0fGNvbnN0cnVjdG9yfGRlbGV0ZXJ8ZGljdGlvbmFyeXxlbnVt
fGdldHRlcnxpbmNsdWRlc3xpbmhlcml0fGludGVyZmFjZXxpdGVyYWJsZXxtYXBsaWtlfG1peGlu
fG5hbWVzcGFjZXxwYXJ0aWFsfHJlYWRvbmx5fHJlcXVpcmVkfHNldGxpa2V8c2V0dGVyfHN0YXRp
Y3xzdHJpbmdpZmllcnx0eXBlZGVmfHVucmVzdHJpY3RlZCkkJzsKIG15ICRuZXh0Q29uc3RWYWx1
ZV8xID0gJ14oZmFsc2V8dHJ1ZSkkJzsKIG15ICRuZXh0Q29uc3RWYWx1ZV8yID0gJ14oLXxJbmZp
bml0eXxOYU4pJCc7Ci1teSAkbmV4dERlZmluaXRpb25fMSA9ICdeKGNhbGxiYWNrfGludGVyZmFj
ZSkkJzsKLW15ICRuZXh0T3BlcmF0aW9uUmVzdF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJp
bmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmpl
Y3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkk
JzsKK215ICRuZXh0Q2FsbGJhY2tPckludGVyZmFjZSA9ICdeKGNhbGxiYWNrfGludGVyZmFjZSkk
JzsKK215ICRuZXh0T3BlcmF0aW9uUmVzdF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8
VVNWU3RyaW5nfGFueXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0
fHNlcXVlbmNlfHNob3J0fHN5bWJvbHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQn
OworbXkgJG5leHRSZWd1bGFyT3BlcmF0aW9uXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmlu
Z3xVU1ZTdHJpbmd8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0
ZXR8c2VxdWVuY2V8c2hvcnR8c3ltYm9sfHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQp
JCc7CiBteSAkbmV4dFVuc2lnbmVkSW50ZWdlclR5cGVfMSA9ICdeKGxvbmd8c2hvcnQpJCc7CiBt
eSAkbmV4dERlZmF1bHRWYWx1ZV8xID0gJ14oLXxJbmZpbml0eXxOYU58ZmFsc2V8bnVsbHx0cnVl
KSQnOwogCkBAIC02ODUsNiArNzE4LDE3IEBAIHN1YiBhcHBseVR5cGVkZWZzCiAgICAgICAgICAg
ICAgICAgICAgICRzZWxmLT5hcHBseVR5cGVkZWZzVG9PcGVyYXRpb24oJG9wZXJhdGlvbik7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCRkZWZpbml0
aW9uLT5hc3luY0l0ZXJhYmxlKSB7CisgICAgICAgICAgICAgICAgaWYgKCRkZWZpbml0aW9uLT5h
c3luY0l0ZXJhYmxlLT5rZXlUeXBlKSB7CisgICAgICAgICAgICAgICAgICAgICRkZWZpbml0aW9u
LT5hc3luY0l0ZXJhYmxlLT5rZXlUeXBlKCRzZWxmLT50eXBlQnlBcHBseWluZ1R5cGVkZWZzKCRk
ZWZpbml0aW9uLT5hc3luY0l0ZXJhYmxlLT5rZXlUeXBlKSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGlmICgkZGVmaW5pdGlvbi0+YXN5bmNJdGVyYWJsZS0+dmFsdWVUeXBl
KSB7CisgICAgICAgICAgICAgICAgICAgICRkZWZpbml0aW9uLT5hc3luY0l0ZXJhYmxlLT52YWx1
ZVR5cGUoJHNlbGYtPnR5cGVCeUFwcGx5aW5nVHlwZWRlZnMoJGRlZmluaXRpb24tPmFzeW5jSXRl
cmFibGUtPnZhbHVlVHlwZSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBm
b3JlYWNoIG15ICRhcmd1bWVudCAoQHskZGVmaW5pdGlvbi0+YXN5bmNJdGVyYWJsZS0+YXJndW1l
bnRzfSkgeworICAgICAgICAgICAgICAgICAgICAkYXJndW1lbnQtPnR5cGUoJHNlbGYtPnR5cGVC
eUFwcGx5aW5nVHlwZWRlZnMoJGFyZ3VtZW50LT50eXBlKSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCRkZWZpbml0aW9uLT5tYXBMaWtlKSB7CiAg
ICAgICAgICAgICAgICAgaWYgKCRkZWZpbml0aW9uLT5tYXBMaWtlLT5rZXlUeXBlKSB7CiAgICAg
ICAgICAgICAgICAgICAgICRkZWZpbml0aW9uLT5tYXBMaWtlLT5rZXlUeXBlKCRzZWxmLT50eXBl
QnlBcHBseWluZ1R5cGVkZWZzKCRkZWZpbml0aW9uLT5tYXBMaWtlLT5rZXlUeXBlKSk7CkBAIC03
MTYsNiArNzYwLDEzIEBAIHN1YiBhcHBseVR5cGVkZWZzCiAgICAgICAgICAgICB9CiAgICAgICAg
IH0gZWxzaWYgKHJlZigkZGVmaW5pdGlvbikgZXEgIklETENhbGxiYWNrRnVuY3Rpb24iKSB7CiAg
ICAgICAgICAgICAkc2VsZi0+YXBwbHlUeXBlZGVmc1RvT3BlcmF0aW9uKCRkZWZpbml0aW9uLT5v
cGVyYXRpb24pOworICAgICAgICB9IGVsc2lmIChyZWYoJGRlZmluaXRpb24pIGVxICJJRExOYW1l
c3BhY2UiKSB7CisgICAgICAgICAgICBmb3JlYWNoIG15ICRvcGVyYXRpb24gKEB7JGRlZmluaXRp
b24tPm9wZXJhdGlvbnN9KSB7CisgICAgICAgICAgICAgICAgJHNlbGYtPmFwcGx5VHlwZWRlZnNU
b09wZXJhdGlvbigkb3BlcmF0aW9uKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvcmVh
Y2ggbXkgJGF0dHJpYnV0ZSAoQHskZGVmaW5pdGlvbi0+YXR0cmlidXRlc30pIHsKKyAgICAgICAg
ICAgICAgICAkYXR0cmlidXRlLT50eXBlKCRzZWxmLT50eXBlQnlBcHBseWluZ1R5cGVkZWZzKCRh
dHRyaWJ1dGUtPnR5cGUpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIH0KQEAg
LTc3MSw4ICs4MjIsMTEgQEAgc3ViIHBhcnNlRGVmaW5pdGlvbgogICAgIG15ICRleHRlbmRlZEF0
dHJpYnV0ZUxpc3QgPSBzaGlmdDsKIAogICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tlbigp
OwotICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHREZWZpbml0aW9uXzEvKSB7Ci0gICAg
ICAgIHJldHVybiAkc2VsZi0+cGFyc2VDYWxsYmFja09ySW50ZXJmYWNlKCRleHRlbmRlZEF0dHJp
YnV0ZUxpc3QpOworICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRDYWxsYmFja09ySW50
ZXJmYWNlLykgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlQ2FsbGJhY2tPckludGVyZmFj
ZU9yTWl4aW4oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgfQorICAgIGlmICgkbmV4dC0+
dmFsdWUoKSBlcSAibmFtZXNwYWNlIikgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlTmFt
ZXNwYWNlKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KICAgICBpZiAoJG5leHQtPnZh
bHVlKCkgZXEgInBhcnRpYWwiKSB7CiAgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VQYXJ0aWFs
KCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwpAQCAtNzgwLDIyICs4MzQsMjUgQEAgc3ViIHBhcnNl
RGVmaW5pdGlvbgogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiZGljdGlvbmFyeSIpIHsKICAg
ICAgICAgcmV0dXJuICRzZWxmLT5wYXJzZURpY3Rpb25hcnkoJGV4dGVuZGVkQXR0cmlidXRlTGlz
dCk7CiAgICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiZXhjZXB0aW9uIikgewotICAg
ICAgICByZXR1cm4gJHNlbGYtPnBhcnNlRXhjZXB0aW9uKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3Qp
OwotICAgIH0KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImVudW0iKSB7CiAgICAgICAgIHJl
dHVybiAkc2VsZi0+cGFyc2VFbnVtKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KICAg
ICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInR5cGVkZWYiKSB7CiAgICAgICAgIHJldHVybiAkc2Vs
Zi0+cGFyc2VUeXBlZGVmKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KKworICAgICMg
RklYTUU6IFJlbW92ZSBzdXBwb3J0IGZvciBleGNlcHRpb24sIGl0IGlzIG5vdCBwYXJ0IG9mIFdl
YklETCBhbnltb3JlLgorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiZXhjZXB0aW9uIikgewor
ICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlRXhjZXB0aW9uKCRleHRlbmRlZEF0dHJpYnV0ZUxp
c3QpOworICAgIH0KKwogICAgIGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbikg
ewotICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlSW1wbGVtZW50c1N0YXRlbWVudCgkZXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICAgICAgcmV0dXJuICRzZWxmLT5wYXJzZUluY2x1ZGVzU3Rh
dGVtZW50KCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KICAgICAkc2VsZi0+YXNzZXJ0
VW5leHBlY3RlZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7CiB9CiAKLXN1YiBwYXJz
ZUNhbGxiYWNrT3JJbnRlcmZhY2UKK3N1YiBwYXJzZUNhbGxiYWNrT3JJbnRlcmZhY2VPck1peGlu
CiB7CiAgICAgbXkgJHNlbGYgPSBzaGlmdDsKICAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
ID0gc2hpZnQ7CkBAIC04MDYsNyArODYzLDggQEAgc3ViIHBhcnNlQ2FsbGJhY2tPckludGVyZmFj
ZQogICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlQ2FsbGJhY2tSZXN0T3JJbnRlcmZhY2UoJGV4
dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAgICAgfQogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAi
aW50ZXJmYWNlIikgewotICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlSW50ZXJmYWNlKCRleHRl
bmRlZEF0dHJpYnV0ZUxpc3QpOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2Vs
Zi0+Z2V0VG9rZW4oKSwgImludGVyZmFjZSIsIF9fTElORV9fKTsKKyAgICAgICAgcmV0dXJuICRz
ZWxmLT5wYXJzZUludGVyZmFjZU9yTWl4aW4oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAgICAg
fQogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElO
RV9fKTsKIH0KQEAgLTgxOCw2ICs4NzYsNyBAQCBzdWIgcGFyc2VDYWxsYmFja1Jlc3RPckludGVy
ZmFjZQogCiAgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CiAgICAgaWYgKCRuZXh0
LT52YWx1ZSgpIGVxICJpbnRlcmZhY2UiKSB7CisgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZh
bHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiaW50ZXJmYWNlIiwgX19MSU5FX18pOwogICAgICAgICBt
eSAkaW50ZXJmYWNlID0gJHNlbGYtPnBhcnNlSW50ZXJmYWNlKCRleHRlbmRlZEF0dHJpYnV0ZUxp
c3QpOwogICAgICAgICAkaW50ZXJmYWNlLT5pc0NhbGxiYWNrKDEpOwogICAgICAgICByZXR1cm4g
JGludGVyZmFjZTsKQEAgLTgyOCwxNSArODg3LDMwIEBAIHN1YiBwYXJzZUNhbGxiYWNrUmVzdE9y
SW50ZXJmYWNlCiAgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFsdWUo
KSwgX19MSU5FX18pOwogfQogCitzdWIgcGFyc2VJbnRlcmZhY2VPck1peGluCit7CisgICAgbXkg
JHNlbGYgPSBzaGlmdDsKKyAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0ID0gc2hpZnQ7CisK
KyAgICBteSAkbmV4dCA9ICRzZWxmLT5uZXh0VG9rZW4oKTsKKyAgICBpZiAoJG5leHQtPnZhbHVl
KCkgZXEgIm1peGluIikgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlTWl4aW4oJGV4dGVu
ZGVkQXR0cmlidXRlTGlzdCk7CisgICAgfQorICAgIGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50
aWZpZXJUb2tlbikgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlSW50ZXJmYWNlKCRleHRl
bmRlZEF0dHJpYnV0ZUxpc3QpOworICAgIH0KKyAgICAkc2VsZi0+YXNzZXJ0VW5leHBlY3RlZFRv
a2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7Cit9CisKIHN1YiBwYXJzZUludGVyZmFjZQog
ewogICAgIG15ICRzZWxmID0gc2hpZnQ7CiAgICAgbXkgJGV4dGVuZGVkQXR0cmlidXRlTGlzdCA9
IHNoaWZ0OwogCiAgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7Ci0gICAgaWYgKCRu
ZXh0LT52YWx1ZSgpIGVxICJpbnRlcmZhY2UiKSB7CisgICAgaWYgKCRuZXh0LT50eXBlKCkgPT0g
SWRlbnRpZmllclRva2VuKSB7CiAgICAgICAgIG15ICRpbnRlcmZhY2UgPSBJRExJbnRlcmZhY2Ut
Pm5ldygpOwotICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4o
KSwgImludGVyZmFjZSIsIF9fTElORV9fKTsKKwogICAgICAgICBteSAkaW50ZXJmYWNlTmFtZVRv
a2VuID0gJHNlbGYtPmdldFRva2VuKCk7CiAgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblR5cGUo
JGludGVyZmFjZU5hbWVUb2tlbiwgSWRlbnRpZmllclRva2VuKTsKICAgICAgICAgCkBAIC04NjMs
NiArOTM3LDkyIEBAIHN1YiBwYXJzZUludGVyZmFjZQogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVj
dGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKIH0KIAorc3ViIHBhcnNlTmFtZXNw
YWNlCit7CisgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0ID0gc2hpZnQ7CisKKyAgICBteSAkbmV4dCA9ICRzZWxmLT5uZXh0VG9rZW4oKTsKKyAgICBp
ZiAoJG5leHQtPnZhbHVlKCkgZXEgIm5hbWVzcGFjZSIpIHsKKyAgICAgICAgJHNlbGYtPmFzc2Vy
dFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJuYW1lc3BhY2UiLCBfX0xJTkVfXyk7CisK
KyAgICAgICAgbXkgJG5hbWVzcGFjZSA9IElETE5hbWVzcGFjZS0+bmV3KCk7CisKKyAgICAgICAg
bXkgJG5hbWVzcGFjZU5hbWVUb2tlbiA9ICRzZWxmLT5nZXRUb2tlbigpOworICAgICAgICAkc2Vs
Zi0+YXNzZXJ0VG9rZW5UeXBlKCRuYW1lc3BhY2VOYW1lVG9rZW4sIElkZW50aWZpZXJUb2tlbik7
CisgICAgICAgIAorICAgICAgICBteSAkbmFtZSA9IGlkZW50aWZpZXJSZW1vdmVOdWxsYWJsZVBy
ZWZpeCgkbmFtZXNwYWNlTmFtZVRva2VuLT52YWx1ZSgpKTsKKyAgICAgICAgJG5hbWVzcGFjZS0+
bmFtZSgkbmFtZSk7CisKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdl
dFRva2VuKCksICJ7IiwgX19MSU5FX18pOworICAgICAgICBteSAkbmFtZXNwYWNlTWVtYmVycyA9
ICRzZWxmLT5wYXJzZU5hbWVzcGFjZU1lbWJlcnMoKTsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRv
a2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJ9IiwgX19MSU5FX18pOworICAgICAgICAkc2Vs
Zi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIjsiLCBfX0xJTkVfXyk7Cisg
ICAgICAgIAorICAgICAgICBmb3IgbXkgJG5hbWVzcGFjZU1lbWJlciAoQHskbmFtZXNwYWNlTWVt
YmVyc30pIHsKKyAgICAgICAgICAgIGlmIChyZWYoJG5hbWVzcGFjZU1lbWJlcikgZXEgIklETEF0
dHJpYnV0ZSIpIHsKKyAgICAgICAgICAgICAgICBwdXNoKEB7JG5hbWVzcGFjZS0+YXR0cmlidXRl
c30sICRuYW1lc3BhY2VNZW1iZXIpOworICAgICAgICAgICAgICAgIG5leHQ7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBpZiAocmVmKCRuYW1lc3BhY2VNZW1iZXIpIGVxICJJRExPcGVyYXRp
b24iKSB7CisgICAgICAgICAgICAgICAgcHVzaChAeyRuYW1lc3BhY2UtPm9wZXJhdGlvbnN9LCAk
bmFtZXNwYWNlTWVtYmVyKTsKKyAgICAgICAgICAgICAgICBuZXh0OworICAgICAgICAgICAgfQor
ICAgICAgICB9CisKKyAgICAgICAgJHNlbGYtPmFzc2VydEV4dGVuZGVkQXR0cmlidXRlc1ZhbGlk
Rm9yQ29udGV4dCgkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0LCAibmFtZXNwYWNlIik7CisgICAgICAg
ICRuYW1lc3BhY2UtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsK
KworICAgICAgICBkaWUgIiduYW1lc3BhY2UnIGRlZmluaXRpb25zIGFyZSBub3QgY3VycmVudGx5
IHN1cHBvcnRlZCBieSB0aGUgY29kZSBnZW5lcmF0b3JzLiI7CisKKyAgICAgICAgcmV0dXJuICRu
YW1lc3BhY2U7CisgICAgfQorICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQt
PnZhbHVlKCksIF9fTElORV9fKTsKKworfQorCitzdWIgcGFyc2VOYW1lc3BhY2VNZW1iZXJzCit7
CisgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAgICBteSBAbmFtZXNwYWNlTWVtYmVycyA9ICgpOwor
CisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgbXkgJGV4dGVuZGVkQXR0cmlidXRlTGlzdCA9ICRz
ZWxmLT5wYXJzZUV4dGVuZGVkQXR0cmlidXRlTGlzdEFsbG93RW1wdHkoKTsKKyAgICAgICAgbXkg
JG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CisgICAgICAgIG15ICRuYW1lc3BhY2VNZW1iZXI7
CisKKyAgICAgICAgaWYgKCRuZXh0LT50eXBlKCkgPT0gSWRlbnRpZmllclRva2VuIHx8ICRuZXh0
LT52YWx1ZSgpID1+IC8kbmV4dE5hbWVzcGFjZU1lbWJlcnNfMS8pIHsKKyAgICAgICAgICAgICRu
YW1lc3BhY2VNZW1iZXIgPSAkc2VsZi0+cGFyc2VOYW1lc3BhY2VNZW1iZXIoJGV4dGVuZGVkQXR0
cmlidXRlTGlzdCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBsYXN0OworICAgICAg
ICB9CisgICAgICAgIGlmIChkZWZpbmVkICRuYW1lc3BhY2VNZW1iZXIpIHsKKyAgICAgICAgICAg
IHB1c2goQG5hbWVzcGFjZU1lbWJlcnMsICRuYW1lc3BhY2VNZW1iZXIpOworICAgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiBcQG5hbWVzcGFjZU1lbWJlcnM7Cit9CisKK3N1YiBwYXJzZU5hbWVz
cGFjZU1lbWJlcgoreworICAgIG15ICRzZWxmID0gc2hpZnQ7CisgICAgbXkgJGV4dGVuZGVkQXR0
cmlidXRlTGlzdCA9IHNoaWZ0OworCisgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7
CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJyZWFkb25seSIpIHsKKyAgICAgICAgJHNlbGYt
PmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJyZWFkb25seSIsIF9fTElORV9f
KTsKKyAgICAgICAgbXkgJGF0dHJpYnV0ZSA9ICRzZWxmLT5wYXJzZUF0dHJpYnV0ZVJlc3QoJGV4
dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgICAgICRhdHRyaWJ1dGUtPmlzUmVhZE9ubHkoMSk7
CisgICAgICAgIHJldHVybiAkYXR0cmlidXRlOworICAgIH0KKyAgICBpZiAoJG5leHQtPnR5cGUo
KSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0UmVndWxhck9w
ZXJhdGlvbl8xLykgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlUmVndWxhck9wZXJhdGlv
bigkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICB9CisKKyAgICAkc2VsZi0+YXNzZXJ0VW5l
eHBlY3RlZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7Cit9CisKKwogc3ViIHBhcnNl
UGFydGlhbAogewogICAgIG15ICRzZWxmID0gc2hpZnQ7CkBAIC04ODMsMTQgKzEwNDMsNjQgQEAg
c3ViIHBhcnNlUGFydGlhbERlZmluaXRpb24KIAogICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRU
b2tlbigpOwogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiaW50ZXJmYWNlIikgewotICAgICAg
ICBteSAkaW50ZXJmYWNlID0gJHNlbGYtPnBhcnNlSW50ZXJmYWNlKCRleHRlbmRlZEF0dHJpYnV0
ZUxpc3QpOwotICAgICAgICAkaW50ZXJmYWNlLT5pc1BhcnRpYWwoMSk7Ci0gICAgICAgIHJldHVy
biAkaW50ZXJmYWNlOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0
VG9rZW4oKSwgImludGVyZmFjZSIsIF9fTElORV9fKTsKKyAgICAgICAgcmV0dXJuICRzZWxmLT5w
YXJzZVBhcnRpYWxJbnRlcmZhY2VPclBhcnRpYWxNaXhpbigkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
KTsKICAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJkaWN0aW9uYXJ5IikgewotICAg
ICAgICBteSAkZGljdGlvbmFyeSA9ICRzZWxmLT5wYXJzZURpY3Rpb25hcnkoJGV4dGVuZGVkQXR0
cmlidXRlTGlzdCk7Ci0gICAgICAgICRkaWN0aW9uYXJ5LT5pc1BhcnRpYWwoMSk7Ci0gICAgICAg
IHJldHVybiAkZGljdGlvbmFyeTsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNl
bGYtPmdldFRva2VuKCksICJkaWN0aW9uYXJ5IiwgX19MSU5FX18pOworICAgICAgICByZXR1cm4g
JHNlbGYtPnBhcnNlUGFydGlhbERpY3Rpb25hcnkoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Cisg
ICAgfQorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAibmFtZXNwYWNlIikgeworICAgICAgICBt
eSAkbmFtZXNwYWNlID0gJHNlbGYtPnBhcnNlTmFtZXNwYWNlKCRleHRlbmRlZEF0dHJpYnV0ZUxp
c3QpOworICAgICAgICAkbmFtZXNwYWNlLT5pc1BhcnRpYWwoMSk7CisgICAgICAgIHJldHVybiAk
bmFtZXNwYWNlOworICAgIH0KKyAgICAkc2VsZi0+YXNzZXJ0VW5leHBlY3RlZFRva2VuKCRuZXh0
LT52YWx1ZSgpLCBfX0xJTkVfXyk7Cit9CisKK3N1YiBwYXJzZVBhcnRpYWxJbnRlcmZhY2VPclBh
cnRpYWxNaXhpbgoreworICAgIG15ICRzZWxmID0gc2hpZnQ7CisgICAgbXkgJGV4dGVuZGVkQXR0
cmlidXRlTGlzdCA9IHNoaWZ0OworCisgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7
CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJtaXhpbiIpIHsKKyAgICAgICAgbXkgJG1peGlu
ID0gJHNlbGYtPnBhcnNlTWl4aW4oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgICAgICRt
aXhpbi0+aXNQYXJ0aWFsKDEpOworICAgICAgICByZXR1cm4gJG1peGluOworICAgIH0KKyAgICBp
ZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4pIHsKKyAgICAgICAgcmV0dXJuICRz
ZWxmLT5wYXJzZVBhcnRpYWxJbnRlcmZhY2UoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAg
fQorICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElO
RV9fKTsKK30KKworc3ViIHBhcnNlUGFydGlhbEludGVyZmFjZQoreworICAgIG15ICRzZWxmID0g
c2hpZnQ7CisgICAgbXkgJGV4dGVuZGVkQXR0cmlidXRlTGlzdCA9IHNoaWZ0OworCisgICAgbXkg
JG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CisgICAgaWYgKCRuZXh0LT50eXBlKCkgPT0gSWRl
bnRpZmllclRva2VuKSB7CisgICAgICAgIG15ICRpbnRlcmZhY2UgPSBJRExJbnRlcmZhY2UtPm5l
dygpOworICAgICAgICAkaW50ZXJmYWNlLT5pc1BhcnRpYWwoMSk7CisKKyAgICAgICAgbXkgJGlu
dGVyZmFjZU5hbWVUb2tlbiA9ICRzZWxmLT5nZXRUb2tlbigpOworICAgICAgICAkc2VsZi0+YXNz
ZXJ0VG9rZW5UeXBlKCRpbnRlcmZhY2VOYW1lVG9rZW4sIElkZW50aWZpZXJUb2tlbik7CisKKyAg
ICAgICAgbXkgJG5hbWUgPSBpZGVudGlmaWVyUmVtb3ZlTnVsbGFibGVQcmVmaXgoJGludGVyZmFj
ZU5hbWVUb2tlbi0+dmFsdWUoKSk7CisgICAgICAgICRpbnRlcmZhY2UtPnR5cGUobWFrZVNpbXBs
ZVR5cGUoJG5hbWUpKTsKKworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+
Z2V0VG9rZW4oKSwgInsiLCBfX0xJTkVfXyk7CisgICAgICAgIG15ICRwYXJ0aWFsSW50ZXJmYWNl
TWVtYmVycyA9ICRzZWxmLT5wYXJzZVBhcnRpYWxJbnRlcmZhY2VNZW1iZXJzKCk7CisgICAgICAg
ICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAifSIsIF9fTElORV9f
KTsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI7
IiwgX19MSU5FX18pOworICAgICAgICBhcHBseU1lbWJlckxpc3QoJGludGVyZmFjZSwgJHBhcnRp
YWxJbnRlcmZhY2VNZW1iZXJzKTsKKworICAgICAgICAkc2VsZi0+YXNzZXJ0RXh0ZW5kZWRBdHRy
aWJ1dGVzVmFsaWRGb3JDb250ZXh0KCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QsICJpbnRlcmZhY2Ui
KTsKKyAgICAgICAgYXBwbHlFeHRlbmRlZEF0dHJpYnV0ZUxpc3QoJGludGVyZmFjZSwgJGV4dGVu
ZGVkQXR0cmlidXRlTGlzdCk7CisKKyAgICAgICAgcmV0dXJuICRpbnRlcmZhY2U7CiAgICAgfQog
ICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9f
KTsKIH0KQEAgLTkxNyw0NyArMTEyNywxMjIgQEAgc3ViIHBhcnNlSW50ZXJmYWNlTWVtYmVycwog
ICAgIHJldHVybiBcQGludGVyZmFjZU1lbWJlcnM7CiB9CiAKLXN1YiBwYXJzZUludGVyZmFjZU1l
bWJlcgorc3ViIHBhcnNlUGFydGlhbEludGVyZmFjZU1lbWJlcnMKK3sKKyAgICBteSAkc2VsZiA9
IHNoaWZ0OworICAgIG15IEBpbnRlcmZhY2VNZW1iZXJzID0gKCk7CisKKyAgICB3aGlsZSAoMSkg
eworICAgICAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0ID0gJHNlbGYtPnBhcnNlRXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0QWxsb3dFbXB0eSgpOworICAgICAgICBteSAkbmV4dCA9ICRzZWxmLT5u
ZXh0VG9rZW4oKTsKKyAgICAgICAgbXkgJGludGVyZmFjZU1lbWJlcjsKKworICAgICAgICBpZiAo
JG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRu
ZXh0UGFydGlhbEludGVyZmFjZU1lbWJlcl8xLykgeworICAgICAgICAgICAgJGludGVyZmFjZU1l
bWJlciA9ICRzZWxmLT5wYXJzZVBhcnRpYWxJbnRlcmZhY2VNZW1iZXIoJGV4dGVuZGVkQXR0cmli
dXRlTGlzdCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBsYXN0OworICAgICAgICB9
CisgICAgICAgIGlmIChkZWZpbmVkICRpbnRlcmZhY2VNZW1iZXIpIHsKKyAgICAgICAgICAgIHB1
c2goQGludGVyZmFjZU1lbWJlcnMsICRpbnRlcmZhY2VNZW1iZXIpOworICAgICAgICB9CisgICAg
fQorICAgIHJldHVybiBcQGludGVyZmFjZU1lbWJlcnM7Cit9CisKK3N1YiBwYXJzZVBhcnRpYWxJ
bnRlcmZhY2VNZW1iZXIKIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIG15ICRleHRlbmRl
ZEF0dHJpYnV0ZUxpc3QgPSBzaGlmdDsKIAogICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tl
bigpOwotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiY29uc3RydWN0b3IiKSB7Ci0gICAgICAg
IHJldHVybiAkc2VsZi0+cGFyc2VDb25zdHJ1Y3RvcigkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsK
LSAgICB9CiAKICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImNvbnN0IikgewogICAgICAgICBy
ZXR1cm4gJHNlbGYtPnBhcnNlQ29uc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAgICAgfQot
Ci0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJzZXJpYWxpemVyIikgewotICAgICAgICByZXR1
cm4gJHNlbGYtPnBhcnNlU2VyaWFsaXplcigkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKLSAgICB9
Ci0KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInN0cmluZ2lmaWVyIikgewogICAgICAgICBy
ZXR1cm4gJHNlbGYtPnBhcnNlU3RyaW5naWZpZXIoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAg
ICAgfQotCiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJzdGF0aWMiKSB7CiAgICAgICAgIHJl
dHVybiAkc2VsZi0+cGFyc2VTdGF0aWNNZW1iZXIoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAg
ICAgfQotCiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJpdGVyYWJsZSIpIHsKICAgICAgICAg
cmV0dXJuICRzZWxmLT5wYXJzZUl0ZXJhYmxlUmVzdCgkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsK
ICAgICB9Ci0KKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImFzeW5jIikgeworICAgICAgICBy
ZXR1cm4gJHNlbGYtPnBhcnNlQXN5bmNJdGVyYWJsZSgkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsK
KyAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJyZWFkb25seSIpIHsKICAgICAgICAg
cmV0dXJuICRzZWxmLT5wYXJzZVJlYWRPbmx5TWVtYmVyKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3Qp
OwogICAgIH0KKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImF0dHJpYnV0ZSIpIHsKKyAgICAg
ICAgcmV0dXJuICRzZWxmLT5wYXJzZUF0dHJpYnV0ZVJlc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlz
dCk7CisgICAgfQorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAibWFwbGlrZSIpIHsKKyAgICAg
ICAgcmV0dXJuICRzZWxmLT5wYXJzZU1hcExpa2VSZXN0KCRleHRlbmRlZEF0dHJpYnV0ZUxpc3Qs
IDApOworICAgIH0KKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInNldGxpa2UiKSB7CisgICAg
ICAgIHJldHVybiAkc2VsZi0+cGFyc2VTZXRMaWtlUmVzdCgkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
LCAwKTsKKyAgICB9CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJpbmhlcml0IikgeworICAg
ICAgICByZXR1cm4gJHNlbGYtPnBhcnNlSW5oZXJpdEF0dHJpYnV0ZSgkZXh0ZW5kZWRBdHRyaWJ1
dGVMaXN0KTsKKyAgICB9CisKKyAgICAjIEZJWE1FOiBSZW1vdmUuIFRoaXMgaXMgbm8gbG9uZ2Vy
IHBhcnQgb2YgV2ViSURMLiBSZXBsYWNlIHdpdGggW1NlcmlhbGl6YWJsZV0uCisgICAgaWYgKCRu
ZXh0LT52YWx1ZSgpIGVxICJzZXJpYWxpemVyIikgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBh
cnNlU2VyaWFsaXplcigkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICB9CisKKyAgICBpZiAo
JG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRu
ZXh0T3BlcmF0aW9uXzEvKSB7CisgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VPcGVyYXRpb24o
JGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgIH0KKworICAgICRzZWxmLT5hc3NlcnRVbmV4
cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKK30KIAotICAgIGlmICgkbmV4
dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbiB8fCAkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRJ
bnRlcmZhY2VNZW1iZXJfMS8pIHsKLSAgICAgICAgcmV0dXJuICRzZWxmLT5wYXJzZU9wZXJhdGlv
bk9yUmVhZFdyaXRlQXR0cmlidXRlT3JNYXBsaWtlKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwor
c3ViIHBhcnNlSW50ZXJmYWNlTWVtYmVyCit7CisgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAgICBt
eSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0ID0gc2hpZnQ7CisKKyAgICBteSAkbmV4dCA9ICRzZWxm
LT5uZXh0VG9rZW4oKTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImNvbnN0cnVjdG9yIikg
eworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlQ29uc3RydWN0b3IoJGV4dGVuZGVkQXR0cmli
dXRlTGlzdCk7CisgICAgfQorICAgIGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tl
biB8fCAkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRQYXJ0aWFsSW50ZXJmYWNlTWVtYmVyXzEvKSB7
CisgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VQYXJ0aWFsSW50ZXJmYWNlTWVtYmVyKCRleHRl
bmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KIAogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVk
VG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKIH0KIAorc3ViIHBhcnNlUGFydGlhbERp
Y3Rpb25hcnkKK3sKKyAgICBteSAkc2VsZiA9IHNoaWZ0OworICAgIG15ICRleHRlbmRlZEF0dHJp
YnV0ZUxpc3QgPSBzaGlmdDsKKworICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tlbigpOwor
ICAgIGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbikgeworICAgICAgICBteSAk
ZGljdGlvbmFyeSA9IElETERpY3Rpb25hcnktPm5ldygpOworICAgICAgICAkZGljdGlvbmFyeS0+
aXNQYXJ0aWFsKDEpOworCisgICAgICAgICRzZWxmLT5hc3NlcnRFeHRlbmRlZEF0dHJpYnV0ZXNW
YWxpZEZvckNvbnRleHQoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCwgImRpY3Rpb25hcnkiKTsKKyAg
ICAgICAgJGRpY3Rpb25hcnktPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0KTsKKworICAgICAgICBteSAkbmFtZVRva2VuID0gJHNlbGYtPmdldFRva2VuKCk7CisgICAg
ICAgICRzZWxmLT5hc3NlcnRUb2tlblR5cGUoJG5hbWVUb2tlbiwgSWRlbnRpZmllclRva2VuKTsK
KworICAgICAgICBteSAkbmFtZSA9ICRuYW1lVG9rZW4tPnZhbHVlKCk7CisgICAgICAgICRkaWN0
aW9uYXJ5LT50eXBlKG1ha2VTaW1wbGVUeXBlKCRuYW1lKSk7CisKKyAgICAgICAgJHNlbGYtPmFz
c2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJ7IiwgX19MSU5FX18pOworICAgICAg
ICAkZGljdGlvbmFyeS0+bWVtYmVycygkc2VsZi0+cGFyc2VEaWN0aW9uYXJ5TWVtYmVycygpKTsK
KyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJ9Iiwg
X19MSU5FX18pOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9r
ZW4oKSwgIjsiLCBfX0xJTkVfXyk7CisgICAgICAgIHJldHVybiAkZGljdGlvbmFyeTsKKyAgICB9
CisgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFsdWUoKSwgX19MSU5F
X18pOworfQorCiBzdWIgcGFyc2VEaWN0aW9uYXJ5CiB7CiAgICAgbXkgJHNlbGYgPSBzaGlmdDsK
QEAgLTEyNjksMTggKzE1NTQsMjYgQEAgc3ViIHBhcnNlVHlwZWRlZgogICAgICRzZWxmLT5hc3Nl
cnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKIH0KIAotc3ViIHBh
cnNlSW1wbGVtZW50c1N0YXRlbWVudAorc3ViIHBhcnNlSW5jbHVkZXNTdGF0ZW1lbnQKIHsKICAg
ICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIG15ICRleHRlbmRlZEF0dHJpYnV0ZUxpc3QgPSBzaGlm
dDsKIAogICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tlbigpOwogICAgIGlmICgkbmV4dC0+
dHlwZSgpID09IElkZW50aWZpZXJUb2tlbikgewotICAgICAgICAkc2VsZi0+cGFyc2VOYW1lKCk7
Ci0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiaW1w
bGVtZW50cyIsIF9fTElORV9fKTsKLSAgICAgICAgJHNlbGYtPnBhcnNlTmFtZSgpOworICAgICAg
ICBteSAkaW5jbHVkZXNTdGF0ZW1lbnQgPSBJRExJbmNsdWRlc1N0YXRlbWVudC0+bmV3KCk7Cisg
ICAgCisgICAgICAgIG15ICRpbnRlcmZhY2VJZGVudGlmaWVyID0gJHNlbGYtPnBhcnNlTmFtZSgp
OworICAgICAgICAkaW5jbHVkZXNTdGF0ZW1lbnQtPmludGVyZmFjZUlkZW50aWZpZXIoJGludGVy
ZmFjZUlkZW50aWZpZXIpOworCisgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxm
LT5nZXRUb2tlbigpLCAiaW5jbHVkZXMiLCBfX0xJTkVfXyk7CisKKyAgICAgICAgbXkgJG1peGlu
SWRlbnRpZmllciA9ICRzZWxmLT5wYXJzZU5hbWUoKTsKKyAgICAgICAgJGluY2x1ZGVzU3RhdGVt
ZW50LT5taXhpbklkZW50aWZpZXIoJG1peGluSWRlbnRpZmllcik7CisKICAgICAgICAgJHNlbGYt
PmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI7IiwgX19MSU5FX18pOwotICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgcmV0dXJuICRpbmNsdWRlc1N0YXRlbWVudDsKICAgICB9
CiAgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFsdWUoKSwgX19MSU5F
X18pOwogfQpAQCAtMTM2OSwyNyArMTY2Miw2IEBAIHN1YiBwYXJzZUZsb2F0TGl0ZXJhbAogICAg
ICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsK
IH0KIAotc3ViIHBhcnNlT3BlcmF0aW9uT3JSZWFkV3JpdGVBdHRyaWJ1dGVPck1hcGxpa2UKLXsK
LSAgICBteSAkc2VsZiA9IHNoaWZ0OwotICAgIG15ICRleHRlbmRlZEF0dHJpYnV0ZUxpc3QgPSBz
aGlmdDsKLQotICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tlbigpOwotICAgIGlmICgkbmV4
dC0+dmFsdWUoKSA9fiAvJG5leHRBdHRyaWJ1dGVfMS8pIHsKLSAgICAgICAgcmV0dXJuICRzZWxm
LT5wYXJzZVJlYWRXcml0ZUF0dHJpYnV0ZSgkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKLSAgICB9
Ci0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJtYXBsaWtlIikgewotICAgICAgICByZXR1cm4g
JHNlbGYtPnBhcnNlTWFwTGlrZVJlc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCwgMCk7Ci0gICAg
fQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAic2V0bGlrZSIpIHsKLSAgICAgICAgcmV0dXJu
ICRzZWxmLT5wYXJzZVNldExpa2VSZXN0KCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QsIDApOwotICAg
IH0KLSAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZh
bHVlKCkgPX4gLyRuZXh0T3BlcmF0aW9uXzEvKSB7Ci0gICAgICAgIHJldHVybiAkc2VsZi0+cGFy
c2VPcGVyYXRpb24oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Ci0gICAgfQotICAgICRzZWxmLT5h
c3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKLX0KLQogc3Vi
IHBhcnNlUmVhZE9ubHlNZW1iZXIKIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwpAQCAtMTY1OSwy
NCArMTkzMSwxOSBAQCBzdWIgcGFyc2VBdHRyaWJ1dGVPck9wZXJhdGlvbkZvclN0cmluZ2lmCiAg
ICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFsdWUoKSwgX19MSU5FX18p
OwogfQogCi1zdWIgcGFyc2VSZWFkV3JpdGVBdHRyaWJ1dGUKK3N1YiBwYXJzZUluaGVyaXRBdHRy
aWJ1dGUKIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIG15ICRleHRlbmRlZEF0dHJpYnV0
ZUxpc3QgPSBzaGlmdDsKIAogICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tlbigpOwogICAg
IGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiaW5oZXJpdCIpIHsKLSAgICAgICAgbXkgJGlzSW5oZXJp
dCA9ICRzZWxmLT5wYXJzZUluaGVyaXQoKTsKLSAgICAgICAgbXkgJGlzUmVhZE9ubHkgPSAkc2Vs
Zi0+cGFyc2VSZWFkT25seSgpOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2Vs
Zi0+Z2V0VG9rZW4oKSwgImluaGVyaXQiLCBfX0xJTkVfXyk7CiAKICAgICAgICAgbXkgJGF0dHJp
YnV0ZSA9ICRzZWxmLT5wYXJzZUF0dHJpYnV0ZVJlc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7
Ci0KLSAgICAgICAgJGF0dHJpYnV0ZS0+aXNJbmhlcml0KCRpc0luaGVyaXQpOwotICAgICAgICAk
YXR0cmlidXRlLT5pc1JlYWRPbmx5KCRpc1JlYWRPbmx5KTsKKyAgICAgICAgJGF0dHJpYnV0ZS0+
aXNJbmhlcml0KDEpOwogCiAgICAgICAgIHJldHVybiAkYXR0cmlidXRlOwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VBdHRyaWJ1dGVSZXN0KCRleHRlbmRlZEF0dHJp
YnV0ZUxpc3QpOwogICAgIH0KICAgICAkc2VsZi0+YXNzZXJ0VW5leHBlY3RlZFRva2VuKCRuZXh0
LT52YWx1ZSgpLCBfX0xJTkVfXyk7CiB9CkBAIC0xNzA4LDE3ICsxOTc1LDYgQEAgc3ViIHBhcnNl
QXR0cmlidXRlUmVzdAogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZh
bHVlKCksIF9fTElORV9fKTsKIH0KIAotc3ViIHBhcnNlSW5oZXJpdAotewotICAgIG15ICRzZWxm
ID0gc2hpZnQ7Ci0gICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7Ci0gICAgaWYgKCRu
ZXh0LT52YWx1ZSgpIGVxICJpbmhlcml0IikgewotICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5W
YWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgImluaGVyaXQiLCBfX0xJTkVfXyk7Ci0gICAgICAgIHJl
dHVybiAxOwotICAgIH0KLSAgICByZXR1cm4gMDsKLX0KLQogc3ViIHBhcnNlUmVhZE9ubHkKIHsK
ICAgICBteSAkc2VsZiA9IHNoaWZ0OwpAQCAtMTczNCwyMSArMTk5MCwzMiBAQCBzdWIgcGFyc2VP
cGVyYXRpb24KIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIG15ICRleHRlbmRlZEF0dHJp
YnV0ZUxpc3QgPSBzaGlmdDsKLSAgICBteSAkaXNSZWFkT25seSA9IHNoaWZ0OwogCiAgICAgbXkg
JG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpID1+IC8k
bmV4dFNwZWNpYWxzXzEvKSB7CiAgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VTcGVjaWFsT3Bl
cmF0aW9uKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KLSAgICBpZiAoJG5leHQtPnR5
cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0T3BlcmF0
aW9uUmVzdF8xLykgewotICAgICAgICBteSAkcmV0dXJuVHlwZSA9ICRzZWxmLT5wYXJzZVR5cGUo
KTsKKyAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZh
bHVlKCkgPX4gLyRuZXh0UmVndWxhck9wZXJhdGlvbl8xLykgeworICAgICAgICByZXR1cm4gJHNl
bGYtPnBhcnNlUmVndWxhck9wZXJhdGlvbigkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICB9
CisgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFsdWUoKSwgX19MSU5F
X18pOworfQorCitzdWIgcGFyc2VSZWd1bGFyT3BlcmF0aW9uCit7CisgICAgbXkgJHNlbGYgPSBz
aGlmdDsKKyAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0ID0gc2hpZnQ7CisKKyAgICBteSAk
bmV4dCA9ICRzZWxmLT5uZXh0VG9rZW4oKTsKKyAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVu
dGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0UmVndWxhck9wZXJhdGlvbl8x
LykgeworICAgICAgICBteSAkdHlwZSA9ICRzZWxmLT5wYXJzZVR5cGUoKTsKIAogICAgICAgICAj
IE5PVEU6IFRoaXMgaXMgYSBub24tc3RhbmRhcmQgYWRkaXRpb24uIEluIFdlYklETCwgdGhlcmUg
aXMgbm8gd2F5IHRvIGFzc29jaWF0ZQogICAgICAgICAjIGV4dGVuZGVkIGF0dHJpYnV0ZXMgd2l0
aCBhIHJldHVybiB0eXBlLgotICAgICAgICAkc2VsZi0+bW92ZUV4dGVuZGVkQXR0cmlidXRlc0Fw
cGxpY2FibGVUb1R5cGVzKCRyZXR1cm5UeXBlLCAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAg
ICAgICAgJHNlbGYtPm1vdmVFeHRlbmRlZEF0dHJpYnV0ZXNBcHBsaWNhYmxlVG9UeXBlcygkdHlw
ZSwgJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAKICAgICAgICAgbXkgJG9wZXJhdGlvbiA9ICRz
ZWxmLT5wYXJzZU9wZXJhdGlvblJlc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Ci0gICAgICAg
ICRvcGVyYXRpb24tPnR5cGUoJHJldHVyblR5cGUpOworICAgICAgICAkb3BlcmF0aW9uLT50eXBl
KCR0eXBlKTsKIAogICAgICAgICByZXR1cm4gJG9wZXJhdGlvbjsKICAgICB9CkBAIC0xODExLDYg
KzIwNzgsOSBAQCBzdWIgcGFyc2VTcGVjaWFsCiAgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZh
bHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiZGVsZXRlciIsIF9fTElORV9fKTsKICAgICAgICAgcmV0
dXJuICJkZWxldGVyIjsKICAgICB9CisKKyAgICAjIEZJWE1FOiBsZWdhY3ljYWxsZXIgaXMgbm8g
bG9uZ2VyIHNwZWNpZmllZCBieSBXZWJJREwgYW5kIGlzIG9ubHkgdXNlZCBieSBIVE1MQWxsQ29s
bGVjdGlvbi4gV2Ugc2hvdWxkCisgICAgIyBzd2l0Y2ggdG8gdXNpbmcgYW4gZXh0ZW5kZWQgYXR0
cmlidXRlIHN5bnRheC4KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImxlZ2FjeWNhbGxlciIp
IHsKICAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJs
ZWdhY3ljYWxsZXIiLCBfX0xJTkVfXyk7CiAgICAgICAgIHJldHVybiAibGVnYWN5Y2FsbGVyIjsK
QEAgLTE4MTgsNiArMjA4OCw1MCBAQCBzdWIgcGFyc2VTcGVjaWFsCiAgICAgJHNlbGYtPmFzc2Vy
dFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFsdWUoKSwgX19MSU5FX18pOwogfQogCitzdWIgcGFy
c2VBc3luY0l0ZXJhYmxlCit7CisgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAgICBteSAkZXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0ID0gc2hpZnQ7CisKKyAgICBteSAkbmV4dCA9ICRzZWxmLT5uZXh0VG9r
ZW4oKTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImFzeW5jIikgeworICAgICAgICAkc2Vs
Zi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgImFzeW5jIiwgX19MSU5FX18p
OworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIml0
ZXJhYmxlIiwgX19MSU5FX18pOworCisgICAgICAgIG15ICRhc3luY0l0ZXJhYmxlID0gSURMQXN5
bmNJdGVyYWJsZS0+bmV3KCk7CisKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNl
bGYtPmdldFRva2VuKCksICI8IiwgX19MSU5FX18pOworICAgICAgICBteSAkdHlwZTEgPSAkc2Vs
Zi0+cGFyc2VUeXBlV2l0aEV4dGVuZGVkQXR0cmlidXRlcygpOworCisgICAgICAgIGlmICgkc2Vs
Zi0+bmV4dFRva2VuKCktPnZhbHVlKCkgZXEgIiwiKSB7CisgICAgICAgICAgICAkc2VsZi0+YXNz
ZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIiwiLCBfX0xJTkVfXyk7CisKKyAgICAg
ICAgICAgIG15ICR0eXBlMiA9ICRzZWxmLT5wYXJzZVR5cGVXaXRoRXh0ZW5kZWRBdHRyaWJ1dGVz
KCk7CisgICAgICAgICAgICAkYXN5bmNJdGVyYWJsZS0+aXNLZXlWYWx1ZSgxKTsKKyAgICAgICAg
ICAgICRhc3luY0l0ZXJhYmxlLT5rZXlUeXBlKCR0eXBlMSk7CisgICAgICAgICAgICAkYXN5bmNJ
dGVyYWJsZS0+dmFsdWVUeXBlKCR0eXBlMik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAkYXN5bmNJdGVyYWJsZS0+aXNLZXlWYWx1ZSgwKTsKKyAgICAgICAgICAgICRhc3luY0l0ZXJh
YmxlLT52YWx1ZVR5cGUoJHR5cGUxKTsKKyAgICAgICAgfQorICAgICAgICAkc2VsZi0+YXNzZXJ0
VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIj4iLCBfX0xJTkVfXyk7CisKKyAgICAgICAg
aWYgKCRzZWxmLT5uZXh0VG9rZW4oKS0+dmFsdWUoKSBlcSAiKCIpIHsKKyAgICAgICAgICAgICRz
ZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiKCIsIF9fTElORV9fKTsK
KyAgICAgICAgICAgIHB1c2goQHskYXN5bmNJdGVyYWJsZS0+YXJndW1lbnRzfSwgQHskc2VsZi0+
cGFyc2VBcmd1bWVudExpc3QoKX0pOworICAgICAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFs
dWUoJHNlbGYtPmdldFRva2VuKCksICIpIiwgX19MSU5FX18pOworICAgICAgICB9CisKKyAgICAg
ICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI7IiwgX19MSU5F
X18pOworCisgICAgICAgIGRpZSAiJ2FzeW5jIGl0ZXJhYmxlYCBpbnRlcmZhY2VzIGFyZSBub3Qg
Y3VycmVudGx5IHN1cHBvcnRlZCBieSB0aGUgY29kZSBnZW5lcmF0b3JzLiI7CisKKyAgICAgICAg
cmV0dXJuICRhc3luY0l0ZXJhYmxlOworICAgIH0KKyAgICAkc2VsZi0+YXNzZXJ0VW5leHBlY3Rl
ZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7CisKK30KKwogc3ViIHBhcnNlSXRlcmFi
bGVSZXN0CiB7CiAgICAgbXkgJHNlbGYgPSBzaGlmdDsKQEAgLTE4NTksNiArMjE3Myw5IEBAIHN1
YiBwYXJzZU9wdGlvbmFsSXRlcmFibGVJbnRlcmZhY2UKICAgICB9CiAgICAgJHNlbGYtPmFzc2Vy
dFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI+IiwgX19MSU5FX18pOwogCisgICAgIyBG
SVhNRTogU3ludGhldGljIG9wZXJhdGlvbnMgc2hvdWxkIG5vdCBiZSBhZGRlZCBkdXJpbmcgcGFy
c2luZy4gSW5zdGVhZCwgdGhlIENvZGVHZW5lcmF0b3IKKyAgICAjIHNob3VsZCBiZSByZXNwb25z
aWJsZSBmb3IgdGhlbS4KKwogICAgIG15ICRzeW1ib2xJdGVyYXRvck9wZXJhdGlvbiA9IElETE9w
ZXJhdGlvbi0+bmV3KCk7CiAgICAgJHN5bWJvbEl0ZXJhdG9yT3BlcmF0aW9uLT5uYW1lKCJbU3lt
Ym9sLkl0ZXJhdG9yXSIpOwogICAgICRzeW1ib2xJdGVyYXRvck9wZXJhdGlvbi0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwpAQCAtMjUwMiw2ICsyODE5LDkgQEAg
c3ViIHBhcnNlQXJndW1lbnROYW1lS2V5d29yZAogewogICAgIG15ICRzZWxmID0gc2hpZnQ7CiAg
ICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CisgICAgaWYgKCRuZXh0LT52YWx1ZSgp
IGVxICJhc3luYyIpIHsKKyAgICAgICAgcmV0dXJuICRzZWxmLT5nZXRUb2tlbigpLT52YWx1ZSgp
OworICAgIH0KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImF0dHJpYnV0ZSIpIHsKICAgICAg
ICAgcmV0dXJuICRzZWxmLT5nZXRUb2tlbigpLT52YWx1ZSgpOwogICAgIH0KQEAgLTI1MTEsNiAr
MjgzMSw5IEBAIHN1YiBwYXJzZUFyZ3VtZW50TmFtZUtleXdvcmQKICAgICBpZiAoJG5leHQtPnZh
bHVlKCkgZXEgImNvbnN0IikgewogICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZh
bHVlKCk7CiAgICAgfQorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiY29uc3RydWN0b3IiKSB7
CisgICAgICAgIHJldHVybiAkc2VsZi0+Z2V0VG9rZW4oKS0+dmFsdWUoKTsKKyAgICB9CiAgICAg
aWYgKCRuZXh0LT52YWx1ZSgpIGVxICJkZWxldGVyIikgewogICAgICAgICByZXR1cm4gJHNlbGYt
PmdldFRva2VuKCktPnZhbHVlKCk7CiAgICAgfQpAQCAtMjUyMCwxMyArMjg0MywxMCBAQCBzdWIg
cGFyc2VBcmd1bWVudE5hbWVLZXl3b3JkCiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJlbnVt
IikgewogICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CiAgICAgfQot
ICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiZXhjZXB0aW9uIikgewotICAgICAgICByZXR1cm4g
JHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7Ci0gICAgfQogICAgIGlmICgkbmV4dC0+dmFsdWUo
KSBlcSAiZ2V0dGVyIikgewogICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVl
KCk7CiAgICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiaW1wbGVtZW50cyIpIHsKKyAg
ICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImluY2x1ZGVzIikgewogICAgICAgICByZXR1cm4gJHNl
bGYtPmdldFRva2VuKCktPnZhbHVlKCk7CiAgICAgfQogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBl
cSAiaW5oZXJpdCIpIHsKQEAgLTI1MzUsMTMgKzI4NTUsMjggQEAgc3ViIHBhcnNlQXJndW1lbnRO
YW1lS2V5d29yZAogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiaW50ZXJmYWNlIikgewogICAg
ICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CiAgICAgfQotICAgIGlmICgk
bmV4dC0+dmFsdWUoKSBlcSAibGVnYWN5Y2FsbGVyIikgeworICAgIGlmICgkbmV4dC0+dmFsdWUo
KSBlcSAiaXRlcmFibGUiKSB7CisgICAgICAgIHJldHVybiAkc2VsZi0+Z2V0VG9rZW4oKS0+dmFs
dWUoKTsKKyAgICB9CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJtYXBsaWtlIikgeworICAg
ICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CisgICAgfQorICAgIGlmICgk
bmV4dC0+dmFsdWUoKSBlcSAibWl4aW4iKSB7CisgICAgICAgIHJldHVybiAkc2VsZi0+Z2V0VG9r
ZW4oKS0+dmFsdWUoKTsKKyAgICB9CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJuYW1lc3Bh
Y2UiKSB7CiAgICAgICAgIHJldHVybiAkc2VsZi0+Z2V0VG9rZW4oKS0+dmFsdWUoKTsKICAgICB9
CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJwYXJ0aWFsIikgewogICAgICAgICByZXR1cm4g
JHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CiAgICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUo
KSBlcSAic2VyaWFsaXplciIpIHsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInJlYWRvbmx5
IikgeworICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CisgICAgfQor
ICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAicmVxdWlyZWQiKSB7CisgICAgICAgIHJldHVybiAk
c2VsZi0+Z2V0VG9rZW4oKS0+dmFsdWUoKTsKKyAgICB9CisgICAgaWYgKCRuZXh0LT52YWx1ZSgp
IGVxICJzZXRsaWtlIikgewogICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVl
KCk7CiAgICAgfQogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAic2V0dGVyIikgewpAQCAtMjcw
Nyw3ICszMDQyLDcgQEAgc3ViIHBhcnNlRGlzdGluZ3Vpc2hhYmxlVHlwZQogCiAgICAgbXkgJHR5
cGUgPSBJRExUeXBlLT5uZXcoKTsKIAotICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRE
aXN0aW5ndWlzaGFibGVUeXBlXzEvKSB7CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpID1+IC8kbmV4
dFByaW1pdGl2ZVR5cGVfMS8pIHsKICAgICAgICAgJHR5cGUtPm5hbWUoJHNlbGYtPnBhcnNlUHJp
bWl0aXZlVHlwZSgpKTsKICAgICAgICAgcmV0dXJuICR0eXBlOwogICAgIH0KQEAgLTI3MTUsNTQg
KzMwNTAsNTcgQEAgc3ViIHBhcnNlRGlzdGluZ3Vpc2hhYmxlVHlwZQogICAgICAgICAkdHlwZS0+
bmFtZSgkc2VsZi0+cGFyc2VTdHJpbmdUeXBlKCkpOwogICAgICAgICByZXR1cm4gJHR5cGU7CiAg
ICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAib2JqZWN0IikgewotICAgICAgICAkc2Vs
Zi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIm9iamVjdCIsIF9fTElORV9f
KTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInNlcXVlbmNlIikgeworICAgICAgICAkc2Vs
Zi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgInNlcXVlbmNlIiwgX19MSU5F
X18pOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwg
IjwiLCBfX0xJTkVfXyk7CiAKLSAgICAgICAgJHR5cGUtPm5hbWUoIm9iamVjdCIpOwotICAgICAg
ICByZXR1cm4gJHR5cGU7Ci0gICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiRXJyb3Ii
KSB7Ci0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAi
RXJyb3IiLCBfX0xJTkVfXyk7CisgICAgICAgIG15ICRzdWJ0eXBlID0gJHNlbGYtPnBhcnNlVHlw
ZVdpdGhFeHRlbmRlZEF0dHJpYnV0ZXMoKTsKKworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5W
YWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIj4iLCBfX0xJTkVfXyk7CisKKyAgICAgICAgJHR5cGUt
Pm5hbWUoInNlcXVlbmNlIik7CisgICAgICAgIHB1c2goQHskdHlwZS0+c3VidHlwZXN9LCAkc3Vi
dHlwZSk7CiAKLSAgICAgICAgJHR5cGUtPm5hbWUoIkVycm9yIik7CiAgICAgICAgIHJldHVybiAk
dHlwZTsKICAgICB9Ci0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJET01FeGNlcHRpb24iKSB7
Ci0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiRE9N
RXhjZXB0aW9uIiwgX19MSU5FX18pOworICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAib2JqZWN0
IikgeworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwg
Im9iamVjdCIsIF9fTElORV9fKTsKIAotICAgICAgICAkdHlwZS0+bmFtZSgiRE9NRXhjZXB0aW9u
Iik7CisgICAgICAgICR0eXBlLT5uYW1lKCJvYmplY3QiKTsKICAgICAgICAgcmV0dXJuICR0eXBl
OwogICAgIH0KLSAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgIkRhdGUiKSB7Ci0gICAgICAgICRz
ZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiRGF0ZSIsIF9fTElORV9f
KTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInN5bWJvbCIpIHsKKyAgICAgICAgJHNlbGYt
PmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJzeW1ib2wiLCBfX0xJTkVfXyk7
CiAKLSAgICAgICAgJHR5cGUtPm5hbWUoIkRhdGUiKTsKKyAgICAgICAgJHR5cGUtPm5hbWUoInN5
bWJvbCIpOwogICAgICAgICByZXR1cm4gJHR5cGU7CiAgICAgfQotICAgIGlmICgkbmV4dC0+dmFs
dWUoKSBlcSAic2VxdWVuY2UiKSB7Ci0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRz
ZWxmLT5nZXRUb2tlbigpLCAic2VxdWVuY2UiLCBfX0xJTkVfXyk7CisgICAgaWYgKCRuZXh0LT52
YWx1ZSgpIGVxICJGcm96ZW5BcnJheSIpIHsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFs
dWUoJHNlbGYtPmdldFRva2VuKCksICJGcm96ZW5BcnJheSIsIF9fTElORV9fKTsKICAgICAgICAg
JHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI8IiwgX19MSU5FX18p
OwogCiAgICAgICAgIG15ICRzdWJ0eXBlID0gJHNlbGYtPnBhcnNlVHlwZVdpdGhFeHRlbmRlZEF0
dHJpYnV0ZXMoKTsKIAogICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0
VG9rZW4oKSwgIj4iLCBfX0xJTkVfXyk7CiAKLSAgICAgICAgJHR5cGUtPm5hbWUoInNlcXVlbmNl
Iik7CisgICAgICAgICR0eXBlLT5uYW1lKCJGcm96ZW5BcnJheSIpOwogICAgICAgICBwdXNoKEB7
JHR5cGUtPnN1YnR5cGVzfSwgJHN1YnR5cGUpOwogCiAgICAgICAgIHJldHVybiAkdHlwZTsKICAg
ICB9Ci0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJGcm96ZW5BcnJheSIpIHsKLSAgICAgICAg
JHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJGcm96ZW5BcnJheSIs
IF9fTElORV9fKTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgIk9ic2VydmFibGVBcnJheSIp
IHsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJP
YnNlcnZhYmxlQXJyYXkiLCBfX0xJTkVfXyk7CiAgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZh
bHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiPCIsIF9fTElORV9fKTsKIAogICAgICAgICBteSAkc3Vi
dHlwZSA9ICRzZWxmLT5wYXJzZVR5cGVXaXRoRXh0ZW5kZWRBdHRyaWJ1dGVzKCk7CiAKICAgICAg
ICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI+IiwgX19MSU5F
X18pOwogCi0gICAgICAgICR0eXBlLT5uYW1lKCJGcm96ZW5BcnJheSIpOworICAgICAgICAkdHlw
ZS0+bmFtZSgiT2JzZXJ2YWJsZUFycmF5Iik7CiAgICAgICAgIHB1c2goQHskdHlwZS0+c3VidHlw
ZXN9LCAkc3VidHlwZSk7CiAKKyAgICAgICAgZGllICJUaGUgT2JzZXJ2YWJsZUFycmF5IHR5cGUg
aXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgYnkgdGhlIGNvZGUgZ2VuZXJhdG9ycy4iOworCiAg
ICAgICAgIHJldHVybiAkdHlwZTsKICAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJy
ZWNvcmQiKSB7CkBAIC0yODAwLDcgKzMxMzgsNyBAQCBzdWIgcGFyc2VDb25zdFR5cGUKIAogICAg
IG15ICR0eXBlID0gSURMVHlwZS0+bmV3KCk7CiAKLSAgICBpZiAoJG5leHQtPnZhbHVlKCkgPX4g
LyRuZXh0RGlzdGluZ3Vpc2hhYmxlVHlwZV8xLykgeworICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9
fiAvJG5leHRQcmltaXRpdmVUeXBlXzEvKSB7CiAgICAgICAgICR0eXBlLT5uYW1lKCRzZWxmLT5w
YXJzZVByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAgICR0eXBlLT5pc051bGxhYmxlKCRzZWxmLT5w
YXJzZU51bGwoKSk7CiAgICAgICAgIHJldHVybiAkdHlwZTsKQEAgLTI4MzgsMTEgKzMxNzYsMTIg
QEAgc3ViIHBhcnNlU3RyaW5nVHlwZQogc3ViIHBhcnNlUHJpbWl0aXZlVHlwZQogewogICAgIG15
ICRzZWxmID0gc2hpZnQ7CisKICAgICBteSAkbmV4dCA9ICRzZWxmLT5uZXh0VG9rZW4oKTsKLSAg
ICBpZiAoJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0UHJpbWl0aXZlVHlwZV8xLykgeworICAgIGlm
ICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRJbnRlZ2VyVHlwZV8xLykgewogICAgICAgICByZXR1
cm4gJHNlbGYtPnBhcnNlVW5zaWduZWRJbnRlZ2VyVHlwZSgpOwogICAgIH0KLSAgICBpZiAoJG5l
eHQtPnZhbHVlKCkgPX4gLyRuZXh0UHJpbWl0aXZlVHlwZV8yLykgeworICAgIGlmICgkbmV4dC0+
dmFsdWUoKSA9fiAvJG5leHRGbG9hdFR5cGVfMS8pIHsKICAgICAgICAgcmV0dXJuICRzZWxmLT5w
YXJzZVVucmVzdHJpY3RlZEZsb2F0VHlwZSgpOwogICAgIH0KICAgICBpZiAoJG5leHQtPnZhbHVl
KCkgZXEgInVuZGVmaW5lZCIpIHsKQEAgLTMwMDEsNiArMzM0MCwxMCBAQCBzdWIgYXBwbHlNZW1i
ZXJMaXN0CiAgICAgICAgICAgICAkaW50ZXJmYWNlLT5pdGVyYWJsZSgkaXRlbSk7CiAgICAgICAg
ICAgICBuZXh0OwogICAgICAgICB9CisgICAgICAgIGlmIChyZWYoJGl0ZW0pIGVxICJJRExBc3lu
Y0l0ZXJhYmxlIikgeworICAgICAgICAgICAgJGludGVyZmFjZS0+YXN5bmNJdGVyYWJsZSgkaXRl
bSk7CisgICAgICAgICAgICBuZXh0OworICAgICAgICB9CiAgICAgICAgIGlmIChyZWYoJGl0ZW0p
IGVxICJJRExNYXBMaWtlIikgewogICAgICAgICAgICAgJGludGVyZmFjZS0+bWFwTGlrZSgkaXRl
bSk7CiAgICAgICAgICAgICBuZXh0OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9wcmVwcm9jZXNzLWlkbHMucGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1pZGxzLnBsCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDMsMTUgKzE0MywxNSBAQCBmb3JlYWNoIG15ICRpZGxGaWxlIChzb3J0IGtl
eXMgJWlkbEZpbGVICiAgICAgbmV4dCB1bmxlc3MgY29udGFpbnNJbnRlcmZhY2VPckV4Y2VwdGlv
bkZyb21JREwoJGlkbEZpbGVDb250ZW50cyk7CiAKICAgICBteSAkaW50ZXJmYWNlTmFtZSA9IGZp
bGVwYXJzZShiYXNlbmFtZSgkaWRsRmlsZSksICIuaWRsIik7Ci0gICAgIyBIYW5kbGUgaW1wbGVt
ZW50cyBzdGF0ZW1lbnRzLgotICAgIG15ICRpbXBsZW1lbnRlZEludGVyZmFjZXMgPSBnZXRJbXBs
ZW1lbnRlZEludGVyZmFjZXNGcm9tSURMKCRpZGxGaWxlQ29udGVudHMsICRpbnRlcmZhY2VOYW1l
KTsKLSAgICBmb3JlYWNoIG15ICRpbXBsZW1lbnRlZEludGVyZmFjZSAoQHskaW1wbGVtZW50ZWRJ
bnRlcmZhY2VzfSkgewotICAgICAgICBteSAkaW1wbGVtZW50ZWRJZGxGaWxlID0gJGludGVyZmFj
ZU5hbWVUb0lkbEZpbGV7JGltcGxlbWVudGVkSW50ZXJmYWNlfTsKLSAgICAgICAgZGllICJDb3Vs
ZCBub3QgZmluZCBhIHRoZSBJREwgZmlsZSB3aGVyZSB0aGUgZm9sbG93aW5nIGltcGxlbWVudGVk
IGludGVyZmFjZSBpcyBkZWZpbmVkOiAkaW1wbGVtZW50ZWRJbnRlcmZhY2UiIHVubGVzcyAkaW1w
bGVtZW50ZWRJZGxGaWxlOwotICAgICAgICBpZiAoJHN1cHBsZW1lbnRhbERlcGVuZGVuY2llc3sk
aW1wbGVtZW50ZWRJZGxGaWxlfSkgewotICAgICAgICAgICAgcHVzaChAeyRzdXBwbGVtZW50YWxE
ZXBlbmRlbmNpZXN7JGltcGxlbWVudGVkSWRsRmlsZX19LCAkaW50ZXJmYWNlTmFtZSk7CisgICAg
IyBIYW5kbGUgaW5jbHVkZSBzdGF0ZW1lbnRzLgorICAgIG15ICRpbmNsdWRlZEludGVyZmFjZXMg
PSBnZXRJbmNsdWRlZEludGVyZmFjZXNGcm9tSURMKCRpZGxGaWxlQ29udGVudHMsICRpbnRlcmZh
Y2VOYW1lKTsKKyAgICBmb3JlYWNoIG15ICRpbmNsdWRlZEludGVyZmFjZSAoQHskaW5jbHVkZWRJ
bnRlcmZhY2VzfSkgeworICAgICAgICBteSAkaW5jbHVkZWRJZGxGaWxlID0gJGludGVyZmFjZU5h
bWVUb0lkbEZpbGV7JGluY2x1ZGVkSW50ZXJmYWNlfTsKKyAgICAgICAgZGllICJDb3VsZCBub3Qg
ZmluZCBhIHRoZSBJREwgZmlsZSB3aGVyZSB0aGUgZm9sbG93aW5nIGluY2x1ZGVkIGludGVyZmFj
ZSBpcyBkZWZpbmVkOiAkaW5jbHVkZWRJbnRlcmZhY2UiIHVubGVzcyAkaW5jbHVkZWRJZGxGaWxl
OworICAgICAgICBpZiAoJHN1cHBsZW1lbnRhbERlcGVuZGVuY2llc3skaW5jbHVkZWRJZGxGaWxl
fSkgeworICAgICAgICAgICAgcHVzaChAeyRzdXBwbGVtZW50YWxEZXBlbmRlbmNpZXN7JGluY2x1
ZGVkSWRsRmlsZX19LCAkaW50ZXJmYWNlTmFtZSk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAkc3VwcGxlbWVudGFsRGVwZW5kZW5jaWVzeyRpbXBsZW1lbnRlZElkbEZpbGV9ID0gWyRp
bnRlcmZhY2VOYW1lXTsKKyAgICAgICAgICAgICRzdXBwbGVtZW50YWxEZXBlbmRlbmNpZXN7JGlu
Y2x1ZGVkSWRsRmlsZX0gPSBbJGludGVyZmFjZU5hbWVdOwogICAgICAgICB9CiAgICAgfQogCkBA
IC0yMDcsNyArMjA3LDcgQEAgR2VuZXJhdGVQYXJ0aWFsSW50ZXJmYWNlKCJXb3JrbGV0R2xvYmFs
UwogR2VuZXJhdGVQYXJ0aWFsSW50ZXJmYWNlKCJQYWludFdvcmtsZXRHbG9iYWxTY29wZSIsICRw
YWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0NvZGUsICRwYWludFdvcmtsZXRHbG9i
YWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUpOwogR2VuZXJhdGVQYXJ0aWFsSW50ZXJmYWNlKCR0ZXN0
R2xvYmFsQ29udGV4dE5hbWUsICR0ZXN0R2xvYmFsU2NvcGVDb25zdHJ1Y3RvcnNDb2RlLCAkdGVz
dEdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSkgaWYgZGVmaW5lZCgkdGVzdEdsb2JhbENvbnRl
eHROYW1lKTsKIAotIyBSZXNvbHZlcyBwYXJ0aWFsIGludGVyZmFjZXMgYW5kIGltcGxlbWVudHMg
ZGVwZW5kZW5jaWVzLgorIyBSZXNvbHZlcyBwYXJ0aWFsIGludGVyZmFjZXMgYW5kIGluY2x1ZGUg
ZGVwZW5kZW5jaWVzLgogZm9yZWFjaCBteSAkaWRsRmlsZSAoc29ydCBrZXlzICVzdXBwbGVtZW50
YWxEZXBlbmRlbmNpZXMpIHsKICAgICBteSAkYmFzZUZpbGVzID0gJHN1cHBsZW1lbnRhbERlcGVu
ZGVuY2llc3skaWRsRmlsZX07CiAgICAgZm9yZWFjaCBteSAkYmFzZUZpbGUgKEB7JGJhc2VGaWxl
c30pIHsKQEAgLTM3MSwxOSArMzcxLDE5IEBAIHN1YiBnZXRQYXJ0aWFsTmFtZXNGcm9tSURMCiAg
ICAgcmV0dXJuIFxAcGFydGlhbE5hbWVzOwogfQogCi0jIGlkZW50aWZpZXItQSBpbXBsZW1lbnRz
IGlkZW50aWZpZXItQjsKLSMgaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURMLyNpZGwtaW1wbGVt
ZW50cy1zdGF0ZW1lbnRzCi1zdWIgZ2V0SW1wbGVtZW50ZWRJbnRlcmZhY2VzRnJvbUlETAorIyBp
ZGVudGlmaWVyLUEgaW5jbHVkZXMgaWRlbnRpZmllci1COworIyBodHRwczovL2hleWNhbS5naXRo
dWIuaW8vd2ViaWRsLyNpbmNsdWRlcy1zdGF0ZW1lbnQKK3N1YiBnZXRJbmNsdWRlZEludGVyZmFj
ZXNGcm9tSURMCiB7CiAgICAgbXkgJGZpbGVDb250ZW50cyA9IHNoaWZ0OwogICAgIG15ICRpbnRl
cmZhY2VOYW1lID0gc2hpZnQ7CiAKLSAgICBteSBAaW1wbGVtZW50ZWRJbnRlcmZhY2VzID0gKCk7
Ci0gICAgd2hpbGUgKCRmaWxlQ29udGVudHMgPX4gL15ccyooXHcrKVxzK2ltcGxlbWVudHNccyso
XHcrKVxzKjsvbWcpIHsKLSAgICAgICAgZGllICJJZGVudGlmaWVyIG9uIHRoZSBsZWZ0IG9mIHRo
ZSAnaW1wbGVtZW50cycgc3RhdGVtZW50IHNob3VsZCBiZSAkaW50ZXJmYWNlTmFtZSBpbiAkaW50
ZXJmYWNlTmFtZS5pZGwsIGJ1dCBmb3VuZCAkMSIgaWYgJDEgbmUgJGludGVyZmFjZU5hbWU7Ci0g
ICAgICAgIHB1c2goQGltcGxlbWVudGVkSW50ZXJmYWNlcywgJDIpOworICAgIG15IEBpbmNsdWRl
ZEludGVyZmFjZXMgPSAoKTsKKyAgICB3aGlsZSAoJGZpbGVDb250ZW50cyA9fiAvXlxzKihcdysp
XHMraW5jbHVkZXNccysoXHcrKVxzKjsvbWcpIHsKKyAgICAgICAgZGllICJJZGVudGlmaWVyIG9u
IHRoZSBsZWZ0IG9mIHRoZSAnaW5jbHVkZXMnIHN0YXRlbWVudCBzaG91bGQgYmUgJGludGVyZmFj
ZU5hbWUgaW4gJGludGVyZmFjZU5hbWUuaWRsLCBidXQgZm91bmQgJDEiIGlmICQxIG5lICRpbnRl
cmZhY2VOYW1lOworICAgICAgICBwdXNoKEBpbmNsdWRlZEludGVyZmFjZXMsICQyKTsKICAgICB9
Ci0gICAgcmV0dXJuIFxAaW1wbGVtZW50ZWRJbnRlcmZhY2VzCisgICAgcmV0dXJuIFxAaW5jbHVk
ZWRJbnRlcmZhY2VzCiB9CiAKIHN1YiBpc0NhbGxiYWNrSW50ZXJmYWNlRnJvbUlETApJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1N1cHBsZW1lbnRhbERlcGVuZGVu
Y2llcy5kZXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1N1cHBsZW1lbnRhbERlcGVuZGVuY2llcy5kZXAJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9TdXBwbGVtZW50YWxEZXBlbmRlbmNp
ZXMuZGVwCSh3b3JraW5nIGNvcHkpCkBAIC03NywxMCArNzcsMTAgQEAgVGVzdFN1cHBsZW1lbnRh
bC5pZGw6CiBKU1Rlc3RJbmhlcml0ZWREaWN0aW9uYXJ5Mi5oOiAKIERPTVRlc3RJbmhlcml0ZWRE
aWN0aW9uYXJ5Mi5oOiAKIFdlYkRPTVRlc3RJbmhlcml0ZWREaWN0aW9uYXJ5Mi5oOiAKLUpTVGVz
dEludGVyZmFjZS5oOiBUZXN0SW1wbGVtZW50cy5pZGwgVGVzdFN1cHBsZW1lbnRhbC5pZGwKLURP
TVRlc3RJbnRlcmZhY2UuaDogVGVzdEltcGxlbWVudHMuaWRsIFRlc3RTdXBwbGVtZW50YWwuaWRs
Ci1XZWJET01UZXN0SW50ZXJmYWNlLmg6IFRlc3RJbXBsZW1lbnRzLmlkbCBUZXN0U3VwcGxlbWVu
dGFsLmlkbAotVGVzdEltcGxlbWVudHMuaWRsOgorSlNUZXN0SW50ZXJmYWNlLmg6IFRlc3RJbmNs
dWRlcy5pZGwgVGVzdFN1cHBsZW1lbnRhbC5pZGwKK0RPTVRlc3RJbnRlcmZhY2UuaDogVGVzdElu
Y2x1ZGVzLmlkbCBUZXN0U3VwcGxlbWVudGFsLmlkbAorV2ViRE9NVGVzdEludGVyZmFjZS5oOiBU
ZXN0SW5jbHVkZXMuaWRsIFRlc3RTdXBwbGVtZW50YWwuaWRsCitUZXN0SW5jbHVkZXMuaWRsOgog
VGVzdFN1cHBsZW1lbnRhbC5pZGw6CiBKU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5o
OiAKIERPTVRlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5oOiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW1wbGVtZW50cy5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbXBsZW1lbnRz
LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RJbXBsZW1lbnRzLmlkbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUzICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXN0ckFyZywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFt
ZSBvZiBBcHBsZSBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRXN0ckFyZywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLS8vIFRoaXMgSURMIGZpbGUgaXMgZm9yIHRlc3RpbmcgdGhlIGJpbmRpbmdzIGNv
ZGUgZ2VuZXJhdG9yIGFuZCBmb3IgdHJhY2tpbmcKLS8vIGNoYW5nZXMgaW4gaXRzIG91dHB1dC4K
LVsKLSAgICBDb25kaXRpb25hbD1Db25kaXRpb24yMnxDb25kaXRpb24yMywKLSAgICBOb0ludGVy
ZmFjZU9iamVjdAotXSBpbnRlcmZhY2UgVGVzdEltcGxlbWVudHMgewotICAgIHN0YXRpYyByZWFk
b25seSBhdHRyaWJ1dGUgbG9uZyBpbXBsZW1lbnRzU3RhdGljUmVhZE9ubHlBdHRyOwotICAgIHN0
YXRpYyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltcGxlbWVudHNTdGF0aWNBdHRyOwotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW1wbGVtZW50c1N0cjE7Ci0gICAgYXR0cmlidXRlIERP
TVN0cmluZyBpbXBsZW1lbnRzU3RyMjsKLSAgICBbQ3VzdG9tR2V0dGVyLCBDdXN0b21TZXR0ZXJd
IGF0dHJpYnV0ZSBET01TdHJpbmcgaW1wbGVtZW50c1N0cjM7Ci0gICAgYXR0cmlidXRlIE5vZGUg
aW1wbGVtZW50c05vZGU7Ci0KLSAgICB1bmRlZmluZWQgaW1wbGVtZW50c01ldGhvZDEoKTsKLSAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIFRl
c3RPYmogaW1wbGVtZW50c01ldGhvZDIoRE9NU3RyaW5nIHN0ckFyZywgVGVzdE9iaiBvYmpBcmcp
OwotICAgIFtDdXN0b21dIHVuZGVmaW5lZCBpbXBsZW1lbnRzTWV0aG9kMygpOwotICAgIHN0YXRp
YyB1bmRlZmluZWQgaW1wbGVtZW50c01ldGhvZDQoKTsKLQotICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IElNUExFTUVOVFNDT05TVEFOVDEgPSAxOwotICAgIFtSZWZsZWN0PUNPTlNUX0lNUExdIGNv
bnN0IHVuc2lnbmVkIHNob3J0IElNUExFTUVOVFNDT05TVEFOVDIgPSAyOwotCi0gICAgW1Jlc3Vs
dEZpZWxkPW5vZGVzXSBzZXF1ZW5jZTxOb2RlPiB0YWtlTm9kZXMoKTsKLX07Ci0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5jbHVkZXMuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5jbHVk
ZXMuaWRsCShyZXZpc2lvbiAyNjY0NjgpCShmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0SW1wbGVtZW50cy5pZGw6MjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmNsdWRlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25p
Y3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtc3RyQXJnLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YK
KyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFc3RyQXJnLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gVGhpcyBJREwgZmlsZSBpcyBmb3IgdGVzdGluZyB0
aGUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3IgYW5kIGZvciB0cmFja2luZworLy8gY2hhbmdlcyBp
biBpdHMgb3V0cHV0LgorWworICAgIENvbmRpdGlvbmFsPUNvbmRpdGlvbjIyfENvbmRpdGlvbjIz
LAorICAgIE5vSW50ZXJmYWNlT2JqZWN0CitdIGludGVyZmFjZSBUZXN0SW1wbGVtZW50cyB7Cisg
ICAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGltcGxlbWVudHNTdGF0aWNSZWFkT25s
eUF0dHI7CisgICAgc3RhdGljIGF0dHJpYnV0ZSBET01TdHJpbmcgaW1wbGVtZW50c1N0YXRpY0F0
dHI7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpbXBsZW1lbnRzU3RyMTsKKyAg
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltcGxlbWVudHNTdHIyOworICAgIFtDdXN0b21HZXR0ZXIs
IEN1c3RvbVNldHRlcl0gYXR0cmlidXRlIERPTVN0cmluZyBpbXBsZW1lbnRzU3RyMzsKKyAgICBh
dHRyaWJ1dGUgTm9kZSBpbXBsZW1lbnRzTm9kZTsKKworICAgIHVuZGVmaW5lZCBpbXBsZW1lbnRz
TWV0aG9kMSgpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJv
d0V4Y2VwdGlvbl0gVGVzdE9iaiBpbXBsZW1lbnRzTWV0aG9kMihET01TdHJpbmcgc3RyQXJnLCBU
ZXN0T2JqIG9iakFyZyk7CisgICAgW0N1c3RvbV0gdW5kZWZpbmVkIGltcGxlbWVudHNNZXRob2Qz
KCk7CisgICAgc3RhdGljIHVuZGVmaW5lZCBpbXBsZW1lbnRzTWV0aG9kNCgpOworCisgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgSU1QTEVNRU5UU0NPTlNUQU5UMSA9IDE7CisgICAgW1JlZmxlY3Q9
Q09OU1RfSU1QTF0gY29uc3QgdW5zaWduZWQgc2hvcnQgSU1QTEVNRU5UU0NPTlNUQU5UMiA9IDI7
CisKKyAgICBbUmVzdWx0RmllbGQ9bm9kZXNdIHNlcXVlbmNlPE5vZGU+IHRha2VOb2RlcygpOwor
fTsKKwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmNs
dWRlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RJbmNsdWRlcy5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5jbHVkZXMuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiwyMSArMzIsMjEgQEAKIFsKICAgICBDb25kaXRpb25hbD1Db25kaXRpb24yMnxDb25kaXRp
b24yMywKICAgICBOb0ludGVyZmFjZU9iamVjdAotXSBpbnRlcmZhY2UgVGVzdEltcGxlbWVudHMg
ewotICAgIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBpbXBsZW1lbnRzU3RhdGljUmVh
ZE9ubHlBdHRyOwotICAgIHN0YXRpYyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltcGxlbWVudHNTdGF0
aWNBdHRyOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW1wbGVtZW50c1N0cjE7
Ci0gICAgYXR0cmlidXRlIERPTVN0cmluZyBpbXBsZW1lbnRzU3RyMjsKLSAgICBbQ3VzdG9tR2V0
dGVyLCBDdXN0b21TZXR0ZXJdIGF0dHJpYnV0ZSBET01TdHJpbmcgaW1wbGVtZW50c1N0cjM7Ci0g
ICAgYXR0cmlidXRlIE5vZGUgaW1wbGVtZW50c05vZGU7CitdIGludGVyZmFjZSBUZXN0SW5jbHVk
ZXMgeworICAgIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBpbmNsdWRlc1N0YXRpY1Jl
YWRPbmx5QXR0cjsKKyAgICBzdGF0aWMgYXR0cmlidXRlIERPTVN0cmluZyBpbmNsdWRlc1N0YXRp
Y0F0dHI7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpbmNsdWRlc1N0cjE7Cisg
ICAgYXR0cmlidXRlIERPTVN0cmluZyBpbmNsdWRlc1N0cjI7CisgICAgW0N1c3RvbUdldHRlciwg
Q3VzdG9tU2V0dGVyXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGluY2x1ZGVzU3RyMzsKKyAgICBhdHRy
aWJ1dGUgTm9kZSBpbmNsdWRlc05vZGU7CiAKLSAgICB1bmRlZmluZWQgaW1wbGVtZW50c01ldGhv
ZDEoKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNl
cHRpb25dIFRlc3RPYmogaW1wbGVtZW50c01ldGhvZDIoRE9NU3RyaW5nIHN0ckFyZywgVGVzdE9i
aiBvYmpBcmcpOwotICAgIFtDdXN0b21dIHVuZGVmaW5lZCBpbXBsZW1lbnRzTWV0aG9kMygpOwot
ICAgIHN0YXRpYyB1bmRlZmluZWQgaW1wbGVtZW50c01ldGhvZDQoKTsKKyAgICB1bmRlZmluZWQg
aW5jbHVkZXNNZXRob2QxKCk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IE1heVRocm93RXhjZXB0aW9uXSBUZXN0T2JqIGluY2x1ZGVzTWV0aG9kMihET01TdHJpbmcgc3Ry
QXJnLCBUZXN0T2JqIG9iakFyZyk7CisgICAgW0N1c3RvbV0gdW5kZWZpbmVkIGluY2x1ZGVzTWV0
aG9kMygpOworICAgIHN0YXRpYyB1bmRlZmluZWQgaW5jbHVkZXNNZXRob2Q0KCk7CiAKLSAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBJTVBMRU1FTlRTQ09OU1RBTlQxID0gMTsKLSAgICBbUmVmbGVj
dD1DT05TVF9JTVBMXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTVBMRU1FTlRTQ09OU1RBTlQyID0g
MjsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTkNMVURFU19DT05TVEFOVDEgPSAxOworICAg
IFtSZWZsZWN0PUNPTlNUX0lNUExdIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOQ0xVREVTX0NPTlNU
QU5UMiA9IDI7CiAKICAgICBbUmVzdWx0RmllbGQ9bm9kZXNdIHNlcXVlbmNlPE5vZGU+IHRha2VO
b2RlcygpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0SW50ZXJmYWNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNCArNDAsNCBAQAogICAgIGl0ZXJhYmxlPFRlc3ROb2RlLCBUZXN0T2Jq
PjsKIH07CiAKLVRlc3RJbnRlcmZhY2UgaW1wbGVtZW50cyBUZXN0SW1wbGVtZW50czsKK1Rlc3RJ
bnRlcmZhY2UgaW5jbHVkZXMgVGVzdEluY2x1ZGVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAkocmV2aXNpb24gMjY2NDY4KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NjMsNyArNDYzLDcgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdo
IiwgImtpbmRhLWxvdwogfTsKIAogLy8gVGhlIGZvbGxvd2luZyBjb21tZW50IHNob3VsZCBub3Qg
Z2VuZXJhdGUgYW55IGNvZGUuCi0vLyBUZXN0T2JqIGltcGxlbWVudHMgVGVzdEltcGxlbWVudHM7
CisvLyBUZXN0T2JqIGluY2x1ZGVzIFRlc3RJbmNsdWRlczsKIAogdHlwZWRlZiBhbnkgQW55VHlw
ZWRlZjsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RP
cGVyYXRpb25Db25kaXRpb25hbC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5pZGwJKHJldmlzaW9u
IDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T3Bl
cmF0aW9uQ29uZGl0aW9uYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw0ICszNCw0IEBACiBd
IGludGVyZmFjZSBUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwgewogfTsKIAotVGVzdE9wZXJhdGlv
bkNvbmRpdGlvbmFsIGltcGxlbWVudHMgVGVzdE9wZXJhdGlvbkJhc2U7CitUZXN0T3BlcmF0aW9u
Q29uZGl0aW9uYWwgaW5jbHVkZXMgVGVzdE9wZXJhdGlvbkJhc2U7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50
ZXJmYWNlLmNwcAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcz
LDE2ICs3MywxNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogLy8gRnVuY3Rpb25zCiAKICNpZiBF
TkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLUpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkltcGxl
bWVudHNNZXRob2QxKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOworSlND
OjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1
bmN0aW9uSW5jbHVkZXNNZXRob2QxKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFt
ZSopOwogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9u
MjMpCi1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0SW50ZXJmYWNlUHJv
dG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpDYWxsRnJhbWUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJ
bnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkluY2x1ZGVzTWV0aG9kMihKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24yMikg
fHwgRU5BQkxFKENvbmRpdGlvbjIzKQotSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDMoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CitKU0M6OkVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhv
ZDMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiAjZW5kaWYKICNpZiBF
TkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLUpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckZ1bmN0aW9uSW1w
bGVtZW50c01ldGhvZDQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CitK
U0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0
b3JGdW5jdGlvbkluY2x1ZGVzTWV0aG9kNChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxs
RnJhbWUqKTsKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRp
dGlvbjIzKQogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFj
ZVByb3RvdHlwZUZ1bmN0aW9uVGFrZU5vZGVzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNh
bGxGcmFtZSopOwpAQCAtMTEwLDI2ICsxMTAsMjYgQEAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdAogSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQ
cm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvcihKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7
CiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1KU0M6OkVu
Y29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0YXRpY1Jl
YWRPbmx5QXR0cihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlND
OjpQcm9wZXJ0eU5hbWUpOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3RvckluY2x1ZGVzU3RhdGljUmVhZE9ubHlBdHRyKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CiAjZW5kaWYKICNpZiBFTkFC
TEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLUpTQzo6RW5jb2RlZEpTVmFs
dWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1lbnRzU3RhdGljQXR0cihKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwot
Ym9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVudHNTdGF0aWNBdHRyKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1Zh
bHVlKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbmNs
dWRlc1N0YXRpY0F0dHIoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUs
IEpTQzo6UHJvcGVydHlOYW1lKTsKK2Jvb2wgc2V0SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJ
bmNsdWRlc1N0YXRpY0F0dHIoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFs
dWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIy
KSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1KU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVy
ZmFjZUltcGxlbWVudHNTdHIxKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1Zh
bHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CitKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVy
ZmFjZUluY2x1ZGVzU3RyMShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1
ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8
fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1KU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFj
ZUltcGxlbWVudHNTdHIyKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVl
LCBKU0M6OlByb3BlcnR5TmFtZSk7Ci1ib29sIHNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNT
dHIyKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29k
ZWRKU1ZhbHVlKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlSW5jbHVkZXNT
dHIyKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3Bl
cnR5TmFtZSk7Citib29sIHNldEpTVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMihKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLUpT
Qzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjMoSlNDOjpKU0ds
b2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKLWJv
b2wgc2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjMoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOworSlNDOjpFbmNvZGVk
SlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0cjMoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKK2Jvb2wgc2V0SlNUZXN0
SW50ZXJmYWNlSW5jbHVkZXNTdHIzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRK
U1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRp
b24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJ
bnRlcmZhY2VJbXBsZW1lbnRzTm9kZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVk
SlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwotYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VJbXBs
ZW1lbnRzTm9kZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlND
OjpFbmNvZGVkSlNWYWx1ZSk7CitKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUlu
Y2x1ZGVzTm9kZShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlND
OjpQcm9wZXJ0eU5hbWUpOworYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VJbmNsdWRlc05vZGUoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFs
dWUpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBFTkFCTEUoQ29uZGl0aW9u
MTIpCiBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yU3VwcGxl
bWVudGFsU3RhdGljUmVhZE9ubHlBdHRyKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29k
ZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CkBAIC0xOTcsMTIgKzE5NywxMiBAQCB1c2lu
ZyBKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvciA9IEpTRE9NCiBzdGF0aWMgY29uc3QgSGFzaFRh
YmxlVmFsdWUgSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZVZhbHVlc1tdID0KIHsKICNp
ZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLSAgICB7ICJJTVBM
RU1FTlRTQ09OU1RBTlQxIiwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
Q29uc3RhbnRJbnRlZ2VyLCBOb0ludHJpbnNpYywgeyAobG9uZyBsb25nKSgxKSB9IH0sCisgICAg
eyAiSU5DTFVERVNfQ09OU1RBTlQxIiwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6Q29uc3RhbnRJbnRlZ2VyLCBOb0ludHJpbnNpYywgeyAobG9uZyBsb25nKSgxKSB9IH0s
CiAjZWxzZQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKICNp
ZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLSAgICB7ICJJTVBM
RU1FTlRTQ09OU1RBTlQyIiwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
Q29uc3RhbnRJbnRlZ2VyLCBOb0ludHJpbnNpYywgeyAobG9uZyBsb25nKSgyKSB9IH0sCisgICAg
eyAiSU5DTFVERVNfQ09OU1RBTlQyIiwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6Q29uc3RhbnRJbnRlZ2VyLCBOb0ludHJpbnNpYywgeyAobG9uZyBsb25nKSgyKSB9IH0s
CiAjZWxzZQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKQEAg
LTIxNywxMiArMjE3LDEyIEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RJbnRl
cmYKICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5B
QkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiaW1wbGVtZW50
c1N0YXRpY1JlYWRPbmx5QXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJ
bXBsZW1lbnRzU3RhdGljUmVhZE9ubHlBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgImluY2x1ZGVzU3RhdGlj
UmVhZE9ubHlBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVz
U3RhdGljUmVhZE9ubHlBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogI2Vsc2UKICAgICB7IDAsIDAsIE5vSW50cmluc2lj
LCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUo
Q29uZGl0aW9uMjMpCi0gICAgeyAiaW1wbGVtZW50c1N0YXRpY0F0dHIiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oMCksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1lbnRz
U3RhdGljQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRW
YWx1ZUZ1bmM+KHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0YXRpY0F0
dHIpIH0gfSwKKyAgICB7ICJpbmNsdWRlc1N0YXRpY0F0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oMCksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRlc1N0YXRpY0F0
dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PihzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVzU3RhdGljQXR0cikgfSB9LAog
I2Vsc2UKICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCkBAIC0y
MzcsNyArMjM3LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEludGVyZgog
ICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKICNpZiBFTkFCTEUo
Q29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLSAgICB7ICJpbXBsZW1lbnRzTWV0
aG9kNCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5j
dGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5j
dGlvbj4oanNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JGdW5jdGlvbkltcGxlbWVudHNNZXRob2Q0
KSwgKGludHB0cl90KSAoMCkgfSB9LAorICAgIHsgImluY2x1ZGVzTWV0aG9kNCIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0SW50
ZXJmYWNlQ29uc3RydWN0b3JGdW5jdGlvbkluY2x1ZGVzTWV0aG9kNCksIChpbnRwdHJfdCkgKDAp
IH0gfSwKICNlbHNlCiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRp
ZgpAQCAtMjQ5LDcgKzI0OSw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RJ
bnRlcmYKIH07CiAKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24y
MykKLXN0YXRpY19hc3NlcnQoVGVzdEludGVyZmFjZTo6SU1QTEVNRU5UU0NPTlNUQU5UMSA9PSAx
LCAiSU1QTEVNRU5UU0NPTlNUQU5UMSBpbiBUZXN0SW50ZXJmYWNlIGRvZXMgbm90IG1hdGNoIHZh
bHVlIGZyb20gSURMIik7CitzdGF0aWNfYXNzZXJ0KFRlc3RJbnRlcmZhY2U6OklOQ0xVREVTX0NP
TlNUQU5UMSA9PSAxLCAiSU5DTFVERVNfQ09OU1RBTlQxIGluIFRlc3RJbnRlcmZhY2UgZG9lcyBu
b3QgbWF0Y2ggdmFsdWUgZnJvbSBJREwiKTsKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24y
MikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQogc3RhdGljX2Fzc2VydChUZXN0SW50ZXJmYWNlOjpD
T05TVF9JTVBMID09IDIsICJDT05TVF9JTVBMIGluIFRlc3RJbnRlcmZhY2UgZG9lcyBub3QgbWF0
Y2ggdmFsdWUgZnJvbSBJREwiKTsKQEAgLTMxMCwyMiArMzEwLDIyIEBAIHN0YXRpYyBjb25zdCBI
YXNoVGFibGVWYWx1ZSBKU1Rlc3RJbnRlcmYKIHsKICAgICB7ICJjb25zdHJ1Y3RvciIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rv
cikgfSB9LAogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQot
ICAgIHsgImltcGxlbWVudHNTdHIxIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNj
ZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpz
VGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIxKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAorICAgIHsgImluY2x1ZGVzU3RyMSIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0
cjEpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PigwKSB9IH0sCiAjZWxzZQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAj
ZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLSAg
ICB7ICJpbXBsZW1lbnRzU3RyMiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0
dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjIpLCAoaW50cHRy
X3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RJ
bnRlcmZhY2VJbXBsZW1lbnRzU3RyMikgfSB9LAorICAgIHsgImluY2x1ZGVzU3RyMiIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50
ZXJmYWNlSW5jbHVkZXNTdHIyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIyKSB9IH0sCiAj
ZWxzZQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKICNpZiBF
TkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLSAgICB7ICJpbXBsZW1l
bnRzU3RyMyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpD
dXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjMpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RJbnRlcmZhY2VJbXBs
ZW1lbnRzU3RyMykgfSB9LAorICAgIHsgImluY2x1ZGVzU3RyMyIsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlSW5jbHVk
ZXNTdHIzKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oc2V0SlNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIzKSB9IH0sCiAjZWxzZQogICAgIHsg
MCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0
aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLSAgICB7ICJpbXBsZW1lbnRzTm9kZSIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3Nv
ciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
SW50ZXJmYWNlSW1wbGVtZW50c05vZGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzTm9kZSkg
fSB9LAorICAgIHsgImluY2x1ZGVzTm9kZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlSW5jbHVkZXNOb2RlKSwgKGlu
dHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNU
ZXN0SW50ZXJmYWNlSW5jbHVkZXNOb2RlKSB9IH0sCiAjZWxzZQogICAgIHsgMCwgMCwgTm9JbnRy
aW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKQEAgLTM2MCwxNyArMzYwLDE3IEBAIHN0YXRpYyBj
b25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RJbnRlcmYKICAgICB7IDAsIDAsIE5vSW50cmluc2lj
LCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUo
Q29uZGl0aW9uMjMpCi0gICAgeyAiaW1wbGVtZW50c01ldGhvZDEiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEludGVyZmFjZVBy
b3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDEpLCAoaW50cHRyX3QpICgwKSB9IH0sCisg
ICAgeyAiaW5jbHVkZXNNZXRob2QxIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbklu
Y2x1ZGVzTWV0aG9kMSksIChpbnRwdHJfdCkgKDApIH0gfSwKICNlbHNlCiAgICAgeyAwLCAwLCBO
b0ludHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24yMikg
fHwgRU5BQkxFKENvbmRpdGlvbjIzKQotICAgIHsgImltcGxlbWVudHNNZXRob2QyIiwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRy
aW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RJ
bnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkltcGxlbWVudHNNZXRob2QyKSwgKGludHB0cl90KSAo
MikgfSB9LAorICAgIHsgImluY2x1ZGVzTWV0aG9kMiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJf
dClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0SW50ZXJmYWNlUHJvdG90eXBl
RnVuY3Rpb25JbmNsdWRlc01ldGhvZDIpLCAoaW50cHRyX3QpICgyKSB9IH0sCiAjZWxzZQogICAg
IHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ29u
ZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLSAgICB7ICJpbXBsZW1lbnRzTWV0aG9k
MyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlv
biksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlv
bj4oanNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMyksIChp
bnRwdHJfdCkgKDApIH0gfSwKKyAgICB7ICJpbmNsdWRlc01ldGhvZDMiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywg
eyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEludGVyZmFj
ZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2QzKSwgKGludHB0cl90KSAoMCkgfSB9LAog
I2Vsc2UKICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCkBAIC00
MDQsMTIgKzQwNCwxMiBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0SW50ZXJm
CiAgICAgeyAidmFsdWVzIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJh
d05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvblZhbHVlcyks
IChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7ICJmb3JFYWNoIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RJbnRlcmZhY2VQcm90
b3R5cGVGdW5jdGlvbkZvckVhY2gpLCAoaW50cHRyX3QpICgxKSB9IH0sCiAjaWYgRU5BQkxFKENv
bmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiSU1QTEVNRU5UU0NPTlNU
QU5UMSIsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkNvbnN0YW50SW50
ZWdlciwgTm9JbnRyaW5zaWMsIHsgKGxvbmcgbG9uZykoMSkgfSB9LAorICAgIHsgIklOQ0xVREVT
X0NPTlNUQU5UMSIsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkNvbnN0
YW50SW50ZWdlciwgTm9JbnRyaW5zaWMsIHsgKGxvbmcgbG9uZykoMSkgfSB9LAogI2Vsc2UKICAg
ICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENv
bmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiSU1QTEVNRU5UU0NPTlNU
QU5UMiIsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkNvbnN0YW50SW50
ZWdlciwgTm9JbnRyaW5zaWMsIHsgKGxvbmcgbG9uZykoMikgfSB9LAorICAgIHsgIklOQ0xVREVT
X0NPTlNUQU5UMiIsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkNvbnN0
YW50SW50ZWdlciwgTm9JbnRyaW5zaWMsIHsgKGxvbmcgbG9uZykoMikgfSB9LAogI2Vsc2UKICAg
ICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCkBAIC01MDYsODkgKzUw
Niw4OSBAQCBib29sIHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yKEpTR2xvCiB9CiAKICNp
ZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLXN0YXRpYyBpbmxp
bmUgSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVudHNTdGF0aWNSZWFk
T25seUF0dHJHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QpCitzdGF0
aWMgaW5saW5lIEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRlc1N0YXRp
Y1JlYWRPbmx5QXR0ckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCkK
IHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwogICAg
IGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFJFTEVBU0Vf
QU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExMb25nPihsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aHJvd1Njb3BlLCBUZXN0SW50ZXJmYWNlOjppbXBsZW1lbnRzU3RhdGljUmVhZE9ubHlBdHRy
KCkpKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUsICh0b0pTPElETExvbmc+
KGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIFRlc3RJbnRlcmZhY2U6OmluY2x1ZGVz
U3RhdGljUmVhZE9ubHlBdHRyKCkpKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVy
ZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0YXRpY1JlYWRPbmx5QXR0cihKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0
eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVz
U3RhdGljUmVhZE9ubHlBdHRyKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKLSAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OmdldFN0YXRpYzxqc1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3RvckltcGxlbWVudHNTdGF0aWNSZWFkT25seUF0dHJHZXR0ZXI+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aGlzVmFsdWUsICJpbXBsZW1lbnRzU3RhdGljUmVhZE9ubHlBdHRyIik7CisgICAg
cmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpnZXRTdGF0aWM8anNUZXN0SW50
ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRlc1N0YXRpY1JlYWRPbmx5QXR0ckdldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgImluY2x1ZGVzU3RhdGljUmVhZE9ubHlBdHRyIik7
CiB9CiAKICNlbmRpZgogCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0
aW9uMjMpCi1zdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJ
bXBsZW1lbnRzU3RhdGljQXR0ckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCkKK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcklu
Y2x1ZGVzU3RhdGljQXR0ckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVj
dCkKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwog
ICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFJFTEVB
U0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExET01TdHJpbmc+KGxleGljYWxHbG9i
YWxPYmplY3QsIHRocm93U2NvcGUsIFRlc3RJbnRlcmZhY2U6OmltcGxlbWVudHNTdGF0aWNBdHRy
KCkpKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUsICh0b0pTPElETERPTVN0
cmluZz4obGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgVGVzdEludGVyZmFjZTo6aW5j
bHVkZXNTdGF0aWNBdHRyKCkpKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFj
ZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0YXRpY0F0dHIoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5j
b2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRlc1N0YXRpY0F0dHIo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgUHJvcGVydHlOYW1lKQogewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50
ZXJmYWNlPjo6Z2V0U3RhdGljPGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0
YXRpY0F0dHJHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJpbXBsZW1l
bnRzU3RhdGljQXR0ciIpOworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNl
Pjo6Z2V0U3RhdGljPGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5jbHVkZXNTdGF0aWNBdHRy
R2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiaW5jbHVkZXNTdGF0aWNB
dHRyIik7CiB9CiAKICNlbmRpZgogCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUo
Q29uZGl0aW9uMjMpCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0SW50ZXJmYWNlQ29uc3Ry
dWN0b3JJbXBsZW1lbnRzU3RhdGljQXR0clNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3N0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJ
bnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVzU3RhdGljQXR0clNldHRlcihKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBhdXRvJiB2bSA9
IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0
PElETERPTVN0cmluZz4obGV4aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUpOwogICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwogICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2Fs
bChsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCBbJl0gewotICAgICAgICByZXR1cm4g
VGVzdEludGVyZmFjZTo6c2V0SW1wbGVtZW50c1N0YXRpY0F0dHIoV1RGTW92ZShuYXRpdmVWYWx1
ZSkpOworICAgICAgICByZXR1cm4gVGVzdEludGVyZmFjZTo6c2V0SW5jbHVkZXNTdGF0aWNBdHRy
KFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAgICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
Ym9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVudHNTdGF0aWNBdHRyKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKK2Jvb2wgc2V0SlNUZXN0SW50ZXJmYWNl
Q29uc3RydWN0b3JJbmNsdWRlc1N0YXRpY0F0dHIoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKQogewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6c2V0
U3RhdGljPHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0YXRpY0F0dHJT
ZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImlt
cGxlbWVudHNTdGF0aWNBdHRyIik7CisgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRl
cmZhY2U+OjpzZXRTdGF0aWM8c2V0SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRlc1N0
YXRpY0F0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgImluY2x1ZGVzU3RhdGljQXR0ciIpOwogfQogCiAjZW5kaWYKIAogI2lmIEVOQUJMRShD
b25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotc3RhdGljIGlubGluZSBKU1ZhbHVl
IGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIxR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2UmIHRoaXNPYmplY3QpCitzdGF0aWMgaW5s
aW5lIEpTVmFsdWUganNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIxR2V0dGVyKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2UmIHRoaXNPYmplY3QpCiB7
CiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBhdXRvJiBpbXBs
ID0gdGhpc09iamVjdC53cmFwcGVkKCk7Ci0gICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2Nv
cGUsICh0b0pTPElETERPTVN0cmluZz4obGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwg
aW1wbC5pbXBsZW1lbnRzU3RyMSgpKSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Nj
b3BlLCAodG9KUzxJRExET01TdHJpbmc+KGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUs
IGltcGwuaW5jbHVkZXNTdHIxKCkpKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVy
ZmFjZUltcGxlbWVudHNTdHIxKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIGpz
VGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7Ci0gICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpnZXQ8anNUZXN0SW50ZXJmYWNlSW1w
bGVtZW50c1N0cjFHZXR0ZXIsIENhc3RlZFRoaXNFcnJvckJlaGF2aW9yOjpBc3NlcnQ+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJpbXBsZW1lbnRzU3RyMSIpOworICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6Z2V0PGpzVGVzdEludGVyZmFjZUluY2x1
ZGVzU3RyMUdldHRlciwgQ2FzdGVkVGhpc0Vycm9yQmVoYXZpb3I6OkFzc2VydD4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgImluY2x1ZGVzU3RyMSIpOwogfQogCiAjZW5kaWYKIAog
I2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotc3RhdGljIGlu
bGluZSBKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyR2V0dGVyKEpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2UmIHRoaXNPYmplY3Qp
CitzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIyR2V0dGVy
KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2UmIHRo
aXNPYmplY3QpCiB7CiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2Jq
ZWN0KTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAg
ICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7Ci0gICAgUkVMRUFTRV9BTkRfUkVU
VVJOKHRocm93U2NvcGUsICh0b0pTPElETERPTVN0cmluZz4obGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhyb3dTY29wZSwgaW1wbC5pbXBsZW1lbnRzU3RyMigpKSkpOworICAgIFJFTEVBU0VfQU5EX1JF
VFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExET01TdHJpbmc+KGxleGljYWxHbG9iYWxPYmplY3Qs
IHRocm93U2NvcGUsIGltcGwuaW5jbHVkZXNTdHIyKCkpKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVl
IGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29k
ZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMihKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
CiB7Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpnZXQ8anNUZXN0
SW50ZXJmYWNlSW1wbGVtZW50c1N0cjJHZXR0ZXIsIENhc3RlZFRoaXNFcnJvckJlaGF2aW9yOjpB
c3NlcnQ+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJpbXBsZW1lbnRzU3RyMiIp
OworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6Z2V0PGpzVGVzdElu
dGVyZmFjZUluY2x1ZGVzU3RyMkdldHRlciwgQ2FzdGVkVGhpc0Vycm9yQmVoYXZpb3I6OkFzc2Vy
dD4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgImluY2x1ZGVzU3RyMiIpOwogfQog
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIz
KQotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyU2V0
dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2Um
IHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0
SW50ZXJmYWNlSW5jbHVkZXNTdHIyU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2UmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiB7CiAg
ICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBhdXRv
IHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTU5Niw4MCArNTk2LDgw
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VJbXAKICAgICBhdXRvIG5h
dGl2ZVZhbHVlID0gY29udmVydDxJRExET01TdHJpbmc+KGxleGljYWxHbG9iYWxPYmplY3QsIHZh
bHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKICAgICBB
dHRyaWJ1dGVTZXR0ZXI6OmNhbGwobGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgWyZd
IHsKLSAgICAgICAgcmV0dXJuIGltcGwuc2V0SW1wbGVtZW50c1N0cjIoV1RGTW92ZShuYXRpdmVW
YWx1ZSkpOworICAgICAgICByZXR1cm4gaW1wbC5zZXRJbmNsdWRlc1N0cjIoV1RGTW92ZShuYXRp
dmVWYWx1ZSkpOwogICAgIH0pOwogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIHNldEpTVGVz
dEludGVyZmFjZUltcGxlbWVudHNTdHIyKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkKK2Jvb2wgc2V0SlNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIyKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSkKIHsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVy
ZmFjZT46OnNldDxzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyMlNldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiaW1wbGVtZW50c1N0cjIi
KTsKKyAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OnNldDxzZXRKU1Rl
c3RJbnRlcmZhY2VJbmNsdWRlc1N0cjJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsIGVuY29kZWRWYWx1ZSwgImluY2x1ZGVzU3RyMiIpOwogfQogCiAjZW5kaWYKIAogI2lm
IEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotc3RhdGljIGlubGlu
ZSBKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIzR2V0dGVyKEpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2UmIHRoaXNPYmplY3QpCitz
dGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIzR2V0dGVyKEpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2UmIHRoaXNP
YmplY3QpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJl
dHVybiB0aGlzT2JqZWN0LmltcGxlbWVudHNTdHIzKGxleGljYWxHbG9iYWxPYmplY3QpOworICAg
IHJldHVybiB0aGlzT2JqZWN0LmluY2x1ZGVzU3RyMyhsZXhpY2FsR2xvYmFsT2JqZWN0KTsKIH0K
IAotRW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjMoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJv
cGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIzKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIFByb3BlcnR5TmFtZSkKIHsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVy
ZmFjZT46OmdldDxqc1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyM0dldHRlciwgQ2FzdGVkVGhp
c0Vycm9yQmVoYXZpb3I6OkFzc2VydD4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ImltcGxlbWVudHNTdHIzIik7CisgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZh
Y2U+OjpnZXQ8anNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIzR2V0dGVyLCBDYXN0ZWRUaGlzRXJy
b3JCZWhhdmlvcjo6QXNzZXJ0PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiaW5j
bHVkZXNTdHIzIik7CiB9CiAKICNlbmRpZgogCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBF
TkFCTEUoQ29uZGl0aW9uMjMpCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0SW50ZXJmYWNl
SW1wbGVtZW50c1N0cjNTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTVGVzdEludGVyZmFjZSYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3N0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0cjNTZXR0ZXIoSlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEludGVyZmFjZSYgdGhpc09iamVjdCwgSlNW
YWx1ZSB2YWx1ZSkKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxP
YmplY3QpOwotICAgIHRoaXNPYmplY3Quc2V0SW1wbGVtZW50c1N0cjMobGV4aWNhbEdsb2JhbE9i
amVjdCwgdmFsdWUpOworICAgIHRoaXNPYmplY3Quc2V0SW5jbHVkZXNTdHIzKGxleGljYWxHbG9i
YWxPYmplY3QsIHZhbHVlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBzZXRKU1Rlc3RJ
bnRlcmZhY2VJbXBsZW1lbnRzU3RyMyhKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUp
Citib29sIHNldEpTVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMyhKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUpCiB7Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZh
Y2U+OjpzZXQ8c2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjNTZXR0ZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImltcGxlbWVudHNTdHIzIik7
CisgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpzZXQ8c2V0SlNUZXN0
SW50ZXJmYWNlSW5jbHVkZXNTdHIzU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJpbmNsdWRlc1N0cjMiKTsKIH0KIAogI2VuZGlmCiAKICNpZiBF
TkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLXN0YXRpYyBpbmxpbmUg
SlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzTm9kZUdldHRlcihKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2JqZWN0KQorc3Rh
dGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUluY2x1ZGVzTm9kZUdldHRlcihKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2Jq
ZWN0KQogewogICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7
CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgYXV0
byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOwotICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0
aHJvd1Njb3BlLCAodG9KUzxJRExJbnRlcmZhY2U8Tm9kZT4+KGxleGljYWxHbG9iYWxPYmplY3Qs
ICp0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBpbXBsLmltcGxlbWVudHNO
b2RlKCkpKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUsICh0b0pTPElETElu
dGVyZmFjZTxOb2RlPj4obGV4aWNhbEdsb2JhbE9iamVjdCwgKnRoaXNPYmplY3QuZ2xvYmFsT2Jq
ZWN0KCksIHRocm93U2NvcGUsIGltcGwuaW5jbHVkZXNOb2RlKCkpKSk7CiB9CiAKLUVuY29kZWRK
U1ZhbHVlIGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2RlKEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkK
K0VuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUluY2x1ZGVzTm9kZShKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0
eU5hbWUpCiB7Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpnZXQ8
anNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c05vZGVHZXR0ZXIsIENhc3RlZFRoaXNFcnJvckJlaGF2
aW9yOjpBc3NlcnQ+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJpbXBsZW1lbnRz
Tm9kZSIpOworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6Z2V0PGpz
VGVzdEludGVyZmFjZUluY2x1ZGVzTm9kZUdldHRlciwgQ2FzdGVkVGhpc0Vycm9yQmVoYXZpb3I6
OkFzc2VydD4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgImluY2x1ZGVzTm9kZSIp
OwogfQogCiAjZW5kaWYKIAogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRp
dGlvbjIzKQotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNO
b2RlU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRl
cmZhY2UmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0SW50ZXJmYWNlSW5jbHVkZXNOb2RlU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2UmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUp
CiB7CiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAg
ICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBhdXRvJiBp
bXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7Ci0gICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZl
cnQ8SURMSW50ZXJmYWNlPE5vZGU+PihsZXhpY2FsR2xvYmFsT2JqZWN0LCB2YWx1ZSwgW10oSlND
OjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBz
Y29wZSkgeyB0aHJvd0F0dHJpYnV0ZVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29w
ZSwgIlRlc3RJbnRlcmZhY2UiLCAiaW1wbGVtZW50c05vZGUiLCAiTm9kZSIpOyB9KTsKKyAgICBh
dXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExJbnRlcmZhY2U8Tm9kZT4+KGxleGljYWxHbG9i
YWxPYmplY3QsIHZhbHVlLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXR0cmlidXRlVHlwZUVycm9yKGxl
eGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAiVGVzdEludGVyZmFjZSIsICJpbmNsdWRlc05vZGUi
LCAiTm9kZSIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNl
KTsKICAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwobGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dT
Y29wZSwgWyZdIHsKLSAgICAgICAgcmV0dXJuIGltcGwuc2V0SW1wbGVtZW50c05vZGUoKm5hdGl2
ZVZhbHVlKTsKKyAgICAgICAgcmV0dXJuIGltcGwuc2V0SW5jbHVkZXNOb2RlKCpuYXRpdmVWYWx1
ZSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgc2V0SlNUZXN0SW50ZXJm
YWNlSW1wbGVtZW50c05vZGUoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQorYm9v
bCBzZXRKU1Rlc3RJbnRlcmZhY2VJbmNsdWRlc05vZGUoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKQogewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6
c2V0PHNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2RlU2V0dGVyPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJpbXBsZW1lbnRzTm9kZSIpOworICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6c2V0PHNldEpTVGVzdEludGVy
ZmFjZUluY2x1ZGVzTm9kZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCAiaW5jbHVkZXNOb2RlIik7CiB9CiAKICNlbmRpZgpAQCAtODgxLDcgKzg4
MSw3IEBAIGJvb2wgc2V0SlNUZXN0SW50ZXJmYWNlUmVmbGVjdEF0dHJpYnV0ZSgKICNlbmRpZgog
CiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1zdGF0aWMg
aW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rp
b25JbXBsZW1lbnRzTWV0aG9kMUJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9u
PEpTVGVzdEludGVyZmFjZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMpCitzdGF0aWMgaW5s
aW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25J
bmNsdWRlc01ldGhvZDFCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rl
c3RJbnRlcmZhY2U+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQogewogICAgIGF1dG8mIHZt
ID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHRocm93U2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTg4OSwxOSArODg5LDE5IEBAIHN0YXRpYyBp
bmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3QKICAgICBVTlVTRURfUEFSQU0oY2FsbEZy
YW1lKTsKICAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOwogICAgIHRocm93
U2NvcGUucmVsZWFzZSgpOwotICAgIGltcGwuaW1wbGVtZW50c01ldGhvZDEoKTsKKyAgICBpbXBs
LmluY2x1ZGVzTWV0aG9kMSgpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0SW50ZXJmYWNl
UHJvdG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMShKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCitFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2Qx
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFt
ZSkKIHsKLSAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVzdEludGVyZmFjZT46OmNhbGw8anNU
ZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMUJvZHk+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAiaW1wbGVtZW50c01ldGhvZDEiKTsKKyAgICBy
ZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVzdEludGVyZmFjZT46OmNhbGw8anNUZXN0SW50ZXJmYWNl
UHJvdG90eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhvZDFCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhbGxGcmFtZSwgImluY2x1ZGVzTWV0aG9kMSIpOwogfQogCiAjZW5kaWYKIAogI2lmIEVO
QUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotc3RhdGljIGlubGluZSBK
U0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW1wbGVt
ZW50c01ldGhvZDJCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rlc3RJ
bnRlcmZhY2U+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQorc3RhdGljIGlubGluZSBKU0M6
OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNN
ZXRob2QyQm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6
OkNhbGxGcmFtZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0SW50ZXJm
YWNlPjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcykKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6
Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7CkBAIC05MTcsNTAgKzkxNyw1MCBAQCBzdGF0aWMgaW5saW5lIEpT
Qzo6RW5jb2RlZEpTVmFsdWUganNUZXN0CiAgICAgYXV0byBzdHJBcmcgPSBjb252ZXJ0PElETERP
TVN0cmluZz4oKmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50MC52YWx1ZSgpKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIEVu
c3VyZVN0aWxsQWxpdmVTY29wZSBhcmd1bWVudDEgPSBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3Vt
ZW50KDEpOwotICAgIGF1dG8gb2JqQXJnID0gY29udmVydDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDEudmFsdWUoKSwgW10oSlNDOjpKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0
aHJvd0FyZ3VtZW50VHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAxLCAib2Jq
QXJnIiwgIlRlc3RJbnRlcmZhY2UiLCAiaW1wbGVtZW50c01ldGhvZDIiLCAiVGVzdE9iaiIpOyB9
KTsKKyAgICBhdXRvIG9iakFyZyA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPFRlc3RPYmo+PigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQxLnZhbHVlKCksIFtdKEpTQzo6SlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dB
cmd1bWVudFR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMSwgIm9iakFyZyIs
ICJUZXN0SW50ZXJmYWNlIiwgImluY2x1ZGVzTWV0aG9kMiIsICJUZXN0T2JqIik7IH0pOwogICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7Ci0gICAg
UkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUsIEpTVmFsdWU6OmVuY29kZSh0b0pTPElETElu
dGVyZmFjZTxUZXN0T2JqPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9i
YWxPYmplY3QoKSwgdGhyb3dTY29wZSwgaW1wbC5pbXBsZW1lbnRzTWV0aG9kMigqY29udGV4dCwg
V1RGTW92ZShzdHJBcmcpLCAqb2JqQXJnKSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhy
b3dTY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKHRvSlM8SURMSW50ZXJmYWNlPFRlc3RPYmo+PigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3Bl
LCBpbXBsLmluY2x1ZGVzTWV0aG9kMigqY29udGV4dCwgV1RGTW92ZShzdHJBcmcpLCAqb2JqQXJn
KSkpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VQ
cm90b3R5cGVGdW5jdGlvbkltcGxlbWVudHNNZXRob2QyKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKK0VuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhvZDIo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KQogewotICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0SW50ZXJmYWNlPjo6Y2FsbDxqc1Rl
c3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkltcGxlbWVudHNNZXRob2QyQm9keT4oKmxleGlj
YWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJpbXBsZW1lbnRzTWV0aG9kMiIpOworICAgIHJl
dHVybiBJRExPcGVyYXRpb248SlNUZXN0SW50ZXJmYWNlPjo6Y2FsbDxqc1Rlc3RJbnRlcmZhY2VQ
cm90b3R5cGVGdW5jdGlvbkluY2x1ZGVzTWV0aG9kMkJvZHk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCAqY2FsbEZyYW1lLCAiaW5jbHVkZXNNZXRob2QyIik7CiB9CiAKICNlbmRpZgogCiAjaWYgRU5B
QkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1zdGF0aWMgaW5saW5lIEpT
Qzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbXBsZW1l
bnRzTWV0aG9kM0JvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9uPEpTVGVzdElu
dGVyZmFjZT46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMpCitzdGF0aWMgaW5saW5lIEpTQzo6
RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbmNsdWRlc01l
dGhvZDNCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rlc3RJbnRlcmZh
Y2U+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQogewogICAgIGF1dG8mIHZtID0gSlNDOjpn
ZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKICAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgVU5V
U0VEX1BBUkFNKGNhbGxGcmFtZSk7Ci0gICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUs
IChKU1ZhbHVlOjplbmNvZGUoY2FzdGVkVGhpcy0+aW1wbGVtZW50c01ldGhvZDMoKmxleGljYWxH
bG9iYWxPYmplY3QsICpjYWxsRnJhbWUpKSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJv
d1Njb3BlLCAoSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPmluY2x1ZGVzTWV0aG9kMygqbGV4
aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSkpKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0
aG9kMyhKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZVByb3Rv
dHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2QzKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKLSAgICByZXR1cm4gSURMT3BlcmF0aW9u
PEpTVGVzdEludGVyZmFjZT46OmNhbGw8anNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25J
bXBsZW1lbnRzTWV0aG9kM0JvZHk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAi
aW1wbGVtZW50c01ldGhvZDMiKTsKKyAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVzdEludGVy
ZmFjZT46OmNhbGw8anNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhv
ZDNCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgImluY2x1ZGVzTWV0aG9k
MyIpOwogfQogCiAjZW5kaWYKIAogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENv
bmRpdGlvbjIzKQotc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVy
ZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kNEJvZHkoSlNDOjpKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSkK
K3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1
Y3RvckZ1bmN0aW9uSW5jbHVkZXNNZXRob2Q0Qm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxGcmFtZSogY2FsbEZyYW1lKQogewogICAgIGF1dG8m
IHZtID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBVTlVTRURfUEFSQU0odGhyb3dTY29w
ZSk7CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxGcmFtZSk7CiAgICAgdGhyb3dTY29wZS5yZWxlYXNl
KCk7Ci0gICAgVGVzdEludGVyZmFjZTo6aW1wbGVtZW50c01ldGhvZDQoKTsKKyAgICBUZXN0SW50
ZXJmYWNlOjppbmNsdWRlc01ldGhvZDQoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdElu
dGVyZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kNChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCitFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25JbmNs
dWRlc01ldGhvZDQoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFt
ZSogY2FsbEZyYW1lKQogewotICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0SW50ZXJmYWNl
Pjo6Y2FsbFN0YXRpYzxqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckZ1bmN0aW9uSW1wbGVtZW50
c01ldGhvZDRCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgImltcGxlbWVu
dHNNZXRob2Q0Iik7CisgICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU1Rlc3RJbnRlcmZhY2U+Ojpj
YWxsU3RhdGljPGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25JbmNsdWRlc01ldGhv
ZDRCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgImluY2x1ZGVzTWV0aG9k
NCIpOwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgJKHJldmlzaW9uIDI2NjQ2
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRl
cmZhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsMTAgKzY0LDEwIEBAIHB1YmxpYzoKIAogICAg
IC8vIEN1c3RvbSBhdHRyaWJ1dGVzCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUo
Q29uZGl0aW9uMjMpCi0gICAgSlNDOjpKU1ZhbHVlIGltcGxlbWVudHNTdHIzKEpTQzo6SlNHbG9i
YWxPYmplY3QmKSBjb25zdDsKKyAgICBKU0M6OkpTVmFsdWUgaW5jbHVkZXNTdHIzKEpTQzo6SlNH
bG9iYWxPYmplY3QmKSBjb25zdDsKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwg
RU5BQkxFKENvbmRpdGlvbjIzKQotICAgIHZvaWQgc2V0SW1wbGVtZW50c1N0cjMoSlNDOjpKU0ds
b2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CisgICAgdm9pZCBzZXRJbmNsdWRlc1N0cjMoSlND
OjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1ZSk7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ29u
ZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICAgICBKU0M6OkpTVmFsdWUgc3VwcGxl
bWVudGFsU3RyMyhKU0M6OkpTR2xvYmFsT2JqZWN0JikgY29uc3Q7CkBAIC03OCw3ICs3OCw3IEBA
IHB1YmxpYzoKIAogICAgIC8vIEN1c3RvbSBmdW5jdGlvbnMKICNpZiBFTkFCTEUoQ29uZGl0aW9u
MjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLSAgICBKU0M6OkpTVmFsdWUgaW1wbGVtZW50c01l
dGhvZDMoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJik7CisgICAgSlNDOjpK
U1ZhbHVlIGluY2x1ZGVzTWV0aG9kMyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJh
bWUmKTsKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlv
bjEyKQogICAgIEpTQzo6SlNWYWx1ZSBzdXBwbGVtZW50YWxNZXRob2QzKEpTQzo6SlNHbG9iYWxP
YmplY3QmLCBKU0M6OkNhbGxGcmFtZSYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NoYXJh
Y3RlckRhdGEuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJE
YXRhLmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3Rl
ckRhdGEuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw1ICsyNyw1IEBAIGludGVyZmFjZSBDaGFy
YWN0ZXJEYXRhIDogTm9kZSB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgcmVw
bGFjZURhdGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgY291bnQsIERPTVN0
cmluZyBkYXRhKTsKIH07CiAKLUNoYXJhY3RlckRhdGEgaW1wbGVtZW50cyBDaGlsZE5vZGU7Ci1D
aGFyYWN0ZXJEYXRhIGltcGxlbWVudHMgTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlOworQ2hhcmFj
dGVyRGF0YSBpbmNsdWRlcyBDaGlsZE5vZGU7CitDaGFyYWN0ZXJEYXRhIGluY2x1ZGVzIE5vbkRv
Y3VtZW50VHlwZUNoaWxkTm9kZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rp
b25FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlv
bkV2ZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0Rldmlj
ZU1vdGlvbkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTgsNCArNTgsNCBAQAogICAgIGRv
dWJsZT8gZ2FtbWE7CiB9OwogCi1EZXZpY2VNb3Rpb25FdmVudCBpbXBsZW1lbnRzIERldmljZU9y
aWVudGF0aW9uT3JNb3Rpb25FdmVudDsKK0RldmljZU1vdGlvbkV2ZW50IGluY2x1ZGVzIERldmlj
ZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NTUsNCArNTUsNCBAQAogI2VuZGlmCiB9OwogCi1EZXZpY2VPcmllbnRhdGlvbkV2ZW50IGltcGxl
bWVudHMgRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50OworRGV2aWNlT3JpZW50YXRpb25F
dmVudCBpbmNsdWRlcyBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5OSw4ICsxOTksOCBAQCB0eXBlZGVm
IChIVE1MU2NyaXB0RWxlbWVudCBvciBTVkdTY3JpcHRFCiAKIGVudW0gRG9jdW1lbnRSZWFkeVN0
YXRlIHsgImxvYWRpbmciLCAiaW50ZXJhY3RpdmUiLCAiY29tcGxldGUiIH07CiAKLURvY3VtZW50
IGltcGxlbWVudHMgRG9jdW1lbnRBbmRFbGVtZW50RXZlbnRIYW5kbGVyczsKLURvY3VtZW50IGlt
cGxlbWVudHMgUGFyZW50Tm9kZTsKLURvY3VtZW50IGltcGxlbWVudHMgTm9uRWxlbWVudFBhcmVu
dE5vZGU7Ci1Eb2N1bWVudCBpbXBsZW1lbnRzIERvY3VtZW50T3JTaGFkb3dSb290OwotRG9jdW1l
bnQgaW1wbGVtZW50cyBHbG9iYWxFdmVudEhhbmRsZXJzOworRG9jdW1lbnQgaW5jbHVkZXMgRG9j
dW1lbnRBbmRFbGVtZW50RXZlbnRIYW5kbGVyczsKK0RvY3VtZW50IGluY2x1ZGVzIFBhcmVudE5v
ZGU7CitEb2N1bWVudCBpbmNsdWRlcyBOb25FbGVtZW50UGFyZW50Tm9kZTsKK0RvY3VtZW50IGlu
Y2x1ZGVzIERvY3VtZW50T3JTaGFkb3dSb290OworRG9jdW1lbnQgaW5jbHVkZXMgR2xvYmFsRXZl
bnRIYW5kbGVyczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwJ
KHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNSArMjUsNSBAQAogICAgIFtDYWxsV2l0aD1Eb2N1
bWVudF0gY29uc3RydWN0b3IoKTsKIH07CiAKLURvY3VtZW50RnJhZ21lbnQgaW1wbGVtZW50cyBQ
YXJlbnROb2RlOwotRG9jdW1lbnRGcmFnbWVudCBpbXBsZW1lbnRzIE5vbkVsZW1lbnRQYXJlbnRO
b2RlOworRG9jdW1lbnRGcmFnbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOworRG9jdW1lbnRGcmFn
bWVudCBpbmNsdWRlcyBOb25FbGVtZW50UGFyZW50Tm9kZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudFR5cGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudFR5cGUuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnRUeXBlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNCArMjYsNCBAQAogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgc3lzdGVtSWQ7CiB9OwogCi1Eb2N1bWVudFR5cGUg
aW1wbGVtZW50cyBDaGlsZE5vZGU7CitEb2N1bWVudFR5cGUgaW5jbHVkZXMgQ2hpbGROb2RlOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsMTEgKzE0OCwxMSBA
QCBkaWN0aW9uYXJ5IFNoYWRvd1Jvb3RJbml0IHsKICAgICBib29sZWFuIGRlbGVnYXRlc0ZvY3Vz
ID0gZmFsc2U7CiB9OwogCi1FbGVtZW50IGltcGxlbWVudHMgQWNjZXNzaWJpbGl0eVJvbGU7Ci1F
bGVtZW50IGltcGxlbWVudHMgQXJpYUF0dHJpYnV0ZXM7Ci1FbGVtZW50IGltcGxlbWVudHMgQW5p
bWF0YWJsZTsKLUVsZW1lbnQgaW1wbGVtZW50cyBDaGlsZE5vZGU7Ci1FbGVtZW50IGltcGxlbWVu
dHMgRG9jdW1lbnRBbmRFbGVtZW50RXZlbnRIYW5kbGVyczsKLUVsZW1lbnQgaW1wbGVtZW50cyBO
b25Eb2N1bWVudFR5cGVDaGlsZE5vZGU7Ci1FbGVtZW50IGltcGxlbWVudHMgUGFyZW50Tm9kZTsK
LUVsZW1lbnQgaW1wbGVtZW50cyBTbG90YWJsZTsKK0VsZW1lbnQgaW5jbHVkZXMgQWNjZXNzaWJp
bGl0eVJvbGU7CitFbGVtZW50IGluY2x1ZGVzIEFyaWFBdHRyaWJ1dGVzOworRWxlbWVudCBpbmNs
dWRlcyBBbmltYXRhYmxlOworRWxlbWVudCBpbmNsdWRlcyBDaGlsZE5vZGU7CitFbGVtZW50IGlu
Y2x1ZGVzIERvY3VtZW50QW5kRWxlbWVudEV2ZW50SGFuZGxlcnM7CitFbGVtZW50IGluY2x1ZGVz
IE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTsKK0VsZW1lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTsK
K0VsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
aWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDQgKzM0LDQgQEAKICAgICBbQ0VSZWFjdGlvbnNdIGF0
dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBpbm5lckhUTUw7CiB9
OwogCi1TaGFkb3dSb290IGltcGxlbWVudHMgRG9jdW1lbnRPclNoYWRvd1Jvb3Q7CitTaGFkb3dS
b290IGluY2x1ZGVzIERvY3VtZW50T3JTaGFkb3dSb290OwpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL1RleHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbAko
cmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiw0ICsyNiw0IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyB3aG9sZVRleHQ7CiB9OwogCi1UZXh0IGltcGxlbWVudHMgU2xvdGFibGU7CitUZXh0IGluY2x1
ZGVzIFNsb3RhYmxlOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVu
dC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw0ICs0MCw0IEBAIGludGVyZmFjZSBI
VE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW4KICAgICBbRW5hYmxlZEJ5U2V0dGluZz1SZWZl
cnJlclBvbGljeUF0dHJpYnV0ZSwgSW1wbGVtZW50ZWRBcz1yZWZlcnJlclBvbGljeUZvckJpbmRp
bmdzLCBDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQ
b2xpY3k7CiB9OwogCi1IVE1MQW5jaG9yRWxlbWVudCBpbXBsZW1lbnRzIEhUTUxIeXBlcmxpbmtF
bGVtZW50VXRpbHM7CitIVE1MQW5jaG9yRWxlbWVudCBpbmNsdWRlcyBIVE1MSHlwZXJsaW5rRWxl
bWVudFV0aWxzOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAko
cmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw0ICszMiw0IEBAIGludGVyZmFjZSBIVE1MQXJlYUVs
ZW1lbnQgOiBIVE1MRWxlbWVudCAKICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKLUhUTUxBcmVhRWxlbWVudCBpbXBs
ZW1lbnRzIEhUTUxIeXBlcmxpbmtFbGVtZW50VXRpbHM7CitIVE1MQXJlYUVsZW1lbnQgaW5jbHVk
ZXMgSFRNTEh5cGVybGlua0VsZW1lbnRVdGlsczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJvZHlFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxCb2R5RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEJvZHlFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDQsNCArNDQsNCBAQCBp
bnRlcmZhY2UgSFRNTEJvZHlFbGVtZW50IDogSFRNTEVsZW1lbnQgCiAgICAgW05vdEVudW1lcmFi
bGUsIERvY3VtZW50RXZlbnRIYW5kbGVyXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2VsZWN0
aW9uY2hhbmdlOwogfTsKIAotSFRNTEJvZHlFbGVtZW50IGltcGxlbWVudHMgV2luZG93RXZlbnRI
YW5kbGVyczsKK0hUTUxCb2R5RWxlbWVudCBpbmNsdWRlcyBXaW5kb3dFdmVudEhhbmRsZXJzOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02
OSw2ICs2OSw2IEBACiAgICAgW0VuYWJsZWRCeVNldHRpbmc9RW50ZXJLZXlIaW50XSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGVudGVyS2V5SGludDsKIH07CiAKLUhUTUxFbGVtZW50IGltcGxlbWVudHMg
RWxlbWVudENTU0lubGluZVN0eWxlOwotSFRNTEVsZW1lbnQgaW1wbGVtZW50cyBHbG9iYWxFdmVu
dEhhbmRsZXJzOwotSFRNTEVsZW1lbnQgaW1wbGVtZW50cyBIVE1MT3JGb3JlaWduRWxlbWVudDsK
K0hUTUxFbGVtZW50IGluY2x1ZGVzIEVsZW1lbnRDU1NJbmxpbmVTdHlsZTsKK0hUTUxFbGVtZW50
IGluY2x1ZGVzIEdsb2JhbEV2ZW50SGFuZGxlcnM7CitIVE1MRWxlbWVudCBpbmNsdWRlcyBIVE1M
T3JGb3JlaWduRWxlbWVudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0
RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVT
ZXRFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRnJhbWVTZXRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNCArMzYsNCBAQCBp
bnRlcmZhY2UgSFRNTEZyYW1lU2V0RWxlbWVudCA6IEhUTUxFbGVtCiAgICAgZ2V0dGVyIFdpbmRv
d1Byb3h5IChET01TdHJpbmcgbmFtZSk7CiB9OwogCi1IVE1MRnJhbWVTZXRFbGVtZW50IGltcGxl
bWVudHMgV2luZG93RXZlbnRIYW5kbGVyczsKK0hUTUxGcmFtZVNldEVsZW1lbnQgaW5jbHVkZXMg
V2luZG93RXZlbnRIYW5kbGVyczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAkocmV2aXNpb24gMjY2NDY4
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNzgsMTkgKzc4LDE5IEBACiAgICAgW0VuYWJsZWRBdFJ1
bnRpbWU9SW5zcGVjdG9yQWRkaXRpb25zLCBOZXdPYmplY3RdIFBhdGgyRCBnZXRQYXRoKCk7CiB9
OwogCi1DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNTdGF0ZTsKLUNh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1RyYW5zZm9ybTsKLUNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc0NvbXBvc2l0aW5nOwotQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzSW1hZ2VTbW9vdGhpbmc7Ci1DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNGaWxsU3Ryb2tlU3R5bGVzOwot
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzU2hhZG93U3R5bGVzOwot
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzRmlsdGVyczsKLUNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1JlY3Q7Ci1DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNEcmF3UGF0aDsKLUNhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1VzZXJJbnRlcmZhY2U7Ci1DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNUZXh0OwotQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
IGltcGxlbWVudHMgQ2FudmFzRHJhd0ltYWdlOwotQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGlt
cGxlbWVudHMgQ2FudmFzSW1hZ2VEYXRhOwotQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGltcGxl
bWVudHMgQ2FudmFzUGF0aERyYXdpbmdTdHlsZXM7Ci1DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQg
aW1wbGVtZW50cyBDYW52YXNUZXh0RHJhd2luZ1N0eWxlczsKLUNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCBpbXBsZW1lbnRzIENhbnZhc1BhdGg7CitDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5j
bHVkZXMgQ2FudmFzU3RhdGU7CitDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2Fu
dmFzVHJhbnNmb3JtOworQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc0Nv
bXBvc2l0aW5nOworQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc0ltYWdl
U21vb3RoaW5nOworQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc0ZpbGxT
dHJva2VTdHlsZXM7CitDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzU2hh
ZG93U3R5bGVzOworQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc0ZpbHRl
cnM7CitDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzUmVjdDsKK0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNEcmF3UGF0aDsKK0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNVc2VySW50ZXJmYWNlOworQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1RleHQ7CitDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQgaW5jbHVkZXMgQ2FudmFzRHJhd0ltYWdlOworQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGlu
Y2x1ZGVzIENhbnZhc0ltYWdlRGF0YTsKK0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRl
cyBDYW52YXNQYXRoRHJhd2luZ1N0eWxlczsKK0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNs
dWRlcyBDYW52YXNUZXh0RHJhd2luZ1N0eWxlczsKK0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBp
bmNsdWRlcyBDYW52YXNQYXRoOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT2Zm
c2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRs
CShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PZmZzY3Jl
ZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNiAr
NDEsMTYgQEAKICAgICAvLyBbRW5hYmxlZEF0UnVudGltZT1JbnNwZWN0b3JBZGRpdGlvbnMsIE5l
d09iamVjdF0gUGF0aDJEIGdldFBhdGgoKTsKIH07CiAKLU9mZnNjcmVlbkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1N0YXRlOwotT2Zmc2NyZWVuQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzVHJhbnNmb3JtOwotT2Zmc2NyZWVuQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzQ29tcG9zaXRpbmc7Ci1PZmZzY3Jl
ZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNJbWFnZVNtb290aGlu
ZzsKLU9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc0Zp
bGxTdHJva2VTdHlsZXM7Ci1PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVt
ZW50cyBDYW52YXNTaGFkb3dTdHlsZXM7Ci1PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQgaW1wbGVtZW50cyBDYW52YXNGaWx0ZXJzOwotT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEIGltcGxlbWVudHMgQ2FudmFzUmVjdDsKLU9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc0RyYXdQYXRoOwotT2Zmc2NyZWVuQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzRHJhd0ltYWdlOwotT2Zmc2NyZWVuQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzSW1hZ2VEYXRhOwotT2Zmc2NyZWVu
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzUGF0aERyYXdpbmdTdHls
ZXM7Ci1PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNQ
YXRoOworT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1N0
YXRlOworT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1Ry
YW5zZm9ybTsKK09mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52
YXNDb21wb3NpdGluZzsKK09mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRl
cyBDYW52YXNJbWFnZVNtb290aGluZzsKK09mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RCBpbmNsdWRlcyBDYW52YXNGaWxsU3Ryb2tlU3R5bGVzOworT2Zmc2NyZWVuQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1NoYWRvd1N0eWxlczsKK09mZnNjcmVlbkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNGaWx0ZXJzOworT2Zmc2NyZWVuQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1JlY3Q7CitPZmZzY3JlZW5DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzRHJhd1BhdGg7CitPZmZzY3JlZW5D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzRHJhd0ltYWdlOworT2Zmc2Ny
ZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc0ltYWdlRGF0YTsKK09m
ZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNQYXRoRHJhd2lu
Z1N0eWxlczsKK09mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52
YXNQYXRoOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvUGFpbnRSZW5kZXJpbmdD
b250ZXh0MkQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1Bh
aW50UmVuZGVyaW5nQ29udGV4dDJELmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvUGFpbnRSZW5kZXJpbmdDb250ZXh0MkQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiwxNCArMzIsMTQgQEAKIF0gaW50ZXJmYWNlIFBhaW50UmVuZGVyaW5nQ29udGV4
dDJEIHsKIH07CiAKLVBhaW50UmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzU3Rh
dGU7Ci1QYWludFJlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1RyYW5zZm9ybTsK
LVBhaW50UmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzQ29tcG9zaXRpbmc7Ci1Q
YWludFJlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc0ltYWdlU21vb3RoaW5nOwot
UGFpbnRSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNGaWxsU3Ryb2tlU3R5bGVz
OwotUGFpbnRSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNTaGFkb3dTdHlsZXM7
Ci1QYWludFJlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1JlY3Q7Ci1QYWludFJl
bmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc0RyYXdQYXRoOwotUGFpbnRSZW5kZXJp
bmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNEcmF3SW1hZ2U7Ci1QYWludFJlbmRlcmluZ0Nv
bnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1BhdGhEcmF3aW5nU3R5bGVzOwotUGFpbnRSZW5kZXJp
bmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNQYXRoOworUGFpbnRSZW5kZXJpbmdDb250ZXh0
MkQgaW5jbHVkZXMgQ2FudmFzU3RhdGU7CitQYWludFJlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRl
cyBDYW52YXNUcmFuc2Zvcm07CitQYWludFJlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52
YXNDb21wb3NpdGluZzsKK1BhaW50UmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc0lt
YWdlU21vb3RoaW5nOworUGFpbnRSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzRmls
bFN0cm9rZVN0eWxlczsKK1BhaW50UmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1No
YWRvd1N0eWxlczsKK1BhaW50UmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1JlY3Q7
CitQYWludFJlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNEcmF3UGF0aDsKK1BhaW50
UmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc0RyYXdJbWFnZTsKK1BhaW50UmVuZGVy
aW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1BhdGhEcmF3aW5nU3R5bGVzOworUGFpbnRSZW5k
ZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzUGF0aDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1BhdGgyRC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvUGF0aDJELmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvUGF0aDJELmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksNCArMzksNCBAQAog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGFkZFBhdGgoUGF0aDJEIHBhdGgsIG9w
dGlvbmFsIERPTU1hdHJpeDJESW5pdCB0cmFuc2Zvcm0pOwogfTsKIAotUGF0aDJEIGltcGxlbWVu
dHMgQ2FudmFzUGF0aDsKK1BhdGgyRCBpbmNsdWRlcyBDYW52YXNQYXRoOwpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5p
ZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
MlJlbmRlcmluZ0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01MDAsNCArNTAwLDQgQEAg
dHlwZWRlZiAoSW1hZ2VCaXRtYXAgb3IgSW1hZ2VEYXRhIG9yIEhUTQogICAgIHVuZGVmaW5lZCBy
ZWFkUGl4ZWxzKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0
LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgQXJyYXlCdWZmZXJWaWV3IGRzdERhdGEsIEdM
dWludCBkc3RPZmZzZXQpOwogfTsKIAotV2ViR0wyUmVuZGVyaW5nQ29udGV4dCBpbXBsZW1lbnRz
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U7CitXZWJHTDJSZW5kZXJpbmdDb250ZXh0IGluY2x1
ZGVzIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGwJKHJldmlzaW9uIDI2
NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDQgKzQ2LDQgQEAgdHlwZWRlZiAoSW1hZ2VCaXRt
YXAgb3IgSW1hZ2VEYXRhIG9yIEhUTQogXSBpbnRlcmZhY2UgV2ViR0xSZW5kZXJpbmdDb250ZXh0
IHsKIH07CiAKLVdlYkdMUmVuZGVyaW5nQ29udGV4dCBpbXBsZW1lbnRzIFdlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U7CitXZWJHTFJlbmRlcmluZ0NvbnRleHQgaW5jbHVkZXMgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9u
IDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjEyLDggKzIxMiw4IEBAIHR5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwog
ICBVU1ZTdHJpbmcgdGFyZ2V0T3JpZ2luID0gIi8iOwogfTsKIAotRE9NV2luZG93IGltcGxlbWVu
dHMgR2xvYmFsQ3J5cHRvOwotRE9NV2luZG93IGltcGxlbWVudHMgR2xvYmFsRXZlbnRIYW5kbGVy
czsKLURPTVdpbmRvdyBpbXBsZW1lbnRzIEdsb2JhbFBlcmZvcm1hbmNlOwotRE9NV2luZG93IGlt
cGxlbWVudHMgV2luZG93RXZlbnRIYW5kbGVyczsKLURPTVdpbmRvdyBpbXBsZW1lbnRzIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGU7CitET01XaW5kb3cgaW5jbHVkZXMgR2xvYmFsQ3J5cHRvOwor
RE9NV2luZG93IGluY2x1ZGVzIEdsb2JhbEV2ZW50SGFuZGxlcnM7CitET01XaW5kb3cgaW5jbHVk
ZXMgR2xvYmFsUGVyZm9ybWFuY2U7CitET01XaW5kb3cgaW5jbHVkZXMgV2luZG93RXZlbnRIYW5k
bGVyczsKK0RPTVdpbmRvdyBpbmNsdWRlcyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMCArMjgs
MTAgQEAKICAgICB1bmRlZmluZWQgZ2V0U3RvcmFnZVVwZGF0ZXMoKTsgLy8gRklYTUU6IFJlbW92
ZSB0aGlzIG1ldGhvZCBvciByZW5hbWUgdG8geWllbGRGb3JTdG9yYWdlVXBkYXRlcy4KIH07CiAK
LU5hdmlnYXRvciBpbXBsZW1lbnRzIE5hdmlnYXRvcklEOwotTmF2aWdhdG9yIGltcGxlbWVudHMg
TmF2aWdhdG9yTGFuZ3VhZ2U7Ci1OYXZpZ2F0b3IgaW1wbGVtZW50cyBOYXZpZ2F0b3JNYXhUb3Vj
aFBvaW50czsKLU5hdmlnYXRvciBpbXBsZW1lbnRzIE5hdmlnYXRvck9uTGluZTsKLU5hdmlnYXRv
ciBpbXBsZW1lbnRzIE5hdmlnYXRvclBsdWdpbnM7Ci1OYXZpZ2F0b3IgaW1wbGVtZW50cyBOYXZp
Z2F0b3JTZXJ2aWNlV29ya2VyOwotTmF2aWdhdG9yIGltcGxlbWVudHMgTmF2aWdhdG9yU2hhcmU7
CitOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ7CitOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2
aWdhdG9yTGFuZ3VhZ2U7CitOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTWF4VG91Y2hQb2lu
dHM7CitOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOworTmF2aWdhdG9yIGluY2x1
ZGVzIE5hdmlnYXRvclBsdWdpbnM7CitOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yU2Vydmlj
ZVdvcmtlcjsKK05hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JTaGFyZTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9yLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNyArMzMsNyBAQAogXSBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yIHsKIH07CiAKLVdvcmtl
ck5hdmlnYXRvciBpbXBsZW1lbnRzIE5hdmlnYXRvcklEOwotV29ya2VyTmF2aWdhdG9yIGltcGxl
bWVudHMgTmF2aWdhdG9yTGFuZ3VhZ2U7Ci1Xb3JrZXJOYXZpZ2F0b3IgaW1wbGVtZW50cyBOYXZp
Z2F0b3JPbkxpbmU7Ci1Xb3JrZXJOYXZpZ2F0b3IgaW1wbGVtZW50cyBOYXZpZ2F0b3JTZXJ2aWNl
V29ya2VyOworV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOworV29ya2VyTmF2
aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdlOworV29ya2VyTmF2aWdhdG9yIGluY2x1
ZGVzIE5hdmlnYXRvck9uTGluZTsKK1dvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JT
ZXJ2aWNlV29ya2VyOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaWRsCShyZXZpc2lv
biAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw0ICszMCw0IEBAIGludGVyZmFjZSBTVkdBRWxlbWVudCA6IFNWR0dyYXBo
aWNzRWxlbWUKICAgICBbU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKLVNWR0FFbGVtZW50IGltcGxlbWVu
dHMgU1ZHVVJJUmVmZXJlbmNlOworU1ZHQUVsZW1lbnQgaW5jbHVkZXMgU1ZHVVJJUmVmZXJlbmNl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw0ICszMCw0IEBACiAgICAgYXR0cmlidXRlIERPTVN0cmlu
ZyBmb3JtYXQ7CiB9OwogCi1TVkdBbHRHbHlwaEVsZW1lbnQgaW1wbGVtZW50cyBTVkdVUklSZWZl
cmVuY2U7CitTVkdBbHRHbHlwaEVsZW1lbnQgaW5jbHVkZXMgU1ZHVVJJUmVmZXJlbmNlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmlkbAkocmV2aXNpb24g
MjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zNyw0ICszNyw0IEBAIGludGVyZmFjZSBTVkdBbmltYXRpb25FbGVt
ZW50IDogU1ZHRWxlbWUKICAgICB1bmRlZmluZWQgZW5kRWxlbWVudEF0KG9wdGlvbmFsIHVucmVz
dHJpY3RlZCBmbG9hdCBvZmZzZXQgPSBOYU4pOwogfTsKIAotU1ZHQW5pbWF0aW9uRWxlbWVudCBp
bXBsZW1lbnRzIFNWR1Rlc3RzOworU1ZHQW5pbWF0aW9uRWxlbWVudCBpbmNsdWRlcyBTVkdUZXN0
czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5pZGwJKHJldmlzaW9u
IDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjgsNSArMjgsNSBAQCBpbnRlcmZhY2UgU1ZHQ3Vyc29yRWxlbWVudCA6
IFNWR0VsZW1lbnQgCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTGVuZ3RoIHk7
CiB9OwogCi1TVkdDdXJzb3JFbGVtZW50IGltcGxlbWVudHMgU1ZHVGVzdHM7Ci1TVkdDdXJzb3JF
bGVtZW50IGltcGxlbWVudHMgU1ZHVVJJUmVmZXJlbmNlOworU1ZHQ3Vyc29yRWxlbWVudCBpbmNs
dWRlcyBTVkdUZXN0czsKK1NWR0N1cnNvckVsZW1lbnQgaW5jbHVkZXMgU1ZHVVJJUmVmZXJlbmNl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2
ICszMCw2IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0VsZW1lbnQ/IHZpZXdwb3J0RWxl
bWVudDsKIH07CiAKLVNWR0VsZW1lbnQgaW1wbGVtZW50cyBFbGVtZW50Q1NTSW5saW5lU3R5bGU7
Ci1TVkdFbGVtZW50IGltcGxlbWVudHMgR2xvYmFsRXZlbnRIYW5kbGVyczsKLVNWR0VsZW1lbnQg
aW1wbGVtZW50cyBIVE1MT3JGb3JlaWduRWxlbWVudDsKK1NWR0VsZW1lbnQgaW5jbHVkZXMgRWxl
bWVudENTU0lubGluZVN0eWxlOworU1ZHRWxlbWVudCBpbmNsdWRlcyBHbG9iYWxFdmVudEhhbmRs
ZXJzOworU1ZHRWxlbWVudCBpbmNsdWRlcyBIVE1MT3JGb3JlaWduRWxlbWVudDsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNTAsNCArNTAsNCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZEVu
dW1lcmF0aW9uIG1vZGU7CiB9OwogCi1TVkdGRUJsZW5kRWxlbWVudCBpbXBsZW1lbnRzIFNWR0Zp
bHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKK1NWR0ZFQmxlbmRFbGVtZW50IGluY2x1
ZGVzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2
NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNCArMzgsNCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBT
VkdBbmltYXRlZE51bWJlckxpc3QgIHZhbHVlczsKIH07CiAKLVNWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOworU1ZH
RkVDb2xvck1hdHJpeEVsZW1lbnQgaW5jbHVkZXMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNm
ZXJFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21w
b25lbnRUcmFuc2ZlckVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yNyw0ICsyNyw0IEBAIGludGVyZmFjZSBTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dCAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRTdHJpbmcgaW4xOwogfTsKIAot
U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM7CitTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCBpbmNs
dWRlcyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4
KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTQ0LDQgKzQ0LDQgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5p
bWF0ZWROdW1iZXIgICAgICBrNDsKIH07CiAKLVNWR0ZFQ29tcG9zaXRlRWxlbWVudCBpbXBsZW1l
bnRzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKK1NWR0ZFQ29tcG9zaXRl
RWxlbWVudCBpbmNsdWRlcyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbnZv
bHZlTWF0cml4RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDQgKzQ2LDQgQEAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRCb29sZWFuICAgICBwcmVzZXJ2ZUFscGhh
OwogfTsKIAotU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CitTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCBp
bmNsdWRlcyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmlkbAko
cmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0
aW5nRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDQgKzMxLDQgQEAgaW50ZXJmYWNl
IFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCA6IAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBT
VkdBbmltYXRlZE51bWJlciBrZXJuZWxVbml0TGVuZ3RoWTsKIH07CiAKLVNWR0ZFRGlmZnVzZUxp
Z2h0aW5nRWxlbWVudCBpbXBsZW1lbnRzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlczsKK1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCBpbmNsdWRlcyBTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDQgKzQwLDQgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5p
bWF0ZWRFbnVtZXJhdGlvbiB5Q2hhbm5lbFNlbGVjdG9yOwogfTsKIAotU1ZHRkVEaXNwbGFjZW1l
bnRNYXBFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzOworU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50IGluY2x1ZGVzIFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURy
b3BTaGFkb3dFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVEcm9wU2hhZG93RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgs
NCArMjgsNCBAQCBpbnRlcmZhY2UgU1ZHRkVEcm9wU2hhZG93RWxlbWVudCA6IFNWR0VsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHN0ZERldmlh
dGlvblkgPSBOYU4pOwogfTsKIAotU1ZHRkVEcm9wU2hhZG93RWxlbWVudCBpbXBsZW1lbnRzIFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKK1NWR0ZFRHJvcFNoYWRvd0VsZW1l
bnQgaW5jbHVkZXMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOwpJbmRleDog
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0Njgp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yNiw0ICsyNiw0IEBACiBpbnRlcmZhY2UgU1ZHRkVGbG9vZEVsZW1lbnQgOiBTVkdF
bGVtZW50IHsKIH07CiAKLVNWR0ZFRmxvb2RFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOworU1ZHRkVGbG9vZEVsZW1lbnQgaW5jbHVkZXMgU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOwpJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSw0ICs0MSw0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0
aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHN0ZERldmlhdGlvblkgPSBOYU4pOwogfTsKIAotU1ZH
RkVHYXVzc2lhbkJsdXJFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzOworU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50IGluY2x1ZGVzIFNWR0ZpbHRl
clByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUltYWdlRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFSW1hZ2VFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNSArMjcsNSBA
QCBpbnRlcmZhY2UgU1ZHRkVJbWFnZUVsZW1lbnQgOiBTVkdFbGVtZW50CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbyBwcmVzZXJ2ZUFzcGVjdFJh
dGlvOwogfTsKIAotU1ZHRkVJbWFnZUVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM7Ci1TVkdGRUltYWdlRWxlbWVudCBpbXBsZW1lbnRzIFNWR1VS
SVJlZmVyZW5jZTsKK1NWR0ZFSW1hZ2VFbGVtZW50IGluY2x1ZGVzIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlczsKK1NWR0ZFSW1hZ2VFbGVtZW50IGluY2x1ZGVzIFNWR1VSSVJl
ZmVyZW5jZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmlkbAko
cmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNCArMjYsNCBAQAogaW50ZXJmYWNlIFNWR0ZFTWVy
Z2VFbGVtZW50IDogU1ZHRWxlbWVudCB7CiB9OwogCi1TVkdGRU1lcmdlRWxlbWVudCBpbXBsZW1l
bnRzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKK1NWR0ZFTWVyZ2VFbGVt
ZW50IGluY2x1ZGVzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsNCArNDAsNCBAQAogICAgICAgICAgICAgICAgICAg
IG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCByYWRpdXNZID0gTmFOKTsKIH07CiAKLVNWR0ZF
TW9ycGhvbG9neUVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXM7CitTVkdGRU1vcnBob2xvZ3lFbGVtZW50IGluY2x1ZGVzIFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9m
ZnNldEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9m
ZnNldEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVPZmZzZXRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNCArMjksNCBAQCBp
bnRlcmZhY2UgU1ZHRkVPZmZzZXRFbGVtZW50IDogU1ZHRWxlbWVuCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFNWR0FuaW1hdGVkTnVtYmVyIGR5OwogfTsKIAotU1ZHRkVPZmZzZXRFbGVtZW50IGlt
cGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOworU1ZHRkVPZmZz
ZXRFbGVtZW50IGluY2x1ZGVzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5n
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNCArMzAs
NCBAQCBpbnRlcmZhY2UgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCA6CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTnVtYmVyIHNwZWN1bGFyRXhwb25lbnQ7CiB9OwogCi1T
VkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzOworU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCBpbmNsdWRl
cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDQg
KzI3LDQgQEAgaW50ZXJmYWNlIFNWR0ZFVGlsZUVsZW1lbnQgOiBTVkdFbGVtZW50IAogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFN0cmluZyBpbjE7CiB9OwogCi1TVkdGRVRpbGVF
bGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOwor
U1ZHRkVUaWxlRWxlbWVudCBpbmNsdWRlcyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1l
bnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJi
dWxlbmNlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDQgKzQ0LDQgQEAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiB0eXBlOwogfTsKIAotU1ZH
RkVUdXJidWxlbmNlRWxlbWVudCBpbXBsZW1lbnRzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlczsKK1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQgaW5jbHVkZXMgU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zp
bHRlckVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0
ZXJFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZpbHRlckVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw0ICszMyw0IEBAIGludGVy
ZmFjZSBTVkdGaWx0ZXJFbGVtZW50IDogU1ZHRWxlbWVudCAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgU1ZHQW5pbWF0ZWRMZW5ndGggICAgICBoZWlnaHQ7CiB9OwogCi1TVkdGaWx0ZXJFbGVtZW50
IGltcGxlbWVudHMgU1ZHVVJJUmVmZXJlbmNlOworU1ZHRmlsdGVyRWxlbWVudCBpbmNsdWRlcyBT
VkdVUklSZWZlcmVuY2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVt
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVt
ZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBo
UmVmRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDQgKzI4LDQgQEAKICAgICBhdHRy
aWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IGR5OwogfTsKIAotU1ZHR2x5cGhSZWZFbGVtZW50IGlt
cGxlbWVudHMgU1ZHVVJJUmVmZXJlbmNlOworU1ZHR2x5cGhSZWZFbGVtZW50IGluY2x1ZGVzIFNW
R1VSSVJlZmVyZW5jZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1l
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1l
bnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGll
bnRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzcsNCArMzcsNCBAQAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZEVudW1lcmF0aW9uICAgc3ByZWFkTWV0aG9kOwogfTsK
IAotU1ZHR3JhZGllbnRFbGVtZW50IGltcGxlbWVudHMgU1ZHVVJJUmVmZXJlbmNlOworU1ZHR3Jh
ZGllbnRFbGVtZW50IGluY2x1ZGVzIFNWR1VSSVJlZmVyZW5jZTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzcsNCArMzcsNCBAQCBpbnRlcmZhY2UgU1ZHR3JhcGhpY3NFbGVtZW50IDogU1ZHRWxlbWVuCiAg
ICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIFNWR01hdHJpeCBnZXRUcmFuc2Zvcm1U
b0VsZW1lbnQob3B0aW9uYWwgU1ZHRWxlbWVudD8gZWxlbWVudCA9IG51bGwpOwogfTsKIAotU1ZH
R3JhcGhpY3NFbGVtZW50IGltcGxlbWVudHMgU1ZHVGVzdHM7CitTVkdHcmFwaGljc0VsZW1lbnQg
aW5jbHVkZXMgU1ZHVGVzdHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVt
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50
LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxl
bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDQgKzMxLDQgQEAgaW50ZXJmYWNlIFNWR0lt
YWdlRWxlbWVudCA6IFNWR0dyYXBoaWNzRQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmlt
YXRlZFByZXNlcnZlQXNwZWN0UmF0aW8gcHJlc2VydmVBc3BlY3RSYXRpbzsKIH07CiAKLVNWR0lt
YWdlRWxlbWVudCBpbXBsZW1lbnRzIFNWR1VSSVJlZmVyZW5jZTsKK1NWR0ltYWdlRWxlbWVudCBp
bmNsdWRlcyBTVkdVUklSZWZlcmVuY2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBh
dGhFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhF
bGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01Q
YXRoRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDQgKzI2LDQgQEAKIGludGVyZmFj
ZSBTVkdNUGF0aEVsZW1lbnQgOiBTVkdFbGVtZW50IHsKIH07CiAKLVNWR01QYXRoRWxlbWVudCBp
bXBsZW1lbnRzIFNWR1VSSVJlZmVyZW5jZTsKK1NWR01QYXRoRWxlbWVudCBpbmNsdWRlcyBTVkdV
UklSZWZlcmVuY2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaWRs
CShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVu
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDQgKzQ4LDQgQEAgaW50ZXJmYWNlIFNWR01hcmtl
ckVsZW1lbnQgOiBTVkdFbGVtZW50IAogICAgIHVuZGVmaW5lZCBzZXRPcmllbnRUb0FuZ2xlKFNW
R0FuZ2xlIGFuZ2xlKTsKIH07CiAKLVNWR01hcmtlckVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaXRU
b1ZpZXdCb3g7CitTVkdNYXJrZXJFbGVtZW50IGluY2x1ZGVzIFNWR0ZpdFRvVmlld0JveDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzMsNCArMzMsNCBAQCBpbnRlcmZhY2UgU1ZHTWFza0VsZW1lbnQgOiBTVkdFbGVtZW50IHsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRMZW5ndGggaGVpZ2h0OwogfTsKIAot
U1ZHTWFza0VsZW1lbnQgaW1wbGVtZW50cyBTVkdUZXN0czsKK1NWR01hc2tFbGVtZW50IGluY2x1
ZGVzIFNWR1Rlc3RzOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw2IEBAIGludGVyZmFjZSBTVkdQ
YXR0ZXJuRWxlbWVudCA6IFNWR0VsZW1lbnQKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5p
bWF0ZWRMZW5ndGggICAgICAgIGhlaWdodDsKIH07CiAKLVNWR1BhdHRlcm5FbGVtZW50IGltcGxl
bWVudHMgU1ZHRml0VG9WaWV3Qm94OwotU1ZHUGF0dGVybkVsZW1lbnQgaW1wbGVtZW50cyBTVkdU
ZXN0czsKLVNWR1BhdHRlcm5FbGVtZW50IGltcGxlbWVudHMgU1ZHVVJJUmVmZXJlbmNlOworU1ZH
UGF0dGVybkVsZW1lbnQgaW5jbHVkZXMgU1ZHRml0VG9WaWV3Qm94OworU1ZHUGF0dGVybkVsZW1l
bnQgaW5jbHVkZXMgU1ZHVGVzdHM7CitTVkdQYXR0ZXJuRWxlbWVudCBpbmNsdWRlcyBTVkdVUklS
ZWZlcmVuY2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaWRsCShyZXZpc2lv
biAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTcyLDUgKzcyLDUgQEAKICAgICB1bmRlZmluZWQgZm9yY2VSZWRyYXcoKTsK
IH07CiAKLVNWR1NWR0VsZW1lbnQgaW1wbGVtZW50cyBTVkdGaXRUb1ZpZXdCb3g7Ci1TVkdTVkdF
bGVtZW50IGltcGxlbWVudHMgU1ZHWm9vbUFuZFBhbjsKK1NWR1NWR0VsZW1lbnQgaW5jbHVkZXMg
U1ZHRml0VG9WaWV3Qm94OworU1ZHU1ZHRWxlbWVudCBpbmNsdWRlcyBTVkdab29tQW5kUGFuOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2
NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw0ICsyNyw0IEBAIGludGVyZmFjZSBTVkdTY3JpcHRFbGVtZW50IDogU1ZH
RWxlbWVudCAKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwogfTsKIAot
U1ZHU2NyaXB0RWxlbWVudCBpbXBsZW1lbnRzIFNWR1VSSVJlZmVyZW5jZTsKK1NWR1NjcmlwdEVs
ZW1lbnQgaW5jbHVkZXMgU1ZHVVJJUmVmZXJlbmNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1N5bWJvbEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTeW1ib2xFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1N5bWJvbEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw0ICsyNiw0IEBA
CiBpbnRlcmZhY2UgU1ZHU3ltYm9sRWxlbWVudCA6IFNWR0dyYXBoaWNzRWxlbWVudCB7CiB9Owog
Ci1TVkdTeW1ib2xFbGVtZW50IGltcGxlbWVudHMgU1ZHRml0VG9WaWV3Qm94OworU1ZHU3ltYm9s
RWxlbWVudCBpbmNsdWRlcyBTVkdGaXRUb1ZpZXdCb3g7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVFJlZkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdUUmVmRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUUmVmRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDQgKzI2LDQgQEAKIGlu
dGVyZmFjZSBTVkdUUmVmRWxlbWVudCA6IFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQgewogfTsK
IAotU1ZHVFJlZkVsZW1lbnQgaW1wbGVtZW50cyBTVkdVUklSZWZlcmVuY2U7CitTVkdUUmVmRWxl
bWVudCBpbmNsdWRlcyBTVkdVUklSZWZlcmVuY2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dFBhdGhFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dFBhdGhFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDQgKzM5
LDQgQEAgaW50ZXJmYWNlIFNWR1RleHRQYXRoRWxlbWVudCA6IFNWR1RleHRDbwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZEVudW1lcmF0aW9uIHNwYWNpbmc7CiB9OwogCi1TVkdU
ZXh0UGF0aEVsZW1lbnQgaW1wbGVtZW50cyBTVkdVUklSZWZlcmVuY2U7CitTVkdUZXh0UGF0aEVs
ZW1lbnQgaW5jbHVkZXMgU1ZHVVJJUmVmZXJlbmNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1VzZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdV
c2VFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1VzZUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw0ICszMCw0IEBAIGludGVyZmFj
ZSBTVkdVc2VFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGUKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
U1ZHQW5pbWF0ZWRMZW5ndGggaGVpZ2h0OwogfTsKIAotU1ZHVXNlRWxlbWVudCBpbXBsZW1lbnRz
IFNWR1VSSVJlZmVyZW5jZTsKK1NWR1VzZUVsZW1lbnQgaW5jbHVkZXMgU1ZHVVJJUmVmZXJlbmNl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0
NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yNiw1ICsyNiw1IEBACiBpbnRlcmZhY2UgU1ZHVmlld0VsZW1lbnQgOiBTVkdFbGVt
ZW50IHsKIH07CiAKLVNWR1ZpZXdFbGVtZW50IGltcGxlbWVudHMgU1ZHRml0VG9WaWV3Qm94Owot
U1ZHVmlld0VsZW1lbnQgaW1wbGVtZW50cyBTVkdab29tQW5kUGFuOworU1ZHVmlld0VsZW1lbnQg
aW5jbHVkZXMgU1ZHRml0VG9WaWV3Qm94OworU1ZHVmlld0VsZW1lbnQgaW5jbHVkZXMgU1ZHWm9v
bUFuZFBhbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmlkbAkocmV2aXNpb24gMjY2
NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzksNSArMzksNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmll
d1RhcmdldFN0cmluZzsKIH07CiAKLVNWR1ZpZXdTcGVjIGltcGxlbWVudHMgU1ZHRml0VG9WaWV3
Qm94OwotU1ZHVmlld1NwZWMgaW1wbGVtZW50cyBTVkdab29tQW5kUGFuOworU1ZHVmlld1NwZWMg
aW5jbHVkZXMgU1ZHRml0VG9WaWV3Qm94OworU1ZHVmlld1NwZWMgaW5jbHVkZXMgU1ZHWm9vbUFu
ZFBhbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwJKHJldmlzaW9uIDI2NjQ2OCkK
KysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NDAsNCArNDAsNCBAQCBkaWN0aW9uYXJ5IFdvcmtlck9wdGlvbnMgewogICAgIERPTVN0cmluZyBu
YW1lID0gIiI7CiB9OwogCi1Xb3JrZXIgaW1wbGVtZW50cyBBYnN0cmFjdFdvcmtlcjsKK1dvcmtl
ciBpbmNsdWRlcyBBYnN0cmFjdFdvcmtlcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjMs
NiArNjMsNiBAQAogICAgIFtDb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMs
IEVuYWJsZWRBdFJ1bnRpbWU9SW5kZXhlZERCV29ya2Vyc10gYXR0cmlidXRlIElEQlZlcnNpb25D
aGFuZ2VFdmVudENvbnN0cnVjdG9yIElEQlZlcnNpb25DaGFuZ2VFdmVudDsKIH07CiAKLVdvcmtl
ckdsb2JhbFNjb3BlIGltcGxlbWVudHMgR2xvYmFsQ3J5cHRvOwotV29ya2VyR2xvYmFsU2NvcGUg
aW1wbGVtZW50cyBHbG9iYWxQZXJmb3JtYW5jZTsKLVdvcmtlckdsb2JhbFNjb3BlIGltcGxlbWVu
dHMgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTsKK1dvcmtlckdsb2JhbFNjb3BlIGluY2x1ZGVz
IEdsb2JhbENyeXB0bzsKK1dvcmtlckdsb2JhbFNjb3BlIGluY2x1ZGVzIEdsb2JhbFBlcmZvcm1h
bmNlOworV29ya2VyR2xvYmFsU2NvcGUgaW5jbHVkZXMgV2luZG93T3JXb3JrZXJHbG9iYWxTY29w
ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlci5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQAog
ICAgIC8vIGV2ZW50CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnN0YXRlY2hhbmdlOwog
fTsKLVNlcnZpY2VXb3JrZXIgaW1wbGVtZW50cyBBYnN0cmFjdFdvcmtlcjsKK1NlcnZpY2VXb3Jr
ZXIgaW5jbHVkZXMgQWJzdHJhY3RXb3JrZXI7CiAKIGVudW0gU2VydmljZVdvcmtlclN0YXRlIHsK
ICAgICAiaW5zdGFsbGluZyIsCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407787</attachid>
            <date>2020-09-02 12:39:11 -0700</date>
            <delta_ts>2020-09-03 09:27:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216089-20200902123910.patch</filename>
            <type>text/plain</type>
            <size>139428</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NjQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5MSBAQAorMjAyMC0wOS0wMiAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIFdlYklETCBwYXJzZXIg
dG8gbW9yZSBjbG9zZWx5IGFsaWduIHdpdGggY3VycmVudCBXZWJJREwgc3BlYworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDg5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFqb3IgY2hhbmdlcyBhcmU6
CisgICAgICAgIC0gJ2ltcGxlbWVudHMnIGtleXdvcmQgaXMgbm93IGNhbGxlZCAnaW5jbHVkZXMn
ICh0aGlzIGlzIHRoZSBvbmx5IG9ic2VydmFibGUgY2hhbmdlKS4KKyAgICAgICAgLSBBZGRlZCBz
dXBwb3J0IGZvciBwYXJzaW5nIG5hbWVzcGFjZXMsIGFzeW5jIGl0ZXJhYmxlLCBwYXJ0aWFsIG1p
eGlucyBhbmQgT2JzZXJ2YWJsZUFycmF5LCAKKyAgICAgICAgICB0aG91Z2ggdGhlIGNvZGUgZ2Vu
ZXJhdG9ycyBkb24ndCBzdXBwb3J0IHRoZW0geWV0LCBzbyB0aGV5IGp1c3QgY2xlYXJseSBlcnJv
ciBvdXQuCisgICAgICAgIC0gVXBkYXRlIGxpc3Qgb2Yga2V5d29yZHMgdGhhdCBjYW4gYmUgdXNl
ZCBhcyBhcmd1bWVudCBuYW1lcy4KKyAgICAgICAgLSBVcGRhdGUgcGFyc2VyIHRvIHVzZSB0aGUg
Y3VycmVudCB0ZXJtaW5vbG9neSBmcm9tIFdlYklETC4KKyAgICAgICAgLSBBZGRlZCBtb3JlIGNv
bW1lbnRzIHRvIGJlIGNsZWFyIHdoYXQgbmV4dCBzdGVwcyB0byB0YWtlIHN1Y2ggYXMgcmVtb3Zp
bmcgbGVnYWN5IGNvbnN0cnVjdHMKKyAgICAgICAgICBsaWtlIHNlcmlhbGl6ZXIsIGV4Y2VwdGlv
biwgbGVnYWN5Y2FsbGVyIGFuZCBtb3Zpbmcgc3ludGhldGljIG9wZXJhdGlvbiBhZGRpdGlvbnMg
ZnJvbSB0aGUKKyAgICAgICAgICBwYXJzZXIgdG8gdGhlIGNvZGUgZ2VuZXJhdG9ycy4gCisKKyAg
ICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGw6CisgICAgICAgICogTW9kdWxl
cy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lE
TFBhcnNlci5wbToKKyAgICAgICAgKFBhcnNlKToKKyAgICAgICAgKGFwcGx5VHlwZWRlZnMpOgor
ICAgICAgICAocGFyc2VEZWZpbml0aW9uKToKKyAgICAgICAgKHBhcnNlQ2FsbGJhY2tPckludGVy
ZmFjZU9yTWl4aW4pOgorICAgICAgICAocGFyc2VDYWxsYmFja1Jlc3RPckludGVyZmFjZSk6Cisg
ICAgICAgIChwYXJzZUludGVyZmFjZU9yTWl4aW4pOgorICAgICAgICAocGFyc2VJbnRlcmZhY2Up
OgorICAgICAgICAocGFyc2VOYW1lc3BhY2UpOgorICAgICAgICAocGFyc2VOYW1lc3BhY2VNZW1i
ZXJzKToKKyAgICAgICAgKHBhcnNlTmFtZXNwYWNlTWVtYmVyKToKKyAgICAgICAgKHBhcnNlUGFy
dGlhbERlZmluaXRpb24pOgorICAgICAgICAocGFyc2VQYXJ0aWFsSW50ZXJmYWNlT3JQYXJ0aWFs
TWl4aW4pOgorICAgICAgICAocGFyc2VQYXJ0aWFsSW50ZXJmYWNlKToKKyAgICAgICAgKHBhcnNl
UGFydGlhbEludGVyZmFjZU1lbWJlcnMpOgorICAgICAgICAocGFyc2VQYXJ0aWFsSW50ZXJmYWNl
TWVtYmVyKToKKyAgICAgICAgKHBhcnNlSW50ZXJmYWNlTWVtYmVyKToKKyAgICAgICAgKHBhcnNl
UGFydGlhbERpY3Rpb25hcnkpOgorICAgICAgICAocGFyc2VJbmNsdWRlc1N0YXRlbWVudCk6Cisg
ICAgICAgIChwYXJzZUluaGVyaXRBdHRyaWJ1dGUpOgorICAgICAgICAocGFyc2VPcGVyYXRpb24p
OgorICAgICAgICAocGFyc2VSZWd1bGFyT3BlcmF0aW9uKToKKyAgICAgICAgKHBhcnNlU3BlY2lh
bCk6CisgICAgICAgIChwYXJzZUFzeW5jSXRlcmFibGUpOgorICAgICAgICAocGFyc2VPcHRpb25h
bEl0ZXJhYmxlSW50ZXJmYWNlKToKKyAgICAgICAgKHBhcnNlQXJndW1lbnROYW1lS2V5d29yZCk6
CisgICAgICAgIChwYXJzZURpc3Rpbmd1aXNoYWJsZVR5cGUpOgorICAgICAgICAocGFyc2VDb25z
dFR5cGUpOgorICAgICAgICAocGFyc2VQcmltaXRpdmVUeXBlKToKKyAgICAgICAgKGFwcGx5TWVt
YmVyTGlzdCk6CisgICAgICAgIChwYXJzZUNhbGxiYWNrT3JJbnRlcmZhY2UpOiBEZWxldGVkLgor
ICAgICAgICAocGFyc2VJbXBsZW1lbnRzU3RhdGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKHBh
cnNlT3BlcmF0aW9uT3JSZWFkV3JpdGVBdHRyaWJ1dGVPck1hcGxpa2UpOiBEZWxldGVkLgorICAg
ICAgICAocGFyc2VSZWFkV3JpdGVBdHRyaWJ1dGUpOiBEZWxldGVkLgorICAgICAgICAocGFyc2VJ
bmhlcml0KTogRGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Mt
aWRscy5wbDoKKyAgICAgICAgKGdldEluY2x1ZGVkSW50ZXJmYWNlc0Zyb21JREwpOgorICAgICAg
ICAoZ2V0SW1wbGVtZW50ZWRJbnRlcmZhY2VzRnJvbUlETCk6IERlbGV0ZWQuCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5jbHVkZXNTdGF0aWNSZWFkT25s
eUF0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlQ29uc3RydWN0
b3JJbmNsdWRlc1N0YXRpY1JlYWRPbmx5QXR0cik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJ
bnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVzU3RhdGljQXR0ckdldHRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVzU3RhdGljQXR0cik6Cisg
ICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVzU3Rh
dGljQXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3RvckluY2x1ZGVzU3RhdGljQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRl
cmZhY2VJbmNsdWRlc1N0cjFHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJm
YWNlSW5jbHVkZXNTdHIxKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUluY2x1
ZGVzU3RyMkdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VJbmNsdWRl
c1N0cjIpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIy
U2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUluY2x1ZGVzU3Ry
Mik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0cjNHZXR0ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIzKToKKyAgICAg
ICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyM1NldHRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0cjMpOgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlSW5jbHVkZXNOb2RlR2V0dGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OmpzVGVzdEludGVyZmFjZUluY2x1ZGVzTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpz
ZXRKU1Rlc3RJbnRlcmZhY2VJbmNsdWRlc05vZGVTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0SW50ZXJmYWNlSW5jbHVkZXNOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2QxQm9keSk6CisgICAgICAg
IChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkluY2x1ZGVzTWV0aG9k
MSk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbklu
Y2x1ZGVzTWV0aG9kMkJvZHkpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlUHJv
dG90eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhvZDIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0
SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhvZDNCb2R5KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2Qz
KToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25J
bmNsdWRlc01ldGhvZDRCb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNv
bnN0cnVjdG9yRnVuY3Rpb25JbmNsdWRlc01ldGhvZDQpOgorICAgICAgICAoV2ViQ29yZTo6anNU
ZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1lbnRzU3RhdGljUmVhZE9ubHlBdHRyR2V0dGVy
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9y
SW1wbGVtZW50c1N0YXRpY1JlYWRPbmx5QXR0cik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
Ojpqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVudHNTdGF0aWNBdHRyR2V0dGVyKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1w
bGVtZW50c1N0YXRpY0F0dHIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0
SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1lbnRzU3RhdGljQXR0clNldHRlcik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVu
dHNTdGF0aWNBdHRyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFj
ZUltcGxlbWVudHNTdHIxR2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dEludGVyZmFjZUltcGxlbWVudHNTdHIxKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ompz
VGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyR2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OmpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyU2V0dGVyKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIz
R2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUltcGxl
bWVudHNTdHIzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFj
ZUltcGxlbWVudHNTdHIzU2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpT
VGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OmpzVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2RlR2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2RlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2RlU2V0dGVyKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNOb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1
bmN0aW9uSW1wbGVtZW50c01ldGhvZDFCb2R5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OmpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDEpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25J
bXBsZW1lbnRzTWV0aG9kMkJvZHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0
SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMik6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkltcGxlbWVu
dHNNZXRob2QzQm9keSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZh
Y2VQcm90b3R5cGVGdW5jdGlvbkltcGxlbWVudHNNZXRob2QzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25JbXBsZW1lbnRzTWV0
aG9kNEJvZHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0SW50ZXJmYWNlQ29u
c3RydWN0b3JGdW5jdGlvbkltcGxlbWVudHNNZXRob2Q0KTogRGVsZXRlZC4KKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmg6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1N1cHBsZW1lbnRhbERlcGVuZGVuY2llcy5kZXA6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbXBsZW1lbnRzLmlkbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEluY2x1ZGVzLmlkbDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbXBsZW1lbnRzLmlk
bC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGw6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwuaWRsOgorICAgICAg
ICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmlkbDoKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZl
bnQuaWRsOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDoKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVudEZyYWdtZW50Lmlk
bDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRUeXBlLmlkbDoKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5pZGw6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaWRsOgorICAgICAgICAqIGRvbS9UZXh0
LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbDoKKyAgICAgICAgKiBo
dG1sL0hUTUxBcmVhRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRN
TEZyYW1lU2V0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9PZmZzY3JlZW5DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1BhaW50UmVuZGVy
aW5nQ29udGV4dDJELmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9QYXRoMkQuaWRsOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsOgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGw6CisgICAgICAgICogcGFnZS9E
T01XaW5kb3cuaWRsOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmlkbDoKKyAgICAgICAgKiBw
YWdlL1dvcmtlck5hdmlnYXRvci5pZGw6CisgICAgICAgICogc3ZnL1NWR0FFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0aW9uRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuaWRs
OgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVCbGVu
ZEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVD
b252b2x2ZU1hdHJpeEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRURpZmZ1c2VMaWdo
dGluZ0VsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1l
bnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBzdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5pZGw6
CisgICAgICAgICogc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
RkVNb3JwaG9sb2d5RWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVu
dC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaWRsOgor
ICAgICAgICAqIHN2Zy9TVkdGRVRpbGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRkVU
dXJidWxlbmNlRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaWRs
OgorICAgICAgICAqIHN2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9T
VkdHcmFkaWVudEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdHcmFwaGljc0VsZW1lbnQu
aWRsOgorICAgICAgICAqIHN2Zy9TVkdJbWFnZUVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9T
VkdNUGF0aEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaWRsOgorICAgICAg
ICAqIHN2Zy9TVkdTY3JpcHRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxl
bWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1RSZWZFbGVtZW50LmlkbDoKKyAgICAgICAgKiBz
dmcvU1ZHVGV4dFBhdGhFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5p
ZGw6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
Vmlld1NwZWMuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlci5pZGw6CisKIDIwMjAtMDktMDIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBPZmZsaW5lQXVkaW9Db250ZXh0IGluY29ycmVjdGx5IHJlbmRl
cnMgYXQgYmVnaW5uaW5nIG9mIG91dHB1dCBidWZmZXIgYWZ0ZXIgcmVzdW1pbmcKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwJKHJldmlzaW9u
IDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtNTksNCArNTksNCBAQCB0eXBlZGVmIChCbG9iIG9yIEJ1ZmZl
clNvdXJjZSBvciBET01Gb3JtCiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IE1heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIEZldGNoUmVxdWVzdCBjbG9uZSgpOwogfTsK
IAotRmV0Y2hSZXF1ZXN0IGltcGxlbWVudHMgRmV0Y2hCb2R5OworRmV0Y2hSZXF1ZXN0IGluY2x1
ZGVzIEZldGNoQm9keTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjMsNCArNjMs
NCBAQCBkaWN0aW9uYXJ5IEZldGNoUmVzcG9uc2VJbml0IHsKICAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gRmV0Y2hSZXNw
b25zZSBjbG9uZSgpOwogfTsKIAotRmV0Y2hSZXNwb25zZSBpbXBsZW1lbnRzIEZldGNoQm9keTsK
K0ZldGNoUmVzcG9uc2UgaW5jbHVkZXMgRmV0Y2hCb2R5OwpJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY2NDY4
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDE1MCw2ICsxMDE1MCw3IEBACiAJCTdDNTE0RTAwMjRBRjgwNTgw
MDUwNzEwRiAvKiBDb2xvckNvbnZlcnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29sb3JDb252ZXJz
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNTE0RTAyMjRBRjgwNTgwMDUw
NzEwRiAvKiBDb2xvckNvbnZlcnNpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29sb3JDb252
ZXJzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M1MTZBRDIxRjM1MjUy
MDAwMzRCNkJGIC8qIERPTVByb21pc2VQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Qcm9taXNl
UHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M1MUZDQ0UyNTAwMkJGQjAw
QkEwRjJGIC8qIE1hdGhNTEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1hdGhNTEVsZW1lbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzUyMjI5NTFFMURBREY4MDAyQ0I4RjcgLyogSURM
VHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURMVHlwZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M1MjIyOTcxRTFEQUUxNjAwMkNCOEY3IC8qIEFj
dGl2ZURPTUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEFjdGl2ZURPTUNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M1
MjIyOTgxRTFEQUUxNjAwMkNCOEY3IC8qIEFjdGl2ZURPTUNhbGxiYWNrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjdGl2ZURPTUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yOTU4Nyw2ICsyOTU4OCw3IEBACiAJCQkJRkFCRTcyRUUxMDU5QzFF
QjAwRDg4OENDIC8qIE1hdGhNTEFubm90YXRpb25FbGVtZW50LmggKi8sCiAJCQkJRkFCRTcyRUQx
MDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICovLAogCQkJCUZBQkU3MkVFMTA1
OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggKi8sCisJCQkJN0M1MUZDQ0UyNTAwMkJG
QjAwQkEwRjJGIC8qIE1hdGhNTEVsZW1lbnQuaWRsICovLAogCQkJCTBCQ0Y4M0VGMTA1OUMxRUIw
MEQ5OTlERCAvKiBNYXRoTUxGcmFjdGlvbkVsZW1lbnQuY3BwICovLAogCQkJCTBCQ0Y4M0YwMTA1
OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxGcmFjdGlvbkVsZW1lbnQuaCAqLywKIAkJCQlGQUJFNzJG
MTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovLApJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0JKHJldmlzaW9uIDI2
NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtCSh3
b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw4IEBAIHN0cnVjdCggSURMRG9jdW1lbnQgPT4gewog
ICAgIGVudW1lcmF0aW9ucyA9PiAnQCcsICMgTGlzdCBvZiAnSURMRW51bScKICAgICBkaWN0aW9u
YXJpZXMgPT4gJ0AnLCAjIExpc3Qgb2YgJ0lETERpY3Rpb25hcnknCiAgICAgY2FsbGJhY2tGdW5j
dGlvbnMgPT4gJ0AnLCAjIExpc3Qgb2YgJ0lETENhbGxiYWNrRnVuY3Rpb24nCisgICAgbmFtZXNw
YWNlcyA9PiAnQCcsICMgTGlzdCBvZiAnSURMTmFtZXNwYWNlJworICAgIGluY2x1ZGVzID0+ICdA
JywgIyBMaXN0IG9mICdJRExJbmNsdWRlc1N0YXRlbWVudCcKICAgICBmaWxlTmFtZSA9PiAnJCcs
CiB9KTsKIApAQCAtNjYsMTAgKzY4LDExIEBAIHN0cnVjdCggSURMSW50ZXJmYWNlID0+IHsKICAg
ICBpc0V4Y2VwdGlvbiA9PiAnJCcsICMgVXNlZCBmb3IgZXhjZXB0aW9uIGludGVyZmFjZXMKICAg
ICBpc0NhbGxiYWNrID0+ICckJywgIyBVc2VkIGZvciBjYWxsYmFjayBpbnRlcmZhY2VzCiAgICAg
aXNQYXJ0aWFsID0+ICckJywgIyBVc2VkIGZvciBwYXJ0aWFsIGludGVyZmFjZXMKLSAgICBpdGVy
YWJsZSA9PiAnJCcsICMgVXNlZCBmb3IgaXRlcmFibGUgaW50ZXJmYWNlcwotICAgIG1hcExpa2Ug
PT4gJyQnLCAjIFVzZWQgZm9yIG1hcExpa2UgaW50ZXJmYWNlcwotICAgIHNldExpa2UgPT4gJyQn
LCAjIFVzZWQgZm9yIHNldExpa2UgaW50ZXJmYWNlcwotICAgIHNlcmlhbGl6YWJsZSA9PiAnJCcs
ICMgVXNlZCBmb3Igc2VyaWFsaXphYmxlIGludGVyZmFjZXMKKyAgICBpdGVyYWJsZSA9PiAnJCcs
ICMgVXNlZCBmb3IgaXRlcmFibGUgaW50ZXJmYWNlcywgb2YgdHlwZSAnSURMSXRlcmFibGUnCisg
ICAgYXN5bmNJdGVyYWJsZSA9PiAnJCcsICMgVXNlZCBmb3IgYXN5Y24gaXRlcmFibGUgaW50ZXJm
YWNlcywgb2YgdHlwZSAnSURMQXN5bmNJdGVyYWJsZScKKyAgICBtYXBMaWtlID0+ICckJywgIyBV
c2VkIGZvciBtYXBMaWtlIGludGVyZmFjZXMsIG9mIHR5cGUgJ0lETE1hcExpa2UnCisgICAgc2V0
TGlrZSA9PiAnJCcsICMgVXNlZCBmb3Igc2V0TGlrZSBpbnRlcmZhY2VzLCBvZiB0eXBlICdJRExT
ZXRMaWtlJworICAgIHNlcmlhbGl6YWJsZSA9PiAnJCcsICMgVXNlZCBmb3Igc2VyaWFsaXphYmxl
IGludGVyZmFjZXMsIG9mIHR5cGUgJ0lETFNlcmlhbGl6YWJsZScKICAgICBleHRlbmRlZEF0dHJp
YnV0ZXMgPT4gJyQnLAogfSk7CiAKQEAgLTEyMyw2ICsxMjYsMTUgQEAgc3RydWN0KCBJRExJdGVy
YWJsZSA9PiB7CiAgICAgZXh0ZW5kZWRBdHRyaWJ1dGVzID0+ICckJywKIH0pOwogCisjIGh0dHBz
Oi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1hc3luYy1pdGVyYWJsZQorc3RydWN0KCBJ
RExBc3luY0l0ZXJhYmxlID0+IHsKKyAgICBpc0tleVZhbHVlID0+ICckJywKKyAgICBrZXlUeXBl
ID0+ICdJRExUeXBlJywKKyAgICB2YWx1ZVR5cGUgPT4gJ0lETFR5cGUnLAorICAgIGFyZ3VtZW50
cyA9PiAnQCcsICMgTGlzdCBvZiAnSURMQXJndW1lbnQnCisgICAgZXh0ZW5kZWRBdHRyaWJ1dGVz
ID0+ICckJywKK30pOworCiAjIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLW1h
cGxpa2UKIHN0cnVjdCggSURMTWFwTGlrZSA9PiB7CiAgICAgaXNSZWFkT25seSA9PiAnJCcsCkBA
IC0xODIsNyArMTk0LDcgQEAgc3RydWN0KCBJRExEaWN0aW9uYXJ5ID0+IHsKICAgICBwYXJlbnRU
eXBlID0+ICdJRExUeXBlJywKICAgICBtZW1iZXJzID0+ICdAJywgIyBMaXN0IG9mICdJRExEaWN0
aW9uYXJ5TWVtYmVyJwogICAgIGV4dGVuZGVkQXR0cmlidXRlcyA9PiAnJCcsCi0gICAgaXNQYXJ0
aWFsID0+ICckJywgIyBVc2VkIGZvciBwYXJ0aWFsIGludGVyZmFjZXMKKyAgICBpc1BhcnRpYWwg
PT4gJyQnLCAjIFVzZWQgZm9yIHBhcnRpYWwgZGljdGlvbmFyaWVzCiB9KTsKIAogIyBodHRwczov
L2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwtY2FsbGJhY2stZnVuY3Rpb25zCkBAIC0xOTIs
NiArMjA0LDIxIEBAIHN0cnVjdCggSURMQ2FsbGJhY2tGdW5jdGlvbiA9PiB7CiAgICAgZXh0ZW5k
ZWRBdHRyaWJ1dGVzID0+ICckJywKIH0pOwogCisjIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93
ZWJpZGwvI2lkbC1uYW1lc3BhY2VzCitzdHJ1Y3QoIElETE5hbWVzcGFjZSA9PiB7CisgICAgbmFt
ZSA9PiAnJCcsCisgICAgb3BlcmF0aW9ucyA9PiAnQCcsICMgTGlzdCBvZiAnSURMT3BlcmF0aW9u
JworICAgIGF0dHJpYnV0ZXMgPT4gJ0AnLCAjIExpc3Qgb2YgJ0lETEF0dHJpYnV0ZScKKyAgICBl
eHRlbmRlZEF0dHJpYnV0ZXMgPT4gJyQnLAorICAgIGlzUGFydGlhbCA9PiAnJCcsICMgVXNlZCBm
b3IgcGFydGlhbCBuYW1lc3BhY2VzCit9KTsKKworIyBodHRwczovL2hleWNhbS5naXRodWIuaW8v
d2ViaWRsLyNpbmNsdWRlcy1zdGF0ZW1lbnQKK3N0cnVjdCggSURMSW5jbHVkZXNTdGF0ZW1lbnQg
PT4geworICAgIGludGVyZmFjZUlkZW50aWZpZXIgPT4gJyQnLAorICAgIG1peGluSWRlbnRpZmll
ciA9PiAnJCcsCit9KTsKKwogIyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwt
dHlwZWRlZnMKIHN0cnVjdCggSURMVHlwZWRlZiA9PiB7CiAgICAgdHlwZSA9PiAnSURMVHlwZScs
CkBAIC0zNDMsNiArMzcwLDEwIEBAIHN1YiBQYXJzZQogICAgICAgICAgICAgcHVzaChAeyRkb2N1
bWVudC0+ZGljdGlvbmFyaWVzfSwgJGRlZmluaXRpb24pOwogICAgICAgICB9IGVsc2lmIChyZWYo
JGRlZmluaXRpb24pIGVxICJJRExDYWxsYmFja0Z1bmN0aW9uIikgewogICAgICAgICAgICAgcHVz
aChAeyRkb2N1bWVudC0+Y2FsbGJhY2tGdW5jdGlvbnN9LCAkZGVmaW5pdGlvbik7CisgICAgICAg
IH0gZWxzaWYgKHJlZigkZGVmaW5pdGlvbikgZXEgIklETE5hbWVzcGFjZSIpIHsKKyAgICAgICAg
ICAgIHB1c2goQHskZG9jdW1lbnQtPm5hbWVzcGFjZXN9LCAkZGVmaW5pdGlvbik7CisgICAgICAg
IH0gZWxzaWYgKHJlZigkZGVmaW5pdGlvbikgZXEgIklETEluY2x1ZGVzU3RhdGVtZW50Iikgewor
ICAgICAgICAgICAgcHVzaChAeyRkb2N1bWVudC0+aW5jbHVkZXN9LCAkZGVmaW5pdGlvbik7CiAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkaWUgIlVucmVjb2duaXplZCBJREwgZGVmaW5p
dGlvbiBraW5kOiBcIiIgLiByZWYoJGRlZmluaXRpb24pIC4gIlwiIjsKICAgICAgICAgfQpAQCAt
NjA1LDI5ICs2MzYsMzEgQEAgc3ViIGFkZEJ1aWx0aW5UeXBlZGVmcygpCiAgICAgJHR5cGVkZWZz
eyJET01UaW1lU3RhbXAifSA9IElETFR5cGVkZWYtPm5ldyh0eXBlID0+ICRET01UaW1lU3RhbXBU
eXBlKTsKIH0KIAotbXkgJG5leHRBdHRyaWJ1dGVfMSA9ICdeKGF0dHJpYnV0ZXxpbmhlcml0KSQn
OwogbXkgJG5leHRBdHRyaWJ1dGVfMiA9ICdeKHJlYWRvbmx5fGF0dHJpYnV0ZSkkJzsKLW15ICRu
ZXh0UHJpbWl0aXZlVHlwZV8xID0gJ14oaW50fGxvbmd8c2hvcnR8dW5zaWduZWQpJCc7Ci1teSAk
bmV4dFByaW1pdGl2ZVR5cGVfMiA9ICdeKGRvdWJsZXxmbG9hdHx1bnJlc3RyaWN0ZWQpJCc7Ci1t
eSAkbmV4dEFyZ3VtZW50TGlzdF8xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3Ry
aW5nfERhdGV8XFt8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8aW58bG9uZ3xvYmplY3R8
b2N0ZXR8b3B0aW9uYWx8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNp
Z25lZCkkJzsKLW15ICRuZXh0RGlzdGluZ3Vpc2hhYmxlVHlwZV8xID0gJ14oYm9vbGVhbnxieXRl
fGRvdWJsZXxmbG9hdHxsb25nfG9jdGV0fHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5z
aWduZWQpJCc7CitteSAkbmV4dEludGVnZXJUeXBlXzEgPSAnXihpbnR8bG9uZ3xzaG9ydHx1bnNp
Z25lZCkkJzsKK215ICRuZXh0RmxvYXRUeXBlXzEgPSAnXihkb3VibGV8ZmxvYXR8dW5yZXN0cmlj
dGVkKSQnOworbXkgJG5leHRBcmd1bWVudExpc3RfMSA9ICdeKFwofEJ5dGVTdHJpbmd8RE9NU3Ry
aW5nfFVTVlN0cmluZ3xcW3xhbnl8Ym9vbGVhbnxieXRlfGRvdWJsZXxmbG9hdHxpbnxsb25nfG9i
amVjdHxvY3RldHxvcHRpb25hbHxzZXF1ZW5jZXxzaG9ydHxzeW1ib2x8dW5kZWZpbmVkfHVucmVz
dHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0UHJpbWl0aXZlVHlwZV8xID0gJ14oYm9vbGVh
bnxieXRlfGRvdWJsZXxmbG9hdHxsb25nfG9jdGV0fHNob3J0fHN5bWJvbHx1bmRlZmluZWR8dW5y
ZXN0cmljdGVkfHVuc2lnbmVkKSQnOwogbXkgJG5leHRTdHJpbmdUeXBlXzEgPSAnXihCeXRlU3Ry
aW5nfERPTVN0cmluZ3xVU1ZTdHJpbmcpJCc7Ci1teSAkbmV4dEludGVyZmFjZU1lbWJlcl8xID0g
J14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGF0dHJpYnV0ZXxi
b29sZWFufGJ5dGV8ZGVsZXRlcnxkb3VibGV8ZmxvYXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2Fs
bGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5fHNlcXVlbmNlfHNldHRlcnxzaG9ydHx1bmRl
ZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwotbXkgJG5leHRPcGVyYXRpb25fMSA9ICde
KFwofEJ5dGVTdHJpbmd8RE9NU3RyaW5nfFVTVlN0cmluZ3xEYXRlfGFueXxib29sZWFufGJ5dGV8
ZGVsZXRlcnxkb3VibGV8ZmxvYXR8Z2V0dGVyfGxlZ2FjeWNhbGxlcnxsb25nfG9iamVjdHxvY3Rl
dHxzZXF1ZW5jZXxzZXR0ZXJ8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkk
JzsKK215ICRuZXh0SW50ZXJmYWNlTWVtYmVyXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmlu
Z3xVU1ZTdHJpbmd8YW55fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8ZGVsZXRlcnxkb3VibGV8Zmxv
YXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5
fHNlcXVlbmNlfHNldHRlcnxzaG9ydHxzeW1ib2x8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNp
Z25lZCkkJzsKK215ICRuZXh0T3BlcmF0aW9uXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmlu
Z3xVU1ZTdHJpbmd8YW55fGJvb2xlYW58Ynl0ZXxkZWxldGVyfGRvdWJsZXxmbG9hdHxnZXR0ZXJ8
bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNldHRlcnxzaG9ydHxzeW1i
b2x8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKIG15ICRuZXh0VW5yZXN0cmlj
dGVkRmxvYXRUeXBlXzEgPSAnXihkb3VibGV8ZmxvYXQpJCc7CiBteSAkbmV4dEV4dGVuZGVkQXR0
cmlidXRlUmVzdDNfMSA9ICdeKFwsfFxdKSQnOwotbXkgJG5leHRFeGNlcHRpb25GaWVsZF8xID0g
J14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0
ZXxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVk
fHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKLW15ICRuZXh0VHlwZV8xID0gJ14oQnl0ZVN0cmlu
Z3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8
bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1
bnNpZ25lZCkkJzsKK215ICRuZXh0RXhjZXB0aW9uRmllbGRfMSA9ICdeKFwofEJ5dGVTdHJpbmd8
RE9NU3RyaW5nfFVTVlN0cmluZ3xhbnl8Ym9vbGVhbnxieXRlfGRvdWJsZXxmbG9hdHxsb25nfG9i
amVjdHxvY3RldHxzZXF1ZW5jZXxzaG9ydHxzeW1ib2x8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1
bnNpZ25lZCkkJzsKK215ICRuZXh0VHlwZV8xID0gJ14oQnl0ZVN0cmluZ3xET01TdHJpbmd8VVNW
U3RyaW5nfGFueXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNl
cXVlbmNlfHNob3J0fHN5bWJvbHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwog
bXkgJG5leHRTcGVjaWFsc18xID0gJ14oZGVsZXRlcnxnZXR0ZXJ8bGVnYWN5Y2FsbGVyfHNldHRl
cikkJzsKLW15ICRuZXh0RGVmaW5pdGlvbnNfMSA9ICdeKGNhbGxiYWNrfGRpY3Rpb25hcnl8ZW51
bXxleGNlcHRpb258aW50ZXJmYWNlfHBhcnRpYWx8dHlwZWRlZikkJzsKLW15ICRuZXh0RXhjZXB0
aW9uTWVtYmVyc18xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8
XFt8YW55fGJvb2xlYW58Ynl0ZXxjb25zdHxkb3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0ZXR8
b3B0aW9uYWx8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkk
JzsKLW15ICRuZXh0SW50ZXJmYWNlTWVtYmVyc18xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJp
bmd8VVNWU3RyaW5nfERhdGV8YW55fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8Y29uc3R8Y29uc3Ry
dWN0b3J8ZGVsZXRlcnxkb3VibGV8ZmxvYXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxv
bmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5fHNlcXVlbmNlfHNlcmlhbGl6ZXJ8c2V0dGVyfHNob3J0
fHN0YXRpY3xzdHJpbmdpZmllcnx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOwot
bXkgJG5leHRTaW5nbGVUeXBlXzEgPSAnXihCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8
RGF0ZXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHNlcXVlbmNl
fHNob3J0fHVuZGVmaW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7Ci1teSAkbmV4dEFyZ3Vt
ZW50TmFtZV8xID0gJ14oYXR0cmlidXRlfGNhbGxiYWNrfGNvbnN0fGRlbGV0ZXJ8ZGljdGlvbmFy
eXxlbnVtfGV4Y2VwdGlvbnxnZXR0ZXJ8aW1wbGVtZW50c3xpbmhlcml0fGludGVyZmFjZXxsZWdh
Y3ljYWxsZXJ8cGFydGlhbHxzZXJpYWxpemVyfHNldHRlcnxzdGF0aWN8c3RyaW5naWZpZXJ8dHlw
ZWRlZnx1bmRlZmluZWR8dW5yZXN0cmljdGVkKSQnOworbXkgJG5leHREZWZpbml0aW9uc18xID0g
J14oY2FsbGJhY2t8ZGljdGlvbmFyeXxlbnVtfGV4Y2VwdGlvbnxpbnRlcmZhY2V8bmFtZXNwYWNl
fHBhcnRpYWx8dHlwZWRlZikkJzsKK215ICRuZXh0RXhjZXB0aW9uTWVtYmVyc18xID0gJ14oXCh8
Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfFxbfGFueXxib29sZWFufGJ5dGV8Y29uc3R8
ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fG9wdGlvbmFsfHNlcXVlbmNlfHNob3J0fHN5
bWJvbHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5leHRJbnRlcmZh
Y2VNZW1iZXJzXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8YW55fGF0
dHJpYnV0ZXxib29sZWFufGJ5dGV8Y29uc3R8Y29uc3RydWN0b3J8ZGVsZXRlcnxkb3VibGV8Zmxv
YXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5
fHNlcXVlbmNlfHNlcmlhbGl6ZXJ8c2V0dGVyfHNob3J0fHN0YXRpY3xzdHJpbmdpZmllcnxzeW1i
b2x8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0TmFtZXNwYWNl
TWVtYmVyc18xID0gJ14oXCh8Qnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfGFueXxib29s
ZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRvbmx5fHNlcXVlbmNl
fHNob3J0fHN5bWJvbHx1bmRlZmluZWR8dW5yZXN0cmljdGVkfHVuc2lnbmVkKSQnOworbXkgJG5l
eHRQYXJ0aWFsSW50ZXJmYWNlTWVtYmVyXzEgPSAnXihcKHxCeXRlU3RyaW5nfERPTVN0cmluZ3xV
U1ZTdHJpbmd8YW55fGF0dHJpYnV0ZXxib29sZWFufGJ5dGV8Y29uc3R8ZGVsZXRlcnxkb3VibGV8
ZmxvYXR8Z2V0dGVyfGluaGVyaXR8bGVnYWN5Y2FsbGVyfGxvbmd8b2JqZWN0fG9jdGV0fHJlYWRv
bmx5fHNlcXVlbmNlfHNlcmlhbGl6ZXJ8c2V0dGVyfHNob3J0fHN0YXRpY3xzdHJpbmdpZmllcnxz
eW1ib2x8dW5kZWZpbmVkfHVucmVzdHJpY3RlZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0U2luZ2xl
VHlwZV8xID0gJ14oQnl0ZVN0cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfGJvb2xlYW58Ynl0ZXxk
b3VibGV8ZmxvYXR8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8c3ltYm9sfHVuZGVm
aW5lZHx1bnJlc3RyaWN0ZWR8dW5zaWduZWQpJCc7CitteSAkbmV4dEFyZ3VtZW50TmFtZV8xID0g
J14oYXN5bmN8YXR0cmlidXRlfGNhbGxiYWNrfGNvbnN0fGNvbnN0cnVjdG9yfGRlbGV0ZXJ8ZGlj
dGlvbmFyeXxlbnVtfGdldHRlcnxpbmNsdWRlc3xpbmhlcml0fGludGVyZmFjZXxpdGVyYWJsZXxt
YXBsaWtlfG1peGlufG5hbWVzcGFjZXxwYXJ0aWFsfHJlYWRvbmx5fHJlcXVpcmVkfHNldGxpa2V8
c2V0dGVyfHN0YXRpY3xzdHJpbmdpZmllcnx0eXBlZGVmfHVucmVzdHJpY3RlZCkkJzsKIG15ICRu
ZXh0Q29uc3RWYWx1ZV8xID0gJ14oZmFsc2V8dHJ1ZSkkJzsKIG15ICRuZXh0Q29uc3RWYWx1ZV8y
ID0gJ14oLXxJbmZpbml0eXxOYU4pJCc7Ci1teSAkbmV4dERlZmluaXRpb25fMSA9ICdeKGNhbGxi
YWNrfGludGVyZmFjZSkkJzsKLW15ICRuZXh0T3BlcmF0aW9uUmVzdF8xID0gJ14oXCh8Qnl0ZVN0
cmluZ3xET01TdHJpbmd8VVNWU3RyaW5nfERhdGV8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8Zmxv
YXR8bG9uZ3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8dW5kZWZpbmVkfHVucmVzdHJpY3Rl
ZHx1bnNpZ25lZCkkJzsKK215ICRuZXh0Q2FsbGJhY2tPckludGVyZmFjZSA9ICdeKGNhbGxiYWNr
fGludGVyZmFjZSkkJzsKK215ICRuZXh0T3BlcmF0aW9uUmVzdF8xID0gJ14oXCh8Qnl0ZVN0cmlu
Z3xET01TdHJpbmd8VVNWU3RyaW5nfGFueXxib29sZWFufGJ5dGV8ZG91YmxlfGZsb2F0fGxvbmd8
b2JqZWN0fG9jdGV0fHNlcXVlbmNlfHNob3J0fHN5bWJvbHx1bmRlZmluZWR8dW5yZXN0cmljdGVk
fHVuc2lnbmVkKSQnOworbXkgJG5leHRSZWd1bGFyT3BlcmF0aW9uXzEgPSAnXihcKHxCeXRlU3Ry
aW5nfERPTVN0cmluZ3xVU1ZTdHJpbmd8YW55fGJvb2xlYW58Ynl0ZXxkb3VibGV8ZmxvYXR8bG9u
Z3xvYmplY3R8b2N0ZXR8c2VxdWVuY2V8c2hvcnR8c3ltYm9sfHVuZGVmaW5lZHx1bnJlc3RyaWN0
ZWR8dW5zaWduZWQpJCc7CiBteSAkbmV4dFVuc2lnbmVkSW50ZWdlclR5cGVfMSA9ICdeKGxvbmd8
c2hvcnQpJCc7CiBteSAkbmV4dERlZmF1bHRWYWx1ZV8xID0gJ14oLXxJbmZpbml0eXxOYU58ZmFs
c2V8bnVsbHx0cnVlKSQnOwogCkBAIC02ODUsNiArNzE4LDE3IEBAIHN1YiBhcHBseVR5cGVkZWZz
CiAgICAgICAgICAgICAgICAgICAgICRzZWxmLT5hcHBseVR5cGVkZWZzVG9PcGVyYXRpb24oJG9w
ZXJhdGlvbik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQorICAgICAgICAgICAg
aWYgKCRkZWZpbml0aW9uLT5hc3luY0l0ZXJhYmxlKSB7CisgICAgICAgICAgICAgICAgaWYgKCRk
ZWZpbml0aW9uLT5hc3luY0l0ZXJhYmxlLT5rZXlUeXBlKSB7CisgICAgICAgICAgICAgICAgICAg
ICRkZWZpbml0aW9uLT5hc3luY0l0ZXJhYmxlLT5rZXlUeXBlKCRzZWxmLT50eXBlQnlBcHBseWlu
Z1R5cGVkZWZzKCRkZWZpbml0aW9uLT5hc3luY0l0ZXJhYmxlLT5rZXlUeXBlKSk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgkZGVmaW5pdGlvbi0+YXN5bmNJdGVyYWJs
ZS0+dmFsdWVUeXBlKSB7CisgICAgICAgICAgICAgICAgICAgICRkZWZpbml0aW9uLT5hc3luY0l0
ZXJhYmxlLT52YWx1ZVR5cGUoJHNlbGYtPnR5cGVCeUFwcGx5aW5nVHlwZWRlZnMoJGRlZmluaXRp
b24tPmFzeW5jSXRlcmFibGUtPnZhbHVlVHlwZSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICBmb3JlYWNoIG15ICRhcmd1bWVudCAoQHskZGVmaW5pdGlvbi0+YXN5bmNJdGVy
YWJsZS0+YXJndW1lbnRzfSkgeworICAgICAgICAgICAgICAgICAgICAkYXJndW1lbnQtPnR5cGUo
JHNlbGYtPnR5cGVCeUFwcGx5aW5nVHlwZWRlZnMoJGFyZ3VtZW50LT50eXBlKSk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCRkZWZpbml0aW9uLT5t
YXBMaWtlKSB7CiAgICAgICAgICAgICAgICAgaWYgKCRkZWZpbml0aW9uLT5tYXBMaWtlLT5rZXlU
eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgICRkZWZpbml0aW9uLT5tYXBMaWtlLT5rZXlUeXBl
KCRzZWxmLT50eXBlQnlBcHBseWluZ1R5cGVkZWZzKCRkZWZpbml0aW9uLT5tYXBMaWtlLT5rZXlU
eXBlKSk7CkBAIC03MTYsNiArNzYwLDEzIEBAIHN1YiBhcHBseVR5cGVkZWZzCiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0gZWxzaWYgKHJlZigkZGVmaW5pdGlvbikgZXEgIklETENhbGxiYWNrRnVu
Y3Rpb24iKSB7CiAgICAgICAgICAgICAkc2VsZi0+YXBwbHlUeXBlZGVmc1RvT3BlcmF0aW9uKCRk
ZWZpbml0aW9uLT5vcGVyYXRpb24pOworICAgICAgICB9IGVsc2lmIChyZWYoJGRlZmluaXRpb24p
IGVxICJJRExOYW1lc3BhY2UiKSB7CisgICAgICAgICAgICBmb3JlYWNoIG15ICRvcGVyYXRpb24g
KEB7JGRlZmluaXRpb24tPm9wZXJhdGlvbnN9KSB7CisgICAgICAgICAgICAgICAgJHNlbGYtPmFw
cGx5VHlwZWRlZnNUb09wZXJhdGlvbigkb3BlcmF0aW9uKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQHskZGVmaW5pdGlvbi0+YXR0cmlidXRlc30p
IHsKKyAgICAgICAgICAgICAgICAkYXR0cmlidXRlLT50eXBlKCRzZWxmLT50eXBlQnlBcHBseWlu
Z1R5cGVkZWZzKCRhdHRyaWJ1dGUtPnR5cGUpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KIH0KQEAgLTc3MSw4ICs4MjIsMTEgQEAgc3ViIHBhcnNlRGVmaW5pdGlvbgogICAgIG15
ICRleHRlbmRlZEF0dHJpYnV0ZUxpc3QgPSBzaGlmdDsKIAogICAgIG15ICRuZXh0ID0gJHNlbGYt
Pm5leHRUb2tlbigpOwotICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHREZWZpbml0aW9u
XzEvKSB7Ci0gICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VDYWxsYmFja09ySW50ZXJmYWNlKCRl
eHRlbmRlZEF0dHJpYnV0ZUxpc3QpOworICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRD
YWxsYmFja09ySW50ZXJmYWNlLykgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlQ2FsbGJh
Y2tPckludGVyZmFjZU9yTWl4aW4oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgfQorICAg
IGlmICgkbmV4dC0+dmFsdWUoKSBlcSAibmFtZXNwYWNlIikgeworICAgICAgICByZXR1cm4gJHNl
bGYtPnBhcnNlTmFtZXNwYWNlKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KICAgICBp
ZiAoJG5leHQtPnZhbHVlKCkgZXEgInBhcnRpYWwiKSB7CiAgICAgICAgIHJldHVybiAkc2VsZi0+
cGFyc2VQYXJ0aWFsKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwpAQCAtNzgwLDIyICs4MzQsMjUg
QEAgc3ViIHBhcnNlRGVmaW5pdGlvbgogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiZGljdGlv
bmFyeSIpIHsKICAgICAgICAgcmV0dXJuICRzZWxmLT5wYXJzZURpY3Rpb25hcnkoJGV4dGVuZGVk
QXR0cmlidXRlTGlzdCk7CiAgICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiZXhjZXB0
aW9uIikgewotICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlRXhjZXB0aW9uKCRleHRlbmRlZEF0
dHJpYnV0ZUxpc3QpOwotICAgIH0KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImVudW0iKSB7
CiAgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VFbnVtKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3Qp
OwogICAgIH0KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInR5cGVkZWYiKSB7CiAgICAgICAg
IHJldHVybiAkc2VsZi0+cGFyc2VUeXBlZGVmKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAg
IH0KKworICAgICMgRklYTUU6IFJlbW92ZSBzdXBwb3J0IGZvciBleGNlcHRpb24sIGl0IGlzIG5v
dCBwYXJ0IG9mIFdlYklETCBhbnltb3JlLgorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiZXhj
ZXB0aW9uIikgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlRXhjZXB0aW9uKCRleHRlbmRl
ZEF0dHJpYnV0ZUxpc3QpOworICAgIH0KKwogICAgIGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50
aWZpZXJUb2tlbikgewotICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlSW1wbGVtZW50c1N0YXRl
bWVudCgkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICAgICAgcmV0dXJuICRzZWxmLT5wYXJz
ZUluY2x1ZGVzU3RhdGVtZW50KCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KICAgICAk
c2VsZi0+YXNzZXJ0VW5leHBlY3RlZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7CiB9
CiAKLXN1YiBwYXJzZUNhbGxiYWNrT3JJbnRlcmZhY2UKK3N1YiBwYXJzZUNhbGxiYWNrT3JJbnRl
cmZhY2VPck1peGluCiB7CiAgICAgbXkgJHNlbGYgPSBzaGlmdDsKICAgICBteSAkZXh0ZW5kZWRB
dHRyaWJ1dGVMaXN0ID0gc2hpZnQ7CkBAIC04MDYsNyArODYzLDggQEAgc3ViIHBhcnNlQ2FsbGJh
Y2tPckludGVyZmFjZQogICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlQ2FsbGJhY2tSZXN0T3JJ
bnRlcmZhY2UoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAgICAgfQogICAgIGlmICgkbmV4dC0+
dmFsdWUoKSBlcSAiaW50ZXJmYWNlIikgewotICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlSW50
ZXJmYWNlKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9r
ZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgImludGVyZmFjZSIsIF9fTElORV9fKTsKKyAgICAg
ICAgcmV0dXJuICRzZWxmLT5wYXJzZUludGVyZmFjZU9yTWl4aW4oJGV4dGVuZGVkQXR0cmlidXRl
TGlzdCk7CiAgICAgfQogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZh
bHVlKCksIF9fTElORV9fKTsKIH0KQEAgLTgxOCw2ICs4NzYsNyBAQCBzdWIgcGFyc2VDYWxsYmFj
a1Jlc3RPckludGVyZmFjZQogCiAgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CiAg
ICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJpbnRlcmZhY2UiKSB7CisgICAgICAgICRzZWxmLT5h
c3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiaW50ZXJmYWNlIiwgX19MSU5FX18p
OwogICAgICAgICBteSAkaW50ZXJmYWNlID0gJHNlbGYtPnBhcnNlSW50ZXJmYWNlKCRleHRlbmRl
ZEF0dHJpYnV0ZUxpc3QpOwogICAgICAgICAkaW50ZXJmYWNlLT5pc0NhbGxiYWNrKDEpOwogICAg
ICAgICByZXR1cm4gJGludGVyZmFjZTsKQEAgLTgyOCwxNSArODg3LDMwIEBAIHN1YiBwYXJzZUNh
bGxiYWNrUmVzdE9ySW50ZXJmYWNlCiAgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigk
bmV4dC0+dmFsdWUoKSwgX19MSU5FX18pOwogfQogCitzdWIgcGFyc2VJbnRlcmZhY2VPck1peGlu
Cit7CisgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0
ID0gc2hpZnQ7CisKKyAgICBteSAkbmV4dCA9ICRzZWxmLT5uZXh0VG9rZW4oKTsKKyAgICBpZiAo
JG5leHQtPnZhbHVlKCkgZXEgIm1peGluIikgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNl
TWl4aW4oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgfQorICAgIGlmICgkbmV4dC0+dHlw
ZSgpID09IElkZW50aWZpZXJUb2tlbikgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlSW50
ZXJmYWNlKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOworICAgIH0KKyAgICAkc2VsZi0+YXNzZXJ0
VW5leHBlY3RlZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7Cit9CisKIHN1YiBwYXJz
ZUludGVyZmFjZQogewogICAgIG15ICRzZWxmID0gc2hpZnQ7CiAgICAgbXkgJGV4dGVuZGVkQXR0
cmlidXRlTGlzdCA9IHNoaWZ0OwogCiAgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7
Ci0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJpbnRlcmZhY2UiKSB7CisgICAgaWYgKCRuZXh0
LT50eXBlKCkgPT0gSWRlbnRpZmllclRva2VuKSB7CiAgICAgICAgIG15ICRpbnRlcmZhY2UgPSBJ
RExJbnRlcmZhY2UtPm5ldygpOwotICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2Vs
Zi0+Z2V0VG9rZW4oKSwgImludGVyZmFjZSIsIF9fTElORV9fKTsKKwogICAgICAgICBteSAkaW50
ZXJmYWNlTmFtZVRva2VuID0gJHNlbGYtPmdldFRva2VuKCk7CiAgICAgICAgICRzZWxmLT5hc3Nl
cnRUb2tlblR5cGUoJGludGVyZmFjZU5hbWVUb2tlbiwgSWRlbnRpZmllclRva2VuKTsKICAgICAg
ICAgCkBAIC04NjMsNiArOTM3LDkyIEBAIHN1YiBwYXJzZUludGVyZmFjZQogICAgICRzZWxmLT5h
c3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKIH0KIAorc3Vi
IHBhcnNlTmFtZXNwYWNlCit7CisgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAgICBteSAkZXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0ID0gc2hpZnQ7CisKKyAgICBteSAkbmV4dCA9ICRzZWxmLT5uZXh0VG9r
ZW4oKTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgIm5hbWVzcGFjZSIpIHsKKyAgICAgICAg
JHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJuYW1lc3BhY2UiLCBf
X0xJTkVfXyk7CisKKyAgICAgICAgbXkgJG5hbWVzcGFjZSA9IElETE5hbWVzcGFjZS0+bmV3KCk7
CisKKyAgICAgICAgbXkgJG5hbWVzcGFjZU5hbWVUb2tlbiA9ICRzZWxmLT5nZXRUb2tlbigpOwor
ICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5UeXBlKCRuYW1lc3BhY2VOYW1lVG9rZW4sIElkZW50
aWZpZXJUb2tlbik7CisgICAgICAgIAorICAgICAgICBteSAkbmFtZSA9IGlkZW50aWZpZXJSZW1v
dmVOdWxsYWJsZVByZWZpeCgkbmFtZXNwYWNlTmFtZVRva2VuLT52YWx1ZSgpKTsKKyAgICAgICAg
JG5hbWVzcGFjZS0+bmFtZSgkbmFtZSk7CisKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFs
dWUoJHNlbGYtPmdldFRva2VuKCksICJ7IiwgX19MSU5FX18pOworICAgICAgICBteSAkbmFtZXNw
YWNlTWVtYmVycyA9ICRzZWxmLT5wYXJzZU5hbWVzcGFjZU1lbWJlcnMoKTsKKyAgICAgICAgJHNl
bGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJ9IiwgX19MSU5FX18pOwor
ICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIjsiLCBf
X0xJTkVfXyk7CisgICAgICAgIAorICAgICAgICBmb3IgbXkgJG5hbWVzcGFjZU1lbWJlciAoQHsk
bmFtZXNwYWNlTWVtYmVyc30pIHsKKyAgICAgICAgICAgIGlmIChyZWYoJG5hbWVzcGFjZU1lbWJl
cikgZXEgIklETEF0dHJpYnV0ZSIpIHsKKyAgICAgICAgICAgICAgICBwdXNoKEB7JG5hbWVzcGFj
ZS0+YXR0cmlidXRlc30sICRuYW1lc3BhY2VNZW1iZXIpOworICAgICAgICAgICAgICAgIG5leHQ7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAocmVmKCRuYW1lc3BhY2VNZW1iZXIpIGVx
ICJJRExPcGVyYXRpb24iKSB7CisgICAgICAgICAgICAgICAgcHVzaChAeyRuYW1lc3BhY2UtPm9w
ZXJhdGlvbnN9LCAkbmFtZXNwYWNlTWVtYmVyKTsKKyAgICAgICAgICAgICAgICBuZXh0OworICAg
ICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgJHNlbGYtPmFzc2VydEV4dGVuZGVkQXR0
cmlidXRlc1ZhbGlkRm9yQ29udGV4dCgkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0LCAibmFtZXNwYWNl
Iik7CisgICAgICAgICRuYW1lc3BhY2UtPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0KTsKKworICAgICAgICBkaWUgIiduYW1lc3BhY2UnIGRlZmluaXRpb25zIGFyZSBu
b3QgY3VycmVudGx5IHN1cHBvcnRlZCBieSB0aGUgY29kZSBnZW5lcmF0b3JzLiI7CisKKyAgICAg
ICAgcmV0dXJuICRuYW1lc3BhY2U7CisgICAgfQorICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVk
VG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKKworfQorCitzdWIgcGFyc2VOYW1lc3Bh
Y2VNZW1iZXJzCit7CisgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAgICBteSBAbmFtZXNwYWNlTWVt
YmVycyA9ICgpOworCisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgbXkgJGV4dGVuZGVkQXR0cmli
dXRlTGlzdCA9ICRzZWxmLT5wYXJzZUV4dGVuZGVkQXR0cmlidXRlTGlzdEFsbG93RW1wdHkoKTsK
KyAgICAgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CisgICAgICAgIG15ICRuYW1l
c3BhY2VNZW1iZXI7CisKKyAgICAgICAgaWYgKCRuZXh0LT50eXBlKCkgPT0gSWRlbnRpZmllclRv
a2VuIHx8ICRuZXh0LT52YWx1ZSgpID1+IC8kbmV4dE5hbWVzcGFjZU1lbWJlcnNfMS8pIHsKKyAg
ICAgICAgICAgICRuYW1lc3BhY2VNZW1iZXIgPSAkc2VsZi0+cGFyc2VOYW1lc3BhY2VNZW1iZXIo
JGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBs
YXN0OworICAgICAgICB9CisgICAgICAgIGlmIChkZWZpbmVkICRuYW1lc3BhY2VNZW1iZXIpIHsK
KyAgICAgICAgICAgIHB1c2goQG5hbWVzcGFjZU1lbWJlcnMsICRuYW1lc3BhY2VNZW1iZXIpOwor
ICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBcQG5hbWVzcGFjZU1lbWJlcnM7Cit9CisKK3N1
YiBwYXJzZU5hbWVzcGFjZU1lbWJlcgoreworICAgIG15ICRzZWxmID0gc2hpZnQ7CisgICAgbXkg
JGV4dGVuZGVkQXR0cmlidXRlTGlzdCA9IHNoaWZ0OworCisgICAgbXkgJG5leHQgPSAkc2VsZi0+
bmV4dFRva2VuKCk7CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJyZWFkb25seSIpIHsKKyAg
ICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJyZWFkb25s
eSIsIF9fTElORV9fKTsKKyAgICAgICAgbXkgJGF0dHJpYnV0ZSA9ICRzZWxmLT5wYXJzZUF0dHJp
YnV0ZVJlc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgICAgICRhdHRyaWJ1dGUtPmlz
UmVhZE9ubHkoMSk7CisgICAgICAgIHJldHVybiAkYXR0cmlidXRlOworICAgIH0KKyAgICBpZiAo
JG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRu
ZXh0UmVndWxhck9wZXJhdGlvbl8xLykgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlUmVn
dWxhck9wZXJhdGlvbigkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICB9CisKKyAgICAkc2Vs
Zi0+YXNzZXJ0VW5leHBlY3RlZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7Cit9CisK
Kwogc3ViIHBhcnNlUGFydGlhbAogewogICAgIG15ICRzZWxmID0gc2hpZnQ7CkBAIC04ODMsMTQg
KzEwNDMsNjQgQEAgc3ViIHBhcnNlUGFydGlhbERlZmluaXRpb24KIAogICAgIG15ICRuZXh0ID0g
JHNlbGYtPm5leHRUb2tlbigpOwogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiaW50ZXJmYWNl
IikgewotICAgICAgICBteSAkaW50ZXJmYWNlID0gJHNlbGYtPnBhcnNlSW50ZXJmYWNlKCRleHRl
bmRlZEF0dHJpYnV0ZUxpc3QpOwotICAgICAgICAkaW50ZXJmYWNlLT5pc1BhcnRpYWwoMSk7Ci0g
ICAgICAgIHJldHVybiAkaW50ZXJmYWNlOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1
ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgImludGVyZmFjZSIsIF9fTElORV9fKTsKKyAgICAgICAgcmV0
dXJuICRzZWxmLT5wYXJzZVBhcnRpYWxJbnRlcmZhY2VPclBhcnRpYWxNaXhpbigkZXh0ZW5kZWRB
dHRyaWJ1dGVMaXN0KTsKICAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJkaWN0aW9u
YXJ5IikgewotICAgICAgICBteSAkZGljdGlvbmFyeSA9ICRzZWxmLT5wYXJzZURpY3Rpb25hcnko
JGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Ci0gICAgICAgICRkaWN0aW9uYXJ5LT5pc1BhcnRpYWwo
MSk7Ci0gICAgICAgIHJldHVybiAkZGljdGlvbmFyeTsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRv
a2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJkaWN0aW9uYXJ5IiwgX19MSU5FX18pOworICAg
ICAgICByZXR1cm4gJHNlbGYtPnBhcnNlUGFydGlhbERpY3Rpb25hcnkoJGV4dGVuZGVkQXR0cmli
dXRlTGlzdCk7CisgICAgfQorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAibmFtZXNwYWNlIikg
eworICAgICAgICBteSAkbmFtZXNwYWNlID0gJHNlbGYtPnBhcnNlTmFtZXNwYWNlKCRleHRlbmRl
ZEF0dHJpYnV0ZUxpc3QpOworICAgICAgICAkbmFtZXNwYWNlLT5pc1BhcnRpYWwoMSk7CisgICAg
ICAgIHJldHVybiAkbmFtZXNwYWNlOworICAgIH0KKyAgICAkc2VsZi0+YXNzZXJ0VW5leHBlY3Rl
ZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7Cit9CisKK3N1YiBwYXJzZVBhcnRpYWxJ
bnRlcmZhY2VPclBhcnRpYWxNaXhpbgoreworICAgIG15ICRzZWxmID0gc2hpZnQ7CisgICAgbXkg
JGV4dGVuZGVkQXR0cmlidXRlTGlzdCA9IHNoaWZ0OworCisgICAgbXkgJG5leHQgPSAkc2VsZi0+
bmV4dFRva2VuKCk7CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJtaXhpbiIpIHsKKyAgICAg
ICAgbXkgJG1peGluID0gJHNlbGYtPnBhcnNlTWl4aW4oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7
CisgICAgICAgICRtaXhpbi0+aXNQYXJ0aWFsKDEpOworICAgICAgICByZXR1cm4gJG1peGluOwor
ICAgIH0KKyAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4pIHsKKyAgICAg
ICAgcmV0dXJuICRzZWxmLT5wYXJzZVBhcnRpYWxJbnRlcmZhY2UoJGV4dGVuZGVkQXR0cmlidXRl
TGlzdCk7CisgICAgfQorICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZh
bHVlKCksIF9fTElORV9fKTsKK30KKworc3ViIHBhcnNlUGFydGlhbEludGVyZmFjZQoreworICAg
IG15ICRzZWxmID0gc2hpZnQ7CisgICAgbXkgJGV4dGVuZGVkQXR0cmlidXRlTGlzdCA9IHNoaWZ0
OworCisgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CisgICAgaWYgKCRuZXh0LT50
eXBlKCkgPT0gSWRlbnRpZmllclRva2VuKSB7CisgICAgICAgIG15ICRpbnRlcmZhY2UgPSBJRExJ
bnRlcmZhY2UtPm5ldygpOworICAgICAgICAkaW50ZXJmYWNlLT5pc1BhcnRpYWwoMSk7CisKKyAg
ICAgICAgbXkgJGludGVyZmFjZU5hbWVUb2tlbiA9ICRzZWxmLT5nZXRUb2tlbigpOworICAgICAg
ICAkc2VsZi0+YXNzZXJ0VG9rZW5UeXBlKCRpbnRlcmZhY2VOYW1lVG9rZW4sIElkZW50aWZpZXJU
b2tlbik7CisKKyAgICAgICAgbXkgJG5hbWUgPSBpZGVudGlmaWVyUmVtb3ZlTnVsbGFibGVQcmVm
aXgoJGludGVyZmFjZU5hbWVUb2tlbi0+dmFsdWUoKSk7CisgICAgICAgICRpbnRlcmZhY2UtPnR5
cGUobWFrZVNpbXBsZVR5cGUoJG5hbWUpKTsKKworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5W
YWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgInsiLCBfX0xJTkVfXyk7CisgICAgICAgIG15ICRwYXJ0
aWFsSW50ZXJmYWNlTWVtYmVycyA9ICRzZWxmLT5wYXJzZVBhcnRpYWxJbnRlcmZhY2VNZW1iZXJz
KCk7CisgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAi
fSIsIF9fTElORV9fKTsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdl
dFRva2VuKCksICI7IiwgX19MSU5FX18pOworICAgICAgICBhcHBseU1lbWJlckxpc3QoJGludGVy
ZmFjZSwgJHBhcnRpYWxJbnRlcmZhY2VNZW1iZXJzKTsKKworICAgICAgICAkc2VsZi0+YXNzZXJ0
RXh0ZW5kZWRBdHRyaWJ1dGVzVmFsaWRGb3JDb250ZXh0KCRleHRlbmRlZEF0dHJpYnV0ZUxpc3Qs
ICJpbnRlcmZhY2UiKTsKKyAgICAgICAgYXBwbHlFeHRlbmRlZEF0dHJpYnV0ZUxpc3QoJGludGVy
ZmFjZSwgJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisKKyAgICAgICAgcmV0dXJuICRpbnRlcmZh
Y2U7CiAgICAgfQogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVl
KCksIF9fTElORV9fKTsKIH0KQEAgLTkxNyw0NyArMTEyNywxMjIgQEAgc3ViIHBhcnNlSW50ZXJm
YWNlTWVtYmVycwogICAgIHJldHVybiBcQGludGVyZmFjZU1lbWJlcnM7CiB9CiAKLXN1YiBwYXJz
ZUludGVyZmFjZU1lbWJlcgorc3ViIHBhcnNlUGFydGlhbEludGVyZmFjZU1lbWJlcnMKK3sKKyAg
ICBteSAkc2VsZiA9IHNoaWZ0OworICAgIG15IEBpbnRlcmZhY2VNZW1iZXJzID0gKCk7CisKKyAg
ICB3aGlsZSAoMSkgeworICAgICAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0ID0gJHNlbGYt
PnBhcnNlRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0QWxsb3dFbXB0eSgpOworICAgICAgICBteSAkbmV4
dCA9ICRzZWxmLT5uZXh0VG9rZW4oKTsKKyAgICAgICAgbXkgJGludGVyZmFjZU1lbWJlcjsKKwor
ICAgICAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZh
bHVlKCkgPX4gLyRuZXh0UGFydGlhbEludGVyZmFjZU1lbWJlcl8xLykgeworICAgICAgICAgICAg
JGludGVyZmFjZU1lbWJlciA9ICRzZWxmLT5wYXJzZVBhcnRpYWxJbnRlcmZhY2VNZW1iZXIoJGV4
dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBsYXN0
OworICAgICAgICB9CisgICAgICAgIGlmIChkZWZpbmVkICRpbnRlcmZhY2VNZW1iZXIpIHsKKyAg
ICAgICAgICAgIHB1c2goQGludGVyZmFjZU1lbWJlcnMsICRpbnRlcmZhY2VNZW1iZXIpOworICAg
ICAgICB9CisgICAgfQorICAgIHJldHVybiBcQGludGVyZmFjZU1lbWJlcnM7Cit9CisKK3N1YiBw
YXJzZVBhcnRpYWxJbnRlcmZhY2VNZW1iZXIKIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAg
IG15ICRleHRlbmRlZEF0dHJpYnV0ZUxpc3QgPSBzaGlmdDsKIAogICAgIG15ICRuZXh0ID0gJHNl
bGYtPm5leHRUb2tlbigpOwotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiY29uc3RydWN0b3Ii
KSB7Ci0gICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VDb25zdHJ1Y3RvcigkZXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0KTsKLSAgICB9CiAKICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImNvbnN0Iikg
ewogICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlQ29uc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlz
dCk7CiAgICAgfQotCi0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJzZXJpYWxpemVyIikgewot
ICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlU2VyaWFsaXplcigkZXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0KTsKLSAgICB9Ci0KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInN0cmluZ2lmaWVyIikg
ewogICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlU3RyaW5naWZpZXIoJGV4dGVuZGVkQXR0cmli
dXRlTGlzdCk7CiAgICAgfQotCiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJzdGF0aWMiKSB7
CiAgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VTdGF0aWNNZW1iZXIoJGV4dGVuZGVkQXR0cmli
dXRlTGlzdCk7CiAgICAgfQotCiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJpdGVyYWJsZSIp
IHsKICAgICAgICAgcmV0dXJuICRzZWxmLT5wYXJzZUl0ZXJhYmxlUmVzdCgkZXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0KTsKICAgICB9Ci0KKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImFzeW5jIikg
eworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlQXN5bmNJdGVyYWJsZSgkZXh0ZW5kZWRBdHRy
aWJ1dGVMaXN0KTsKKyAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJyZWFkb25seSIp
IHsKICAgICAgICAgcmV0dXJuICRzZWxmLT5wYXJzZVJlYWRPbmx5TWVtYmVyKCRleHRlbmRlZEF0
dHJpYnV0ZUxpc3QpOwogICAgIH0KKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImF0dHJpYnV0
ZSIpIHsKKyAgICAgICAgcmV0dXJuICRzZWxmLT5wYXJzZUF0dHJpYnV0ZVJlc3QoJGV4dGVuZGVk
QXR0cmlidXRlTGlzdCk7CisgICAgfQorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAibWFwbGlr
ZSIpIHsKKyAgICAgICAgcmV0dXJuICRzZWxmLT5wYXJzZU1hcExpa2VSZXN0KCRleHRlbmRlZEF0
dHJpYnV0ZUxpc3QsIDApOworICAgIH0KKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInNldGxp
a2UiKSB7CisgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VTZXRMaWtlUmVzdCgkZXh0ZW5kZWRB
dHRyaWJ1dGVMaXN0LCAwKTsKKyAgICB9CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJpbmhl
cml0IikgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlSW5oZXJpdEF0dHJpYnV0ZSgkZXh0
ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICB9CisKKyAgICAjIEZJWE1FOiBSZW1vdmUuIFRoaXMg
aXMgbm8gbG9uZ2VyIHBhcnQgb2YgV2ViSURMLiBSZXBsYWNlIHdpdGggW1NlcmlhbGl6YWJsZV0u
CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJzZXJpYWxpemVyIikgeworICAgICAgICByZXR1
cm4gJHNlbGYtPnBhcnNlU2VyaWFsaXplcigkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0KTsKKyAgICB9
CisKKyAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZh
bHVlKCkgPX4gLyRuZXh0T3BlcmF0aW9uXzEvKSB7CisgICAgICAgIHJldHVybiAkc2VsZi0+cGFy
c2VPcGVyYXRpb24oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgIH0KKworICAgICRzZWxm
LT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKK30KIAot
ICAgIGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbiB8fCAkbmV4dC0+dmFsdWUo
KSA9fiAvJG5leHRJbnRlcmZhY2VNZW1iZXJfMS8pIHsKLSAgICAgICAgcmV0dXJuICRzZWxmLT5w
YXJzZU9wZXJhdGlvbk9yUmVhZFdyaXRlQXR0cmlidXRlT3JNYXBsaWtlKCRleHRlbmRlZEF0dHJp
YnV0ZUxpc3QpOworc3ViIHBhcnNlSW50ZXJmYWNlTWVtYmVyCit7CisgICAgbXkgJHNlbGYgPSBz
aGlmdDsKKyAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0ID0gc2hpZnQ7CisKKyAgICBteSAk
bmV4dCA9ICRzZWxmLT5uZXh0VG9rZW4oKTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImNv
bnN0cnVjdG9yIikgeworICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlQ29uc3RydWN0b3IoJGV4
dGVuZGVkQXR0cmlidXRlTGlzdCk7CisgICAgfQorICAgIGlmICgkbmV4dC0+dHlwZSgpID09IElk
ZW50aWZpZXJUb2tlbiB8fCAkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRQYXJ0aWFsSW50ZXJmYWNl
TWVtYmVyXzEvKSB7CisgICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VQYXJ0aWFsSW50ZXJmYWNl
TWVtYmVyKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KIAogICAgICRzZWxmLT5hc3Nl
cnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKIH0KIAorc3ViIHBh
cnNlUGFydGlhbERpY3Rpb25hcnkKK3sKKyAgICBteSAkc2VsZiA9IHNoaWZ0OworICAgIG15ICRl
eHRlbmRlZEF0dHJpYnV0ZUxpc3QgPSBzaGlmdDsKKworICAgIG15ICRuZXh0ID0gJHNlbGYtPm5l
eHRUb2tlbigpOworICAgIGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbikgewor
ICAgICAgICBteSAkZGljdGlvbmFyeSA9IElETERpY3Rpb25hcnktPm5ldygpOworICAgICAgICAk
ZGljdGlvbmFyeS0+aXNQYXJ0aWFsKDEpOworCisgICAgICAgICRzZWxmLT5hc3NlcnRFeHRlbmRl
ZEF0dHJpYnV0ZXNWYWxpZEZvckNvbnRleHQoJGV4dGVuZGVkQXR0cmlidXRlTGlzdCwgImRpY3Rp
b25hcnkiKTsKKyAgICAgICAgJGRpY3Rpb25hcnktPmV4dGVuZGVkQXR0cmlidXRlcygkZXh0ZW5k
ZWRBdHRyaWJ1dGVMaXN0KTsKKworICAgICAgICBteSAkbmFtZVRva2VuID0gJHNlbGYtPmdldFRv
a2VuKCk7CisgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblR5cGUoJG5hbWVUb2tlbiwgSWRlbnRp
ZmllclRva2VuKTsKKworICAgICAgICBteSAkbmFtZSA9ICRuYW1lVG9rZW4tPnZhbHVlKCk7Cisg
ICAgICAgICRkaWN0aW9uYXJ5LT50eXBlKG1ha2VTaW1wbGVUeXBlKCRuYW1lKSk7CisKKyAgICAg
ICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJ7IiwgX19MSU5F
X18pOworICAgICAgICAkZGljdGlvbmFyeS0+bWVtYmVycygkc2VsZi0+cGFyc2VEaWN0aW9uYXJ5
TWVtYmVycygpKTsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRv
a2VuKCksICJ9IiwgX19MSU5FX18pOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgk
c2VsZi0+Z2V0VG9rZW4oKSwgIjsiLCBfX0xJTkVfXyk7CisgICAgICAgIHJldHVybiAkZGljdGlv
bmFyeTsKKyAgICB9CisgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFs
dWUoKSwgX19MSU5FX18pOworfQorCiBzdWIgcGFyc2VEaWN0aW9uYXJ5CiB7CiAgICAgbXkgJHNl
bGYgPSBzaGlmdDsKQEAgLTEyNjksMTggKzE1NTQsMjYgQEAgc3ViIHBhcnNlVHlwZWRlZgogICAg
ICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsK
IH0KIAotc3ViIHBhcnNlSW1wbGVtZW50c1N0YXRlbWVudAorc3ViIHBhcnNlSW5jbHVkZXNTdGF0
ZW1lbnQKIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIG15ICRleHRlbmRlZEF0dHJpYnV0
ZUxpc3QgPSBzaGlmdDsKIAogICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tlbigpOwogICAg
IGlmICgkbmV4dC0+dHlwZSgpID09IElkZW50aWZpZXJUb2tlbikgewotICAgICAgICAkc2VsZi0+
cGFyc2VOYW1lKCk7Ci0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRU
b2tlbigpLCAiaW1wbGVtZW50cyIsIF9fTElORV9fKTsKLSAgICAgICAgJHNlbGYtPnBhcnNlTmFt
ZSgpOworICAgICAgICBteSAkaW5jbHVkZXNTdGF0ZW1lbnQgPSBJRExJbmNsdWRlc1N0YXRlbWVu
dC0+bmV3KCk7CisgICAgCisgICAgICAgIG15ICRpbnRlcmZhY2VJZGVudGlmaWVyID0gJHNlbGYt
PnBhcnNlTmFtZSgpOworICAgICAgICAkaW5jbHVkZXNTdGF0ZW1lbnQtPmludGVyZmFjZUlkZW50
aWZpZXIoJGludGVyZmFjZUlkZW50aWZpZXIpOworCisgICAgICAgICRzZWxmLT5hc3NlcnRUb2tl
blZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiaW5jbHVkZXMiLCBfX0xJTkVfXyk7CisKKyAgICAg
ICAgbXkgJG1peGluSWRlbnRpZmllciA9ICRzZWxmLT5wYXJzZU5hbWUoKTsKKyAgICAgICAgJGlu
Y2x1ZGVzU3RhdGVtZW50LT5taXhpbklkZW50aWZpZXIoJG1peGluSWRlbnRpZmllcik7CisKICAg
ICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI7IiwgX19M
SU5FX18pOwotICAgICAgICByZXR1cm47CisKKyAgICAgICAgcmV0dXJuICRpbmNsdWRlc1N0YXRl
bWVudDsKICAgICB9CiAgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFs
dWUoKSwgX19MSU5FX18pOwogfQpAQCAtMTM2OSwyNyArMTY2Miw2IEBAIHN1YiBwYXJzZUZsb2F0
TGl0ZXJhbAogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCks
IF9fTElORV9fKTsKIH0KIAotc3ViIHBhcnNlT3BlcmF0aW9uT3JSZWFkV3JpdGVBdHRyaWJ1dGVP
ck1hcGxpa2UKLXsKLSAgICBteSAkc2VsZiA9IHNoaWZ0OwotICAgIG15ICRleHRlbmRlZEF0dHJp
YnV0ZUxpc3QgPSBzaGlmdDsKLQotICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRUb2tlbigpOwot
ICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRBdHRyaWJ1dGVfMS8pIHsKLSAgICAgICAg
cmV0dXJuICRzZWxmLT5wYXJzZVJlYWRXcml0ZUF0dHJpYnV0ZSgkZXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0KTsKLSAgICB9Ci0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJtYXBsaWtlIikgewotICAg
ICAgICByZXR1cm4gJHNlbGYtPnBhcnNlTWFwTGlrZVJlc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlz
dCwgMCk7Ci0gICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAic2V0bGlrZSIpIHsKLSAg
ICAgICAgcmV0dXJuICRzZWxmLT5wYXJzZVNldExpa2VSZXN0KCRleHRlbmRlZEF0dHJpYnV0ZUxp
c3QsIDApOwotICAgIH0KLSAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4g
fHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0T3BlcmF0aW9uXzEvKSB7Ci0gICAgICAgIHJldHVy
biAkc2VsZi0+cGFyc2VPcGVyYXRpb24oJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7Ci0gICAgfQot
ICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9rZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9f
KTsKLX0KLQogc3ViIHBhcnNlUmVhZE9ubHlNZW1iZXIKIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0
OwpAQCAtMTY1OSwyNCArMTkzMSwxOSBAQCBzdWIgcGFyc2VBdHRyaWJ1dGVPck9wZXJhdGlvbkZv
clN0cmluZ2lmCiAgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFsdWUo
KSwgX19MSU5FX18pOwogfQogCi1zdWIgcGFyc2VSZWFkV3JpdGVBdHRyaWJ1dGUKK3N1YiBwYXJz
ZUluaGVyaXRBdHRyaWJ1dGUKIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIG15ICRleHRl
bmRlZEF0dHJpYnV0ZUxpc3QgPSBzaGlmdDsKIAogICAgIG15ICRuZXh0ID0gJHNlbGYtPm5leHRU
b2tlbigpOwogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiaW5oZXJpdCIpIHsKLSAgICAgICAg
bXkgJGlzSW5oZXJpdCA9ICRzZWxmLT5wYXJzZUluaGVyaXQoKTsKLSAgICAgICAgbXkgJGlzUmVh
ZE9ubHkgPSAkc2VsZi0+cGFyc2VSZWFkT25seSgpOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9r
ZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgImluaGVyaXQiLCBfX0xJTkVfXyk7CiAKICAgICAg
ICAgbXkgJGF0dHJpYnV0ZSA9ICRzZWxmLT5wYXJzZUF0dHJpYnV0ZVJlc3QoJGV4dGVuZGVkQXR0
cmlidXRlTGlzdCk7Ci0KLSAgICAgICAgJGF0dHJpYnV0ZS0+aXNJbmhlcml0KCRpc0luaGVyaXQp
OwotICAgICAgICAkYXR0cmlidXRlLT5pc1JlYWRPbmx5KCRpc1JlYWRPbmx5KTsKKyAgICAgICAg
JGF0dHJpYnV0ZS0+aXNJbmhlcml0KDEpOwogCiAgICAgICAgIHJldHVybiAkYXR0cmlidXRlOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiAkc2VsZi0+cGFyc2VBdHRyaWJ1dGVSZXN0KCRl
eHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KICAgICAkc2VsZi0+YXNzZXJ0VW5leHBlY3Rl
ZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7CiB9CkBAIC0xNzA4LDE3ICsxOTc1LDYg
QEAgc3ViIHBhcnNlQXR0cmlidXRlUmVzdAogICAgICRzZWxmLT5hc3NlcnRVbmV4cGVjdGVkVG9r
ZW4oJG5leHQtPnZhbHVlKCksIF9fTElORV9fKTsKIH0KIAotc3ViIHBhcnNlSW5oZXJpdAotewot
ICAgIG15ICRzZWxmID0gc2hpZnQ7Ci0gICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7
Ci0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJpbmhlcml0IikgewotICAgICAgICAkc2VsZi0+
YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgImluaGVyaXQiLCBfX0xJTkVfXyk7
Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLSAgICByZXR1cm4gMDsKLX0KLQogc3ViIHBhcnNl
UmVhZE9ubHkKIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwpAQCAtMTczNCwyMSArMTk5MCwzMiBA
QCBzdWIgcGFyc2VPcGVyYXRpb24KIHsKICAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIG15ICRl
eHRlbmRlZEF0dHJpYnV0ZUxpc3QgPSBzaGlmdDsKLSAgICBteSAkaXNSZWFkT25seSA9IHNoaWZ0
OwogCiAgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CiAgICAgaWYgKCRuZXh0LT52
YWx1ZSgpID1+IC8kbmV4dFNwZWNpYWxzXzEvKSB7CiAgICAgICAgIHJldHVybiAkc2VsZi0+cGFy
c2VTcGVjaWFsT3BlcmF0aW9uKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwogICAgIH0KLSAgICBp
ZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4g
LyRuZXh0T3BlcmF0aW9uUmVzdF8xLykgewotICAgICAgICBteSAkcmV0dXJuVHlwZSA9ICRzZWxm
LT5wYXJzZVR5cGUoKTsKKyAgICBpZiAoJG5leHQtPnR5cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4g
fHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0UmVndWxhck9wZXJhdGlvbl8xLykgeworICAgICAg
ICByZXR1cm4gJHNlbGYtPnBhcnNlUmVndWxhck9wZXJhdGlvbigkZXh0ZW5kZWRBdHRyaWJ1dGVM
aXN0KTsKKyAgICB9CisgICAgJHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFs
dWUoKSwgX19MSU5FX18pOworfQorCitzdWIgcGFyc2VSZWd1bGFyT3BlcmF0aW9uCit7CisgICAg
bXkgJHNlbGYgPSBzaGlmdDsKKyAgICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0ID0gc2hpZnQ7
CisKKyAgICBteSAkbmV4dCA9ICRzZWxmLT5uZXh0VG9rZW4oKTsKKyAgICBpZiAoJG5leHQtPnR5
cGUoKSA9PSBJZGVudGlmaWVyVG9rZW4gfHwgJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0UmVndWxh
ck9wZXJhdGlvbl8xLykgeworICAgICAgICBteSAkdHlwZSA9ICRzZWxmLT5wYXJzZVR5cGUoKTsK
IAogICAgICAgICAjIE5PVEU6IFRoaXMgaXMgYSBub24tc3RhbmRhcmQgYWRkaXRpb24uIEluIFdl
YklETCwgdGhlcmUgaXMgbm8gd2F5IHRvIGFzc29jaWF0ZQogICAgICAgICAjIGV4dGVuZGVkIGF0
dHJpYnV0ZXMgd2l0aCBhIHJldHVybiB0eXBlLgotICAgICAgICAkc2VsZi0+bW92ZUV4dGVuZGVk
QXR0cmlidXRlc0FwcGxpY2FibGVUb1R5cGVzKCRyZXR1cm5UeXBlLCAkZXh0ZW5kZWRBdHRyaWJ1
dGVMaXN0KTsKKyAgICAgICAgJHNlbGYtPm1vdmVFeHRlbmRlZEF0dHJpYnV0ZXNBcHBsaWNhYmxl
VG9UeXBlcygkdHlwZSwgJGV4dGVuZGVkQXR0cmlidXRlTGlzdCk7CiAKICAgICAgICAgbXkgJG9w
ZXJhdGlvbiA9ICRzZWxmLT5wYXJzZU9wZXJhdGlvblJlc3QoJGV4dGVuZGVkQXR0cmlidXRlTGlz
dCk7Ci0gICAgICAgICRvcGVyYXRpb24tPnR5cGUoJHJldHVyblR5cGUpOworICAgICAgICAkb3Bl
cmF0aW9uLT50eXBlKCR0eXBlKTsKIAogICAgICAgICByZXR1cm4gJG9wZXJhdGlvbjsKICAgICB9
CkBAIC0xODExLDYgKzIwNzgsOSBAQCBzdWIgcGFyc2VTcGVjaWFsCiAgICAgICAgICRzZWxmLT5h
c3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiZGVsZXRlciIsIF9fTElORV9fKTsK
ICAgICAgICAgcmV0dXJuICJkZWxldGVyIjsKICAgICB9CisKKyAgICAjIEZJWE1FOiBsZWdhY3lj
YWxsZXIgaXMgbm8gbG9uZ2VyIHNwZWNpZmllZCBieSBXZWJJREwgYW5kIGlzIG9ubHkgdXNlZCBi
eSBIVE1MQWxsQ29sbGVjdGlvbi4gV2Ugc2hvdWxkCisgICAgIyBzd2l0Y2ggdG8gdXNpbmcgYW4g
ZXh0ZW5kZWQgYXR0cmlidXRlIHN5bnRheC4KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImxl
Z2FjeWNhbGxlciIpIHsKICAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdl
dFRva2VuKCksICJsZWdhY3ljYWxsZXIiLCBfX0xJTkVfXyk7CiAgICAgICAgIHJldHVybiAibGVn
YWN5Y2FsbGVyIjsKQEAgLTE4MTgsNiArMjA4OCw1MCBAQCBzdWIgcGFyc2VTcGVjaWFsCiAgICAg
JHNlbGYtPmFzc2VydFVuZXhwZWN0ZWRUb2tlbigkbmV4dC0+dmFsdWUoKSwgX19MSU5FX18pOwog
fQogCitzdWIgcGFyc2VBc3luY0l0ZXJhYmxlCit7CisgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAg
ICBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVMaXN0ID0gc2hpZnQ7CisKKyAgICBteSAkbmV4dCA9ICRz
ZWxmLT5uZXh0VG9rZW4oKTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImFzeW5jIikgewor
ICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgImFzeW5j
IiwgX19MSU5FX18pOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0
VG9rZW4oKSwgIml0ZXJhYmxlIiwgX19MSU5FX18pOworCisgICAgICAgIG15ICRhc3luY0l0ZXJh
YmxlID0gSURMQXN5bmNJdGVyYWJsZS0+bmV3KCk7CisKKyAgICAgICAgJHNlbGYtPmFzc2VydFRv
a2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI8IiwgX19MSU5FX18pOworICAgICAgICBteSAk
dHlwZTEgPSAkc2VsZi0+cGFyc2VUeXBlV2l0aEV4dGVuZGVkQXR0cmlidXRlcygpOworCisgICAg
ICAgIGlmICgkc2VsZi0+bmV4dFRva2VuKCktPnZhbHVlKCkgZXEgIiwiKSB7CisgICAgICAgICAg
ICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIiwiLCBfX0xJTkVf
Xyk7CisKKyAgICAgICAgICAgIG15ICR0eXBlMiA9ICRzZWxmLT5wYXJzZVR5cGVXaXRoRXh0ZW5k
ZWRBdHRyaWJ1dGVzKCk7CisgICAgICAgICAgICAkYXN5bmNJdGVyYWJsZS0+aXNLZXlWYWx1ZSgx
KTsKKyAgICAgICAgICAgICRhc3luY0l0ZXJhYmxlLT5rZXlUeXBlKCR0eXBlMSk7CisgICAgICAg
ICAgICAkYXN5bmNJdGVyYWJsZS0+dmFsdWVUeXBlKCR0eXBlMik7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAkYXN5bmNJdGVyYWJsZS0+aXNLZXlWYWx1ZSgwKTsKKyAgICAgICAgICAg
ICRhc3luY0l0ZXJhYmxlLT52YWx1ZVR5cGUoJHR5cGUxKTsKKyAgICAgICAgfQorICAgICAgICAk
c2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIj4iLCBfX0xJTkVfXyk7
CisKKyAgICAgICAgaWYgKCRzZWxmLT5uZXh0VG9rZW4oKS0+dmFsdWUoKSBlcSAiKCIpIHsKKyAg
ICAgICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiKCIs
IF9fTElORV9fKTsKKyAgICAgICAgICAgIHB1c2goQHskYXN5bmNJdGVyYWJsZS0+YXJndW1lbnRz
fSwgQHskc2VsZi0+cGFyc2VBcmd1bWVudExpc3QoKX0pOworICAgICAgICAgICAgJHNlbGYtPmFz
c2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICIpIiwgX19MSU5FX18pOworICAgICAg
ICB9CisKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCks
ICI7IiwgX19MSU5FX18pOworCisgICAgICAgIGRpZSAiJ2FzeW5jIGl0ZXJhYmxlYCBpbnRlcmZh
Y2VzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCBieSB0aGUgY29kZSBnZW5lcmF0b3JzLiI7
CisKKyAgICAgICAgcmV0dXJuICRhc3luY0l0ZXJhYmxlOworICAgIH0KKyAgICAkc2VsZi0+YXNz
ZXJ0VW5leHBlY3RlZFRva2VuKCRuZXh0LT52YWx1ZSgpLCBfX0xJTkVfXyk7CisKK30KKwogc3Vi
IHBhcnNlSXRlcmFibGVSZXN0CiB7CiAgICAgbXkgJHNlbGYgPSBzaGlmdDsKQEAgLTE4NTksNiAr
MjE3Myw5IEBAIHN1YiBwYXJzZU9wdGlvbmFsSXRlcmFibGVJbnRlcmZhY2UKICAgICB9CiAgICAg
JHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI+IiwgX19MSU5FX18p
OwogCisgICAgIyBGSVhNRTogU3ludGhldGljIG9wZXJhdGlvbnMgc2hvdWxkIG5vdCBiZSBhZGRl
ZCBkdXJpbmcgcGFyc2luZy4gSW5zdGVhZCwgdGhlIENvZGVHZW5lcmF0b3IKKyAgICAjIHNob3Vs
ZCBiZSByZXNwb25zaWJsZSBmb3IgdGhlbS4KKwogICAgIG15ICRzeW1ib2xJdGVyYXRvck9wZXJh
dGlvbiA9IElETE9wZXJhdGlvbi0+bmV3KCk7CiAgICAgJHN5bWJvbEl0ZXJhdG9yT3BlcmF0aW9u
LT5uYW1lKCJbU3ltYm9sLkl0ZXJhdG9yXSIpOwogICAgICRzeW1ib2xJdGVyYXRvck9wZXJhdGlv
bi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKCRleHRlbmRlZEF0dHJpYnV0ZUxpc3QpOwpAQCAtMjUwMiw2
ICsyODE5LDkgQEAgc3ViIHBhcnNlQXJndW1lbnROYW1lS2V5d29yZAogewogICAgIG15ICRzZWxm
ID0gc2hpZnQ7CiAgICAgbXkgJG5leHQgPSAkc2VsZi0+bmV4dFRva2VuKCk7CisgICAgaWYgKCRu
ZXh0LT52YWx1ZSgpIGVxICJhc3luYyIpIHsKKyAgICAgICAgcmV0dXJuICRzZWxmLT5nZXRUb2tl
bigpLT52YWx1ZSgpOworICAgIH0KICAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImF0dHJpYnV0
ZSIpIHsKICAgICAgICAgcmV0dXJuICRzZWxmLT5nZXRUb2tlbigpLT52YWx1ZSgpOwogICAgIH0K
QEAgLTI1MTEsNiArMjgzMSw5IEBAIHN1YiBwYXJzZUFyZ3VtZW50TmFtZUtleXdvcmQKICAgICBp
ZiAoJG5leHQtPnZhbHVlKCkgZXEgImNvbnN0IikgewogICAgICAgICByZXR1cm4gJHNlbGYtPmdl
dFRva2VuKCktPnZhbHVlKCk7CiAgICAgfQorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiY29u
c3RydWN0b3IiKSB7CisgICAgICAgIHJldHVybiAkc2VsZi0+Z2V0VG9rZW4oKS0+dmFsdWUoKTsK
KyAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJkZWxldGVyIikgewogICAgICAgICBy
ZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CiAgICAgfQpAQCAtMjUyMCwxMyArMjg0
MywxMCBAQCBzdWIgcGFyc2VBcmd1bWVudE5hbWVLZXl3b3JkCiAgICAgaWYgKCRuZXh0LT52YWx1
ZSgpIGVxICJlbnVtIikgewogICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVl
KCk7CiAgICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiZXhjZXB0aW9uIikgewotICAg
ICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7Ci0gICAgfQogICAgIGlmICgk
bmV4dC0+dmFsdWUoKSBlcSAiZ2V0dGVyIikgewogICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRv
a2VuKCktPnZhbHVlKCk7CiAgICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiaW1wbGVt
ZW50cyIpIHsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgImluY2x1ZGVzIikgewogICAgICAg
ICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CiAgICAgfQogICAgIGlmICgkbmV4
dC0+dmFsdWUoKSBlcSAiaW5oZXJpdCIpIHsKQEAgLTI1MzUsMTMgKzI4NTUsMjggQEAgc3ViIHBh
cnNlQXJndW1lbnROYW1lS2V5d29yZAogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAiaW50ZXJm
YWNlIikgewogICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CiAgICAg
fQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAibGVnYWN5Y2FsbGVyIikgeworICAgIGlmICgk
bmV4dC0+dmFsdWUoKSBlcSAiaXRlcmFibGUiKSB7CisgICAgICAgIHJldHVybiAkc2VsZi0+Z2V0
VG9rZW4oKS0+dmFsdWUoKTsKKyAgICB9CisgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJtYXBs
aWtlIikgeworICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CisgICAg
fQorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAibWl4aW4iKSB7CisgICAgICAgIHJldHVybiAk
c2VsZi0+Z2V0VG9rZW4oKS0+dmFsdWUoKTsKKyAgICB9CisgICAgaWYgKCRuZXh0LT52YWx1ZSgp
IGVxICJuYW1lc3BhY2UiKSB7CiAgICAgICAgIHJldHVybiAkc2VsZi0+Z2V0VG9rZW4oKS0+dmFs
dWUoKTsKICAgICB9CiAgICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJwYXJ0aWFsIikgewogICAg
ICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVlKCk7CiAgICAgfQotICAgIGlmICgk
bmV4dC0+dmFsdWUoKSBlcSAic2VyaWFsaXplciIpIHsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkg
ZXEgInJlYWRvbmx5IikgeworICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRva2VuKCktPnZhbHVl
KCk7CisgICAgfQorICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAicmVxdWlyZWQiKSB7CisgICAg
ICAgIHJldHVybiAkc2VsZi0+Z2V0VG9rZW4oKS0+dmFsdWUoKTsKKyAgICB9CisgICAgaWYgKCRu
ZXh0LT52YWx1ZSgpIGVxICJzZXRsaWtlIikgewogICAgICAgICByZXR1cm4gJHNlbGYtPmdldFRv
a2VuKCktPnZhbHVlKCk7CiAgICAgfQogICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAic2V0dGVy
IikgewpAQCAtMjcwNyw3ICszMDQyLDcgQEAgc3ViIHBhcnNlRGlzdGluZ3Vpc2hhYmxlVHlwZQog
CiAgICAgbXkgJHR5cGUgPSBJRExUeXBlLT5uZXcoKTsKIAotICAgIGlmICgkbmV4dC0+dmFsdWUo
KSA9fiAvJG5leHREaXN0aW5ndWlzaGFibGVUeXBlXzEvKSB7CisgICAgaWYgKCRuZXh0LT52YWx1
ZSgpID1+IC8kbmV4dFByaW1pdGl2ZVR5cGVfMS8pIHsKICAgICAgICAgJHR5cGUtPm5hbWUoJHNl
bGYtPnBhcnNlUHJpbWl0aXZlVHlwZSgpKTsKICAgICAgICAgcmV0dXJuICR0eXBlOwogICAgIH0K
QEAgLTI3MTUsNTQgKzMwNTAsNTcgQEAgc3ViIHBhcnNlRGlzdGluZ3Vpc2hhYmxlVHlwZQogICAg
ICAgICAkdHlwZS0+bmFtZSgkc2VsZi0+cGFyc2VTdHJpbmdUeXBlKCkpOwogICAgICAgICByZXR1
cm4gJHR5cGU7CiAgICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUoKSBlcSAib2JqZWN0Iikgewot
ICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIm9iamVj
dCIsIF9fTElORV9fKTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInNlcXVlbmNlIikgewor
ICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgInNlcXVl
bmNlIiwgX19MSU5FX18pOworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+
Z2V0VG9rZW4oKSwgIjwiLCBfX0xJTkVfXyk7CiAKLSAgICAgICAgJHR5cGUtPm5hbWUoIm9iamVj
dCIpOwotICAgICAgICByZXR1cm4gJHR5cGU7Ci0gICAgfQotICAgIGlmICgkbmV4dC0+dmFsdWUo
KSBlcSAiRXJyb3IiKSB7Ci0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5n
ZXRUb2tlbigpLCAiRXJyb3IiLCBfX0xJTkVfXyk7CisgICAgICAgIG15ICRzdWJ0eXBlID0gJHNl
bGYtPnBhcnNlVHlwZVdpdGhFeHRlbmRlZEF0dHJpYnV0ZXMoKTsKKworICAgICAgICAkc2VsZi0+
YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIj4iLCBfX0xJTkVfXyk7CisKKyAg
ICAgICAgJHR5cGUtPm5hbWUoInNlcXVlbmNlIik7CisgICAgICAgIHB1c2goQHskdHlwZS0+c3Vi
dHlwZXN9LCAkc3VidHlwZSk7CiAKLSAgICAgICAgJHR5cGUtPm5hbWUoIkVycm9yIik7CiAgICAg
ICAgIHJldHVybiAkdHlwZTsKICAgICB9Ci0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJET01F
eGNlcHRpb24iKSB7Ci0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRU
b2tlbigpLCAiRE9NRXhjZXB0aW9uIiwgX19MSU5FX18pOworICAgIGlmICgkbmV4dC0+dmFsdWUo
KSBlcSAib2JqZWN0IikgeworICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1ZSgkc2VsZi0+
Z2V0VG9rZW4oKSwgIm9iamVjdCIsIF9fTElORV9fKTsKIAotICAgICAgICAkdHlwZS0+bmFtZSgi
RE9NRXhjZXB0aW9uIik7CisgICAgICAgICR0eXBlLT5uYW1lKCJvYmplY3QiKTsKICAgICAgICAg
cmV0dXJuICR0eXBlOwogICAgIH0KLSAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgIkRhdGUiKSB7
Ci0gICAgICAgICRzZWxmLT5hc3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiRGF0
ZSIsIF9fTElORV9fKTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgInN5bWJvbCIpIHsKKyAg
ICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJzeW1ib2wi
LCBfX0xJTkVfXyk7CiAKLSAgICAgICAgJHR5cGUtPm5hbWUoIkRhdGUiKTsKKyAgICAgICAgJHR5
cGUtPm5hbWUoInN5bWJvbCIpOwogICAgICAgICByZXR1cm4gJHR5cGU7CiAgICAgfQotICAgIGlm
ICgkbmV4dC0+dmFsdWUoKSBlcSAic2VxdWVuY2UiKSB7Ci0gICAgICAgICRzZWxmLT5hc3NlcnRU
b2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAic2VxdWVuY2UiLCBfX0xJTkVfXyk7CisgICAg
aWYgKCRuZXh0LT52YWx1ZSgpIGVxICJGcm96ZW5BcnJheSIpIHsKKyAgICAgICAgJHNlbGYtPmFz
c2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJGcm96ZW5BcnJheSIsIF9fTElORV9f
KTsKICAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICI8
IiwgX19MSU5FX18pOwogCiAgICAgICAgIG15ICRzdWJ0eXBlID0gJHNlbGYtPnBhcnNlVHlwZVdp
dGhFeHRlbmRlZEF0dHJpYnV0ZXMoKTsKIAogICAgICAgICAkc2VsZi0+YXNzZXJ0VG9rZW5WYWx1
ZSgkc2VsZi0+Z2V0VG9rZW4oKSwgIj4iLCBfX0xJTkVfXyk7CiAKLSAgICAgICAgJHR5cGUtPm5h
bWUoInNlcXVlbmNlIik7CisgICAgICAgICR0eXBlLT5uYW1lKCJGcm96ZW5BcnJheSIpOwogICAg
ICAgICBwdXNoKEB7JHR5cGUtPnN1YnR5cGVzfSwgJHN1YnR5cGUpOwogCiAgICAgICAgIHJldHVy
biAkdHlwZTsKICAgICB9Ci0gICAgaWYgKCRuZXh0LT52YWx1ZSgpIGVxICJGcm96ZW5BcnJheSIp
IHsKLSAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCksICJG
cm96ZW5BcnJheSIsIF9fTElORV9fKTsKKyAgICBpZiAoJG5leHQtPnZhbHVlKCkgZXEgIk9ic2Vy
dmFibGVBcnJheSIpIHsKKyAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdl
dFRva2VuKCksICJPYnNlcnZhYmxlQXJyYXkiLCBfX0xJTkVfXyk7CiAgICAgICAgICRzZWxmLT5h
c3NlcnRUb2tlblZhbHVlKCRzZWxmLT5nZXRUb2tlbigpLCAiPCIsIF9fTElORV9fKTsKIAogICAg
ICAgICBteSAkc3VidHlwZSA9ICRzZWxmLT5wYXJzZVR5cGVXaXRoRXh0ZW5kZWRBdHRyaWJ1dGVz
KCk7CiAKICAgICAgICAgJHNlbGYtPmFzc2VydFRva2VuVmFsdWUoJHNlbGYtPmdldFRva2VuKCks
ICI+IiwgX19MSU5FX18pOwogCi0gICAgICAgICR0eXBlLT5uYW1lKCJGcm96ZW5BcnJheSIpOwor
ICAgICAgICAkdHlwZS0+bmFtZSgiT2JzZXJ2YWJsZUFycmF5Iik7CiAgICAgICAgIHB1c2goQHsk
dHlwZS0+c3VidHlwZXN9LCAkc3VidHlwZSk7CiAKKyAgICAgICAgZGllICJUaGUgT2JzZXJ2YWJs
ZUFycmF5IHR5cGUgaXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgYnkgdGhlIGNvZGUgZ2VuZXJh
dG9ycy4iOworCiAgICAgICAgIHJldHVybiAkdHlwZTsKICAgICB9CiAgICAgaWYgKCRuZXh0LT52
YWx1ZSgpIGVxICJyZWNvcmQiKSB7CkBAIC0yODAwLDcgKzMxMzgsNyBAQCBzdWIgcGFyc2VDb25z
dFR5cGUKIAogICAgIG15ICR0eXBlID0gSURMVHlwZS0+bmV3KCk7CiAKLSAgICBpZiAoJG5leHQt
PnZhbHVlKCkgPX4gLyRuZXh0RGlzdGluZ3Vpc2hhYmxlVHlwZV8xLykgeworICAgIGlmICgkbmV4
dC0+dmFsdWUoKSA9fiAvJG5leHRQcmltaXRpdmVUeXBlXzEvKSB7CiAgICAgICAgICR0eXBlLT5u
YW1lKCRzZWxmLT5wYXJzZVByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAgICR0eXBlLT5pc051bGxh
YmxlKCRzZWxmLT5wYXJzZU51bGwoKSk7CiAgICAgICAgIHJldHVybiAkdHlwZTsKQEAgLTI4Mzgs
MTEgKzMxNzYsMTIgQEAgc3ViIHBhcnNlU3RyaW5nVHlwZQogc3ViIHBhcnNlUHJpbWl0aXZlVHlw
ZQogewogICAgIG15ICRzZWxmID0gc2hpZnQ7CisKICAgICBteSAkbmV4dCA9ICRzZWxmLT5uZXh0
VG9rZW4oKTsKLSAgICBpZiAoJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0UHJpbWl0aXZlVHlwZV8x
LykgeworICAgIGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRJbnRlZ2VyVHlwZV8xLykgewog
ICAgICAgICByZXR1cm4gJHNlbGYtPnBhcnNlVW5zaWduZWRJbnRlZ2VyVHlwZSgpOwogICAgIH0K
LSAgICBpZiAoJG5leHQtPnZhbHVlKCkgPX4gLyRuZXh0UHJpbWl0aXZlVHlwZV8yLykgeworICAg
IGlmICgkbmV4dC0+dmFsdWUoKSA9fiAvJG5leHRGbG9hdFR5cGVfMS8pIHsKICAgICAgICAgcmV0
dXJuICRzZWxmLT5wYXJzZVVucmVzdHJpY3RlZEZsb2F0VHlwZSgpOwogICAgIH0KICAgICBpZiAo
JG5leHQtPnZhbHVlKCkgZXEgInVuZGVmaW5lZCIpIHsKQEAgLTMwMDEsNiArMzM0MCwxMCBAQCBz
dWIgYXBwbHlNZW1iZXJMaXN0CiAgICAgICAgICAgICAkaW50ZXJmYWNlLT5pdGVyYWJsZSgkaXRl
bSk7CiAgICAgICAgICAgICBuZXh0OwogICAgICAgICB9CisgICAgICAgIGlmIChyZWYoJGl0ZW0p
IGVxICJJRExBc3luY0l0ZXJhYmxlIikgeworICAgICAgICAgICAgJGludGVyZmFjZS0+YXN5bmNJ
dGVyYWJsZSgkaXRlbSk7CisgICAgICAgICAgICBuZXh0OworICAgICAgICB9CiAgICAgICAgIGlm
IChyZWYoJGl0ZW0pIGVxICJJRExNYXBMaWtlIikgewogICAgICAgICAgICAgJGludGVyZmFjZS0+
bWFwTGlrZSgkaXRlbSk7CiAgICAgICAgICAgICBuZXh0OwpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzLWlkbHMucGwJKHJldmlzaW9uIDI2
NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzcy1pZGxz
LnBsCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsMTUgKzE0MywxNSBAQCBmb3JlYWNoIG15ICRpZGxG
aWxlIChzb3J0IGtleXMgJWlkbEZpbGVICiAgICAgbmV4dCB1bmxlc3MgY29udGFpbnNJbnRlcmZh
Y2VPckV4Y2VwdGlvbkZyb21JREwoJGlkbEZpbGVDb250ZW50cyk7CiAKICAgICBteSAkaW50ZXJm
YWNlTmFtZSA9IGZpbGVwYXJzZShiYXNlbmFtZSgkaWRsRmlsZSksICIuaWRsIik7Ci0gICAgIyBI
YW5kbGUgaW1wbGVtZW50cyBzdGF0ZW1lbnRzLgotICAgIG15ICRpbXBsZW1lbnRlZEludGVyZmFj
ZXMgPSBnZXRJbXBsZW1lbnRlZEludGVyZmFjZXNGcm9tSURMKCRpZGxGaWxlQ29udGVudHMsICRp
bnRlcmZhY2VOYW1lKTsKLSAgICBmb3JlYWNoIG15ICRpbXBsZW1lbnRlZEludGVyZmFjZSAoQHsk
aW1wbGVtZW50ZWRJbnRlcmZhY2VzfSkgewotICAgICAgICBteSAkaW1wbGVtZW50ZWRJZGxGaWxl
ID0gJGludGVyZmFjZU5hbWVUb0lkbEZpbGV7JGltcGxlbWVudGVkSW50ZXJmYWNlfTsKLSAgICAg
ICAgZGllICJDb3VsZCBub3QgZmluZCBhIHRoZSBJREwgZmlsZSB3aGVyZSB0aGUgZm9sbG93aW5n
IGltcGxlbWVudGVkIGludGVyZmFjZSBpcyBkZWZpbmVkOiAkaW1wbGVtZW50ZWRJbnRlcmZhY2Ui
IHVubGVzcyAkaW1wbGVtZW50ZWRJZGxGaWxlOwotICAgICAgICBpZiAoJHN1cHBsZW1lbnRhbERl
cGVuZGVuY2llc3skaW1wbGVtZW50ZWRJZGxGaWxlfSkgewotICAgICAgICAgICAgcHVzaChAeyRz
dXBwbGVtZW50YWxEZXBlbmRlbmNpZXN7JGltcGxlbWVudGVkSWRsRmlsZX19LCAkaW50ZXJmYWNl
TmFtZSk7CisgICAgIyBIYW5kbGUgaW5jbHVkZSBzdGF0ZW1lbnRzLgorICAgIG15ICRpbmNsdWRl
ZEludGVyZmFjZXMgPSBnZXRJbmNsdWRlZEludGVyZmFjZXNGcm9tSURMKCRpZGxGaWxlQ29udGVu
dHMsICRpbnRlcmZhY2VOYW1lKTsKKyAgICBmb3JlYWNoIG15ICRpbmNsdWRlZEludGVyZmFjZSAo
QHskaW5jbHVkZWRJbnRlcmZhY2VzfSkgeworICAgICAgICBteSAkaW5jbHVkZWRJZGxGaWxlID0g
JGludGVyZmFjZU5hbWVUb0lkbEZpbGV7JGluY2x1ZGVkSW50ZXJmYWNlfTsKKyAgICAgICAgZGll
ICJDb3VsZCBub3QgZmluZCBhIHRoZSBJREwgZmlsZSB3aGVyZSB0aGUgZm9sbG93aW5nIGluY2x1
ZGVkIGludGVyZmFjZSBpcyBkZWZpbmVkOiAkaW5jbHVkZWRJbnRlcmZhY2UiIHVubGVzcyAkaW5j
bHVkZWRJZGxGaWxlOworICAgICAgICBpZiAoJHN1cHBsZW1lbnRhbERlcGVuZGVuY2llc3skaW5j
bHVkZWRJZGxGaWxlfSkgeworICAgICAgICAgICAgcHVzaChAeyRzdXBwbGVtZW50YWxEZXBlbmRl
bmNpZXN7JGluY2x1ZGVkSWRsRmlsZX19LCAkaW50ZXJmYWNlTmFtZSk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAkc3VwcGxlbWVudGFsRGVwZW5kZW5jaWVzeyRpbXBsZW1lbnRlZElk
bEZpbGV9ID0gWyRpbnRlcmZhY2VOYW1lXTsKKyAgICAgICAgICAgICRzdXBwbGVtZW50YWxEZXBl
bmRlbmNpZXN7JGluY2x1ZGVkSWRsRmlsZX0gPSBbJGludGVyZmFjZU5hbWVdOwogICAgICAgICB9
CiAgICAgfQogCkBAIC0yMDcsNyArMjA3LDcgQEAgR2VuZXJhdGVQYXJ0aWFsSW50ZXJmYWNlKCJX
b3JrbGV0R2xvYmFsUwogR2VuZXJhdGVQYXJ0aWFsSW50ZXJmYWNlKCJQYWludFdvcmtsZXRHbG9i
YWxTY29wZSIsICRwYWludFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0NvZGUsICRwYWlu
dFdvcmtsZXRHbG9iYWxTY29wZUNvbnN0cnVjdG9yc0ZpbGUpOwogR2VuZXJhdGVQYXJ0aWFsSW50
ZXJmYWNlKCR0ZXN0R2xvYmFsQ29udGV4dE5hbWUsICR0ZXN0R2xvYmFsU2NvcGVDb25zdHJ1Y3Rv
cnNDb2RlLCAkdGVzdEdsb2JhbFNjb3BlQ29uc3RydWN0b3JzRmlsZSkgaWYgZGVmaW5lZCgkdGVz
dEdsb2JhbENvbnRleHROYW1lKTsKIAotIyBSZXNvbHZlcyBwYXJ0aWFsIGludGVyZmFjZXMgYW5k
IGltcGxlbWVudHMgZGVwZW5kZW5jaWVzLgorIyBSZXNvbHZlcyBwYXJ0aWFsIGludGVyZmFjZXMg
YW5kIGluY2x1ZGUgZGVwZW5kZW5jaWVzLgogZm9yZWFjaCBteSAkaWRsRmlsZSAoc29ydCBrZXlz
ICVzdXBwbGVtZW50YWxEZXBlbmRlbmNpZXMpIHsKICAgICBteSAkYmFzZUZpbGVzID0gJHN1cHBs
ZW1lbnRhbERlcGVuZGVuY2llc3skaWRsRmlsZX07CiAgICAgZm9yZWFjaCBteSAkYmFzZUZpbGUg
KEB7JGJhc2VGaWxlc30pIHsKQEAgLTM3MSwxOSArMzcxLDE5IEBAIHN1YiBnZXRQYXJ0aWFsTmFt
ZXNGcm9tSURMCiAgICAgcmV0dXJuIFxAcGFydGlhbE5hbWVzOwogfQogCi0jIGlkZW50aWZpZXIt
QSBpbXBsZW1lbnRzIGlkZW50aWZpZXItQjsKLSMgaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURM
LyNpZGwtaW1wbGVtZW50cy1zdGF0ZW1lbnRzCi1zdWIgZ2V0SW1wbGVtZW50ZWRJbnRlcmZhY2Vz
RnJvbUlETAorIyBpZGVudGlmaWVyLUEgaW5jbHVkZXMgaWRlbnRpZmllci1COworIyBodHRwczov
L2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpbmNsdWRlcy1zdGF0ZW1lbnQKK3N1YiBnZXRJbmNs
dWRlZEludGVyZmFjZXNGcm9tSURMCiB7CiAgICAgbXkgJGZpbGVDb250ZW50cyA9IHNoaWZ0Owog
ICAgIG15ICRpbnRlcmZhY2VOYW1lID0gc2hpZnQ7CiAKLSAgICBteSBAaW1wbGVtZW50ZWRJbnRl
cmZhY2VzID0gKCk7Ci0gICAgd2hpbGUgKCRmaWxlQ29udGVudHMgPX4gL15ccyooXHcrKVxzK2lt
cGxlbWVudHNccysoXHcrKVxzKjsvbWcpIHsKLSAgICAgICAgZGllICJJZGVudGlmaWVyIG9uIHRo
ZSBsZWZ0IG9mIHRoZSAnaW1wbGVtZW50cycgc3RhdGVtZW50IHNob3VsZCBiZSAkaW50ZXJmYWNl
TmFtZSBpbiAkaW50ZXJmYWNlTmFtZS5pZGwsIGJ1dCBmb3VuZCAkMSIgaWYgJDEgbmUgJGludGVy
ZmFjZU5hbWU7Ci0gICAgICAgIHB1c2goQGltcGxlbWVudGVkSW50ZXJmYWNlcywgJDIpOworICAg
IG15IEBpbmNsdWRlZEludGVyZmFjZXMgPSAoKTsKKyAgICB3aGlsZSAoJGZpbGVDb250ZW50cyA9
fiAvXlxzKihcdyspXHMraW5jbHVkZXNccysoXHcrKVxzKjsvbWcpIHsKKyAgICAgICAgZGllICJJ
ZGVudGlmaWVyIG9uIHRoZSBsZWZ0IG9mIHRoZSAnaW5jbHVkZXMnIHN0YXRlbWVudCBzaG91bGQg
YmUgJGludGVyZmFjZU5hbWUgaW4gJGludGVyZmFjZU5hbWUuaWRsLCBidXQgZm91bmQgJDEiIGlm
ICQxIG5lICRpbnRlcmZhY2VOYW1lOworICAgICAgICBwdXNoKEBpbmNsdWRlZEludGVyZmFjZXMs
ICQyKTsKICAgICB9Ci0gICAgcmV0dXJuIFxAaW1wbGVtZW50ZWRJbnRlcmZhY2VzCisgICAgcmV0
dXJuIFxAaW5jbHVkZWRJbnRlcmZhY2VzCiB9CiAKIHN1YiBpc0NhbGxiYWNrSW50ZXJmYWNlRnJv
bUlETApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1N1cHBsZW1l
bnRhbERlcGVuZGVuY2llcy5kZXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1N1cHBsZW1lbnRhbERlcGVuZGVuY2llcy5kZXAJKHJldmlzaW9uIDI2
NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9TdXBwbGVtZW50
YWxEZXBlbmRlbmNpZXMuZGVwCSh3b3JraW5nIGNvcHkpCkBAIC03NywxMCArNzcsMTAgQEAgVGVz
dFN1cHBsZW1lbnRhbC5pZGw6CiBKU1Rlc3RJbmhlcml0ZWREaWN0aW9uYXJ5Mi5oOiAKIERPTVRl
c3RJbmhlcml0ZWREaWN0aW9uYXJ5Mi5oOiAKIFdlYkRPTVRlc3RJbmhlcml0ZWREaWN0aW9uYXJ5
Mi5oOiAKLUpTVGVzdEludGVyZmFjZS5oOiBUZXN0SW1wbGVtZW50cy5pZGwgVGVzdFN1cHBsZW1l
bnRhbC5pZGwKLURPTVRlc3RJbnRlcmZhY2UuaDogVGVzdEltcGxlbWVudHMuaWRsIFRlc3RTdXBw
bGVtZW50YWwuaWRsCi1XZWJET01UZXN0SW50ZXJmYWNlLmg6IFRlc3RJbXBsZW1lbnRzLmlkbCBU
ZXN0U3VwcGxlbWVudGFsLmlkbAotVGVzdEltcGxlbWVudHMuaWRsOgorSlNUZXN0SW50ZXJmYWNl
Lmg6IFRlc3RJbmNsdWRlcy5pZGwgVGVzdFN1cHBsZW1lbnRhbC5pZGwKK0RPTVRlc3RJbnRlcmZh
Y2UuaDogVGVzdEluY2x1ZGVzLmlkbCBUZXN0U3VwcGxlbWVudGFsLmlkbAorV2ViRE9NVGVzdElu
dGVyZmFjZS5oOiBUZXN0SW5jbHVkZXMuaWRsIFRlc3RTdXBwbGVtZW50YWwuaWRsCitUZXN0SW5j
bHVkZXMuaWRsOgogVGVzdFN1cHBsZW1lbnRhbC5pZGw6CiBKU1Rlc3RJbnRlcmZhY2VMZWFkaW5n
VW5kZXJzY29yZS5oOiAKIERPTVRlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5oOiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW1wbGVtZW50cy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RJbXBsZW1lbnRzLmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbXBsZW1lbnRzLmlkbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXN0ckFyZywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVp
dGhlciB0aGUgbmFtZSBvZiBBcHBsZSBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0g
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRXN0ckFyZywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
Ci0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLS8vIFRoaXMgSURMIGZpbGUgaXMgZm9yIHRlc3RpbmcgdGhl
IGJpbmRpbmdzIGNvZGUgZ2VuZXJhdG9yIGFuZCBmb3IgdHJhY2tpbmcKLS8vIGNoYW5nZXMgaW4g
aXRzIG91dHB1dC4KLVsKLSAgICBDb25kaXRpb25hbD1Db25kaXRpb24yMnxDb25kaXRpb24yMywK
LSAgICBOb0ludGVyZmFjZU9iamVjdAotXSBpbnRlcmZhY2UgVGVzdEltcGxlbWVudHMgewotICAg
IHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBpbXBsZW1lbnRzU3RhdGljUmVhZE9ubHlB
dHRyOwotICAgIHN0YXRpYyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltcGxlbWVudHNTdGF0aWNBdHRy
OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW1wbGVtZW50c1N0cjE7Ci0gICAg
YXR0cmlidXRlIERPTVN0cmluZyBpbXBsZW1lbnRzU3RyMjsKLSAgICBbQ3VzdG9tR2V0dGVyLCBD
dXN0b21TZXR0ZXJdIGF0dHJpYnV0ZSBET01TdHJpbmcgaW1wbGVtZW50c1N0cjM7Ci0gICAgYXR0
cmlidXRlIE5vZGUgaW1wbGVtZW50c05vZGU7Ci0KLSAgICB1bmRlZmluZWQgaW1wbGVtZW50c01l
dGhvZDEoKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dF
eGNlcHRpb25dIFRlc3RPYmogaW1wbGVtZW50c01ldGhvZDIoRE9NU3RyaW5nIHN0ckFyZywgVGVz
dE9iaiBvYmpBcmcpOwotICAgIFtDdXN0b21dIHVuZGVmaW5lZCBpbXBsZW1lbnRzTWV0aG9kMygp
OwotICAgIHN0YXRpYyB1bmRlZmluZWQgaW1wbGVtZW50c01ldGhvZDQoKTsKLQotICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IElNUExFTUVOVFNDT05TVEFOVDEgPSAxOwotICAgIFtSZWZsZWN0PUNP
TlNUX0lNUExdIGNvbnN0IHVuc2lnbmVkIHNob3J0IElNUExFTUVOVFNDT05TVEFOVDIgPSAyOwot
Ci0gICAgW1Jlc3VsdEZpZWxkPW5vZGVzXSBzZXF1ZW5jZTxOb2RlPiB0YWtlTm9kZXMoKTsKLX07
Ci0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5jbHVk
ZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0SW5jbHVkZXMuaWRsCShyZXZpc2lvbiAyNjY0NjgpCShmcm9tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW1wbGVtZW50cy5pZGw6MjY2NDY4KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmNsdWRlcy5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1
bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtc3RyQXJnLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0
aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFc3RyQXJnLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gVGhpcyBJREwgZmlsZSBpcyBm
b3IgdGVzdGluZyB0aGUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3IgYW5kIGZvciB0cmFja2luZwor
Ly8gY2hhbmdlcyBpbiBpdHMgb3V0cHV0LgorWworICAgIENvbmRpdGlvbmFsPUNvbmRpdGlvbjIy
fENvbmRpdGlvbjIzLAorICAgIE5vSW50ZXJmYWNlT2JqZWN0CitdIGludGVyZmFjZSBUZXN0SW1w
bGVtZW50cyB7CisgICAgc3RhdGljIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGltcGxlbWVudHNT
dGF0aWNSZWFkT25seUF0dHI7CisgICAgc3RhdGljIGF0dHJpYnV0ZSBET01TdHJpbmcgaW1wbGVt
ZW50c1N0YXRpY0F0dHI7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpbXBsZW1l
bnRzU3RyMTsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGltcGxlbWVudHNTdHIyOworICAgIFtD
dXN0b21HZXR0ZXIsIEN1c3RvbVNldHRlcl0gYXR0cmlidXRlIERPTVN0cmluZyBpbXBsZW1lbnRz
U3RyMzsKKyAgICBhdHRyaWJ1dGUgTm9kZSBpbXBsZW1lbnRzTm9kZTsKKworICAgIHVuZGVmaW5l
ZCBpbXBsZW1lbnRzTWV0aG9kMSgpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gVGVzdE9iaiBpbXBsZW1lbnRzTWV0aG9kMihET01TdHJp
bmcgc3RyQXJnLCBUZXN0T2JqIG9iakFyZyk7CisgICAgW0N1c3RvbV0gdW5kZWZpbmVkIGltcGxl
bWVudHNNZXRob2QzKCk7CisgICAgc3RhdGljIHVuZGVmaW5lZCBpbXBsZW1lbnRzTWV0aG9kNCgp
OworCisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU1QTEVNRU5UU0NPTlNUQU5UMSA9IDE7Cisg
ICAgW1JlZmxlY3Q9Q09OU1RfSU1QTF0gY29uc3QgdW5zaWduZWQgc2hvcnQgSU1QTEVNRU5UU0NP
TlNUQU5UMiA9IDI7CisKKyAgICBbUmVzdWx0RmllbGQ9bm9kZXNdIHNlcXVlbmNlPE5vZGU+IHRh
a2VOb2RlcygpOworfTsKKwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RJbmNsdWRlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RJbmNsdWRlcy5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW5jbHVkZXMuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMiwyMSArMzIsMjEgQEAKIFsKICAgICBDb25kaXRpb25hbD1Db25kaXRp
b24yMnxDb25kaXRpb24yMywKICAgICBOb0ludGVyZmFjZU9iamVjdAotXSBpbnRlcmZhY2UgVGVz
dEltcGxlbWVudHMgewotICAgIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBpbXBsZW1l
bnRzU3RhdGljUmVhZE9ubHlBdHRyOwotICAgIHN0YXRpYyBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlt
cGxlbWVudHNTdGF0aWNBdHRyOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW1w
bGVtZW50c1N0cjE7Ci0gICAgYXR0cmlidXRlIERPTVN0cmluZyBpbXBsZW1lbnRzU3RyMjsKLSAg
ICBbQ3VzdG9tR2V0dGVyLCBDdXN0b21TZXR0ZXJdIGF0dHJpYnV0ZSBET01TdHJpbmcgaW1wbGVt
ZW50c1N0cjM7Ci0gICAgYXR0cmlidXRlIE5vZGUgaW1wbGVtZW50c05vZGU7CitdIGludGVyZmFj
ZSBUZXN0SW5jbHVkZXMgeworICAgIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBpbmNs
dWRlc1N0YXRpY1JlYWRPbmx5QXR0cjsKKyAgICBzdGF0aWMgYXR0cmlidXRlIERPTVN0cmluZyBp
bmNsdWRlc1N0YXRpY0F0dHI7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpbmNs
dWRlc1N0cjE7CisgICAgYXR0cmlidXRlIERPTVN0cmluZyBpbmNsdWRlc1N0cjI7CisgICAgW0N1
c3RvbUdldHRlciwgQ3VzdG9tU2V0dGVyXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGluY2x1ZGVzU3Ry
MzsKKyAgICBhdHRyaWJ1dGUgTm9kZSBpbmNsdWRlc05vZGU7CiAKLSAgICB1bmRlZmluZWQgaW1w
bGVtZW50c01ldGhvZDEoKTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwg
TWF5VGhyb3dFeGNlcHRpb25dIFRlc3RPYmogaW1wbGVtZW50c01ldGhvZDIoRE9NU3RyaW5nIHN0
ckFyZywgVGVzdE9iaiBvYmpBcmcpOwotICAgIFtDdXN0b21dIHVuZGVmaW5lZCBpbXBsZW1lbnRz
TWV0aG9kMygpOwotICAgIHN0YXRpYyB1bmRlZmluZWQgaW1wbGVtZW50c01ldGhvZDQoKTsKKyAg
ICB1bmRlZmluZWQgaW5jbHVkZXNNZXRob2QxKCk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9uXSBUZXN0T2JqIGluY2x1ZGVzTWV0aG9kMihE
T01TdHJpbmcgc3RyQXJnLCBUZXN0T2JqIG9iakFyZyk7CisgICAgW0N1c3RvbV0gdW5kZWZpbmVk
IGluY2x1ZGVzTWV0aG9kMygpOworICAgIHN0YXRpYyB1bmRlZmluZWQgaW5jbHVkZXNNZXRob2Q0
KCk7CiAKLSAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTVBMRU1FTlRTQ09OU1RBTlQxID0gMTsK
LSAgICBbUmVmbGVjdD1DT05TVF9JTVBMXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTVBMRU1FTlRT
Q09OU1RBTlQyID0gMjsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTkNMVURFU19DT05TVEFO
VDEgPSAxOworICAgIFtSZWZsZWN0PUNPTlNUX0lNUExdIGNvbnN0IHVuc2lnbmVkIHNob3J0IElO
Q0xVREVTX0NPTlNUQU5UMiA9IDI7CiAKICAgICBbUmVzdWx0RmllbGQ9bm9kZXNdIHNlcXVlbmNl
PE5vZGU+IHRha2VOb2RlcygpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEludGVyZmFjZS5pZGwJKHJldmlzaW9uIDI2NjQ2
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0SW50ZXJmYWNl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDAsNCArNDAsNCBAQAogICAgIGl0ZXJhYmxlPFRlc3RO
b2RlLCBUZXN0T2JqPjsKIH07CiAKLVRlc3RJbnRlcmZhY2UgaW1wbGVtZW50cyBUZXN0SW1wbGVt
ZW50czsKK1Rlc3RJbnRlcmZhY2UgaW5jbHVkZXMgVGVzdEluY2x1ZGVzOwpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAkocmV2aXNp
b24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RP
YmouaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00NjMsNyArNDYzLDcgQEAgZW51bSBUZXN0Q29uZmlk
ZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdwogfTsKIAogLy8gVGhlIGZvbGxvd2luZyBjb21tZW50
IHNob3VsZCBub3QgZ2VuZXJhdGUgYW55IGNvZGUuCi0vLyBUZXN0T2JqIGltcGxlbWVudHMgVGVz
dEltcGxlbWVudHM7CisvLyBUZXN0T2JqIGluY2x1ZGVzIFRlc3RJbmNsdWRlczsKIAogdHlwZWRl
ZiBhbnkgQW55VHlwZWRlZjsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5p
ZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw0
ICszNCw0IEBACiBdIGludGVyZmFjZSBUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwgewogfTsKIAot
VGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsIGltcGxlbWVudHMgVGVzdE9wZXJhdGlvbkJhc2U7CitU
ZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwgaW5jbHVkZXMgVGVzdE9wZXJhdGlvbkJhc2U7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5jbHVkZXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbmNsdWRlcy5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluY2x1ZGVzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDYgQEAKKy8qCisgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBqdXN0IHRvIHRl
bGwgYnVpbGQgc2NyaXB0cyB0aGF0IEpTVGVzdEluY2x1ZGVzLmggYW5kCisgICAgSlNUZXN0SW5j
bHVkZXMuY3BwIGFyZSBjcmVhdGVkIGZvciBUZXN0SW5jbHVkZXMuaWRsLCBhbmQgdGh1cworICAg
IHByZXZlbnQgdGhlIGJ1aWxkIHNjcmlwdHMgZnJvbSB0cnlpbmcgdG8gZ2VuZXJhdGUgSlNUZXN0
SW5jbHVkZXMuaCBhbmQKKyAgICBKU1Rlc3RJbmNsdWRlcy5jcHAgYXQgZXZlcnkgYnVpbGQuIFRo
aXMgZmlsZSBtdXN0IG5vdCBiZSB0cmllZCB0byBjb21waWxlLgorKi8KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmNsdWRlcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmNs
dWRlcy5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbmNsdWRlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAor
LyoKKyAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGp1c3QgdG8gdGVsbCBidWlsZCBzY3JpcHRz
IHRoYXQgSlNUZXN0SW5jbHVkZXMuaCBhbmQKKyAgICBKU1Rlc3RJbmNsdWRlcy5jcHAgYXJlIGNy
ZWF0ZWQgZm9yIFRlc3RJbmNsdWRlcy5pZGwsIGFuZCB0aHVzCisgICAgcHJldmVudCB0aGUgYnVp
bGQgc2NyaXB0cyBmcm9tIHRyeWluZyB0byBnZW5lcmF0ZSBKU1Rlc3RJbmNsdWRlcy5oIGFuZAor
ICAgIEpTVGVzdEluY2x1ZGVzLmNwcCBhdCBldmVyeSBidWlsZC4gVGhpcyBmaWxlIG11c3Qgbm90
IGJlIHRyaWVkIHRvIGNvbXBpbGUuCisqLwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJKHJl
dmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MywxNiArNzMsMTYgQEAg
dXNpbmcgbmFtZXNwYWNlIEpTQzsKIC8vIEZ1bmN0aW9ucwogCiAjaWYgRU5BQkxFKENvbmRpdGlv
bjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMShK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKK0pTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkluY2x1ZGVz
TWV0aG9kMShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKICNlbmRpZgog
I2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotSlNDOjpFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9u
SW1wbGVtZW50c01ldGhvZDIoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7
CitKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0SW50ZXJmYWNlUHJvdG90
eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhvZDIoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2Fs
bEZyYW1lKik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25k
aXRpb24yMykKLUpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZh
Y2VQcm90b3R5cGVGdW5jdGlvbkltcGxlbWVudHNNZXRob2QzKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkNhbGxGcmFtZSopOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2QzKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlv
bjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JGdW5jdGlvbkltcGxlbWVudHNNZXRob2Q0
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOworSlNDOjpFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25JbmNs
dWRlc01ldGhvZDQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiAjZW5k
aWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKIEpTQzo6
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5j
dGlvblRha2VOb2RlcyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKQEAg
LTExMCwyNiArMTEwLDI2IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3QKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IoSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsK
IGJvb2wgc2V0SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOwogI2lmIEVOQUJMRShD
b25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotSlNDOjpFbmNvZGVkSlNWYWx1ZSBq
c1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVudHNTdGF0aWNSZWFkT25seUF0dHIoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1l
KTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRl
c1N0YXRpY1JlYWRPbmx5QXR0cihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNW
YWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIy
KSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1KU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVy
ZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0YXRpY0F0dHIoSlNDOjpKU0dsb2JhbE9iamVjdCos
IEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKLWJvb2wgc2V0SlNUZXN0
SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1lbnRzU3RhdGljQXR0cihKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7CitKU0M6OkVu
Y29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5jbHVkZXNTdGF0aWNBdHRy
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5
TmFtZSk7Citib29sIHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5jbHVkZXNTdGF0aWNB
dHRyKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29k
ZWRKU1ZhbHVlKTsKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENv
bmRpdGlvbjIzKQotSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRz
U3RyMShKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9w
ZXJ0eU5hbWUpOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0
cjEoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVy
dHlOYW1lKTsKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRp
dGlvbjIzKQotSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3Ry
MihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0
eU5hbWUpOwotYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyMihKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7CitK
U0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMihKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOworYm9v
bCBzZXRKU1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0cjIoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOwogI2VuZGlmCiAjaWYgRU5B
QkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1KU0M6OkVuY29kZWRKU1Zh
bHVlIGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Ci1ib29sIHNldEpTVGVzdElu
dGVyZmFjZUltcGxlbWVudHNTdHIzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRK
U1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0
SW50ZXJmYWNlSW5jbHVkZXNTdHIzKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRK
U1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Citib29sIHNldEpTVGVzdEludGVyZmFjZUluY2x1
ZGVzU3RyMyhKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpF
bmNvZGVkSlNWYWx1ZSk7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJM
RShDb25kaXRpb24yMykKLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlSW1wbGVt
ZW50c05vZGUoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6
UHJvcGVydHlOYW1lKTsKLWJvb2wgc2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c05vZGUoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFs
dWUpOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VJbmNsdWRlc05vZGUoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1l
KTsKK2Jvb2wgc2V0SlNUZXN0SW50ZXJmYWNlSW5jbHVkZXNOb2RlKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKICNlbmRpZgog
I2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQogSlNDOjpFbmNv
ZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclN1cHBsZW1lbnRhbFN0YXRpY1Jl
YWRPbmx5QXR0cihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlND
OjpQcm9wZXJ0eU5hbWUpOwpAQCAtMTk3LDEyICsxOTcsMTIgQEAgdXNpbmcgSlNUZXN0SW50ZXJm
YWNlQ29uc3RydWN0b3IgPSBKU0RPTQogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVz
dEludGVyZmFjZUNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CiB7CiAjaWYgRU5BQkxFKENvbmRp
dGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiSU1QTEVNRU5UU0NPTlNUQU5U
MSIsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkNvbnN0YW50SW50ZWdl
ciwgTm9JbnRyaW5zaWMsIHsgKGxvbmcgbG9uZykoMSkgfSB9LAorICAgIHsgIklOQ0xVREVTX0NP
TlNUQU5UMSIsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkNvbnN0YW50
SW50ZWdlciwgTm9JbnRyaW5zaWMsIHsgKGxvbmcgbG9uZykoMSkgfSB9LAogI2Vsc2UKICAgICB7
IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRp
dGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiSU1QTEVNRU5UU0NPTlNUQU5U
MiIsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkNvbnN0YW50SW50ZWdl
ciwgTm9JbnRyaW5zaWMsIHsgKGxvbmcgbG9uZykoMikgfSB9LAorICAgIHsgIklOQ0xVREVTX0NP
TlNUQU5UMiIsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkNvbnN0YW50
SW50ZWdlciwgTm9JbnRyaW5zaWMsIHsgKGxvbmcgbG9uZykoMikgfSB9LAogI2Vsc2UKICAgICB7
IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCkBAIC0yMTcsMTIgKzIxNywx
MiBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0SW50ZXJmCiAgICAgeyAwLCAw
LCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24y
MikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotICAgIHsgImltcGxlbWVudHNTdGF0aWNSZWFkT25s
eUF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0YXRp
Y1JlYWRPbmx5QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJpbmNsdWRlc1N0YXRpY1JlYWRPbmx5QXR0ciIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSks
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRlc1N0YXRpY1JlYWRPbmx5
QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KDApIH0gfSwKICNlbHNlCiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwK
ICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQot
ICAgIHsgImltcGxlbWVudHNTdGF0aWNBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KDApLCBO
b0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmM+KGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0YXRpY0F0dHIpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVudHNTdGF0aWNBdHRyKSB9IH0sCisgICAg
eyAiaW5jbHVkZXNTdGF0aWNBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KDApLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5jbHVkZXNTdGF0aWNBdHRyKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0SW50
ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRlc1N0YXRpY0F0dHIpIH0gfSwKICNlbHNlCiAgICAgeyAw
LCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRpZgpAQCAtMjM3LDcgKzIzNyw3IEBA
IHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RJbnRlcmYKICAgICB7IDAsIDAsIE5v
SW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8
fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiaW1wbGVtZW50c01ldGhvZDQiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdElu
dGVyZmFjZUNvbnN0cnVjdG9yRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kNCksIChpbnRwdHJfdCkg
KDApIH0gfSwKKyAgICB7ICJpbmNsdWRlc01ldGhvZDQiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEludGVyZmFjZUNvbnN0cnVj
dG9yRnVuY3Rpb25JbmNsdWRlc01ldGhvZDQpLCAoaW50cHRyX3QpICgwKSB9IH0sCiAjZWxzZQog
ICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCiAjZW5kaWYKQEAgLTI0OSw3ICsy
NDksNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0SW50ZXJmCiB9OwogCiAj
aWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1zdGF0aWNfYXNz
ZXJ0KFRlc3RJbnRlcmZhY2U6OklNUExFTUVOVFNDT05TVEFOVDEgPT0gMSwgIklNUExFTUVOVFND
T05TVEFOVDEgaW4gVGVzdEludGVyZmFjZSBkb2VzIG5vdCBtYXRjaCB2YWx1ZSBmcm9tIElETCIp
Oworc3RhdGljX2Fzc2VydChUZXN0SW50ZXJmYWNlOjpJTkNMVURFU19DT05TVEFOVDEgPT0gMSwg
IklOQ0xVREVTX0NPTlNUQU5UMSBpbiBUZXN0SW50ZXJmYWNlIGRvZXMgbm90IG1hdGNoIHZhbHVl
IGZyb20gSURMIik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShD
b25kaXRpb24yMykKIHN0YXRpY19hc3NlcnQoVGVzdEludGVyZmFjZTo6Q09OU1RfSU1QTCA9PSAy
LCAiQ09OU1RfSU1QTCBpbiBUZXN0SW50ZXJmYWNlIGRvZXMgbm90IG1hdGNoIHZhbHVlIGZyb20g
SURMIik7CkBAIC0zMTAsMjIgKzMxMCwyMiBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUg
SlNUZXN0SW50ZXJmCiB7CiAgICAgeyAiY29uc3RydWN0b3IiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEludGVy
ZmFjZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IpIH0gfSwKICNpZiBF
TkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLSAgICB7ICJpbXBsZW1l
bnRzU3RyMSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RJbnRlcmZhY2VJ
bXBsZW1lbnRzU3RyMSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KDApIH0gfSwKKyAgICB7ICJpbmNsdWRlc1N0cjEiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0
dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIxKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkgfSB9LAogI2Vs
c2UKICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5B
QkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiaW1wbGVtZW50
c1N0cjIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3Vz
dG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0lu
dHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmM+KGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIyKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVt
ZW50c1N0cjIpIH0gfSwKKyAgICB7ICJpbmNsdWRlc1N0cjIiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEludGVyZmFjZUluY2x1ZGVz
U3RyMiksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMikgfSB9LAogI2Vsc2UKICAgICB7IDAs
IDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlv
bjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiaW1wbGVtZW50c1N0cjMiLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3Ig
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdElu
dGVyZmFjZUltcGxlbWVudHNTdHIzKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0
eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjMpIH0g
fSwKKyAgICB7ICJpbmNsdWRlc1N0cjMiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
T01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMyksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dEludGVyZmFjZUluY2x1ZGVzU3RyMykgfSB9LAogI2Vsc2UKICAgICB7IDAsIDAsIE5vSW50cmlu
c2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFC
TEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiaW1wbGVtZW50c05vZGUiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEludGVyZmFjZUltcGxl
bWVudHNOb2RlKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oc2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c05vZGUpIH0gfSwKKyAgICB7ICJp
bmNsdWRlc05vZGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUp
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdEludGVyZmFjZUluY2x1ZGVzTm9kZSksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEludGVyZmFjZUlu
Y2x1ZGVzTm9kZSkgfSB9LAogI2Vsc2UKICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAg
fSB9LAogI2VuZGlmCkBAIC0zNjAsMTcgKzM2MCwxNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxl
VmFsdWUgSlNUZXN0SW50ZXJmCiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwK
ICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQot
ICAgIHsgImltcGxlbWVudHNNZXRob2QxIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlv
bkltcGxlbWVudHNNZXRob2QxKSwgKGludHB0cl90KSAoMCkgfSB9LAorICAgIHsgImluY2x1ZGVz
TWV0aG9kMSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpG
dW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVG
dW5jdGlvbj4oanNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25JbmNsdWRlc01ldGhvZDEp
LCAoaW50cHRyX3QpICgwKSB9IH0sCiAjZWxzZQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsg
MCwgMCB9IH0sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25k
aXRpb24yMykKLSAgICB7ICJpbXBsZW1lbnRzTWV0aG9kMiIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0SW50ZXJmYWNlUHJvdG90
eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMiksIChpbnRwdHJfdCkgKDIpIH0gfSwKKyAgICB7
ICJpbmNsdWRlc01ldGhvZDIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVk
ZXNNZXRob2QyKSwgKGludHB0cl90KSAoMikgfSB9LAogI2Vsc2UKICAgICB7IDAsIDAsIE5vSW50
cmluc2ljLCB7IDAsIDAgfSB9LAogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBF
TkFCTEUoQ29uZGl0aW9uMjMpCi0gICAgeyAiaW1wbGVtZW50c01ldGhvZDMiLCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEludGVy
ZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDMpLCAoaW50cHRyX3QpICgwKSB9
IH0sCisgICAgeyAiaW5jbHVkZXNNZXRob2QzIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0
YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5j
dGlvbkluY2x1ZGVzTWV0aG9kMyksIChpbnRwdHJfdCkgKDApIH0gfSwKICNlbHNlCiAgICAgeyAw
LCAwLCBOb0ludHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRpZgpAQCAtNDA0LDEyICs0MDQsMTIg
QEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEludGVyZgogICAgIHsgInZhbHVl
cyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlv
biksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlv
bj4oanNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25WYWx1ZXMpLCAoaW50cHRyX3QpICgw
KSB9IH0sCiAgICAgeyAiZm9yRWFjaCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNf
Y2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25G
b3JFYWNoKSwgKGludHB0cl90KSAoMSkgfSB9LAogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwg
RU5BQkxFKENvbmRpdGlvbjIzKQotICAgIHsgIklNUExFTUVOVFNDT05TVEFOVDEiLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDb25zdGFudEludGVnZXIsIE5vSW50cmlu
c2ljLCB7IChsb25nIGxvbmcpKDEpIH0gfSwKKyAgICB7ICJJTkNMVURFU19DT05TVEFOVDEiLCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDb25zdGFudEludGVnZXIsIE5v
SW50cmluc2ljLCB7IChsb25nIGxvbmcpKDEpIH0gfSwKICNlbHNlCiAgICAgeyAwLCAwLCBOb0lu
dHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwg
RU5BQkxFKENvbmRpdGlvbjIzKQotICAgIHsgIklNUExFTUVOVFNDT05TVEFOVDIiLCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDb25zdGFudEludGVnZXIsIE5vSW50cmlu
c2ljLCB7IChsb25nIGxvbmcpKDIpIH0gfSwKKyAgICB7ICJJTkNMVURFU19DT05TVEFOVDIiLCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDb25zdGFudEludGVnZXIsIE5v
SW50cmluc2ljLCB7IChsb25nIGxvbmcpKDIpIH0gfSwKICNlbHNlCiAgICAgeyAwLCAwLCBOb0lu
dHJpbnNpYywgeyAwLCAwIH0gfSwKICNlbmRpZgpAQCAtNTA2LDg5ICs1MDYsODkgQEAgYm9vbCBz
ZXRKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvcihKU0dsbwogfQogCiAjaWYgRU5BQkxFKENvbmRp
dGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1zdGF0aWMgaW5saW5lIEpTVmFsdWUganNU
ZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1lbnRzU3RhdGljUmVhZE9ubHlBdHRyR2V0dGVy
KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0KQorc3RhdGljIGlubGluZSBKU1Zh
bHVlIGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5jbHVkZXNTdGF0aWNSZWFkT25seUF0dHJH
ZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QpCiB7CiAgICAgYXV0byYg
dm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhy
b3dTY29wZSwgKHRvSlM8SURMTG9uZz4obGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwg
VGVzdEludGVyZmFjZTo6aW1wbGVtZW50c1N0YXRpY1JlYWRPbmx5QXR0cigpKSkpOworICAgIFJF
TEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExMb25nPihsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aHJvd1Njb3BlLCBUZXN0SW50ZXJmYWNlOjppbmNsdWRlc1N0YXRpY1JlYWRPbmx5
QXR0cigpKSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rv
ckltcGxlbWVudHNTdGF0aWNSZWFkT25seUF0dHIoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2Rl
ZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRlc1N0YXRpY1JlYWRPbmx5
QXR0cihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RJbnRlcmZhY2U+OjpnZXRTdGF0aWM8anNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1l
bnRzU3RhdGljUmVhZE9ubHlBdHRyR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCAiaW1wbGVtZW50c1N0YXRpY1JlYWRPbmx5QXR0ciIpOworICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6Z2V0U3RhdGljPGpzVGVzdEludGVyZmFjZUNvbnN0cnVj
dG9ySW5jbHVkZXNTdGF0aWNSZWFkT25seUF0dHJHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsICJpbmNsdWRlc1N0YXRpY1JlYWRPbmx5QXR0ciIpOwogfQogCiAjZW5kaWYK
IAogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotc3RhdGlj
IGlubGluZSBKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50c1N0YXRp
Y0F0dHJHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QpCitzdGF0aWMg
aW5saW5lIEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JJbmNsdWRlc1N0YXRpY0F0
dHJHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QpCiB7CiAgICAgYXV0
byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHRocm93
U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBSRUxFQVNFX0FORF9SRVRVUk4o
dGhyb3dTY29wZSwgKHRvSlM8SURMRE9NU3RyaW5nPihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJv
d1Njb3BlLCBUZXN0SW50ZXJmYWNlOjppbXBsZW1lbnRzU3RhdGljQXR0cigpKSkpOworICAgIFJF
TEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExET01TdHJpbmc+KGxleGljYWxH
bG9iYWxPYmplY3QsIHRocm93U2NvcGUsIFRlc3RJbnRlcmZhY2U6OmluY2x1ZGVzU3RhdGljQXR0
cigpKSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcklt
cGxlbWVudHNTdGF0aWNBdHRyKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIGpz
VGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5jbHVkZXNTdGF0aWNBdHRyKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5
TmFtZSkKIHsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OmdldFN0
YXRpYzxqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVudHNTdGF0aWNBdHRyR2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiaW1wbGVtZW50c1N0YXRpY0F0dHIi
KTsKKyAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OmdldFN0YXRpYzxq
c1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckluY2x1ZGVzU3RhdGljQXR0ckdldHRlcj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgImluY2x1ZGVzU3RhdGljQXR0ciIpOwogfQogCiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQot
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW1wbGVtZW50
c1N0YXRpY0F0dHJTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VmFsdWUgdmFsdWUpCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0SW50ZXJmYWNlQ29uc3Ry
dWN0b3JJbmNsdWRlc1N0YXRpY0F0dHJTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9i
YWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiB7CiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZs
ZXhpY2FsR2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExET01TdHJpbmc+
KGxleGljYWxHbG9iYWxPYmplY3QsIHZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRo
cm93U2NvcGUsIGZhbHNlKTsKICAgICBBdHRyaWJ1dGVTZXR0ZXI6OmNhbGwobGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhyb3dTY29wZSwgWyZdIHsKLSAgICAgICAgcmV0dXJuIFRlc3RJbnRlcmZhY2U6
OnNldEltcGxlbWVudHNTdGF0aWNBdHRyKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKKyAgICAgICAg
cmV0dXJuIFRlc3RJbnRlcmZhY2U6OnNldEluY2x1ZGVzU3RhdGljQXR0cihXVEZNb3ZlKG5hdGl2
ZVZhbHVlKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgc2V0SlNUZXN0
SW50ZXJmYWNlQ29uc3RydWN0b3JJbXBsZW1lbnRzU3RhdGljQXR0cihKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpCitib29sIHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5j
bHVkZXNTdGF0aWNBdHRyKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKIHsKLSAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OnNldFN0YXRpYzxzZXRKU1Rl
c3RJbnRlcmZhY2VDb25zdHJ1Y3RvckltcGxlbWVudHNTdGF0aWNBdHRyU2V0dGVyPigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJpbXBsZW1lbnRzU3RhdGlj
QXR0ciIpOworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6c2V0U3Rh
dGljPHNldEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9ySW5jbHVkZXNTdGF0aWNBdHRyU2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJpbmNsdWRl
c1N0YXRpY0F0dHIiKTsKIH0KIAogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8
IEVOQUJMRShDb25kaXRpb24yMykKLXN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RJbnRlcmZh
Y2VJbXBsZW1lbnRzU3RyMUdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2JqZWN0KQorc3RhdGljIGlubGluZSBKU1ZhbHVlIGpz
VGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMUdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2JqZWN0KQogewogICAgIGF1dG8mIHZt
ID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgYXV0byB0aHJvd1Njb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qu
d3JhcHBlZCgpOwotICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExE
T01TdHJpbmc+KGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIGltcGwuaW1wbGVtZW50
c1N0cjEoKSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwgKHRvSlM8SURM
RE9NU3RyaW5nPihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCBpbXBsLmluY2x1ZGVz
U3RyMSgpKSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRz
U3RyMShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VJ
bmNsdWRlc1N0cjEoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRK
U1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewotICAgIHJldHVybiBJRExBdHRyaWJ1
dGU8SlNUZXN0SW50ZXJmYWNlPjo6Z2V0PGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIxR2V0
dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCAiaW1wbGVtZW50c1N0cjEiKTsKKyAgICByZXR1cm4gSURMQXR0cmlidXRl
PEpTVGVzdEludGVyZmFjZT46OmdldDxqc1Rlc3RJbnRlcmZhY2VJbmNsdWRlc1N0cjFHZXR0ZXIs
IENhc3RlZFRoaXNFcnJvckJlaGF2aW9yOjpBc3NlcnQ+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsICJpbmNsdWRlc1N0cjEiKTsKIH0KIAogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ29u
ZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLXN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBq
c1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyMkdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2JqZWN0KQorc3RhdGljIGlubGlu
ZSBKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMkdldHRlcihKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2JqZWN0KQogewog
ICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgYXV0
byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgYXV0byYgaW1wbCA9
IHRoaXNPYmplY3Qud3JhcHBlZCgpOwotICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3Bl
LCAodG9KUzxJRExET01TdHJpbmc+KGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIGlt
cGwuaW1wbGVtZW50c1N0cjIoKSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhyb3dTY29w
ZSwgKHRvSlM8SURMRE9NU3RyaW5nPihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCBp
bXBsLmluY2x1ZGVzU3RyMigpKSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZh
Y2VJbXBsZW1lbnRzU3RyMihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBqc1Rl
c3RJbnRlcmZhY2VJbmNsdWRlc1N0cjIoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewotICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6Z2V0PGpzVGVzdEludGVyZmFjZUltcGxl
bWVudHNTdHIyR2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0PigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiaW1wbGVtZW50c1N0cjIiKTsKKyAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OmdldDxqc1Rlc3RJbnRlcmZhY2VJbmNsdWRl
c1N0cjJHZXR0ZXIsIENhc3RlZFRoaXNFcnJvckJlaGF2aW9yOjpBc3NlcnQ+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsICJpbmNsdWRlc1N0cjIiKTsKIH0KIAogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLXN0YXRpYyBpbmxp
bmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyMlNldHRlcihKU0dsb2JhbE9i
amVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2JqZWN0LCBK
U1ZhbHVlIHZhbHVlKQorc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUluY2x1
ZGVzU3RyMlNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
SW50ZXJmYWNlJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQogewogICAgIGF1dG8mIHZtID0g
SlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkBAIC01OTYsODAgKzU5Niw4MCBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc2V0SlNUZXN0SW50ZXJmYWNlSW1wCiAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNv
bnZlcnQ8SURMRE9NU3RyaW5nPihsZXhpY2FsR2xvYmFsT2JqZWN0LCB2YWx1ZSk7CiAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CiAgICAgQXR0cmlidXRlU2V0dGVy
OjpjYWxsKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIFsmXSB7Ci0gICAgICAgIHJl
dHVybiBpbXBsLnNldEltcGxlbWVudHNTdHIyKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKKyAgICAg
ICAgcmV0dXJuIGltcGwuc2V0SW5jbHVkZXNTdHIyKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKICAg
ICB9KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VJbXBs
ZW1lbnRzU3RyMihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpCitib29sIHNldEpT
VGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUpCiB7Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpzZXQ8c2V0
SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgImltcGxlbWVudHNTdHIyIik7CisgICAgcmV0dXJu
IElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpzZXQ8c2V0SlNUZXN0SW50ZXJmYWNlSW5j
bHVkZXNTdHIyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVk
VmFsdWUsICJpbmNsdWRlc1N0cjIiKTsKIH0KIAogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ29uZGl0
aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLXN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rl
c3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyM0dldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2JqZWN0KQorc3RhdGljIGlubGluZSBK
U1ZhbHVlIGpzVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyM0dldHRlcihKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2JqZWN0KQogewogICAg
IFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICByZXR1cm4gdGhpc09iamVj
dC5pbXBsZW1lbnRzU3RyMyhsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICByZXR1cm4gdGhpc09i
amVjdC5pbmNsdWRlc1N0cjMobGV4aWNhbEdsb2JhbE9iamVjdCk7CiB9CiAKLUVuY29kZWRKU1Zh
bHVlIGpzVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIzKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK0Vu
Y29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZUluY2x1ZGVzU3RyMyhKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5h
bWUpCiB7Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RJbnRlcmZhY2U+OjpnZXQ8anNU
ZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjNHZXR0ZXIsIENhc3RlZFRoaXNFcnJvckJlaGF2aW9y
OjpBc3NlcnQ+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJpbXBsZW1lbnRzU3Ry
MyIpOworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6Z2V0PGpzVGVz
dEludGVyZmFjZUluY2x1ZGVzU3RyM0dldHRlciwgQ2FzdGVkVGhpc0Vycm9yQmVoYXZpb3I6OkFz
c2VydD4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgImluY2x1ZGVzU3RyMyIpOwog
fQogCiAjZW5kaWYKIAogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlv
bjIzKQotc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIz
U2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZh
Y2UmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0SW50ZXJmYWNlSW5jbHVkZXNTdHIzU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU1Rlc3RJbnRlcmZhY2UmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiB7
CiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICB0
aGlzT2JqZWN0LnNldEltcGxlbWVudHNTdHIzKGxleGljYWxHbG9iYWxPYmplY3QsIHZhbHVlKTsK
KyAgICB0aGlzT2JqZWN0LnNldEluY2x1ZGVzU3RyMyhsZXhpY2FsR2xvYmFsT2JqZWN0LCB2YWx1
ZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgc2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVt
ZW50c1N0cjMoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQorYm9vbCBzZXRKU1Rl
c3RJbnRlcmZhY2VJbmNsdWRlc1N0cjMoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVl
KQogewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6c2V0PHNldEpT
VGVzdEludGVyZmFjZUltcGxlbWVudHNTdHIzU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJpbXBsZW1lbnRzU3RyMyIpOworICAgIHJldHVybiBJ
RExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6c2V0PHNldEpTVGVzdEludGVyZmFjZUluY2x1
ZGVzU3RyM1NldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiaW5jbHVkZXNTdHIzIik7CiB9CiAKICNlbmRpZgogCiAjaWYgRU5BQkxFKENvbmRpdGlv
bjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCi1zdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0
SW50ZXJmYWNlSW1wbGVtZW50c05vZGVHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9i
YWxPYmplY3QsIEpTVGVzdEludGVyZmFjZSYgdGhpc09iamVjdCkKK3N0YXRpYyBpbmxpbmUgSlNW
YWx1ZSBqc1Rlc3RJbnRlcmZhY2VJbmNsdWRlc05vZGVHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEludGVyZmFjZSYgdGhpc09iamVjdCkKIHsKICAgICBh
dXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOwogICAgIGF1dG8gdGhy
b3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIGF1dG8mIGltcGwgPSB0aGlz
T2JqZWN0LndyYXBwZWQoKTsKLSAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwgKHRv
SlM8SURMSW50ZXJmYWNlPE5vZGU+PihsZXhpY2FsR2xvYmFsT2JqZWN0LCAqdGhpc09iamVjdC5n
bG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgaW1wbC5pbXBsZW1lbnRzTm9kZSgpKSkpOworICAg
IFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExJbnRlcmZhY2U8Tm9kZT4+
KGxleGljYWxHbG9iYWxPYmplY3QsICp0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpLCB0aHJvd1Nj
b3BlLCBpbXBsLmluY2x1ZGVzTm9kZSgpKSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJ
bnRlcmZhY2VJbXBsZW1lbnRzTm9kZShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1
ZSBqc1Rlc3RJbnRlcmZhY2VJbmNsdWRlc05vZGUoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewotICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0SW50ZXJmYWNlPjo6Z2V0PGpzVGVzdEludGVyZmFj
ZUltcGxlbWVudHNOb2RlR2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0Pigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCAiaW1wbGVtZW50c05vZGUiKTsKKyAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OmdldDxqc1Rlc3RJbnRlcmZhY2VJ
bmNsdWRlc05vZGVHZXR0ZXIsIENhc3RlZFRoaXNFcnJvckJlaGF2aW9yOjpBc3NlcnQ+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJpbmNsdWRlc05vZGUiKTsKIH0KIAogI2VuZGlm
CiAKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLXN0YXRp
YyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzTm9kZVNldHRlcihKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0SW50ZXJmYWNlJiB0aGlzT2Jq
ZWN0LCBKU1ZhbHVlIHZhbHVlKQorc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEludGVyZmFj
ZUluY2x1ZGVzTm9kZVNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwg
SlNUZXN0SW50ZXJmYWNlJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQogewogICAgIGF1dG8m
IHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgYXV0byB0aHJvd1Nj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgYXV0byYgaW1wbCA9IHRoaXNPYmpl
Y3Qud3JhcHBlZCgpOwotICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETEludGVyZmFj
ZTxOb2RlPj4obGV4aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUsIFtdKEpTQzo6SlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dB
dHRyaWJ1dGVUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsICJUZXN0SW50ZXJm
YWNlIiwgImltcGxlbWVudHNOb2RlIiwgIk5vZGUiKTsgfSk7CisgICAgYXV0byBuYXRpdmVWYWx1
ZSA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPE5vZGU+PihsZXhpY2FsR2xvYmFsT2JqZWN0LCB2YWx1
ZSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJv
d1Njb3BlJiBzY29wZSkgeyB0aHJvd0F0dHJpYnV0ZVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBzY29wZSwgIlRlc3RJbnRlcmZhY2UiLCAiaW5jbHVkZXNOb2RlIiwgIk5vZGUiKTsgfSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CiAgICAgQXR0cmli
dXRlU2V0dGVyOjpjYWxsKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIFsmXSB7Ci0g
ICAgICAgIHJldHVybiBpbXBsLnNldEltcGxlbWVudHNOb2RlKCpuYXRpdmVWYWx1ZSk7CisgICAg
ICAgIHJldHVybiBpbXBsLnNldEluY2x1ZGVzTm9kZSgqbmF0aXZlVmFsdWUpOwogICAgIH0pOwog
ICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIHNldEpTVGVzdEludGVyZmFjZUltcGxlbWVudHNO
b2RlKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKK2Jvb2wgc2V0SlNUZXN0SW50
ZXJmYWNlSW5jbHVkZXNOb2RlKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKIHsK
LSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEludGVyZmFjZT46OnNldDxzZXRKU1Rlc3RJ
bnRlcmZhY2VJbXBsZW1lbnRzTm9kZVNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNW
YWx1ZSwgZW5jb2RlZFZhbHVlLCAiaW1wbGVtZW50c05vZGUiKTsKKyAgICByZXR1cm4gSURMQXR0
cmlidXRlPEpTVGVzdEludGVyZmFjZT46OnNldDxzZXRKU1Rlc3RJbnRlcmZhY2VJbmNsdWRlc05v
ZGVTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwg
ImluY2x1ZGVzTm9kZSIpOwogfQogCiAjZW5kaWYKQEAgLTg4MSw3ICs4ODEsNyBAQCBib29sIHNl
dEpTVGVzdEludGVyZmFjZVJlZmxlY3RBdHRyaWJ1dGUoCiAjZW5kaWYKIAogI2lmIEVOQUJMRShD
b25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotc3RhdGljIGlubGluZSBKU0M6OkVu
Y29kZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01l
dGhvZDFCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rlc3RJbnRlcmZh
Y2U+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzKQorc3RhdGljIGlubGluZSBKU0M6OkVuY29k
ZWRKU1ZhbHVlIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2Qx
Qm9keShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxG
cmFtZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0SW50ZXJmYWNlPjo6
Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcykKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0o
bGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CkBAIC04ODksMTkgKzg4OSwxOSBAQCBzdGF0aWMgaW5saW5lIEpTQzo6RW5j
b2RlZEpTVmFsdWUganNUZXN0CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxGcmFtZSk7CiAgICAgYXV0
byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKICAgICB0aHJvd1Njb3BlLnJlbGVhc2Uo
KTsKLSAgICBpbXBsLmltcGxlbWVudHNNZXRob2QxKCk7CisgICAgaW1wbC5pbmNsdWRlc01ldGhv
ZDEoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCi1F
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0
aW9uSW1wbGVtZW50c01ldGhvZDEoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKQorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkluY2x1ZGVzTWV0aG9kMShKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7Ci0gICAgcmV0
dXJuIElETE9wZXJhdGlvbjxKU1Rlc3RJbnRlcmZhY2U+OjpjYWxsPGpzVGVzdEludGVyZmFjZVBy
b3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDFCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhbGxGcmFtZSwgImltcGxlbWVudHNNZXRob2QxIik7CisgICAgcmV0dXJuIElETE9wZXJh
dGlvbjxKU1Rlc3RJbnRlcmZhY2U+OjpjYWxsPGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0
aW9uSW5jbHVkZXNNZXRob2QxQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUs
ICJpbmNsdWRlc01ldGhvZDEiKTsKIH0KIAogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ29uZGl0aW9u
MjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNW
YWx1ZSBqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkltcGxlbWVudHNNZXRob2QyQm9k
eShKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxGcmFt
ZSogY2FsbEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0SW50ZXJmYWNlPjo6Q2xh
c3NQYXJhbWV0ZXIgY2FzdGVkVGhpcykKK3N0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1
ZSBqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbkluY2x1ZGVzTWV0aG9kMkJvZHkoSlND
OjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9uPEpTVGVzdEludGVyZmFjZT46OkNsYXNzUGFy
YW1ldGVyIGNhc3RlZFRoaXMpCiB7CiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKGxleGljYWxH
bG9iYWxPYmplY3QpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwpAQCAtOTE3LDUwICs5MTcsNTAgQEAgc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1Zh
bHVlIGpzVGVzdAogICAgIGF1dG8gc3RyQXJnID0gY29udmVydDxJRExET01TdHJpbmc+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBFbnN1cmVTdGlsbEFsaXZl
U2NvcGUgYXJndW1lbnQxID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgxKTsKLSAgICBh
dXRvIG9iakFyZyA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPFRlc3RPYmo+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgYXJndW1lbnQxLnZhbHVlKCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVudFR5
cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMSwgIm9iakFyZyIsICJUZXN0SW50
ZXJmYWNlIiwgImltcGxlbWVudHNNZXRob2QyIiwgIlRlc3RPYmoiKTsgfSk7CisgICAgYXV0byBv
YmpBcmcgPSBjb252ZXJ0PElETEludGVyZmFjZTxUZXN0T2JqPj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsIGFyZ3VtZW50MS52YWx1ZSgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRUeXBlRXJy
b3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDEsICJvYmpBcmciLCAiVGVzdEludGVyZmFj
ZSIsICJpbmNsdWRlc01ldGhvZDIiLCAiVGVzdE9iaiIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwotICAgIFJFTEVBU0VfQU5EX1JF
VFVSTih0aHJvd1Njb3BlLCBKU1ZhbHVlOjplbmNvZGUodG9KUzxJRExJbnRlcmZhY2U8VGVzdE9i
aj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIHRo
cm93U2NvcGUsIGltcGwuaW1wbGVtZW50c01ldGhvZDIoKmNvbnRleHQsIFdURk1vdmUoc3RyQXJn
KSwgKm9iakFyZykpKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUsIEpTVmFs
dWU6OmVuY29kZSh0b0pTPElETEludGVyZmFjZTxUZXN0T2JqPj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgaW1wbC5pbmNsdWRl
c01ldGhvZDIoKmNvbnRleHQsIFdURk1vdmUoc3RyQXJnKSwgKm9iakFyZykpKSk7CiB9CiAKLUVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rp
b25JbXBsZW1lbnRzTWV0aG9kMihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2QyKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKLSAgICByZXR1
cm4gSURMT3BlcmF0aW9uPEpTVGVzdEludGVyZmFjZT46OmNhbGw8anNUZXN0SW50ZXJmYWNlUHJv
dG90eXBlRnVuY3Rpb25JbXBsZW1lbnRzTWV0aG9kMkJvZHk+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCAqY2FsbEZyYW1lLCAiaW1wbGVtZW50c01ldGhvZDIiKTsKKyAgICByZXR1cm4gSURMT3BlcmF0
aW9uPEpTVGVzdEludGVyZmFjZT46OmNhbGw8anNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rp
b25JbmNsdWRlc01ldGhvZDJCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwg
ImluY2x1ZGVzTWV0aG9kMiIpOwogfQogCiAjZW5kaWYKIAogI2lmIEVOQUJMRShDb25kaXRpb24y
MikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQotc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1Zh
bHVlIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDNCb2R5
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1l
KiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rlc3RJbnRlcmZhY2U+OjpDbGFz
c1BhcmFtZXRlciBjYXN0ZWRUaGlzKQorc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVl
IGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2QzQm9keShKU0M6
OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxGcmFtZSogY2Fs
bEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0SW50ZXJmYWNlPjo6Q2xhc3NQYXJh
bWV0ZXIgY2FzdGVkVGhpcykKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0obGV4aWNhbEds
b2JhbE9iamVjdCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIFVOVVNFRF9QQVJBTShjYWxs
RnJhbWUpOwotICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAoSlNWYWx1ZTo6ZW5j
b2RlKGNhc3RlZFRoaXMtPmltcGxlbWVudHNNZXRob2QzKCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAq
Y2FsbEZyYW1lKSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwgKEpTVmFs
dWU6OmVuY29kZShjYXN0ZWRUaGlzLT5pbmNsdWRlc01ldGhvZDMoKmxleGljYWxHbG9iYWxPYmpl
Y3QsICpjYWxsRnJhbWUpKSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpz
VGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDMoSlNHbG9iYWxP
YmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQorRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvbklu
Y2x1ZGVzTWV0aG9kMyhKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZy
YW1lKiBjYWxsRnJhbWUpCiB7Ci0gICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU1Rlc3RJbnRlcmZh
Y2U+OjpjYWxsPGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW1wbGVtZW50c01ldGhv
ZDNCb2R5PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgImltcGxlbWVudHNNZXRo
b2QzIik7CisgICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU1Rlc3RJbnRlcmZhY2U+OjpjYWxsPGpz
VGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uSW5jbHVkZXNNZXRob2QzQm9keT4oKmxleGlj
YWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJpbmNsdWRlc01ldGhvZDMiKTsKIH0KIAogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKLXN0
YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rv
ckZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDRCb2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCitzdGF0aWMgaW5saW5l
IEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JGdW5jdGlvbklu
Y2x1ZGVzTWV0aG9kNEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0
Vk0obGV4aWNhbEdsb2JhbE9iamVjdCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIFVOVVNF
RF9QQVJBTShjYWxsRnJhbWUpOwogICAgIHRocm93U2NvcGUucmVsZWFzZSgpOwotICAgIFRlc3RJ
bnRlcmZhY2U6OmltcGxlbWVudHNNZXRob2Q0KCk7CisgICAgVGVzdEludGVyZmFjZTo6aW5jbHVk
ZXNNZXRob2Q0KCk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
IH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1
Y3RvckZ1bmN0aW9uSW1wbGVtZW50c01ldGhvZDQoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvckZ1bmN0aW9uSW5jbHVkZXNNZXRob2Q0KEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkK
IHsKLSAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVzdEludGVyZmFjZT46OmNhbGxTdGF0aWM8
anNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JGdW5jdGlvbkltcGxlbWVudHNNZXRob2Q0Qm9keT4o
KmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJpbXBsZW1lbnRzTWV0aG9kNCIpOwor
ICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0SW50ZXJmYWNlPjo6Y2FsbFN0YXRpYzxqc1Rl
c3RJbnRlcmZhY2VDb25zdHJ1Y3RvckZ1bmN0aW9uSW5jbHVkZXNNZXRob2Q0Qm9keT4oKmxleGlj
YWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJpbmNsdWRlc01ldGhvZDQiKTsKIH0KIAogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SW50ZXJmYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTY0LDEwICs2NCwxMCBAQCBwdWJsaWM6CiAKICAgICAvLyBDdXN0b20gYXR0
cmlidXRlcwogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRpdGlvbjIzKQot
ICAgIEpTQzo6SlNWYWx1ZSBpbXBsZW1lbnRzU3RyMyhKU0M6OkpTR2xvYmFsT2JqZWN0JikgY29u
c3Q7CisgICAgSlNDOjpKU1ZhbHVlIGluY2x1ZGVzU3RyMyhKU0M6OkpTR2xvYmFsT2JqZWN0Jikg
Y29uc3Q7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShDb25kaXRp
b24yMykKLSAgICB2b2lkIHNldEltcGxlbWVudHNTdHIzKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBK
U0M6OkpTVmFsdWUpOworICAgIHZvaWQgc2V0SW5jbHVkZXNTdHIzKEpTQzo6SlNHbG9iYWxPYmpl
Y3QmLCBKU0M6OkpTVmFsdWUpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBF
TkFCTEUoQ29uZGl0aW9uMTIpCiAgICAgSlNDOjpKU1ZhbHVlIHN1cHBsZW1lbnRhbFN0cjMoSlND
OjpKU0dsb2JhbE9iamVjdCYpIGNvbnN0OwpAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiAKICAg
ICAvLyBDdXN0b20gZnVuY3Rpb25zCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUo
Q29uZGl0aW9uMjMpCi0gICAgSlNDOjpKU1ZhbHVlIGltcGxlbWVudHNNZXRob2QzKEpTQzo6SlNH
bG9iYWxPYmplY3QmLCBKU0M6OkNhbGxGcmFtZSYpOworICAgIEpTQzo6SlNWYWx1ZSBpbmNsdWRl
c01ldGhvZDMoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6Q2FsbEZyYW1lJik7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICAgICBKU0M6
OkpTVmFsdWUgc3VwcGxlbWVudGFsTWV0aG9kMyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpD
YWxsRnJhbWUmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5pZGwJKHJldmlz
aW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjcsNSArMjcsNSBAQCBpbnRlcmZhY2UgQ2hhcmFjdGVyRGF0YSA6IE5v
ZGUgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlcGxhY2VEYXRhKHVuc2ln
bmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGNvdW50LCBET01TdHJpbmcgZGF0YSk7CiB9
OwogCi1DaGFyYWN0ZXJEYXRhIGltcGxlbWVudHMgQ2hpbGROb2RlOwotQ2hhcmFjdGVyRGF0YSBp
bXBsZW1lbnRzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTsKK0NoYXJhY3RlckRhdGEgaW5jbHVk
ZXMgQ2hpbGROb2RlOworQ2hhcmFjdGVyRGF0YSBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGls
ZE5vZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwJKHJl
dmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTU4LDQgKzU4LDQgQEAKICAgICBkb3VibGU/IGdhbW1hOwog
fTsKIAotRGV2aWNlTW90aW9uRXZlbnQgaW1wbGVtZW50cyBEZXZpY2VPcmllbnRhdGlvbk9yTW90
aW9uRXZlbnQ7CitEZXZpY2VNb3Rpb25FdmVudCBpbmNsdWRlcyBEZXZpY2VPcmllbnRhdGlvbk9y
TW90aW9uRXZlbnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25F
dmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDQgQEAK
ICNlbmRpZgogfTsKIAotRGV2aWNlT3JpZW50YXRpb25FdmVudCBpbXBsZW1lbnRzIERldmljZU9y
aWVudGF0aW9uT3JNb3Rpb25FdmVudDsKK0RldmljZU9yaWVudGF0aW9uRXZlbnQgaW5jbHVkZXMg
RGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0xOTksOCArMTk5LDggQEAgdHlwZWRlZiAoSFRNTFNjcmlwdEVs
ZW1lbnQgb3IgU1ZHU2NyaXB0RQogCiBlbnVtIERvY3VtZW50UmVhZHlTdGF0ZSB7ICJsb2FkaW5n
IiwgImludGVyYWN0aXZlIiwgImNvbXBsZXRlIiB9OwogCi1Eb2N1bWVudCBpbXBsZW1lbnRzIERv
Y3VtZW50QW5kRWxlbWVudEV2ZW50SGFuZGxlcnM7Ci1Eb2N1bWVudCBpbXBsZW1lbnRzIFBhcmVu
dE5vZGU7Ci1Eb2N1bWVudCBpbXBsZW1lbnRzIE5vbkVsZW1lbnRQYXJlbnROb2RlOwotRG9jdW1l
bnQgaW1wbGVtZW50cyBEb2N1bWVudE9yU2hhZG93Um9vdDsKLURvY3VtZW50IGltcGxlbWVudHMg
R2xvYmFsRXZlbnRIYW5kbGVyczsKK0RvY3VtZW50IGluY2x1ZGVzIERvY3VtZW50QW5kRWxlbWVu
dEV2ZW50SGFuZGxlcnM7CitEb2N1bWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOworRG9jdW1lbnQg
aW5jbHVkZXMgTm9uRWxlbWVudFBhcmVudE5vZGU7CitEb2N1bWVudCBpbmNsdWRlcyBEb2N1bWVu
dE9yU2hhZG93Um9vdDsKK0RvY3VtZW50IGluY2x1ZGVzIEdsb2JhbEV2ZW50SGFuZGxlcnM7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsCShyZXZpc2lvbiAyNjY0
NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDUgKzI1LDUgQEAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIGNvbnN0cnVj
dG9yKCk7CiB9OwogCi1Eb2N1bWVudEZyYWdtZW50IGltcGxlbWVudHMgUGFyZW50Tm9kZTsKLURv
Y3VtZW50RnJhZ21lbnQgaW1wbGVtZW50cyBOb25FbGVtZW50UGFyZW50Tm9kZTsKK0RvY3VtZW50
RnJhZ21lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTsKK0RvY3VtZW50RnJhZ21lbnQgaW5jbHVkZXMg
Tm9uRWxlbWVudFBhcmVudE5vZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRU
eXBlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRUeXBlLmlk
bAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50VHlwZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDQgKzI2LDQgQEAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHN5c3RlbUlkOwogfTsKIAotRG9jdW1lbnRUeXBlIGltcGxlbWVudHMgQ2hp
bGROb2RlOworRG9jdW1lbnRUeXBlIGluY2x1ZGVzIENoaWxkTm9kZTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDExICsxNDgsMTEgQEAgZGljdGlvbmFyeSBT
aGFkb3dSb290SW5pdCB7CiAgICAgYm9vbGVhbiBkZWxlZ2F0ZXNGb2N1cyA9IGZhbHNlOwogfTsK
IAotRWxlbWVudCBpbXBsZW1lbnRzIEFjY2Vzc2liaWxpdHlSb2xlOwotRWxlbWVudCBpbXBsZW1l
bnRzIEFyaWFBdHRyaWJ1dGVzOwotRWxlbWVudCBpbXBsZW1lbnRzIEFuaW1hdGFibGU7Ci1FbGVt
ZW50IGltcGxlbWVudHMgQ2hpbGROb2RlOwotRWxlbWVudCBpbXBsZW1lbnRzIERvY3VtZW50QW5k
RWxlbWVudEV2ZW50SGFuZGxlcnM7Ci1FbGVtZW50IGltcGxlbWVudHMgTm9uRG9jdW1lbnRUeXBl
Q2hpbGROb2RlOwotRWxlbWVudCBpbXBsZW1lbnRzIFBhcmVudE5vZGU7Ci1FbGVtZW50IGltcGxl
bWVudHMgU2xvdGFibGU7CitFbGVtZW50IGluY2x1ZGVzIEFjY2Vzc2liaWxpdHlSb2xlOworRWxl
bWVudCBpbmNsdWRlcyBBcmlhQXR0cmlidXRlczsKK0VsZW1lbnQgaW5jbHVkZXMgQW5pbWF0YWJs
ZTsKK0VsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOworRWxlbWVudCBpbmNsdWRlcyBEb2N1bWVu
dEFuZEVsZW1lbnRFdmVudEhhbmRsZXJzOworRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5
cGVDaGlsZE5vZGU7CitFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU7CitFbGVtZW50IGluY2x1
ZGVzIFNsb3RhYmxlOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbAkocmV2aXNpb24g
MjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zNCw0ICszNCw0IEBACiAgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgaW5uZXJIVE1MOwogfTsKIAotU2hhZG93Um9v
dCBpbXBsZW1lbnRzIERvY3VtZW50T3JTaGFkb3dSb290OworU2hhZG93Um9vdCBpbmNsdWRlcyBE
b2N1bWVudE9yU2hhZG93Um9vdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5pZGwJKHJldmlzaW9uIDI2NjQ2
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYs
NCArMjYsNCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgd2hvbGVUZXh0Owog
fTsKIAotVGV4dCBpbXBsZW1lbnRzIFNsb3RhYmxlOworVGV4dCBpbmNsdWRlcyBTbG90YWJsZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCShyZXZpc2lv
biAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtNDAsNCArNDAsNCBAQCBpbnRlcmZhY2UgSFRNTEFuY2hvckVsZW1l
bnQgOiBIVE1MRWxlbWVuCiAgICAgW0VuYWJsZWRCeVNldHRpbmc9UmVmZXJyZXJQb2xpY3lBdHRy
aWJ1dGUsIEltcGxlbWVudGVkQXM9cmVmZXJyZXJQb2xpY3lGb3JCaW5kaW5ncywgQ0VSZWFjdGlv
bnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OwogfTsKIAot
SFRNTEFuY2hvckVsZW1lbnQgaW1wbGVtZW50cyBIVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzOwor
SFRNTEFuY2hvckVsZW1lbnQgaW5jbHVkZXMgSFRNTEh5cGVybGlua0VsZW1lbnRVdGlsczsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzIsNCArMzIsNCBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRNTEVs
ZW1lbnQgCiAgICAgW1B1dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9r
ZW5MaXN0IHJlbExpc3Q7CiB9OwogCi1IVE1MQXJlYUVsZW1lbnQgaW1wbGVtZW50cyBIVE1MSHlw
ZXJsaW5rRWxlbWVudFV0aWxzOworSFRNTEFyZWFFbGVtZW50IGluY2x1ZGVzIEhUTUxIeXBlcmxp
bmtFbGVtZW50VXRpbHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQu
aWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxl
bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDQgKzQ0LDQgQEAgaW50ZXJmYWNlIEhUTUxC
b2R5RWxlbWVudCA6IEhUTUxFbGVtZW50IAogICAgIFtOb3RFbnVtZXJhYmxlLCBEb2N1bWVudEV2
ZW50SGFuZGxlcl0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnNlbGVjdGlvbmNoYW5nZTsKIH07
CiAKLUhUTUxCb2R5RWxlbWVudCBpbXBsZW1lbnRzIFdpbmRvd0V2ZW50SGFuZGxlcnM7CitIVE1M
Qm9keUVsZW1lbnQgaW5jbHVkZXMgV2luZG93RXZlbnRIYW5kbGVyczsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNiBAQAog
ICAgIFtFbmFibGVkQnlTZXR0aW5nPUVudGVyS2V5SGludF0gYXR0cmlidXRlIERPTVN0cmluZyBl
bnRlcktleUhpbnQ7CiB9OwogCi1IVE1MRWxlbWVudCBpbXBsZW1lbnRzIEVsZW1lbnRDU1NJbmxp
bmVTdHlsZTsKLUhUTUxFbGVtZW50IGltcGxlbWVudHMgR2xvYmFsRXZlbnRIYW5kbGVyczsKLUhU
TUxFbGVtZW50IGltcGxlbWVudHMgSFRNTE9yRm9yZWlnbkVsZW1lbnQ7CitIVE1MRWxlbWVudCBp
bmNsdWRlcyBFbGVtZW50Q1NTSW5saW5lU3R5bGU7CitIVE1MRWxlbWVudCBpbmNsdWRlcyBHbG9i
YWxFdmVudEhhbmRsZXJzOworSFRNTEVsZW1lbnQgaW5jbHVkZXMgSFRNTE9yRm9yZWlnbkVsZW1l
bnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5pZGwJ
KHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxl
bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDQgKzM2LDQgQEAgaW50ZXJmYWNlIEhUTUxG
cmFtZVNldEVsZW1lbnQgOiBIVE1MRWxlbQogICAgIGdldHRlciBXaW5kb3dQcm94eSAoRE9NU3Ry
aW5nIG5hbWUpOwogfTsKIAotSFRNTEZyYW1lU2V0RWxlbWVudCBpbXBsZW1lbnRzIFdpbmRvd0V2
ZW50SGFuZGxlcnM7CitIVE1MRnJhbWVTZXRFbGVtZW50IGluY2x1ZGVzIFdpbmRvd0V2ZW50SGFu
ZGxlcnM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTc4LDE5ICs3OCwxOSBAQAogICAgIFtFbmFibGVkQXRSdW50aW1lPUluc3BlY3Rv
ckFkZGl0aW9ucywgTmV3T2JqZWN0XSBQYXRoMkQgZ2V0UGF0aCgpOwogfTsKIAotQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzU3RhdGU7Ci1DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNUcmFuc2Zvcm07Ci1DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNDb21wb3NpdGluZzsKLUNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCBpbXBsZW1lbnRzIENhbnZhc0ltYWdlU21vb3RoaW5nOwotQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEIGltcGxlbWVudHMgQ2FudmFzRmlsbFN0cm9rZVN0eWxlczsKLUNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1NoYWRvd1N0eWxlczsKLUNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc0ZpbHRlcnM7Ci1DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNSZWN0OwotQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGlt
cGxlbWVudHMgQ2FudmFzRHJhd1BhdGg7Ci1DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVt
ZW50cyBDYW52YXNVc2VySW50ZXJmYWNlOwotQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGltcGxl
bWVudHMgQ2FudmFzVGV4dDsKLUNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENh
bnZhc0RyYXdJbWFnZTsKLUNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZh
c0ltYWdlRGF0YTsKLUNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1Bh
dGhEcmF3aW5nU3R5bGVzOwotQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2Fu
dmFzVGV4dERyYXdpbmdTdHlsZXM7Ci1DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVtZW50
cyBDYW52YXNQYXRoOworQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1N0
YXRlOworQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1RyYW5zZm9ybTsK
K0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNDb21wb3NpdGluZzsKK0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNJbWFnZVNtb290aGluZzsKK0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNGaWxsU3Ryb2tlU3R5bGVzOwor
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1NoYWRvd1N0eWxlczsKK0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNGaWx0ZXJzOworQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc1JlY3Q7CitDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQgaW5jbHVkZXMgQ2FudmFzRHJhd1BhdGg7CitDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQg
aW5jbHVkZXMgQ2FudmFzVXNlckludGVyZmFjZTsKK0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBp
bmNsdWRlcyBDYW52YXNUZXh0OworQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENh
bnZhc0RyYXdJbWFnZTsKK0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNJ
bWFnZURhdGE7CitDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzUGF0aERy
YXdpbmdTdHlsZXM7CitDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzVGV4
dERyYXdpbmdTdHlsZXM7CitDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFz
UGF0aDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09mZnNjcmVlbkNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAkocmV2aXNpb24gMjY2
NDY4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT2Zmc2NyZWVuQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTYgKzQxLDE2IEBACiAgICAg
Ly8gW0VuYWJsZWRBdFJ1bnRpbWU9SW5zcGVjdG9yQWRkaXRpb25zLCBOZXdPYmplY3RdIFBhdGgy
RCBnZXRQYXRoKCk7CiB9OwogCi1PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1w
bGVtZW50cyBDYW52YXNTdGF0ZTsKLU9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBp
bXBsZW1lbnRzIENhbnZhc1RyYW5zZm9ybTsKLU9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCBpbXBsZW1lbnRzIENhbnZhc0NvbXBvc2l0aW5nOwotT2Zmc2NyZWVuQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzSW1hZ2VTbW9vdGhpbmc7Ci1PZmZzY3JlZW5D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNGaWxsU3Ryb2tlU3R5bGVz
OwotT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzU2hh
ZG93U3R5bGVzOwotT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMg
Q2FudmFzRmlsdGVyczsKLU9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1l
bnRzIENhbnZhc1JlY3Q7Ci1PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVt
ZW50cyBDYW52YXNEcmF3UGF0aDsKLU9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBp
bXBsZW1lbnRzIENhbnZhc0RyYXdJbWFnZTsKLU9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCBpbXBsZW1lbnRzIENhbnZhc0ltYWdlRGF0YTsKLU9mZnNjcmVlbkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1BhdGhEcmF3aW5nU3R5bGVzOwotT2Zmc2NyZWVu
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzUGF0aDsKK09mZnNjcmVl
bkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNTdGF0ZTsKK09mZnNjcmVl
bkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNUcmFuc2Zvcm07CitPZmZz
Y3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzQ29tcG9zaXRpbmc7
CitPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzSW1hZ2VT
bW9vdGhpbmc7CitPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2Fu
dmFzRmlsbFN0cm9rZVN0eWxlczsKK09mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBp
bmNsdWRlcyBDYW52YXNTaGFkb3dTdHlsZXM7CitPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQgaW5jbHVkZXMgQ2FudmFzRmlsdGVyczsKK09mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRCBpbmNsdWRlcyBDYW52YXNSZWN0OworT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEIGluY2x1ZGVzIENhbnZhc0RyYXdQYXRoOworT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEIGluY2x1ZGVzIENhbnZhc0RyYXdJbWFnZTsKK09mZnNjcmVlbkNhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNJbWFnZURhdGE7CitPZmZzY3JlZW5DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzUGF0aERyYXdpbmdTdHlsZXM7CitPZmZz
Y3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzUGF0aDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1BhaW50UmVuZGVyaW5nQ29udGV4dDJELmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9QYWludFJlbmRlcmluZ0Nv
bnRleHQyRC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1BhaW50UmVuZGVyaW5nQ29udGV4dDJELmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTQg
KzMyLDE0IEBACiBdIGludGVyZmFjZSBQYWludFJlbmRlcmluZ0NvbnRleHQyRCB7CiB9OwogCi1Q
YWludFJlbmRlcmluZ0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc1N0YXRlOwotUGFpbnRSZW5k
ZXJpbmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNUcmFuc2Zvcm07Ci1QYWludFJlbmRlcmlu
Z0NvbnRleHQyRCBpbXBsZW1lbnRzIENhbnZhc0NvbXBvc2l0aW5nOwotUGFpbnRSZW5kZXJpbmdD
b250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNJbWFnZVNtb290aGluZzsKLVBhaW50UmVuZGVyaW5n
Q29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzRmlsbFN0cm9rZVN0eWxlczsKLVBhaW50UmVuZGVy
aW5nQ29udGV4dDJEIGltcGxlbWVudHMgQ2FudmFzU2hhZG93U3R5bGVzOwotUGFpbnRSZW5kZXJp
bmdDb250ZXh0MkQgaW1wbGVtZW50cyBDYW52YXNSZWN0OwotUGFpbnRSZW5kZXJpbmdDb250ZXh0
MkQgaW1wbGVtZW50cyBDYW52YXNEcmF3UGF0aDsKLVBhaW50UmVuZGVyaW5nQ29udGV4dDJEIGlt
cGxlbWVudHMgQ2FudmFzRHJhd0ltYWdlOwotUGFpbnRSZW5kZXJpbmdDb250ZXh0MkQgaW1wbGVt
ZW50cyBDYW52YXNQYXRoRHJhd2luZ1N0eWxlczsKLVBhaW50UmVuZGVyaW5nQ29udGV4dDJEIGlt
cGxlbWVudHMgQ2FudmFzUGF0aDsKK1BhaW50UmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENh
bnZhc1N0YXRlOworUGFpbnRSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzVHJhbnNm
b3JtOworUGFpbnRSZW5kZXJpbmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzQ29tcG9zaXRpbmc7
CitQYWludFJlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNJbWFnZVNtb290aGluZzsK
K1BhaW50UmVuZGVyaW5nQ29udGV4dDJEIGluY2x1ZGVzIENhbnZhc0ZpbGxTdHJva2VTdHlsZXM7
CitQYWludFJlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNTaGFkb3dTdHlsZXM7CitQ
YWludFJlbmRlcmluZ0NvbnRleHQyRCBpbmNsdWRlcyBDYW52YXNSZWN0OworUGFpbnRSZW5kZXJp
bmdDb250ZXh0MkQgaW5jbHVkZXMgQ2FudmFzRHJhd1BhdGg7CitQYWludFJlbmRlcmluZ0NvbnRl
eHQyRCBpbmNsdWRlcyBDYW52YXNEcmF3SW1hZ2U7CitQYWludFJlbmRlcmluZ0NvbnRleHQyRCBp
bmNsdWRlcyBDYW52YXNQYXRoRHJhd2luZ1N0eWxlczsKK1BhaW50UmVuZGVyaW5nQ29udGV4dDJE
IGluY2x1ZGVzIENhbnZhc1BhdGg7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9Q
YXRoMkQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1BhdGgy
RC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1Bh
dGgyRC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDQgKzM5LDQgQEAKICAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuZGVmaW5lZCBhZGRQYXRoKFBhdGgyRCBwYXRoLCBvcHRpb25hbCBET01NYXRy
aXgyREluaXQgdHJhbnNmb3JtKTsKIH07CiAKLVBhdGgyRCBpbXBsZW1lbnRzIENhbnZhc1BhdGg7
CitQYXRoMkQgaW5jbHVkZXMgQ2FudmFzUGF0aDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaWRsCShyZXZpc2lvbiAy
NjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250
ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAwLDQgKzUwMCw0IEBAIHR5cGVkZWYgKEltYWdl
Qml0bWFwIG9yIEltYWdlRGF0YSBvciBIVE0KICAgICB1bmRlZmluZWQgcmVhZFBpeGVscyhHTGlu
dCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1h
dCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBkc3REYXRhLCBHTHVpbnQgZHN0T2Zmc2V0
KTsKIH07CiAKLVdlYkdMMlJlbmRlcmluZ0NvbnRleHQgaW1wbGVtZW50cyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOworV2ViR0wyUmVuZGVyaW5nQ29udGV4dCBpbmNsdWRlcyBXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC00Niw0ICs0Niw0IEBAIHR5cGVkZWYgKEltYWdlQml0bWFwIG9yIEltYWdlRGF0
YSBvciBIVE0KIF0gaW50ZXJmYWNlIFdlYkdMUmVuZGVyaW5nQ29udGV4dCB7CiB9OwogCi1XZWJH
TFJlbmRlcmluZ0NvbnRleHQgaW1wbGVtZW50cyBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOwor
V2ViR0xSZW5kZXJpbmdDb250ZXh0IGluY2x1ZGVzIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaWRsCShyZXZpc2lvbiAy
NjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDkgKzI2LDEwIEBACiBbCiAgICAgQ29uZGl0aW9uYWw9TUFUSE1MLAog
ICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKLV0gaW50ZXJmYWNlIE1hdGhNTEVsZW1lbnQg
OiBFbGVtZW50IHsgfTsKK10gaW50ZXJmYWNlIE1hdGhNTEVsZW1lbnQgOiBFbGVtZW50IHsKK307
CiAKLU1hdGhNTEVsZW1lbnQgaW1wbGVtZW50cyBFbGVtZW50Q1NTSW5saW5lU3R5bGU7Ci1NYXRo
TUxFbGVtZW50IGltcGxlbWVudHMgR2xvYmFsRXZlbnRIYW5kbGVyczsKLU1hdGhNTEVsZW1lbnQg
aW1wbGVtZW50cyBEb2N1bWVudEFuZEVsZW1lbnRFdmVudEhhbmRsZXJzOwotTWF0aE1MRWxlbWVu
dCBpbXBsZW1lbnRzIEhUTUxPckZvcmVpZ25FbGVtZW50OworTWF0aE1MRWxlbWVudCBpbmNsdWRl
cyBFbGVtZW50Q1NTSW5saW5lU3R5bGU7CitNYXRoTUxFbGVtZW50IGluY2x1ZGVzIEdsb2JhbEV2
ZW50SGFuZGxlcnM7CitNYXRoTUxFbGVtZW50IGluY2x1ZGVzIERvY3VtZW50QW5kRWxlbWVudEV2
ZW50SGFuZGxlcnM7CitNYXRoTUxFbGVtZW50IGluY2x1ZGVzIEhUTUxPckZvcmVpZ25FbGVtZW50
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIs
OCArMjEyLDggQEAgdHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CiAgIFVTVlN0cmluZyB0
YXJnZXRPcmlnaW4gPSAiLyI7CiB9OwogCi1ET01XaW5kb3cgaW1wbGVtZW50cyBHbG9iYWxDcnlw
dG87Ci1ET01XaW5kb3cgaW1wbGVtZW50cyBHbG9iYWxFdmVudEhhbmRsZXJzOwotRE9NV2luZG93
IGltcGxlbWVudHMgR2xvYmFsUGVyZm9ybWFuY2U7Ci1ET01XaW5kb3cgaW1wbGVtZW50cyBXaW5k
b3dFdmVudEhhbmRsZXJzOwotRE9NV2luZG93IGltcGxlbWVudHMgV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZTsKK0RPTVdpbmRvdyBpbmNsdWRlcyBHbG9iYWxDcnlwdG87CitET01XaW5kb3cgaW5j
bHVkZXMgR2xvYmFsRXZlbnRIYW5kbGVyczsKK0RPTVdpbmRvdyBpbmNsdWRlcyBHbG9iYWxQZXJm
b3JtYW5jZTsKK0RPTVdpbmRvdyBpbmNsdWRlcyBXaW5kb3dFdmVudEhhbmRsZXJzOworRE9NV2lu
ZG93IGluY2x1ZGVzIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGU7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL05hdmlnYXRvci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3IuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDEwICsyOCwxMCBAQAogICAgIHVu
ZGVmaW5lZCBnZXRTdG9yYWdlVXBkYXRlcygpOyAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgbWV0aG9k
IG9yIHJlbmFtZSB0byB5aWVsZEZvclN0b3JhZ2VVcGRhdGVzLgogfTsKIAotTmF2aWdhdG9yIGlt
cGxlbWVudHMgTmF2aWdhdG9ySUQ7Ci1OYXZpZ2F0b3IgaW1wbGVtZW50cyBOYXZpZ2F0b3JMYW5n
dWFnZTsKLU5hdmlnYXRvciBpbXBsZW1lbnRzIE5hdmlnYXRvck1heFRvdWNoUG9pbnRzOwotTmF2
aWdhdG9yIGltcGxlbWVudHMgTmF2aWdhdG9yT25MaW5lOwotTmF2aWdhdG9yIGltcGxlbWVudHMg
TmF2aWdhdG9yUGx1Z2luczsKLU5hdmlnYXRvciBpbXBsZW1lbnRzIE5hdmlnYXRvclNlcnZpY2VX
b3JrZXI7Ci1OYXZpZ2F0b3IgaW1wbGVtZW50cyBOYXZpZ2F0b3JTaGFyZTsKK05hdmlnYXRvciBp
bmNsdWRlcyBOYXZpZ2F0b3JJRDsKK05hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFn
ZTsKK05hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JNYXhUb3VjaFBvaW50czsKK05hdmlnYXRv
ciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU7CitOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9y
UGx1Z2luczsKK05hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JTZXJ2aWNlV29ya2VyOworTmF2
aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvclNoYXJlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9Xb3JrZXJOYXZpZ2F0b3IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
V29ya2VyTmF2aWdhdG9yLmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBA
CiBdIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0b3IgewogfTsKIAotV29ya2VyTmF2aWdhdG9yIGlt
cGxlbWVudHMgTmF2aWdhdG9ySUQ7Ci1Xb3JrZXJOYXZpZ2F0b3IgaW1wbGVtZW50cyBOYXZpZ2F0
b3JMYW5ndWFnZTsKLVdvcmtlck5hdmlnYXRvciBpbXBsZW1lbnRzIE5hdmlnYXRvck9uTGluZTsK
LVdvcmtlck5hdmlnYXRvciBpbXBsZW1lbnRzIE5hdmlnYXRvclNlcnZpY2VXb3JrZXI7CitXb3Jr
ZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ7CitXb3JrZXJOYXZpZ2F0b3IgaW5jbHVk
ZXMgTmF2aWdhdG9yTGFuZ3VhZ2U7CitXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9y
T25MaW5lOworV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvclNlcnZpY2VXb3JrZXI7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDQgKzMwLDQgQEAgaW50ZXJmYWNlIFNWR0FFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGVtZQogICAg
IFtTYW1lT2JqZWN0LCBQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRv
a2VuTGlzdCByZWxMaXN0OwogfTsKIAotU1ZHQUVsZW1lbnQgaW1wbGVtZW50cyBTVkdVUklSZWZl
cmVuY2U7CitTVkdBRWxlbWVudCBpbmNsdWRlcyBTVkdVUklSZWZlcmVuY2U7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDQgKzMwLDQgQEAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZvcm1hdDsKIH07
CiAKLVNWR0FsdEdseXBoRWxlbWVudCBpbXBsZW1lbnRzIFNWR1VSSVJlZmVyZW5jZTsKK1NWR0Fs
dEdseXBoRWxlbWVudCBpbmNsdWRlcyBTVkdVUklSZWZlcmVuY2U7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTM3LDQgKzM3LDQgQEAgaW50ZXJmYWNlIFNWR0FuaW1hdGlvbkVsZW1lbnQgOiBTVkdFbGVt
ZQogICAgIHVuZGVmaW5lZCBlbmRFbGVtZW50QXQob3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0
IG9mZnNldCA9IE5hTik7CiB9OwogCi1TVkdBbmltYXRpb25FbGVtZW50IGltcGxlbWVudHMgU1ZH
VGVzdHM7CitTVkdBbmltYXRpb25FbGVtZW50IGluY2x1ZGVzIFNWR1Rlc3RzOwpJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCw1ICsyOCw1IEBAIGludGVyZmFjZSBTVkdDdXJzb3JFbGVtZW50IDogU1ZHRWxlbWVudCAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZWRMZW5ndGggeTsKIH07CiAKLVNWR0N1
cnNvckVsZW1lbnQgaW1wbGVtZW50cyBTVkdUZXN0czsKLVNWR0N1cnNvckVsZW1lbnQgaW1wbGVt
ZW50cyBTVkdVUklSZWZlcmVuY2U7CitTVkdDdXJzb3JFbGVtZW50IGluY2x1ZGVzIFNWR1Rlc3Rz
OworU1ZHQ3Vyc29yRWxlbWVudCBpbmNsdWRlcyBTVkdVUklSZWZlcmVuY2U7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDYgQEAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHRWxlbWVudD8gdmlld3BvcnRFbGVtZW50OwogfTsKIAot
U1ZHRWxlbWVudCBpbXBsZW1lbnRzIEVsZW1lbnRDU1NJbmxpbmVTdHlsZTsKLVNWR0VsZW1lbnQg
aW1wbGVtZW50cyBHbG9iYWxFdmVudEhhbmRsZXJzOwotU1ZHRWxlbWVudCBpbXBsZW1lbnRzIEhU
TUxPckZvcmVpZ25FbGVtZW50OworU1ZHRWxlbWVudCBpbmNsdWRlcyBFbGVtZW50Q1NTSW5saW5l
U3R5bGU7CitTVkdFbGVtZW50IGluY2x1ZGVzIEdsb2JhbEV2ZW50SGFuZGxlcnM7CitTVkdFbGVt
ZW50IGluY2x1ZGVzIEhUTUxPckZvcmVpZ25FbGVtZW50OwpJbmRleDogU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVCbGVuZEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01MCw0ICs1
MCw0IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gbW9k
ZTsKIH07CiAKLVNWR0ZFQmxlbmRFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzOworU1ZHRkVCbGVuZEVsZW1lbnQgaW5jbHVkZXMgU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFQ29sb3JNYXRyaXhFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0zOCw0ICszOCw0IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTnVt
YmVyTGlzdCAgdmFsdWVzOwogfTsKIAotU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQgaW1wbGVtZW50
cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CitTVkdGRUNvbG9yTWF0cml4
RWxlbWVudCBpbmNsdWRlcyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVy
RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDQgKzI3
LDQgQEAgaW50ZXJmYWNlIFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50IAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZFN0cmluZyBpbjE7CiB9OwogCi1TVkdGRUNvbXBvbmVu
dFRyYW5zZmVyRWxlbWVudCBpbXBsZW1lbnRzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlczsKK1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50IGluY2x1ZGVzIFNWR0ZpbHRl
clByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUNvbXBvc2l0ZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NDQsNCArNDQsNCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZE51bWJlciAg
ICAgIGs0OwogfTsKIAotU1ZHRkVDb21wb3NpdGVFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOworU1ZHRkVDb21wb3NpdGVFbGVtZW50IGluY2x1
ZGVzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmlkbAkocmV2aXNp
b24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDYsNCArNDYsNCBAQAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTVkdBbmltYXRlZEJvb2xlYW4gICAgIHByZXNlcnZlQWxwaGE7CiB9OwogCi1TVkdG
RUNvbnZvbHZlTWF0cml4RWxlbWVudCBpbXBsZW1lbnRzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlczsKK1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50IGluY2x1ZGVzIFNWR0Zp
bHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0
NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzEsNCArMzEsNCBAQCBpbnRlcmZhY2UgU1ZHRkVEaWZmdXNl
TGlnaHRpbmdFbGVtZW50IDogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkTnVt
YmVyIGtlcm5lbFVuaXRMZW5ndGhZOwogfTsKIAotU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50
IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOworU1ZHRkVE
aWZmdXNlTGlnaHRpbmdFbGVtZW50IGluY2x1ZGVzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1h
cEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURpc3Bs
YWNlbWVudE1hcEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NDAsNCArNDAsNCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZEVudW1lcmF0
aW9uIHlDaGFubmVsU2VsZWN0b3I7CiB9OwogCi1TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQg
aW1wbGVtZW50cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CitTVkdGRURp
c3BsYWNlbWVudE1hcEVsZW1lbnQgaW5jbHVkZXMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1l
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dF
bGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
RHJvcFNoYWRvd0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw0ICsyOCw0IEBAIGlu
dGVyZmFjZSBTVkdGRURyb3BTaGFkb3dFbGVtZW50IDogU1ZHRWwKICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgc3RkRGV2aWF0aW9uWSA9IE5hTik7
CiB9OwogCi1TVkdGRURyb3BTaGFkb3dFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOworU1ZHRkVEcm9wU2hhZG93RWxlbWVudCBpbmNsdWRlcyBT
VkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRUZsb29kRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDQg
KzI2LDQgQEAKIGludGVyZmFjZSBTVkdGRUZsb29kRWxlbWVudCA6IFNWR0VsZW1lbnQgewogfTsK
IAotU1ZHRkVGbG9vZEVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXM7CitTVkdGRUZsb29kRWxlbWVudCBpbmNsdWRlcyBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVHYXVzc2lhbkJsdXJFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQxLDQgKzQxLDQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgc3RkRGV2aWF0aW9uWSA9IE5hTik7CiB9OwogCi1TVkdGRUdhdXNzaWFuQmx1
ckVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7
CitTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQgaW5jbHVkZXMgU1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVt
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1l
bnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVJbWFn
ZUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw1ICsyNyw1IEBAIGludGVyZmFjZSBT
VkdGRUltYWdlRWxlbWVudCA6IFNWR0VsZW1lbnQKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZH
QW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvIHByZXNlcnZlQXNwZWN0UmF0aW87CiB9OwogCi1T
VkdGRUltYWdlRWxlbWVudCBpbXBsZW1lbnRzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlczsKLVNWR0ZFSW1hZ2VFbGVtZW50IGltcGxlbWVudHMgU1ZHVVJJUmVmZXJlbmNlOwor
U1ZHRkVJbWFnZUVsZW1lbnQgaW5jbHVkZXMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzOworU1ZHRkVJbWFnZUVsZW1lbnQgaW5jbHVkZXMgU1ZHVVJJUmVmZXJlbmNlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0
NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiw0ICsyNiw0IEBACiBpbnRlcmZhY2UgU1ZHRkVNZXJnZUVsZW1lbnQgOiBT
VkdFbGVtZW50IHsKIH07CiAKLVNWR0ZFTWVyZ2VFbGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOworU1ZHRkVNZXJnZUVsZW1lbnQgaW5jbHVkZXMg
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOwpJbmRleDogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbAkocmV2aXNpb24gMjY2NDY4KQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC00MCw0ICs0MCw0IEBACiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5y
ZXN0cmljdGVkIGZsb2F0IHJhZGl1c1kgPSBOYU4pOwogfTsKIAotU1ZHRkVNb3JwaG9sb2d5RWxl
bWVudCBpbXBsZW1lbnRzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKK1NW
R0ZFTW9ycGhvbG9neUVsZW1lbnQgaW5jbHVkZXMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5p
ZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw0ICsyOSw0IEBAIGludGVyZmFjZSBTVkdG
RU9mZnNldEVsZW1lbnQgOiBTVkdFbGVtZW4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5p
bWF0ZWROdW1iZXIgZHk7CiB9OwogCi1TVkdGRU9mZnNldEVsZW1lbnQgaW1wbGVtZW50cyBTVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CitTVkdGRU9mZnNldEVsZW1lbnQgaW5j
bHVkZXMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOwpJbmRleDogU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmlkbAko
cmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdo
dGluZ0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw0ICszMCw0IEBAIGludGVyZmFj
ZSBTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50IDoKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
U1ZHQW5pbWF0ZWROdW1iZXIgc3BlY3VsYXJFeHBvbmVudDsKIH07CiAKLVNWR0ZFU3BlY3VsYXJM
aWdodGluZ0VsZW1lbnQgaW1wbGVtZW50cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXM7CitTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50IGluY2x1ZGVzIFNWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RVRpbGVFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVU
aWxlRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRVRpbGVFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNCArMjcsNCBAQCBpbnRl
cmZhY2UgU1ZHRkVUaWxlRWxlbWVudCA6IFNWR0VsZW1lbnQgCiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFNWR0FuaW1hdGVkU3RyaW5nIGluMTsKIH07CiAKLVNWR0ZFVGlsZUVsZW1lbnQgaW1wbGVt
ZW50cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CitTVkdGRVRpbGVFbGVt
ZW50IGluY2x1ZGVzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDQsNCArNDQsNCBAQAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBTVkdBbmltYXRlZEVudW1lcmF0aW9uIHR5cGU7CiB9OwogCi1TVkdGRVR1cmJ1bGVuY2VF
bGVtZW50IGltcGxlbWVudHMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOwor
U1ZHRkVUdXJidWxlbmNlRWxlbWVudCBpbmNsdWRlcyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaWRs
CShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVu
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDQgKzMzLDQgQEAgaW50ZXJmYWNlIFNWR0ZpbHRl
ckVsZW1lbnQgOiBTVkdFbGVtZW50IAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRl
ZExlbmd0aCAgICAgIGhlaWdodDsKIH07CiAKLVNWR0ZpbHRlckVsZW1lbnQgaW1wbGVtZW50cyBT
VkdVUklSZWZlcmVuY2U7CitTVkdGaWx0ZXJFbGVtZW50IGluY2x1ZGVzIFNWR1VSSVJlZmVyZW5j
ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaWRsCShyZXZp
c2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjgsNCArMjgsNCBAQAogICAgIGF0dHJpYnV0ZSB1bnJlc3Ry
aWN0ZWQgZmxvYXQgZHk7CiB9OwogCi1TVkdHbHlwaFJlZkVsZW1lbnQgaW1wbGVtZW50cyBTVkdV
UklSZWZlcmVuY2U7CitTVkdHbHlwaFJlZkVsZW1lbnQgaW5jbHVkZXMgU1ZHVVJJUmVmZXJlbmNl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5pZGwJKHJldmlz
aW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0zNyw0ICszNyw0IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFNWR0FuaW1hdGVkRW51bWVyYXRpb24gICBzcHJlYWRNZXRob2Q7CiB9OwogCi1TVkdHcmFkaWVu
dEVsZW1lbnQgaW1wbGVtZW50cyBTVkdVUklSZWZlcmVuY2U7CitTVkdHcmFkaWVudEVsZW1lbnQg
aW5jbHVkZXMgU1ZHVVJJUmVmZXJlbmNlOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dy
YXBoaWNzRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dy
YXBoaWNzRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdHcmFwaGljc0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw0ICszNyw0IEBA
IGludGVyZmFjZSBTVkdHcmFwaGljc0VsZW1lbnQgOiBTVkdFbGVtZW4KICAgICBbTWF5VGhyb3dF
eGNlcHRpb24sIE5ld09iamVjdF0gU1ZHTWF0cml4IGdldFRyYW5zZm9ybVRvRWxlbWVudChvcHRp
b25hbCBTVkdFbGVtZW50PyBlbGVtZW50ID0gbnVsbCk7CiB9OwogCi1TVkdHcmFwaGljc0VsZW1l
bnQgaW1wbGVtZW50cyBTVkdUZXN0czsKK1NWR0dyYXBoaWNzRWxlbWVudCBpbmNsdWRlcyBTVkdU
ZXN0czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaWRsCShyZXZpc2lv
biAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzEsNCArMzEsNCBAQCBpbnRlcmZhY2UgU1ZHSW1hZ2VFbGVtZW50IDog
U1ZHR3JhcGhpY3NFCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0FuaW1hdGVkUHJlc2VydmVB
c3BlY3RSYXRpbyBwcmVzZXJ2ZUFzcGVjdFJhdGlvOwogfTsKIAotU1ZHSW1hZ2VFbGVtZW50IGlt
cGxlbWVudHMgU1ZHVVJJUmVmZXJlbmNlOworU1ZHSW1hZ2VFbGVtZW50IGluY2x1ZGVzIFNWR1VS
SVJlZmVyZW5jZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaWRsCShy
ZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjYsNCArMjYsNCBAQAogaW50ZXJmYWNlIFNWR01QYXRoRWxl
bWVudCA6IFNWR0VsZW1lbnQgewogfTsKIAotU1ZHTVBhdGhFbGVtZW50IGltcGxlbWVudHMgU1ZH
VVJJUmVmZXJlbmNlOworU1ZHTVBhdGhFbGVtZW50IGluY2x1ZGVzIFNWR1VSSVJlZmVyZW5jZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2
NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtNDgsNCArNDgsNCBAQCBpbnRlcmZhY2UgU1ZHTWFya2VyRWxlbWVudCA6IFNW
R0VsZW1lbnQgCiAgICAgdW5kZWZpbmVkIHNldE9yaWVudFRvQW5nbGUoU1ZHQW5nbGUgYW5nbGUp
OwogfTsKIAotU1ZHTWFya2VyRWxlbWVudCBpbXBsZW1lbnRzIFNWR0ZpdFRvVmlld0JveDsKK1NW
R01hcmtlckVsZW1lbnQgaW5jbHVkZXMgU1ZHRml0VG9WaWV3Qm94OwpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTWFza0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw0ICszMyw0
IEBAIGludGVyZmFjZSBTVkdNYXNrRWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBTVkdBbmltYXRlZExlbmd0aCBoZWlnaHQ7CiB9OwogCi1TVkdNYXNrRWxlbWVu
dCBpbXBsZW1lbnRzIFNWR1Rlc3RzOworU1ZHTWFza0VsZW1lbnQgaW5jbHVkZXMgU1ZHVGVzdHM7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwJKHJldmlzaW9u
IDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDYgQEAgaW50ZXJmYWNlIFNWR1BhdHRlcm5FbGVtZW50
IDogU1ZHRWxlbWVudAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZExlbmd0aCAg
ICAgICAgaGVpZ2h0OwogfTsKIAotU1ZHUGF0dGVybkVsZW1lbnQgaW1wbGVtZW50cyBTVkdGaXRU
b1ZpZXdCb3g7Ci1TVkdQYXR0ZXJuRWxlbWVudCBpbXBsZW1lbnRzIFNWR1Rlc3RzOwotU1ZHUGF0
dGVybkVsZW1lbnQgaW1wbGVtZW50cyBTVkdVUklSZWZlcmVuY2U7CitTVkdQYXR0ZXJuRWxlbWVu
dCBpbmNsdWRlcyBTVkdGaXRUb1ZpZXdCb3g7CitTVkdQYXR0ZXJuRWxlbWVudCBpbmNsdWRlcyBT
VkdUZXN0czsKK1NWR1BhdHRlcm5FbGVtZW50IGluY2x1ZGVzIFNWR1VSSVJlZmVyZW5jZTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NzIsNSArNzIsNSBAQAogICAgIHVuZGVmaW5lZCBmb3JjZVJlZHJhdygpOwogfTsKIAotU1ZHU1ZH
RWxlbWVudCBpbXBsZW1lbnRzIFNWR0ZpdFRvVmlld0JveDsKLVNWR1NWR0VsZW1lbnQgaW1wbGVt
ZW50cyBTVkdab29tQW5kUGFuOworU1ZHU1ZHRWxlbWVudCBpbmNsdWRlcyBTVkdGaXRUb1ZpZXdC
b3g7CitTVkdTVkdFbGVtZW50IGluY2x1ZGVzIFNWR1pvb21BbmRQYW47CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDQgKzI3LDQgQEAgaW50ZXJmYWNlIFNWR1NjcmlwdEVsZW1lbnQgOiBTVkdFbGVtZW50IAogICAg
IFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiB9OwogCi1TVkdTY3JpcHRFbGVt
ZW50IGltcGxlbWVudHMgU1ZHVVJJUmVmZXJlbmNlOworU1ZHU2NyaXB0RWxlbWVudCBpbmNsdWRl
cyBTVkdVUklSZWZlcmVuY2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxl
bWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1l
bnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9s
RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDQgKzI2LDQgQEAKIGludGVyZmFjZSBT
VkdTeW1ib2xFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGVtZW50IHsKIH07CiAKLVNWR1N5bWJvbEVs
ZW1lbnQgaW1wbGVtZW50cyBTVkdGaXRUb1ZpZXdCb3g7CitTVkdTeW1ib2xFbGVtZW50IGluY2x1
ZGVzIFNWR0ZpdFRvVmlld0JveDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxl
bWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50
LmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNCArMjYsNCBAQAogaW50ZXJmYWNlIFNWR1RS
ZWZFbGVtZW50IDogU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCB7CiB9OwogCi1TVkdUUmVmRWxl
bWVudCBpbXBsZW1lbnRzIFNWR1VSSVJlZmVyZW5jZTsKK1NWR1RSZWZFbGVtZW50IGluY2x1ZGVz
IFNWR1VSSVJlZmVyZW5jZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVs
ZW1lbnQuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4
dFBhdGhFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksNCArMzksNCBAQCBpbnRlcmZh
Y2UgU1ZHVGV4dFBhdGhFbGVtZW50IDogU1ZHVGV4dENvCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFNWR0FuaW1hdGVkRW51bWVyYXRpb24gc3BhY2luZzsKIH07CiAKLVNWR1RleHRQYXRoRWxlbWVu
dCBpbXBsZW1lbnRzIFNWR1VSSVJlZmVyZW5jZTsKK1NWR1RleHRQYXRoRWxlbWVudCBpbmNsdWRl
cyBTVkdVUklSZWZlcmVuY2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuaWRs
CShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDQgKzMwLDQgQEAgaW50ZXJmYWNlIFNWR1VzZUVsZW1l
bnQgOiBTVkdHcmFwaGljc0VsZQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdBbmltYXRlZExl
bmd0aCBoZWlnaHQ7CiB9OwogCi1TVkdVc2VFbGVtZW50IGltcGxlbWVudHMgU1ZHVVJJUmVmZXJl
bmNlOworU1ZHVXNlRWxlbWVudCBpbmNsdWRlcyBTVkdVUklSZWZlcmVuY2U7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDUg
KzI2LDUgQEAKIGludGVyZmFjZSBTVkdWaWV3RWxlbWVudCA6IFNWR0VsZW1lbnQgewogfTsKIAot
U1ZHVmlld0VsZW1lbnQgaW1wbGVtZW50cyBTVkdGaXRUb1ZpZXdCb3g7Ci1TVkdWaWV3RWxlbWVu
dCBpbXBsZW1lbnRzIFNWR1pvb21BbmRQYW47CitTVkdWaWV3RWxlbWVudCBpbmNsdWRlcyBTVkdG
aXRUb1ZpZXdCb3g7CitTVkdWaWV3RWxlbWVudCBpbmNsdWRlcyBTVkdab29tQW5kUGFuOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaWRsCShyZXZpc2lvbiAyNjY0NjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw1ICsz
OSw1IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2aWV3VGFyZ2V0U3RyaW5n
OwogfTsKIAotU1ZHVmlld1NwZWMgaW1wbGVtZW50cyBTVkdGaXRUb1ZpZXdCb3g7Ci1TVkdWaWV3
U3BlYyBpbXBsZW1lbnRzIFNWR1pvb21BbmRQYW47CitTVkdWaWV3U3BlYyBpbmNsdWRlcyBTVkdG
aXRUb1ZpZXdCb3g7CitTVkdWaWV3U3BlYyBpbmNsdWRlcyBTVkdab29tQW5kUGFuOwpJbmRleDog
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAkocmV2aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MCw0ICs0MCw0IEBA
IGRpY3Rpb25hcnkgV29ya2VyT3B0aW9ucyB7CiAgICAgRE9NU3RyaW5nIG5hbWUgPSAiIjsKIH07
CiAKLVdvcmtlciBpbXBsZW1lbnRzIEFic3RyYWN0V29ya2VyOworV29ya2VyIGluY2x1ZGVzIEFi
c3RyYWN0V29ya2VyOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5pZGwJKHJldmlzaW9uIDI2NjQ2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Myw2IEBACiAg
ICAgW0NvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUywgRW5hYmxlZEF0UnVu
dGltZT1JbmRleGVkREJXb3JrZXJzXSBhdHRyaWJ1dGUgSURCVmVyc2lvbkNoYW5nZUV2ZW50Q29u
c3RydWN0b3IgSURCVmVyc2lvbkNoYW5nZUV2ZW50OwogfTsKIAotV29ya2VyR2xvYmFsU2NvcGUg
aW1wbGVtZW50cyBHbG9iYWxDcnlwdG87Ci1Xb3JrZXJHbG9iYWxTY29wZSBpbXBsZW1lbnRzIEds
b2JhbFBlcmZvcm1hbmNlOwotV29ya2VyR2xvYmFsU2NvcGUgaW1wbGVtZW50cyBXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlOworV29ya2VyR2xvYmFsU2NvcGUgaW5jbHVkZXMgR2xvYmFsQ3J5cHRv
OworV29ya2VyR2xvYmFsU2NvcGUgaW5jbHVkZXMgR2xvYmFsUGVyZm9ybWFuY2U7CitXb3JrZXJH
bG9iYWxTY29wZSBpbmNsdWRlcyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlOwpJbmRleDogU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbAkocmV2
aXNpb24gMjY2NDY4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBACiAgICAgLy8gZXZlbnQK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc3RhdGVjaGFuZ2U7CiB9OwotU2VydmljZVdv
cmtlciBpbXBsZW1lbnRzIEFic3RyYWN0V29ya2VyOworU2VydmljZVdvcmtlciBpbmNsdWRlcyBB
YnN0cmFjdFdvcmtlcjsKIAogZW51bSBTZXJ2aWNlV29ya2VyU3RhdGUgewogICAgICJpbnN0YWxs
aW5nIiwK
</data>

          </attachment>
      

    </bug>

</bugzilla>