<?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>92106</bug_id>
          
          <creation_ts>2012-07-24 05:51:19 -0700</creation_ts>
          <short_desc>MediaStream API: Remove DeprecatedPeerConnection</short_desc>
          <delta_ts>2012-07-26 03:34:41 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>56459</blocked>
    
    <blocked>80589</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tommy Widenflycht">tommyw</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>abarth</cc>
    
    <cc>adam.bergkvist</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>676712</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-07-24 05:51:19 -0700</bug_when>
    <thetext>Since we are getting ready to add an updated PeerConnection the old DeprecatedPeerConnection will have to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676744</commentid>
    <comment_count>1</comment_count>
      <attachid>154040</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-07-24 06:23:46 -0700</bug_when>
    <thetext>Created attachment 154040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676745</commentid>
    <comment_count>2</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-07-24 06:24:24 -0700</bug_when>
    <thetext>No code changes, except for deleted code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676778</commentid>
    <comment_count>3</comment_count>
      <attachid>154040</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-24 07:06:56 -0700</bug_when>
    <thetext>Comment on attachment 154040
Patch

Attachment 154040 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13332379</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676846</commentid>
    <comment_count>4</comment_count>
      <attachid>154070</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-07-24 08:27:43 -0700</bug_when>
    <thetext>Created attachment 154070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677016</commentid>
    <comment_count>5</comment_count>
      <attachid>154070</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-24 10:48:27 -0700</bug_when>
    <thetext>Comment on attachment 154070
Patch

I&apos;m glad we&apos;re removing this code.  Let&apos;s give Adam a chance to comment in case he has thoughts on this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679017</commentid>
    <comment_count>6</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-07-26 01:27:09 -0700</bug_when>
    <thetext>I haven&apos;t heard anything so committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679019</commentid>
    <comment_count>7</comment_count>
      <attachid>154070</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 01:28:24 -0700</bug_when>
    <thetext>Comment on attachment 154070
Patch

Rejecting attachment 154070 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
rm/chromium/fast/dom/call-a-constructor-as-a-function-expected.txt
patching file LayoutTests/platform/gtk/fast/dom/call-a-constructor-as-a-function-expected.txt
patching file LayoutTests/platform/gtk/fast/js/global-constructors-expected.txt
patching file LayoutTests/platform/win/fast/dom/call-a-constructor-as-a-function-expected.txt

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Adam Barth&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/13343688</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679032</commentid>
    <comment_count>8</comment_count>
      <attachid>154576</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-07-26 01:39:52 -0700</bug_when>
    <thetext>Created attachment 154576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679033</commentid>
    <comment_count>9</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-07-26 01:40:34 -0700</bug_when>
    <thetext>Just rebased to fix build file merge errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679123</commentid>
    <comment_count>10</comment_count>
      <attachid>154576</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 03:34:35 -0700</bug_when>
    <thetext>Comment on attachment 154576
Patch

Clearing flags on attachment: 154576

Committed r123724: &lt;http://trac.webkit.org/changeset/123724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679124</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 03:34:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154040</attachid>
            <date>2012-07-24 06:23:46 -0700</date>
            <delta_ts>2012-07-24 08:27:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92106-20120724152336.patch</filename>
            <type>text/plain</type>
            <size>105840</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg5MjI1MDRkNmZmZTU4
MmIyYTY0ZGE3MzNhZjVmMWYwZGIzNzg3NS4uMjU2NjkwYWU1Y2VjOTM2MDg1MjRkOGI0MGY3N2Rh
NDc0N2IzMTUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA3LTI0ICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFt
IEFQSTogUmVtb3ZlIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxMDYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSB3ZSBhcmUgZ2V0dGluZyByZWFkeSB0
byBhZGQgYW4gdXBkYXRlZCBQZWVyQ29ubmVjdGlvbgorICAgICAgICB0aGUgb2xkIERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbiB3aWxsIGhhdmUgdG8gZ28uCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCBhbmQgb2xkIHRlc3RzIGNvbnZlcnRlZCB0byB1c2UgUGVlckNvbm5lY3Rpb24wMC4KKworICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmg6IFJlbW92ZWQuCisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaWRsOiBS
ZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJhY2su
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxi
YWNrLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2U6Cisg
ICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVXNlSlNDLmNtYWtlOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbkN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0
RmFjdG9yeS5pbjoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb25IYW5kbGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2JsYWNrYmVycnkvRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uSGFuZGxlci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
SW50ZXJuYWwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHA6IFJlbW92ZWQuCisKIDIw
MTItMDctMjQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgW1F0XSBGaXggY29udmVyc2lvbiBmcm9tIEdyZWdvcmlhbkRhdGVUaW1lIHRvIFFUaW1lCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5Njk4ZDZmNTgwYjA0OGZjNWNmY2NjNjJk
Yzk2Mzg0ZmVhMzJlZmViLi5mM2FlMTFiODA2Yjg1MmY5ZGRmNTUxNWIzNWMwY2ZjZDE4OWRhZGJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTExMCw4ICsxMTAsNiBAQCB3ZWJj
b3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEYXRhVmll
dy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Lmgg
XAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3Bw
IFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXApAQCAtNTA1LDggKzUw
Myw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1NoYXJlZFdvcmtlckNvbnRleHQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1No
YXJlZFdvcmtlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTaGFyZWRXb3JrZXIu
aCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmNwcCBcCi0J
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNTcGVlY2hJbnB1dEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1NwZWVjaElucHV0RXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1NwZWVjaElucHV0UmVzdWx0LmNwcCBcCkBAIC02OTYsNyArNjkyLDYgQEAgZG9tX2JpbmRpbmdf
aWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uQ2FsbGJh
Y2suaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvci5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2FsbGJh
Y2suaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRv
d01lZGlhU3RyZWFtLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNh
bGxiYWNrLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0
ZS5pZGwgXApAQCAtNzEzLDcgKzcwOCw2IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24w
MC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRp
b24uaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJh
Y2suaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaWRsIFwKQEAgLTExNjUsOCArMTE1OSw2IEBAIHdlYmNvcmVfbW9k
dWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9QYWdl
R3JvdXBJbmRleGVkRGF0YWJhc2UuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvV29ya2VyQ29udGV4dEluZGV4ZWREYXRhYmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRleGVkRGF0YWJhc2UuaCBcCi0JU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3Bw
IFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbGxi
YWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FuZGlkYXRl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYW5kaWRhdGUu
aCBcCkBAIC0xMTk1LDcgKzExODcsNiBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmggXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRp
b24uaCBcCi0JU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9TaWduYWxpbmdDYWxs
YmFjay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYUNs
aWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYUNv
bnRyb2xsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVk
aWFDb250cm9sbGVyLmNwcCBcCkBAIC0xNDIzLDcgKzE0MTQsNiBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RhdGFWaWV3Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBcCi0J
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25DdXN0
b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50
Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJl
Y3RvcnlFbnRyeUN1c3RvbS5jcHAgXApAQCAtMzUyMyw4ICszNTEzLDYgQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRUZXN0U3VwcG9ydC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9HYW1lcGFkRGV2aWNlTGludXguY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9HYW1lcGFkRGV2aWNlTGludXguaCBcCi0J
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uSGFuZGxlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9EZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9JY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmggXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0ljZU9wdGlvbnMuY3BwIFwKQEAg
LTM1NDIsNyArMzUzMCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Nlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBcCi0JU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vZ3N0cmVhbWVyL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvTWVkaWFTdHJl
YW1DZW50ZXJHU3RyZWFtZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9nc3RyZWFtZXIvTWVkaWFTdHJlYW1DZW50ZXJHU3RyZWFtZXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3Ry
ZWFtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVk
aWFTdHJlYW0uaWRsCmluZGV4IDk3MGQxMDY0NDMxNWFjMTcxM2Q2ODAwNjJmOGE5MzExOGFmMTM5
MTcuLjc0MmE2MjQ2MzJlNjljMDZmMDJmMDI1MjQxMmJiYTI3M2IyYWY1YTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVk
aWFTdHJlYW0uaWRsCkBAIC0zMCw3ICszMCw2IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBD
b25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAgICAgICAgIFN1cHBsZW1lbnRhbD1ET01XaW5kb3cK
ICAgICBdIERPTVdpbmRvd01lZGlhU3RyZWFtIHsKLSAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJs
ZWRBdFJ1bnRpbWVdIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkNvbnN0cnVjdG9yIHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjsKICAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1
bnRpbWVdIE1lZGlhU3RyZWFtQ29uc3RydWN0b3Igd2Via2l0TWVkaWFTdHJlYW07CiAgICAgICAg
IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBQZWVyQ29ubmVjdGlvbjAwQ29uc3RydWN0
b3Igd2Via2l0UGVlckNvbm5lY3Rpb24wMDsKICAgICAgICAgYXR0cmlidXRlIFNlc3Npb25EZXNj
cmlwdGlvbkNvbnN0cnVjdG9yIFNlc3Npb25EZXNjcmlwdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQwNDY5MDQ1NzQ1YzE5
Yzk1ZjQzY2RmYTZkNjcwOTY3YzVhMTExZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzNzcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogQ29weXJpZ2h0IChDKSAyMDExIEVyaWNzc29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwot
ICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbi5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJNZWRpYVN0cmVhbUV2ZW50LmgiCi0jaW5jbHVk
ZSAiTWVzc2FnZUV2ZW50LmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgot
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUGFz
c1JlZlB0cjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYg
c2VydmVyQ29uZmlndXJhdGlvbiwgUGFzc1JlZlB0cjxTaWduYWxpbmdDYWxsYmFjaz4gc2lnbmFs
aW5nQ2FsbGJhY2spCi17Ci0gICAgUmVmUHRyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbj4gY29u
bmVjdGlvbiA9IGFkb3B0UmVmKG5ldyBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oY29udGV4dCwg
c2VydmVyQ29uZmlndXJhdGlvbiwgc2lnbmFsaW5nQ2FsbGJhY2spKTsKLSAgICBjb25uZWN0aW9u
LT5zZXRQZW5kaW5nQWN0aXZpdHkoY29ubmVjdGlvbi5nZXQoKSk7Ci0gICAgY29ubmVjdGlvbi0+
c2NoZWR1bGVJbml0aWFsTmVnb3RpYXRpb24oKTsKLSAgICBjb25uZWN0aW9uLT5zdXNwZW5kSWZO
ZWVkZWQoKTsKLQotICAgIHJldHVybiBjb25uZWN0aW9uLnJlbGVhc2UoKTsKLX0KLQotRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uOjpEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJDb25maWd1cmF0aW9uLCBQ
YXNzUmVmUHRyPFNpZ25hbGluZ0NhbGxiYWNrPiBzaWduYWxpbmdDYWxsYmFjaykKLSAgICA6IEFj
dGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQotICAgICwgbV9zaWduYWxpbmdDYWxsYmFjayhz
aWduYWxpbmdDYWxsYmFjaykKLSAgICAsIG1fcmVhZHlTdGF0ZShORVcpCi0gICAgLCBtX2ljZVN0
YXJ0ZWQoZmFsc2UpCi0gICAgLCBtX2xvY2FsU3RyZWFtcyhNZWRpYVN0cmVhbUxpc3Q6OmNyZWF0
ZSgpKQotICAgICwgbV9yZW1vdGVTdHJlYW1zKE1lZGlhU3RyZWFtTGlzdDo6Y3JlYXRlKCkpCi0g
ICAgLCBtX2luaXRpYWxOZWdvdGlhdGlvblRpbWVyKHRoaXMsICZEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb246OmluaXRpYWxOZWdvdGlhdGlvblRpbWVyRmlyZWQpCi0gICAgLCBtX3N0cmVhbUNoYW5n
ZVRpbWVyKHRoaXMsICZEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnN0cmVhbUNoYW5nZVRpbWVy
RmlyZWQpCi0gICAgLCBtX3JlYWR5U3RhdGVDaGFuZ2VUaW1lcih0aGlzLCAmRGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uOjpyZWFkeVN0YXRlQ2hhbmdlVGltZXJGaXJlZCkKLSAgICAsIG1fcGVlckhh
bmRsZXIoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6Y3JlYXRlKHRoaXMsIHNlcnZl
ckNvbmZpZ3VyYXRpb24sIGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCkpKQot
ewotfQotCi1EZXByZWNhdGVkUGVlckNvbm5lY3Rpb246On5EZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oKQotewotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6cHJvY2Vzc1NpZ25h
bGluZ01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsK
LSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkgewotICAgICAgICBlYyA9IElOVkFMSURf
U1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFtZXNzYWdlLnN0
YXJ0c1dpdGgoIlNEUFxuIikpCi0gICAgICAgIHJldHVybjsKLQotICAgIFN0cmluZyBzZHAgPSBt
ZXNzYWdlLnN1YnN0cmluZyg0KTsKLQotICAgIGlmIChtX2ljZVN0YXJ0ZWQpIHsKLSAgICAgICAg
aWYgKG1fcGVlckhhbmRsZXIpCi0gICAgICAgICAgICBtX3BlZXJIYW5kbGVyLT5wcm9jZXNzU0RQ
KHNkcCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobV9wZWVySGFuZGxlcikK
LSAgICAgICAgbV9wZWVySGFuZGxlci0+aGFuZGxlSW5pdGlhbE9mZmVyKHNkcCk7Ci0KLSAgICBl
bnN1cmVTdHJlYW1DaGFuZ2VTY2hlZHVsZWQoKTsKLSAgICBtX2ljZVN0YXJ0ZWQgPSB0cnVlOwot
ICAgIHNjaGVkdWxlUmVhZHlTdGF0ZUNoYW5nZShORUdPVElBVElORyk7Ci19Ci0KLURlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbjo6UmVhZHlTdGF0ZSBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnJl
YWR5U3RhdGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3JlYWR5U3RhdGU7Ci19Ci0KLXZvaWQg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpzZW5kKGNvbnN0IFN0cmluZyYgdGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpIHsKLSAgICAg
ICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IENTdHJpbmcgZGF0YSA9IHRleHQudXRmOCgpOwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IGRhdGEu
bGVuZ3RoKCk7Ci0KLSAgICBpZiAobGVuZ3RoID4gNTA0KSB7Ci0gICAgICAgIGVjID0gSU5WQUxJ
RF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1fcGVlckhh
bmRsZXIpCi0gICAgICAgIG1fcGVlckhhbmRsZXItPnNlbmREYXRhU3RyZWFtTWVzc2FnZShkYXRh
LmRhdGEoKSwgbGVuZ3RoKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmFk
ZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBwcnBTdHJlYW0sIEV4Y2VwdGlvbkNvZGUm
IGVjKQotewotICAgIFJlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtID0gcHJwU3RyZWFtOwotICAg
IGlmICghc3RyZWFtKSB7Ci0gICAgICAgIGVjID0gIFRZUEVfTUlTTUFUQ0hfRVJSOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpIHsKLSAg
ICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGlmIChtX2xvY2FsU3RyZWFtcy0+Y29udGFpbnMoc3RyZWFtLmdldCgpKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgbV9sb2NhbFN0cmVhbXMtPmFwcGVuZChzdHJlYW0pOwotCi0gICAgTWVk
aWFTdHJlYW1EZXNjcmlwdG9yKiBzdHJlYW1EZXNjcmlwdG9yID0gc3RyZWFtLT5kZXNjcmlwdG9y
KCk7Ci0gICAgc2l6ZV90IGkgPSBtX3BlbmRpbmdSZW1vdmVTdHJlYW1zLmZpbmQoc3RyZWFtRGVz
Y3JpcHRvcik7Ci0gICAgaWYgKGkgIT0gbm90Rm91bmQpIHsKLSAgICAgICAgbV9wZW5kaW5nUmVt
b3ZlU3RyZWFtcy5yZW1vdmUoaSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX3Bl
bmRpbmdBZGRTdHJlYW1zLmFwcGVuZChzdHJlYW1EZXNjcmlwdG9yKTsKLSAgICBpZiAobV9pY2VT
dGFydGVkKQotICAgICAgICBlbnN1cmVTdHJlYW1DaGFuZ2VTY2hlZHVsZWQoKTsKLX0KLQotdm9p
ZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnJlbW92ZVN0cmVhbShNZWRpYVN0cmVhbSogc3Ry
ZWFtLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NF
RCkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgaWYgKCFzdHJlYW0pIHsKLSAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VS
UjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghbV9sb2NhbFN0cmVhbXMtPmNv
bnRhaW5zKHN0cmVhbSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fbG9jYWxTdHJlYW1zLT5y
ZW1vdmUoc3RyZWFtKTsKLQotICAgIE1lZGlhU3RyZWFtRGVzY3JpcHRvciogc3RyZWFtRGVzY3Jp
cHRvciA9IHN0cmVhbS0+ZGVzY3JpcHRvcigpOwotICAgIHNpemVfdCBpID0gbV9wZW5kaW5nQWRk
U3RyZWFtcy5maW5kKHN0cmVhbURlc2NyaXB0b3IpOwotICAgIGlmIChpICE9IG5vdEZvdW5kKSB7
Ci0gICAgICAgIG1fcGVuZGluZ0FkZFN0cmVhbXMucmVtb3ZlKGkpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgbV9wZW5kaW5nUmVtb3ZlU3RyZWFtcy5hcHBlbmQoc3RyZWFtRGVzY3Jp
cHRvcik7Ci0gICAgaWYgKG1faWNlU3RhcnRlZCkKLSAgICAgICAgZW5zdXJlU3RyZWFtQ2hhbmdl
U2NoZWR1bGVkKCk7Ci19Ci0KLU1lZGlhU3RyZWFtTGlzdCogRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uOjpsb2NhbFN0cmVhbXMoKSBjb25zdAotewotICAgIHJldHVybiBtX2xvY2FsU3RyZWFtcy5n
ZXQoKTsKLX0KLQotTWVkaWFTdHJlYW1MaXN0KiBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnJl
bW90ZVN0cmVhbXMoKSBjb25zdAotewotICAgIHJldHVybiBtX3JlbW90ZVN0cmVhbXMuZ2V0KCk7
Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpjbG9zZShFeGNlcHRpb25Db2Rl
JiBlYykKLXsKLSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkgewotICAgICAgICBlYyA9
IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgc3RvcCgp
OwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6ZGlkQ29tcGxldGVJQ0VQcm9j
ZXNzaW5nKCkKLXsKLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0NvbnRl
eHRUaHJlYWQoKSk7Ci0gICAgY2hhbmdlUmVhZHlTdGF0ZShBQ1RJVkUpOwotfQotCi12b2lkIERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6ZGlkR2VuZXJhdGVTRFAoY29uc3QgU3RyaW5nJiBzZHAp
Ci17Ci0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0VGhyZWFk
KCkpOwotICAgIG1fc2lnbmFsaW5nQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCJTRFBcbiIgKyBzZHAs
IHRoaXMpOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZURh
dGFTdHJlYW1NZXNzYWdlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpCi17Ci0gICAg
QVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0VGhyZWFkKCkpOwotICAg
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSA9IFN0cmluZzo6ZnJvbVVURjgoZGF0YSwgbGVuZ3RoKTsK
LSAgICBkaXNwYXRjaEV2ZW50KE1lc3NhZ2VFdmVudDo6Y3JlYXRlKFBhc3NPd25QdHI8TWVzc2Fn
ZVBvcnRBcnJheT4oKSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUobWVzc2FnZSkpKTsK
LX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmRpZEFkZFJlbW90ZVN0cmVhbShQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gc3RyZWFtRGVzY3JpcHRvcikKLXsKLSAg
ICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7Ci0K
LSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
UmVmUHRyPE1lZGlhU3RyZWFtPiBzdHJlYW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSwgc3RyZWFtRGVzY3JpcHRvcik7Ci0gICAgbV9yZW1vdGVTdHJlYW1z
LT5hcHBlbmQoc3RyZWFtKTsKLQotICAgIGRpc3BhdGNoRXZlbnQoTWVkaWFTdHJlYW1FdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5hZGRzdHJlYW1FdmVudCwgZmFsc2UsIGZhbHNlLCBzdHJlYW0u
cmVsZWFzZSgpKSk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpkaWRSZW1v
dmVSZW1vdGVTdHJlYW0oTWVkaWFTdHJlYW1EZXNjcmlwdG9yKiBzdHJlYW1EZXNjcmlwdG9yKQot
ewotICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzQ29udGV4dFRocmVhZCgp
KTsKLSAgICBBU1NFUlQoc3RyZWFtRGVzY3JpcHRvci0+b3duZXIoKSk7Ci0KLSAgICBSZWZQdHI8
TWVkaWFTdHJlYW0+IHN0cmVhbSA9IHN0YXRpY19jYXN0PE1lZGlhU3RyZWFtKj4oc3RyZWFtRGVz
Y3JpcHRvci0+b3duZXIoKSk7Ci0gICAgc3RyZWFtLT5zdHJlYW1FbmRlZCgpOwotCi0gICAgaWYg
KG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVCht
X3JlbW90ZVN0cmVhbXMtPmNvbnRhaW5zKHN0cmVhbS5nZXQoKSkpOwotICAgIG1fcmVtb3RlU3Ry
ZWFtcy0+cmVtb3ZlKHN0cmVhbS5nZXQoKSk7Ci0KLSAgICBkaXNwYXRjaEV2ZW50KE1lZGlhU3Ry
ZWFtRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucmVtb3Zlc3RyZWFtRXZlbnQsIGZhbHNlLCBm
YWxzZSwgc3RyZWFtLnJlbGVhc2UoKSkpOwotfQotCi1jb25zdCBBdG9taWNTdHJpbmcmIERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbjo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JEZXByZWNhdGVkUGVlckNvbm5lY3Rpb247Ci19Ci0K
LVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbjo6c3RvcCgpCi17Ci0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpCi0gICAgICAg
IHJldHVybjsKLQotICAgIG1faW5pdGlhbE5lZ290aWF0aW9uVGltZXIuc3RvcCgpOwotICAgIG1f
c3RyZWFtQ2hhbmdlVGltZXIuc3RvcCgpOwotICAgIG1fcmVhZHlTdGF0ZUNoYW5nZVRpbWVyLnN0
b3AoKTsKLQotICAgIGlmIChtX3BlZXJIYW5kbGVyKQotICAgICAgICBtX3BlZXJIYW5kbGVyLT5z
dG9wKCk7Ci0KLSAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKLSAgICBtX3BlZXJIYW5k
bGVyLmNsZWFyKCk7Ci0KLSAgICBjaGFuZ2VSZWFkeVN0YXRlKENMT1NFRCk7Ci19Ci0KLUV2ZW50
VGFyZ2V0RGF0YSogRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpldmVudFRhcmdldERhdGEoKQot
ewotICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Ci19Ci0KLUV2ZW50VGFyZ2V0RGF0YSog
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjplbnN1cmVFdmVudFRhcmdldERhdGEoKQotewotICAg
IHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uOjpzY2hlZHVsZUluaXRpYWxOZWdvdGlhdGlvbigpCi17Ci0gICAgQVNTRVJUKCFtX2lu
aXRpYWxOZWdvdGlhdGlvblRpbWVyLmlzQWN0aXZlKCkpOwotCi0gICAgbV9pbml0aWFsTmVnb3Rp
YXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uOjppbml0aWFsTmVnb3RpYXRpb25UaW1lckZpcmVkKFRpbWVyPERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbj4qIHRpbWVyKQotewotICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09
ICZtX2luaXRpYWxOZWdvdGlhdGlvblRpbWVyKTsKLQotICAgIGlmIChtX2ljZVN0YXJ0ZWQpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciBwZW5kaW5n
QWRkU3RyZWFtczsKLSAgICBtX3BlbmRpbmdBZGRTdHJlYW1zLnN3YXAocGVuZGluZ0FkZFN0cmVh
bXMpOwotICAgIGlmIChtX3BlZXJIYW5kbGVyKQotICAgICAgICBtX3BlZXJIYW5kbGVyLT5wcm9k
dWNlSW5pdGlhbE9mZmVyKHBlbmRpbmdBZGRTdHJlYW1zKTsKLQotICAgIG1faWNlU3RhcnRlZCA9
IHRydWU7Ci0KLSAgICBjaGFuZ2VSZWFkeVN0YXRlKE5FR09USUFUSU5HKTsKLX0KLQotdm9pZCBE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmVuc3VyZVN0cmVhbUNoYW5nZVNjaGVkdWxlZCgpCi17
Ci0gICAgaWYgKCFtX3N0cmVhbUNoYW5nZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc3Ry
ZWFtQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbjo6c3RyZWFtQ2hhbmdlVGltZXJGaXJlZChUaW1lcjxEZXByZWNhdGVkUGVlckNv
bm5lY3Rpb24+KiB0aW1lcikKLXsKLSAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAm
bV9zdHJlYW1DaGFuZ2VUaW1lcik7Ci0KLSAgICBpZiAoIW1fcGVuZGluZ0FkZFN0cmVhbXMuaXNF
bXB0eSgpICYmICFtX3BlbmRpbmdSZW1vdmVTdHJlYW1zLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9yIHBlbmRpbmdBZGRTdHJlYW1z
OwotICAgIE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciBwZW5kaW5nUmVtb3ZlU3RyZWFtczsK
LQotICAgIG1fcGVuZGluZ0FkZFN0cmVhbXMuc3dhcChwZW5kaW5nQWRkU3RyZWFtcyk7Ci0gICAg
bV9wZW5kaW5nUmVtb3ZlU3RyZWFtcy5zd2FwKHBlbmRpbmdSZW1vdmVTdHJlYW1zKTsKLQotICAg
IGlmIChtX3BlZXJIYW5kbGVyKQotICAgICAgICBtX3BlZXJIYW5kbGVyLT5wcm9jZXNzUGVuZGlu
Z1N0cmVhbXMocGVuZGluZ0FkZFN0cmVhbXMsIHBlbmRpbmdSZW1vdmVTdHJlYW1zKTsKLQotICAg
IGlmICghcGVuZGluZ0FkZFN0cmVhbXMuaXNFbXB0eSgpKQotICAgICAgICBjaGFuZ2VSZWFkeVN0
YXRlKE5FR09USUFUSU5HKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnNj
aGVkdWxlUmVhZHlTdGF0ZUNoYW5nZShSZWFkeVN0YXRlIHJlYWR5U3RhdGUpCi17Ci0gICAgbV9w
ZW5kaW5nUmVhZHlTdGF0ZXMuYXBwZW5kKHJlYWR5U3RhdGUpOwotICAgIGlmICghbV9yZWFkeVN0
YXRlQ2hhbmdlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZWFkeVN0YXRlQ2hhbmdlVGlt
ZXIuc3RhcnRPbmVTaG90KDApOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6
cmVhZHlTdGF0ZUNoYW5nZVRpbWVyRmlyZWQoVGltZXI8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
PiogdGltZXIpCi17Ci0gICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1fcmVhZHlT
dGF0ZUNoYW5nZVRpbWVyKTsKLQotICAgIFZlY3RvcjxSZWFkeVN0YXRlPiBwZW5kaW5nUmVhZHlT
dGF0ZXM7Ci0gICAgbV9wZW5kaW5nUmVhZHlTdGF0ZXMuc3dhcChwZW5kaW5nUmVhZHlTdGF0ZXMp
OwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwZW5kaW5nUmVhZHlTdGF0ZXMuc2l6ZSgp
OyBpKyspCi0gICAgICAgIGNoYW5nZVJlYWR5U3RhdGUocGVuZGluZ1JlYWR5U3RhdGVzW2ldKTsK
LX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmNoYW5nZVJlYWR5U3RhdGUoUmVh
ZHlTdGF0ZSByZWFkeVN0YXRlKQotewotICAgIGlmIChyZWFkeVN0YXRlID09IG1fcmVhZHlTdGF0
ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9yZWFkeVN0YXRlID0gcmVhZHlTdGF0ZTsKLQot
ICAgIHN3aXRjaCAobV9yZWFkeVN0YXRlKSB7Ci0gICAgY2FzZSBORVc6Ci0gICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE5FR09USUFUSU5HOgot
ICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNvbm5lY3Rp
bmdFdmVudCwgZmFsc2UsIGZhbHNlKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQUNUSVZF
OgotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm9wZW5F
dmVudCwgZmFsc2UsIGZhbHNlKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ0xPU0VEOgot
ICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLnN0YXRlY2hhbmdlRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0NTI4
NDhiN2IyNzk0ZmFlMjBkZjU5ZTA2ODJkNzk0Y2ExM2M0YzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDEzOSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgRXJpY3Nzb24gQUIuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbl9o
Ci0jZGVmaW5lIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbl9oCi0KLSNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQotCi0jaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVkZSAiRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5oIgotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQuaCIKLSNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1
ZGUgIkV4Y2VwdGlvbkJhc2UuaCIKLSNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgotI2luY2x1ZGUg
Ik1lZGlhU3RyZWFtTGlzdC5oIgotI2luY2x1ZGUgIlNpZ25hbGluZ0NhbGxiYWNrLmgiCi0jaW5j
bHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBOb3RlOgotLy8gU0RQIHN0
YW5kcyBmb3IgU2Vzc2lvbiBEZXNjcmlwdGlvbiBQcm90b2NvbCwgd2hpY2ggaXMgaW50ZW5kZWQg
Zm9yIGRlc2NyaWJpbmcKLS8vIG11bHRpbWVkaWEgc2Vzc2lvbnMgZm9yIHRoZSBwdXJwb3NlcyBv
ZiBzZXNzaW9uIGFubm91bmNlbWVudCwgc2Vzc2lvbgotLy8gaW52aXRhdGlvbiwgYW5kIG90aGVy
IGZvcm1zIG9mIG11bHRpbWVkaWEgc2Vzc2lvbiBpbml0aWF0aW9uLgotLy8KLS8vIE1vcmUgaW5m
b3JtYXRpb24gY2FuIGJlIGZvdW5kIGhlcmU6Ci0vLyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRt
bC9yZmM0NTY2Ci0vLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Nlc3Npb25fRGVzY3Jp
cHRpb25fUHJvdG9jb2wKLQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uIDogcHVibGlj
IFJlZkNvdW50ZWQ8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uPiwgcHVibGljIERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQsIHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0
cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgUGFzc1JlZlB0cjxTaWduYWxpbmdDYWxsYmFjaz4p
OwotICAgIH5EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oKTsKLQotICAgIHZvaWQgcHJvY2Vzc1Np
Z25hbGluZ01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFeGNlcHRpb25Db2RlJik7Ci0K
LSAgICBSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdDsKLQotICAgIHZvaWQgc2VuZChjb25z
dCBTdHJpbmcmIHRleHQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGFkZFN0cmVhbShjb25z
dCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgcmVt
b3ZlU3RyZWFtKE1lZGlhU3RyZWFtKiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIE1lZGlhU3RyZWFt
TGlzdCogbG9jYWxTdHJlYW1zKCkgY29uc3Q7Ci0gICAgTWVkaWFTdHJlYW1MaXN0KiByZW1vdGVT
dHJlYW1zKCkgY29uc3Q7Ci0gICAgdm9pZCBjbG9zZShFeGNlcHRpb25Db2RlJik7Ci0KLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvbm5lY3RpbmcpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIob3Blbik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihtZXNzYWdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHN0YXRlY2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFkZHN0
cmVhbSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZW1vdmVzdHJlYW0p
OwotCi0gICAgLy8gUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50Ci0gICAgdmlydHVhbCB2b2lk
IGRpZENvbXBsZXRlSUNFUHJvY2Vzc2luZygpOwotICAgIHZpcnR1YWwgdm9pZCBkaWRHZW5lcmF0
ZVNEUChjb25zdCBTdHJpbmcmIHNkcCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRh
U3RyZWFtTWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlw
dG9yPik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZVJlbW90ZVN0cmVhbShNZWRpYVN0cmVh
bURlc2NyaXB0b3IqKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlU3RhdGUoUmVhZHlTdGF0
ZSBzdGF0ZSkgeyBjaGFuZ2VSZWFkeVN0YXRlKHN0YXRlKTsgfQotCi0gICAgLy8gRXZlbnRUYXJn
ZXQKLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0
OwotICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0OwotCi0gICAgLy8gQWN0aXZlRE9NT2JqZWN0Ci0gICAgdmlydHVhbCB2b2lk
IHN0b3AoKTsKLQotICAgIHVzaW5nIFJlZkNvdW50ZWQ8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
Pjo6cmVmOwotICAgIHVzaW5nIFJlZkNvdW50ZWQ8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uPjo6
ZGVyZWY7Ci0KLXByaXZhdGU6Ci0gICAgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24sIFBhc3NS
ZWZQdHI8U2lnbmFsaW5nQ2FsbGJhY2s+KTsKLQotICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVu
dGF0aW9uLgotICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsK
LSAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7Ci0g
ICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgeyByZWYoKTsgfQotICAgIHZpcnR1YWwg
dm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgeyBkZXJlZigpOyB9Ci0KLSAgICB2b2lkIHNjaGVkdWxl
SW5pdGlhbE5lZ290aWF0aW9uKCk7Ci0gICAgdm9pZCBpbml0aWFsTmVnb3RpYXRpb25UaW1lckZp
cmVkKFRpbWVyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbj4qKTsKLSAgICB2b2lkIGVuc3VyZVN0
cmVhbUNoYW5nZVNjaGVkdWxlZCgpOwotICAgIHZvaWQgc3RyZWFtQ2hhbmdlVGltZXJGaXJlZChU
aW1lcjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+Kik7Ci0gICAgdm9pZCBzY2hlZHVsZVJlYWR5
U3RhdGVDaGFuZ2UoUmVhZHlTdGF0ZSk7Ci0gICAgdm9pZCByZWFkeVN0YXRlQ2hhbmdlVGltZXJG
aXJlZChUaW1lcjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+Kik7Ci0KLSAgICB2b2lkIGNoYW5n
ZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSk7Ci0KLSAgICBSZWZQdHI8U2lnbmFsaW5nQ2FsbGJhY2s+
IG1fc2lnbmFsaW5nQ2FsbGJhY2s7Ci0KLSAgICBSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKLSAg
ICBib29sIG1faWNlU3RhcnRlZDsKLQotICAgIFJlZlB0cjxNZWRpYVN0cmVhbUxpc3Q+IG1fbG9j
YWxTdHJlYW1zOwotICAgIFJlZlB0cjxNZWRpYVN0cmVhbUxpc3Q+IG1fcmVtb3RlU3RyZWFtczsK
LQotICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgotICAgIEV2ZW50VGFyZ2V0RGF0
YSBtX2V2ZW50VGFyZ2V0RGF0YTsKLQotICAgIFRpbWVyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bj4gbV9pbml0aWFsTmVnb3RpYXRpb25UaW1lcjsKLSAgICBUaW1lcjxEZXByZWNhdGVkUGVlckNv
bm5lY3Rpb24+IG1fc3RyZWFtQ2hhbmdlVGltZXI7Ci0gICAgVGltZXI8RGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uPiBtX3JlYWR5U3RhdGVDaGFuZ2VUaW1lcjsKLQotICAgIE1lZGlhU3RyZWFtRGVz
Y3JpcHRvclZlY3RvciBtX3BlbmRpbmdBZGRTdHJlYW1zOwotICAgIE1lZGlhU3RyZWFtRGVzY3Jp
cHRvclZlY3RvciBtX3BlbmRpbmdSZW1vdmVTdHJlYW1zOwotICAgIFZlY3RvcjxSZWFkeVN0YXRl
PiBtX3BlbmRpbmdSZWFkeVN0YXRlczsKLQotICAgIE93blB0cjxEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb25IYW5kbGVyPiBtX3BlZXJIYW5kbGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2VuZGlmIC8vIERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5pZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxZDlkNTFmNTE3ZTJmZjc0OTdiNGRlMTZhZjM3NzMxY2Jm
YTk2MDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24u
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0g
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotbW9kdWxl
IHAycCB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJF
QU0sCi0gICAgICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICAgICAgQ29uc3RydWN0b3JQYXJhbWV0
ZXJzPTIsCi0gICAgICAgIENvbnN0cnVjdG9yKGluIERPTVN0cmluZyBzZXJ2ZXJDb25maWd1cmF0
aW9uLCBpbiBbQ2FsbGJhY2tdIFNpZ25hbGluZ0NhbGxiYWNrIHNpZ25hbGluZ0NhbGxiYWNrKSwK
LSAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKLSAgICAgICAgSlNDdXN0
b21Db25zdHJ1Y3RvciwKLSAgICAgICAgRXZlbnRUYXJnZXQKLSAgICBdIERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbiB7Ci0gICAgICAgIHZvaWQgcHJvY2Vzc1NpZ25hbGluZ01lc3NhZ2UoaW4gRE9N
U3RyaW5nIG1lc3NhZ2UpCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLQotICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBORVcgPSAwOwotICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBORUdPVElBVElORyA9IDE7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEFD
VElWRSA9IDI7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENMT1NFRCA9IDM7Ci0gICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCByZWFkeVN0YXRlOwotCi0gICAg
ICAgIHZvaWQgc2VuZChpbiBET01TdHJpbmcgdGV4dCkKLSAgICAgICAgICAgIHJhaXNlcyhET01F
eGNlcHRpb24pOwotICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkIGFkZFN0cmVhbShp
biBNZWRpYVN0cmVhbSBzdHJlYW0pCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
LSAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCByZW1vdmVTdHJlYW0oaW4gTWVkaWFT
dHJlYW0gc3RyZWFtKQotICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0KLSAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtTGlzdCBsb2NhbFN0cmVhbXM7Ci0gICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVN0cmVhbUxpc3QgcmVtb3RlU3RyZWFtczsKLQot
ICAgICAgICB2b2lkIGNsb3NlKCkKLSAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwot
Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY29ubmVjdGluZzsKLSAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25vcGVuOwotICAgICAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbm1lc3NhZ2U7Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc3Rh
dGVjaGFuZ2U7Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWRkc3RyZWFtOwot
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnJlbW92ZXN0cmVhbTsKLQotICAgICAg
ICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKLSAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVy
KGluIERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZl
bnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgdm9pZCByZW1vdmVFdmVudExp
c3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgYm9vbGVh
biBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50KQotICAgICAgICAgICAgcmFpc2VzKEV2ZW50
RXhjZXB0aW9uKTsKLSAgICB9OwotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDY1YWE2MmE2ZjVlZjI5MDBmZDk2NGZkOTNiODUxYjBlMmQzMGRiZDMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9TaWduYWxpbmdDYWxsYmFjay5oCisrKyAvZGV2L251bGwKQEAg
LTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBTaWduYWxpbmdDYWxsYmFja19o
Ci0jZGVmaW5lIFNpZ25hbGluZ0NhbGxiYWNrX2gKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
Ci0KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjsKLQotY2xhc3MgU2lnbmFsaW5nQ2FsbGJh
Y2sgOiBwdWJsaWMgUmVmQ291bnRlZDxTaWduYWxpbmdDYWxsYmFjaz4gewotcHVibGljOgotICAg
IHZpcnR1YWwgflNpZ25hbGluZ0NhbGxiYWNrKCkgeyB9Ci0gICAgdmlydHVhbCBib29sIGhhbmRs
ZUV2ZW50KGNvbnN0IFN0cmluZyYsIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiopID0gMDsKLX07
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJF
QU0pCi0KLSNlbmRpZiAvLyBTaWduYWxpbmdDYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJhY2suaWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OWU0YjkyZjRhODg3NzkyYzVmMWU1MmMxMTZhMjFj
NTVhNGY2ZDdmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJhY2suaWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotbW9kdWxlIHAy
cCB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0s
Ci0gICAgICAgIENhbGxiYWNrCi0gICAgXSBTaWduYWxpbmdDYWxsYmFjayB7Ci0gICAgICAgIGJv
b2xlYW4gaGFuZGxlRXZlbnQoaW4gRE9NU3RyaW5nIG1lc3NhZ2UsIGluIERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbiBzb3VyY2UpOwotICAgIH07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxh
Y2tCZXJyeS5jbWFrZQppbmRleCAyMDA0ODUxMGE4OTRjNTlmZmY5MGM1YTYzZjdjOWExY2RhMzk3
YzllLi4xYWU1ZmU2OTA3YTQ3Mzg0MDk5ZmFlYjBjNzljMmFmOWQxYWJiYmNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCkBAIC0yMzYsNyArMjM2LDYgQEAgRU5ESUYg
KCkKIAogaWYgKEVOQUJMRV9NRURJQV9TVFJFQU0pCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCi0gICAgICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL2JsYWNrYmVycnkvRGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKICAgICAgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0v
YmxhY2tiZXJyeS9NZWRpYVN0cmVhbUNlbnRlckJsYWNrQmVycnkuY3BwCiAgICAgKQogRU5ESUYg
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYTlhNGYxMTIyNzY2MmQzNzgzZDJhOTMy
NDIyYmUzMDhjMmM2NzI0NS4uM2QwMDcwOWZmOWVlMDczYmY5NDFiNzI3YWQ3ZmQ1YTZjZjQzMTQw
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTc5LDcgKzc5LDYgQEAgTElTVChBUFBF
TkQgV2ViQ29yZV9TT1VSQ0VTCiAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFn
ZURlY29kZXIuY3BwCiAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVj
b2Rlci5jcHAKICAgcGxhdGZvcm0vbGludXgvR2FtZXBhZERldmljZUxpbnV4LmNwcAotICBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
ci5jcHAKICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01lZGlhU3RyZWFtQ2VudGVy
R1N0cmVhbWVyLmNwcAogICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAK
ICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpT
Qy5jbWFrZQppbmRleCBjNGM5MDg4NDg4ZmU1ZmNmMGE0NmFmZmQ4YmRlODNkYzc4Nzc5YTY3Li4w
MGYxYmUxMDI4ZWMxYTc5ZDJjZDBiY2ZlMGRiMDJmMzMxYzVhMWJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtl
CkBAIC00OSw3ICs0OSw2IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRp
bmdzL2pzL0pTQ29vcmRpbmF0ZXNDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDdXN0b21W
b2lkQ2FsbGJhY2suY3BwCiAgICAgYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIu
Y3BwCi0gICAgYmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25DdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRE9N
QmluZGluZy5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IGUyODY2MTVhOWQ4MDc3ZmUwOTZmZGZhMDMzMjhmZjZjYmIzZmVkZDUu
LjYxMzBkNDk2MDI5MDMzNDYyMTM0NjU3OTc4Njg4OWU2MzlhMjQ5MmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTQzNiw4ICs0MzYsNiBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL21hYy9XZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL21hYy9XZWJDb3JlVmll
dy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tYWMvV2ViRm9udENhY2hlLmgnLAotICAgICAg
ICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRs
ZXIuaCcsCi0gICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uSGFuZGxlckNsaWVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9JY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
bWVkaWFzdHJlYW0vSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9JY2VPcHRpb25zLmNwcCcsCkBAIC00NTMsOSArNDUxLDYgQEAKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNs
aWVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3Jp
cHRpb25EZXNjcmlwdG9yLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0v
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9jaHJvbWl1bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcCcs
Ci0gICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmNwcCcsCi0gICAgICAgICAgICAncGxhdGZvcm0v
bWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVy
bmFsLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL01lZGlh
U3RyZWFtQ2VudGVyQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9jaHJvbWl1bS9NZWRpYVN0cmVhbUNlbnRlckNocm9taXVtLmgnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNw
cCcsCkBAIC04MjcsNyArODIyLDYgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50
ZW50LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL0ludGVudFJlc3VsdENhbGxi
YWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05hdmlnYXRvckludGVudHMu
aWRsJywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbi5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93
TWVkaWFTdHJlYW0uaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNh
bGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYW5kaWRh
dGUuaWRsJywKQEAgLTg0NCw3ICs4MzgsNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
dHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRsJywKLSAgICAgICAg
ICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmlkbCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsJywK
ICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwn
LApAQCAtMTUzOSw4ICsxNTMyLDYgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50
ZW50UmVzdWx0Q2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05hdmln
YXRvckludGVudHMuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9y
SW50ZW50cy5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbi5jcHAnLAotICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJl
YW0vSWNlQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VD
YW5kaWRhdGUuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbmRp
ZGF0ZS5oJywKQEAgLTE1NjksNyArMTU2MCw2IEBACiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
dHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9TaWduYWxpbmdDYWxsYmFjay5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYUNsaWVudC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3Ry
ZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuaCcsCkBAIC0xOTY5LDcgKzE5NTksNiBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRGF0YVZpZXdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKLSAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oCmluZGV4IGI2NmQxYWU0NjEzYjE5MTZkNDNmZjRkNmZmODIyMjhhYzU4
NmIxZmIuLjQwMjIwMjRmNDMwMjIyNzk1ZjAyODFmY2RiNzU2ZjQ0NDRlN2YwOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCkBAIC0xODcsNyArMTg3LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGljIGJvb2wg
cGVlckNvbm5lY3Rpb25FbmFibGVkKCkgeyByZXR1cm4gaXNNZWRpYVN0cmVhbUVuYWJsZWQgJiYg
aXNQZWVyQ29ubmVjdGlvbkVuYWJsZWQ7IH0KICAgICBzdGF0aWMgdm9pZCBzZXRQZWVyQ29ubmVj
dGlvbkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNQZWVyQ29ubmVjdGlvbkVuYWJsZWQgPSBp
c0VuYWJsZWQ7IH0KLSAgICBzdGF0aWMgYm9vbCB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25FbmFibGVkKCkgeyByZXR1cm4gcGVlckNvbm5lY3Rpb25FbmFibGVkKCk7IH0KICAgICBzdGF0
aWMgYm9vbCB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwRW5hYmxlZCgpIHsgcmV0dXJuIHBlZXJDb25u
ZWN0aW9uRW5hYmxlZCgpOyB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25DdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25DdXN0b20uY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmQ1ZWU3YzBiOTM0MDcyZDViMjJiMmFh
OWE5ZTk1Mjg0MjYxMDU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uQ3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAxMSBFcmljc3NvbiBBQi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAot
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
Ci0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNp
bmNsdWRlICJKU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5oIgotCi0jaW5jbHVkZSAiQ2FsbGJh
Y2tGdW5jdGlvbi5oIgotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5oIgotI2lu
Y2x1ZGUgIkpTU2lnbmFsaW5nQ2FsbGJhY2suaCIKLSNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+
Ci0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkNvbnN0cnVj
dG9yOjpjb25zdHJ1Y3RKU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbihFeGVjU3RhdGUqIGV4ZWMp
Ci17Ci0gICAgSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25Db25zdHJ1Y3RvcioganNDb25zdHJ1
Y3RvciA9IHN0YXRpY19jYXN0PEpTRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uQ29uc3RydWN0b3Iq
PihleGVjLT5jYWxsZWUoKSk7Ci0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9
IGpzQ29uc3RydWN0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRl
eHQpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlUmVmZXJlbmNlRXJy
b3IoZXhlYywgIkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiBjb25zdHJ1Y3RvciBhc3NvY2lhdGVk
IGRvY3VtZW50IGlzIHVuYXZhaWxhYmxlIikpOwotCi0gICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291
bnQoKSA8IDIpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5v
dWdoQXJndW1lbnRzRXJyb3IoZXhlYykpOwotCi0gICAgU3RyaW5nIHNlcnZlckNvbmZpZ3VyYXRp
b24gPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYyktPnZh
bHVlKGV4ZWMpKTsKLSAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKLQotICAgIFJlZlB0cjxTaWduYWxpbmdDYWxs
YmFjaz4gc2lnbmFsaW5nQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU1Np
Z25hbGluZ0NhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDEpKTsKLSAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNW
YWx1ZSgpKTsKLQotICAgIFJlZlB0cjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+IHBlZXJDb25u
ZWN0aW9uID0gRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpjcmVhdGUoY29udGV4dCwgc2VydmVy
Q29uZmlndXJhdGlvbiwgc2lnbmFsaW5nQ2FsbGJhY2sucmVsZWFzZSgpKTsKLSAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKENSRUFURV9ET01fV1JBUFBFUihleGVjLCBqc0NvbnN0cnVjdG9yLT5n
bG9iYWxPYmplY3QoKSwgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLCBwZWVyQ29ubmVjdGlvbi5n
ZXQoKSkpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5k
ZXggODIxNzE3YjBkN2ZlNzY1M2FhZjNmNjVkYTM1ZWE4ZWY5NWJkMDRlNC4uNDAzYjc1OTJiZWNi
ZTNjYzRhODQ1ZTdlNDU3ZTFiZDY4NGViYzhiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXRGYWN0b3J5LmluCkBAIC01LDcgKzUsNiBAQCBCYXR0ZXJ5TWFuYWdlciBjb25kaXRpb25h
bD1CQVRURVJZX1NUQVRVUwogRGVkaWNhdGVkV29ya2VyQ29udGV4dCBjb25kaXRpb25hbD1XT1JL
RVJTCiBET01BcHBsaWNhdGlvbkNhY2hlCiBET01XaW5kb3cKLURlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbiBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIEV2ZW50U291cmNlCiBGaWxlUmVhZGVyIGNv
bmRpdGlvbmFsPUJMT0IKIEZpbGVXcml0ZXIgY29uZGl0aW9uYWw9RklMRV9TWVNURU0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNmUzNGRlNTZkZGRiMGYyNmM3ZWZlMDgzMjUzOWY4ODA4NmQzZWJlNS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEVy
aWNzc29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCi0gKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKiAz
LiBOZWl0aGVyIHRoZSBuYW1lIG9mIEVyaWNzc29uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzCi0gKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
Ci0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uSGFuZGxlcl9oCi0jZGVmaW5lIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJfaAotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIk1lZGlhU3RyZWFt
RGVzY3JpcHRvci5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDsKLQot
I2lmIFBMQVRGT1JNKENIUk9NSVVNKQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlckludGVybmFsOwotI2VuZGlmCi0KLWNsYXNzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhh
bmRsZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bkhhbmRsZXIpOwotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzT3duUHRyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI+IGNyZWF0ZShE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiwgY29uc3QgU3RyaW5nJiBzZXJ2
ZXJDb25maWd1cmF0aW9uLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKTsKLSAgICB+RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlcigpOwotCi0gICAgdm9pZCBwcm9kdWNlSW5pdGlhbE9mZmVy
KGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVhbXMpOwot
ICAgIHZvaWQgaGFuZGxlSW5pdGlhbE9mZmVyKGNvbnN0IFN0cmluZyYgc2RwKTsKLSAgICB2b2lk
IHByb2Nlc3NTRFAoY29uc3QgU3RyaW5nJiBzZHApOwotICAgIHZvaWQgcHJvY2Vzc1BlbmRpbmdT
dHJlYW1zKGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVh
bXMsIGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ1JlbW92ZVN0cmVh
bXMpOwotICAgIHZvaWQgc2VuZERhdGFTdHJlYW1NZXNzYWdlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCBsZW5ndGgpOwotCi0gICAgdm9pZCBzdG9wKCk7Ci0KLXByaXZhdGU6Ci0gICAgRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcihEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50KiwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJDb25maWd1cmF0aW9uLCBjb25zdCBTdHJpbmcm
IHVzZXJuYW1lKTsKLQotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIE93blB0cjxEZXByZWNh
dGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWw+IG1fcHJpdmF0ZTsKLSNlbGlmIFVTRShH
U1RSRUFNRVIpCi0gICAgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCogbV9j
bGllbnQ7Ci0jZW5kaWYKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNlbmRpZiAvLyBEZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJD
bGllbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODZjN2YwOWVhMDJkMjcyZDMw
YjUyMjUyYTcyNDJhNWYzOGJhMzM4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9EZXByZWNh
dGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBBQi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
ICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBF
cmljc3NvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcwotICog
ICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaWZuZGVmIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnRf
aAotI2RlZmluZSBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50X2gKLQotI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNs
YXNzIE1lZGlhU3RyZWFtRGVzY3JpcHRvcjsKLQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgLy8gTmFtZSBhbmQgdmFsdWVzIG9mIHRo
ZSBlbnVtIG11c3QgbWF0Y2ggdGhlIGNvcnJlc3Nwb25kaW5nIGNvbnN0YW50cyBpbiB0aGUgUGVl
ckNvbm5lY3Rpb24uaWRsIGZpbGUuCi0gICAgZW51bSBSZWFkeVN0YXRlIHsKLSAgICAgICAgTkVX
ID0gMCwKLSAgICAgICAgTkVHT1RJQVRJTkcgPSAxLAotICAgICAgICBBQ1RJVkUgPSAyLAotICAg
ICAgICBDTE9TRUQgPSAzCi0gICAgfTsKLQotICAgIHZpcnR1YWwgfkRlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQoKSB7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0
ZUlDRVByb2Nlc3NpbmcoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEdlbmVyYXRlU0RQKGNv
bnN0IFN0cmluZyYgc2RwKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhU3Ry
ZWFtTWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKSA9IDA7Ci0gICAgdmly
dHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3Jp
cHRvcj4pID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKE1lZGlh
U3RyZWFtRGVzY3JpcHRvciopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlU3RhdGUo
UmVhZHlTdGF0ZSkgPSAwOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2VuZGlmIC8vIERlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vYmxhY2tiZXJyeS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2JsYWNrYmVycnkvRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGQ2ZTNkNTg2NjM3YzRkN2MzMGUxNTM2NzEyNTMwZTRjZjIwNjNiNTguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vYmxhY2tiZXJyeS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEgRXJpY3Nzb24gQUIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlv
bi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgRXJpY3Nzb24gbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKLSAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCIKLQotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDbGllbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzT3duUHRy
PERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI+IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bkhhbmRsZXI6OmNyZWF0ZShEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBj
bGllbnQsIGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1
c2VybmFtZSkKLXsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IERlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbkhhbmRsZXIoY2xpZW50LCBzZXJ2ZXJDb25maWd1cmF0aW9uLCB1c2VybmFtZSkpOwotfQot
Ci0vLyBFbXB0eSBpbXBsZW1lbnRhdGlvbnMgZm9yIHBvcnRzIHRoYXQgYnVpbGQgd2l0aCBNRURJ
QV9TVFJFQU0gZW5hYmxlZCBieSBkZWZhdWx0LgotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlcjo6RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcihEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb25IYW5kbGVyQ2xpZW50KiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikKLXsKLX0K
LQotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6fkRlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbkhhbmRsZXIoKQotewotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRs
ZXI6OnByb2R1Y2VJbml0aWFsT2ZmZXIoY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9y
JikKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpoYW5kbGVJ
bml0aWFsT2ZmZXIoY29uc3QgU3RyaW5nJikKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNv
bm5lY3Rpb25IYW5kbGVyOjpwcm9jZXNzU0RQKGNvbnN0IFN0cmluZyYpCi17Ci19Ci0KLXZvaWQg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6cHJvY2Vzc1BlbmRpbmdTdHJlYW1zKGNv
bnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYsIGNvbnN0IE1lZGlhU3RyZWFtRGVzY3Jp
cHRvclZlY3RvciYpCi17Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
cjo6c2VuZERhdGFTdHJlYW1NZXNzYWdlKGNvbnN0IGNoYXIqLCBzaXplX3QpCi17Ci19Ci0KLXZv
aWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6c3RvcCgpCi17Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9EZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGQ1ZjE3ZTM5NTc5ZWJjNjczMGRjNTli
YTVjYmMyY2I5MGE5NzY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL0RlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoK
LSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAot
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNp
bmNsdWRlICJEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgiCi0KLSNpbmNsdWRlICJE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgiCi0jaW5jbHVkZSAiRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotUGFzc093blB0cjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyPiBEZXByZWNh
dGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpjcmVhdGUoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24s
IGNvbnN0IFN0cmluZyYgdXNlcm5hbWUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyKGNsaWVudCwgc2VydmVyQ29uZmlndXJhdGlvbiwg
dXNlcm5hbWUpKTsKLX0KLQotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6RGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcihEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3Qg
U3RyaW5nJiB1c2VybmFtZSkKLSAgICA6IG1fcHJpdmF0ZShhZG9wdFB0cihuZXcgRGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsKGNsaWVudCwgc2VydmVyQ29uZmlndXJhdGlv
biwgdXNlcm5hbWUpKSkKLXsKLX0KLQotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6
fkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIoKQotewotfQotCi12b2lkIERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnByb2R1Y2VJbml0aWFsT2ZmZXIoY29uc3QgTWVkaWFT
dHJlYW1EZXNjcmlwdG9yVmVjdG9yJiBwZW5kaW5nQWRkU3RyZWFtcykKLXsKLSAgICBtX3ByaXZh
dGUtPnByb2R1Y2VJbml0aWFsT2ZmZXIocGVuZGluZ0FkZFN0cmVhbXMpOwotfQotCi12b2lkIERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmhhbmRsZUluaXRpYWxPZmZlcihjb25zdCBT
dHJpbmcmIHNkcCkKLXsKLSAgICBtX3ByaXZhdGUtPmhhbmRsZUluaXRpYWxPZmZlcihzZHApOwot
fQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnByb2Nlc3NTRFAoY29u
c3QgU3RyaW5nJiBzZHApCi17Ci0gICAgbV9wcml2YXRlLT5wcm9jZXNzU0RQKHNkcCk7Ci19Ci0K
LXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6cHJvY2Vzc1BlbmRpbmdTdHJl
YW1zKGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVhbXMs
IGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ1JlbW92ZVN0cmVhbXMp
Ci17Ci0gICAgbV9wcml2YXRlLT5wcm9jZXNzUGVuZGluZ1N0cmVhbXMocGVuZGluZ0FkZFN0cmVh
bXMsIHBlbmRpbmdSZW1vdmVTdHJlYW1zKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb25IYW5kbGVyOjpzZW5kRGF0YVN0cmVhbU1lc3NhZ2UoY29uc3QgY2hhciogZGF0YSwgc2l6
ZV90IGxlbmd0aCkKLXsKLSAgICBtX3ByaXZhdGUtPnNlbmREYXRhU3RyZWFtTWVzc2FnZShkYXRh
LCBsZW5ndGgpOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnN0
b3AoKQotewotICAgIG1fcHJpdmF0ZS0+c3RvcCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uSGFuZGxlckludGVybmFsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbC5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1ZTk2MzgxMWU0NjZlZTI4ZjUwNWJi
YTNjN2IwNzZhYzFkNWNjZjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDEzMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0g
KiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0g
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAot
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKLQotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5h
bC5oIgotCi0jaW5jbHVkZSAiRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5o
IgotI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgotI2luY2x1ZGUgPHB1YmxpYy9XZWJNZWRp
YVN0cmVhbURlc2NyaXB0b3IuaD4KLSNpbmNsdWRlIDxwdWJsaWMvV2ViUGVlckNvbm5lY3Rpb25I
YW5kbGVyLmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYlBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVu
dC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWwoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24sIGNvbnN0
IFN0cmluZyYgdXNlcm5hbWUpCi0gICAgOiBtX2NsaWVudChjbGllbnQpCi17Ci0gICAgQVNTRVJU
KG1fY2xpZW50KTsKLSAgICBtX3dlYkhhbmRsZXIgPSBhZG9wdFB0cihXZWJLaXQ6OlBsYXRmb3Jt
OjpjdXJyZW50KCktPmNyZWF0ZVBlZXJDb25uZWN0aW9uSGFuZGxlcih0aGlzKSk7Ci0gICAgLy8g
RklYTUU6IFdoZW4gdGhlcmUgaXMgc29tZSBlcnJvciByZXBvcnRpbmcgYXZhbGlhYmxlIGluIHRo
ZSBQZWVyQ29ubmVjdGlvbiBvYmplY3QgcmVwb3J0Ci0gICAgLy8gaWYgd2UgZGlkbid0IGdldCBh
IFdlYlBlZXJDb25uZWN0aW9uSGFuZGxlciBpbnN0YW5jZS4KLQotICAgIGlmIChtX3dlYkhhbmRs
ZXIpCi0gICAgICAgIG1fd2ViSGFuZGxlci0+aW5pdGlhbGl6ZShzZXJ2ZXJDb25maWd1cmF0aW9u
LCB1c2VybmFtZSk7Ci19Ci0KLURlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5h
bDo6fkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbCgpCi17Ci19Ci0KLXZv
aWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpwcm9kdWNlSW5pdGlh
bE9mZmVyKGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVh
bXMpCi17Ci0gICAgaWYgKG1fd2ViSGFuZGxlcikKLSAgICAgICAgbV93ZWJIYW5kbGVyLT5wcm9k
dWNlSW5pdGlhbE9mZmVyKHBlbmRpbmdBZGRTdHJlYW1zKTsKLX0KLQotdm9pZCBEZXByZWNhdGVk
UGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWw6OmhhbmRsZUluaXRpYWxPZmZlcihjb25zdCBT
dHJpbmcmIHNkcCkKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX3dlYkhhbmRs
ZXItPmhhbmRsZUluaXRpYWxPZmZlcihzZHApOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkhhbmRsZXJJbnRlcm5hbDo6cHJvY2Vzc1NEUChjb25zdCBTdHJpbmcmIHNkcCkKLXsK
LSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX3dlYkhhbmRsZXItPnByb2Nlc3NTRFAo
c2RwKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWw6
OnByb2Nlc3NQZW5kaW5nU3RyZWFtcyhjb25zdCBNZWRpYVN0cmVhbURlc2NyaXB0b3JWZWN0b3Im
IHBlbmRpbmdBZGRTdHJlYW1zLCBjb25zdCBNZWRpYVN0cmVhbURlc2NyaXB0b3JWZWN0b3ImIHBl
bmRpbmdSZW1vdmVTdHJlYW1zKQotewotICAgIGlmIChtX3dlYkhhbmRsZXIpCi0gICAgICAgIG1f
d2ViSGFuZGxlci0+cHJvY2Vzc1BlbmRpbmdTdHJlYW1zKHBlbmRpbmdBZGRTdHJlYW1zLCBwZW5k
aW5nUmVtb3ZlU3RyZWFtcyk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlckludGVybmFsOjpzZW5kRGF0YVN0cmVhbU1lc3NhZ2UoY29uc3QgY2hhciogZGF0YSwgc2l6
ZV90IGxlbmd0aCkKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX3dlYkhhbmRs
ZXItPnNlbmREYXRhU3RyZWFtTWVzc2FnZShkYXRhLCBsZW5ndGgpOwotfQotCi12b2lkIERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbDo6c3RvcCgpCi17Ci0gICAgaWYgKG1f
d2ViSGFuZGxlcikKLSAgICAgICAgbV93ZWJIYW5kbGVyLT5zdG9wKCk7Ci19Ci0KLXZvaWQgRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpkaWRDb21wbGV0ZUlDRVByb2Nl
c3NpbmcoKQotewotICAgIGlmIChtX3dlYkhhbmRsZXIpCi0gICAgICAgIG1fY2xpZW50LT5kaWRD
b21wbGV0ZUlDRVByb2Nlc3NpbmcoKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVySW50ZXJuYWw6OmRpZEdlbmVyYXRlU0RQKGNvbnN0IFdlYktpdDo6V2ViU3RyaW5n
JiBzZHApCi17Ci0gICAgaWYgKG1fd2ViSGFuZGxlcikKLSAgICAgICAgbV9jbGllbnQtPmRpZEdl
bmVyYXRlU0RQKHNkcCk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
ckludGVybmFsOjpkaWRSZWNlaXZlRGF0YVN0cmVhbU1lc3NhZ2UoY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGxlbmd0aCkKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX2NsaWVu
dC0+ZGlkUmVjZWl2ZURhdGFTdHJlYW1NZXNzYWdlKGRhdGEsIGxlbmd0aCk7Ci19Ci0KLXZvaWQg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpkaWRBZGRSZW1vdGVTdHJl
YW0oY29uc3QgV2ViS2l0OjpXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImIHdlYk1lZGlhU3RyZWFt
RGVzY3JpcHRvcikKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX2NsaWVudC0+
ZGlkQWRkUmVtb3RlU3RyZWFtKHdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvcik7Ci19Ci0KLXZvaWQg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpkaWRSZW1vdmVSZW1vdGVT
dHJlYW0oY29uc3QgV2ViS2l0OjpXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImIHdlYk1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcikKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX2NsaWVu
dC0+ZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKHdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvcik7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1
bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bkhhbmRsZXJJbnRlcm5hbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2ZjYjkz
YjRlMTc3ODViMzQ0NDhiNzBjYzlhMGI5MzVjYTVhN2NlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbC5oCisr
KyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uSGFuZGxlckludGVybmFsX2gKLSNkZWZpbmUgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlckludGVybmFsX2gKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNpbmNsdWRlICJN
ZWRpYVN0cmVhbURlc2NyaXB0b3IuaCIKLSNpbmNsdWRlIDxwdWJsaWMvV2ViUGVlckNvbm5lY3Rp
b25IYW5kbGVyQ2xpZW50Lmg+Ci0jaW5jbHVkZSA8d3RmL093blB0ci5oPgotI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVz
cGFjZSBXZWJLaXQgewotY2xhc3MgV2ViUGVlckNvbm5lY3Rpb25IYW5kbGVyOwotY2xhc3MgV2Vi
U3RyaW5nOwotY2xhc3MgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yOwotfQotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLWNsYXNzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ7
Ci0KLWNsYXNzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbCA6IHB1Ymxp
YyBXZWJLaXQ6OldlYlBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCB7Ci1wdWJsaWM6Ci0gICAg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsKERlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQqLCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24s
IGNvbnN0IFN0cmluZyYgdXNlcm5hbWUpOwotICAgIH5EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25I
YW5kbGVySW50ZXJuYWwoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBwcm9kdWNlSW5pdGlhbE9mZmVy
KGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVhbXMpOwot
ICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVJbml0aWFsT2ZmZXIoY29uc3QgU3RyaW5nJiBzZHApOwot
ICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzU0RQKGNvbnN0IFN0cmluZyYgc2RwKTsKLSAgICB2aXJ0
dWFsIHZvaWQgcHJvY2Vzc1BlbmRpbmdTdHJlYW1zKGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRv
clZlY3RvciYgcGVuZGluZ0FkZFN0cmVhbXMsIGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZl
Y3RvciYgcGVuZGluZ1JlbW92ZVN0cmVhbXMpOwotICAgIHZpcnR1YWwgdm9pZCBzZW5kRGF0YVN0
cmVhbU1lc3NhZ2UoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCk7Ci0gICAgdmlydHVh
bCB2b2lkIHN0b3AoKTsKLQotICAgIC8vIFdlYktpdDo6V2ViUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50IGltcGxlbWVudGF0aW9uLgotICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0ZUlDRVBy
b2Nlc3NpbmcoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkR2VuZXJhdGVTRFAoY29uc3QgV2ViS2l0
OjpXZWJTdHJpbmcmIHNkcCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhU3RyZWFt
TWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKLSAgICB2aXJ0dWFsIHZv
aWQgZGlkQWRkUmVtb3RlU3RyZWFtKGNvbnN0IFdlYktpdDo6V2ViTWVkaWFTdHJlYW1EZXNjcmlw
dG9yJik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZVJlbW90ZVN0cmVhbShjb25zdCBXZWJL
aXQ6OldlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYpOwotCi1wcml2YXRlOgotICAgIE93blB0cjxX
ZWJLaXQ6OldlYlBlZXJDb25uZWN0aW9uSGFuZGxlcj4gbV93ZWJIYW5kbGVyOwotICAgIERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqIG1fY2xpZW50OwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2Vu
ZGlmIC8vIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2ZTNkNTg2NjM3YzRkN2MzMGUxNTM2NzEy
NTMwZTRjZjIwNjNiNTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0RlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBFcmljc3NvbiBBQi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
ICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBF
cmljc3NvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcwotICog
ICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQotCi0jaW5jbHVkZSAiRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5oIgotCi0jaW5j
bHVkZSAiRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oIgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLVBhc3NPd25QdHI8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
cj4gRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6Y3JlYXRlKERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbkhhbmRsZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJDb25m
aWd1cmF0aW9uLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKQotewotICAgIHJldHVybiBhZG9wdFB0
cihuZXcgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcihjbGllbnQsIHNlcnZlckNvbmZp
Z3VyYXRpb24sIHVzZXJuYW1lKSk7Ci19Ci0KLS8vIEVtcHR5IGltcGxlbWVudGF0aW9ucyBmb3Ig
cG9ydHMgdGhhdCBidWlsZCB3aXRoIE1FRElBX1NUUkVBTSBlbmFibGVkIGJ5IGRlZmF1bHQuCi1E
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25I
YW5kbGVyKERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmKQotewotfQotCi1EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5k
bGVyOjp+RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcigpCi17Ci19Ci0KLXZvaWQgRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6cHJvZHVjZUluaXRpYWxPZmZlcihjb25zdCBN
ZWRpYVN0cmVhbURlc2NyaXB0b3JWZWN0b3ImKQotewotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbkhhbmRsZXI6OmhhbmRsZUluaXRpYWxPZmZlcihjb25zdCBTdHJpbmcmKQotewot
fQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnByb2Nlc3NTRFAoY29u
c3QgU3RyaW5nJikKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
Ojpwcm9jZXNzUGVuZGluZ1N0cmVhbXMoY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9y
JiwgY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9yJikKLXsKLX0KLQotdm9pZCBEZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpzZW5kRGF0YVN0cmVhbU1lc3NhZ2UoY29uc3Qg
Y2hhciosIHNpemVfdCkKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5k
bGVyOjpzdG9wKCkKLXsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZGJhNDAxYmJiOGE2MWEzNzliYzg2ZWZmOGQ2
NGJjYTQyM2UxNjUzLi5lNDg5NTFmOGI4YTFmZGI3MjkyY2Y2NTNmY2Y1YzBjODE0ZDczN2E2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDctMjQgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9t
bXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBSZW1vdmUgRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MjEwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENoYW5nZWQgYWxsIHVzYWdlcyBvZiBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24g
dG8gUGVlckNvbm5lY3Rpb24wMC4KKworICAgICAgICAqIGZhc3QvZG9tL2NhbGwtYS1jb25zdHJ1
Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jYWxs
LWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvbWVkaWFz
dHJlYW0vcGVlcmNvbm5lY3Rpb24tYWRkc3RyZWFtLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWFyZ3VtZW50LXR5cGVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWV2ZW50bGlzdGVu
ZXItb3B0aW9uYWwtYXJndW1lbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL3Bl
ZXJjb25uZWN0aW9uLW1lZGlhc3RyZWFtbGlzdC5odG1sOgorICAgICAgICAqIGZhc3QvbWVkaWFz
dHJlYW0vcGVlcmNvbm5lY3Rpb24tcmVtb3Zlc3RyZWFtLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1hZGRzdHJlYW0u
anM6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNvbm5lY3Rp
b24tYXJndW1lbnQtdHlwZXMuanM6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQt
dGVzdHMvcGVlcmNvbm5lY3Rpb24tcmVtb3Zlc3RyZWFtLmpzOgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVj
dG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9m
YXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL3dpbi9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBlY3Rl
ZC50eHQ6CisKIDIwMTItMDctMjQgIEFya28gU2FoYSAgPGFya29AbW90b3JvbGEuY29tPgogCiAg
ICAgICAgIE1pY3JvZGF0YTogSW1wbGVtZW50IFByb3BlcnR5Tm9kZUxpc3QgaW50ZXJmYWNlLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEt
ZnVuY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY2FsbC1hLWNvbnN0
cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IGIzZDIxMjQ2ZjRmZDg5ZmEy
OTExZjJmZTgwZDhiNGMwZGZmMjg3OGUuLjkwM2Q1NDdmZDNiNDhiNWY2MzRiZjY4YmIxZTI5Nzc3
M2NkYjFkYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1
Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTE4LDcg
KzE4LDYgQEAgUEFTUyBJbnQxNkFycmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tv
YmplY3QgSW50MTZBcnJheUNvbnN0cnVjdG9yXScgaXMKIFBBU1MgSW50MzJBcnJheSgpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IEludDMyQXJyYXlDb25zdHJ1Y3Rvcl0nIGlz
IG5vdCBhIGZ1bmN0aW9uIChldmFsdWF0aW5nICdJbnQzMkFycmF5KCknKS4KIFBBU1MgSW50OEFy
cmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tvYmplY3QgSW50OEFycmF5Q29uc3Ry
dWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnSW50OEFycmF5KCknKS4KIFBB
U1MgTWVzc2FnZUNoYW5uZWwoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBN
ZXNzYWdlQ2hhbm5lbENvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcg
J01lc3NhZ2VDaGFubmVsKCknKS4KLVNLSVAgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
IGlzIG5vdCBpbXBsZW1lbnRlZC4KIFBBU1MgU2hhcmVkV29ya2VyKCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogJ1tvYmplY3QgU2hhcmVkV29ya2VyQ29uc3RydWN0b3JdJyBpcyBub3QgYSBm
dW5jdGlvbiAoZXZhbHVhdGluZyAnU2hhcmVkV29ya2VyKCknKS4KIFBBU1MgVWludDE2QXJyYXko
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBVaW50MTZBcnJheUNvbnN0cnVj
dG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ1VpbnQxNkFycmF5KCknKS4KIFBB
U1MgVWludDMyQXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBVaW50
MzJBcnJheUNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ1VpbnQz
MkFycmF5KCknKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NhbGwtYS1jb25z
dHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jYWxsLWEt
Y29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi5odG1sCmluZGV4IDI2NDdkZmE5YzQ4YzQ2MDU2YjE1
ODcxOTJlMGNlMWM3OTRlOGZlMzcuLmJmZThhYTY2N2ZlYjQ3MGEzYmYwZTc4MmJjZDk5OGY4NzA1
ZDY2MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rv
ci1hcy1hLWZ1bmN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY2FsbC1hLWNv
bnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24uaHRtbApAQCAtNiw3ICs2LDcgQEAKIAogZGVzY3JpcHRp
b24oIlRoaXMgdGVzdHMgaWYgVHlwZUVycm9yIGlzIHRocm93biBvciBub3Qgd2hlbiB3ZSBjYWxs
IGEgY29uc3RydWN0b3IgYXMgYSBub3JtYWwgZnVuY3Rpb24uIik7CiAKLXZhciB0ZXN0X2NvbnN0
cnVjdG9ycyA9IFsiQXJyYXlCdWZmZXIiLCAiQXVkaW9Db250ZXh0IiwgIkZvcm1EYXRhIiwgIkRh
dGFWaWV3IiwgIkV2ZW50U291cmNlIiwgIkZpbGVSZWFkZXIiLCAiRmxvYXQzMkFycmF5IiwgIkZs
b2F0NjRBcnJheSIsICJBdWRpbyIsICJJbWFnZSIsICJPcHRpb24iLCAiSW50MTZBcnJheSIsICJJ
bnQzMkFycmF5IiwgIkludDhBcnJheSIsICJNZXNzYWdlQ2hhbm5lbCIsICJ3ZWJraXREZXByZWNh
dGVkUGVlckNvbm5lY3Rpb24iLCAiU2hhcmVkV29ya2VyIiwgIlVpbnQxNkFycmF5IiwgIlVpbnQz
MkFycmF5IiwgIlVpbnQ4QXJyYXkiLCAiV2ViS2l0Q1NTTWF0cml4IiwgIldlYktpdFBvaW50Iiwg
IldlYlNvY2tldCIsICJXb3JrZXIiLCAiWE1MSHR0cFJlcXVlc3QiLCAiWFNMVFByb2Nlc3NvciJd
OwordmFyIHRlc3RfY29uc3RydWN0b3JzID0gWyJBcnJheUJ1ZmZlciIsICJBdWRpb0NvbnRleHQi
LCAiRm9ybURhdGEiLCAiRGF0YVZpZXciLCAiRXZlbnRTb3VyY2UiLCAiRmlsZVJlYWRlciIsICJG
bG9hdDMyQXJyYXkiLCAiRmxvYXQ2NEFycmF5IiwgIkF1ZGlvIiwgIkltYWdlIiwgIk9wdGlvbiIs
ICJJbnQxNkFycmF5IiwgIkludDMyQXJyYXkiLCAiSW50OEFycmF5IiwgIk1lc3NhZ2VDaGFubmVs
IiwgIlNoYXJlZFdvcmtlciIsICJVaW50MTZBcnJheSIsICJVaW50MzJBcnJheSIsICJVaW50OEFy
cmF5IiwgIldlYktpdENTU01hdHJpeCIsICJXZWJLaXRQb2ludCIsICJXZWJTb2NrZXQiLCAiV29y
a2VyIiwgIlhNTEh0dHBSZXF1ZXN0IiwgIlhTTFRQcm9jZXNzb3IiXTsKIAogdGVzdF9jb25zdHJ1
Y3RvcnMuZm9yRWFjaChmdW5jdGlvbiAoY29uc3RydWN0b3IpIHsKICAgICBpZiAoZXZhbCgid2lu
ZG93LiIgKyBjb25zdHJ1Y3RvcikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL3BlZXJjb25uZWN0aW9uLWFkZHN0cmVhbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWFkZHN0cmVhbS1leHBlY3RlZC50eHQK
aW5kZXggMTk2ZjJkNjJlYjY4NWVjZTA5OWRlZjY3ZjQ1NjlhYTZiNWJhZThkZi4uYjNkNDRhZmQy
MDgxZjg2NTE2ZDdkNmQ0MzEyOTE0M2VjYjlmZjQzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1hZGRzdHJlYW0tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tYWRkc3RyZWFt
LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLVRlc3RzIERlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbjo6YWRkU3RyZWFtKCkuCitUZXN0cyBQZWVyQ29ubmVjdGlvbjAwOjphZGRTdHJlYW0oKS4K
IAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWFyZ3VtZW50LXR5cGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tYXJndW1lbnQt
dHlwZXMtZXhwZWN0ZWQudHh0CmluZGV4IDA0ZjljMzlmMWY3N2E0OGZiNTQ0N2VkYjRjNjU3YWQx
OTAzZmJkNGYuLjUwYmViZDlhNmRjMzhlNTNjYWZmZjdiNjc5NzYzODc0YTJlOTNiZGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tYXJndW1l
bnQtdHlwZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
cGVlcmNvbm5lY3Rpb24tYXJndW1lbnQtdHlwZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDU0ICsxLDU0
IEBACi1UZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBmb3IgYXJndW1lbnRzIHRvIG1ldGhvZCBm
b3IgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uIGRlZmluYXRpb24uCitUZXN0cyB0aGUgYWNjZXB0
YWJsZSB0eXBlcyBmb3IgYXJndW1lbnRzIHRvIG1ldGhvZCBmb3IgUGVlckNvbm5lY3Rpb24wMCBk
ZWZpbmF0aW9uLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyB0eXBlb2Yg
d2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uID09PSAnZnVuY3Rpb24nIGlzIHRydWUKLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uKCJTVFVOIDIwMy4wLjExMy4yOjI0NzgiKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiByZWxheS5leGFtcGxlLm5ldDozNDc4IikgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXRE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU4gZXhhbXBsZS5uZXQiKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgMjAzLjAuMTEzLjI6MjQ3OCIpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyByZWxheS5leGFtcGxlLm5ldDozNDc4IikgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3
ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIGV4YW1wbGUubmV0IikgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJr
aXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4gMjAzLjAuMTEzLjI6MjQ3OCIpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Vi
a2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIHJlbGF5LmV4YW1wbGUubmV0OjM0Nzgi
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1Mg
bmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiBleGFtcGxlLm5ldCIpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcg
d2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyAyMDMuMC4xMTMuMjoyNDc4Iikg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5l
dyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIHJlbGF5LmV4YW1wbGUubmV0
OjM0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4K
LVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgZXhhbXBsZS5u
ZXQiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiBOT05FIikgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJr
aXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIE5PTkUiKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiBOT05FIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oIlNUVU5TIE5PTkUiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigidW5k
ZWZpbmVkIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMu
Ci1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIm51bGwiKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtp
dERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbih7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oNDIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
LgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKEluZmluaXR5KSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdl
YmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigtSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uKGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uKCJTVFVOIDIwMy4wLjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJT
VFVOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVO
IGV4YW1wbGUubmV0IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgMjAzLjAuMTEzLjI6
MjQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3
ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIHJlbGF5LmV4YW1wbGUubmV0OjM0
NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Vi
a2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBleGFtcGxlLm5ldCIsZW1wdHlGdW5j
dGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlRVUk4gMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbikgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oIlRVUk4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oIlRVUk4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyAyMDMu
MC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgcmVsYXkuZXhhbXBs
ZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNT
IG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIGV4YW1wbGUubmV0Iixl
bXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgbmV3IHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiBOT05FIixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bigiVFVSTlMgTk9ORSIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1Q
QVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU4gTk9ORSIsZW1wdHlG
dW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNh
dGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIE5PTkUiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJU
VVJOIE5PTkUiLHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENI
X0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbigiVFVSTlMgTk9ORSIse30pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNN
QVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb24oIlNUVU4gTk9ORSIsNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlNUVU5TIE5PTkUiLEluZmluaXR5KSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyBuZXcgd2Via2l0
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBOT05FIiwtSW5maW5pdHkpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNT
IHR5cGVvZiB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwID09PSAnZnVuY3Rpb24nIGlzIHRydWUKK1BB
U1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAo
IlNUVU4gMjAzLjAuMTEzLjI6MjQ3OCIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTiBy
ZWxheS5leGFtcGxlLm5ldDozNDc4IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOIGV4
YW1wbGUubmV0IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyAyMDMuMC4xMTMuMjoy
NDc4IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQ
QVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyByZWxheS5leGFtcGxlLm5ldDoz
NDc4IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQ
QVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyBleGFtcGxlLm5ldCIpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Vi
a2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiAyMDMuMC4xMTMuMjoyNDc4IikgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVy
Q29ubmVjdGlvbjAwKCJUVVJOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoIlRVUk4gZXhhbXBsZS5uZXQiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAo
IlRVUk5TIDIwMy4wLjExMy4yOjI0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3Qg
ZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5T
IHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3Qg
ZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5T
IGV4YW1wbGUubmV0IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIE5PTkUiKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdl
YmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIE5PTkUiKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9u
MDAoIlNUVU4gTk9ORSIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgTk9ORSIpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcg
d2Via2l0UGVlckNvbm5lY3Rpb24wMCgidW5kZWZpbmVkIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlv
bjAwKCJudWxsIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKHt9KSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25u
ZWN0aW9uMDAoNDIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMChJbmZpbml0eSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQ
ZWVyQ29ubmVjdGlvbjAwKC1JbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKGVtcHR5
RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
LgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTiAyMDMuMC4xMTMuMjoyNDc4
IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtp
dFBlZXJDb25uZWN0aW9uMDAoIlNUVU4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5j
dGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwKCJTVFVOIGV4YW1wbGUubmV0IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIDIwMy4wLjEx
My4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBu
ZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIs
ZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQ
ZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyBleGFtcGxlLm5ldCIsZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJO
IDIwMy4wLjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiByZWxheS5leGFtcGxlLm5l
dDozNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3
IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24w
MCgiVFVSTlMgMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyByZWxheS5l
eGFtcGxlLm5ldDozNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIGV4YW1wbGUubmV0IixlbXB0
eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoIlRVUk4gTk9ORSIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyBOT05FIixlbXB0
eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoIlNUVU4gTk9ORSIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyBOT05FIixlbXB0
eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoIlRVUk4gTk9ORSIsdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuZXcgd2Via2l0UGVl
ckNvbm5lY3Rpb24wMCgiVFVSTlMgTk9ORSIse30pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQ
RV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29u
bmVjdGlvbjAwKCJTVFVOIE5PTkUiLDQyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlT
TUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rp
b24wMCgiU1RVTlMgTk9ORSIsSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwKCJTVFVOUyBOT05FIiwtSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQ
RV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tZXZlbnRsaXN0ZW5lci1vcHRpb25hbC1hcmd1bWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1ldmVu
dGxpc3RlbmVyLW9wdGlvbmFsLWFyZ3VtZW50Lmh0bWwKaW5kZXggY2ViMjYyNTM0M2NlYTM5YjY1
NzE1OTk3NDE3YzAzMTNkYzJjZmE0ZS4uNDNhZDE0OTE5MzcwMzExN2U0NTg0ZDdlMDVjZjEwNmY1
MzI0ZmE4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29u
bmVjdGlvbi1ldmVudGxpc3RlbmVyLW9wdGlvbmFsLWFyZ3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1ldmVudGxpc3RlbmVyLW9wdGlv
bmFsLWFyZ3VtZW50Lmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGNvbmZpcm1zIGlmIHRoZSB0aGlyZCBhcmd1bWVudCBvZiBhZGRFdmVudExp
c3RlbmVyKCkgYW5kIHJlbW92ZUV2ZW50TGlzdGVuZXIoKSBpcyBvcHRpb25hbC4iKTsKIAotdmFy
IHBjID0gbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigic29tZS5zZXJ2ZXIuY29t
IiwgZnVuY3Rpb24oKSB7fSk7Cit2YXIgcGMgPSBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgi
c29tZS5zZXJ2ZXIuY29tIiwgZnVuY3Rpb24oKSB7fSk7CiBzaG91bGRCZSgncGMuYWRkRXZlbnRM
aXN0ZW5lcigiZm9vIiwgZnVuY3Rpb24oKSB7fSknLCAndW5kZWZpbmVkJyk7CiBzaG91bGRCZSgn
cGMuYWRkRXZlbnRMaXN0ZW5lcigiZm9vIiwgZnVuY3Rpb24oKSB7fSwgZmFsc2UpJywgJ3VuZGVm
aW5lZCcpOwogc2hvdWxkQmUoJ3BjLmFkZEV2ZW50TGlzdGVuZXIoImZvbyIsIGZ1bmN0aW9uKCkg
e30sIHRydWUpJywgJ3VuZGVmaW5lZCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1tZWRpYXN0cmVhbWxpc3QuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tbWVkaWFzdHJlYW1saXN0Lmh0bWwK
aW5kZXggMWJhZDdmZDg0ZDVmZTgyM2QwYjBlN2Y4N2NkMGZmOTU5ZGJkYWEzZS4uZDY3YmZkNzgw
YmM0ZTg3MjI2N2FlNWNkMzQ5NmI4OTc3Y2FmYjdmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1tZWRpYXN0cmVhbWxpc3QuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLW1lZGlhc3RyZWFt
bGlzdC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCBjb25maXJtcyB0aGF0IG91dC1vZi1ib3VuZHMgYWNjZXNzIG9mIE1lZGlhU3RyZWFtTGlz
dCByZXR1cm5zIHVuZGVmaW5lZC4iKTsKIAotdmFyIHBjID0gbmV3IHdlYmtpdERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbigiIiwgZnVuY3Rpb24oKSB7fSk7Cit2YXIgcGMgPSBuZXcgd2Via2l0UGVl
ckNvbm5lY3Rpb24wMCgiIiwgZnVuY3Rpb24oKSB7fSk7CiAKIHNob3VsZEJlVW5kZWZpbmVkKCdw
Yy5sb2NhbFN0cmVhbXNbMHhiYWRjMGRlZF0nKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1yZW1vdmVzdHJlYW0tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1yZW1vdmVzdHJl
YW0tZXhwZWN0ZWQudHh0CmluZGV4IGE2NDJhMDA3OWQ3NmYwNTg4NjA5MDZiNWQ1NGIzZDdlZjA0
Y2FkMjkuLjE0NzM5MjJjNzM5ZmUzNTE4YzBmMDIzY2ZmN2JmN2MxMzUyNjIwYTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tcmVtb3Zlc3Ry
ZWFtLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJj
b25uZWN0aW9uLXJlbW92ZXN0cmVhbS1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKLVRl
c3RzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6cmVtb3ZlU3RyZWFtKCkuCitUZXN0cyBQZWVy
Q29ubmVjdGlvbjAwOjpyZW1vdmVTdHJlYW0oKS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgogCiAKLVBBU1MgcGMucmVtb3ZlU3RyZWFtKCkgdGhyZXcgVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cwotUEFTUyBwYy5yZW1vdmVTdHJlYW0odW5kZWZpbmVkKSB0aHJldyBFcnJvcjog
VFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcKLVBBU1MgcGMucmVtb3ZlU3RyZWFt
KG51bGwpIHRocmV3IEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNwot
UEFTUyBwYy5yZW1vdmVTdHJlYW0obmV3IEFycmF5KCkpIHRocmV3IFR5cGVFcnJvcjogVHlwZSBl
cnJvcgotUEFTUyBwYy5yZW1vdmVTdHJlYW0oe30pIHRocmV3VHlwZUVycm9yOiBUeXBlIGVycm9y
Ci1QQVNTIHBjLnJlbW92ZVN0cmVhbSg0MikgdGhyZXdUeXBlRXJyb3I6IFR5cGUgZXJyb3IKLVBB
U1MgcGMucmVtb3ZlU3RyZWFtKEluZmluaXR5KSB0aHJld1R5cGVFcnJvcjogVHlwZSBlcnJvcgot
UEFTUyBwYy5yZW1vdmVTdHJlYW0oLUluZmluaXR5KSB0aHJld1R5cGVFcnJvcjogVHlwZSBlcnJv
cgorUEFTUyBwYy5yZW1vdmVTdHJlYW0oKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBjLnJlbW92ZVN0cmVhbSh1bmRlZmluZWQpOyB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBwYy5yZW1vdmVTdHJlYW0obnVsbCk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHBjLnJlbW92ZVN0cmVhbShuZXcg
QXJyYXkoKSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHBj
LnJlbW92ZVN0cmVhbSh7fSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
CitQQVNTIHBjLnJlbW92ZVN0cmVhbSg0Mik7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCitQQVNTIHBjLnJlbW92ZVN0cmVhbShJbmZpbml0eSk7IHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHBjLnJlbW92ZVN0cmVhbSgtSW5maW5pdHkp
OyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1hZGRzdHJlYW0u
anMgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVj
dGlvbi1hZGRzdHJlYW0uanMKaW5kZXggNmNlNmVjMTc1ZjA0NzJhNjk5MWRlMTBiNDdjNjcwNWUx
YTQxMmFhNi4uMDYyMmQwZTA4MjJkMDJmN2YwYmNmZmY0OTYyY2VkMWExNjVjOTA2NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNvbm5l
Y3Rpb24tYWRkc3RyZWFtLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2Ny
aXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLWFkZHN0cmVhbS5qcwpAQCAtMSw2ICsxLDYgQEAKLWRl
c2NyaXB0aW9uKCJUZXN0cyBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmFkZFN0cmVhbSgpLiIp
OworZGVzY3JpcHRpb24oIlRlc3RzIFBlZXJDb25uZWN0aW9uMDA6OmFkZFN0cmVhbSgpLiIpOwog
Ci12YXIgcGMgPSBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOIHNvbWUu
c2VydmVyLmNvbSIsIGZ1bmN0aW9uKCkge30pOwordmFyIHBjID0gbmV3IHdlYmtpdFBlZXJDb25u
ZWN0aW9uMDAoIlNUVU4gc29tZS5zZXJ2ZXIuY29tIiwgZnVuY3Rpb24oKSB7fSk7CiAKIHRyeSB7
CiAgICAgcGMuYWRkU3RyZWFtKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1hcmd1bWVudC10eXBlcy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLWFy
Z3VtZW50LXR5cGVzLmpzCmluZGV4IDM3OTZmODU1NTZkNGFlY2FhNmQzMWY5ODFlODVjNzQyYWJk
MTU4MGYuLjdmMmM2ZTE0YWU2NTVlNWQ1YjRjNzBhNWI0NGQxZmFiNWU5ZjBiODQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0
aW9uLWFyZ3VtZW50LXR5cGVzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
c2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLWFyZ3VtZW50LXR5cGVzLmpzCkBAIC0xLDQgKzEs
NCBAQAotZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5cGVzIGZvciBhcmd1bWVu
dHMgdG8gbWV0aG9kIGZvciBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24gZGVmaW5hdGlvbi4iKTsK
K2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBmb3IgYXJndW1lbnRzIHRv
IG1ldGhvZCBmb3IgUGVlckNvbm5lY3Rpb24wMCBkZWZpbmF0aW9uLiIpOwogCiBmdW5jdGlvbiB0
ZXN0KGV4cHJlc3Npb24sIGV4cHJlc3Npb25TaG91bGRUaHJvdywgZXhwZWN0ZWRFeGNlcHRpb24p
IHsKICAgICBpZiAoZXhwcmVzc2lvblNob3VsZFRocm93KSB7CkBAIC0yMSw1OSArMjEsNTcgQEAg
T2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7
CiB9CiB2YXIgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24gPSBuZXcgT2JqZWN0VGhyb3dpbmdFeGNl
cHRpb24oKTsKIAotc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2Via2l0RGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uID09PSAnZnVuY3Rpb24nIik7CitzaG91bGRCZVRydWUoInR5cGVvZiB3ZWJraXRQZWVy
Q29ubmVjdGlvbjAwID09PSAnZnVuY3Rpb24nIik7CiAKIC8vIDAgQXJndW1lbnQKLXRlc3QoJ25l
dyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oKScsIHRydWUsJ1R5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCkn
LCB0cnVlLCdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7CiAKLS8vIDEgQXJndW1l
bnQgKG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24gcmVxdWlyZXMgYXQgbGVhc3Qg
MiBhcmd1bWVudHMpLgotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigi
U1RVTiAyMDMuMC4xMTMuMjoyNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RV
TiByZWxheS5leGFtcGxlLm5ldDozNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigi
U1RVTiBleGFtcGxlLm5ldCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIDIw
My4wLjExMy4yOjI0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
Jyk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyByZWxh
eS5leGFtcGxlLm5ldDozNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3Vt
ZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMg
ZXhhbXBsZS5uZXQiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7
Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIDIwMy4wLjEx
My4yOjI0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Ci10
ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIHJlbGF5LmV4YW1w
bGUubmV0OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7
Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIGV4YW1wbGUu
bmV0IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVzdCgn
bmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgMjAzLjAuMTEzLjI6MjQ3
OCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25l
dyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIHJlbGF5LmV4YW1wbGUubmV0
OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Ci10ZXN0
KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyBleGFtcGxlLm5ldCIp
JywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3
ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4gTk9ORSIpJywgdHJ1ZSwgJ1R5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlRVUk5TIE5PTkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzJyk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
KCJTVFVOIE5PTkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7
Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBOT05FIikn
LCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdl
YmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigidW5kZWZpbmVkIiknLCB0cnVlLCAnVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbigibnVsbCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oe30pJywg
dHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJr
aXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oNDIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oSW5maW5pdHkpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsK
LXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oLUluZmluaXR5KScsIHRy
dWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Ci10ZXN0KCduZXcgd2Via2l0
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKGVtcHR5RnVuY3Rpb24pJywgdHJ1ZSwgJ1R5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKKy8vIDEgQXJndW1lbnQgKG5ldyB3ZWJraXRQZWVy
Q29ubmVjdGlvbjAwIHJlcXVpcmVzIGF0IGxlYXN0IDIgYXJndW1lbnRzKS4KK3Rlc3QoJ25ldyB3
ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOIDIwMy4wLjExMy4yOjI0NzgiKScsIHRydWUsICdU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNv
bm5lY3Rpb24wMCgiU1RVTiByZWxheS5leGFtcGxlLm5ldDozNDc4IiknLCB0cnVlLCAnVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0
aW9uMDAoIlNUVU4gZXhhbXBsZS5uZXQiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2gg
YXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgMjAz
LjAuMTEzLjI6MjQ3OCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMn
KTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyByZWxheS5leGFtcGxl
Lm5ldDozNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwor
dGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIGV4YW1wbGUubmV0IiknLCB0
cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtp
dFBlZXJDb25uZWN0aW9uMDAoIlRVUk4gMjAzLjAuMTEzLjI6MjQ3OCIpJywgdHJ1ZSwgJ1R5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwKCJUVVJOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6
IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24w
MCgiVFVSTiBleGFtcGxlLm5ldCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyAyMDMuMC4x
MTMuMjoyNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwor
dGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIHJlbGF5LmV4YW1wbGUubmV0
OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0
KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTlMgZXhhbXBsZS5uZXQiKScsIHRydWUs
ICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVl
ckNvbm5lY3Rpb24wMCgiVFVSTiBOT05FIiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIE5P
TkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCdu
ZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTiBOT05FIiknLCB0cnVlLCAnVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9u
MDAoIlNUVU5TIE5PTkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
Jyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgidW5kZWZpbmVkIiknLCB0cnVl
LCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBl
ZXJDb25uZWN0aW9uMDAoIm51bGwiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCh7fSknLCB0cnVlLCAn
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoNDIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMn
KTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKEluZmluaXR5KScsIHRydWUsICdU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNv
bm5lY3Rpb24wMCgtSW5maW5pdHkpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKGVtcHR5RnVuY3Rpb24p
JywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKIAogLy8yIEFyZ3Vt
ZW50Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOIDIwMy4w
LjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiByZWxheS5leGFtcGxlLm5ldDozNDc4IixlbXB0
eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oIlNUVU4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJyxmYWxzZSk7Ci10ZXN0KCdu
ZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyAyMDMuMC4xMTMuMjoyNDc4
IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb24oIlNUVU5TIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiLGVtcHR5RnVuY3Rpb24p
JywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RV
TlMgZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtp
dERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiAyMDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1
bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oIlRVUk4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7
Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIGV4YW1wbGUu
bmV0IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlRVUk5TIDIwMy4wLjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pJywg
ZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMg
cmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCdu
ZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyBleGFtcGxlLm5ldCIsZW1w
dHlGdW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uKCJUVVJOIE5PTkUiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdl
YmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgTk9ORSIsZW1wdHlGdW5jdGlvbikn
LGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU4g
Tk9ORSIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBOT05FIixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRl
c3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4gTk9ORSIsdW5kZWZp
bmVkKScsICB0cnVlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24o
IlRVUk5TIE5PTkUiLHt9KScsIHRydWUpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbigiU1RVTiBOT05FIiw0MiknLCAgdHJ1ZSk7Ci10ZXN0KCduZXcgd2Via2l0RGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBOT05FIixJbmZpbml0eSknLCB0cnVlKTsKLXRl
c3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIE5PTkUiLC1JbmZp
bml0eSknLCB0cnVlKTsKLQotCit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RV
TiAyMDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3
ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiLGVtcHR5
RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNU
VU4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJyxmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0
UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbikn
LCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgcmVsYXku
ZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Vi
a2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJywg
ZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk4gMjAzLjAuMTEz
LjI6MjQ3OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNv
bm5lY3Rpb24wMCgiVFVSTiByZWxheS5leGFtcGxlLm5ldDozNDc4IixlbXB0eUZ1bmN0aW9uKScs
IGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIGV4YW1wbGUu
bmV0IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwKCJUVVJOUyAyMDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsK
K3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyByZWxheS5leGFtcGxlLm5l
dDozNDc4IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29u
bmVjdGlvbjAwKCJUVVJOUyBleGFtcGxlLm5ldCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0
ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiBOT05FIixlbXB0eUZ1bmN0aW9u
KScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyBOT05F
IixlbXB0eUZ1bmN0aW9uKScsZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9u
MDAoIlNUVU4gTk9ORSIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0
UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgTk9ORSIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0
ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiBOT05FIix1bmRlZmluZWQpJywg
IHRydWUpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIE5PTkUiLHt9
KScsIHRydWUpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU4gTk9ORSIs
NDIpJywgIHRydWUpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIE5P
TkUiLEluZmluaXR5KScsIHRydWUpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAo
IlNUVU5TIE5PTkUiLC1JbmZpbml0eSknLCB0cnVlKTsKIAogd2luZG93LmpzVGVzdElzQXN5bmMg
PSBmYWxzZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyaXB0
LXRlc3RzL3BlZXJjb25uZWN0aW9uLXJlbW92ZXN0cmVhbS5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLXJlbW92ZXN0cmVhbS5qcwpp
bmRleCA0Nzc3ZDg0MzNjYjA0YjZiOThiMTMzY2EwOTE2ZDY2NGQzYTllMWUxLi42NjdlOGE4YzBm
ZDdkZjdmNjU1ZmQ0Mjc0MjQxNjliOGZjNmRiOTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1yZW1vdmVzdHJlYW0u
anMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNv
bm5lY3Rpb24tcmVtb3Zlc3RyZWFtLmpzCkBAIC0xLDUwICsxLDE1IEBACi1kZXNjcmlwdGlvbigi
VGVzdHMgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpyZW1vdmVTdHJlYW0oKS4iKTsKLQotdmFy
IHBjID0gbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiBzb21lLnNlcnZl
ci5jb20iLCBmdW5jdGlvbigpIHt9KTsKLQotdHJ5IHsKLSAgICBwYy5yZW1vdmVTdHJlYW0oKTsK
LX0gY2F0Y2goZSkgewotICAgIHRlc3RQYXNzZWQoJ3BjLnJlbW92ZVN0cmVhbSgpIHRocmV3ICcg
KyBlKTsKLX0KLQotdHJ5IHsKLSAgICBwYy5yZW1vdmVTdHJlYW0odW5kZWZpbmVkKTsKLX0gY2F0
Y2goZSkgewotICAgIHRlc3RQYXNzZWQoJ3BjLnJlbW92ZVN0cmVhbSh1bmRlZmluZWQpIHRocmV3
ICcgKyBlKTsKLX0KLQotdHJ5IHsKLSAgICBwYy5yZW1vdmVTdHJlYW0obnVsbCk7Ci19IGNhdGNo
KGUpIHsKLSAgICB0ZXN0UGFzc2VkKCdwYy5yZW1vdmVTdHJlYW0obnVsbCkgdGhyZXcgJyArIGUp
OwotfQotCi10cnkgewotICAgIHBjLnJlbW92ZVN0cmVhbShuZXcgQXJyYXkoKSk7Ci19IGNhdGNo
KGUpIHsKLSAgICB0ZXN0UGFzc2VkKCdwYy5yZW1vdmVTdHJlYW0obmV3IEFycmF5KCkpIHRocmV3
ICcgKyBlKTsKLX0KLXRyeSB7Ci0gICAgcGMucmVtb3ZlU3RyZWFtKHt9KTsKLX0gY2F0Y2goZSkg
ewotICAgIHRlc3RQYXNzZWQoJ3BjLnJlbW92ZVN0cmVhbSh7fSkgdGhyZXcnICsgZSk7Ci19Ci10
cnkgewotICAgIHBjLnJlbW92ZVN0cmVhbSg0Mik7Ci19IGNhdGNoKGUpIHsKLSAgICB0ZXN0UGFz
c2VkKCdwYy5yZW1vdmVTdHJlYW0oNDIpIHRocmV3JyArIGUpOwotfQotdHJ5IHsKLSAgICBwYy5y
ZW1vdmVTdHJlYW0oSW5maW5pdHkpOwotfSBjYXRjaChlKSB7Ci0gICAgdGVzdFBhc3NlZCgncGMu
cmVtb3ZlU3RyZWFtKEluZmluaXR5KSB0aHJldycgKyBlKTsKLX0KLXRyeSB7Ci0gICAgcGMucmVt
b3ZlU3RyZWFtKC1JbmZpbml0eSk7Ci19IGNhdGNoKGUpIHsKLSAgICB0ZXN0UGFzc2VkKCdwYy5y
ZW1vdmVTdHJlYW0oLUluZmluaXR5KSB0aHJldycgKyBlKTsKLX0KK2Rlc2NyaXB0aW9uKCJUZXN0
cyBQZWVyQ29ubmVjdGlvbjAwOjpyZW1vdmVTdHJlYW0oKS4iKTsKKwordmFyIHBjID0gbmV3IHdl
YmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU4gc29tZS5zZXJ2ZXIuY29tIiwgZnVuY3Rpb24oKSB7
fSk7CisKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJlYW0oKTsnKTsKK3Nob3VsZFRocm93KCdw
Yy5yZW1vdmVTdHJlYW0odW5kZWZpbmVkKTsnKTsKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJl
YW0obnVsbCk7Jyk7CitzaG91bGRUaHJvdygncGMucmVtb3ZlU3RyZWFtKG5ldyBBcnJheSgpKTsn
KTsKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJlYW0oe30pOycpOworc2hvdWxkVGhyb3coJ3Bj
LnJlbW92ZVN0cmVhbSg0Mik7Jyk7CitzaG91bGRUaHJvdygncGMucmVtb3ZlU3RyZWFtKEluZmlu
aXR5KTsnKTsKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJlYW0oLUluZmluaXR5KTsnKTsKIAog
d2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1
bmN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
ZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBl
NGFmZTEyNmM4YzU1ZjQzOTYzMWU2ZjRkMzliMzA5MmI5NTM3YTlmLi5hOWM4YWY2OGJhZDY1M2Vm
ZTU5MzEzNTc5ZGMyYjBiOTM2YzYxMTRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vY2Fs
bC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0xOCw3ICsxOCw2
IEBAIFBBU1MgSW50MTZBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IERPTSBvYmpl
Y3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhCiBQQVNTIEludDMyQXJyYXkoKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQg
YXMgYSBmdW5jdGlvbi4uCiBQQVNTIEludDhBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IERPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9u
Li4KIFBBU1MgTWVzc2FnZUNoYW5uZWwoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBET00g
b2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4uCi1QQVNT
IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IERPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9u
Li4KIFNLSVAgU2hhcmVkV29ya2VyIGlzIG5vdCBpbXBsZW1lbnRlZC4KIFBBU1MgVWludDE2QXJy
YXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNh
bm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4uCiBQQVNTIFVpbnQzMkFycmF5KCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2Fs
bGVkIGFzIGEgZnVuY3Rpb24uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMt
YS1mdW5jdGlvbi1leHBlY3RlZC50eHQKaW5kZXggMjRjMmRmY2M0MTE0MTkwMmUzODQ5NzhlZjU4
Y2YwMjQzZjc2NGMwNS4uOTAzZDU0N2ZkM2I0OGI1ZjYzNGJmNjhiYjFlMjk3NzczY2RiMWRiNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL2NhbGwtYS1jb25z
dHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0xOCw3ICsxOCw2IEBAIFBBU1MgSW50MTZBcnJheSgpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6ICdbb2JqZWN0IEludDE2QXJyYXlDb25zdHJ1Y3Rvcl0nIGlzCiBQQVNTIElu
dDMyQXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBJbnQzMkFycmF5
Q29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnSW50MzJBcnJheSgp
JykuCiBQQVNTIEludDhBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0
IEludDhBcnJheUNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ0lu
dDhBcnJheSgpJykuCiBQQVNTIE1lc3NhZ2VDaGFubmVsKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogJ1tvYmplY3QgTWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1bmN0
aW9uIChldmFsdWF0aW5nICdNZXNzYWdlQ2hhbm5lbCgpJykuCi1QQVNTIHdlYmtpdERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2
YWx1YXRpbmcgJ3dlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigpJykuCiBQQVNTIFNoYXJl
ZFdvcmtlcigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IFNoYXJlZFdvcmtl
ckNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ1NoYXJlZFdvcmtl
cigpJykuCiBQQVNTIFVpbnQxNkFycmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tv
YmplY3QgVWludDE2QXJyYXlDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1bmN0aW9uIChldmFsdWF0
aW5nICdVaW50MTZBcnJheSgpJykuCiBQQVNTIFVpbnQzMkFycmF5KCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogJ1tvYmplY3QgVWludDMyQXJyYXlDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1
bmN0aW9uIChldmFsdWF0aW5nICdVaW50MzJBcnJheSgpJykuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
ZXhwZWN0ZWQudHh0CmluZGV4IDgzOGUwODg3Y2NkMzY1Mzg4YmUwOTcyYmUyYmQxNzY1ZmRlNmU1
MDQuLmRjMjA3MzdkYTQwMTdmNmM2Mjc3Yjc3YjY3NTZiNTgzZmY3YzZiMWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CkBAIC0zNDIsNyArMzQyLDYgQEAgUEFTUyBYUGF0aEV2
YWx1YXRvci50b1N0cmluZygpIGlzICdbb2JqZWN0IFhQYXRoRXZhbHVhdG9yQ29uc3RydWN0b3Jd
JwogUEFTUyBYUGF0aEV4Y2VwdGlvbi50b1N0cmluZygpIGlzICdbb2JqZWN0IFhQYXRoRXhjZXB0
aW9uQ29uc3RydWN0b3JdJwogUEFTUyBYUGF0aFJlc3VsdC50b1N0cmluZygpIGlzICdbb2JqZWN0
IFhQYXRoUmVzdWx0Q29uc3RydWN0b3JdJwogUEFTUyBYU0xUUHJvY2Vzc29yLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgWFNMVFByb2Nlc3NvckNvbnN0cnVjdG9yXScKLUZBSUwgd2Via2l0RGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3Qgd2Via2l0RGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uQ29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBEZXByZWNhdGVk
UGVlckNvbm5lY3Rpb25Db25zdHJ1Y3Rvcl0uCiBGQUlMIHdlYmtpdE1lZGlhU3RyZWFtLnRvU3Ry
aW5nKCkgc2hvdWxkIGJlIFtvYmplY3Qgd2Via2l0TWVkaWFTdHJlYW1Db25zdHJ1Y3Rvcl0uIFdh
cyBbb2JqZWN0IE1lZGlhU3RyZWFtQ29uc3RydWN0b3JdLgogRkFJTCB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3Qgd2Via2l0UGVlckNvbm5lY3Rpb24w
MENvbnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgUGVlckNvbm5lY3Rpb24wMENvbnN0cnVjdG9yXS4K
IEZBSUwgd2Via2l0VVJMLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3Qgd2Via2l0VVJMQ29u
c3RydWN0b3JdLiBXYXMgW29iamVjdCBVUkxDb25zdHJ1Y3Rvcl0uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVu
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL2Nh
bGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA3MmI0MTMx
YWY5MjBmZWY0ZGVhNmIxNDViODVlOGM3OWQyMjJjMmM1Li5lYTU0NWQwNTIyNDU0NjVlZGUyYjYx
MDhlMGZkYTNhMWQzNjk5NDFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
ZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3It
YXMtYS1mdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTE4LDcgKzE4LDYgQEAgUEFTUyBJbnQxNkFy
cmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tvYmplY3QgSW50MTZBcnJheUNvbnN0
cnVjdG9yXScgaXMKIFBBU1MgSW50MzJBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
ICdbb2JqZWN0IEludDMyQXJyYXlDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1bmN0aW9uIChldmFs
dWF0aW5nICdJbnQzMkFycmF5KCknKS4KIFBBU1MgSW50OEFycmF5KCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogJ1tvYmplY3QgSW50OEFycmF5Q29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5j
dGlvbiAoZXZhbHVhdGluZyAnSW50OEFycmF5KCknKS4KIFBBU1MgTWVzc2FnZUNoYW5uZWwoKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBNZXNzYWdlQ2hhbm5lbENvbnN0cnVj
dG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ01lc3NhZ2VDaGFubmVsKCknKS4K
LVNLSVAgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZC4K
IFBBU1MgU2hhcmVkV29ya2VyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tvYmplY3Qg
U2hhcmVkV29ya2VyQ29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAn
U2hhcmVkV29ya2VyKCknKS4KIFBBU1MgVWludDE2QXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiAnW29iamVjdCBVaW50MTZBcnJheUNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rp
b24gKGV2YWx1YXRpbmcgJ1VpbnQxNkFycmF5KCknKS4KIFBBU1MgVWludDMyQXJyYXkoKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBVaW50MzJBcnJheUNvbnN0cnVjdG9yXScg
aXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ1VpbnQzMkFycmF5KCknKS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154070</attachid>
            <date>2012-07-24 08:27:43 -0700</date>
            <delta_ts>2012-07-26 01:39:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92106-20120724172733.patch</filename>
            <type>text/plain</type>
            <size>107094</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg5MjI1MDRkNmZmZTU4
MmIyYTY0ZGE3MzNhZjVmMWYwZGIzNzg3NS4uYWRmY2UzYTczMzA2MWY4ODVmNmYzM2ZhZGEyNDkx
ZWEzNTdkMGUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA3LTI0ICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFt
IEFQSTogUmVtb3ZlIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxMDYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSB3ZSBhcmUgZ2V0dGluZyByZWFkeSB0
byBhZGQgYW4gdXBkYXRlZCBQZWVyQ29ubmVjdGlvbgorICAgICAgICB0aGUgb2xkIERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbiB3aWxsIGhhdmUgdG8gZ28uCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCBhbmQgb2xkIHRlc3RzIGNvbnZlcnRlZCB0byB1c2UgUGVlckNvbm5lY3Rpb24wMC4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3Bw
OiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb24uaWRsOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJhY2suaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBQ
bGF0Zm9ybUJsYWNrQmVycnkuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6Cisg
ICAgICAgICogVXNlSlNDLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkN1c3RvbS5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmg6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L2JsYWNrYmVycnkvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uSGFuZGxlci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9EZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWwuaDogUmVtb3ZlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
SGFuZGxlci5jcHA6IFJlbW92ZWQuCisKIDIwMTItMDctMjQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBGaXggY29udmVyc2lvbiBmcm9tIEdy
ZWdvcmlhbkRhdGVUaW1lIHRvIFFUaW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDM1MmI1NGU2
ZDNkNGZlOGMxYTllYmRhY2JkYzg1MWIzMmZkNTgzZGEuLmM5NmNlN2I4MGI0YTRiMDlkNzVmMmI5
MTJjOTcwN2ZiYTNmNmI3OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xODksNyArMTg5LDYg
QEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9pbnRlbnRzL0ludGVudFJlc3Vs
dENhbGxiYWNrLmlkbAogICAgIE1vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRlbnRzLmlkbAog
Ci0gICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaWRsCiAg
ICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwKICAgICBNb2R1
bGVzL21lZGlhc3RyZWFtL0ljZUNhbGxiYWNrLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0v
SWNlQ2FuZGlkYXRlLmlkbApAQCAtMjA2LDcgKzIwNSw2IEBAIFNFVChXZWJDb3JlX0lETF9GSUxF
UwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwKLSAgICBNb2R1bGVz
L21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmlkbAogCiAgICAgTW9kdWxlcy9uZXR3b3Jr
aW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCkBAIC04MTMsNyArODExLDYgQEAgU0VU
KFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXF1ZXN0LmNwcAog
ICAgIE1vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRlbnRzLmNwcAogCi0gICAgTW9kdWxlcy9t
ZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3BwCiAgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9JY2VDYW5kaWRhdGUuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1l
ZGlhU3RyZWFtLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5Njk4ZDZmNTgwYjA0OGZjNWNmY2NjNjJk
Yzk2Mzg0ZmVhMzJlZmViLi5mM2FlMTFiODA2Yjg1MmY5ZGRmNTUxNWIzNWMwY2ZjZDE4OWRhZGJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTExMCw4ICsxMTAsNiBAQCB3ZWJj
b3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEYXRhVmll
dy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Lmgg
XAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3Bw
IFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VNb3Rpb25FdmVudC5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXApAQCAtNTA1LDggKzUw
Myw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1NoYXJlZFdvcmtlckNvbnRleHQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1No
YXJlZFdvcmtlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTaGFyZWRXb3JrZXIu
aCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmNwcCBcCi0J
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NpZ25hbGluZ0NhbGxiYWNrLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNTcGVlY2hJbnB1dEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1NwZWVjaElucHV0RXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1NwZWVjaElucHV0UmVzdWx0LmNwcCBcCkBAIC02OTYsNyArNjkyLDYgQEAgZG9tX2JpbmRpbmdf
aWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uQ2FsbGJh
Y2suaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvci5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2FsbGJh
Y2suaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRv
d01lZGlhU3RyZWFtLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNh
bGxiYWNrLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0
ZS5pZGwgXApAQCAtNzEzLDcgKzcwOCw2IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24w
MC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRp
b24uaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJh
Y2suaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaWRsIFwKQEAgLTExNjUsOCArMTE1OSw2IEBAIHdlYmNvcmVfbW9k
dWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9QYWdl
R3JvdXBJbmRleGVkRGF0YWJhc2UuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvV29ya2VyQ29udGV4dEluZGV4ZWREYXRhYmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRleGVkRGF0YWJhc2UuaCBcCi0JU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3Bw
IFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbGxi
YWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FuZGlkYXRl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYW5kaWRhdGUu
aCBcCkBAIC0xMTk1LDcgKzExODcsNiBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmggXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRp
b24uaCBcCi0JU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9TaWduYWxpbmdDYWxs
YmFjay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYUNs
aWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYUNv
bnRyb2xsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVk
aWFDb250cm9sbGVyLmNwcCBcCkBAIC0xNDIzLDcgKzE0MTQsNiBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RhdGFWaWV3Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBcCi0J
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25DdXN0
b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50
Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJl
Y3RvcnlFbnRyeUN1c3RvbS5jcHAgXApAQCAtMzUyMyw4ICszNTEzLDYgQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRUZXN0U3VwcG9ydC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9HYW1lcGFkRGV2aWNlTGludXguY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9HYW1lcGFkRGV2aWNlTGludXguaCBcCi0J
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uSGFuZGxlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9EZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9JY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmggXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0ljZU9wdGlvbnMuY3BwIFwKQEAg
LTM1NDIsNyArMzUzMCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Nlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBcCi0JU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vZ3N0cmVhbWVyL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvTWVkaWFTdHJl
YW1DZW50ZXJHU3RyZWFtZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9nc3RyZWFtZXIvTWVkaWFTdHJlYW1DZW50ZXJHU3RyZWFtZXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3Ry
ZWFtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVk
aWFTdHJlYW0uaWRsCmluZGV4IDk3MGQxMDY0NDMxNWFjMTcxM2Q2ODAwNjJmOGE5MzExOGFmMTM5
MTcuLjc0MmE2MjQ2MzJlNjljMDZmMDJmMDI1MjQxMmJiYTI3M2IyYWY1YTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVk
aWFTdHJlYW0uaWRsCkBAIC0zMCw3ICszMCw2IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBD
b25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAgICAgICAgIFN1cHBsZW1lbnRhbD1ET01XaW5kb3cK
ICAgICBdIERPTVdpbmRvd01lZGlhU3RyZWFtIHsKLSAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJs
ZWRBdFJ1bnRpbWVdIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkNvbnN0cnVjdG9yIHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjsKICAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1
bnRpbWVdIE1lZGlhU3RyZWFtQ29uc3RydWN0b3Igd2Via2l0TWVkaWFTdHJlYW07CiAgICAgICAg
IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBQZWVyQ29ubmVjdGlvbjAwQ29uc3RydWN0
b3Igd2Via2l0UGVlckNvbm5lY3Rpb24wMDsKICAgICAgICAgYXR0cmlidXRlIFNlc3Npb25EZXNj
cmlwdGlvbkNvbnN0cnVjdG9yIFNlc3Npb25EZXNjcmlwdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQwNDY5MDQ1NzQ1YzE5
Yzk1ZjQzY2RmYTZkNjcwOTY3YzVhMTExZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzNzcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogQ29weXJpZ2h0IChDKSAyMDExIEVyaWNzc29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwot
ICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbi5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJNZWRpYVN0cmVhbUV2ZW50LmgiCi0jaW5jbHVk
ZSAiTWVzc2FnZUV2ZW50LmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgot
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUGFz
c1JlZlB0cjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYg
c2VydmVyQ29uZmlndXJhdGlvbiwgUGFzc1JlZlB0cjxTaWduYWxpbmdDYWxsYmFjaz4gc2lnbmFs
aW5nQ2FsbGJhY2spCi17Ci0gICAgUmVmUHRyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbj4gY29u
bmVjdGlvbiA9IGFkb3B0UmVmKG5ldyBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oY29udGV4dCwg
c2VydmVyQ29uZmlndXJhdGlvbiwgc2lnbmFsaW5nQ2FsbGJhY2spKTsKLSAgICBjb25uZWN0aW9u
LT5zZXRQZW5kaW5nQWN0aXZpdHkoY29ubmVjdGlvbi5nZXQoKSk7Ci0gICAgY29ubmVjdGlvbi0+
c2NoZWR1bGVJbml0aWFsTmVnb3RpYXRpb24oKTsKLSAgICBjb25uZWN0aW9uLT5zdXNwZW5kSWZO
ZWVkZWQoKTsKLQotICAgIHJldHVybiBjb25uZWN0aW9uLnJlbGVhc2UoKTsKLX0KLQotRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uOjpEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJDb25maWd1cmF0aW9uLCBQ
YXNzUmVmUHRyPFNpZ25hbGluZ0NhbGxiYWNrPiBzaWduYWxpbmdDYWxsYmFjaykKLSAgICA6IEFj
dGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQotICAgICwgbV9zaWduYWxpbmdDYWxsYmFjayhz
aWduYWxpbmdDYWxsYmFjaykKLSAgICAsIG1fcmVhZHlTdGF0ZShORVcpCi0gICAgLCBtX2ljZVN0
YXJ0ZWQoZmFsc2UpCi0gICAgLCBtX2xvY2FsU3RyZWFtcyhNZWRpYVN0cmVhbUxpc3Q6OmNyZWF0
ZSgpKQotICAgICwgbV9yZW1vdGVTdHJlYW1zKE1lZGlhU3RyZWFtTGlzdDo6Y3JlYXRlKCkpCi0g
ICAgLCBtX2luaXRpYWxOZWdvdGlhdGlvblRpbWVyKHRoaXMsICZEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb246OmluaXRpYWxOZWdvdGlhdGlvblRpbWVyRmlyZWQpCi0gICAgLCBtX3N0cmVhbUNoYW5n
ZVRpbWVyKHRoaXMsICZEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnN0cmVhbUNoYW5nZVRpbWVy
RmlyZWQpCi0gICAgLCBtX3JlYWR5U3RhdGVDaGFuZ2VUaW1lcih0aGlzLCAmRGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uOjpyZWFkeVN0YXRlQ2hhbmdlVGltZXJGaXJlZCkKLSAgICAsIG1fcGVlckhh
bmRsZXIoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6Y3JlYXRlKHRoaXMsIHNlcnZl
ckNvbmZpZ3VyYXRpb24sIGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCkpKQot
ewotfQotCi1EZXByZWNhdGVkUGVlckNvbm5lY3Rpb246On5EZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oKQotewotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6cHJvY2Vzc1NpZ25h
bGluZ01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsK
LSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkgewotICAgICAgICBlYyA9IElOVkFMSURf
U1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFtZXNzYWdlLnN0
YXJ0c1dpdGgoIlNEUFxuIikpCi0gICAgICAgIHJldHVybjsKLQotICAgIFN0cmluZyBzZHAgPSBt
ZXNzYWdlLnN1YnN0cmluZyg0KTsKLQotICAgIGlmIChtX2ljZVN0YXJ0ZWQpIHsKLSAgICAgICAg
aWYgKG1fcGVlckhhbmRsZXIpCi0gICAgICAgICAgICBtX3BlZXJIYW5kbGVyLT5wcm9jZXNzU0RQ
KHNkcCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobV9wZWVySGFuZGxlcikK
LSAgICAgICAgbV9wZWVySGFuZGxlci0+aGFuZGxlSW5pdGlhbE9mZmVyKHNkcCk7Ci0KLSAgICBl
bnN1cmVTdHJlYW1DaGFuZ2VTY2hlZHVsZWQoKTsKLSAgICBtX2ljZVN0YXJ0ZWQgPSB0cnVlOwot
ICAgIHNjaGVkdWxlUmVhZHlTdGF0ZUNoYW5nZShORUdPVElBVElORyk7Ci19Ci0KLURlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbjo6UmVhZHlTdGF0ZSBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnJl
YWR5U3RhdGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3JlYWR5U3RhdGU7Ci19Ci0KLXZvaWQg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpzZW5kKGNvbnN0IFN0cmluZyYgdGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpIHsKLSAgICAg
ICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IENTdHJpbmcgZGF0YSA9IHRleHQudXRmOCgpOwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IGRhdGEu
bGVuZ3RoKCk7Ci0KLSAgICBpZiAobGVuZ3RoID4gNTA0KSB7Ci0gICAgICAgIGVjID0gSU5WQUxJ
RF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1fcGVlckhh
bmRsZXIpCi0gICAgICAgIG1fcGVlckhhbmRsZXItPnNlbmREYXRhU3RyZWFtTWVzc2FnZShkYXRh
LmRhdGEoKSwgbGVuZ3RoKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmFk
ZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBwcnBTdHJlYW0sIEV4Y2VwdGlvbkNvZGUm
IGVjKQotewotICAgIFJlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtID0gcHJwU3RyZWFtOwotICAg
IGlmICghc3RyZWFtKSB7Ci0gICAgICAgIGVjID0gIFRZUEVfTUlTTUFUQ0hfRVJSOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpIHsKLSAg
ICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGlmIChtX2xvY2FsU3RyZWFtcy0+Y29udGFpbnMoc3RyZWFtLmdldCgpKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgbV9sb2NhbFN0cmVhbXMtPmFwcGVuZChzdHJlYW0pOwotCi0gICAgTWVk
aWFTdHJlYW1EZXNjcmlwdG9yKiBzdHJlYW1EZXNjcmlwdG9yID0gc3RyZWFtLT5kZXNjcmlwdG9y
KCk7Ci0gICAgc2l6ZV90IGkgPSBtX3BlbmRpbmdSZW1vdmVTdHJlYW1zLmZpbmQoc3RyZWFtRGVz
Y3JpcHRvcik7Ci0gICAgaWYgKGkgIT0gbm90Rm91bmQpIHsKLSAgICAgICAgbV9wZW5kaW5nUmVt
b3ZlU3RyZWFtcy5yZW1vdmUoaSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX3Bl
bmRpbmdBZGRTdHJlYW1zLmFwcGVuZChzdHJlYW1EZXNjcmlwdG9yKTsKLSAgICBpZiAobV9pY2VT
dGFydGVkKQotICAgICAgICBlbnN1cmVTdHJlYW1DaGFuZ2VTY2hlZHVsZWQoKTsKLX0KLQotdm9p
ZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnJlbW92ZVN0cmVhbShNZWRpYVN0cmVhbSogc3Ry
ZWFtLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NF
RCkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgaWYgKCFzdHJlYW0pIHsKLSAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VS
UjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghbV9sb2NhbFN0cmVhbXMtPmNv
bnRhaW5zKHN0cmVhbSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fbG9jYWxTdHJlYW1zLT5y
ZW1vdmUoc3RyZWFtKTsKLQotICAgIE1lZGlhU3RyZWFtRGVzY3JpcHRvciogc3RyZWFtRGVzY3Jp
cHRvciA9IHN0cmVhbS0+ZGVzY3JpcHRvcigpOwotICAgIHNpemVfdCBpID0gbV9wZW5kaW5nQWRk
U3RyZWFtcy5maW5kKHN0cmVhbURlc2NyaXB0b3IpOwotICAgIGlmIChpICE9IG5vdEZvdW5kKSB7
Ci0gICAgICAgIG1fcGVuZGluZ0FkZFN0cmVhbXMucmVtb3ZlKGkpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgbV9wZW5kaW5nUmVtb3ZlU3RyZWFtcy5hcHBlbmQoc3RyZWFtRGVzY3Jp
cHRvcik7Ci0gICAgaWYgKG1faWNlU3RhcnRlZCkKLSAgICAgICAgZW5zdXJlU3RyZWFtQ2hhbmdl
U2NoZWR1bGVkKCk7Ci19Ci0KLU1lZGlhU3RyZWFtTGlzdCogRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uOjpsb2NhbFN0cmVhbXMoKSBjb25zdAotewotICAgIHJldHVybiBtX2xvY2FsU3RyZWFtcy5n
ZXQoKTsKLX0KLQotTWVkaWFTdHJlYW1MaXN0KiBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnJl
bW90ZVN0cmVhbXMoKSBjb25zdAotewotICAgIHJldHVybiBtX3JlbW90ZVN0cmVhbXMuZ2V0KCk7
Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpjbG9zZShFeGNlcHRpb25Db2Rl
JiBlYykKLXsKLSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkgewotICAgICAgICBlYyA9
IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgc3RvcCgp
OwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6ZGlkQ29tcGxldGVJQ0VQcm9j
ZXNzaW5nKCkKLXsKLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0NvbnRl
eHRUaHJlYWQoKSk7Ci0gICAgY2hhbmdlUmVhZHlTdGF0ZShBQ1RJVkUpOwotfQotCi12b2lkIERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6ZGlkR2VuZXJhdGVTRFAoY29uc3QgU3RyaW5nJiBzZHAp
Ci17Ci0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0VGhyZWFk
KCkpOwotICAgIG1fc2lnbmFsaW5nQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCJTRFBcbiIgKyBzZHAs
IHRoaXMpOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZURh
dGFTdHJlYW1NZXNzYWdlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpCi17Ci0gICAg
QVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0VGhyZWFkKCkpOwotICAg
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSA9IFN0cmluZzo6ZnJvbVVURjgoZGF0YSwgbGVuZ3RoKTsK
LSAgICBkaXNwYXRjaEV2ZW50KE1lc3NhZ2VFdmVudDo6Y3JlYXRlKFBhc3NPd25QdHI8TWVzc2Fn
ZVBvcnRBcnJheT4oKSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUobWVzc2FnZSkpKTsK
LX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmRpZEFkZFJlbW90ZVN0cmVhbShQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gc3RyZWFtRGVzY3JpcHRvcikKLXsKLSAg
ICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7Ci0K
LSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
UmVmUHRyPE1lZGlhU3RyZWFtPiBzdHJlYW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSwgc3RyZWFtRGVzY3JpcHRvcik7Ci0gICAgbV9yZW1vdGVTdHJlYW1z
LT5hcHBlbmQoc3RyZWFtKTsKLQotICAgIGRpc3BhdGNoRXZlbnQoTWVkaWFTdHJlYW1FdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5hZGRzdHJlYW1FdmVudCwgZmFsc2UsIGZhbHNlLCBzdHJlYW0u
cmVsZWFzZSgpKSk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpkaWRSZW1v
dmVSZW1vdGVTdHJlYW0oTWVkaWFTdHJlYW1EZXNjcmlwdG9yKiBzdHJlYW1EZXNjcmlwdG9yKQot
ewotICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzQ29udGV4dFRocmVhZCgp
KTsKLSAgICBBU1NFUlQoc3RyZWFtRGVzY3JpcHRvci0+b3duZXIoKSk7Ci0KLSAgICBSZWZQdHI8
TWVkaWFTdHJlYW0+IHN0cmVhbSA9IHN0YXRpY19jYXN0PE1lZGlhU3RyZWFtKj4oc3RyZWFtRGVz
Y3JpcHRvci0+b3duZXIoKSk7Ci0gICAgc3RyZWFtLT5zdHJlYW1FbmRlZCgpOwotCi0gICAgaWYg
KG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVCht
X3JlbW90ZVN0cmVhbXMtPmNvbnRhaW5zKHN0cmVhbS5nZXQoKSkpOwotICAgIG1fcmVtb3RlU3Ry
ZWFtcy0+cmVtb3ZlKHN0cmVhbS5nZXQoKSk7Ci0KLSAgICBkaXNwYXRjaEV2ZW50KE1lZGlhU3Ry
ZWFtRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucmVtb3Zlc3RyZWFtRXZlbnQsIGZhbHNlLCBm
YWxzZSwgc3RyZWFtLnJlbGVhc2UoKSkpOwotfQotCi1jb25zdCBBdG9taWNTdHJpbmcmIERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbjo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JEZXByZWNhdGVkUGVlckNvbm5lY3Rpb247Ci19Ci0K
LVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbjo6c3RvcCgpCi17Ci0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpCi0gICAgICAg
IHJldHVybjsKLQotICAgIG1faW5pdGlhbE5lZ290aWF0aW9uVGltZXIuc3RvcCgpOwotICAgIG1f
c3RyZWFtQ2hhbmdlVGltZXIuc3RvcCgpOwotICAgIG1fcmVhZHlTdGF0ZUNoYW5nZVRpbWVyLnN0
b3AoKTsKLQotICAgIGlmIChtX3BlZXJIYW5kbGVyKQotICAgICAgICBtX3BlZXJIYW5kbGVyLT5z
dG9wKCk7Ci0KLSAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKLSAgICBtX3BlZXJIYW5k
bGVyLmNsZWFyKCk7Ci0KLSAgICBjaGFuZ2VSZWFkeVN0YXRlKENMT1NFRCk7Ci19Ci0KLUV2ZW50
VGFyZ2V0RGF0YSogRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpldmVudFRhcmdldERhdGEoKQot
ewotICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Ci19Ci0KLUV2ZW50VGFyZ2V0RGF0YSog
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjplbnN1cmVFdmVudFRhcmdldERhdGEoKQotewotICAg
IHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uOjpzY2hlZHVsZUluaXRpYWxOZWdvdGlhdGlvbigpCi17Ci0gICAgQVNTRVJUKCFtX2lu
aXRpYWxOZWdvdGlhdGlvblRpbWVyLmlzQWN0aXZlKCkpOwotCi0gICAgbV9pbml0aWFsTmVnb3Rp
YXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uOjppbml0aWFsTmVnb3RpYXRpb25UaW1lckZpcmVkKFRpbWVyPERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbj4qIHRpbWVyKQotewotICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09
ICZtX2luaXRpYWxOZWdvdGlhdGlvblRpbWVyKTsKLQotICAgIGlmIChtX2ljZVN0YXJ0ZWQpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciBwZW5kaW5n
QWRkU3RyZWFtczsKLSAgICBtX3BlbmRpbmdBZGRTdHJlYW1zLnN3YXAocGVuZGluZ0FkZFN0cmVh
bXMpOwotICAgIGlmIChtX3BlZXJIYW5kbGVyKQotICAgICAgICBtX3BlZXJIYW5kbGVyLT5wcm9k
dWNlSW5pdGlhbE9mZmVyKHBlbmRpbmdBZGRTdHJlYW1zKTsKLQotICAgIG1faWNlU3RhcnRlZCA9
IHRydWU7Ci0KLSAgICBjaGFuZ2VSZWFkeVN0YXRlKE5FR09USUFUSU5HKTsKLX0KLQotdm9pZCBE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmVuc3VyZVN0cmVhbUNoYW5nZVNjaGVkdWxlZCgpCi17
Ci0gICAgaWYgKCFtX3N0cmVhbUNoYW5nZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc3Ry
ZWFtQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbjo6c3RyZWFtQ2hhbmdlVGltZXJGaXJlZChUaW1lcjxEZXByZWNhdGVkUGVlckNv
bm5lY3Rpb24+KiB0aW1lcikKLXsKLSAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAm
bV9zdHJlYW1DaGFuZ2VUaW1lcik7Ci0KLSAgICBpZiAoIW1fcGVuZGluZ0FkZFN0cmVhbXMuaXNF
bXB0eSgpICYmICFtX3BlbmRpbmdSZW1vdmVTdHJlYW1zLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9yIHBlbmRpbmdBZGRTdHJlYW1z
OwotICAgIE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciBwZW5kaW5nUmVtb3ZlU3RyZWFtczsK
LQotICAgIG1fcGVuZGluZ0FkZFN0cmVhbXMuc3dhcChwZW5kaW5nQWRkU3RyZWFtcyk7Ci0gICAg
bV9wZW5kaW5nUmVtb3ZlU3RyZWFtcy5zd2FwKHBlbmRpbmdSZW1vdmVTdHJlYW1zKTsKLQotICAg
IGlmIChtX3BlZXJIYW5kbGVyKQotICAgICAgICBtX3BlZXJIYW5kbGVyLT5wcm9jZXNzUGVuZGlu
Z1N0cmVhbXMocGVuZGluZ0FkZFN0cmVhbXMsIHBlbmRpbmdSZW1vdmVTdHJlYW1zKTsKLQotICAg
IGlmICghcGVuZGluZ0FkZFN0cmVhbXMuaXNFbXB0eSgpKQotICAgICAgICBjaGFuZ2VSZWFkeVN0
YXRlKE5FR09USUFUSU5HKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnNj
aGVkdWxlUmVhZHlTdGF0ZUNoYW5nZShSZWFkeVN0YXRlIHJlYWR5U3RhdGUpCi17Ci0gICAgbV9w
ZW5kaW5nUmVhZHlTdGF0ZXMuYXBwZW5kKHJlYWR5U3RhdGUpOwotICAgIGlmICghbV9yZWFkeVN0
YXRlQ2hhbmdlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZWFkeVN0YXRlQ2hhbmdlVGlt
ZXIuc3RhcnRPbmVTaG90KDApOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6
cmVhZHlTdGF0ZUNoYW5nZVRpbWVyRmlyZWQoVGltZXI8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
PiogdGltZXIpCi17Ci0gICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1fcmVhZHlT
dGF0ZUNoYW5nZVRpbWVyKTsKLQotICAgIFZlY3RvcjxSZWFkeVN0YXRlPiBwZW5kaW5nUmVhZHlT
dGF0ZXM7Ci0gICAgbV9wZW5kaW5nUmVhZHlTdGF0ZXMuc3dhcChwZW5kaW5nUmVhZHlTdGF0ZXMp
OwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwZW5kaW5nUmVhZHlTdGF0ZXMuc2l6ZSgp
OyBpKyspCi0gICAgICAgIGNoYW5nZVJlYWR5U3RhdGUocGVuZGluZ1JlYWR5U3RhdGVzW2ldKTsK
LX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmNoYW5nZVJlYWR5U3RhdGUoUmVh
ZHlTdGF0ZSByZWFkeVN0YXRlKQotewotICAgIGlmIChyZWFkeVN0YXRlID09IG1fcmVhZHlTdGF0
ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9yZWFkeVN0YXRlID0gcmVhZHlTdGF0ZTsKLQot
ICAgIHN3aXRjaCAobV9yZWFkeVN0YXRlKSB7Ci0gICAgY2FzZSBORVc6Ci0gICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE5FR09USUFUSU5HOgot
ICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNvbm5lY3Rp
bmdFdmVudCwgZmFsc2UsIGZhbHNlKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQUNUSVZF
OgotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm9wZW5F
dmVudCwgZmFsc2UsIGZhbHNlKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ0xPU0VEOgot
ICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLnN0YXRlY2hhbmdlRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0NTI4
NDhiN2IyNzk0ZmFlMjBkZjU5ZTA2ODJkNzk0Y2ExM2M0YzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDEzOSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgRXJpY3Nzb24gQUIuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbl9o
Ci0jZGVmaW5lIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbl9oCi0KLSNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQotCi0jaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVkZSAiRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5oIgotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQuaCIKLSNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1
ZGUgIkV4Y2VwdGlvbkJhc2UuaCIKLSNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgotI2luY2x1ZGUg
Ik1lZGlhU3RyZWFtTGlzdC5oIgotI2luY2x1ZGUgIlNpZ25hbGluZ0NhbGxiYWNrLmgiCi0jaW5j
bHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBOb3RlOgotLy8gU0RQIHN0
YW5kcyBmb3IgU2Vzc2lvbiBEZXNjcmlwdGlvbiBQcm90b2NvbCwgd2hpY2ggaXMgaW50ZW5kZWQg
Zm9yIGRlc2NyaWJpbmcKLS8vIG11bHRpbWVkaWEgc2Vzc2lvbnMgZm9yIHRoZSBwdXJwb3NlcyBv
ZiBzZXNzaW9uIGFubm91bmNlbWVudCwgc2Vzc2lvbgotLy8gaW52aXRhdGlvbiwgYW5kIG90aGVy
IGZvcm1zIG9mIG11bHRpbWVkaWEgc2Vzc2lvbiBpbml0aWF0aW9uLgotLy8KLS8vIE1vcmUgaW5m
b3JtYXRpb24gY2FuIGJlIGZvdW5kIGhlcmU6Ci0vLyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRt
bC9yZmM0NTY2Ci0vLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Nlc3Npb25fRGVzY3Jp
cHRpb25fUHJvdG9jb2wKLQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uIDogcHVibGlj
IFJlZkNvdW50ZWQ8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uPiwgcHVibGljIERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQsIHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0
cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgUGFzc1JlZlB0cjxTaWduYWxpbmdDYWxsYmFjaz4p
OwotICAgIH5EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oKTsKLQotICAgIHZvaWQgcHJvY2Vzc1Np
Z25hbGluZ01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFeGNlcHRpb25Db2RlJik7Ci0K
LSAgICBSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdDsKLQotICAgIHZvaWQgc2VuZChjb25z
dCBTdHJpbmcmIHRleHQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGFkZFN0cmVhbShjb25z
dCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgcmVt
b3ZlU3RyZWFtKE1lZGlhU3RyZWFtKiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIE1lZGlhU3RyZWFt
TGlzdCogbG9jYWxTdHJlYW1zKCkgY29uc3Q7Ci0gICAgTWVkaWFTdHJlYW1MaXN0KiByZW1vdGVT
dHJlYW1zKCkgY29uc3Q7Ci0gICAgdm9pZCBjbG9zZShFeGNlcHRpb25Db2RlJik7Ci0KLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvbm5lY3RpbmcpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIob3Blbik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihtZXNzYWdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHN0YXRlY2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFkZHN0
cmVhbSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZW1vdmVzdHJlYW0p
OwotCi0gICAgLy8gUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50Ci0gICAgdmlydHVhbCB2b2lk
IGRpZENvbXBsZXRlSUNFUHJvY2Vzc2luZygpOwotICAgIHZpcnR1YWwgdm9pZCBkaWRHZW5lcmF0
ZVNEUChjb25zdCBTdHJpbmcmIHNkcCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRh
U3RyZWFtTWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlw
dG9yPik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZVJlbW90ZVN0cmVhbShNZWRpYVN0cmVh
bURlc2NyaXB0b3IqKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlU3RhdGUoUmVhZHlTdGF0
ZSBzdGF0ZSkgeyBjaGFuZ2VSZWFkeVN0YXRlKHN0YXRlKTsgfQotCi0gICAgLy8gRXZlbnRUYXJn
ZXQKLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0
OwotICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0OwotCi0gICAgLy8gQWN0aXZlRE9NT2JqZWN0Ci0gICAgdmlydHVhbCB2b2lk
IHN0b3AoKTsKLQotICAgIHVzaW5nIFJlZkNvdW50ZWQ8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
Pjo6cmVmOwotICAgIHVzaW5nIFJlZkNvdW50ZWQ8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uPjo6
ZGVyZWY7Ci0KLXByaXZhdGU6Ci0gICAgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24sIFBhc3NS
ZWZQdHI8U2lnbmFsaW5nQ2FsbGJhY2s+KTsKLQotICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVu
dGF0aW9uLgotICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsK
LSAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7Ci0g
ICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgeyByZWYoKTsgfQotICAgIHZpcnR1YWwg
dm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgeyBkZXJlZigpOyB9Ci0KLSAgICB2b2lkIHNjaGVkdWxl
SW5pdGlhbE5lZ290aWF0aW9uKCk7Ci0gICAgdm9pZCBpbml0aWFsTmVnb3RpYXRpb25UaW1lckZp
cmVkKFRpbWVyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbj4qKTsKLSAgICB2b2lkIGVuc3VyZVN0
cmVhbUNoYW5nZVNjaGVkdWxlZCgpOwotICAgIHZvaWQgc3RyZWFtQ2hhbmdlVGltZXJGaXJlZChU
aW1lcjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+Kik7Ci0gICAgdm9pZCBzY2hlZHVsZVJlYWR5
U3RhdGVDaGFuZ2UoUmVhZHlTdGF0ZSk7Ci0gICAgdm9pZCByZWFkeVN0YXRlQ2hhbmdlVGltZXJG
aXJlZChUaW1lcjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+Kik7Ci0KLSAgICB2b2lkIGNoYW5n
ZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSk7Ci0KLSAgICBSZWZQdHI8U2lnbmFsaW5nQ2FsbGJhY2s+
IG1fc2lnbmFsaW5nQ2FsbGJhY2s7Ci0KLSAgICBSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKLSAg
ICBib29sIG1faWNlU3RhcnRlZDsKLQotICAgIFJlZlB0cjxNZWRpYVN0cmVhbUxpc3Q+IG1fbG9j
YWxTdHJlYW1zOwotICAgIFJlZlB0cjxNZWRpYVN0cmVhbUxpc3Q+IG1fcmVtb3RlU3RyZWFtczsK
LQotICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgotICAgIEV2ZW50VGFyZ2V0RGF0
YSBtX2V2ZW50VGFyZ2V0RGF0YTsKLQotICAgIFRpbWVyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bj4gbV9pbml0aWFsTmVnb3RpYXRpb25UaW1lcjsKLSAgICBUaW1lcjxEZXByZWNhdGVkUGVlckNv
bm5lY3Rpb24+IG1fc3RyZWFtQ2hhbmdlVGltZXI7Ci0gICAgVGltZXI8RGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uPiBtX3JlYWR5U3RhdGVDaGFuZ2VUaW1lcjsKLQotICAgIE1lZGlhU3RyZWFtRGVz
Y3JpcHRvclZlY3RvciBtX3BlbmRpbmdBZGRTdHJlYW1zOwotICAgIE1lZGlhU3RyZWFtRGVzY3Jp
cHRvclZlY3RvciBtX3BlbmRpbmdSZW1vdmVTdHJlYW1zOwotICAgIFZlY3RvcjxSZWFkeVN0YXRl
PiBtX3BlbmRpbmdSZWFkeVN0YXRlczsKLQotICAgIE93blB0cjxEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb25IYW5kbGVyPiBtX3BlZXJIYW5kbGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2VuZGlmIC8vIERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5pZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxZDlkNTFmNTE3ZTJmZjc0OTdiNGRlMTZhZjM3NzMxY2Jm
YTk2MDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24u
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0g
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotbW9kdWxl
IHAycCB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJF
QU0sCi0gICAgICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICAgICAgQ29uc3RydWN0b3JQYXJhbWV0
ZXJzPTIsCi0gICAgICAgIENvbnN0cnVjdG9yKGluIERPTVN0cmluZyBzZXJ2ZXJDb25maWd1cmF0
aW9uLCBpbiBbQ2FsbGJhY2tdIFNpZ25hbGluZ0NhbGxiYWNrIHNpZ25hbGluZ0NhbGxiYWNrKSwK
LSAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKLSAgICAgICAgSlNDdXN0
b21Db25zdHJ1Y3RvciwKLSAgICAgICAgRXZlbnRUYXJnZXQKLSAgICBdIERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbiB7Ci0gICAgICAgIHZvaWQgcHJvY2Vzc1NpZ25hbGluZ01lc3NhZ2UoaW4gRE9N
U3RyaW5nIG1lc3NhZ2UpCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLQotICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBORVcgPSAwOwotICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBORUdPVElBVElORyA9IDE7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEFD
VElWRSA9IDI7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENMT1NFRCA9IDM7Ci0gICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCByZWFkeVN0YXRlOwotCi0gICAg
ICAgIHZvaWQgc2VuZChpbiBET01TdHJpbmcgdGV4dCkKLSAgICAgICAgICAgIHJhaXNlcyhET01F
eGNlcHRpb24pOwotICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkIGFkZFN0cmVhbShp
biBNZWRpYVN0cmVhbSBzdHJlYW0pCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
LSAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCByZW1vdmVTdHJlYW0oaW4gTWVkaWFT
dHJlYW0gc3RyZWFtKQotICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0KLSAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtTGlzdCBsb2NhbFN0cmVhbXM7Ci0gICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVN0cmVhbUxpc3QgcmVtb3RlU3RyZWFtczsKLQot
ICAgICAgICB2b2lkIGNsb3NlKCkKLSAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwot
Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY29ubmVjdGluZzsKLSAgICAgICAg
YXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25vcGVuOwotICAgICAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbm1lc3NhZ2U7Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc3Rh
dGVjaGFuZ2U7Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWRkc3RyZWFtOwot
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnJlbW92ZXN0cmVhbTsKLQotICAgICAg
ICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKLSAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVy
KGluIERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZl
bnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgdm9pZCByZW1vdmVFdmVudExp
c3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgYm9vbGVh
biBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50KQotICAgICAgICAgICAgcmFpc2VzKEV2ZW50
RXhjZXB0aW9uKTsKLSAgICB9OwotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDY1YWE2MmE2ZjVlZjI5MDBmZDk2NGZkOTNiODUxYjBlMmQzMGRiZDMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9TaWduYWxpbmdDYWxsYmFjay5oCisrKyAvZGV2L251bGwKQEAg
LTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBTaWduYWxpbmdDYWxsYmFja19o
Ci0jZGVmaW5lIFNpZ25hbGluZ0NhbGxiYWNrX2gKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
Ci0KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjsKLQotY2xhc3MgU2lnbmFsaW5nQ2FsbGJh
Y2sgOiBwdWJsaWMgUmVmQ291bnRlZDxTaWduYWxpbmdDYWxsYmFjaz4gewotcHVibGljOgotICAg
IHZpcnR1YWwgflNpZ25hbGluZ0NhbGxiYWNrKCkgeyB9Ci0gICAgdmlydHVhbCBib29sIGhhbmRs
ZUV2ZW50KGNvbnN0IFN0cmluZyYsIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiopID0gMDsKLX07
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJF
QU0pCi0KLSNlbmRpZiAvLyBTaWduYWxpbmdDYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJhY2suaWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OWU0YjkyZjRhODg3NzkyYzVmMWU1MmMxMTZhMjFj
NTVhNGY2ZDdmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJhY2suaWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotbW9kdWxlIHAy
cCB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0s
Ci0gICAgICAgIENhbGxiYWNrCi0gICAgXSBTaWduYWxpbmdDYWxsYmFjayB7Ci0gICAgICAgIGJv
b2xlYW4gaGFuZGxlRXZlbnQoaW4gRE9NU3RyaW5nIG1lc3NhZ2UsIGluIERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbiBzb3VyY2UpOwotICAgIH07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxh
Y2tCZXJyeS5jbWFrZQppbmRleCAyMDA0ODUxMGE4OTRjNTlmZmY5MGM1YTYzZjdjOWExY2RhMzk3
YzllLi4xYWU1ZmU2OTA3YTQ3Mzg0MDk5ZmFlYjBjNzljMmFmOWQxYWJiYmNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCkBAIC0yMzYsNyArMjM2LDYgQEAgRU5ESUYg
KCkKIAogaWYgKEVOQUJMRV9NRURJQV9TVFJFQU0pCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCi0gICAgICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL2JsYWNrYmVycnkvRGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKICAgICAgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0v
YmxhY2tiZXJyeS9NZWRpYVN0cmVhbUNlbnRlckJsYWNrQmVycnkuY3BwCiAgICAgKQogRU5ESUYg
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYTlhNGYxMTIyNzY2MmQzNzgzZDJhOTMy
NDIyYmUzMDhjMmM2NzI0NS4uM2QwMDcwOWZmOWVlMDczYmY5NDFiNzI3YWQ3ZmQ1YTZjZjQzMTQw
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTc5LDcgKzc5LDYgQEAgTElTVChBUFBF
TkQgV2ViQ29yZV9TT1VSQ0VTCiAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFn
ZURlY29kZXIuY3BwCiAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVj
b2Rlci5jcHAKICAgcGxhdGZvcm0vbGludXgvR2FtZXBhZERldmljZUxpbnV4LmNwcAotICBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
ci5jcHAKICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01lZGlhU3RyZWFtQ2VudGVy
R1N0cmVhbWVyLmNwcAogICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAK
ICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZUpT
Qy5jbWFrZQppbmRleCBjNGM5MDg4NDg4ZmU1ZmNmMGE0NmFmZmQ4YmRlODNkYzc4Nzc5YTY3Li4w
MGYxYmUxMDI4ZWMxYTc5ZDJjZDBiY2ZlMGRiMDJmMzMxYzVhMWJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtl
CkBAIC00OSw3ICs0OSw2IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRp
bmdzL2pzL0pTQ29vcmRpbmF0ZXNDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDdXN0b21W
b2lkQ2FsbGJhY2suY3BwCiAgICAgYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIu
Y3BwCi0gICAgYmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25DdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRE9N
QmluZGluZy5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IGUyODY2MTVhOWQ4MDc3ZmUwOTZmZGZhMDMzMjhmZjZjYmIzZmVkZDUu
LjYxMzBkNDk2MDI5MDMzNDYyMTM0NjU3OTc4Njg4OWU2MzlhMjQ5MmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTQzNiw4ICs0MzYsNiBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL21hYy9XZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL21hYy9XZWJDb3JlVmll
dy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tYWMvV2ViRm9udENhY2hlLmgnLAotICAgICAg
ICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRs
ZXIuaCcsCi0gICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uSGFuZGxlckNsaWVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9JY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
bWVkaWFzdHJlYW0vSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9JY2VPcHRpb25zLmNwcCcsCkBAIC00NTMsOSArNDUxLDYgQEAKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNs
aWVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3Jp
cHRpb25EZXNjcmlwdG9yLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0v
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9jaHJvbWl1bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcCcs
Ci0gICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmNwcCcsCi0gICAgICAgICAgICAncGxhdGZvcm0v
bWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVy
bmFsLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL01lZGlh
U3RyZWFtQ2VudGVyQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9jaHJvbWl1bS9NZWRpYVN0cmVhbUNlbnRlckNocm9taXVtLmgnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNw
cCcsCkBAIC04MjcsNyArODIyLDYgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50
ZW50LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL0ludGVudFJlc3VsdENhbGxi
YWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05hdmlnYXRvckludGVudHMu
aWRsJywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbi5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93
TWVkaWFTdHJlYW0uaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNh
bGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYW5kaWRh
dGUuaWRsJywKQEAgLTg0NCw3ICs4MzgsNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
dHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRsJywKLSAgICAgICAg
ICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmlkbCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsJywK
ICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwn
LApAQCAtMTUzOSw4ICsxNTMyLDYgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50
ZW50UmVzdWx0Q2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL05hdmln
YXRvckludGVudHMuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9y
SW50ZW50cy5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbi5jcHAnLAotICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJl
YW0vSWNlQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VD
YW5kaWRhdGUuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbmRp
ZGF0ZS5oJywKQEAgLTE1NjksNyArMTU2MCw2IEBACiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFz
dHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9TaWduYWxpbmdDYWxsYmFjay5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYUNsaWVudC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3Ry
ZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuaCcsCkBAIC0xOTY5LDcgKzE5NTksNiBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRGF0YVZpZXdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKLSAgICAgICAgICAgICdiaW5k
aW5ncy9qcy9KU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oCmluZGV4IGI2NmQxYWU0NjEzYjE5MTZkNDNmZjRkNmZmODIyMjhhYzU4
NmIxZmIuLjQwMjIwMjRmNDMwMjIyNzk1ZjAyODFmY2RiNzU2ZjQ0NDRlN2YwOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCkBAIC0xODcsNyArMTg3LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGljIGJvb2wg
cGVlckNvbm5lY3Rpb25FbmFibGVkKCkgeyByZXR1cm4gaXNNZWRpYVN0cmVhbUVuYWJsZWQgJiYg
aXNQZWVyQ29ubmVjdGlvbkVuYWJsZWQ7IH0KICAgICBzdGF0aWMgdm9pZCBzZXRQZWVyQ29ubmVj
dGlvbkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNQZWVyQ29ubmVjdGlvbkVuYWJsZWQgPSBp
c0VuYWJsZWQ7IH0KLSAgICBzdGF0aWMgYm9vbCB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25FbmFibGVkKCkgeyByZXR1cm4gcGVlckNvbm5lY3Rpb25FbmFibGVkKCk7IH0KICAgICBzdGF0
aWMgYm9vbCB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwRW5hYmxlZCgpIHsgcmV0dXJuIHBlZXJDb25u
ZWN0aW9uRW5hYmxlZCgpOyB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25DdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25DdXN0b20uY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmQ1ZWU3YzBiOTM0MDcyZDViMjJiMmFh
OWE5ZTk1Mjg0MjYxMDU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uQ3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAxMSBFcmljc3NvbiBBQi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAot
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
Ci0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNp
bmNsdWRlICJKU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5oIgotCi0jaW5jbHVkZSAiQ2FsbGJh
Y2tGdW5jdGlvbi5oIgotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5oIgotI2lu
Y2x1ZGUgIkpTU2lnbmFsaW5nQ2FsbGJhY2suaCIKLSNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+
Ci0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkNvbnN0cnVj
dG9yOjpjb25zdHJ1Y3RKU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbihFeGVjU3RhdGUqIGV4ZWMp
Ci17Ci0gICAgSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25Db25zdHJ1Y3RvcioganNDb25zdHJ1
Y3RvciA9IHN0YXRpY19jYXN0PEpTRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uQ29uc3RydWN0b3Iq
PihleGVjLT5jYWxsZWUoKSk7Ci0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9
IGpzQ29uc3RydWN0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRl
eHQpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlUmVmZXJlbmNlRXJy
b3IoZXhlYywgIkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiBjb25zdHJ1Y3RvciBhc3NvY2lhdGVk
IGRvY3VtZW50IGlzIHVuYXZhaWxhYmxlIikpOwotCi0gICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291
bnQoKSA8IDIpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5v
dWdoQXJndW1lbnRzRXJyb3IoZXhlYykpOwotCi0gICAgU3RyaW5nIHNlcnZlckNvbmZpZ3VyYXRp
b24gPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYyktPnZh
bHVlKGV4ZWMpKTsKLSAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKLQotICAgIFJlZlB0cjxTaWduYWxpbmdDYWxs
YmFjaz4gc2lnbmFsaW5nQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU1Np
Z25hbGluZ0NhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDEpKTsKLSAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNW
YWx1ZSgpKTsKLQotICAgIFJlZlB0cjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+IHBlZXJDb25u
ZWN0aW9uID0gRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpjcmVhdGUoY29udGV4dCwgc2VydmVy
Q29uZmlndXJhdGlvbiwgc2lnbmFsaW5nQ2FsbGJhY2sucmVsZWFzZSgpKTsKLSAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKENSRUFURV9ET01fV1JBUFBFUihleGVjLCBqc0NvbnN0cnVjdG9yLT5n
bG9iYWxPYmplY3QoKSwgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLCBwZWVyQ29ubmVjdGlvbi5n
ZXQoKSkpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5k
ZXggODIxNzE3YjBkN2ZlNzY1M2FhZjNmNjVkYTM1ZWE4ZWY5NWJkMDRlNC4uNDAzYjc1OTJiZWNi
ZTNjYzRhODQ1ZTdlNDU3ZTFiZDY4NGViYzhiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXRGYWN0b3J5LmluCkBAIC01LDcgKzUsNiBAQCBCYXR0ZXJ5TWFuYWdlciBjb25kaXRpb25h
bD1CQVRURVJZX1NUQVRVUwogRGVkaWNhdGVkV29ya2VyQ29udGV4dCBjb25kaXRpb25hbD1XT1JL
RVJTCiBET01BcHBsaWNhdGlvbkNhY2hlCiBET01XaW5kb3cKLURlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbiBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIEV2ZW50U291cmNlCiBGaWxlUmVhZGVyIGNv
bmRpdGlvbmFsPUJMT0IKIEZpbGVXcml0ZXIgY29uZGl0aW9uYWw9RklMRV9TWVNURU0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNmUzNGRlNTZkZGRiMGYyNmM3ZWZlMDgzMjUzOWY4ODA4NmQzZWJlNS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEVy
aWNzc29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCi0gKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKiAz
LiBOZWl0aGVyIHRoZSBuYW1lIG9mIEVyaWNzc29uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzCi0gKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
Ci0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uSGFuZGxlcl9oCi0jZGVmaW5lIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJfaAotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIk1lZGlhU3RyZWFt
RGVzY3JpcHRvci5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDsKLQot
I2lmIFBMQVRGT1JNKENIUk9NSVVNKQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlckludGVybmFsOwotI2VuZGlmCi0KLWNsYXNzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhh
bmRsZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bkhhbmRsZXIpOwotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzT3duUHRyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI+IGNyZWF0ZShE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiwgY29uc3QgU3RyaW5nJiBzZXJ2
ZXJDb25maWd1cmF0aW9uLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKTsKLSAgICB+RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlcigpOwotCi0gICAgdm9pZCBwcm9kdWNlSW5pdGlhbE9mZmVy
KGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVhbXMpOwot
ICAgIHZvaWQgaGFuZGxlSW5pdGlhbE9mZmVyKGNvbnN0IFN0cmluZyYgc2RwKTsKLSAgICB2b2lk
IHByb2Nlc3NTRFAoY29uc3QgU3RyaW5nJiBzZHApOwotICAgIHZvaWQgcHJvY2Vzc1BlbmRpbmdT
dHJlYW1zKGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVh
bXMsIGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ1JlbW92ZVN0cmVh
bXMpOwotICAgIHZvaWQgc2VuZERhdGFTdHJlYW1NZXNzYWdlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCBsZW5ndGgpOwotCi0gICAgdm9pZCBzdG9wKCk7Ci0KLXByaXZhdGU6Ci0gICAgRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcihEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50KiwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJDb25maWd1cmF0aW9uLCBjb25zdCBTdHJpbmcm
IHVzZXJuYW1lKTsKLQotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIE93blB0cjxEZXByZWNh
dGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWw+IG1fcHJpdmF0ZTsKLSNlbGlmIFVTRShH
U1RSRUFNRVIpCi0gICAgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCogbV9j
bGllbnQ7Ci0jZW5kaWYKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNlbmRpZiAvLyBEZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJD
bGllbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODZjN2YwOWVhMDJkMjcyZDMw
YjUyMjUyYTcyNDJhNWYzOGJhMzM4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9EZXByZWNh
dGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBBQi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
ICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBF
cmljc3NvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcwotICog
ICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaWZuZGVmIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnRf
aAotI2RlZmluZSBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50X2gKLQotI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNs
YXNzIE1lZGlhU3RyZWFtRGVzY3JpcHRvcjsKLQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgLy8gTmFtZSBhbmQgdmFsdWVzIG9mIHRo
ZSBlbnVtIG11c3QgbWF0Y2ggdGhlIGNvcnJlc3Nwb25kaW5nIGNvbnN0YW50cyBpbiB0aGUgUGVl
ckNvbm5lY3Rpb24uaWRsIGZpbGUuCi0gICAgZW51bSBSZWFkeVN0YXRlIHsKLSAgICAgICAgTkVX
ID0gMCwKLSAgICAgICAgTkVHT1RJQVRJTkcgPSAxLAotICAgICAgICBBQ1RJVkUgPSAyLAotICAg
ICAgICBDTE9TRUQgPSAzCi0gICAgfTsKLQotICAgIHZpcnR1YWwgfkRlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQoKSB7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0
ZUlDRVByb2Nlc3NpbmcoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEdlbmVyYXRlU0RQKGNv
bnN0IFN0cmluZyYgc2RwKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhU3Ry
ZWFtTWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKSA9IDA7Ci0gICAgdmly
dHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3Jp
cHRvcj4pID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKE1lZGlh
U3RyZWFtRGVzY3JpcHRvciopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlU3RhdGUo
UmVhZHlTdGF0ZSkgPSAwOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2VuZGlmIC8vIERlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vYmxhY2tiZXJyeS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2JsYWNrYmVycnkvRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGQ2ZTNkNTg2NjM3YzRkN2MzMGUxNTM2NzEyNTMwZTRjZjIwNjNiNTguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vYmxhY2tiZXJyeS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEgRXJpY3Nzb24gQUIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3RyaWJ1dGlv
bi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgRXJpY3Nzb24gbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKLSAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCIKLQotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDbGllbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzT3duUHRy
PERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI+IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bkhhbmRsZXI6OmNyZWF0ZShEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBj
bGllbnQsIGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1
c2VybmFtZSkKLXsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IERlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbkhhbmRsZXIoY2xpZW50LCBzZXJ2ZXJDb25maWd1cmF0aW9uLCB1c2VybmFtZSkpOwotfQot
Ci0vLyBFbXB0eSBpbXBsZW1lbnRhdGlvbnMgZm9yIHBvcnRzIHRoYXQgYnVpbGQgd2l0aCBNRURJ
QV9TVFJFQU0gZW5hYmxlZCBieSBkZWZhdWx0LgotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlcjo6RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcihEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb25IYW5kbGVyQ2xpZW50KiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikKLXsKLX0K
LQotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6fkRlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbkhhbmRsZXIoKQotewotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRs
ZXI6OnByb2R1Y2VJbml0aWFsT2ZmZXIoY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9y
JikKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpoYW5kbGVJ
bml0aWFsT2ZmZXIoY29uc3QgU3RyaW5nJikKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNv
bm5lY3Rpb25IYW5kbGVyOjpwcm9jZXNzU0RQKGNvbnN0IFN0cmluZyYpCi17Ci19Ci0KLXZvaWQg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6cHJvY2Vzc1BlbmRpbmdTdHJlYW1zKGNv
bnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYsIGNvbnN0IE1lZGlhU3RyZWFtRGVzY3Jp
cHRvclZlY3RvciYpCi17Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
cjo6c2VuZERhdGFTdHJlYW1NZXNzYWdlKGNvbnN0IGNoYXIqLCBzaXplX3QpCi17Ci19Ci0KLXZv
aWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6c3RvcCgpCi17Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9EZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGQ1ZjE3ZTM5NTc5ZWJjNjczMGRjNTli
YTVjYmMyY2I5MGE5NzY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL0RlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoK
LSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAot
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNp
bmNsdWRlICJEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgiCi0KLSNpbmNsdWRlICJE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgiCi0jaW5jbHVkZSAiRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotUGFzc093blB0cjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyPiBEZXByZWNh
dGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpjcmVhdGUoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24s
IGNvbnN0IFN0cmluZyYgdXNlcm5hbWUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyKGNsaWVudCwgc2VydmVyQ29uZmlndXJhdGlvbiwg
dXNlcm5hbWUpKTsKLX0KLQotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6RGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcihEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3Qg
U3RyaW5nJiB1c2VybmFtZSkKLSAgICA6IG1fcHJpdmF0ZShhZG9wdFB0cihuZXcgRGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsKGNsaWVudCwgc2VydmVyQ29uZmlndXJhdGlv
biwgdXNlcm5hbWUpKSkKLXsKLX0KLQotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6
fkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIoKQotewotfQotCi12b2lkIERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnByb2R1Y2VJbml0aWFsT2ZmZXIoY29uc3QgTWVkaWFT
dHJlYW1EZXNjcmlwdG9yVmVjdG9yJiBwZW5kaW5nQWRkU3RyZWFtcykKLXsKLSAgICBtX3ByaXZh
dGUtPnByb2R1Y2VJbml0aWFsT2ZmZXIocGVuZGluZ0FkZFN0cmVhbXMpOwotfQotCi12b2lkIERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmhhbmRsZUluaXRpYWxPZmZlcihjb25zdCBT
dHJpbmcmIHNkcCkKLXsKLSAgICBtX3ByaXZhdGUtPmhhbmRsZUluaXRpYWxPZmZlcihzZHApOwot
fQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnByb2Nlc3NTRFAoY29u
c3QgU3RyaW5nJiBzZHApCi17Ci0gICAgbV9wcml2YXRlLT5wcm9jZXNzU0RQKHNkcCk7Ci19Ci0K
LXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6cHJvY2Vzc1BlbmRpbmdTdHJl
YW1zKGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVhbXMs
IGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ1JlbW92ZVN0cmVhbXMp
Ci17Ci0gICAgbV9wcml2YXRlLT5wcm9jZXNzUGVuZGluZ1N0cmVhbXMocGVuZGluZ0FkZFN0cmVh
bXMsIHBlbmRpbmdSZW1vdmVTdHJlYW1zKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb25IYW5kbGVyOjpzZW5kRGF0YVN0cmVhbU1lc3NhZ2UoY29uc3QgY2hhciogZGF0YSwgc2l6
ZV90IGxlbmd0aCkKLXsKLSAgICBtX3ByaXZhdGUtPnNlbmREYXRhU3RyZWFtTWVzc2FnZShkYXRh
LCBsZW5ndGgpOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnN0
b3AoKQotewotICAgIG1fcHJpdmF0ZS0+c3RvcCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uSGFuZGxlckludGVybmFsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbC5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1ZTk2MzgxMWU0NjZlZTI4ZjUwNWJi
YTNjN2IwNzZhYzFkNWNjZjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDEzMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0g
KiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0g
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAot
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKLQotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5h
bC5oIgotCi0jaW5jbHVkZSAiRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5o
IgotI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgotI2luY2x1ZGUgPHB1YmxpYy9XZWJNZWRp
YVN0cmVhbURlc2NyaXB0b3IuaD4KLSNpbmNsdWRlIDxwdWJsaWMvV2ViUGVlckNvbm5lY3Rpb25I
YW5kbGVyLmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYlBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVu
dC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWwoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24sIGNvbnN0
IFN0cmluZyYgdXNlcm5hbWUpCi0gICAgOiBtX2NsaWVudChjbGllbnQpCi17Ci0gICAgQVNTRVJU
KG1fY2xpZW50KTsKLSAgICBtX3dlYkhhbmRsZXIgPSBhZG9wdFB0cihXZWJLaXQ6OlBsYXRmb3Jt
OjpjdXJyZW50KCktPmNyZWF0ZVBlZXJDb25uZWN0aW9uSGFuZGxlcih0aGlzKSk7Ci0gICAgLy8g
RklYTUU6IFdoZW4gdGhlcmUgaXMgc29tZSBlcnJvciByZXBvcnRpbmcgYXZhbGlhYmxlIGluIHRo
ZSBQZWVyQ29ubmVjdGlvbiBvYmplY3QgcmVwb3J0Ci0gICAgLy8gaWYgd2UgZGlkbid0IGdldCBh
IFdlYlBlZXJDb25uZWN0aW9uSGFuZGxlciBpbnN0YW5jZS4KLQotICAgIGlmIChtX3dlYkhhbmRs
ZXIpCi0gICAgICAgIG1fd2ViSGFuZGxlci0+aW5pdGlhbGl6ZShzZXJ2ZXJDb25maWd1cmF0aW9u
LCB1c2VybmFtZSk7Ci19Ci0KLURlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5h
bDo6fkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbCgpCi17Ci19Ci0KLXZv
aWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpwcm9kdWNlSW5pdGlh
bE9mZmVyKGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVh
bXMpCi17Ci0gICAgaWYgKG1fd2ViSGFuZGxlcikKLSAgICAgICAgbV93ZWJIYW5kbGVyLT5wcm9k
dWNlSW5pdGlhbE9mZmVyKHBlbmRpbmdBZGRTdHJlYW1zKTsKLX0KLQotdm9pZCBEZXByZWNhdGVk
UGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWw6OmhhbmRsZUluaXRpYWxPZmZlcihjb25zdCBT
dHJpbmcmIHNkcCkKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX3dlYkhhbmRs
ZXItPmhhbmRsZUluaXRpYWxPZmZlcihzZHApOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkhhbmRsZXJJbnRlcm5hbDo6cHJvY2Vzc1NEUChjb25zdCBTdHJpbmcmIHNkcCkKLXsK
LSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX3dlYkhhbmRsZXItPnByb2Nlc3NTRFAo
c2RwKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWw6
OnByb2Nlc3NQZW5kaW5nU3RyZWFtcyhjb25zdCBNZWRpYVN0cmVhbURlc2NyaXB0b3JWZWN0b3Im
IHBlbmRpbmdBZGRTdHJlYW1zLCBjb25zdCBNZWRpYVN0cmVhbURlc2NyaXB0b3JWZWN0b3ImIHBl
bmRpbmdSZW1vdmVTdHJlYW1zKQotewotICAgIGlmIChtX3dlYkhhbmRsZXIpCi0gICAgICAgIG1f
d2ViSGFuZGxlci0+cHJvY2Vzc1BlbmRpbmdTdHJlYW1zKHBlbmRpbmdBZGRTdHJlYW1zLCBwZW5k
aW5nUmVtb3ZlU3RyZWFtcyk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlckludGVybmFsOjpzZW5kRGF0YVN0cmVhbU1lc3NhZ2UoY29uc3QgY2hhciogZGF0YSwgc2l6
ZV90IGxlbmd0aCkKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX3dlYkhhbmRs
ZXItPnNlbmREYXRhU3RyZWFtTWVzc2FnZShkYXRhLCBsZW5ndGgpOwotfQotCi12b2lkIERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbDo6c3RvcCgpCi17Ci0gICAgaWYgKG1f
d2ViSGFuZGxlcikKLSAgICAgICAgbV93ZWJIYW5kbGVyLT5zdG9wKCk7Ci19Ci0KLXZvaWQgRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpkaWRDb21wbGV0ZUlDRVByb2Nl
c3NpbmcoKQotewotICAgIGlmIChtX3dlYkhhbmRsZXIpCi0gICAgICAgIG1fY2xpZW50LT5kaWRD
b21wbGV0ZUlDRVByb2Nlc3NpbmcoKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVySW50ZXJuYWw6OmRpZEdlbmVyYXRlU0RQKGNvbnN0IFdlYktpdDo6V2ViU3RyaW5n
JiBzZHApCi17Ci0gICAgaWYgKG1fd2ViSGFuZGxlcikKLSAgICAgICAgbV9jbGllbnQtPmRpZEdl
bmVyYXRlU0RQKHNkcCk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
ckludGVybmFsOjpkaWRSZWNlaXZlRGF0YVN0cmVhbU1lc3NhZ2UoY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGxlbmd0aCkKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX2NsaWVu
dC0+ZGlkUmVjZWl2ZURhdGFTdHJlYW1NZXNzYWdlKGRhdGEsIGxlbmd0aCk7Ci19Ci0KLXZvaWQg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpkaWRBZGRSZW1vdGVTdHJl
YW0oY29uc3QgV2ViS2l0OjpXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImIHdlYk1lZGlhU3RyZWFt
RGVzY3JpcHRvcikKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX2NsaWVudC0+
ZGlkQWRkUmVtb3RlU3RyZWFtKHdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvcik7Ci19Ci0KLXZvaWQg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpkaWRSZW1vdmVSZW1vdGVT
dHJlYW0oY29uc3QgV2ViS2l0OjpXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImIHdlYk1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcikKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX2NsaWVu
dC0+ZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKHdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvcik7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1
bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bkhhbmRsZXJJbnRlcm5hbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2ZjYjkz
YjRlMTc3ODViMzQ0NDhiNzBjYzlhMGI5MzVjYTVhN2NlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbC5oCisr
KyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uSGFuZGxlckludGVybmFsX2gKLSNkZWZpbmUgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlckludGVybmFsX2gKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNpbmNsdWRlICJN
ZWRpYVN0cmVhbURlc2NyaXB0b3IuaCIKLSNpbmNsdWRlIDxwdWJsaWMvV2ViUGVlckNvbm5lY3Rp
b25IYW5kbGVyQ2xpZW50Lmg+Ci0jaW5jbHVkZSA8d3RmL093blB0ci5oPgotI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVz
cGFjZSBXZWJLaXQgewotY2xhc3MgV2ViUGVlckNvbm5lY3Rpb25IYW5kbGVyOwotY2xhc3MgV2Vi
U3RyaW5nOwotY2xhc3MgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yOwotfQotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLWNsYXNzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ7
Ci0KLWNsYXNzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbCA6IHB1Ymxp
YyBXZWJLaXQ6OldlYlBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCB7Ci1wdWJsaWM6Ci0gICAg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsKERlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQqLCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24s
IGNvbnN0IFN0cmluZyYgdXNlcm5hbWUpOwotICAgIH5EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25I
YW5kbGVySW50ZXJuYWwoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBwcm9kdWNlSW5pdGlhbE9mZmVy
KGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVhbXMpOwot
ICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVJbml0aWFsT2ZmZXIoY29uc3QgU3RyaW5nJiBzZHApOwot
ICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzU0RQKGNvbnN0IFN0cmluZyYgc2RwKTsKLSAgICB2aXJ0
dWFsIHZvaWQgcHJvY2Vzc1BlbmRpbmdTdHJlYW1zKGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRv
clZlY3RvciYgcGVuZGluZ0FkZFN0cmVhbXMsIGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZl
Y3RvciYgcGVuZGluZ1JlbW92ZVN0cmVhbXMpOwotICAgIHZpcnR1YWwgdm9pZCBzZW5kRGF0YVN0
cmVhbU1lc3NhZ2UoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCk7Ci0gICAgdmlydHVh
bCB2b2lkIHN0b3AoKTsKLQotICAgIC8vIFdlYktpdDo6V2ViUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50IGltcGxlbWVudGF0aW9uLgotICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0ZUlDRVBy
b2Nlc3NpbmcoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkR2VuZXJhdGVTRFAoY29uc3QgV2ViS2l0
OjpXZWJTdHJpbmcmIHNkcCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhU3RyZWFt
TWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKLSAgICB2aXJ0dWFsIHZv
aWQgZGlkQWRkUmVtb3RlU3RyZWFtKGNvbnN0IFdlYktpdDo6V2ViTWVkaWFTdHJlYW1EZXNjcmlw
dG9yJik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZVJlbW90ZVN0cmVhbShjb25zdCBXZWJL
aXQ6OldlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYpOwotCi1wcml2YXRlOgotICAgIE93blB0cjxX
ZWJLaXQ6OldlYlBlZXJDb25uZWN0aW9uSGFuZGxlcj4gbV93ZWJIYW5kbGVyOwotICAgIERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqIG1fY2xpZW50OwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2Vu
ZGlmIC8vIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2ZTNkNTg2NjM3YzRkN2MzMGUxNTM2NzEy
NTMwZTRjZjIwNjNiNTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0RlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBFcmljc3NvbiBBQi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
ICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBF
cmljc3NvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcwotICog
ICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQotCi0jaW5jbHVkZSAiRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5oIgotCi0jaW5j
bHVkZSAiRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oIgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLVBhc3NPd25QdHI8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
cj4gRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6Y3JlYXRlKERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbkhhbmRsZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJDb25m
aWd1cmF0aW9uLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKQotewotICAgIHJldHVybiBhZG9wdFB0
cihuZXcgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcihjbGllbnQsIHNlcnZlckNvbmZp
Z3VyYXRpb24sIHVzZXJuYW1lKSk7Ci19Ci0KLS8vIEVtcHR5IGltcGxlbWVudGF0aW9ucyBmb3Ig
cG9ydHMgdGhhdCBidWlsZCB3aXRoIE1FRElBX1NUUkVBTSBlbmFibGVkIGJ5IGRlZmF1bHQuCi1E
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25I
YW5kbGVyKERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmKQotewotfQotCi1EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5k
bGVyOjp+RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcigpCi17Ci19Ci0KLXZvaWQgRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6cHJvZHVjZUluaXRpYWxPZmZlcihjb25zdCBN
ZWRpYVN0cmVhbURlc2NyaXB0b3JWZWN0b3ImKQotewotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbkhhbmRsZXI6OmhhbmRsZUluaXRpYWxPZmZlcihjb25zdCBTdHJpbmcmKQotewot
fQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnByb2Nlc3NTRFAoY29u
c3QgU3RyaW5nJikKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
Ojpwcm9jZXNzUGVuZGluZ1N0cmVhbXMoY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9y
JiwgY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9yJikKLXsKLX0KLQotdm9pZCBEZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpzZW5kRGF0YVN0cmVhbU1lc3NhZ2UoY29uc3Qg
Y2hhciosIHNpemVfdCkKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5k
bGVyOjpzdG9wKCkKLXsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZGJhNDAxYmJiOGE2MWEzNzliYzg2ZWZmOGQ2
NGJjYTQyM2UxNjUzLi5lNDg5NTFmOGI4YTFmZGI3MjkyY2Y2NTNmY2Y1YzBjODE0ZDczN2E2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDctMjQgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9t
bXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBSZW1vdmUgRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MjEwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENoYW5nZWQgYWxsIHVzYWdlcyBvZiBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24g
dG8gUGVlckNvbm5lY3Rpb24wMC4KKworICAgICAgICAqIGZhc3QvZG9tL2NhbGwtYS1jb25zdHJ1
Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jYWxs
LWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvbWVkaWFz
dHJlYW0vcGVlcmNvbm5lY3Rpb24tYWRkc3RyZWFtLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWFyZ3VtZW50LXR5cGVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWV2ZW50bGlzdGVu
ZXItb3B0aW9uYWwtYXJndW1lbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL3Bl
ZXJjb25uZWN0aW9uLW1lZGlhc3RyZWFtbGlzdC5odG1sOgorICAgICAgICAqIGZhc3QvbWVkaWFz
dHJlYW0vcGVlcmNvbm5lY3Rpb24tcmVtb3Zlc3RyZWFtLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1hZGRzdHJlYW0u
anM6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNvbm5lY3Rp
b24tYXJndW1lbnQtdHlwZXMuanM6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQt
dGVzdHMvcGVlcmNvbm5lY3Rpb24tcmVtb3Zlc3RyZWFtLmpzOgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVj
dG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9m
YXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL3dpbi9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBlY3Rl
ZC50eHQ6CisKIDIwMTItMDctMjQgIEFya28gU2FoYSAgPGFya29AbW90b3JvbGEuY29tPgogCiAg
ICAgICAgIE1pY3JvZGF0YTogSW1wbGVtZW50IFByb3BlcnR5Tm9kZUxpc3QgaW50ZXJmYWNlLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEt
ZnVuY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY2FsbC1hLWNvbnN0
cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IGIzZDIxMjQ2ZjRmZDg5ZmEy
OTExZjJmZTgwZDhiNGMwZGZmMjg3OGUuLjkwM2Q1NDdmZDNiNDhiNWY2MzRiZjY4YmIxZTI5Nzc3
M2NkYjFkYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1
Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTE4LDcg
KzE4LDYgQEAgUEFTUyBJbnQxNkFycmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tv
YmplY3QgSW50MTZBcnJheUNvbnN0cnVjdG9yXScgaXMKIFBBU1MgSW50MzJBcnJheSgpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IEludDMyQXJyYXlDb25zdHJ1Y3Rvcl0nIGlz
IG5vdCBhIGZ1bmN0aW9uIChldmFsdWF0aW5nICdJbnQzMkFycmF5KCknKS4KIFBBU1MgSW50OEFy
cmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tvYmplY3QgSW50OEFycmF5Q29uc3Ry
dWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnSW50OEFycmF5KCknKS4KIFBB
U1MgTWVzc2FnZUNoYW5uZWwoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBN
ZXNzYWdlQ2hhbm5lbENvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcg
J01lc3NhZ2VDaGFubmVsKCknKS4KLVNLSVAgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
IGlzIG5vdCBpbXBsZW1lbnRlZC4KIFBBU1MgU2hhcmVkV29ya2VyKCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogJ1tvYmplY3QgU2hhcmVkV29ya2VyQ29uc3RydWN0b3JdJyBpcyBub3QgYSBm
dW5jdGlvbiAoZXZhbHVhdGluZyAnU2hhcmVkV29ya2VyKCknKS4KIFBBU1MgVWludDE2QXJyYXko
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBVaW50MTZBcnJheUNvbnN0cnVj
dG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ1VpbnQxNkFycmF5KCknKS4KIFBB
U1MgVWludDMyQXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBVaW50
MzJBcnJheUNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ1VpbnQz
MkFycmF5KCknKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NhbGwtYS1jb25z
dHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jYWxsLWEt
Y29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi5odG1sCmluZGV4IDI2NDdkZmE5YzQ4YzQ2MDU2YjE1
ODcxOTJlMGNlMWM3OTRlOGZlMzcuLmJmZThhYTY2N2ZlYjQ3MGEzYmYwZTc4MmJjZDk5OGY4NzA1
ZDY2MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rv
ci1hcy1hLWZ1bmN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY2FsbC1hLWNv
bnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24uaHRtbApAQCAtNiw3ICs2LDcgQEAKIAogZGVzY3JpcHRp
b24oIlRoaXMgdGVzdHMgaWYgVHlwZUVycm9yIGlzIHRocm93biBvciBub3Qgd2hlbiB3ZSBjYWxs
IGEgY29uc3RydWN0b3IgYXMgYSBub3JtYWwgZnVuY3Rpb24uIik7CiAKLXZhciB0ZXN0X2NvbnN0
cnVjdG9ycyA9IFsiQXJyYXlCdWZmZXIiLCAiQXVkaW9Db250ZXh0IiwgIkZvcm1EYXRhIiwgIkRh
dGFWaWV3IiwgIkV2ZW50U291cmNlIiwgIkZpbGVSZWFkZXIiLCAiRmxvYXQzMkFycmF5IiwgIkZs
b2F0NjRBcnJheSIsICJBdWRpbyIsICJJbWFnZSIsICJPcHRpb24iLCAiSW50MTZBcnJheSIsICJJ
bnQzMkFycmF5IiwgIkludDhBcnJheSIsICJNZXNzYWdlQ2hhbm5lbCIsICJ3ZWJraXREZXByZWNh
dGVkUGVlckNvbm5lY3Rpb24iLCAiU2hhcmVkV29ya2VyIiwgIlVpbnQxNkFycmF5IiwgIlVpbnQz
MkFycmF5IiwgIlVpbnQ4QXJyYXkiLCAiV2ViS2l0Q1NTTWF0cml4IiwgIldlYktpdFBvaW50Iiwg
IldlYlNvY2tldCIsICJXb3JrZXIiLCAiWE1MSHR0cFJlcXVlc3QiLCAiWFNMVFByb2Nlc3NvciJd
OwordmFyIHRlc3RfY29uc3RydWN0b3JzID0gWyJBcnJheUJ1ZmZlciIsICJBdWRpb0NvbnRleHQi
LCAiRm9ybURhdGEiLCAiRGF0YVZpZXciLCAiRXZlbnRTb3VyY2UiLCAiRmlsZVJlYWRlciIsICJG
bG9hdDMyQXJyYXkiLCAiRmxvYXQ2NEFycmF5IiwgIkF1ZGlvIiwgIkltYWdlIiwgIk9wdGlvbiIs
ICJJbnQxNkFycmF5IiwgIkludDMyQXJyYXkiLCAiSW50OEFycmF5IiwgIk1lc3NhZ2VDaGFubmVs
IiwgIlNoYXJlZFdvcmtlciIsICJVaW50MTZBcnJheSIsICJVaW50MzJBcnJheSIsICJVaW50OEFy
cmF5IiwgIldlYktpdENTU01hdHJpeCIsICJXZWJLaXRQb2ludCIsICJXZWJTb2NrZXQiLCAiV29y
a2VyIiwgIlhNTEh0dHBSZXF1ZXN0IiwgIlhTTFRQcm9jZXNzb3IiXTsKIAogdGVzdF9jb25zdHJ1
Y3RvcnMuZm9yRWFjaChmdW5jdGlvbiAoY29uc3RydWN0b3IpIHsKICAgICBpZiAoZXZhbCgid2lu
ZG93LiIgKyBjb25zdHJ1Y3RvcikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL3BlZXJjb25uZWN0aW9uLWFkZHN0cmVhbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWFkZHN0cmVhbS1leHBlY3RlZC50eHQK
aW5kZXggMTk2ZjJkNjJlYjY4NWVjZTA5OWRlZjY3ZjQ1NjlhYTZiNWJhZThkZi4uYjNkNDRhZmQy
MDgxZjg2NTE2ZDdkNmQ0MzEyOTE0M2VjYjlmZjQzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1hZGRzdHJlYW0tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tYWRkc3RyZWFt
LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLVRlc3RzIERlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbjo6YWRkU3RyZWFtKCkuCitUZXN0cyBQZWVyQ29ubmVjdGlvbjAwOjphZGRTdHJlYW0oKS4K
IAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWFyZ3VtZW50LXR5cGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tYXJndW1lbnQt
dHlwZXMtZXhwZWN0ZWQudHh0CmluZGV4IDA0ZjljMzlmMWY3N2E0OGZiNTQ0N2VkYjRjNjU3YWQx
OTAzZmJkNGYuLjUwYmViZDlhNmRjMzhlNTNjYWZmZjdiNjc5NzYzODc0YTJlOTNiZGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tYXJndW1l
bnQtdHlwZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
cGVlcmNvbm5lY3Rpb24tYXJndW1lbnQtdHlwZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDU0ICsxLDU0
IEBACi1UZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBmb3IgYXJndW1lbnRzIHRvIG1ldGhvZCBm
b3IgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uIGRlZmluYXRpb24uCitUZXN0cyB0aGUgYWNjZXB0
YWJsZSB0eXBlcyBmb3IgYXJndW1lbnRzIHRvIG1ldGhvZCBmb3IgUGVlckNvbm5lY3Rpb24wMCBk
ZWZpbmF0aW9uLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyB0eXBlb2Yg
d2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uID09PSAnZnVuY3Rpb24nIGlzIHRydWUKLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uKCJTVFVOIDIwMy4wLjExMy4yOjI0NzgiKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiByZWxheS5leGFtcGxlLm5ldDozNDc4IikgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXRE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU4gZXhhbXBsZS5uZXQiKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgMjAzLjAuMTEzLjI6MjQ3OCIpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyByZWxheS5leGFtcGxlLm5ldDozNDc4IikgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3
ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIGV4YW1wbGUubmV0IikgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJr
aXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4gMjAzLjAuMTEzLjI6MjQ3OCIpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Vi
a2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIHJlbGF5LmV4YW1wbGUubmV0OjM0Nzgi
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1Mg
bmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiBleGFtcGxlLm5ldCIpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcg
d2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyAyMDMuMC4xMTMuMjoyNDc4Iikg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5l
dyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIHJlbGF5LmV4YW1wbGUubmV0
OjM0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4K
LVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgZXhhbXBsZS5u
ZXQiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiBOT05FIikgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJr
aXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIE5PTkUiKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiBOT05FIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oIlNUVU5TIE5PTkUiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigidW5k
ZWZpbmVkIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMu
Ci1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIm51bGwiKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtp
dERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbih7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oNDIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
LgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKEluZmluaXR5KSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdl
YmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigtSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uKGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uKCJTVFVOIDIwMy4wLjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJT
VFVOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVO
IGV4YW1wbGUubmV0IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgMjAzLjAuMTEzLjI6
MjQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3
ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIHJlbGF5LmV4YW1wbGUubmV0OjM0
NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Vi
a2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBleGFtcGxlLm5ldCIsZW1wdHlGdW5j
dGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlRVUk4gMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbikgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oIlRVUk4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oIlRVUk4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyAyMDMu
MC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgcmVsYXkuZXhhbXBs
ZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNT
IG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIGV4YW1wbGUubmV0Iixl
bXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgbmV3IHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiBOT05FIixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bigiVFVSTlMgTk9ORSIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1Q
QVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU4gTk9ORSIsZW1wdHlG
dW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNh
dGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIE5PTkUiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJU
VVJOIE5PTkUiLHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENI
X0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbigiVFVSTlMgTk9ORSIse30pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNN
QVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb24oIlNUVU4gTk9ORSIsNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlNUVU5TIE5PTkUiLEluZmluaXR5KSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyBuZXcgd2Via2l0
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBOT05FIiwtSW5maW5pdHkpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNT
IHR5cGVvZiB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwID09PSAnZnVuY3Rpb24nIGlzIHRydWUKK1BB
U1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAo
IlNUVU4gMjAzLjAuMTEzLjI6MjQ3OCIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTiBy
ZWxheS5leGFtcGxlLm5ldDozNDc4IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOIGV4
YW1wbGUubmV0IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyAyMDMuMC4xMTMuMjoy
NDc4IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQ
QVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyByZWxheS5leGFtcGxlLm5ldDoz
NDc4IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQ
QVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyBleGFtcGxlLm5ldCIpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Vi
a2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiAyMDMuMC4xMTMuMjoyNDc4IikgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVy
Q29ubmVjdGlvbjAwKCJUVVJOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoIlRVUk4gZXhhbXBsZS5uZXQiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAo
IlRVUk5TIDIwMy4wLjExMy4yOjI0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3Qg
ZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5T
IHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3Qg
ZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5T
IGV4YW1wbGUubmV0IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIE5PTkUiKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdl
YmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIE5PTkUiKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9u
MDAoIlNUVU4gTk9ORSIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgTk9ORSIpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcg
d2Via2l0UGVlckNvbm5lY3Rpb24wMCgidW5kZWZpbmVkIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlv
bjAwKCJudWxsIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKHt9KSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25u
ZWN0aW9uMDAoNDIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMChJbmZpbml0eSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQ
ZWVyQ29ubmVjdGlvbjAwKC1JbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKGVtcHR5
RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
LgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTiAyMDMuMC4xMTMuMjoyNDc4
IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtp
dFBlZXJDb25uZWN0aW9uMDAoIlNUVU4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5j
dGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwKCJTVFVOIGV4YW1wbGUubmV0IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIDIwMy4wLjEx
My4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBu
ZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIs
ZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQ
ZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyBleGFtcGxlLm5ldCIsZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJO
IDIwMy4wLjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiByZWxheS5leGFtcGxlLm5l
dDozNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3
IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24w
MCgiVFVSTlMgMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyByZWxheS5l
eGFtcGxlLm5ldDozNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIGV4YW1wbGUubmV0IixlbXB0
eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoIlRVUk4gTk9ORSIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyBOT05FIixlbXB0
eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoIlNUVU4gTk9ORSIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyBOT05FIixlbXB0
eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoIlRVUk4gTk9ORSIsdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuZXcgd2Via2l0UGVl
ckNvbm5lY3Rpb24wMCgiVFVSTlMgTk9ORSIse30pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQ
RV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29u
bmVjdGlvbjAwKCJTVFVOIE5PTkUiLDQyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlT
TUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rp
b24wMCgiU1RVTlMgTk9ORSIsSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwKCJTVFVOUyBOT05FIiwtSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQ
RV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tZXZlbnRsaXN0ZW5lci1vcHRpb25hbC1hcmd1bWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1ldmVu
dGxpc3RlbmVyLW9wdGlvbmFsLWFyZ3VtZW50Lmh0bWwKaW5kZXggY2ViMjYyNTM0M2NlYTM5YjY1
NzE1OTk3NDE3YzAzMTNkYzJjZmE0ZS4uNDNhZDE0OTE5MzcwMzExN2U0NTg0ZDdlMDVjZjEwNmY1
MzI0ZmE4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29u
bmVjdGlvbi1ldmVudGxpc3RlbmVyLW9wdGlvbmFsLWFyZ3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1ldmVudGxpc3RlbmVyLW9wdGlv
bmFsLWFyZ3VtZW50Lmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGNvbmZpcm1zIGlmIHRoZSB0aGlyZCBhcmd1bWVudCBvZiBhZGRFdmVudExp
c3RlbmVyKCkgYW5kIHJlbW92ZUV2ZW50TGlzdGVuZXIoKSBpcyBvcHRpb25hbC4iKTsKIAotdmFy
IHBjID0gbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigic29tZS5zZXJ2ZXIuY29t
IiwgZnVuY3Rpb24oKSB7fSk7Cit2YXIgcGMgPSBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgi
c29tZS5zZXJ2ZXIuY29tIiwgZnVuY3Rpb24oKSB7fSk7CiBzaG91bGRCZSgncGMuYWRkRXZlbnRM
aXN0ZW5lcigiZm9vIiwgZnVuY3Rpb24oKSB7fSknLCAndW5kZWZpbmVkJyk7CiBzaG91bGRCZSgn
cGMuYWRkRXZlbnRMaXN0ZW5lcigiZm9vIiwgZnVuY3Rpb24oKSB7fSwgZmFsc2UpJywgJ3VuZGVm
aW5lZCcpOwogc2hvdWxkQmUoJ3BjLmFkZEV2ZW50TGlzdGVuZXIoImZvbyIsIGZ1bmN0aW9uKCkg
e30sIHRydWUpJywgJ3VuZGVmaW5lZCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1tZWRpYXN0cmVhbWxpc3QuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tbWVkaWFzdHJlYW1saXN0Lmh0bWwK
aW5kZXggMWJhZDdmZDg0ZDVmZTgyM2QwYjBlN2Y4N2NkMGZmOTU5ZGJkYWEzZS4uZDY3YmZkNzgw
YmM0ZTg3MjI2N2FlNWNkMzQ5NmI4OTc3Y2FmYjdmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1tZWRpYXN0cmVhbWxpc3QuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLW1lZGlhc3RyZWFt
bGlzdC5odG1sCkBAIC0xMSw3ICsxMSw3IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCBjb25maXJtcyB0aGF0IG91dC1vZi1ib3VuZHMgYWNjZXNzIG9mIE1lZGlhU3RyZWFtTGlz
dCByZXR1cm5zIHVuZGVmaW5lZC4iKTsKIAotdmFyIHBjID0gbmV3IHdlYmtpdERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbigiIiwgZnVuY3Rpb24oKSB7fSk7Cit2YXIgcGMgPSBuZXcgd2Via2l0UGVl
ckNvbm5lY3Rpb24wMCgiIiwgZnVuY3Rpb24oKSB7fSk7CiAKIHNob3VsZEJlVW5kZWZpbmVkKCdw
Yy5sb2NhbFN0cmVhbXNbMHhiYWRjMGRlZF0nKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1yZW1vdmVzdHJlYW0tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1yZW1vdmVzdHJl
YW0tZXhwZWN0ZWQudHh0CmluZGV4IGE2NDJhMDA3OWQ3NmYwNTg4NjA5MDZiNWQ1NGIzZDdlZjA0
Y2FkMjkuLjE0NzM5MjJjNzM5ZmUzNTE4YzBmMDIzY2ZmN2JmN2MxMzUyNjIwYTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tcmVtb3Zlc3Ry
ZWFtLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJj
b25uZWN0aW9uLXJlbW92ZXN0cmVhbS1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKLVRl
c3RzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6cmVtb3ZlU3RyZWFtKCkuCitUZXN0cyBQZWVy
Q29ubmVjdGlvbjAwOjpyZW1vdmVTdHJlYW0oKS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgogCiAKLVBBU1MgcGMucmVtb3ZlU3RyZWFtKCkgdGhyZXcgVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cwotUEFTUyBwYy5yZW1vdmVTdHJlYW0odW5kZWZpbmVkKSB0aHJldyBFcnJvcjog
VFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcKLVBBU1MgcGMucmVtb3ZlU3RyZWFt
KG51bGwpIHRocmV3IEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNwot
UEFTUyBwYy5yZW1vdmVTdHJlYW0obmV3IEFycmF5KCkpIHRocmV3IFR5cGVFcnJvcjogVHlwZSBl
cnJvcgotUEFTUyBwYy5yZW1vdmVTdHJlYW0oe30pIHRocmV3VHlwZUVycm9yOiBUeXBlIGVycm9y
Ci1QQVNTIHBjLnJlbW92ZVN0cmVhbSg0MikgdGhyZXdUeXBlRXJyb3I6IFR5cGUgZXJyb3IKLVBB
U1MgcGMucmVtb3ZlU3RyZWFtKEluZmluaXR5KSB0aHJld1R5cGVFcnJvcjogVHlwZSBlcnJvcgot
UEFTUyBwYy5yZW1vdmVTdHJlYW0oLUluZmluaXR5KSB0aHJld1R5cGVFcnJvcjogVHlwZSBlcnJv
cgorUEFTUyBwYy5yZW1vdmVTdHJlYW0oKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBjLnJlbW92ZVN0cmVhbSh1bmRlZmluZWQpOyB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBwYy5yZW1vdmVTdHJlYW0obnVsbCk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHBjLnJlbW92ZVN0cmVhbShuZXcg
QXJyYXkoKSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHBj
LnJlbW92ZVN0cmVhbSh7fSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
CitQQVNTIHBjLnJlbW92ZVN0cmVhbSg0Mik7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCitQQVNTIHBjLnJlbW92ZVN0cmVhbShJbmZpbml0eSk7IHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHBjLnJlbW92ZVN0cmVhbSgtSW5maW5pdHkp
OyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1hZGRzdHJlYW0u
anMgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVj
dGlvbi1hZGRzdHJlYW0uanMKaW5kZXggNmNlNmVjMTc1ZjA0NzJhNjk5MWRlMTBiNDdjNjcwNWUx
YTQxMmFhNi4uMDYyMmQwZTA4MjJkMDJmN2YwYmNmZmY0OTYyY2VkMWExNjVjOTA2NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNvbm5l
Y3Rpb24tYWRkc3RyZWFtLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2Ny
aXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLWFkZHN0cmVhbS5qcwpAQCAtMSw2ICsxLDYgQEAKLWRl
c2NyaXB0aW9uKCJUZXN0cyBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmFkZFN0cmVhbSgpLiIp
OworZGVzY3JpcHRpb24oIlRlc3RzIFBlZXJDb25uZWN0aW9uMDA6OmFkZFN0cmVhbSgpLiIpOwog
Ci12YXIgcGMgPSBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOIHNvbWUu
c2VydmVyLmNvbSIsIGZ1bmN0aW9uKCkge30pOwordmFyIHBjID0gbmV3IHdlYmtpdFBlZXJDb25u
ZWN0aW9uMDAoIlNUVU4gc29tZS5zZXJ2ZXIuY29tIiwgZnVuY3Rpb24oKSB7fSk7CiAKIHRyeSB7
CiAgICAgcGMuYWRkU3RyZWFtKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1hcmd1bWVudC10eXBlcy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLWFy
Z3VtZW50LXR5cGVzLmpzCmluZGV4IDM3OTZmODU1NTZkNGFlY2FhNmQzMWY5ODFlODVjNzQyYWJk
MTU4MGYuLjdmMmM2ZTE0YWU2NTVlNWQ1YjRjNzBhNWI0NGQxZmFiNWU5ZjBiODQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0
aW9uLWFyZ3VtZW50LXR5cGVzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
c2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLWFyZ3VtZW50LXR5cGVzLmpzCkBAIC0xLDQgKzEs
NCBAQAotZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5cGVzIGZvciBhcmd1bWVu
dHMgdG8gbWV0aG9kIGZvciBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24gZGVmaW5hdGlvbi4iKTsK
K2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBmb3IgYXJndW1lbnRzIHRv
IG1ldGhvZCBmb3IgUGVlckNvbm5lY3Rpb24wMCBkZWZpbmF0aW9uLiIpOwogCiBmdW5jdGlvbiB0
ZXN0KGV4cHJlc3Npb24sIGV4cHJlc3Npb25TaG91bGRUaHJvdywgZXhwZWN0ZWRFeGNlcHRpb24p
IHsKICAgICBpZiAoZXhwcmVzc2lvblNob3VsZFRocm93KSB7CkBAIC0yMSw1OSArMjEsNTcgQEAg
T2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7
CiB9CiB2YXIgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24gPSBuZXcgT2JqZWN0VGhyb3dpbmdFeGNl
cHRpb24oKTsKIAotc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2Via2l0RGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uID09PSAnZnVuY3Rpb24nIik7CitzaG91bGRCZVRydWUoInR5cGVvZiB3ZWJraXRQZWVy
Q29ubmVjdGlvbjAwID09PSAnZnVuY3Rpb24nIik7CiAKIC8vIDAgQXJndW1lbnQKLXRlc3QoJ25l
dyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oKScsIHRydWUsJ1R5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCkn
LCB0cnVlLCdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7CiAKLS8vIDEgQXJndW1l
bnQgKG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24gcmVxdWlyZXMgYXQgbGVhc3Qg
MiBhcmd1bWVudHMpLgotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigi
U1RVTiAyMDMuMC4xMTMuMjoyNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RV
TiByZWxheS5leGFtcGxlLm5ldDozNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigi
U1RVTiBleGFtcGxlLm5ldCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIDIw
My4wLjExMy4yOjI0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
Jyk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyByZWxh
eS5leGFtcGxlLm5ldDozNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3Vt
ZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMg
ZXhhbXBsZS5uZXQiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7
Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIDIwMy4wLjEx
My4yOjI0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Ci10
ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIHJlbGF5LmV4YW1w
bGUubmV0OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7
Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIGV4YW1wbGUu
bmV0IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVzdCgn
bmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgMjAzLjAuMTEzLjI6MjQ3
OCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25l
dyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIHJlbGF5LmV4YW1wbGUubmV0
OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Ci10ZXN0
KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyBleGFtcGxlLm5ldCIp
JywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3
ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4gTk9ORSIpJywgdHJ1ZSwgJ1R5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlRVUk5TIE5PTkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzJyk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
KCJTVFVOIE5PTkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7
Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBOT05FIikn
LCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdl
YmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigidW5kZWZpbmVkIiknLCB0cnVlLCAnVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbigibnVsbCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oe30pJywg
dHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJr
aXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oNDIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oSW5maW5pdHkpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsK
LXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oLUluZmluaXR5KScsIHRy
dWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Ci10ZXN0KCduZXcgd2Via2l0
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKGVtcHR5RnVuY3Rpb24pJywgdHJ1ZSwgJ1R5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKKy8vIDEgQXJndW1lbnQgKG5ldyB3ZWJraXRQZWVy
Q29ubmVjdGlvbjAwIHJlcXVpcmVzIGF0IGxlYXN0IDIgYXJndW1lbnRzKS4KK3Rlc3QoJ25ldyB3
ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOIDIwMy4wLjExMy4yOjI0NzgiKScsIHRydWUsICdU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNv
bm5lY3Rpb24wMCgiU1RVTiByZWxheS5leGFtcGxlLm5ldDozNDc4IiknLCB0cnVlLCAnVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0
aW9uMDAoIlNUVU4gZXhhbXBsZS5uZXQiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2gg
YXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgMjAz
LjAuMTEzLjI6MjQ3OCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMn
KTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyByZWxheS5leGFtcGxl
Lm5ldDozNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwor
dGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIGV4YW1wbGUubmV0IiknLCB0
cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtp
dFBlZXJDb25uZWN0aW9uMDAoIlRVUk4gMjAzLjAuMTEzLjI6MjQ3OCIpJywgdHJ1ZSwgJ1R5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwKCJUVVJOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6
IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24w
MCgiVFVSTiBleGFtcGxlLm5ldCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyAyMDMuMC4x
MTMuMjoyNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwor
dGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIHJlbGF5LmV4YW1wbGUubmV0
OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0
KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTlMgZXhhbXBsZS5uZXQiKScsIHRydWUs
ICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVl
ckNvbm5lY3Rpb24wMCgiVFVSTiBOT05FIiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIE5P
TkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCdu
ZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTiBOT05FIiknLCB0cnVlLCAnVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9u
MDAoIlNUVU5TIE5PTkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
Jyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgidW5kZWZpbmVkIiknLCB0cnVl
LCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBl
ZXJDb25uZWN0aW9uMDAoIm51bGwiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCh7fSknLCB0cnVlLCAn
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoNDIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMn
KTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKEluZmluaXR5KScsIHRydWUsICdU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNv
bm5lY3Rpb24wMCgtSW5maW5pdHkpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKGVtcHR5RnVuY3Rpb24p
JywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKIAogLy8yIEFyZ3Vt
ZW50Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOIDIwMy4w
LjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiByZWxheS5leGFtcGxlLm5ldDozNDc4IixlbXB0
eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oIlNUVU4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJyxmYWxzZSk7Ci10ZXN0KCdu
ZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyAyMDMuMC4xMTMuMjoyNDc4
IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb24oIlNUVU5TIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiLGVtcHR5RnVuY3Rpb24p
JywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RV
TlMgZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtp
dERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiAyMDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1
bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oIlRVUk4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7
Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIGV4YW1wbGUu
bmV0IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlRVUk5TIDIwMy4wLjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pJywg
ZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMg
cmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCdu
ZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyBleGFtcGxlLm5ldCIsZW1w
dHlGdW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uKCJUVVJOIE5PTkUiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdl
YmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgTk9ORSIsZW1wdHlGdW5jdGlvbikn
LGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU4g
Tk9ORSIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBOT05FIixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRl
c3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4gTk9ORSIsdW5kZWZp
bmVkKScsICB0cnVlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24o
IlRVUk5TIE5PTkUiLHt9KScsIHRydWUpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbigiU1RVTiBOT05FIiw0MiknLCAgdHJ1ZSk7Ci10ZXN0KCduZXcgd2Via2l0RGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyBOT05FIixJbmZpbml0eSknLCB0cnVlKTsKLXRl
c3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIE5PTkUiLC1JbmZp
bml0eSknLCB0cnVlKTsKLQotCit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RV
TiAyMDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3
ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiLGVtcHR5
RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNU
VU4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJyxmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0
UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbikn
LCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgcmVsYXku
ZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Vi
a2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJywg
ZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk4gMjAzLjAuMTEz
LjI6MjQ3OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNv
bm5lY3Rpb24wMCgiVFVSTiByZWxheS5leGFtcGxlLm5ldDozNDc4IixlbXB0eUZ1bmN0aW9uKScs
IGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIGV4YW1wbGUu
bmV0IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwKCJUVVJOUyAyMDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsK
K3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyByZWxheS5leGFtcGxlLm5l
dDozNDc4IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29u
bmVjdGlvbjAwKCJUVVJOUyBleGFtcGxlLm5ldCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0
ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiBOT05FIixlbXB0eUZ1bmN0aW9u
KScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyBOT05F
IixlbXB0eUZ1bmN0aW9uKScsZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9u
MDAoIlNUVU4gTk9ORSIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0
UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgTk9ORSIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0
ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiBOT05FIix1bmRlZmluZWQpJywg
IHRydWUpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIE5PTkUiLHt9
KScsIHRydWUpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU4gTk9ORSIs
NDIpJywgIHRydWUpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIE5P
TkUiLEluZmluaXR5KScsIHRydWUpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAo
IlNUVU5TIE5PTkUiLC1JbmZpbml0eSknLCB0cnVlKTsKIAogd2luZG93LmpzVGVzdElzQXN5bmMg
PSBmYWxzZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyaXB0
LXRlc3RzL3BlZXJjb25uZWN0aW9uLXJlbW92ZXN0cmVhbS5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLXJlbW92ZXN0cmVhbS5qcwpp
bmRleCA0Nzc3ZDg0MzNjYjA0YjZiOThiMTMzY2EwOTE2ZDY2NGQzYTllMWUxLi42NjdlOGE4YzBm
ZDdkZjdmNjU1ZmQ0Mjc0MjQxNjliOGZjNmRiOTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1yZW1vdmVzdHJlYW0u
anMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNv
bm5lY3Rpb24tcmVtb3Zlc3RyZWFtLmpzCkBAIC0xLDUwICsxLDE1IEBACi1kZXNjcmlwdGlvbigi
VGVzdHMgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpyZW1vdmVTdHJlYW0oKS4iKTsKLQotdmFy
IHBjID0gbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiBzb21lLnNlcnZl
ci5jb20iLCBmdW5jdGlvbigpIHt9KTsKLQotdHJ5IHsKLSAgICBwYy5yZW1vdmVTdHJlYW0oKTsK
LX0gY2F0Y2goZSkgewotICAgIHRlc3RQYXNzZWQoJ3BjLnJlbW92ZVN0cmVhbSgpIHRocmV3ICcg
KyBlKTsKLX0KLQotdHJ5IHsKLSAgICBwYy5yZW1vdmVTdHJlYW0odW5kZWZpbmVkKTsKLX0gY2F0
Y2goZSkgewotICAgIHRlc3RQYXNzZWQoJ3BjLnJlbW92ZVN0cmVhbSh1bmRlZmluZWQpIHRocmV3
ICcgKyBlKTsKLX0KLQotdHJ5IHsKLSAgICBwYy5yZW1vdmVTdHJlYW0obnVsbCk7Ci19IGNhdGNo
KGUpIHsKLSAgICB0ZXN0UGFzc2VkKCdwYy5yZW1vdmVTdHJlYW0obnVsbCkgdGhyZXcgJyArIGUp
OwotfQotCi10cnkgewotICAgIHBjLnJlbW92ZVN0cmVhbShuZXcgQXJyYXkoKSk7Ci19IGNhdGNo
KGUpIHsKLSAgICB0ZXN0UGFzc2VkKCdwYy5yZW1vdmVTdHJlYW0obmV3IEFycmF5KCkpIHRocmV3
ICcgKyBlKTsKLX0KLXRyeSB7Ci0gICAgcGMucmVtb3ZlU3RyZWFtKHt9KTsKLX0gY2F0Y2goZSkg
ewotICAgIHRlc3RQYXNzZWQoJ3BjLnJlbW92ZVN0cmVhbSh7fSkgdGhyZXcnICsgZSk7Ci19Ci10
cnkgewotICAgIHBjLnJlbW92ZVN0cmVhbSg0Mik7Ci19IGNhdGNoKGUpIHsKLSAgICB0ZXN0UGFz
c2VkKCdwYy5yZW1vdmVTdHJlYW0oNDIpIHRocmV3JyArIGUpOwotfQotdHJ5IHsKLSAgICBwYy5y
ZW1vdmVTdHJlYW0oSW5maW5pdHkpOwotfSBjYXRjaChlKSB7Ci0gICAgdGVzdFBhc3NlZCgncGMu
cmVtb3ZlU3RyZWFtKEluZmluaXR5KSB0aHJldycgKyBlKTsKLX0KLXRyeSB7Ci0gICAgcGMucmVt
b3ZlU3RyZWFtKC1JbmZpbml0eSk7Ci19IGNhdGNoKGUpIHsKLSAgICB0ZXN0UGFzc2VkKCdwYy5y
ZW1vdmVTdHJlYW0oLUluZmluaXR5KSB0aHJldycgKyBlKTsKLX0KK2Rlc2NyaXB0aW9uKCJUZXN0
cyBQZWVyQ29ubmVjdGlvbjAwOjpyZW1vdmVTdHJlYW0oKS4iKTsKKwordmFyIHBjID0gbmV3IHdl
YmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU4gc29tZS5zZXJ2ZXIuY29tIiwgZnVuY3Rpb24oKSB7
fSk7CisKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJlYW0oKTsnKTsKK3Nob3VsZFRocm93KCdw
Yy5yZW1vdmVTdHJlYW0odW5kZWZpbmVkKTsnKTsKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJl
YW0obnVsbCk7Jyk7CitzaG91bGRUaHJvdygncGMucmVtb3ZlU3RyZWFtKG5ldyBBcnJheSgpKTsn
KTsKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJlYW0oe30pOycpOworc2hvdWxkVGhyb3coJ3Bj
LnJlbW92ZVN0cmVhbSg0Mik7Jyk7CitzaG91bGRUaHJvdygncGMucmVtb3ZlU3RyZWFtKEluZmlu
aXR5KTsnKTsKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJlYW0oLUluZmluaXR5KTsnKTsKIAog
d2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1
bmN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
ZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBl
NGFmZTEyNmM4YzU1ZjQzOTYzMWU2ZjRkMzliMzA5MmI5NTM3YTlmLi5hOWM4YWY2OGJhZDY1M2Vm
ZTU5MzEzNTc5ZGMyYjBiOTM2YzYxMTRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vY2Fs
bC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0xOCw3ICsxOCw2
IEBAIFBBU1MgSW50MTZBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IERPTSBvYmpl
Y3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhCiBQQVNTIEludDMyQXJyYXkoKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQg
YXMgYSBmdW5jdGlvbi4uCiBQQVNTIEludDhBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IERPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9u
Li4KIFBBU1MgTWVzc2FnZUNoYW5uZWwoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBET00g
b2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4uCi1QQVNT
IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IERPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9u
Li4KIFNLSVAgU2hhcmVkV29ya2VyIGlzIG5vdCBpbXBsZW1lbnRlZC4KIFBBU1MgVWludDE2QXJy
YXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNh
bm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4uCiBQQVNTIFVpbnQzMkFycmF5KCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2Fs
bGVkIGFzIGEgZnVuY3Rpb24uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMt
YS1mdW5jdGlvbi1leHBlY3RlZC50eHQKaW5kZXggMjRjMmRmY2M0MTE0MTkwMmUzODQ5NzhlZjU4
Y2YwMjQzZjc2NGMwNS4uOTAzZDU0N2ZkM2I0OGI1ZjYzNGJmNjhiYjFlMjk3NzczY2RiMWRiNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL2NhbGwtYS1jb25z
dHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC0xOCw3ICsxOCw2IEBAIFBBU1MgSW50MTZBcnJheSgpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6ICdbb2JqZWN0IEludDE2QXJyYXlDb25zdHJ1Y3Rvcl0nIGlzCiBQQVNTIElu
dDMyQXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBJbnQzMkFycmF5
Q29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnSW50MzJBcnJheSgp
JykuCiBQQVNTIEludDhBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0
IEludDhBcnJheUNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ0lu
dDhBcnJheSgpJykuCiBQQVNTIE1lc3NhZ2VDaGFubmVsKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogJ1tvYmplY3QgTWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1bmN0
aW9uIChldmFsdWF0aW5nICdNZXNzYWdlQ2hhbm5lbCgpJykuCi1QQVNTIHdlYmtpdERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2
YWx1YXRpbmcgJ3dlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigpJykuCiBQQVNTIFNoYXJl
ZFdvcmtlcigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IFNoYXJlZFdvcmtl
ckNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ1NoYXJlZFdvcmtl
cigpJykuCiBQQVNTIFVpbnQxNkFycmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tv
YmplY3QgVWludDE2QXJyYXlDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1bmN0aW9uIChldmFsdWF0
aW5nICdVaW50MTZBcnJheSgpJykuCiBQQVNTIFVpbnQzMkFycmF5KCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogJ1tvYmplY3QgVWludDMyQXJyYXlDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1
bmN0aW9uIChldmFsdWF0aW5nICdVaW50MzJBcnJheSgpJykuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMt
ZXhwZWN0ZWQudHh0CmluZGV4IDgzOGUwODg3Y2NkMzY1Mzg4YmUwOTcyYmUyYmQxNzY1ZmRlNmU1
MDQuLmRjMjA3MzdkYTQwMTdmNmM2Mjc3Yjc3YjY3NTZiNTgzZmY3YzZiMWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CkBAIC0zNDIsNyArMzQyLDYgQEAgUEFTUyBYUGF0aEV2
YWx1YXRvci50b1N0cmluZygpIGlzICdbb2JqZWN0IFhQYXRoRXZhbHVhdG9yQ29uc3RydWN0b3Jd
JwogUEFTUyBYUGF0aEV4Y2VwdGlvbi50b1N0cmluZygpIGlzICdbb2JqZWN0IFhQYXRoRXhjZXB0
aW9uQ29uc3RydWN0b3JdJwogUEFTUyBYUGF0aFJlc3VsdC50b1N0cmluZygpIGlzICdbb2JqZWN0
IFhQYXRoUmVzdWx0Q29uc3RydWN0b3JdJwogUEFTUyBYU0xUUHJvY2Vzc29yLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgWFNMVFByb2Nlc3NvckNvbnN0cnVjdG9yXScKLUZBSUwgd2Via2l0RGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3Qgd2Via2l0RGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uQ29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBEZXByZWNhdGVk
UGVlckNvbm5lY3Rpb25Db25zdHJ1Y3Rvcl0uCiBGQUlMIHdlYmtpdE1lZGlhU3RyZWFtLnRvU3Ry
aW5nKCkgc2hvdWxkIGJlIFtvYmplY3Qgd2Via2l0TWVkaWFTdHJlYW1Db25zdHJ1Y3Rvcl0uIFdh
cyBbb2JqZWN0IE1lZGlhU3RyZWFtQ29uc3RydWN0b3JdLgogRkFJTCB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3Qgd2Via2l0UGVlckNvbm5lY3Rpb24w
MENvbnN0cnVjdG9yXS4gV2FzIFtvYmplY3QgUGVlckNvbm5lY3Rpb24wMENvbnN0cnVjdG9yXS4K
IEZBSUwgd2Via2l0VVJMLnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3Qgd2Via2l0VVJMQ29u
c3RydWN0b3JdLiBXYXMgW29iamVjdCBVUkxDb25zdHJ1Y3Rvcl0uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVu
Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL2Nh
bGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA3MmI0MTMx
YWY5MjBmZWY0ZGVhNmIxNDViODVlOGM3OWQyMjJjMmM1Li5lYTU0NWQwNTIyNDU0NjVlZGUyYjYx
MDhlMGZkYTNhMWQzNjk5NDFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
ZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3It
YXMtYS1mdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTE4LDcgKzE4LDYgQEAgUEFTUyBJbnQxNkFy
cmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tvYmplY3QgSW50MTZBcnJheUNvbnN0
cnVjdG9yXScgaXMKIFBBU1MgSW50MzJBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
ICdbb2JqZWN0IEludDMyQXJyYXlDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1bmN0aW9uIChldmFs
dWF0aW5nICdJbnQzMkFycmF5KCknKS4KIFBBU1MgSW50OEFycmF5KCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogJ1tvYmplY3QgSW50OEFycmF5Q29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5j
dGlvbiAoZXZhbHVhdGluZyAnSW50OEFycmF5KCknKS4KIFBBU1MgTWVzc2FnZUNoYW5uZWwoKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBNZXNzYWdlQ2hhbm5lbENvbnN0cnVj
dG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ01lc3NhZ2VDaGFubmVsKCknKS4K
LVNLSVAgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZC4K
IFBBU1MgU2hhcmVkV29ya2VyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tvYmplY3Qg
U2hhcmVkV29ya2VyQ29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAn
U2hhcmVkV29ya2VyKCknKS4KIFBBU1MgVWludDE2QXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiAnW29iamVjdCBVaW50MTZBcnJheUNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rp
b24gKGV2YWx1YXRpbmcgJ1VpbnQxNkFycmF5KCknKS4KIFBBU1MgVWludDMyQXJyYXkoKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBVaW50MzJBcnJheUNvbnN0cnVjdG9yXScg
aXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ1VpbnQzMkFycmF5KCknKS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154576</attachid>
            <date>2012-07-26 01:39:52 -0700</date>
            <delta_ts>2012-07-26 03:34:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92106-20120726103940.patch</filename>
            <type>text/plain</type>
            <size>107102</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Y3NDRhZjQzYWRkNDQ2
ZjkyYzViNDcxNzIxMmQ5ZDAzYmFlYjQxZC4uN2FiZTg5NjQ0ZDM3M2Q1YTdlMGE0Yzg4MDhiM2M1
OGE4YzMxMDRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA3LTI0ICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFt
IEFQSTogUmVtb3ZlIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxMDYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSB3ZSBhcmUgZ2V0dGluZyByZWFkeSB0
byBhZGQgYW4gdXBkYXRlZCBQZWVyQ29ubmVjdGlvbgorICAgICAgICB0aGUgb2xkIERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbiB3aWxsIGhhdmUgdG8gZ28uCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCBhbmQgb2xkIHRlc3RzIGNvbnZlcnRlZCB0byB1c2UgUGVlckNvbm5lY3Rpb24wMC4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uY3Bw
OiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb24uaWRsOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJhY2suaDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBQ
bGF0Zm9ybUJsYWNrQmVycnkuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6Cisg
ICAgICAgICogVXNlSlNDLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkN1c3RvbS5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmg6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L2JsYWNrYmVycnkvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uSGFuZGxlci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9EZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWwuaDogUmVtb3ZlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
SGFuZGxlci5jcHA6IFJlbW92ZWQuCisKIDIwMTItMDctMjUgIFplbm8gQWxiaXNzZXIgIDx6ZW5v
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXSzJdIERpc2FibGUgQ29weVRvVGV4dHVyZSBm
b3IgR3JhcGhpY3NTdXJmYWNlTWFjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyOGI2OWUzYTU0
YTVmNTJmMTljNTI5NzE3M2JlMGI3NGViOWYyNWQxLi42YzA4YTg3NGJlNDBlYWE1YjIwYzc5NTQz
ZGM4NTMxNjExNzZjOGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTg5LDcgKzE4OSw2IEBA
IFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXN1bHRD
YWxsYmFjay5pZGwKICAgICBNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5pZGwKIAot
ICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmlkbAogICAg
IE1vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0uaWRsCiAgICAgTW9kdWxl
cy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL0lj
ZUNhbmRpZGF0ZS5pZGwKQEAgLTIwNiw3ICsyMDUsNiBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
ay5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaWRsCiAgICAg
TW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRsCi0gICAgTW9kdWxlcy9t
ZWRpYXN0cmVhbS9TaWduYWxpbmdDYWxsYmFjay5pZGwKIAogICAgIE1vZHVsZXMvbmV0d29ya2lu
Zm8vTmF2aWdhdG9yTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbAogICAgIE1vZHVsZXMvbmV0d29y
a2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtODEzLDcgKzgxMSw2IEBAIFNFVChX
ZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL2ludGVudHMvSW50ZW50UmVxdWVzdC5jcHAKICAg
ICBNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5jcHAKIAotICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcAogICAgIE1vZHVsZXMvbWVkaWFz
dHJlYW0vSWNlQ2FuZGlkYXRlLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRp
YVN0cmVhbS5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYzUxNzdjMDJlNGUyZDIzYWYwNzkyMTk1ZWZh
Y2RhYjkxNWY2OTk5NS4uMDcwNGE4NTM1YmFiNzUxOGNhNjJmZmEwNGZkNWYxZDhiNGQxMTVhYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMTAsOCArMTEwLDYgQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGF0YVZpZXcu
aCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RlZGljYXRlZFdvcmtlckNvbnRleHQuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oIFwK
LQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcCBc
Ci0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlTW90aW9uRXZlbnQuY3BwIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlTW90aW9uRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKQEAgLTUwNSw4ICs1MDMs
NiBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNTaGFyZWRXb3JrZXJDb250ZXh0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTaGFy
ZWRXb3JrZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU2hhcmVkV29ya2VyLmgg
XAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTaWduYWxpbmdDYWxsYmFjay5jcHAgXAotCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTaWduYWxpbmdDYWxsYmFjay5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU291cmNlQnVmZmVyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1NvdXJjZUJ1ZmZlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU291cmNlQnVm
ZmVyTGlzdC5jcHAgXApAQCAtNzAyLDcgKzY5OCw2IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAog
CSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRs
IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbCBcCiAJ
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsIFwKLQkk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmlk
bCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3RyZWFt
LmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbGxiYWNrLmlkbCBc
CiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0ZS5pZGwgXApAQCAt
NzE5LDcgKzcxNCw2IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsIFwKIAkk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRsIFwKLQkk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFsaW5nQ2FsbGJhY2suaWRsIFwKIAkk
KFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKIAkkKFdl
YkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsIFwKIAkk
KFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2Fs
bGJhY2suaWRsIFwKQEAgLTExNzUsOCArMTE2OSw2IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3Qu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxp
c3QuaCBcCi0JU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb24uY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0Rl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL0ljZUNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vSWNlQ2FuZGlkYXRlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9JY2VDYW5kaWRhdGUuaCBcCkBAIC0xMjA1LDcgKzExOTcsNiBAQCB3ZWJjb3JlX21vZHVsZXNf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29u
bmVjdGlvbjAwLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lv
bkRlc2NyaXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9T
ZXNzaW9uRGVzY3JpcHRpb24uaCBcCi0JU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9TaWduYWxpbmdDYWxsYmFjay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1VzZXJNZWRpYUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1VzZXJNZWRpYUNvbnRyb2xsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9Vc2VyTWVkaWFDb250cm9sbGVyLmNwcCBcCkBAIC0xNDMzLDcgKzE0MjQsNiBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3Jh
cHBlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RhdGFWaWV3Q3VzdG9tLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0
Q3VzdG9tLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb25DdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rl
dmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgXApAQCAtMzUzMyw4ICszNTIzLDYg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRU
ZXN0U3VwcG9ydC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9HYW1lcGFkRGV2
aWNlTGludXguY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9HYW1lcGFkRGV2
aWNlTGludXguaCBcCi0JU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmggXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0ZURlc2NyaXB0b3Iu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9JY2VDYW5kaWRhdGVE
ZXNjcmlwdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0ljZU9w
dGlvbnMuY3BwIFwKQEAgLTM1NTIsNyArMzU0MCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXJDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBcCi0JU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bkhhbmRsZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvTWVkaWFTdHJlYW1DZW50ZXJHU3RyZWFtZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvTWVkaWFTdHJlYW1DZW50ZXJHU3RyZWFtZXIu
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2Nr
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RP
TVdpbmRvd01lZGlhU3RyZWFtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vRE9NV2luZG93TWVkaWFTdHJlYW0uaWRsCmluZGV4IDk3MGQxMDY0NDMxNWFjMTcxM2Q2ODAw
NjJmOGE5MzExOGFmMTM5MTcuLjc0MmE2MjQ2MzJlNjljMDZmMDJmMDI1MjQxMmJiYTI3M2IyYWY1
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2lu
ZG93TWVkaWFTdHJlYW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vRE9NV2luZG93TWVkaWFTdHJlYW0uaWRsCkBAIC0zMCw3ICszMCw2IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCiAgICAgICAgIFN1cHBsZW1l
bnRhbD1ET01XaW5kb3cKICAgICBdIERPTVdpbmRvd01lZGlhU3RyZWFtIHsKLSAgICAgICAgYXR0
cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkNvbnN0
cnVjdG9yIHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjsKICAgICAgICAgYXR0cmlidXRl
IFtWOEVuYWJsZWRBdFJ1bnRpbWVdIE1lZGlhU3RyZWFtQ29uc3RydWN0b3Igd2Via2l0TWVkaWFT
dHJlYW07CiAgICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBQZWVyQ29ubmVj
dGlvbjAwQ29uc3RydWN0b3Igd2Via2l0UGVlckNvbm5lY3Rpb24wMDsKICAgICAgICAgYXR0cmli
dXRlIFNlc3Npb25EZXNjcmlwdGlvbkNvbnN0cnVjdG9yIFNlc3Npb25EZXNjcmlwdGlvbjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OWQwNDY5MDQ1NzQ1YzE5Yzk1ZjQzY2RmYTZkNjcwOTY3YzVhMTExZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSwzNzcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEVyaWNzc29uIEFCLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKLQotI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJNZWRpYVN0cmVhbUV2
ZW50LmgiCi0jaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCi0jaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgotI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotUGFzc1JlZlB0cjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+IERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgUGFzc1JlZlB0cjxTaWduYWxpbmdD
YWxsYmFjaz4gc2lnbmFsaW5nQ2FsbGJhY2spCi17Ci0gICAgUmVmUHRyPERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbj4gY29ubmVjdGlvbiA9IGFkb3B0UmVmKG5ldyBEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oY29udGV4dCwgc2VydmVyQ29uZmlndXJhdGlvbiwgc2lnbmFsaW5nQ2FsbGJhY2spKTsK
LSAgICBjb25uZWN0aW9uLT5zZXRQZW5kaW5nQWN0aXZpdHkoY29ubmVjdGlvbi5nZXQoKSk7Ci0g
ICAgY29ubmVjdGlvbi0+c2NoZWR1bGVJbml0aWFsTmVnb3RpYXRpb24oKTsKLSAgICBjb25uZWN0
aW9uLT5zdXNwZW5kSWZOZWVkZWQoKTsKLQotICAgIHJldHVybiBjb25uZWN0aW9uLnJlbGVhc2Uo
KTsKLX0KLQotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpEZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJD
b25maWd1cmF0aW9uLCBQYXNzUmVmUHRyPFNpZ25hbGluZ0NhbGxiYWNrPiBzaWduYWxpbmdDYWxs
YmFjaykKLSAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQotICAgICwgbV9zaWdu
YWxpbmdDYWxsYmFjayhzaWduYWxpbmdDYWxsYmFjaykKLSAgICAsIG1fcmVhZHlTdGF0ZShORVcp
Ci0gICAgLCBtX2ljZVN0YXJ0ZWQoZmFsc2UpCi0gICAgLCBtX2xvY2FsU3RyZWFtcyhNZWRpYVN0
cmVhbUxpc3Q6OmNyZWF0ZSgpKQotICAgICwgbV9yZW1vdGVTdHJlYW1zKE1lZGlhU3RyZWFtTGlz
dDo6Y3JlYXRlKCkpCi0gICAgLCBtX2luaXRpYWxOZWdvdGlhdGlvblRpbWVyKHRoaXMsICZEZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb246OmluaXRpYWxOZWdvdGlhdGlvblRpbWVyRmlyZWQpCi0gICAg
LCBtX3N0cmVhbUNoYW5nZVRpbWVyKHRoaXMsICZEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnN0
cmVhbUNoYW5nZVRpbWVyRmlyZWQpCi0gICAgLCBtX3JlYWR5U3RhdGVDaGFuZ2VUaW1lcih0aGlz
LCAmRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpyZWFkeVN0YXRlQ2hhbmdlVGltZXJGaXJlZCkK
LSAgICAsIG1fcGVlckhhbmRsZXIoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6Y3Jl
YXRlKHRoaXMsIHNlcnZlckNvbmZpZ3VyYXRpb24sIGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkt
PnRvU3RyaW5nKCkpKQotewotfQotCi1EZXByZWNhdGVkUGVlckNvbm5lY3Rpb246On5EZXByZWNh
dGVkUGVlckNvbm5lY3Rpb24oKQotewotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bjo6cHJvY2Vzc1NpZ25hbGluZ01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFeGNlcHRp
b25Db2RlJiBlYykKLXsKLSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkgewotICAgICAg
ICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKCFtZXNzYWdlLnN0YXJ0c1dpdGgoIlNEUFxuIikpCi0gICAgICAgIHJldHVybjsKLQotICAg
IFN0cmluZyBzZHAgPSBtZXNzYWdlLnN1YnN0cmluZyg0KTsKLQotICAgIGlmIChtX2ljZVN0YXJ0
ZWQpIHsKLSAgICAgICAgaWYgKG1fcGVlckhhbmRsZXIpCi0gICAgICAgICAgICBtX3BlZXJIYW5k
bGVyLT5wcm9jZXNzU0RQKHNkcCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAo
bV9wZWVySGFuZGxlcikKLSAgICAgICAgbV9wZWVySGFuZGxlci0+aGFuZGxlSW5pdGlhbE9mZmVy
KHNkcCk7Ci0KLSAgICBlbnN1cmVTdHJlYW1DaGFuZ2VTY2hlZHVsZWQoKTsKLSAgICBtX2ljZVN0
YXJ0ZWQgPSB0cnVlOwotICAgIHNjaGVkdWxlUmVhZHlTdGF0ZUNoYW5nZShORUdPVElBVElORyk7
Ci19Ci0KLURlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6UmVhZHlTdGF0ZSBEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb246OnJlYWR5U3RhdGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3JlYWR5U3Rh
dGU7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpzZW5kKGNvbnN0IFN0cmlu
ZyYgdGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBD
TE9TRUQpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIENTdHJpbmcgZGF0YSA9IHRleHQudXRmOCgpOwotICAgIHVuc2lnbmVk
IGxlbmd0aCA9IGRhdGEubGVuZ3RoKCk7Ci0KLSAgICBpZiAobGVuZ3RoID4gNTA0KSB7Ci0gICAg
ICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgaWYgKG1fcGVlckhhbmRsZXIpCi0gICAgICAgIG1fcGVlckhhbmRsZXItPnNlbmREYXRhU3Ry
ZWFtTWVzc2FnZShkYXRhLmRhdGEoKSwgbGVuZ3RoKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb246OmFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBwcnBTdHJlYW0s
IEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIFJlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtID0g
cHJwU3RyZWFtOwotICAgIGlmICghc3RyZWFtKSB7Ci0gICAgICAgIGVjID0gIFRZUEVfTUlTTUFU
Q0hfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9
PSBDTE9TRUQpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGlmIChtX2xvY2FsU3RyZWFtcy0+Y29udGFpbnMoc3RyZWFtLmdl
dCgpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9sb2NhbFN0cmVhbXMtPmFwcGVuZChzdHJl
YW0pOwotCi0gICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKiBzdHJlYW1EZXNjcmlwdG9yID0gc3Ry
ZWFtLT5kZXNjcmlwdG9yKCk7Ci0gICAgc2l6ZV90IGkgPSBtX3BlbmRpbmdSZW1vdmVTdHJlYW1z
LmZpbmQoc3RyZWFtRGVzY3JpcHRvcik7Ci0gICAgaWYgKGkgIT0gbm90Rm91bmQpIHsKLSAgICAg
ICAgbV9wZW5kaW5nUmVtb3ZlU3RyZWFtcy5yZW1vdmUoaSk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBtX3BlbmRpbmdBZGRTdHJlYW1zLmFwcGVuZChzdHJlYW1EZXNjcmlwdG9yKTsK
LSAgICBpZiAobV9pY2VTdGFydGVkKQotICAgICAgICBlbnN1cmVTdHJlYW1DaGFuZ2VTY2hlZHVs
ZWQoKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnJlbW92ZVN0cmVhbShN
ZWRpYVN0cmVhbSogc3RyZWFtLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAobV9yZWFk
eVN0YXRlID09IENMT1NFRCkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFzdHJlYW0pIHsKLSAgICAgICAgZWMgPSBU
WVBFX01JU01BVENIX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghbV9s
b2NhbFN0cmVhbXMtPmNvbnRhaW5zKHN0cmVhbSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1f
bG9jYWxTdHJlYW1zLT5yZW1vdmUoc3RyZWFtKTsKLQotICAgIE1lZGlhU3RyZWFtRGVzY3JpcHRv
ciogc3RyZWFtRGVzY3JpcHRvciA9IHN0cmVhbS0+ZGVzY3JpcHRvcigpOwotICAgIHNpemVfdCBp
ID0gbV9wZW5kaW5nQWRkU3RyZWFtcy5maW5kKHN0cmVhbURlc2NyaXB0b3IpOwotICAgIGlmIChp
ICE9IG5vdEZvdW5kKSB7Ci0gICAgICAgIG1fcGVuZGluZ0FkZFN0cmVhbXMucmVtb3ZlKGkpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbV9wZW5kaW5nUmVtb3ZlU3RyZWFtcy5hcHBl
bmQoc3RyZWFtRGVzY3JpcHRvcik7Ci0gICAgaWYgKG1faWNlU3RhcnRlZCkKLSAgICAgICAgZW5z
dXJlU3RyZWFtQ2hhbmdlU2NoZWR1bGVkKCk7Ci19Ci0KLU1lZGlhU3RyZWFtTGlzdCogRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uOjpsb2NhbFN0cmVhbXMoKSBjb25zdAotewotICAgIHJldHVybiBt
X2xvY2FsU3RyZWFtcy5nZXQoKTsKLX0KLQotTWVkaWFTdHJlYW1MaXN0KiBEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb246OnJlbW90ZVN0cmVhbXMoKSBjb25zdAotewotICAgIHJldHVybiBtX3JlbW90
ZVN0cmVhbXMuZ2V0KCk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpjbG9z
ZShFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkg
ewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgc3RvcCgpOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6ZGlk
Q29tcGxldGVJQ0VQcm9jZXNzaW5nKCkKLXsKLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7Ci0gICAgY2hhbmdlUmVhZHlTdGF0ZShBQ1RJVkUp
OwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6ZGlkR2VuZXJhdGVTRFAoY29u
c3QgU3RyaW5nJiBzZHApCi17Ci0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
aXNDb250ZXh0VGhyZWFkKCkpOwotICAgIG1fc2lnbmFsaW5nQ2FsbGJhY2stPmhhbmRsZUV2ZW50
KCJTRFBcbiIgKyBzZHAsIHRoaXMpOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bjo6ZGlkUmVjZWl2ZURhdGFTdHJlYW1NZXNzYWdlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBs
ZW5ndGgpCi17Ci0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNDb250ZXh0
VGhyZWFkKCkpOwotICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSA9IFN0cmluZzo6ZnJvbVVURjgo
ZGF0YSwgbGVuZ3RoKTsKLSAgICBkaXNwYXRjaEV2ZW50KE1lc3NhZ2VFdmVudDo6Y3JlYXRlKFBh
c3NPd25QdHI8TWVzc2FnZVBvcnRBcnJheT4oKSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVh
dGUobWVzc2FnZSkpKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmRpZEFk
ZFJlbW90ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gc3RyZWFtRGVz
Y3JpcHRvcikKLXsKLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0NvbnRl
eHRUaHJlYWQoKSk7Ci0KLSAgICBpZiAobV9yZWFkeVN0YXRlID09IENMT1NFRCkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgUmVmUHRyPE1lZGlhU3RyZWFtPiBzdHJlYW0gPSBNZWRpYVN0cmVhbTo6
Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3RyZWFtRGVzY3JpcHRvcik7Ci0gICAg
bV9yZW1vdGVTdHJlYW1zLT5hcHBlbmQoc3RyZWFtKTsKLQotICAgIGRpc3BhdGNoRXZlbnQoTWVk
aWFTdHJlYW1FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hZGRzdHJlYW1FdmVudCwgZmFsc2Us
IGZhbHNlLCBzdHJlYW0ucmVsZWFzZSgpKSk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uOjpkaWRSZW1vdmVSZW1vdGVTdHJlYW0oTWVkaWFTdHJlYW1EZXNjcmlwdG9yKiBzdHJl
YW1EZXNjcmlwdG9yKQotewotICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlz
Q29udGV4dFRocmVhZCgpKTsKLSAgICBBU1NFUlQoc3RyZWFtRGVzY3JpcHRvci0+b3duZXIoKSk7
Ci0KLSAgICBSZWZQdHI8TWVkaWFTdHJlYW0+IHN0cmVhbSA9IHN0YXRpY19jYXN0PE1lZGlhU3Ry
ZWFtKj4oc3RyZWFtRGVzY3JpcHRvci0+b3duZXIoKSk7Ci0gICAgc3RyZWFtLT5zdHJlYW1FbmRl
ZCgpOwotCi0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBDTE9TRUQpCi0gICAgICAgIHJldHVybjsK
LQotICAgIEFTU0VSVChtX3JlbW90ZVN0cmVhbXMtPmNvbnRhaW5zKHN0cmVhbS5nZXQoKSkpOwot
ICAgIG1fcmVtb3RlU3RyZWFtcy0+cmVtb3ZlKHN0cmVhbS5nZXQoKSk7Ci0KLSAgICBkaXNwYXRj
aEV2ZW50KE1lZGlhU3RyZWFtRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucmVtb3Zlc3RyZWFt
RXZlbnQsIGZhbHNlLCBmYWxzZSwgc3RyZWFtLnJlbGVhc2UoKSkpOwotfQotCi1jb25zdCBBdG9t
aWNTdHJpbmcmIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JEZXByZWNhdGVkUGVlckNv
bm5lY3Rpb247Ci19Ci0KLVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIERlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEFj
dGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotfQotCi12b2lkIERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbjo6c3RvcCgpCi17Ci0gICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBD
TE9TRUQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1faW5pdGlhbE5lZ290aWF0aW9uVGltZXIu
c3RvcCgpOwotICAgIG1fc3RyZWFtQ2hhbmdlVGltZXIuc3RvcCgpOwotICAgIG1fcmVhZHlTdGF0
ZUNoYW5nZVRpbWVyLnN0b3AoKTsKLQotICAgIGlmIChtX3BlZXJIYW5kbGVyKQotICAgICAgICBt
X3BlZXJIYW5kbGVyLT5zdG9wKCk7Ci0KLSAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsK
LSAgICBtX3BlZXJIYW5kbGVyLmNsZWFyKCk7Ci0KLSAgICBjaGFuZ2VSZWFkeVN0YXRlKENMT1NF
RCk7Ci19Ci0KLUV2ZW50VGFyZ2V0RGF0YSogRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpldmVu
dFRhcmdldERhdGEoKQotewotICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Ci19Ci0KLUV2
ZW50VGFyZ2V0RGF0YSogRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjplbnN1cmVFdmVudFRhcmdl
dERhdGEoKQotewotICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Ci19Ci0KLXZvaWQgRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uOjpzY2hlZHVsZUluaXRpYWxOZWdvdGlhdGlvbigpCi17Ci0g
ICAgQVNTRVJUKCFtX2luaXRpYWxOZWdvdGlhdGlvblRpbWVyLmlzQWN0aXZlKCkpOwotCi0gICAg
bV9pbml0aWFsTmVnb3RpYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7Ci19Ci0KLXZvaWQgRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uOjppbml0aWFsTmVnb3RpYXRpb25UaW1lckZpcmVkKFRpbWVy
PERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbj4qIHRpbWVyKQotewotICAgIEFTU0VSVF9VTlVTRUQo
dGltZXIsIHRpbWVyID09ICZtX2luaXRpYWxOZWdvdGlhdGlvblRpbWVyKTsKLQotICAgIGlmICht
X2ljZVN0YXJ0ZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIE1lZGlhU3RyZWFtRGVzY3JpcHRv
clZlY3RvciBwZW5kaW5nQWRkU3RyZWFtczsKLSAgICBtX3BlbmRpbmdBZGRTdHJlYW1zLnN3YXAo
cGVuZGluZ0FkZFN0cmVhbXMpOwotICAgIGlmIChtX3BlZXJIYW5kbGVyKQotICAgICAgICBtX3Bl
ZXJIYW5kbGVyLT5wcm9kdWNlSW5pdGlhbE9mZmVyKHBlbmRpbmdBZGRTdHJlYW1zKTsKLQotICAg
IG1faWNlU3RhcnRlZCA9IHRydWU7Ci0KLSAgICBjaGFuZ2VSZWFkeVN0YXRlKE5FR09USUFUSU5H
KTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmVuc3VyZVN0cmVhbUNoYW5n
ZVNjaGVkdWxlZCgpCi17Ci0gICAgaWYgKCFtX3N0cmVhbUNoYW5nZVRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fc3RyZWFtQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOwotfQotCi12b2lk
IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6c3RyZWFtQ2hhbmdlVGltZXJGaXJlZChUaW1lcjxE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+KiB0aW1lcikKLXsKLSAgICBBU1NFUlRfVU5VU0VEKHRp
bWVyLCB0aW1lciA9PSAmbV9zdHJlYW1DaGFuZ2VUaW1lcik7Ci0KLSAgICBpZiAoIW1fcGVuZGlu
Z0FkZFN0cmVhbXMuaXNFbXB0eSgpICYmICFtX3BlbmRpbmdSZW1vdmVTdHJlYW1zLmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9yIHBl
bmRpbmdBZGRTdHJlYW1zOwotICAgIE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciBwZW5kaW5n
UmVtb3ZlU3RyZWFtczsKLQotICAgIG1fcGVuZGluZ0FkZFN0cmVhbXMuc3dhcChwZW5kaW5nQWRk
U3RyZWFtcyk7Ci0gICAgbV9wZW5kaW5nUmVtb3ZlU3RyZWFtcy5zd2FwKHBlbmRpbmdSZW1vdmVT
dHJlYW1zKTsKLQotICAgIGlmIChtX3BlZXJIYW5kbGVyKQotICAgICAgICBtX3BlZXJIYW5kbGVy
LT5wcm9jZXNzUGVuZGluZ1N0cmVhbXMocGVuZGluZ0FkZFN0cmVhbXMsIHBlbmRpbmdSZW1vdmVT
dHJlYW1zKTsKLQotICAgIGlmICghcGVuZGluZ0FkZFN0cmVhbXMuaXNFbXB0eSgpKQotICAgICAg
ICBjaGFuZ2VSZWFkeVN0YXRlKE5FR09USUFUSU5HKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb246OnNjaGVkdWxlUmVhZHlTdGF0ZUNoYW5nZShSZWFkeVN0YXRlIHJlYWR5U3Rh
dGUpCi17Ci0gICAgbV9wZW5kaW5nUmVhZHlTdGF0ZXMuYXBwZW5kKHJlYWR5U3RhdGUpOwotICAg
IGlmICghbV9yZWFkeVN0YXRlQ2hhbmdlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZWFk
eVN0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOwotfQotCi12b2lkIERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbjo6cmVhZHlTdGF0ZUNoYW5nZVRpbWVyRmlyZWQoVGltZXI8RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uPiogdGltZXIpCi17Ci0gICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGlt
ZXIgPT0gJm1fcmVhZHlTdGF0ZUNoYW5nZVRpbWVyKTsKLQotICAgIFZlY3RvcjxSZWFkeVN0YXRl
PiBwZW5kaW5nUmVhZHlTdGF0ZXM7Ci0gICAgbV9wZW5kaW5nUmVhZHlTdGF0ZXMuc3dhcChwZW5k
aW5nUmVhZHlTdGF0ZXMpOwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwZW5kaW5nUmVh
ZHlTdGF0ZXMuc2l6ZSgpOyBpKyspCi0gICAgICAgIGNoYW5nZVJlYWR5U3RhdGUocGVuZGluZ1Jl
YWR5U3RhdGVzW2ldKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OmNoYW5n
ZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSByZWFkeVN0YXRlKQotewotICAgIGlmIChyZWFkeVN0YXRl
ID09IG1fcmVhZHlTdGF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9yZWFkeVN0YXRlID0g
cmVhZHlTdGF0ZTsKLQotICAgIHN3aXRjaCAobV9yZWFkeVN0YXRlKSB7Ci0gICAgY2FzZSBORVc6
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IE5FR09USUFUSU5HOgotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLmNvbm5lY3RpbmdFdmVudCwgZmFsc2UsIGZhbHNlKSk7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQUNUSVZFOgotICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLm9wZW5FdmVudCwgZmFsc2UsIGZhbHNlKSk7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgQ0xPU0VEOgotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBkaXNwYXRjaEV2ZW50
KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0YXRlY2hhbmdlRXZlbnQsIGZhbHNlLCBmYWxz
ZSkpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVE
SUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQ0NTI4NDhiN2IyNzk0ZmFlMjBkZjU5ZTA2ODJkNzk0Y2ExM2M0YzUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaAorKysgL2Rldi9u
dWxsCkBAIC0xLDEzOSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgRXJpY3Nzb24g
QUIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbl9oCi0jZGVmaW5lIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbl9oCi0KLSNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0j
aW5jbHVkZSAiRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5oIgotI2luY2x1ZGUgIkRl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaCIKLSNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgotI2luY2x1ZGUgIkV4Y2VwdGlvbkJhc2UuaCIKLSNpbmNsdWRlICJNZWRpYVN0cmVh
bS5oIgotI2luY2x1ZGUgIk1lZGlhU3RyZWFtTGlzdC5oIgotI2luY2x1ZGUgIlNpZ25hbGluZ0Nh
bGxiYWNrLmgiCi0jaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0j
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBO
b3RlOgotLy8gU0RQIHN0YW5kcyBmb3IgU2Vzc2lvbiBEZXNjcmlwdGlvbiBQcm90b2NvbCwgd2hp
Y2ggaXMgaW50ZW5kZWQgZm9yIGRlc2NyaWJpbmcKLS8vIG11bHRpbWVkaWEgc2Vzc2lvbnMgZm9y
IHRoZSBwdXJwb3NlcyBvZiBzZXNzaW9uIGFubm91bmNlbWVudCwgc2Vzc2lvbgotLy8gaW52aXRh
dGlvbiwgYW5kIG90aGVyIGZvcm1zIG9mIG11bHRpbWVkaWEgc2Vzc2lvbiBpbml0aWF0aW9uLgot
Ly8KLS8vIE1vcmUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGhlcmU6Ci0vLyBodHRwOi8vdG9v
bHMuaWV0Zi5vcmcvaHRtbC9yZmM0NTY2Ci0vLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtp
L1Nlc3Npb25fRGVzY3JpcHRpb25fUHJvdG9jb2wKLQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uPiwgcHVi
bGljIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQsIHB1YmxpYyBFdmVudFRh
cmdldCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgUGFzc1JlZlB0cjxTaWdu
YWxpbmdDYWxsYmFjaz4pOwotICAgIH5EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oKTsKLQotICAg
IHZvaWQgcHJvY2Vzc1NpZ25hbGluZ01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFeGNl
cHRpb25Db2RlJik7Ci0KLSAgICBSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdDsKLQotICAg
IHZvaWQgc2VuZChjb25zdCBTdHJpbmcmIHRleHQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lk
IGFkZFN0cmVhbShjb25zdCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiwgRXhjZXB0aW9uQ29kZSYp
OwotICAgIHZvaWQgcmVtb3ZlU3RyZWFtKE1lZGlhU3RyZWFtKiwgRXhjZXB0aW9uQ29kZSYpOwot
ICAgIE1lZGlhU3RyZWFtTGlzdCogbG9jYWxTdHJlYW1zKCkgY29uc3Q7Ci0gICAgTWVkaWFTdHJl
YW1MaXN0KiByZW1vdGVTdHJlYW1zKCkgY29uc3Q7Ci0gICAgdm9pZCBjbG9zZShFeGNlcHRpb25D
b2RlJik7Ci0KLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvbm5lY3Rpbmcp
OwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob3Blbik7Ci0gICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtZXNzYWdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKHN0YXRlY2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGFkZHN0cmVhbSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihyZW1vdmVzdHJlYW0pOwotCi0gICAgLy8gUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50Ci0g
ICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlSUNFUHJvY2Vzc2luZygpOwotICAgIHZpcnR1YWwg
dm9pZCBkaWRHZW5lcmF0ZVNEUChjb25zdCBTdHJpbmcmIHNkcCk7Ci0gICAgdmlydHVhbCB2b2lk
IGRpZFJlY2VpdmVEYXRhU3RyZWFtTWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVu
Z3RoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3RyZWFtKFBhc3NSZWZQdHI8TWVk
aWFTdHJlYW1EZXNjcmlwdG9yPik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZVJlbW90ZVN0
cmVhbShNZWRpYVN0cmVhbURlc2NyaXB0b3IqKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
U3RhdGUoUmVhZHlTdGF0ZSBzdGF0ZSkgeyBjaGFuZ2VSZWFkeVN0YXRlKHN0YXRlKTsgfQotCi0g
ICAgLy8gRXZlbnRUYXJnZXQKLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJm
YWNlTmFtZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwotCi0gICAgLy8gQWN0aXZlRE9NT2JqZWN0Ci0g
ICAgdmlydHVhbCB2b2lkIHN0b3AoKTsKLQotICAgIHVzaW5nIFJlZkNvdW50ZWQ8RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uPjo6cmVmOwotICAgIHVzaW5nIFJlZkNvdW50ZWQ8RGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uPjo6ZGVyZWY7Ci0KLXByaXZhdGU6Ci0gICAgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZp
Z3VyYXRpb24sIFBhc3NSZWZQdHI8U2lnbmFsaW5nQ2FsbGJhY2s+KTsKLQotICAgIC8vIEV2ZW50
VGFyZ2V0IGltcGxlbWVudGF0aW9uLgotICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVu
dFRhcmdldERhdGEoKTsKLSAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRU
YXJnZXREYXRhKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgeyByZWYoKTsg
fQotICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgeyBkZXJlZigpOyB9Ci0KLSAg
ICB2b2lkIHNjaGVkdWxlSW5pdGlhbE5lZ290aWF0aW9uKCk7Ci0gICAgdm9pZCBpbml0aWFsTmVn
b3RpYXRpb25UaW1lckZpcmVkKFRpbWVyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbj4qKTsKLSAg
ICB2b2lkIGVuc3VyZVN0cmVhbUNoYW5nZVNjaGVkdWxlZCgpOwotICAgIHZvaWQgc3RyZWFtQ2hh
bmdlVGltZXJGaXJlZChUaW1lcjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+Kik7Ci0gICAgdm9p
ZCBzY2hlZHVsZVJlYWR5U3RhdGVDaGFuZ2UoUmVhZHlTdGF0ZSk7Ci0gICAgdm9pZCByZWFkeVN0
YXRlQ2hhbmdlVGltZXJGaXJlZChUaW1lcjxEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+Kik7Ci0K
LSAgICB2b2lkIGNoYW5nZVJlYWR5U3RhdGUoUmVhZHlTdGF0ZSk7Ci0KLSAgICBSZWZQdHI8U2ln
bmFsaW5nQ2FsbGJhY2s+IG1fc2lnbmFsaW5nQ2FsbGJhY2s7Ci0KLSAgICBSZWFkeVN0YXRlIG1f
cmVhZHlTdGF0ZTsKLSAgICBib29sIG1faWNlU3RhcnRlZDsKLQotICAgIFJlZlB0cjxNZWRpYVN0
cmVhbUxpc3Q+IG1fbG9jYWxTdHJlYW1zOwotICAgIFJlZlB0cjxNZWRpYVN0cmVhbUxpc3Q+IG1f
cmVtb3RlU3RyZWFtczsKLQotICAgIC8vIEV2ZW50VGFyZ2V0IGltcGxlbWVudGF0aW9uLgotICAg
IEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKLQotICAgIFRpbWVyPERlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbj4gbV9pbml0aWFsTmVnb3RpYXRpb25UaW1lcjsKLSAgICBUaW1lcjxE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb24+IG1fc3RyZWFtQ2hhbmdlVGltZXI7Ci0gICAgVGltZXI8
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uPiBtX3JlYWR5U3RhdGVDaGFuZ2VUaW1lcjsKLQotICAg
IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciBtX3BlbmRpbmdBZGRTdHJlYW1zOwotICAgIE1l
ZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciBtX3BlbmRpbmdSZW1vdmVTdHJlYW1zOwotICAgIFZl
Y3RvcjxSZWFkeVN0YXRlPiBtX3BlbmRpbmdSZWFkeVN0YXRlczsKLQotICAgIE93blB0cjxEZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyPiBtX3BlZXJIYW5kbGVyOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2Vu
ZGlmIC8vIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbi5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bi5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxZDlkNTFmNTE3ZTJmZjc0OTdi
NGRlMTZhZjM3NzMxY2JmYTk2MDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24uaWRsCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotbW9kdWxlIHAycCB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRp
b25hbD1NRURJQV9TVFJFQU0sCi0gICAgICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICAgICAgQ29u
c3RydWN0b3JQYXJhbWV0ZXJzPTIsCi0gICAgICAgIENvbnN0cnVjdG9yKGluIERPTVN0cmluZyBz
ZXJ2ZXJDb25maWd1cmF0aW9uLCBpbiBbQ2FsbGJhY2tdIFNpZ25hbGluZ0NhbGxiYWNrIHNpZ25h
bGluZ0NhbGxiYWNrKSwKLSAgICAgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwK
LSAgICAgICAgSlNDdXN0b21Db25zdHJ1Y3RvciwKLSAgICAgICAgRXZlbnRUYXJnZXQKLSAgICBd
IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiB7Ci0gICAgICAgIHZvaWQgcHJvY2Vzc1NpZ25hbGlu
Z01lc3NhZ2UoaW4gRE9NU3RyaW5nIG1lc3NhZ2UpCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKLQotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBORVcgPSAwOwotICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBORUdPVElBVElORyA9IDE7Ci0gICAgICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IEFDVElWRSA9IDI7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENM
T1NFRCA9IDM7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCByZWFk
eVN0YXRlOwotCi0gICAgICAgIHZvaWQgc2VuZChpbiBET01TdHJpbmcgdGV4dCkKLSAgICAgICAg
ICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2
b2lkIGFkZFN0cmVhbShpbiBNZWRpYVN0cmVhbSBzdHJlYW0pCi0gICAgICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKLSAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCByZW1vdmVT
dHJlYW0oaW4gTWVkaWFTdHJlYW0gc3RyZWFtKQotICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7Ci0KLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtTGlzdCBsb2Nh
bFN0cmVhbXM7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVN0cmVhbUxpc3QgcmVt
b3RlU3RyZWFtczsKLQotICAgICAgICB2b2lkIGNsb3NlKCkKLSAgICAgICAgICAgIHJhaXNlcyhE
T01FeGNlcHRpb24pOwotCi0gICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY29ubmVj
dGluZzsKLSAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25vcGVuOwotICAgICAgICBh
dHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbm1lc3NhZ2U7Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9uc3RhdGVjaGFuZ2U7Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVy
IG9uYWRkc3RyZWFtOwotICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnJlbW92ZXN0
cmVhbTsKLQotICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKLSAgICAgICAgdm9pZCBh
ZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgdm9p
ZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsK
LSAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2ZW50KGluIEV2ZW50IGV2ZW50KQotICAgICAgICAg
ICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKLSAgICB9OwotCi19CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YWE2MmE2ZjVlZjI5MDBmZDk2NGZkOTNiODUxYjBl
MmQzMGRiZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9TaWduYWxpbmdDYWxsYmFjay5oCisr
KyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
Ci0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBTaWdu
YWxpbmdDYWxsYmFja19oCi0jZGVmaW5lIFNpZ25hbGluZ0NhbGxiYWNrX2gKLQotI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCi0KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjsKLQotY2xhc3Mg
U2lnbmFsaW5nQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxTaWduYWxpbmdDYWxsYmFjaz4g
ewotcHVibGljOgotICAgIHZpcnR1YWwgflNpZ25hbGluZ0NhbGxiYWNrKCkgeyB9Ci0gICAgdmly
dHVhbCBib29sIGhhbmRsZUV2ZW50KGNvbnN0IFN0cmluZyYsIERlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbiopID0gMDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCi0KLSNlbmRpZiAvLyBTaWduYWxpbmdDYWxsYmFja19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxi
YWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFsaW5nQ2Fs
bGJhY2suaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OWU0YjkyZjRhODg3Nzky
YzVmMWU1MmMxMTZhMjFjNTVhNGY2ZDdmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU2lnbmFs
aW5nQ2FsbGJhY2suaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
Ci0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotbW9kdWxlIHAycCB7Ci0KLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25h
bD1NRURJQV9TVFJFQU0sCi0gICAgICAgIENhbGxiYWNrCi0gICAgXSBTaWduYWxpbmdDYWxsYmFj
ayB7Ci0gICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gRE9NU3RyaW5nIG1lc3NhZ2UsIGlu
IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiBzb3VyY2UpOwotICAgIH07Ci0KLX0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCAyMDA0ODUxMGE4OTRjNTlmZmY5MGM1
YTYzZjdjOWExY2RhMzk3YzllLi4xYWU1ZmU2OTA3YTQ3Mzg0MDk5ZmFlYjBjNzljMmFmOWQxYWJi
YmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCkBAIC0yMzYsNyAr
MjM2LDYgQEAgRU5ESUYgKCkKIAogaWYgKEVOQUJMRV9NRURJQV9TVFJFQU0pCiAgICAgTElTVChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCi0gICAgICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL2JsYWNr
YmVycnkvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKICAgICAgICAgcGxhdGZv
cm0vbWVkaWFzdHJlYW0vYmxhY2tiZXJyeS9NZWRpYVN0cmVhbUNlbnRlckJsYWNrQmVycnkuY3Bw
CiAgICAgKQogRU5ESUYgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZs
LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYTlhNGYxMTIy
NzY2MmQzNzgzZDJhOTMyNDIyYmUzMDhjMmM2NzI0NS4uM2QwMDcwOWZmOWVlMDczYmY5NDFiNzI3
YWQ3ZmQ1YTZjZjQzMTQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTc5LDcgKzc5
LDYgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgIHBsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuY3BwCiAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3dl
YnAvV0VCUEltYWdlRGVjb2Rlci5jcHAKICAgcGxhdGZvcm0vbGludXgvR2FtZXBhZERldmljZUxp
bnV4LmNwcAotICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uSGFuZGxlci5jcHAKICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01l
ZGlhU3RyZWFtQ2VudGVyR1N0cmVhbWVyLmNwcAogICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29v
a2llSmFyU291cC5jcHAKICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdl
U291cC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCBjNGM5MDg4NDg4ZmU1ZmNmMGE0NmFmZmQ4YmRl
ODNkYzc4Nzc5YTY3Li4wMGYxYmUxMDI4ZWMxYTc5ZDJjZDBiY2ZlMGRiMDJmMzMxYzVhMWJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvVXNlSlNDLmNtYWtlCkBAIC00OSw3ICs0OSw2IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUwogICAgIGJpbmRpbmdzL2pzL0pTQ29vcmRpbmF0ZXNDdXN0b20uY3BwCiAgICAgYmluZGlu
Z3MvanMvSlNDdXN0b21Wb2lkQ2FsbGJhY2suY3BwCiAgICAgYmluZGluZ3MvanMvSlNDdXN0b21Y
UGF0aE5TUmVzb2x2ZXIuY3BwCi0gICAgYmluZGluZ3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTUZvcm1EYXRh
Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGRmN2NkMGE5MzVhM2M2ZjQ1ZTZkOGQyZjUy
MzI1NDMwOWQ4ZThjMmIuLjJiMWJmMTQzMzA4MjcwMDIxMTQyZWI3M2NmMWFjZjhmMTc1NzNkNzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTQzNSw4ICs0MzUsNiBAQAogICAgICAgICAgICAgJ3BsYXRm
b3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L21hYy9XZWJDb3JlVmlldy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tYWMvV2ViRm9udENh
Y2hlLmgnLAotICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuaCcsCi0gICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0v
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9JY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9JY2VPcHRpb25zLmNwcCcsCkBAIC00NTIs
OSArNDUwLDYgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVj
dGlvbjAwSGFuZGxlckNsaWVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVh
bS9TZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oJywKLSAgICAgICAg
ICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVyLmNwcCcsCi0gICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21p
dW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmNwcCcsCi0gICAgICAg
ICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uSGFuZGxlckludGVybmFsLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFt
L2Nocm9taXVtL01lZGlhU3RyZWFtQ2VudGVyQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9NZWRpYVN0cmVhbUNlbnRlckNocm9taXVtLmgn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1BlZXJDb25uZWN0
aW9uMDBIYW5kbGVyLmNwcCcsCkBAIC04MjgsNyArODIzLDYgQEAKICAgICAgICAgICAgICdNb2R1
bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaWRsJywKICAgICAgICAgICAgICdNb2R1
bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3RyZWFtLmlkbCcsCiAgICAgICAgICAgICAn
TW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzdHJlYW0vSWNlQ2FuZGlkYXRlLmlkbCcsCkBAIC04NDUsNyArODM5LDYgQEAKICAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5l
Y3Rpb24wMC5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRl
c2NyaXB0aW9uLmlkbCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9TaWduYWxp
bmdDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01X
aW5kb3dOb3RpZmljYXRpb25zLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsJywKQEAgLTE1NDQsOCArMTUzNyw2IEBACiAgICAgICAg
ICAgICAnTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCcsCiAgICAgICAgICAgICAn
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCcsCiAgICAgICAgICAgICAn
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmgnLAotICAgICAgICAgICAgJ01v
ZHVsZXMvbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uLmNwcCcsCi0gICAgICAg
ICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb24uaCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9JY2VDYWxsYmFjay5oJywKICAgICAgICAg
ICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL0ljZUNhbmRpZGF0ZS5jcHAnLAogICAgICAgICAgICAg
J01vZHVsZXMvbWVkaWFzdHJlYW0vSWNlQ2FuZGlkYXRlLmgnLApAQCAtMTU3NCw3ICsxNTY1LDYg
QEAKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uY3Bw
JywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbi5o
JywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1NpZ25hbGluZ0NhbGxiYWNrLmgn
LAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhQ2xpZW50LmgnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhQ29udHJvbGxlci5jcHAn
LAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhQ29udHJvbGxlci5o
JywKQEAgLTE5NzQsNyArMTk2NCw2IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01X
cmFwcGVyLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEYXRhVmlld0N1c3RvbS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1
c3RvbS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZXNrdG9wTm90
aWZpY2F0aW9uc0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNl
TW90aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0Rldmlj
ZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggYjY2ZDFh
ZTQ2MTNiMTkxNmQ0M2ZmNGQ2ZmY4MjIyOGFjNTg2YjFmYi4uNDAyMjAyNGY0MzAyMjI3OTVmMDI4
MWZjZGI3NTZmNDQ0NGU3ZjA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTE4Nyw3ICsxODcsNiBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgYm9vbCBwZWVyQ29ubmVjdGlvbkVuYWJsZWQoKSB7IHJl
dHVybiBpc01lZGlhU3RyZWFtRW5hYmxlZCAmJiBpc1BlZXJDb25uZWN0aW9uRW5hYmxlZDsgfQog
ICAgIHN0YXRpYyB2b2lkIHNldFBlZXJDb25uZWN0aW9uRW5hYmxlZChib29sIGlzRW5hYmxlZCkg
eyBpc1BlZXJDb25uZWN0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIHN0YXRpYyBib29s
IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkVuYWJsZWQoKSB7IHJldHVybiBwZWVyQ29u
bmVjdGlvbkVuYWJsZWQoKTsgfQogICAgIHN0YXRpYyBib29sIHdlYmtpdFBlZXJDb25uZWN0aW9u
MDBFbmFibGVkKCkgeyByZXR1cm4gcGVlckNvbm5lY3Rpb25FbmFibGVkKCk7IH0KICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDU2ZDVlZTdjMGI5MzQwNzJkNWIyMmIyYWE5YTllOTUyODQyNjEwNTUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25DdXN0b20uY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEVyaWNzc29uIEFCLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIkpTRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uLmgiCi0KLSNpbmNsdWRlICJDYWxsYmFja0Z1bmN0aW9uLmgiCi0jaW5jbHVkZSAiRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSAiSlNTaWduYWxpbmdDYWxsYmFjay5o
IgotI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTRGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uKEV4ZWNTdGF0ZSogZXhlYykKLXsKLSAgICBKU0RlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkNvbnN0cnVjdG9yKiBqc0NvbnN0cnVjdG9yID0gc3RhdGljX2Nhc3Q8SlNEZXByZWNh
dGVkUGVlckNvbm5lY3Rpb25Db25zdHJ1Y3Rvcio+KGV4ZWMtPmNhbGxlZSgpKTsKLSAgICBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0ganNDb25zdHJ1Y3Rvci0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1F
cnJvcihleGVjLCBjcmVhdGVSZWZlcmVuY2VFcnJvcihleGVjLCAiRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uIGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUiKSk7
Ci0KLSAgICBpZiAoZXhlYy0+YXJndW1lbnRDb3VudCgpIDwgMikKLSAgICAgICAgcmV0dXJuIHRo
cm93Vk1FcnJvcihleGVjLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihleGVjKSk7Ci0K
LSAgICBTdHJpbmcgc2VydmVyQ29uZmlndXJhdGlvbiA9IHVzdHJpbmdUb1N0cmluZyhleGVjLT5h
cmd1bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYykpOwotICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkp
OwotCi0gICAgUmVmUHRyPFNpZ25hbGluZ0NhbGxiYWNrPiBzaWduYWxpbmdDYWxsYmFjayA9IGNy
ZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTU2lnbmFsaW5nQ2FsbGJhY2s+KGV4ZWMsIHN0YXRp
Y19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwg
ZXhlYy0+YXJndW1lbnQoMSkpOwotICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkpOwotCi0gICAgUmVmUHRyPERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbj4gcGVlckNvbm5lY3Rpb24gPSBEZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb246OmNyZWF0ZShjb250ZXh0LCBzZXJ2ZXJDb25maWd1cmF0aW9uLCBzaWduYWxpbmdDYWxs
YmFjay5yZWxlYXNlKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoQ1JFQVRFX0RPTV9X
UkFQUEVSKGV4ZWMsIGpzQ29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpLCBEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb24sIHBlZXJDb25uZWN0aW9uLmdldCgpKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA3ZjI1ZDMwMmFiMzkxODA0ZTBjZjJmOGFm
NDE1NjI1MmI3MDIwZmI4Li4xNThmYjc2Y2M3Y2M0ODI3YjBjMDllYzc4ODVkMTBlMWM4NmViMmRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTUsNyArNSw2
IEBAIEJhdHRlcnlNYW5hZ2VyIGNvbmRpdGlvbmFsPUJBVFRFUllfU1RBVFVTCiBEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0IGNvbmRpdGlvbmFsPVdPUktFUlMKIERPTUFwcGxpY2F0aW9uQ2FjaGUKIERP
TVdpbmRvdwotRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVB
TQogRXZlbnRTb3VyY2UKIEZpbGVSZWFkZXIgY29uZGl0aW9uYWw9QkxPQgogRmlsZVdyaXRlciBj
b25kaXRpb25hbD1GSUxFX1NZU1RFTQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTM0ZGU1NmRkZGIwZjI2Yzdl
ZmUwODMyNTM5Zjg4MDg2ZDNlYmU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0RlcHJlY2F0
ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgRXJpY3Nzb24gQUIuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqICAgIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKLSAqICAgIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgRXJpY3Nz
b24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKLSAqICAgIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
Ci0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyX2gKLSNkZWZpbmUg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcl9oCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQotCi0jaW5jbHVkZSAiTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSA8d3Rm
L093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OwotCi0jaWYgUExBVEZPUk0oQ0hST01JVU0pCi1jbGFz
cyBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWw7Ci0jZW5kaWYKLQotY2xh
c3MgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcik7Ci0gICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uSGFuZGxlcj4gY3JlYXRlKERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJDbGllbnQqLCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24sIGNvbnN0IFN0cmlu
ZyYgdXNlcm5hbWUpOwotICAgIH5EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyKCk7Ci0K
LSAgICB2b2lkIHByb2R1Y2VJbml0aWFsT2ZmZXIoY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9y
VmVjdG9yJiBwZW5kaW5nQWRkU3RyZWFtcyk7Ci0gICAgdm9pZCBoYW5kbGVJbml0aWFsT2ZmZXIo
Y29uc3QgU3RyaW5nJiBzZHApOwotICAgIHZvaWQgcHJvY2Vzc1NEUChjb25zdCBTdHJpbmcmIHNk
cCk7Ci0gICAgdm9pZCBwcm9jZXNzUGVuZGluZ1N0cmVhbXMoY29uc3QgTWVkaWFTdHJlYW1EZXNj
cmlwdG9yVmVjdG9yJiBwZW5kaW5nQWRkU3RyZWFtcywgY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlw
dG9yVmVjdG9yJiBwZW5kaW5nUmVtb3ZlU3RyZWFtcyk7Ci0gICAgdm9pZCBzZW5kRGF0YVN0cmVh
bU1lc3NhZ2UoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCk7Ci0KLSAgICB2b2lkIHN0
b3AoKTsKLQotcHJpdmF0ZToKLSAgICBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyKERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqLCBjb25zdCBTdHJpbmcmIHNlcnZl
ckNvbmZpZ3VyYXRpb24sIGNvbnN0IFN0cmluZyYgdXNlcm5hbWUpOwotCi0jaWYgUExBVEZPUk0o
Q0hST01JVU0pCi0gICAgT3duUHRyPERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRl
cm5hbD4gbV9wcml2YXRlOwotI2VsaWYgVVNFKEdTVFJFQU1FUikKLSAgICBEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBtX2NsaWVudDsKLSNlbmRpZgotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2Vu
ZGlmIC8vIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vRGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4NmM3ZjA5ZWEwMmQyNzJkMzBiNTIyNTJhNzI0MmE1ZjM4YmEzMzg4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGll
bnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24u
Ci0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEVyaWNzc29uIG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCi0gKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudF9oCi0jZGVmaW5lIERlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnRfaAotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOwot
Ci1jbGFzcyBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50IHsKLXB1YmxpYzoK
LSAgICAvLyBOYW1lIGFuZCB2YWx1ZXMgb2YgdGhlIGVudW0gbXVzdCBtYXRjaCB0aGUgY29ycmVz
c3BvbmRpbmcgY29uc3RhbnRzIGluIHRoZSBQZWVyQ29ubmVjdGlvbi5pZGwgZmlsZS4KLSAgICBl
bnVtIFJlYWR5U3RhdGUgewotICAgICAgICBORVcgPSAwLAotICAgICAgICBORUdPVElBVElORyA9
IDEsCi0gICAgICAgIEFDVElWRSA9IDIsCi0gICAgICAgIENMT1NFRCA9IDMKLSAgICB9OwotCi0g
ICAgdmlydHVhbCB+RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCgpIHsgfQot
Ci0gICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlSUNFUHJvY2Vzc2luZygpID0gMDsKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkR2VuZXJhdGVTRFAoY29uc3QgU3RyaW5nJiBzZHApID0gMDsKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGFTdHJlYW1NZXNzYWdlKGNvbnN0IGNoYXIqIGRhdGEs
IHNpemVfdCBsZW5ndGgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3RyZWFt
KFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPikgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZW1vdmVSZW1vdGVTdHJlYW0oTWVkaWFTdHJlYW1EZXNjcmlwdG9yKikgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VTdGF0ZShSZWFkeVN0YXRlKSA9IDA7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0j
ZW5kaWYgLy8gRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9ibGFja2JlcnJ5L0RlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vYmxhY2tiZXJyeS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDZlM2Q1ODY2MzdjNGQ3YzMwZTE1MzY3
MTI1MzBlNGNmMjA2M2I1OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9ibGFja2JlcnJ5L0Rl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBFcmljc3NvbiBBQi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqCi0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgot
ICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBv
ZiBFcmljc3NvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcwot
ICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0g
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQotCi0jaW5jbHVkZSAiRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5oIgotCi0j
aW5jbHVkZSAiRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oIgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NPd25QdHI8RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlcj4gRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6Y3JlYXRlKERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJD
b25maWd1cmF0aW9uLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKQotewotICAgIHJldHVybiBhZG9w
dFB0cihuZXcgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcihjbGllbnQsIHNlcnZlckNv
bmZpZ3VyYXRpb24sIHVzZXJuYW1lKSk7Ci19Ci0KLS8vIEVtcHR5IGltcGxlbWVudGF0aW9ucyBm
b3IgcG9ydHMgdGhhdCBidWlsZCB3aXRoIE1FRElBX1NUUkVBTSBlbmFibGVkIGJ5IGRlZmF1bHQu
Ci1EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpEZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVyKERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqLCBjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmKQotewotfQotCi1EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25I
YW5kbGVyOjp+RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcigpCi17Ci19Ci0KLXZvaWQg
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6cHJvZHVjZUluaXRpYWxPZmZlcihjb25z
dCBNZWRpYVN0cmVhbURlc2NyaXB0b3JWZWN0b3ImKQotewotfQotCi12b2lkIERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmhhbmRsZUluaXRpYWxPZmZlcihjb25zdCBTdHJpbmcmKQot
ewotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnByb2Nlc3NTRFAo
Y29uc3QgU3RyaW5nJikKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5k
bGVyOjpwcm9jZXNzUGVuZGluZ1N0cmVhbXMoY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVj
dG9yJiwgY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9yJikKLXsKLX0KLQotdm9pZCBE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpzZW5kRGF0YVN0cmVhbU1lc3NhZ2UoY29u
c3QgY2hhciosIHNpemVfdCkKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25I
YW5kbGVyOjpzdG9wKCkKLXsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDEwZDVmMTdlMzk1NzllYmM2NzMwZGM1OWJhNWNiYzJjYjkwYTk3NjQuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
LSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29ubmVj
dGlvbkhhbmRsZXIuaCIKLQotI2luY2x1ZGUgIkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJDbGllbnQuaCIKLSNpbmNsdWRlICJEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50
ZXJuYWwuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzT3duUHRyPERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXI+IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmNy
ZWF0ZShEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0
IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1c2VybmFtZSkKLXsK
LSAgICByZXR1cm4gYWRvcHRQdHIobmV3IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIo
Y2xpZW50LCBzZXJ2ZXJDb25maWd1cmF0aW9uLCB1c2VybmFtZSkpOwotfQotCi1EZXByZWNhdGVk
UGVlckNvbm5lY3Rpb25IYW5kbGVyOjpEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyKERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5n
JiBzZXJ2ZXJDb25maWd1cmF0aW9uLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKQotICAgIDogbV9w
cml2YXRlKGFkb3B0UHRyKG5ldyBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJu
YWwoY2xpZW50LCBzZXJ2ZXJDb25maWd1cmF0aW9uLCB1c2VybmFtZSkpKQotewotfQotCi1EZXBy
ZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyOjp+RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFu
ZGxlcigpCi17Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6cHJv
ZHVjZUluaXRpYWxPZmZlcihjb25zdCBNZWRpYVN0cmVhbURlc2NyaXB0b3JWZWN0b3ImIHBlbmRp
bmdBZGRTdHJlYW1zKQotewotICAgIG1fcHJpdmF0ZS0+cHJvZHVjZUluaXRpYWxPZmZlcihwZW5k
aW5nQWRkU3RyZWFtcyk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxl
cjo6aGFuZGxlSW5pdGlhbE9mZmVyKGNvbnN0IFN0cmluZyYgc2RwKQotewotICAgIG1fcHJpdmF0
ZS0+aGFuZGxlSW5pdGlhbE9mZmVyKHNkcCk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uSGFuZGxlcjo6cHJvY2Vzc1NEUChjb25zdCBTdHJpbmcmIHNkcCkKLXsKLSAgICBtX3By
aXZhdGUtPnByb2Nlc3NTRFAoc2RwKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVyOjpwcm9jZXNzUGVuZGluZ1N0cmVhbXMoY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlw
dG9yVmVjdG9yJiBwZW5kaW5nQWRkU3RyZWFtcywgY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9y
VmVjdG9yJiBwZW5kaW5nUmVtb3ZlU3RyZWFtcykKLXsKLSAgICBtX3ByaXZhdGUtPnByb2Nlc3NQ
ZW5kaW5nU3RyZWFtcyhwZW5kaW5nQWRkU3RyZWFtcywgcGVuZGluZ1JlbW92ZVN0cmVhbXMpOwot
fQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnNlbmREYXRhU3RyZWFt
TWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKQotewotICAgIG1fcHJpdmF0
ZS0+c2VuZERhdGFTdHJlYW1NZXNzYWdlKGRhdGEsIGxlbmd0aCk7Ci19Ci0KLXZvaWQgRGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6c3RvcCgpCi17Ci0gICAgbV9wcml2YXRlLT5zdG9w
KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJ
QV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9jaHJvbWl1bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWwuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZDVlOTYzODExZTQ2NmVlMjhmNTA1YmJhM2M3YjA3NmFjMWQ1Y2NmNS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
SW50ZXJuYWwuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTMwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0
aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAot
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW5jbHVkZSAiRGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmgiCi0KLSNpbmNsdWRlICJEZXByZWNhdGVk
UGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgiCi0jaW5jbHVkZSA8cHVibGljL1BsYXRmb3Jt
Lmg+Ci0jaW5jbHVkZSA8cHVibGljL1dlYk1lZGlhU3RyZWFtRGVzY3JpcHRvci5oPgotI2luY2x1
ZGUgPHB1YmxpYy9XZWJQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaD4KLSNpbmNsdWRlIDxwdWJsaWMv
V2ViUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50Lmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25I
YW5kbGVySW50ZXJuYWw6OkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbChE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmlu
ZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1c2VybmFtZSkKLSAgICA6IG1f
Y2xpZW50KGNsaWVudCkKLXsKLSAgICBBU1NFUlQobV9jbGllbnQpOwotICAgIG1fd2ViSGFuZGxl
ciA9IGFkb3B0UHRyKFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Y3JlYXRlUGVlckNvbm5l
Y3Rpb25IYW5kbGVyKHRoaXMpKTsKLSAgICAvLyBGSVhNRTogV2hlbiB0aGVyZSBpcyBzb21lIGVy
cm9yIHJlcG9ydGluZyBhdmFsaWFibGUgaW4gdGhlIFBlZXJDb25uZWN0aW9uIG9iamVjdCByZXBv
cnQKLSAgICAvLyBpZiB3ZSBkaWRuJ3QgZ2V0IGEgV2ViUGVlckNvbm5lY3Rpb25IYW5kbGVyIGlu
c3RhbmNlLgotCi0gICAgaWYgKG1fd2ViSGFuZGxlcikKLSAgICAgICAgbV93ZWJIYW5kbGVyLT5p
bml0aWFsaXplKHNlcnZlckNvbmZpZ3VyYXRpb24sIHVzZXJuYW1lKTsKLX0KLQotRGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjp+RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
SGFuZGxlckludGVybmFsKCkKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25I
YW5kbGVySW50ZXJuYWw6OnByb2R1Y2VJbml0aWFsT2ZmZXIoY29uc3QgTWVkaWFTdHJlYW1EZXNj
cmlwdG9yVmVjdG9yJiBwZW5kaW5nQWRkU3RyZWFtcykKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVy
KQotICAgICAgICBtX3dlYkhhbmRsZXItPnByb2R1Y2VJbml0aWFsT2ZmZXIocGVuZGluZ0FkZFN0
cmVhbXMpOwotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5h
bDo6aGFuZGxlSW5pdGlhbE9mZmVyKGNvbnN0IFN0cmluZyYgc2RwKQotewotICAgIGlmIChtX3dl
YkhhbmRsZXIpCi0gICAgICAgIG1fd2ViSGFuZGxlci0+aGFuZGxlSW5pdGlhbE9mZmVyKHNkcCk7
Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsOjpwcm9j
ZXNzU0RQKGNvbnN0IFN0cmluZyYgc2RwKQotewotICAgIGlmIChtX3dlYkhhbmRsZXIpCi0gICAg
ICAgIG1fd2ViSGFuZGxlci0+cHJvY2Vzc1NEUChzZHApOwotfQotCi12b2lkIERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbDo6cHJvY2Vzc1BlbmRpbmdTdHJlYW1zKGNvbnN0
IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ0FkZFN0cmVhbXMsIGNvbnN0IE1l
ZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYgcGVuZGluZ1JlbW92ZVN0cmVhbXMpCi17Ci0gICAg
aWYgKG1fd2ViSGFuZGxlcikKLSAgICAgICAgbV93ZWJIYW5kbGVyLT5wcm9jZXNzUGVuZGluZ1N0
cmVhbXMocGVuZGluZ0FkZFN0cmVhbXMsIHBlbmRpbmdSZW1vdmVTdHJlYW1zKTsKLX0KLQotdm9p
ZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWw6OnNlbmREYXRhU3RyZWFt
TWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKQotewotICAgIGlmIChtX3dl
YkhhbmRsZXIpCi0gICAgICAgIG1fd2ViSGFuZGxlci0+c2VuZERhdGFTdHJlYW1NZXNzYWdlKGRh
dGEsIGxlbmd0aCk7Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcklu
dGVybmFsOjpzdG9wKCkKLXsKLSAgICBpZiAobV93ZWJIYW5kbGVyKQotICAgICAgICBtX3dlYkhh
bmRsZXItPnN0b3AoKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
SW50ZXJuYWw6OmRpZENvbXBsZXRlSUNFUHJvY2Vzc2luZygpCi17Ci0gICAgaWYgKG1fd2ViSGFu
ZGxlcikKLSAgICAgICAgbV9jbGllbnQtPmRpZENvbXBsZXRlSUNFUHJvY2Vzc2luZygpOwotfQot
Ci12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbDo6ZGlkR2VuZXJh
dGVTRFAoY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIHNkcCkKLXsKLSAgICBpZiAobV93ZWJIYW5k
bGVyKQotICAgICAgICBtX2NsaWVudC0+ZGlkR2VuZXJhdGVTRFAoc2RwKTsKLX0KLQotdm9pZCBE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWw6OmRpZFJlY2VpdmVEYXRhU3Ry
ZWFtTWVzc2FnZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKQotewotICAgIGlmICht
X3dlYkhhbmRsZXIpCi0gICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0YVN0cmVhbU1lc3Nh
Z2UoZGF0YSwgbGVuZ3RoKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5k
bGVySW50ZXJuYWw6OmRpZEFkZFJlbW90ZVN0cmVhbShjb25zdCBXZWJLaXQ6OldlYk1lZGlhU3Ry
ZWFtRGVzY3JpcHRvciYgd2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yKQotewotICAgIGlmIChtX3dl
YkhhbmRsZXIpCi0gICAgICAgIG1fY2xpZW50LT5kaWRBZGRSZW1vdGVTdHJlYW0od2ViTWVkaWFT
dHJlYW1EZXNjcmlwdG9yKTsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5k
bGVySW50ZXJuYWw6OmRpZFJlbW92ZVJlbW90ZVN0cmVhbShjb25zdCBXZWJLaXQ6OldlYk1lZGlh
U3RyZWFtRGVzY3JpcHRvciYgd2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yKQotewotICAgIGlmICht
X3dlYkhhbmRsZXIpCi0gICAgICAgIG1fY2xpZW50LT5kaWRSZW1vdmVSZW1vdGVTdHJlYW0od2Vi
TWVkaWFTdHJlYW1EZXNjcmlwdG9yKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhh
bmRsZXJJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hy
b21pdW0vRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckludGVybmFsLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3ZmNiOTNiNGUxNzc4NWIzNDQ0OGI3MGNjOWEwYjkzNWNh
NWE3Y2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vRGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uSGFuZGxlckludGVybmFsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
LSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
Ci0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2lmbmRlZiBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWxfaAotI2RlZmlu
ZSBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVySW50ZXJuYWxfaAotCi0jaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIk1lZGlhU3RyZWFtRGVzY3JpcHRvci5oIgotI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaD4KLSNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBXZWJQZWVy
Q29ubmVjdGlvbkhhbmRsZXI7Ci1jbGFzcyBXZWJTdHJpbmc7Ci1jbGFzcyBXZWJNZWRpYVN0cmVh
bURlc2NyaXB0b3I7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDsKLQotY2xhc3MgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uSGFuZGxlckludGVybmFsIDogcHVibGljIFdlYktpdDo6V2ViUGVlckNvbm5lY3Rpb25I
YW5kbGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5k
bGVySW50ZXJuYWwoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCosIGNvbnN0
IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1c2VybmFtZSk7Ci0g
ICAgfkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbCgpOwotCi0gICAgdmly
dHVhbCB2b2lkIHByb2R1Y2VJbml0aWFsT2ZmZXIoY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9y
VmVjdG9yJiBwZW5kaW5nQWRkU3RyZWFtcyk7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUluaXRp
YWxPZmZlcihjb25zdCBTdHJpbmcmIHNkcCk7Ci0gICAgdmlydHVhbCB2b2lkIHByb2Nlc3NTRFAo
Y29uc3QgU3RyaW5nJiBzZHApOwotICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzUGVuZGluZ1N0cmVh
bXMoY29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9yJiBwZW5kaW5nQWRkU3RyZWFtcywg
Y29uc3QgTWVkaWFTdHJlYW1EZXNjcmlwdG9yVmVjdG9yJiBwZW5kaW5nUmVtb3ZlU3RyZWFtcyk7
Ci0gICAgdmlydHVhbCB2b2lkIHNlbmREYXRhU3RyZWFtTWVzc2FnZShjb25zdCBjaGFyKiBkYXRh
LCBzaXplX3QgbGVuZ3RoKTsKLSAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpOwotCi0gICAgLy8gV2Vi
S2l0OjpXZWJQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQgaW1wbGVtZW50YXRpb24uCi0gICAg
dmlydHVhbCB2b2lkIGRpZENvbXBsZXRlSUNFUHJvY2Vzc2luZygpOwotICAgIHZpcnR1YWwgdm9p
ZCBkaWRHZW5lcmF0ZVNEUChjb25zdCBXZWJLaXQ6OldlYlN0cmluZyYgc2RwKTsKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGFTdHJlYW1NZXNzYWdlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCBsZW5ndGgpOwotICAgIHZpcnR1YWwgdm9pZCBkaWRBZGRSZW1vdGVTdHJlYW0oY29uc3Qg
V2ViS2l0OjpXZWJNZWRpYVN0cmVhbURlc2NyaXB0b3ImKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVtb3ZlUmVtb3RlU3RyZWFtKGNvbnN0IFdlYktpdDo6V2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9y
Jik7Ci0KLXByaXZhdGU6Ci0gICAgT3duUHRyPFdlYktpdDo6V2ViUGVlckNvbm5lY3Rpb25IYW5k
bGVyPiBtX3dlYkhhbmRsZXI7Ci0gICAgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNs
aWVudCogbV9jbGllbnQ7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAv
LyBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jZW5kaWYgLy8gRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uSGFuZGxlckludGVybmFsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2dzdHJlYW1lci9EZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9EZXByZWNh
dGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDZlM2Q1ODY2MzdjNGQ3YzMwZTE1MzY3MTI1MzBlNGNmMjA2M2I1OC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlci5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEVyaWNzc29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24u
Ci0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEVyaWNzc29uIG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCi0gKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcu
aCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNpbmNsdWRlICJEZXByZWNhdGVkUGVl
ckNvbm5lY3Rpb25IYW5kbGVyLmgiCi0KLSNpbmNsdWRlICJEZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVyQ2xpZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUGFzc093blB0cjxE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVyPiBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25I
YW5kbGVyOjpjcmVhdGUoRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCogY2xp
ZW50LCBjb25zdCBTdHJpbmcmIHNlcnZlckNvbmZpZ3VyYXRpb24sIGNvbnN0IFN0cmluZyYgdXNl
cm5hbWUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVyKGNsaWVudCwgc2VydmVyQ29uZmlndXJhdGlvbiwgdXNlcm5hbWUpKTsKLX0KLQot
Ly8gRW1wdHkgaW1wbGVtZW50YXRpb25zIGZvciBwb3J0cyB0aGF0IGJ1aWxkIHdpdGggTUVESUFf
U1RSRUFNIGVuYWJsZWQgYnkgZGVmYXVsdC4KLURlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRs
ZXI6OkRlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIoRGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudCosIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCi17Ci19Ci0K
LURlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6On5EZXByZWNhdGVkUGVlckNvbm5lY3Rp
b25IYW5kbGVyKCkKLXsKLX0KLQotdm9pZCBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb25IYW5kbGVy
Ojpwcm9kdWNlSW5pdGlhbE9mZmVyKGNvbnN0IE1lZGlhU3RyZWFtRGVzY3JpcHRvclZlY3RvciYp
Ci17Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uSGFuZGxlcjo6aGFuZGxlSW5p
dGlhbE9mZmVyKGNvbnN0IFN0cmluZyYpCi17Ci19Ci0KLXZvaWQgRGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uSGFuZGxlcjo6cHJvY2Vzc1NEUChjb25zdCBTdHJpbmcmKQotewotfQotCi12b2lkIERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnByb2Nlc3NQZW5kaW5nU3RyZWFtcyhjb25z
dCBNZWRpYVN0cmVhbURlc2NyaXB0b3JWZWN0b3ImLCBjb25zdCBNZWRpYVN0cmVhbURlc2NyaXB0
b3JWZWN0b3ImKQotewotfQotCi12b2lkIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6
OnNlbmREYXRhU3RyZWFtTWVzc2FnZShjb25zdCBjaGFyKiwgc2l6ZV90KQotewotfQotCi12b2lk
IERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OnN0b3AoKQotewotfQotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDIwNjIzNDU4ZjZkMWNlNTc2MTc1OTM0YmJjZGY1NmM5OTY0NmFiYTYuLmQ5NTE5NDUyZGI5OThl
ZTg0MDM2Njg3NmE4OGJjNWMwMThmOTQ4NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0w
Ny0yNCAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KKworICAgICAgICBN
ZWRpYVN0cmVhbSBBUEk6IFJlbW92ZSBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMTA2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlZCBhbGwgdXNhZ2Vz
IG9mIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiB0byBQZWVyQ29ubmVjdGlvbjAwLgorCisgICAg
ICAgICogZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9u
Lmh0bWw6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1hZGRzdHJl
YW0tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rp
b24tYXJndW1lbnQtdHlwZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJl
YW0vcGVlcmNvbm5lY3Rpb24tZXZlbnRsaXN0ZW5lci1vcHRpb25hbC1hcmd1bWVudC5odG1sOgor
ICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tbWVkaWFzdHJlYW1saXN0
Lmh0bWw6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1yZW1vdmVz
dHJlYW0tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vc2NyaXB0LXRl
c3RzL3BlZXJjb25uZWN0aW9uLWFkZHN0cmVhbS5qczoKKyAgICAgICAgKiBmYXN0L21lZGlhc3Ry
ZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1hcmd1bWVudC10eXBlcy5qczoKKyAgICAg
ICAgKiBmYXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9wZWVyY29ubmVjdGlvbi1yZW1vdmVz
dHJlYW0uanM6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vY2FsbC1hLWNv
bnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL2Zhc3QvZG9tL2NhbGwtYS1jb25z
dHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDoKKwogMjAxMi0wNy0yNSAgWmFuIERv
YmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIGZhc3QvZXZlbnRzL3Bh
blNjcm9sbC1jbGljay1oeXBlcmxpbmsuaHRtbCB0ZXN0IHNob3VsZCBiZSBwdXQgaW4gcGxhdGZv
cm0vd2luCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0
b3ItYXMtYS1mdW5jdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jYWxs
LWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBlY3RlZC50eHQKaW5kZXggYjNkMjEyNDZm
NGZkODlmYTI5MTFmMmZlODBkOGI0YzBkZmYyODc4ZS4uOTAzZDU0N2ZkM2I0OGI1ZjYzNGJmNjhi
YjFlMjk3NzczY2RiMWRiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY2FsbC1h
LWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMTgsNyArMTgsNiBAQCBQQVNTIEludDE2QXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiAnW29iamVjdCBJbnQxNkFycmF5Q29uc3RydWN0b3JdJyBpcwogUEFTUyBJbnQzMkFycmF5
KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tvYmplY3QgSW50MzJBcnJheUNvbnN0cnVj
dG9yXScgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ0ludDMyQXJyYXkoKScpLgogUEFT
UyBJbnQ4QXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBJbnQ4QXJy
YXlDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1bmN0aW9uIChldmFsdWF0aW5nICdJbnQ4QXJyYXko
KScpLgogUEFTUyBNZXNzYWdlQ2hhbm5lbCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdb
b2JqZWN0IE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZh
bHVhdGluZyAnTWVzc2FnZUNoYW5uZWwoKScpLgotU0tJUCB3ZWJraXREZXByZWNhdGVkUGVlckNv
bm5lY3Rpb24gaXMgbm90IGltcGxlbWVudGVkLgogUEFTUyBTaGFyZWRXb3JrZXIoKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBTaGFyZWRXb3JrZXJDb25zdHJ1Y3Rvcl0nIGlz
IG5vdCBhIGZ1bmN0aW9uIChldmFsdWF0aW5nICdTaGFyZWRXb3JrZXIoKScpLgogUEFTUyBVaW50
MTZBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IFVpbnQxNkFycmF5
Q29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnVWludDE2QXJyYXko
KScpLgogUEFTUyBVaW50MzJBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2Jq
ZWN0IFVpbnQzMkFycmF5Q29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGlu
ZyAnVWludDMyQXJyYXkoKScpLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY2Fs
bC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLmh0bWwKaW5kZXggMjY0N2RmYTljNDhj
NDYwNTZiMTU4NzE5MmUwY2UxYzc5NGU4ZmUzNy4uYmZlOGFhNjY3ZmViNDcwYTNiZjBlNzgyYmNk
OTk4Zjg3MDVkNjYwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY2FsbC1hLWNv
bnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9j
YWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi5odG1sCkBAIC02LDcgKzYsNyBAQAogCiBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyBpZiBUeXBlRXJyb3IgaXMgdGhyb3duIG9yIG5vdCB3aGVu
IHdlIGNhbGwgYSBjb25zdHJ1Y3RvciBhcyBhIG5vcm1hbCBmdW5jdGlvbi4iKTsKIAotdmFyIHRl
c3RfY29uc3RydWN0b3JzID0gWyJBcnJheUJ1ZmZlciIsICJBdWRpb0NvbnRleHQiLCAiRm9ybURh
dGEiLCAiRGF0YVZpZXciLCAiRXZlbnRTb3VyY2UiLCAiRmlsZVJlYWRlciIsICJGbG9hdDMyQXJy
YXkiLCAiRmxvYXQ2NEFycmF5IiwgIkF1ZGlvIiwgIkltYWdlIiwgIk9wdGlvbiIsICJJbnQxNkFy
cmF5IiwgIkludDMyQXJyYXkiLCAiSW50OEFycmF5IiwgIk1lc3NhZ2VDaGFubmVsIiwgIndlYmtp
dERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiIsICJTaGFyZWRXb3JrZXIiLCAiVWludDE2QXJyYXki
LCAiVWludDMyQXJyYXkiLCAiVWludDhBcnJheSIsICJXZWJLaXRDU1NNYXRyaXgiLCAiV2ViS2l0
UG9pbnQiLCAiV2ViU29ja2V0IiwgIldvcmtlciIsICJYTUxIdHRwUmVxdWVzdCIsICJYU0xUUHJv
Y2Vzc29yIl07Cit2YXIgdGVzdF9jb25zdHJ1Y3RvcnMgPSBbIkFycmF5QnVmZmVyIiwgIkF1ZGlv
Q29udGV4dCIsICJGb3JtRGF0YSIsICJEYXRhVmlldyIsICJFdmVudFNvdXJjZSIsICJGaWxlUmVh
ZGVyIiwgIkZsb2F0MzJBcnJheSIsICJGbG9hdDY0QXJyYXkiLCAiQXVkaW8iLCAiSW1hZ2UiLCAi
T3B0aW9uIiwgIkludDE2QXJyYXkiLCAiSW50MzJBcnJheSIsICJJbnQ4QXJyYXkiLCAiTWVzc2Fn
ZUNoYW5uZWwiLCAiU2hhcmVkV29ya2VyIiwgIlVpbnQxNkFycmF5IiwgIlVpbnQzMkFycmF5Iiwg
IlVpbnQ4QXJyYXkiLCAiV2ViS2l0Q1NTTWF0cml4IiwgIldlYktpdFBvaW50IiwgIldlYlNvY2tl
dCIsICJXb3JrZXIiLCAiWE1MSHR0cFJlcXVlc3QiLCAiWFNMVFByb2Nlc3NvciJdOwogCiB0ZXN0
X2NvbnN0cnVjdG9ycy5mb3JFYWNoKGZ1bmN0aW9uIChjb25zdHJ1Y3RvcikgewogICAgIGlmIChl
dmFsKCJ3aW5kb3cuIiArIGNvbnN0cnVjdG9yKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tYWRkc3RyZWFtLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tYWRkc3RyZWFtLWV4cGVj
dGVkLnR4dAppbmRleCAxOTZmMmQ2MmViNjg1ZWNlMDk5ZGVmNjdmNDU2OWFhNmI1YmFlOGRmLi5i
M2Q0NGFmZDIwODFmODY1MTZkN2Q2ZDQzMTI5MTQzZWNiOWZmNDNhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWFkZHN0cmVhbS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1h
ZGRzdHJlYW0tZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotVGVzdHMgRGVwcmVjYXRlZFBl
ZXJDb25uZWN0aW9uOjphZGRTdHJlYW0oKS4KK1Rlc3RzIFBlZXJDb25uZWN0aW9uMDA6OmFkZFN0
cmVhbSgpLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1h
cmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKaW5kZXggMDRmOWMzOWYxZjc3YTQ4ZmI1NDQ3ZWRi
NGM2NTdhZDE5MDNmYmQ0Zi4uNTBiZWJkOWE2ZGMzOGU1M2NhZmZmN2I2Nzk3NjM4NzRhMmU5M2Jk
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlv
bi1hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9wZWVyY29ubmVjdGlvbi1hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKQEAgLTEs
NTQgKzEsNTQgQEAKLVRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5cGVzIGZvciBhcmd1bWVudHMgdG8g
bWV0aG9kIGZvciBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb24gZGVmaW5hdGlvbi4KK1Rlc3RzIHRo
ZSBhY2NlcHRhYmxlIHR5cGVzIGZvciBhcmd1bWVudHMgdG8gbWV0aG9kIGZvciBQZWVyQ29ubmVj
dGlvbjAwIGRlZmluYXRpb24uCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNT
IHR5cGVvZiB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24gPT09ICdmdW5jdGlvbicgaXMg
dHJ1ZQotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXRE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU4gMjAzLjAuMTEzLjI6MjQ3OCIpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3
IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiBleGFtcGxlLm5ldCIpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Vi
a2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyAyMDMuMC4xMTMuMjoyNDc4IikgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3
ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIHJlbGF5LmV4YW1wbGUubmV0OjM0
NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgZXhhbXBsZS5uZXQi
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1Mg
bmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiAyMDMuMC4xMTMuMjoyNDc4
IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNT
IG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4gcmVsYXkuZXhhbXBsZS5u
ZXQ6MzQ3OCIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
LgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIGV4YW1wbGUu
bmV0IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1Q
QVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIDIwMy4wLjExMy4y
OjI0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4K
LVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgcmVsYXkuZXhh
bXBsZS5uZXQ6MzQ3OCIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyBl
eGFtcGxlLm5ldCIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIE5PTkUi
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1Mg
bmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgTk9ORSIpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOIE5PTkUiKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbigiU1RVTlMgTk9ORSIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uKCJ1bmRlZmluZWQiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigibnVsbCIp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBu
ZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKHt9KSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbig0MikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBh
cmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oSW5maW5p
dHkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFT
UyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKC1JbmZpbml0eSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXRE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oZW1wdHlGdW5jdGlvbikgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlNUVU4gMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbikgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oIlNUVU4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rp
b24oIlNUVU4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOUyAyMDMu
MC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBB
U1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgcmVsYXkuZXhhbXBs
ZS5uZXQ6MzQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNT
IG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIGV4YW1wbGUubmV0Iixl
bXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgbmV3IHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiAyMDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0
aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbigiVFVSTiByZWxheS5leGFtcGxlLm5ldDozNDc4IixlbXB0eUZ1bmN0aW9u
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbigiVFVSTiBleGFtcGxlLm5ldCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRV
Uk5TIDIwMy4wLjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyByZWxh
eS5leGFtcGxlLm5ldDozNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgZXhhbXBs
ZS5uZXQiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBuZXcg
d2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIE5PTkUiLGVtcHR5RnVuY3Rpb24p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJD
b25uZWN0aW9uKCJUVVJOUyBOT05FIixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KLVBBU1MgbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiBOT05F
IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgbmV3IHdlYmtp
dERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgTk9ORSIsZW1wdHlGdW5jdGlvbikgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb24oIlRVUk4gTk9ORSIsdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVf
TUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyBuZXcgd2Via2l0RGVwcmVjYXRl
ZFBlZXJDb25uZWN0aW9uKCJUVVJOUyBOT05FIix7fSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBU
WVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1MgbmV3IHdlYmtpdERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTiBOT05FIiw0MikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1MgbmV3IHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgTk9ORSIsSW5maW5pdHkpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCi1QQVNTIG5l
dyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIE5PTkUiLC1JbmZpbml0eSkg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAx
Ny4KK1BBU1MgdHlwZW9mIHdlYmtpdFBlZXJDb25uZWN0aW9uMDAgPT09ICdmdW5jdGlvbicgaXMg
dHJ1ZQorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5l
Y3Rpb24wMCgiU1RVTiAyMDMuMC4xMTMuMjoyNDc4IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAw
KCJTVFVOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAo
IlNUVU4gZXhhbXBsZS5uZXQiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIDIwMy4w
LjExMy4yOjI0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3Vt
ZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIHJlbGF5LmV4YW1w
bGUubmV0OjM0NzgiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3Vt
ZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIGV4YW1wbGUubmV0
IikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNT
IG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIDIwMy4wLjExMy4yOjI0NzgiKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdl
YmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Vi
a2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiBleGFtcGxlLm5ldCIpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5l
Y3Rpb24wMCgiVFVSTlMgMjAzLjAuMTEzLjI6MjQ3OCIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24w
MCgiVFVSTlMgcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24w
MCgiVFVSTlMgZXhhbXBsZS5uZXQiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk4gTk9O
RSIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFT
UyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTlMgTk9ORSIpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UGVlckNv
bm5lY3Rpb24wMCgiU1RVTiBOT05FIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyBO
T05FIikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQ
QVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJ1bmRlZmluZWQiKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJD
b25uZWN0aW9uMDAoIm51bGwiKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoe30pIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0
UGVlckNvbm5lY3Rpb24wMCg0MikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKEluZmluaXR5KSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3
IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoLUluZmluaXR5KSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9u
MDAoZW1wdHlGdW5jdGlvbikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBh
cmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOIDIwMy4wLjEx
My4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBu
ZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTiByZWxheS5leGFtcGxlLm5ldDozNDc4Iixl
bXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBl
ZXJDb25uZWN0aW9uMDAoIlNUVU4gZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMg
MjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyByZWxheS5leGFtcGxlLm5l
dDozNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3
IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIGV4YW1wbGUubmV0IixlbXB0eUZ1bmN0aW9u
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9u
MDAoIlRVUk4gMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIHJlbGF5LmV4
YW1wbGUubmV0OjM0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiBleGFtcGxlLm5ldCIsZW1wdHlG
dW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyB3ZWJraXRQZWVyQ29u
bmVjdGlvbjAwKCJUVVJOUyAyMDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5T
IHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTlMgZXhhbXBsZS5u
ZXQiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgd2Vi
a2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiBOT05FIixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIE5P
TkUiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgd2Vi
a2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTiBOT05FIixlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIE5P
TkUiLGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgd2Vi
a2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiBOT05FIix1bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5ldyB3
ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyBOT05FIix7fSkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmV3IHdlYmtp
dFBlZXJDb25uZWN0aW9uMDAoIlNUVU4gTk9ORSIsNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
VFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5ldyB3ZWJraXRQZWVy
Q29ubmVjdGlvbjAwKCJTVFVOUyBOT05FIixJbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmV3IHdlYmtpdFBl
ZXJDb25uZWN0aW9uMDAoIlNUVU5TIE5PTkUiLC1JbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KIFBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1ldmVudGxpc3RlbmVyLW9wdGlvbmFs
LWFyZ3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0
aW9uLWV2ZW50bGlzdGVuZXItb3B0aW9uYWwtYXJndW1lbnQuaHRtbAppbmRleCBjZWIyNjI1MzQz
Y2VhMzliNjU3MTU5OTc0MTdjMDMxM2RjMmNmYTRlLi40M2FkMTQ5MTkzNzAzMTE3ZTQ1ODRkN2Uw
NWNmMTA2ZjUzMjRmYTg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L3BlZXJjb25uZWN0aW9uLWV2ZW50bGlzdGVuZXItb3B0aW9uYWwtYXJndW1lbnQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLWV2ZW50bGlzdGVu
ZXItb3B0aW9uYWwtYXJndW1lbnQuaHRtbApAQCAtMTAsNyArMTAsNyBAQAogPHNjcmlwdD4KIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgY29uZmlybXMgaWYgdGhlIHRoaXJkIGFyZ3VtZW50IG9mIGFk
ZEV2ZW50TGlzdGVuZXIoKSBhbmQgcmVtb3ZlRXZlbnRMaXN0ZW5lcigpIGlzIG9wdGlvbmFsLiIp
OwogCi12YXIgcGMgPSBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJzb21lLnNl
cnZlci5jb20iLCBmdW5jdGlvbigpIHt9KTsKK3ZhciBwYyA9IG5ldyB3ZWJraXRQZWVyQ29ubmVj
dGlvbjAwKCJzb21lLnNlcnZlci5jb20iLCBmdW5jdGlvbigpIHt9KTsKIHNob3VsZEJlKCdwYy5h
ZGRFdmVudExpc3RlbmVyKCJmb28iLCBmdW5jdGlvbigpIHt9KScsICd1bmRlZmluZWQnKTsKIHNo
b3VsZEJlKCdwYy5hZGRFdmVudExpc3RlbmVyKCJmb28iLCBmdW5jdGlvbigpIHt9LCBmYWxzZSkn
LCAndW5kZWZpbmVkJyk7CiBzaG91bGRCZSgncGMuYWRkRXZlbnRMaXN0ZW5lcigiZm9vIiwgZnVu
Y3Rpb24oKSB7fSwgdHJ1ZSknLCAndW5kZWZpbmVkJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLW1lZGlhc3RyZWFtbGlzdC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1tZWRpYXN0cmVhbWxp
c3QuaHRtbAppbmRleCAxYmFkN2ZkODRkNWZlODIzZDBiMGU3Zjg3Y2QwZmY5NTlkYmRhYTNlLi5k
NjdiZmQ3ODBiYzRlODcyMjY3YWU1Y2QzNDk2Yjg5NzdjYWZiN2ZmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLW1lZGlhc3RyZWFtbGlzdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcGVlcmNvbm5lY3Rpb24tbWVk
aWFzdHJlYW1saXN0Lmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgb3V0LW9mLWJvdW5kcyBhY2Nlc3Mgb2YgTWVkaWFT
dHJlYW1MaXN0IHJldHVybnMgdW5kZWZpbmVkLiIpOwogCi12YXIgcGMgPSBuZXcgd2Via2l0RGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uKCIiLCBmdW5jdGlvbigpIHt9KTsKK3ZhciBwYyA9IG5ldyB3
ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCIiLCBmdW5jdGlvbigpIHt9KTsKIAogc2hvdWxkQmVVbmRl
ZmluZWQoJ3BjLmxvY2FsU3RyZWFtc1sweGJhZGMwZGVkXScpOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLXJlbW92ZXN0cmVhbS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3BlZXJjb25uZWN0aW9uLXJl
bW92ZXN0cmVhbS1leHBlY3RlZC50eHQKaW5kZXggYTY0MmEwMDc5ZDc2ZjA1ODg2MDkwNmI1ZDU0
YjNkN2VmMDRjYWQyOS4uMTQ3MzkyMmM3MzlmZTM1MThjMGYwMjNjZmY3YmY3YzEzNTI2MjBhNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9wZWVyY29ubmVjdGlvbi1y
ZW1vdmVzdHJlYW0tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vcGVlcmNvbm5lY3Rpb24tcmVtb3Zlc3RyZWFtLWV4cGVjdGVkLnR4dApAQCAtMSwxNiArMSwx
NiBAQAotVGVzdHMgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uOjpyZW1vdmVTdHJlYW0oKS4KK1Rl
c3RzIFBlZXJDb25uZWN0aW9uMDA6OnJlbW92ZVN0cmVhbSgpLgogCiBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCiAKIAotUEFTUyBwYy5yZW1vdmVTdHJlYW0oKSB0aHJldyBUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzCi1QQVNTIHBjLnJlbW92ZVN0cmVhbSh1bmRlZmluZWQpIHRocmV3
IEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNwotUEFTUyBwYy5yZW1v
dmVTdHJlYW0obnVsbCkgdGhyZXcgRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0
aW9uIDE3Ci1QQVNTIHBjLnJlbW92ZVN0cmVhbShuZXcgQXJyYXkoKSkgdGhyZXcgVHlwZUVycm9y
OiBUeXBlIGVycm9yCi1QQVNTIHBjLnJlbW92ZVN0cmVhbSh7fSkgdGhyZXdUeXBlRXJyb3I6IFR5
cGUgZXJyb3IKLVBBU1MgcGMucmVtb3ZlU3RyZWFtKDQyKSB0aHJld1R5cGVFcnJvcjogVHlwZSBl
cnJvcgotUEFTUyBwYy5yZW1vdmVTdHJlYW0oSW5maW5pdHkpIHRocmV3VHlwZUVycm9yOiBUeXBl
IGVycm9yCi1QQVNTIHBjLnJlbW92ZVN0cmVhbSgtSW5maW5pdHkpIHRocmV3VHlwZUVycm9yOiBU
eXBlIGVycm9yCitQQVNTIHBjLnJlbW92ZVN0cmVhbSgpOyB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgcGMucmVtb3ZlU3RyZWFtKHVuZGVmaW5l
ZCk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIHBjLnJlbW92ZVN0cmVhbShudWxsKTsgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgcGMucmVtb3ZlU3Ry
ZWFtKG5ldyBBcnJheSgpKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
K1BBU1MgcGMucmVtb3ZlU3RyZWFtKHt9KTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KK1BBU1MgcGMucmVtb3ZlU3RyZWFtKDQyKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVHlwZSBlcnJvci4KK1BBU1MgcGMucmVtb3ZlU3RyZWFtKEluZmluaXR5KTsgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgcGMucmVtb3ZlU3RyZWFtKC1J
bmZpbml0eSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLWFk
ZHN0cmVhbS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3Bl
ZXJjb25uZWN0aW9uLWFkZHN0cmVhbS5qcwppbmRleCA2Y2U2ZWMxNzVmMDQ3MmE2OTkxZGUxMGI0
N2M2NzA1ZTFhNDEyYWE2Li4wNjIyZDBlMDgyMmQwMmY3ZjBiY2ZmZjQ5NjJjZWQxYTE2NWM5MDY0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0cy9w
ZWVyY29ubmVjdGlvbi1hZGRzdHJlYW0uanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNvbm5lY3Rpb24tYWRkc3RyZWFtLmpzCkBAIC0xLDYgKzEs
NiBAQAotZGVzY3JpcHRpb24oIlRlc3RzIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbjo6YWRkU3Ry
ZWFtKCkuIik7CitkZXNjcmlwdGlvbigiVGVzdHMgUGVlckNvbm5lY3Rpb24wMDo6YWRkU3RyZWFt
KCkuIik7CiAKLXZhciBwYyA9IG5ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNU
VU4gc29tZS5zZXJ2ZXIuY29tIiwgZnVuY3Rpb24oKSB7fSk7Cit2YXIgcGMgPSBuZXcgd2Via2l0
UGVlckNvbm5lY3Rpb24wMCgiU1RVTiBzb21lLnNlcnZlci5jb20iLCBmdW5jdGlvbigpIHt9KTsK
IAogdHJ5IHsKICAgICBwYy5hZGRTdHJlYW0oKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLWFyZ3VtZW50LXR5cGVz
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNvbm5l
Y3Rpb24tYXJndW1lbnQtdHlwZXMuanMKaW5kZXggMzc5NmY4NTU1NmQ0YWVjYWE2ZDMxZjk4MWU4
NWM3NDJhYmQxNTgwZi4uN2YyYzZlMTRhZTY1NWU1ZDViNGM3MGE1YjQ0ZDFmYWI1ZTlmMGI4NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVl
cmNvbm5lY3Rpb24tYXJndW1lbnQtdHlwZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNvbm5lY3Rpb24tYXJndW1lbnQtdHlwZXMuanMKQEAg
LTEsNCArMSw0IEBACi1kZXNjcmlwdGlvbigiVGVzdHMgdGhlIGFjY2VwdGFibGUgdHlwZXMgZm9y
IGFyZ3VtZW50cyB0byBtZXRob2QgZm9yIERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiBkZWZpbmF0
aW9uLiIpOworZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5cGVzIGZvciBhcmd1
bWVudHMgdG8gbWV0aG9kIGZvciBQZWVyQ29ubmVjdGlvbjAwIGRlZmluYXRpb24uIik7CiAKIGZ1
bmN0aW9uIHRlc3QoZXhwcmVzc2lvbiwgZXhwcmVzc2lvblNob3VsZFRocm93LCBleHBlY3RlZEV4
Y2VwdGlvbikgewogICAgIGlmIChleHByZXNzaW9uU2hvdWxkVGhyb3cpIHsKQEAgLTIxLDU5ICsy
MSw1NyBAQCBPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5j
dGlvbigpIHsKIH0KIHZhciBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiA9IG5ldyBPYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbigpOwogCi1zaG91bGRCZVRydWUoInR5cGVvZiB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24gPT09ICdmdW5jdGlvbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdl
YmtpdFBlZXJDb25uZWN0aW9uMDAgPT09ICdmdW5jdGlvbiciKTsKIAogLy8gMCBBcmd1bWVudAot
dGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigpJywgdHJ1ZSwnVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0
aW9uMDAoKScsIHRydWUsJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKIAotLy8g
MSBBcmd1bWVudCAobmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbiByZXF1aXJlcyBh
dCBsZWFzdCAyIGFyZ3VtZW50cykuCi10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uKCJTVFVOIDIwMy4wLjExMy4yOjI0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzJyk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uKCJTVFVOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzJyk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25u
ZWN0aW9uKCJTVFVOIGV4YW1wbGUubmV0IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdo
IGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigi
U1RVTlMgMjAzLjAuMTEzLjI6MjQ3OCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBh
cmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNU
VU5TIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzJyk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
KCJTVFVOUyBleGFtcGxlLm5ldCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4g
MjAzLjAuMTEzLjI6MjQ3OCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4gcmVs
YXkuZXhhbXBsZS5uZXQ6MzQ3OCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4g
ZXhhbXBsZS5uZXQiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7
Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyAyMDMuMC4x
MTMuMjoyNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwot
dGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgcmVsYXkuZXhh
bXBsZS5uZXQ6MzQ3OCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMn
KTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIGV4YW1w
bGUubmV0IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVz
dCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiBOT05FIiknLCB0cnVl
LCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgTk9ORSIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNv
bm5lY3Rpb24oIlNUVU4gTk9ORSIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMnKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5T
IE5PTkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Ci10ZXN0
KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJ1bmRlZmluZWQiKScsIHRydWUs
ICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Ci10ZXN0KCduZXcgd2Via2l0RGVw
cmVjYXRlZFBlZXJDb25uZWN0aW9uKCJudWxsIiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bih7fSknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVzdCgn
bmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbig0MiknLCB0cnVlLCAnVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbihJbmZpbml0eSknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3Vt
ZW50cycpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigtSW5maW5p
dHkpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKLXRlc3QoJ25l
dyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oZW1wdHlGdW5jdGlvbiknLCB0cnVlLCAn
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOworLy8gMSBBcmd1bWVudCAobmV3IHdl
YmtpdFBlZXJDb25uZWN0aW9uMDAgcmVxdWlyZXMgYXQgbGVhc3QgMiBhcmd1bWVudHMpLgordGVz
dCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU4gMjAzLjAuMTEzLjI6MjQ3OCIpJywg
dHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJr
aXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiKScsIHRydWUs
ICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVl
ckNvbm5lY3Rpb24wMCgiU1RVTiBleGFtcGxlLm5ldCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJT
VFVOUyAyMDMuMC4xMTMuMjoyNDc4IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU5TIHJlbGF5
LmV4YW1wbGUubmV0OjM0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTlMgZXhhbXBsZS5u
ZXQiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCdu
ZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiAyMDMuMC4xMTMuMjoyNDc4IiknLCB0cnVl
LCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBl
ZXJDb25uZWN0aW9uMDAoIlRVUk4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIpJywgdHJ1ZSwgJ1R5
cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29u
bmVjdGlvbjAwKCJUVVJOIGV4YW1wbGUubmV0IiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5T
IDIwMy4wLjExMy4yOjI0NzgiKScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTlMgcmVsYXkuZXhh
bXBsZS5uZXQ6MzQ3OCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMn
KTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOUyBleGFtcGxlLm5ldCIp
JywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3
ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIE5PTkUiKScsIHRydWUsICdUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgi
VFVSTlMgTk9ORSIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsK
K3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOIE5PTkUiKScsIHRydWUsICdU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNv
bm5lY3Rpb24wMCgiU1RVTlMgTk9ORSIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBh
cmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJ1bmRlZmluZWQi
KScsIHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcg
d2Via2l0UGVlckNvbm5lY3Rpb24wMCgibnVsbCIpJywgdHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKHt9KScs
IHRydWUsICdUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzJyk7Cit0ZXN0KCduZXcgd2Vi
a2l0UGVlckNvbm5lY3Rpb24wMCg0MiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoSW5maW5pdHkpJywg
dHJ1ZSwgJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnKTsKK3Rlc3QoJ25ldyB3ZWJr
aXRQZWVyQ29ubmVjdGlvbjAwKC1JbmZpbml0eSknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cycpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoZW1wdHlG
dW5jdGlvbiknLCB0cnVlLCAnVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cycpOwogCiAv
LzIgQXJndW1lbnQKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNU
VU4gMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCduZXcg
d2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOIHJlbGF5LmV4YW1wbGUubmV0OjM0
NzgiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQ
ZWVyQ29ubmVjdGlvbigiU1RVTiBleGFtcGxlLm5ldCIsZW1wdHlGdW5jdGlvbiknLGZhbHNlKTsK
LXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIDIwMy4wLjEx
My4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJl
Y2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3OCIsZW1wdHlG
dW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0
aW9uKCJTVFVOUyBleGFtcGxlLm5ldCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0KCdu
ZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOIDIwMy4wLjExMy4yOjI0Nzgi
LGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVy
Q29ubmVjdGlvbigiVFVSTiByZWxheS5leGFtcGxlLm5ldDozNDc4IixlbXB0eUZ1bmN0aW9uKScs
IGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk4g
ZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTlMgMjAzLjAuMTEzLjI6MjQ3OCIsZW1wdHlGdW5j
dGlvbiknLCBmYWxzZSk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9u
KCJUVVJOUyByZWxheS5leGFtcGxlLm5ldDozNDc4IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsK
LXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlRVUk5TIGV4YW1wbGUu
bmV0IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXREZXByZWNhdGVk
UGVlckNvbm5lY3Rpb24oIlRVUk4gTk9ORSIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Ci10ZXN0
KCduZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJUVVJOUyBOT05FIixlbXB0eUZ1
bmN0aW9uKScsZmFsc2UpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlv
bigiU1RVTiBOT05FIixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKLXRlc3QoJ25ldyB3ZWJraXRE
ZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIE5PTkUiLGVtcHR5RnVuY3Rpb24pJywgZmFs
c2UpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiVFVSTiBOT05F
Iix1bmRlZmluZWQpJywgIHRydWUpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29u
bmVjdGlvbigiVFVSTlMgTk9ORSIse30pJywgdHJ1ZSk7Ci10ZXN0KCduZXcgd2Via2l0RGVwcmVj
YXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOIE5PTkUiLDQyKScsICB0cnVlKTsKLXRlc3QoJ25ldyB3
ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24oIlNUVU5TIE5PTkUiLEluZmluaXR5KScsIHRy
dWUpOwotdGVzdCgnbmV3IHdlYmtpdERlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbigiU1RVTlMgTk9O
RSIsLUluZmluaXR5KScsIHRydWUpOwotCi0KK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlv
bjAwKCJTVFVOIDIwMy4wLjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVz
dCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlNUVU4gcmVsYXkuZXhhbXBsZS5uZXQ6MzQ3
OCIsZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rp
b24wMCgiU1RVTiBleGFtcGxlLm5ldCIsZW1wdHlGdW5jdGlvbiknLGZhbHNlKTsKK3Rlc3QoJ25l
dyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyAyMDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1
bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVO
UyByZWxheS5leGFtcGxlLm5ldDozNDc4IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3Qo
J25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyBleGFtcGxlLm5ldCIsZW1wdHlGdW5j
dGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTiAy
MDMuMC4xMTMuMjoyNDc4IixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25ldyB3ZWJr
aXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIHJlbGF5LmV4YW1wbGUubmV0OjM0NzgiLGVtcHR5RnVu
Y3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk4g
ZXhhbXBsZS5uZXQiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBl
ZXJDb25uZWN0aW9uMDAoIlRVUk5TIDIwMy4wLjExMy4yOjI0NzgiLGVtcHR5RnVuY3Rpb24pJywg
ZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIHJlbGF5LmV4
YW1wbGUubmV0OjM0NzgiLGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmV3IHdlYmtp
dFBlZXJDb25uZWN0aW9uMDAoIlRVUk5TIGV4YW1wbGUubmV0IixlbXB0eUZ1bmN0aW9uKScsIGZh
bHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIE5PTkUiLGVtcHR5
RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmV3IHdlYmtpdFBlZXJDb25uZWN0aW9uMDAoIlRV
Uk5TIE5PTkUiLGVtcHR5RnVuY3Rpb24pJyxmYWxzZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNv
bm5lY3Rpb24wMCgiU1RVTiBOT05FIixlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25l
dyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJTVFVOUyBOT05FIixlbXB0eUZ1bmN0aW9uKScsIGZh
bHNlKTsKK3Rlc3QoJ25ldyB3ZWJraXRQZWVyQ29ubmVjdGlvbjAwKCJUVVJOIE5PTkUiLHVuZGVm
aW5lZCknLCAgdHJ1ZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiVFVSTlMg
Tk9ORSIse30pJywgdHJ1ZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RV
TiBOT05FIiw0MiknLCAgdHJ1ZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgi
U1RVTlMgTk9ORSIsSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCduZXcgd2Via2l0UGVlckNvbm5l
Y3Rpb24wMCgiU1RVTlMgTk9ORSIsLUluZmluaXR5KScsIHRydWUpOwogCiB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9zY3JpcHQtdGVzdHMvcGVlcmNvbm5lY3Rpb24tcmVtb3Zlc3RyZWFtLmpzIGIvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JpcHQtdGVzdHMvcGVlcmNvbm5lY3Rpb24tcmVtb3Zlc3Ry
ZWFtLmpzCmluZGV4IDQ3NzdkODQzM2NiMDRiNmI5OGIxMzNjYTA5MTZkNjY0ZDNhOWUxZTEuLjY2
N2U4YThjMGZkN2RmN2Y2NTVmZDQyNzQyNDE2OWI4ZmM2ZGI5NDggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyaXB0LXRlc3RzL3BlZXJjb25uZWN0aW9uLXJlbW92
ZXN0cmVhbS5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmlwdC10ZXN0
cy9wZWVyY29ubmVjdGlvbi1yZW1vdmVzdHJlYW0uanMKQEAgLTEsNTAgKzEsMTUgQEAKLWRlc2Ny
aXB0aW9uKCJUZXN0cyBEZXByZWNhdGVkUGVlckNvbm5lY3Rpb246OnJlbW92ZVN0cmVhbSgpLiIp
OwotCi12YXIgcGMgPSBuZXcgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCJTVFVOIHNv
bWUuc2VydmVyLmNvbSIsIGZ1bmN0aW9uKCkge30pOwotCi10cnkgewotICAgIHBjLnJlbW92ZVN0
cmVhbSgpOwotfSBjYXRjaChlKSB7Ci0gICAgdGVzdFBhc3NlZCgncGMucmVtb3ZlU3RyZWFtKCkg
dGhyZXcgJyArIGUpOwotfQotCi10cnkgewotICAgIHBjLnJlbW92ZVN0cmVhbSh1bmRlZmluZWQp
OwotfSBjYXRjaChlKSB7Ci0gICAgdGVzdFBhc3NlZCgncGMucmVtb3ZlU3RyZWFtKHVuZGVmaW5l
ZCkgdGhyZXcgJyArIGUpOwotfQotCi10cnkgewotICAgIHBjLnJlbW92ZVN0cmVhbShudWxsKTsK
LX0gY2F0Y2goZSkgewotICAgIHRlc3RQYXNzZWQoJ3BjLnJlbW92ZVN0cmVhbShudWxsKSB0aHJl
dyAnICsgZSk7Ci19Ci0KLXRyeSB7Ci0gICAgcGMucmVtb3ZlU3RyZWFtKG5ldyBBcnJheSgpKTsK
LX0gY2F0Y2goZSkgewotICAgIHRlc3RQYXNzZWQoJ3BjLnJlbW92ZVN0cmVhbShuZXcgQXJyYXko
KSkgdGhyZXcgJyArIGUpOwotfQotdHJ5IHsKLSAgICBwYy5yZW1vdmVTdHJlYW0oe30pOwotfSBj
YXRjaChlKSB7Ci0gICAgdGVzdFBhc3NlZCgncGMucmVtb3ZlU3RyZWFtKHt9KSB0aHJldycgKyBl
KTsKLX0KLXRyeSB7Ci0gICAgcGMucmVtb3ZlU3RyZWFtKDQyKTsKLX0gY2F0Y2goZSkgewotICAg
IHRlc3RQYXNzZWQoJ3BjLnJlbW92ZVN0cmVhbSg0MikgdGhyZXcnICsgZSk7Ci19Ci10cnkgewot
ICAgIHBjLnJlbW92ZVN0cmVhbShJbmZpbml0eSk7Ci19IGNhdGNoKGUpIHsKLSAgICB0ZXN0UGFz
c2VkKCdwYy5yZW1vdmVTdHJlYW0oSW5maW5pdHkpIHRocmV3JyArIGUpOwotfQotdHJ5IHsKLSAg
ICBwYy5yZW1vdmVTdHJlYW0oLUluZmluaXR5KTsKLX0gY2F0Y2goZSkgewotICAgIHRlc3RQYXNz
ZWQoJ3BjLnJlbW92ZVN0cmVhbSgtSW5maW5pdHkpIHRocmV3JyArIGUpOwotfQorZGVzY3JpcHRp
b24oIlRlc3RzIFBlZXJDb25uZWN0aW9uMDA6OnJlbW92ZVN0cmVhbSgpLiIpOworCit2YXIgcGMg
PSBuZXcgd2Via2l0UGVlckNvbm5lY3Rpb24wMCgiU1RVTiBzb21lLnNlcnZlci5jb20iLCBmdW5j
dGlvbigpIHt9KTsKKworc2hvdWxkVGhyb3coJ3BjLnJlbW92ZVN0cmVhbSgpOycpOworc2hvdWxk
VGhyb3coJ3BjLnJlbW92ZVN0cmVhbSh1bmRlZmluZWQpOycpOworc2hvdWxkVGhyb3coJ3BjLnJl
bW92ZVN0cmVhbShudWxsKTsnKTsKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJlYW0obmV3IEFy
cmF5KCkpOycpOworc2hvdWxkVGhyb3coJ3BjLnJlbW92ZVN0cmVhbSh7fSk7Jyk7CitzaG91bGRU
aHJvdygncGMucmVtb3ZlU3RyZWFtKDQyKTsnKTsKK3Nob3VsZFRocm93KCdwYy5yZW1vdmVTdHJl
YW0oSW5maW5pdHkpOycpOworc2hvdWxkVGhyb3coJ3BjLnJlbW92ZVN0cmVhbSgtSW5maW5pdHkp
OycpOwogCiB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9y
LWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0
CmluZGV4IGU0YWZlMTI2YzhjNTVmNDM5NjMxZTZmNGQzOWIzMDkyYjk1MzdhOWYuLmE5YzhhZjY4
YmFkNjUzZWZlNTkzMTM1NzlkYzJiMGI5MzZjNjExNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1Y3Rvci1hcy1hLWZ1bmN0
aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTE4
LDcgKzE4LDYgQEAgUEFTUyBJbnQxNkFycmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
RE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2EKIFBBU1MgSW50MzJBcnJheSgpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IERPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJl
IGNhbGxlZCBhcyBhIGZ1bmN0aW9uLi4KIFBBU1MgSW50OEFycmF5KCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEg
ZnVuY3Rpb24uLgogUEFTUyBNZXNzYWdlQ2hhbm5lbCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IERPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9u
Li4KLVBBU1Mgd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEg
ZnVuY3Rpb24uLgogU0tJUCBTaGFyZWRXb3JrZXIgaXMgbm90IGltcGxlbWVudGVkLgogUEFTUyBV
aW50MTZBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IERPTSBvYmplY3QgY29uc3Ry
dWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLi4KIFBBU1MgVWludDMyQXJyYXko
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5v
dCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvZmFzdC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL2NhbGwtYS1jb25zdHJ1
Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCAyNGMyZGZjYzQxMTQxOTAyZTM4
NDk3OGVmNThjZjAyNDNmNzY0YzA1Li45MDNkNTQ3ZmQzYjQ4YjVmNjM0YmY2OGJiMWUyOTc3NzNj
ZGIxZGI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9kb20vY2Fs
bC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlv
bi1leHBlY3RlZC50eHQKQEAgLTE4LDcgKzE4LDYgQEAgUEFTUyBJbnQxNkFycmF5KCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tvYmplY3QgSW50MTZBcnJheUNvbnN0cnVjdG9yXScgaXMK
IFBBU1MgSW50MzJBcnJheSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IElu
dDMyQXJyYXlDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1bmN0aW9uIChldmFsdWF0aW5nICdJbnQz
MkFycmF5KCknKS4KIFBBU1MgSW50OEFycmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
J1tvYmplY3QgSW50OEFycmF5Q29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVh
dGluZyAnSW50OEFycmF5KCknKS4KIFBBU1MgTWVzc2FnZUNoYW5uZWwoKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiAnW29iamVjdCBNZXNzYWdlQ2hhbm5lbENvbnN0cnVjdG9yXScgaXMgbm90
IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ01lc3NhZ2VDaGFubmVsKCknKS4KLVBBU1Mgd2Via2l0
RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tv
YmplY3QgRGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uQ29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5j
dGlvbiAoZXZhbHVhdGluZyAnd2Via2l0RGVwcmVjYXRlZFBlZXJDb25uZWN0aW9uKCknKS4KIFBB
U1MgU2hhcmVkV29ya2VyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogJ1tvYmplY3QgU2hh
cmVkV29ya2VyQ29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnU2hh
cmVkV29ya2VyKCknKS4KIFBBU1MgVWludDE2QXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiAnW29iamVjdCBVaW50MTZBcnJheUNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rpb24g
KGV2YWx1YXRpbmcgJ1VpbnQxNkFycmF5KCknKS4KIFBBU1MgVWludDMyQXJyYXkoKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBVaW50MzJBcnJheUNvbnN0cnVjdG9yXScgaXMg
bm90IGEgZnVuY3Rpb24gKGV2YWx1YXRpbmcgJ1VpbnQzMkFycmF5KCknKS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0
cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggODM4ZTA4ODdjY2QzNjUzODhiZTA5NzJiZTJiZDE3
NjVmZGU2ZTUwNC4uZGMyMDczN2RhNDAxN2Y2YzYyNzdiNzdiNjc1NmI1ODNmZjdjNmIxZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVj
dG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMv
Z2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTM0Miw3ICszNDIsNiBAQCBQQVNT
IFhQYXRoRXZhbHVhdG9yLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgWFBhdGhFdmFsdWF0b3JDb25z
dHJ1Y3Rvcl0nCiBQQVNTIFhQYXRoRXhjZXB0aW9uLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgWFBh
dGhFeGNlcHRpb25Db25zdHJ1Y3Rvcl0nCiBQQVNTIFhQYXRoUmVzdWx0LnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgWFBhdGhSZXN1bHRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFhTTFRQcm9jZXNzb3IudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBYU0xUUHJvY2Vzc29yQ29uc3RydWN0b3JdJwotRkFJTCB3ZWJr
aXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24udG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCB3
ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb25Db25zdHJ1Y3Rvcl0uIFdhcyBbb2JqZWN0IERl
cHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkNvbnN0cnVjdG9yXS4KIEZBSUwgd2Via2l0TWVkaWFTdHJl
YW0udG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCB3ZWJraXRNZWRpYVN0cmVhbUNvbnN0cnVj
dG9yXS4gV2FzIFtvYmplY3QgTWVkaWFTdHJlYW1Db25zdHJ1Y3Rvcl0uCiBGQUlMIHdlYmtpdFBl
ZXJDb25uZWN0aW9uMDAudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCB3ZWJraXRQZWVyQ29u
bmVjdGlvbjAwQ29uc3RydWN0b3JdLiBXYXMgW29iamVjdCBQZWVyQ29ubmVjdGlvbjAwQ29uc3Ry
dWN0b3JdLgogRkFJTCB3ZWJraXRVUkwudG9TdHJpbmcoKSBzaG91bGQgYmUgW29iamVjdCB3ZWJr
aXRVUkxDb25zdHJ1Y3Rvcl0uIFdhcyBbb2JqZWN0IFVSTENvbnN0cnVjdG9yXS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3It
YXMtYS1mdW5jdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFz
dC9kb20vY2FsbC1hLWNvbnN0cnVjdG9yLWFzLWEtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4
IDcyYjQxMzFhZjkyMGZlZjRkZWE2YjE0NWI4NWU4Yzc5ZDIyMmMyYzUuLmVhNTQ1ZDA1MjI0NTQ2
NWVkZTJiNjEwOGUwZmRhM2ExZDM2OTk0MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9mYXN0L2RvbS9jYWxsLWEtY29uc3RydWN0b3ItYXMtYS1mdW5jdGlvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL2NhbGwtYS1jb25z
dHJ1Y3Rvci1hcy1hLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTgsNyArMTgsNiBAQCBQQVNT
IEludDE2QXJyYXkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBJbnQxNkFy
cmF5Q29uc3RydWN0b3JdJyBpcwogUEFTUyBJbnQzMkFycmF5KCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogJ1tvYmplY3QgSW50MzJBcnJheUNvbnN0cnVjdG9yXScgaXMgbm90IGEgZnVuY3Rp
b24gKGV2YWx1YXRpbmcgJ0ludDMyQXJyYXkoKScpLgogUEFTUyBJbnQ4QXJyYXkoKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiAnW29iamVjdCBJbnQ4QXJyYXlDb25zdHJ1Y3Rvcl0nIGlzIG5v
dCBhIGZ1bmN0aW9uIChldmFsdWF0aW5nICdJbnQ4QXJyYXkoKScpLgogUEFTUyBNZXNzYWdlQ2hh
bm5lbCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IE1lc3NhZ2VDaGFubmVs
Q29uc3RydWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnTWVzc2FnZUNoYW5u
ZWwoKScpLgotU0tJUCB3ZWJraXREZXByZWNhdGVkUGVlckNvbm5lY3Rpb24gaXMgbm90IGltcGxl
bWVudGVkLgogUEFTUyBTaGFyZWRXb3JrZXIoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAn
W29iamVjdCBTaGFyZWRXb3JrZXJDb25zdHJ1Y3Rvcl0nIGlzIG5vdCBhIGZ1bmN0aW9uIChldmFs
dWF0aW5nICdTaGFyZWRXb3JrZXIoKScpLgogUEFTUyBVaW50MTZBcnJheSgpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IFVpbnQxNkFycmF5Q29uc3RydWN0b3JdJyBpcyBub3Qg
YSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnVWludDE2QXJyYXkoKScpLgogUEFTUyBVaW50MzJBcnJh
eSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICdbb2JqZWN0IFVpbnQzMkFycmF5Q29uc3Ry
dWN0b3JdJyBpcyBub3QgYSBmdW5jdGlvbiAoZXZhbHVhdGluZyAnVWludDMyQXJyYXkoKScpLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>