<?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>225775</bug_id>
          
          <creation_ts>2021-05-13 12:29:46 -0700</creation_ts>
          <short_desc>[Cocoa] Plumb data detector results through some platform objects</short_desc>
          <delta_ts>2021-05-13 21:06:47 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>annulen</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1759781</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-13 12:29:46 -0700</bug_when>
    <thetext>Work towards rdar://75504956.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759869</commentid>
    <comment_count>1</comment_count>
      <attachid>428570</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-13 16:06:16 -0700</bug_when>
    <thetext>Created attachment 428570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759874</commentid>
    <comment_count>2</comment_count>
      <attachid>428571</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-13 16:16:47 -0700</bug_when>
    <thetext>Created attachment 428571
Fix non-internal builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759878</commentid>
    <comment_count>3</comment_count>
      <attachid>428570</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-13 16:19:07 -0700</bug_when>
    <thetext>Comment on attachment 428570
Patch

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

r=mews

&gt; Source/WebCore/SourcesCocoa.txt:-240
&gt; -platform/cocoa/DataDetectorsCoreSoftLink.mm @no-unify

Do you need to add this to another `SourcesCocoa.txt` and/or `.cmake` file in PAL?

&gt; Source/WebKit/Shared/WebCoreArgumentCoders.cpp:3225
&gt; +    return { WTFMove(result) };

NIT: I think you can drop the `{` `}`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759884</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-13 16:24:12 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #3)
&gt; Comment on attachment 428570 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=428570&amp;action=review
&gt; 
&gt; r=mews
&gt; 
&gt; &gt; Source/WebCore/SourcesCocoa.txt:-240
&gt; &gt; -platform/cocoa/DataDetectorsCoreSoftLink.mm @no-unify
&gt; 
&gt; Do you need to add this to another `SourcesCocoa.txt` and/or `.cmake` file
&gt; in PAL?

PAL doesn&apos;t build with unified sources. However, there is a cmake file for PAL; I added the new headers there.

&gt; 
&gt; &gt; Source/WebKit/Shared/WebCoreArgumentCoders.cpp:3225
&gt; &gt; +    return { WTFMove(result) };
&gt; 
&gt; NIT: I think you can drop the `{` `}`

👍🏻</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759929</commentid>
    <comment_count>5</comment_count>
      <attachid>428584</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-13 17:40:53 -0700</bug_when>
    <thetext>Created attachment 428584
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759998</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-13 21:06:45 -0700</bug_when>
    <thetext>Committed r277479 (237714@main): &lt;https://commits.webkit.org/237714@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428584.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428570</attachid>
            <date>2021-05-13 16:06:16 -0700</date>
            <delta_ts>2021-05-13 16:25:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225775-20210513160615.patch</filename>
            <type>text/plain</type>
            <size>64266</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ2ZDdkNjU3ZjlhMTZl
M2JkYTllMGJlNDA0NTRiN2RiMTgxODQ3MS4uOGE4MzY1YmM1YzcxYTc3MTM1NTQyY2Q0NmVmMGE4
ZWYyMmI2MTJmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA1LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUGx1
bWIgZGF0YSBkZXRlY3RvciByZXN1bHRzIHRocm91Z2ggc29tZSBwbGF0Zm9ybSBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3NzUKKyAg
ICAgICAgV29yayB0b3dhcmRzIHJkYXI6Ly83NTUwNDk1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBhIG5ldyBzdHJ1Y3QgdG8gaG9s
ZCBkYXRhIGRldGVjdGlvbiByZXN1bHRzLCBhbmQgYWRkIGl0IHRvIHRoZSBleGlzdGluZyByZXN1
bHRzIG9iamVjdCB3aGVuCisgICAgICAgIGBFTkFCTEUoREFUQV9ERVRFQ1RJT04pYCBpcyBkZWZp
bmVkLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFNvdXJj
ZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFEZXRlY3Rpb246OmNhbkJlUHJlc2VudGVkQnlEYXRhRGV0ZWN0b3JzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFEZXRlY3Rpb246OmNhblByZXNlbnREYXRhRGV0ZWN0b3JzVUlG
b3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OnJlc3VsdElzVVJMKToKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnN0cnVjdFVSTFN0cmluZ0ZvclJlc3VsdCk6CisgICAgICAgIChXZWJDb3JlOjpi
dWlsZFF1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRl
bnRJblJhbmdlKToKKworICAgICAgICBBZGQgYSBgUEFMYCBuYW1lc3BhY2UgdG8gZWFjaCBvZiB0
aGVzZSBEYXRhRGV0ZWN0b3JzQ29yZSBzb2Z0bGlua2luZyBjYWxsIHNpdGVzLCBzaW5jZSB0aGUg
c29mdCBsaW5rIGhlYWRlciBub3cKKyAgICAgICAgZXhpc3RzIGluIFBBTC4KKworICAgICAgICAq
IHBsYXRmb3JtL0ltYWdlRXh0cmFjdGlvblJlc3VsdC5oOgorICAgICAgICAoV2ViQ29yZTo6SW1h
Z2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbzo6SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9y
SW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUV4dHJhY3Rpb25SZXN1bHQ6OmlzRW1wdHkg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VFeHRyYWN0aW9uUmVzdWx0OjplbmNvZGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VFeHRyYWN0aW9uUmVzdWx0OjpkZWNvZGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRM
aW5rLm1tOiBSZW1vdmVkLgorCisgICAgICAgIEFkZGl0aW9uYWxseSwgbW92ZSBgRGF0YURldGVj
dG9yc0NvcmVTb2Z0TGluay57aHxtbX1gIG91dCBvZiBgV2ViQ29yZS9wbGF0Zm9ybWAgYW5kIGlu
dG8gUEFMIGFzIHNvZnRsaW5raW5nCisgICAgICAgIGhlYWRlcnMsIHNvIHRoYXQgdGhleSBjYW4g
YmUgaW1wb3J0ZWQgaW4gV2ViS2l0IGFzIHdlbGwgYXMgV2ViQ29yZS4KKwogMjAyMS0wNS0xMyAg
SmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbIG1hY09TIFdrMiBd
IG1lZGlhL21lZGlhLWZyYWdtZW50cy9UQzAwNTEuaHRtbCBpcyBmbGFrZXkgY3Jhc2hpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IGIzMzVjMmE1YzQyMDdmOWZkM2FhYTE2OTljMzM5ODQ3ZjIwYjQ2
MzMuLjY1YWFlOTMzYmY3NGNiOGFlY2Y4NDg4NjY3YTFlOWZmMTQ3YzQ3M2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA1LTEzICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUGx1bWIgZGF0YSBkZXRlY3Rv
ciByZXN1bHRzIHRocm91Z2ggc29tZSBwbGF0Zm9ybSBvYmplY3RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3NzUKKyAgICAgICAgV29yayB0b3dh
cmRzIHJkYXI6Ly83NTUwNDk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1vdmUgYERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsue2h8bW19YCBpbnRv
IFBBTCwgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBpbiBXZWJLaXQgYXMgd2VsbC4KKworICAgICAg
ICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9jb2NvYS9E
YXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmguCisgICAgICAgICogcGFs
L2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW06IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tLgorCiAy
MDIxLTA1LTEyICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRvcHQgQ29yZU1lZGlhIFNQSSB0byBpZGVudGlmeSBhdWRpby1vbmx5IHBsYXliYWNrIGZvciBN
U0UgY2xpZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBjODEwZDU2MmZiOTA5NzA5MDU0MTlhYmEyODI4MTdjYWUx
ZWM3ZmU2Li5hYTBhZDczNDMxMWRiNDgyMDY4MWZhODYzODVjNzBiYjIzOTIwOTVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA1LTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUGx1bWIgZGF0YSBkZXRlY3RvciByZXN1
bHRzIHRocm91Z2ggc29tZSBwbGF0Zm9ybSBvYmplY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3NzUKKyAgICAgICAgV29yayB0b3dhcmRzIHJk
YXI6Ly83NTUwNDk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBJUEMgZW5jb2RpbmcgYW5kIGRlY29kaW5nIHN1cHBvcnQgZm9yIHRoZSBuZXcg
c3RydWN0LgorCisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0Nv
Y29hLm1tOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPEltYWdlRXh0cmFjdGlvbkRhdGFE
ZXRlY3RvckluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEpOgorICAgICAgICAoSVBDOjpBcmd1bWVu
dENvZGVyPEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+OjpkZWNvZGVQbGF0Zm9ybURh
dGEpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAg
ICAoSVBDOjpBcmd1bWVudENvZGVyPEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+Ojpl
bmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPEltYWdlRXh0cmFjdGlvbkRhdGFE
ZXRlY3RvckluZm8+OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaDoKKwogMjAyMS0wNS0xMyAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQ0dEaXNwbGF5TGlzdCBkZWJ1ZyBjb25maWd1cmF0aW9uIGZhaWxzIHRvIGJ1aWxk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMzNkZmZkZTE1Y2ZlZTliYWQ4NmUwMWI5ZGQ4YjliMTg3N2RmZjdkYS4uMTk2ZTM5ZDMy
NWNiODMwNGM4MWFjYmNiMWIyY2I0YzU4ZDI0ZTg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjA3LDYgKzIwNyw4IEBACiAJ
CUY0NDI5MTYwMUZBNTI2MUUwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxNUYxRkE1MjYxRTAw
MkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmggKi87IH07CiAJCUY0NDI5MTY0MUZBNTI2NzAw
MDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE2MjFGQTUyNjcwMDAyQ0M5M0UgLyogRmlsZVNp
emVGb3JtYXR0ZXIuY3BwICovOyB9OwogCQlGNDQyOTE2ODFGQTUyNzA1MDAyQ0M5M0UgLyogRmls
ZVNpemVGb3JtYXR0ZXJDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0NDI5MTY2MUZBNTI3MDUwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRl
ckNvY29hLm1tICovOyB9OworCQlGNERERDAxQjI2NERDNjlFMDBFRjFCOTEgLyogRGF0YURldGVj
dG9yc0NvcmVTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY0REREMDE5MjY0REM2OUUwMEVGMUI5MSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNv
ZnRMaW5rLm1tICovOyB9OworCQlGNERERDAxQzI2NERDNjlFMDBFRjFCOTEgLyogRGF0YURldGVj
dG9yc0NvcmVTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjREREQwMUEyNjREQzY5RTAwRUYxQjkxIC8qIERhdGFEZXRlY3RvcnNDb3JlU29m
dExpbmsuaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdp
biBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwpAQCAtNDIwLDYgKzQyMiw4IEBACiAJ
CUY0NDI5MTVGMUZBNTI2MUUwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGaWxlU2l6ZUZvcm1hdHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGNDQyOTE2MjFGQTUyNjcwMDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRmlsZVNpemVGb3JtYXR0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNDQyOTE2NjFGQTUyNzA1MDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0ZXJD
b2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZpbGVTaXplRm9ybWF0dGVyQ29jb2EubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0REREMDE5MjY0REM2OUUwMEVGMUI5MSAv
KiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRjREREQwMUEyNjREQzY5RTAwRUYxQjkxIC8qIERhdGFEZXRlY3Rv
cnNDb3JlU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0YURl
dGVjdG9yc0NvcmVTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogLyogRW5k
IFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVp
bGRQaGFzZSBzZWN0aW9uICovCkBAIC03MDcsNiArNzExLDggQEAKIAkJCQkwNzdFODdBRjIyNkE0
NjAyMDBBMkFGRjAgLyogQVZGb3VuZGF0aW9uU29mdExpbmsubW0gKi8sCiAJCQkJNTdGMUM5MDcy
NURDRjBDRjAwRThGNkVBIC8qIENyeXB0b0tpdENCcmlkZ2luZ1NvZnRMaW5rLmggKi8sCiAJCQkJ
NTdGMUM5MDgyNURDRjBDRjAwRThGNkVBIC8qIENyeXB0b0tpdENCcmlkZ2luZ1NvZnRMaW5rLm1t
ICovLAorCQkJCUY0REREMDFBMjY0REM2OUUwMEVGMUI5MSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNv
ZnRMaW5rLmggKi8sCisJCQkJRjREREQwMTkyNjREQzY5RTAwRUYxQjkxIC8qIERhdGFEZXRlY3Rv
cnNDb3JlU29mdExpbmsubW0gKi8sCiAJCQkJRjQ0MjkxNjYxRkE1MjcwNTAwMkNDOTNFIC8qIEZp
bGVTaXplRm9ybWF0dGVyQ29jb2EubW0gKi8sCiAJCQkJMUMwMjJFRkMyMkNGRThFMDAwNkRGMDFC
IC8qIEd1bnppcC5jcHAgKi8sCiAJCQkJQ0RBQ0IzNUUyMzg3M0U0ODAwMThEN0NFIC8qIE1lZGlh
VG9vbGJveFNvZnRMaW5rLmNwcCAqLywKQEAgLTg0Nyw2ICs4NTMsNyBAQAogCQkJCTFDMDlEMDUz
MUUzMUM0NDEwMDcyNUYxOCAvKiBDcnlwdG9EaWdlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3
RjFDOTA5MjVEQ0YwQ0YwMEU4RjZFQSAvKiBDcnlwdG9LaXRDQnJpZGdpbmdTb2Z0TGluay5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJREY4M0UyMDkyNjM3MzRGMTAwMDgyNUVGIC8qIENyeXB0b0tpdENC
cmlkZ2luZ1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjREREQwMUMyNjREQzY5RTAwRUYxQjkx
IC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDMkRB
MTQxMUYzQkVCNDkwMERCQzMxNyAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEM3Nzg1OEExRjQ1MTMwRjAwRjRFQkI2IC8qIERhdGFEZXRlY3RvcnNTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCTBDNUFGOTFBMUY0M0E0QzcwMDJFQUMwMiAvKiBEYXRhRGV0ZWN0
b3JzVUlTUEkuaCBpbiBIZWFkZXJzICovLApAQCAtMTA1OSw2ICsxMDY2LDcgQEAKIAkJCQkxQzc3
QzhDOTI1RDc5NzIwMDA2MzVFMEMgLyogQ29yZVRleHRTb2Z0TGluay5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQzA5RDA1NjFFMzFDNDY1MDA3MjVGMTggLyogQ3J5cHRvRGlnZXN0Q29tbW9uQ3J5
cHRvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3RjFDOTBBMjVEQ0YwQ0YwMEU4RjZFQSAvKiBD
cnlwdG9LaXRDQnJpZGdpbmdTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJCUY0REREMDFC
MjY0REM2OUUwMEVGMUI5MSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTExNzVCNTgxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92
aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNDQyOTE2NDFGQTUyNjcwMDAyQ0M5M0UgLyog
RmlsZVNpemVGb3JtYXR0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjQ0MjkxNjgxRkE1Mjcw
NTAwMkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyQ29jb2EubW0gaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvRGF0YURldGVjdG9yc0NvcmVT
b2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29y
ZVNvZnRMaW5rLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTliYzlkMjc2NTlhNmQxZDliN2EzMWViYjg3ZjY3YzQ0
MTVkMDE0YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2Ev
RGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorCisjaW5j
bHVkZSA8cGFsL3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oPgorI2luY2x1ZGUgPHd0
Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9IRUFERVIoUEFMLCBE
YXRhRGV0ZWN0b3JzQ29yZSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgRERTY2Fu
bmVyUmVzdWx0KQorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK1NPRlRfTElOS19GVU5DVElP
Tl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lckNyZWF0ZSwgRERT
Y2FubmVyUmVmLCAoRERTY2FubmVyVHlwZSB0eXBlLCBERFNjYW5uZXJPcHRpb25zIG9wdGlvbnMs
IENGRXJyb3JSZWYgKiBlcnJvclJlZiksICh0eXBlLCBvcHRpb25zLCBlcnJvclJlZikpCitTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5u
ZXJTY2FuUXVlcnksIEJvb2xlYW4sIChERFNjYW5uZXJSZWYgc2Nhbm5lciwgRERTY2FuUXVlcnlS
ZWYgcXVlcnkpLCAoc2Nhbm5lciwgcXVlcnkpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlDcmVhdGUsIEREU2NhblF1ZXJ5
UmVmLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yKSwgKGFsbG9jYXRvcikpCitTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDb3B5
UmVzdWx0c1dpdGhPcHRpb25zLCBDRkFycmF5UmVmLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIERE
U2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9ucyBvcHRpb25zKSwgKHNjYW5uZXIsIG9wdGlvbnMpKQor
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERS
ZXN1bHRHZXRSYW5nZSwgQ0ZSYW5nZSwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQor
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERS
ZXN1bHRHZXRUeXBlLCBDRlN0cmluZ1JlZiwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQp
KQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwg
RERSZXN1bHRHZXRDYXRlZ29yeSwgRERSZXN1bHRDYXRlZ29yeSwgKEREUmVzdWx0UmVmIHJlc3Vs
dCksIChyZXN1bHQpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0
ZWN0b3JzQ29yZSwgRERSZXN1bHRJc1Bhc3REYXRlLCBCb29sZWFuLCAoRERSZXN1bHRSZWYgcmVz
dWx0LCBDRkRhdGVSZWYgcmVmZXJlbmNlRGF0ZSwgQ0ZUaW1lWm9uZVJlZiByZWZlcmVuY2VUaW1l
Wm9uZSksIChyZXN1bHQsIHJlZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKSkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1
ZXJ5QWRkVGV4dEZyYWdtZW50LCB2b2lkLCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIENGU3RyaW5n
UmVmIGZyYWdtZW50LCBDRlJhbmdlIHJhbmdlLCB2b2lkICppZGVudGlmaWVyLCBERFRleHRGcmFn
bWVudE1vZGUgbW9kZSwgRERUZXh0Q29hbGVzY2luZ1R5cGUgdHlwZSksIChxdWVyeSwgZnJhZ21l
bnQsIHJhbmdlLCBpZGVudGlmaWVyLCBtb2RlLCB0eXBlKSkKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkU2VwYXJhdG9y
LCB2b2lkLCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIEREVGV4dENvYWxlc2NpbmdUeXBlIHR5cGUp
LCAocXVlcnksIHR5cGUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlBZGRMaW5lQnJlYWssIHZvaWQsIChERFNjYW5RdWVy
eVJlZiBxdWVyeSksIChxdWVyeSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUdldEZyYWdtZW50TWV0YURhdGEsIHZvaWQg
KiwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5LCBDRkluZGV4IHF1ZXJ5SW5kZXgpLCAocXVlcnksIHF1
ZXJ5SW5kZXgpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0
b3JzQ29yZSwgRERSZXN1bHRIYXNQcm9wZXJ0aWVzLCBib29sLCAoRERSZXN1bHRSZWYgcmVzdWx0
LCBDRkluZGV4IHByb3BlcnR5U2V0KSwgKHJlc3VsdCwgcHJvcGVydHlTZXQpKQorU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRT
dWJSZXN1bHRzLCBDRkFycmF5UmVmLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJl
c3VsdEdldFF1ZXJ5UmFuZ2VGb3JVUkxpZmljYXRpb24sIEREUXVlcnlSYW5nZSwgKEREUmVzdWx0
UmVmIHJlc3VsdCksIChyZXN1bHQpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFM
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxTdHJpbmdGb3JSZXN1bHQsIE5TU3RyaW5nICosIChE
RFJlc3VsdFJlZiBjdXJyZW50UmVzdWx0LCBOU1N0cmluZyAqIHJlc3VsdElkZW50aWZpZXIsIERE
VVJMaWZpZXJQaG9uZU51bWJlckRldGVjdGlvblR5cGVzIGluY2x1ZGluZ1RlbEdyb3VwcywgTlNE
YXRlICogcmVmZXJlbmNlRGF0ZSwgTlNUaW1lWm9uZSAqIHJlZmVyZW5jZVRpbWVab25lKSwgKGN1
cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIsIGluY2x1ZGluZ1RlbEdyb3VwcywgcmVmZXJl
bmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxUYXBBbmRIb2xkU2NoZW1lcywgTlNBcnJh
eSAqLCAoKSwgKCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRl
Y3RvcnNDb3JlLCBERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yVVJMLCBCT09M
LCAoTlNVUkwgKnVybCksICh1cmwpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFM
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTaG91bGRJbW1lZGlhdGVseVNob3dBY3Rpb25TaGVldEZv
clJlc3VsdCwgQk9PTCwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQorU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTaG91bGRVc2VM
aWdodExpbmtzRm9yUmVzdWx0LCBCT09MLCAoRERSZXN1bHRSZWYgcmVzdWx0LCBCT09MIGV4dHJh
Y3RlZEZyb21TaWduYXR1cmUpLCAocmVzdWx0LCBleHRyYWN0ZWRGcm9tU2lnbmF0dXJlKSkKK1NP
RlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5k
ZXJQYXJzZWNTb3VyY2VLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJfRk9SX0hF
QURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlckh0dHBVUkxLZXksIENGU3RyaW5n
UmVmKQorU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3Jl
LCBEREJpbmRlcldlYlVSTEtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1Jf
SEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyTWFpbFVSTEtleSwgQ0ZTdHJp
bmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0Nv
cmUsIEREQmluZGVyR2VuZXJpY1VSTEtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRF
Ul9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyRW1haWxLZXksIENG
U3RyaW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3Rv
cnNDb3JlLCBEREJpbmRlclRyYWNraW5nTnVtYmVyS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElO
S19QT0lOVEVSX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJGbGln
aHRJbmZvcm1hdGlvbktleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVB
REVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyU2lnbmF0dXJlQmxvY2tLZXksIENG
U3RyaW5nUmVmKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0
b3JzQ29yZSwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zRm9yUGFzc2l2ZVVzZSwgRERTY2Fu
bmVyQ29weVJlc3VsdHNPcHRpb25zKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFM
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyRW5hYmxlT3B0aW9uYWxTb3VyY2UsIHZvaWQs
IChERFNjYW5uZXJSZWYgc2Nhbm5lciwgRERTY2FubmVyU291cmNlIHNvdXJjZSwgQm9vbGVhbiBl
bmFibGUpLCAoc2Nhbm5lciwgc291cmNlLCBlbmFibGUpKQorI2VuZGlmIC8vIFBMQVRGT1JNKElP
U19GQU1JTFkpCisKKyNlbmRpZiAvLyBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExp
bmsubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzk0ZTk3ZDY0Y2QxMThlN2I2OTFhYzIwYWY4ZmJiMTQwYzVjMGU1
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvRGF0YURl
dGVjdG9yc0NvcmVTb2Z0TGluay5tbQpAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKKworI2lu
Y2x1ZGUgPHBhbC9zcGkvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTUEkuaD4KKyNpbmNsdWRlIDx3
dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNFKFBBTCwg
RGF0YURldGVjdG9yc0NvcmUpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9S
VChQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJSZXN1bHQsIFBBTF9FWFBPUlQpCisK
KyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Uo
UEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyQ3JlYXRlLCBERFNjYW5uZXJSZWYsIChE
RFNjYW5uZXJUeXBlIHR5cGUsIEREU2Nhbm5lck9wdGlvbnMgb3B0aW9ucywgQ0ZFcnJvclJlZiAq
IGVycm9yUmVmKSwgKHR5cGUsIG9wdGlvbnMsIGVycm9yUmVmKSkKK1NPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lclNjYW5RdWVyeSwg
Qm9vbGVhbiwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBERFNjYW5RdWVyeVJlZiBxdWVyeSksIChz
Y2FubmVyLCBxdWVyeSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFE
ZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUNyZWF0ZSwgRERTY2FuUXVlcnlSZWYsIChDRkFsbG9j
YXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9yKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lckNvcHlSZXN1bHRzV2l0aE9w
dGlvbnMsIENGQXJyYXlSZWYsIChERFNjYW5uZXJSZWYgc2Nhbm5lciwgRERTY2FubmVyQ29weVJl
c3VsdHNPcHRpb25zIG9wdGlvbnMpLCAoc2Nhbm5lciwgb3B0aW9ucykpCitTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFJhbmdl
LCBDRlJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFR5cGUs
IENGU3RyaW5nUmVmLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldENh
dGVnb3J5LCBERFJlc3VsdENhdGVnb3J5LCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkp
CitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBE
RFJlc3VsdElzUGFzdERhdGUsIEJvb2xlYW4sIChERFJlc3VsdFJlZiByZXN1bHQsIENGRGF0ZVJl
ZiByZWZlcmVuY2VEYXRlLCBDRlRpbWVab25lUmVmIHJlZmVyZW5jZVRpbWVab25lKSwgKHJlc3Vs
dCwgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQorU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlBZGRUZXh0RnJh
Z21lbnQsIHZvaWQsIChERFNjYW5RdWVyeVJlZiBxdWVyeSwgQ0ZTdHJpbmdSZWYgZnJhZ21lbnQs
IENGUmFuZ2UgcmFuZ2UsIHZvaWQgKmlkZW50aWZpZXIsIEREVGV4dEZyYWdtZW50TW9kZSBtb2Rl
LCBERFRleHRDb2FsZXNjaW5nVHlwZSB0eXBlKSwgKHF1ZXJ5LCBmcmFnbWVudCwgcmFuZ2UsIGlk
ZW50aWZpZXIsIG1vZGUsIHR5cGUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFM
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlBZGRTZXBhcmF0b3IsIHZvaWQsIChERFNj
YW5RdWVyeVJlZiBxdWVyeSwgRERUZXh0Q29hbGVzY2luZ1R5cGUgdHlwZSksIChxdWVyeSwgdHlw
ZSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3Jl
LCBERFNjYW5RdWVyeUFkZExpbmVCcmVhaywgdm9pZCwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5KSwg
KHF1ZXJ5KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9y
c0NvcmUsIEREU2NhblF1ZXJ5R2V0RnJhZ21lbnRNZXRhRGF0YSwgdm9pZCAqLCAoRERTY2FuUXVl
cnlSZWYgcXVlcnksIENGSW5kZXggcXVlcnlJbmRleCksIChxdWVyeSwgcXVlcnlJbmRleCkpCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJl
c3VsdEhhc1Byb3BlcnRpZXMsIGJvb2wsIChERFJlc3VsdFJlZiByZXN1bHQsIENGSW5kZXggcHJv
cGVydHlTZXQpLCAocmVzdWx0LCBwcm9wZXJ0eVNldCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFN1YlJlc3VsdHMsIENG
QXJyYXlSZWYsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKK1NPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0UXVlcnlS
YW5nZUZvclVSTGlmaWNhdGlvbiwgRERRdWVyeVJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwg
KHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFVSTFN0cmluZ0ZvclJlc3VsdCwgTlNTdHJpbmcgKiwgKEREUmVzdWx0UmVmIGN1
cnJlbnRSZXN1bHQsIE5TU3RyaW5nICogcmVzdWx0SWRlbnRpZmllciwgRERVUkxpZmllclBob25l
TnVtYmVyRGV0ZWN0aW9uVHlwZXMgaW5jbHVkaW5nVGVsR3JvdXBzLCBOU0RhdGUgKiByZWZlcmVu
Y2VEYXRlLCBOU1RpbWVab25lICogcmVmZXJlbmNlVGltZVpvbmUpLCAoY3VycmVudFJlc3VsdCwg
cmVzdWx0SWRlbnRpZmllciwgaW5jbHVkaW5nVGVsR3JvdXBzLCByZWZlcmVuY2VEYXRlLCByZWZl
cmVuY2VUaW1lWm9uZSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFE
ZXRlY3RvcnNDb3JlLCBERFVSTFRhcEFuZEhvbGRTY2hlbWVzLCBOU0FycmF5ICosICgpLCAoKSkK
K1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIERE
U2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9uU2hlZXRGb3JVUkwsIEJPT0wsIChOU1VSTCAqdXJs
KSwgKHVybCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yUmVzdWx0LCBCT09M
LCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNob3VsZFVzZUxpZ2h0TGlua3NGb3JS
ZXN1bHQsIEJPT0wsIChERFJlc3VsdFJlZiByZXN1bHQsIEJPT0wgZXh0cmFjdGVkRnJvbVNpZ25h
dHVyZSksIChyZXN1bHQsIGV4dHJhY3RlZEZyb21TaWduYXR1cmUpKQorU09GVF9MSU5LX1BPSU5U
RVJfRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclBhcnNlY1NvdXJj
ZUtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFBBTCwgRGF0
YURldGVjdG9yc0NvcmUsIEREQmluZGVySHR0cFVSTEtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJ
TktfUE9JTlRFUl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyV2Vi
VVJMS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VSQ0UoUEFMLCBE
YXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJNYWlsVVJMS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRf
TElOS19QT0lOVEVSX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJH
ZW5lcmljVVJMS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VSQ0Uo
UEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJFbWFpbEtleSwgQ0ZTdHJpbmdSZWYpCitT
T0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmlu
ZGVyVHJhY2tpbmdOdW1iZXJLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJfRk9S
X1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlckZsaWdodEluZm9ybWF0aW9u
S2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VSQ0UoUEFMLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJTaWduYXR1cmVCbG9ja0tleSwgQ0ZTdHJpbmdSZWYpCitT
T0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNj
YW5uZXJDb3B5UmVzdWx0c09wdGlvbnNGb3JQYXNzaXZlVXNlLCBERFNjYW5uZXJDb3B5UmVzdWx0
c09wdGlvbnMpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFNjYW5uZXJFbmFibGVPcHRpb25hbFNvdXJjZSwgdm9pZCwgKEREU2Nhbm5lclJl
ZiBzY2FubmVyLCBERFNjYW5uZXJTb3VyY2Ugc291cmNlLCBCb29sZWFuIGVuYWJsZSksIChzY2Fu
bmVyLCBzb3VyY2UsIGVuYWJsZSkpCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKKwor
I2VuZGlmIC8vIEVOQUJMRShEQVRBX0RFVEVDVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0Cmlu
ZGV4IDZkMzg5YmI3MzMzNTZiMWEwYmQ5NThlNDVmNDA4ZDc1ZTI1Nzg4YWQuLjkyY2IyYzQ5ODU4
YjNmODJkMWI2ZjVkMWI4MzljMzA1ODIyYzAwMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApA
QCAtMjM3LDcgKzIzNyw2IEBAIHBsYXRmb3JtL2NmL1J1bkxvb3BPYnNlcnZlci5jcHAKIHBsYXRm
b3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNwcAogcGxhdGZvcm0vY29jb2EvQ29udGVudEZpbHRlclVu
YmxvY2tIYW5kbGVyQ29jb2EubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9jb2NvYS9Db3JlVmlkZW9T
b2Z0TGluay5jcHAKLXBsYXRmb3JtL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0g
QG5vLXVuaWZ5CiBwbGF0Zm9ybS9jb2NvYS9EcmFnRGF0YUNvY29hLm1tCiBwbGF0Zm9ybS9jb2Nv
YS9EcmFnSW1hZ2VDb2NvYS5tbQogcGxhdGZvcm0vY29jb2EvRmlsZU1vbml0b3JDb2NvYS5tbQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGI3M2UxODcyZmY3YmI1NWMyOWEwMTc4NjdkNzMyYmRiMGU5MWMxNGYuLmE5OWYxZmJiZjY5
MDI2NmRhNWFhYzc3OTVjZThmZmU0OWVjYzM2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNTcsNyArMTI1Nyw2IEBACiAJ
CTQ0MzBEMDBEMjU3NUE4QTUwMDQ2RDQwMSAvKiBIaWdobGlnaHRSZWdpc3Rlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFODhFNTAyMzZBNTZBQzAw
OUI0ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQ1MjEwREYyNUQ2MUYwMDAwM0EyRUQ4IC8qIEFwcEhp
Z2hsaWdodC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDQ1MjEwREQyNUQ2MUVGRjAwM0EyRUQ4IC8qIEFwcEhpZ2hsaWdodC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0NTc3NUU1MjA0NzJGNzMwMDhE
Q0U1RCAvKiBMb2NhbERlZmF1bHRTeXN0ZW1BcHBlYXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDU3NzVFNDIwNDcyRjczMDA4RENFNUQgLyog
TG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQ0NjNDRjY4MjIxMkZBNjgwMDFBODU3NyAvKiBEYXRh
RGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0M3OTQxRTIxQzU2QzI5MzAwQTRDNThFIC8qIERhdGFEZXRlY3RvcnND
b3JlU29mdExpbmsubW0gKi87IH07CiAJCTQ0NjVEN0JEMjUzNkQwNUUwMDE2NjY2RCAvKiBTZWxl
Y3Rpb25SYW5nZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0QjM4QkY0MjUzNjkwMUEwMEE0NDU4RCAvKiBTZWxlY3Rpb25SYW5nZURhdGEuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDZEQzY0
ODI0QTI5REFCMDA2MUYzOTAgLyogUGxheWJhY2tUYXJnZXRDbGllbnRDb250ZXh0SWRlbnRpZmll
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ2REM2
NDYyNEEyOUQ5QjAwNjFGMzkwIC8qIFBsYXliYWNrVGFyZ2V0Q2xpZW50Q29udGV4dElkZW50aWZp
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
NDcxNzEwRTIwNUFGOTQ1MDAwQTExNkUgLyogTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NzE3MTBDMjA1QUY5
NDUwMDBBMTE2RSAvKiBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yMzkwLDcgKzIzODksNiBAQAogCQk3
Qzc3QzNENzFERUY4NTBBMDBBNTBCRkEgLyogRW5kaW5nVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M3N0MzRDYxREVGODUwQTAwQTUwQkZBIC8q
IEVuZGluZ1R5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3Qzc3QzNEQzFERUY4NkQ3MDBBNTBCRkEgLyogSlNFbmRpbmdUeXBlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzc3QzNEQTFERUY4NkQ3
MDBBNTBCRkEgLyogSlNFbmRpbmdUeXBlLmggKi87IH07CiAJCTdDNzkwM0IzMUY4NkY5NUMwMDQ2
M0E3MCAvKiBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNzkwM0IwMUY4NkY5NUMwMDQ2M0E3MCAvKiBJ
bWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQuaCAqLzsgfTsKLQkJN0M3OTQxRTUxQzU2QzI5MzAw
QTRDNThFIC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNzk0MUUzMUM1NkMyOTMwMEE0QzU4RSAvKiBE
YXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggKi87IH07CiAJCTdDN0JGOTQyMjUxNkM5MEMwMDgw
ODY4MiAvKiBQZXJmb3JtYW5jZU1hcmtPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzdCRjkzRTI1MTZDOEJDMDA4MDg2ODIgLyogUGVyZm9y
bWFuY2VNYXJrT3B0aW9ucy5oICovOyB9OwogCQk3QzdCRjk0QzI1MTZGQTU0MDA4MDg2ODIgLyog
UGVyZm9ybWFuY2VNZWFzdXJlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M3QkY5NDkyNTE2RkE1NDAwODA4NjgyIC8qIFBlcmZvcm1hbmNl
TWVhc3VyZU9wdGlvbnMuaCAqLzsgfTsKIAkJN0M4MTM5QTYxRUQ2Mjg2QTAwQ0UyNkU4IC8qIEpT
RE9NQXR0cmlidXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QzgxMzlBMzFFRDYyODFEMDBDRTI2RTggLyogSlNET01BdHRyaWJ1dGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTA2OTgsOCArMTA2
OTYsNiBAQAogCQk3Qzc5MDNCODFGODZGREU2MDA0NjNBNzAgLyogSlNJbWFnZUJpdG1hcFJlbmRl
cmluZ0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRl
eHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M3OTAzQkExRjg2RkYzMzAwNDYz
QTcwIC8qIFBsYWNlaG9sZGVyUmVuZGVyaW5nQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQbGFjZWhvbGRlclJlbmRlcmluZ0NvbnRleHQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Qzc5MDNCQzFGODZGRjM0MDA0NjNBNzAgLyogUGxh
Y2Vob2xkZXJSZW5kZXJpbmdDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFBsYWNlaG9sZGVyUmVuZGVyaW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk3Qzc5NDFFMjFDNTZDMjkzMDBBNEM1OEUgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0
TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFEZXRl
Y3RvcnNDb3JlU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNzk0
MUUzMUM1NkMyOTMwMEE0QzU4RSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M3QkY5M0UyNTE2QzhCQzAwODA4NjgyIC8q
IFBlcmZvcm1hbmNlTWFya09wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VNYXJr
T3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzdCRjk0MDI1MTZDOEJD
MDA4MDg2ODIgLyogUGVyZm9ybWFuY2VNYXJrT3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VN
YXJrT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDN0JGOTQ0MjUx
NkNDOTIwMDgwODY4MiAvKiBQZXJmb3JtYW5jZU1hcmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UGVyZm9ybWFuY2VNYXJrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0ODgz
LDggKzI0ODc5LDYgQEAKIAkJCQlBMTQwOTBGQTFBQTUxRTFEMDA5MTE5MUEgLyogQ29udGVudEZp
bHRlclVuYmxvY2tIYW5kbGVyQ29jb2EubW0gKi8sCiAJCQkJQ0Q3RDMzNDUxQzdBMTZCRjAwMDQx
MjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmNwcCAqLywKIAkJCQlDRDdEMzM0NjFDN0ExNkJGMDAw
NDEyOTMgLyogQ29yZVZpZGVvU29mdExpbmsuaCAqLywKLQkJCQk3Qzc5NDFFMzFDNTZDMjkzMDBB
NEM1OEUgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oICovLAotCQkJCTdDNzk0MUUyMUM1
NkMyOTMwMEE0QzU4RSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tICovLAogCQkJCUY0
NjJFNzlGMjQyQURBM0MwMDIwNERERCAvKiBEcmFnRGF0YUNvY29hLm1tICovLAogCQkJCUY0NjJF
N0EwMjQyQURBM0QwMDIwNERERCAvKiBEcmFnSW1hZ2VDb2NvYS5tbSAqLywKIAkJCQk3QTA5Q0VG
MDFGMDFEMUY3MDBFOTNCREIgLyogRmlsZU1vbml0b3JDb2NvYS5tbSAqLywKQEAgLTMyMTQ5LDcg
KzMyMTQzLDYgQEAKIAkJCQk5N0JDNkEzMjE1MDVGMDgxMDAxQjc0QUMgLyogRGF0YWJhc2VUcmFj
a2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCRTIzNDgwRDE4QTk4NzE0MDBFNEI2RTggLyogRGF0
YUN1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzUyMjdERjExQzNDNkRGMTAwRjVFRDU0IC8qIERh
dGFEZXRlY3Rpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTdDNzk0MUU1MUM1NkMyOTMwMEE0QzU4
RSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzRB
NTMzNTI1NjA1QTU2MDAyOEM1OTIgLyogRGF0YURldGVjdG9yVHlwZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTU4QjQ1QkEyMEFEMDdERDAwOTkxMDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTUxNzY3MDMyMEI4OEMxNDAwRDQxMTY3IC8qIERhdGFMaXN0
U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTM2NDU0LDcgKzM2NDQ3
LDYgQEAKIAkJCQkxQUJBNzZDQTExRDIwRTUwMDA0QzIwMUMgLyogQ1NTUHJvcGVydHlOYW1lcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDIyODMwMzIzQTg0NzA3MDAzNjRCN0UgLyogQ3Vyc29y
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNCRDU5NTkyMjgwRTkyNjAwMkIyMkFBIC8qIEN1
c3RvbUhlYWRlckZpZWxkcy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0NDYzQ0Y2ODIyMTJGQTY4
MDAxQTg1NzcgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTZFNzJGNTRDMjI5RENEMEMwMEIzRTE1MSAvKiBFeHRlbnNpb25zR0xBTkdMRS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3Q0U2Q0JGRDE4N0YzOTQ5MDBENDZCRjUgLyogRm9ybWF0Q29udmVy
dGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMzBGMkY2MjRBRUE2MEEwMEUxRDBBMCAvKiBH
YW1lQ29udHJvbGxlclNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0KaW5kZXggNWY5NjdiMzM3MWE0ZDkxNGZj
OTQyNTc3Y2IzNWVkNTQwZWMyYzUwMi4uMjFlNzQ0YzhjOTc5MzE0YjViMzRiMWE4ZGNjOTY1Mjgw
ZTk0MjcyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0
ZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlv
bi5tbQpAQCAtNTAsMTQgKzUwLDEzIEBACiAjaW1wb3J0ICJUZXh0SXRlcmF0b3IuaCIKICNpbXBv
cnQgIlZpc2libGVQb3NpdGlvbi5oIgogI2ltcG9ydCAiVmlzaWJsZVVuaXRzLmgiCisjaW1wb3J0
IDxwYWwvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9EYXRhRGV0
ZWN0b3JzU1BJLmg+CiAjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KICNpbXBvcnQgPHd0
Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ1RvSW50ZWdl
ckNvbnZlcnNpb24uaD4KIAotI2ltcG9ydCAiRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oIgot
CiAjaWYgUExBVEZPUk0oTUFDKQogdGVtcGxhdGU8PiBzdHJ1Y3QgV1RGOjpDRlR5cGVUcmFpdDxE
RFJlc3VsdFJlZj4gewogICAgIHN0YXRpYyBpbmxpbmUgQ0ZUeXBlSUQgdHlwZUlEKHZvaWQpIHsg
cmV0dXJuIEREUmVzdWx0R2V0Q0ZUeXBlSUQoKTsgfQpAQCAtMTY2LDcgKzE2NSw3IEBAIE9wdGlv
bmFsPERldGVjdGVkSXRlbT4gRGF0YURldGVjdGlvbjo6ZGV0ZWN0SXRlbUFyb3VuZEhpdFRlc3RS
ZXN1bHQoY29uc3QgSGl0VGVzCiAKIGJvb2wgRGF0YURldGVjdGlvbjo6Y2FuQmVQcmVzZW50ZWRC
eURhdGFEZXRlY3RvcnMoY29uc3QgVVJMJiB1cmwpCiB7Ci0gICAgcmV0dXJuIFtzb2Z0TGlua19E
YXRhRGV0ZWN0b3JzQ29yZV9ERFVSTFRhcEFuZEhvbGRTY2hlbWVzKCkgY29udGFpbnNPYmplY3Q6
KE5TU3RyaW5nICopdXJsLnByb3RvY29sKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLmNvbnZl
cnRUb0FTQ0lJTG93ZXJjYXNlKCldOworICAgIHJldHVybiBbUEFMOjpzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFVSTFRhcEFuZEhvbGRTY2hlbWVzKCkgY29udGFpbnNPYmplY3Q6KE5TU3Ry
aW5nICopdXJsLnByb3RvY29sKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpLmNvbnZlcnRUb0FT
Q0lJTG93ZXJjYXNlKCldOwogfQogCiBib29sIERhdGFEZXRlY3Rpb246OmlzRGF0YURldGVjdG9y
TGluayhFbGVtZW50JiBlbGVtZW50KQpAQCAtMTkyLDcgKzE5MSw3IEBAIGJvb2wgRGF0YURldGVj
dGlvbjo6Y2FuUHJlc2VudERhdGFEZXRlY3RvcnNVSUZvckVsZW1lbnQoRWxlbWVudCYgZWxlbWVu
dCkKICAgICBpZiAoIWlzRGF0YURldGVjdG9yTGluayhlbGVtZW50KSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIAotICAgIGlmIChzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNob3Vs
ZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yVVJMKGRvd25jYXN0PEhUTUxBbmNob3JFbGVt
ZW50PihlbGVtZW50KS5ocmVmKCkpKQorICAgIGlmIChQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3Rv
cnNDb3JlX0REU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9uU2hlZXRGb3JVUkwoZG93bmNhc3Q8
SFRNTEFuY2hvckVsZW1lbnQ+KGVsZW1lbnQpLmhyZWYoKSkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIAogICAgIGF1dG8mIHJlc3VsdEF0dHJpYnV0ZSA9IGVsZW1lbnQuYXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbih4X2FwcGxlX2RhdGFfZGV0ZWN0b3JzX3Jlc3VsdEF0dHIpOwpA
QCAtMjA4LDExICsyMDcsMTEgQEAgYm9vbCBEYXRhRGV0ZWN0aW9uOjpjYW5QcmVzZW50RGF0YURl
dGVjdG9yc1VJRm9yRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogCiAgICAgLy8gSGFuZGxlIHRo
ZSBjYXNlIG9mIGEgc2lnbmF0dXJlIGJsb2NrLCB3aGVyZSB3ZSBuZWVkIHRvIGZvbGxvdyB0aGUg
cGF0aCBkb3duIG9uZSBvciBtb3JlIHN1YnJlc3VsdCBsZXZlbHMuCiAgICAgd2hpbGUgKCsraW5k
ZXhJdGVyYXRvciAhPSByZXN1bHRJbmRpY2VzLmVuZCgpKSB7Ci0gICAgICAgIHJlc3VsdHMgPSAo
X19icmlkZ2UgTlNBcnJheSAqKXNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0
U3ViUmVzdWx0cyhyZXN1bHQpOworICAgICAgICByZXN1bHRzID0gKF9fYnJpZGdlIE5TQXJyYXkg
KilQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0U3ViUmVzdWx0cyhy
ZXN1bHQpOwogICAgICAgICByZXN1bHQgPSAoX19icmlkZ2UgRERSZXN1bHRSZWYpcmVzdWx0c1tw
YXJzZUludGVnZXJBbGxvd2luZ1RyYWlsaW5nSnVuazxpbnQ+KCppbmRleEl0ZXJhdG9yKS52YWx1
ZU9yKDApXTsKICAgICB9CiAKLSAgICByZXR1cm4gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVf
RERTaG91bGRJbW1lZGlhdGVseVNob3dBY3Rpb25TaGVldEZvclJlc3VsdChyZXN1bHQpOworICAg
IHJldHVybiBQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2hvdWxkSW1tZWRpYXRl
bHlTaG93QWN0aW9uU2hlZXRGb3JSZXN1bHQocmVzdWx0KTsKIH0KIAogc3RhdGljIEJPT0wgcmVz
dWx0SXNVUkwoRERSZXN1bHRSZWYgcmVzdWx0KQpAQCAtMjIxLDM0ICsyMjAsMzQgQEAgc3RhdGlj
IEJPT0wgcmVzdWx0SXNVUkwoRERSZXN1bHRSZWYgcmVzdWx0KQogICAgICAgICByZXR1cm4gTk87
CiAgICAgCiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJldGFpblB0cjxOU1NldD4+IHVybFR5
cGVzID0gW05TU2V0IHNldFdpdGhPYmplY3RzOgotICAgICAgICAoTlNTdHJpbmcgKilnZXRfRGF0
YURldGVjdG9yc0NvcmVfRERCaW5kZXJIdHRwVVJMS2V5KCksCi0gICAgICAgIChOU1N0cmluZyAq
KWdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlcldlYlVSTEtleSgpLAotICAgICAgICAoTlNT
dHJpbmcgKilnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJNYWlsVVJMS2V5KCksCi0gICAg
ICAgIChOU1N0cmluZyAqKWdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlckdlbmVyaWNVUkxL
ZXkoKSwKLSAgICAgICAgKE5TU3RyaW5nICopZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVy
RW1haWxLZXkoKSwgbmlsXTsKLSAgICByZXR1cm4gW3VybFR5cGVzLmdldCgpIGNvbnRhaW5zT2Jq
ZWN0OihOU1N0cmluZyAqKXNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0VHlw
ZShyZXN1bHQpXTsKKyAgICAgICAgKE5TU3RyaW5nICopUEFMOjpnZXRfRGF0YURldGVjdG9yc0Nv
cmVfRERCaW5kZXJIdHRwVVJMS2V5KCksCisgICAgICAgIChOU1N0cmluZyAqKVBBTDo6Z2V0X0Rh
dGFEZXRlY3RvcnNDb3JlX0REQmluZGVyV2ViVVJMS2V5KCksCisgICAgICAgIChOU1N0cmluZyAq
KVBBTDo6Z2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyTWFpbFVSTEtleSgpLAorICAgICAg
ICAoTlNTdHJpbmcgKilQQUw6OmdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlckdlbmVyaWNV
UkxLZXkoKSwKKyAgICAgICAgKE5TU3RyaW5nICopUEFMOjpnZXRfRGF0YURldGVjdG9yc0NvcmVf
RERCaW5kZXJFbWFpbEtleSgpLCBuaWxdOworICAgIHJldHVybiBbdXJsVHlwZXMuZ2V0KCkgY29u
dGFpbnNPYmplY3Q6KE5TU3RyaW5nICopUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9E
RFJlc3VsdEdldFR5cGUocmVzdWx0KV07CiB9CiAKIHN0YXRpYyBOU1N0cmluZyAqY29uc3RydWN0
VVJMU3RyaW5nRm9yUmVzdWx0KEREUmVzdWx0UmVmIGN1cnJlbnRSZXN1bHQsIE5TU3RyaW5nICpy
ZXN1bHRJZGVudGlmaWVyLCBOU0RhdGUgKnJlZmVyZW5jZURhdGUsIE5TVGltZVpvbmUgKnJlZmVy
ZW5jZVRpbWVab25lLCBPcHRpb25TZXQ8RGF0YURldGVjdG9yVHlwZT4gZGV0ZWN0aW9uVHlwZXMp
CiB7Ci0gICAgaWYgKCFzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEhhc1Byb3Bl
cnRpZXMoY3VycmVudFJlc3VsdCwgRERSZXN1bHRQcm9wZXJ0eVBhc3NpdmVEaXNwbGF5KSkKKyAg
ICBpZiAoIVBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRIYXNQcm9wZXJ0
aWVzKGN1cnJlbnRSZXN1bHQsIEREUmVzdWx0UHJvcGVydHlQYXNzaXZlRGlzcGxheSkpCiAgICAg
ICAgIHJldHVybiBuaWw7CiAKICAgICBhdXRvIHBob25lVHlwZXMgPSBkZXRlY3Rpb25UeXBlcy5j
b250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpQaG9uZU51bWJlcikgPyBERFVSTGlmaWVyUGhvbmVO
dW1iZXJEZXRlY3Rpb25SZWd1bGFyIDogRERVUkxpZmllclBob25lTnVtYmVyRGV0ZWN0aW9uTm9u
ZTsKLSAgICBhdXRvIGNhdGVnb3J5ID0gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1
bHRHZXRDYXRlZ29yeShjdXJyZW50UmVzdWx0KTsKLSAgICBhdXRvIHR5cGUgPSBzb2Z0TGlua19E
YXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldFR5cGUoY3VycmVudFJlc3VsdCk7CisgICAgYXV0
byBjYXRlZ29yeSA9IFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRD
YXRlZ29yeShjdXJyZW50UmVzdWx0KTsKKyAgICBhdXRvIHR5cGUgPSBQQUw6OnNvZnRMaW5rX0Rh
dGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0VHlwZShjdXJyZW50UmVzdWx0KTsKIAogICAgIGlm
ICgoZGV0ZWN0aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6QWRkcmVzcykgJiYg
RERSZXN1bHRDYXRlZ29yeUFkZHJlc3MgPT0gY2F0ZWdvcnkpCi0gICAgICAgIHx8IChkZXRlY3Rp
b25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpUcmFja2luZ051bWJlcikgJiYgQ0ZF
cXVhbChnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJUcmFja2luZ051bWJlcktleSgpLCB0
eXBlKSkKLSAgICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5
cGU6OkZsaWdodE51bWJlcikgJiYgQ0ZFcXVhbChnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5k
ZXJGbGlnaHRJbmZvcm1hdGlvbktleSgpLCB0eXBlKSkKLSAgICAgICAgfHwgKGRldGVjdGlvblR5
cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6Okxvb2t1cFN1Z2dlc3Rpb24pICYmIENGRXF1
YWwoZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyUGFyc2VjU291cmNlS2V5KCksIHR5cGUp
KQorICAgICAgICB8fCAoZGV0ZWN0aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6
VHJhY2tpbmdOdW1iZXIpICYmIENGRXF1YWwoUEFMOjpnZXRfRGF0YURldGVjdG9yc0NvcmVfRERC
aW5kZXJUcmFja2luZ051bWJlcktleSgpLCB0eXBlKSkKKyAgICAgICAgfHwgKGRldGVjdGlvblR5
cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OkZsaWdodE51bWJlcikgJiYgQ0ZFcXVhbChQ
QUw6OmdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlckZsaWdodEluZm9ybWF0aW9uS2V5KCks
IHR5cGUpKQorICAgICAgICB8fCAoZGV0ZWN0aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9y
VHlwZTo6TG9va3VwU3VnZ2VzdGlvbikgJiYgQ0ZFcXVhbChQQUw6OmdldF9EYXRhRGV0ZWN0b3Jz
Q29yZV9EREJpbmRlclBhcnNlY1NvdXJjZUtleSgpLCB0eXBlKSkKICAgICAgICAgfHwgKGRldGVj
dGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OlBob25lTnVtYmVyKSAmJiBERFJl
c3VsdENhdGVnb3J5UGhvbmVOdW1iZXIgPT0gY2F0ZWdvcnkpCiAgICAgICAgIHx8IChkZXRlY3Rp
b25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpMaW5rKSAmJiByZXN1bHRJc1VSTChj
dXJyZW50UmVzdWx0KSkpIHsKLSAgICAgICAgcmV0dXJuIHNvZnRMaW5rX0RhdGFEZXRlY3RvcnND
b3JlX0REVVJMU3RyaW5nRm9yUmVzdWx0KGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIs
IHBob25lVHlwZXMsIHJlZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKTsKKyAgICAgICAg
cmV0dXJuIFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERVUkxTdHJpbmdGb3JSZXN1
bHQoY3VycmVudFJlc3VsdCwgcmVzdWx0SWRlbnRpZmllciwgcGhvbmVUeXBlcywgcmVmZXJlbmNl
RGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpOwogICAgIH0KICAgICBpZiAoZGV0ZWN0aW9uVHlwZXMu
Y29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6Q2FsZW5kYXJFdmVudCkgJiYgRERSZXN1bHRDYXRl
Z29yeUNhbGVuZGFyRXZlbnQgPT0gY2F0ZWdvcnkpIHsKLSAgICAgICAgaWYgKCFzb2Z0TGlua19E
YXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdElzUGFzdERhdGUoY3VycmVudFJlc3VsdCwgKENGRGF0
ZVJlZilyZWZlcmVuY2VEYXRlLCAoQ0ZUaW1lWm9uZVJlZilyZWZlcmVuY2VUaW1lWm9uZSkpCi0g
ICAgICAgICAgICByZXR1cm4gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERVUkxTdHJpbmdG
b3JSZXN1bHQoY3VycmVudFJlc3VsdCwgcmVzdWx0SWRlbnRpZmllciwgcGhvbmVUeXBlcywgcmVm
ZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpOworICAgICAgICBpZiAoIVBBTDo6c29mdExp
bmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRJc1Bhc3REYXRlKGN1cnJlbnRSZXN1bHQsIChD
RkRhdGVSZWYpcmVmZXJlbmNlRGF0ZSwgKENGVGltZVpvbmVSZWYpcmVmZXJlbmNlVGltZVpvbmUp
KQorICAgICAgICAgICAgcmV0dXJuIFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERV
UkxTdHJpbmdGb3JSZXN1bHQoY3VycmVudFJlc3VsdCwgcmVzdWx0SWRlbnRpZmllciwgcGhvbmVU
eXBlcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpOwogICAgIH0KICAgICByZXR1
cm4gbmlsOwogfQpAQCAtMzU5LDcgKzM1OCw3IEBAIHN0YXRpYyB2b2lkIGJ1aWxkUXVlcnkoRERT
Y2FuUXVlcnlSZWYgc2NhblF1ZXJ5LCBjb25zdCBTaW1wbGVSYW5nZSYgY29udGV4dFJhbmdlCiAg
ICAgICAgIFN0cmluZ1ZpZXcgY3VycmVudFRleHQgPSBpdGVyYXRvci50ZXh0KCk7CiAgICAgICAg
IHNpemVfdCBjdXJyZW50VGV4dExlbmd0aCA9IGN1cnJlbnRUZXh0Lmxlbmd0aCgpOwogICAgICAg
ICBpZiAoIWN1cnJlbnRUZXh0TGVuZ3RoKSB7Ci0gICAgICAgICAgICBzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUFkZFNlcGFyYXRvcihzY2FuUXVlcnksIEREVGV4dENvYWxl
c2NpbmdUeXBlSGFyZEJyZWFrKTsKKyAgICAgICAgICAgIFBBTDo6c29mdExpbmtfRGF0YURldGVj
dG9yc0NvcmVfRERTY2FuUXVlcnlBZGRTZXBhcmF0b3Ioc2NhblF1ZXJ5LCBERFRleHRDb2FsZXNj
aW5nVHlwZUhhcmRCcmVhayk7CiAgICAgICAgICAgICBpZiAoaXRlcmF0b3JDb3VudCA+IG1heEZy
YWdtZW50V2l0aEhhcmRCcmVhaykKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNvbnRpbnVlOwpAQCAtMzk0LDExICszOTMsMTEgQEAgc3RhdGljIHZvaWQgYnVpbGRRdWVyeShE
RFNjYW5RdWVyeVJlZiBzY2FuUXVlcnksIGNvbnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UK
ICAgICAgICAgfQogICAgICAgICBpZiAoY29udGFpbnNPbmx5V2hpdGVTcGFjZSkgewogICAgICAg
ICAgICAgaWYgKGhhc05ld2xpbmUpIHsKLSAgICAgICAgICAgICAgICBzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUFkZExpbmVCcmVhayhzY2FuUXVlcnkpOworICAgICAgICAg
ICAgICAgIFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTY2FuUXVlcnlBZGRMaW5l
QnJlYWsoc2NhblF1ZXJ5KTsKICAgICAgICAgICAgICAgICBpZiAoaXRlcmF0b3JDb3VudCA+IG1h
eEZyYWdtZW50V2l0aExpbmVicmVhaykKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHNvZnRMaW5rX0RhdGFEZXRlY3RvcnND
b3JlX0REU2NhblF1ZXJ5QWRkU2VwYXJhdG9yKHNjYW5RdWVyeSwgaGFzVGFiID8gRERUZXh0Q29h
bGVzY2luZ1R5cGVUYWIgOiBERFRleHRDb2FsZXNjaW5nVHlwZVNwYWNlKTsKKyAgICAgICAgICAg
ICAgICBQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2NhblF1ZXJ5QWRkU2VwYXJh
dG9yKHNjYW5RdWVyeSwgaGFzVGFiID8gRERUZXh0Q29hbGVzY2luZ1R5cGVUYWIgOiBERFRleHRD
b2FsZXNjaW5nVHlwZVNwYWNlKTsKICAgICAgICAgICAgICAgICBpZiAoaXRlcmF0b3JDb3VudCA+
IG1heEZyYWdtZW50U3BhY2UpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgfQpAQCAtNDA2LDcgKzQwNSw3IEBAIHN0YXRpYyB2b2lkIGJ1aWxkUXVlcnkoRERTY2FuUXVl
cnlSZWYgc2NhblF1ZXJ5LCBjb25zdCBTaW1wbGVSYW5nZSYgY29udGV4dFJhbmdlCiAgICAgICAg
IH0KICAgICAgICAgCiAgICAgICAgIGF1dG8gY3VycmVudFRleHRDRlN0cmluZyA9IGFkb3B0Q0Yo
Q0ZTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCByZWludGVy
cHJldF9jYXN0PGNvbnN0IFVuaUNoYXIqPihjdXJyZW50VGV4dFVwY29udmVydGVkQ2hhcmFjdGVy
cy5nZXQoKSksIGN1cnJlbnRUZXh0TGVuZ3RoKSk7Ci0gICAgICAgIHNvZnRMaW5rX0RhdGFEZXRl
Y3RvcnNDb3JlX0REU2NhblF1ZXJ5QWRkVGV4dEZyYWdtZW50KHNjYW5RdWVyeSwgY3VycmVudFRl
eHRDRlN0cmluZy5nZXQoKSwgQ0ZSYW5nZU1ha2UoMCwgY3VycmVudFRleHRMZW5ndGgpLCAodm9p
ZCAqKWl0ZXJhdG9yQ291bnQsIChERFRleHRGcmFnbWVudE1vZGUpMCwgRERUZXh0Q29hbGVzY2lu
Z1R5cGVOb25lKTsKKyAgICAgICAgUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNj
YW5RdWVyeUFkZFRleHRGcmFnbWVudChzY2FuUXVlcnksIGN1cnJlbnRUZXh0Q0ZTdHJpbmcuZ2V0
KCksIENGUmFuZ2VNYWtlKDAsIGN1cnJlbnRUZXh0TGVuZ3RoKSwgKHZvaWQgKilpdGVyYXRvckNv
dW50LCAoRERUZXh0RnJhZ21lbnRNb2RlKTAsIEREVGV4dENvYWxlc2NpbmdUeXBlTm9uZSk7CiAg
ICAgICAgIGZyYWdtZW50Q291bnQrKzsKICAgICB9CiB9CkBAIC00MzYsMTggKzQzNSwxOCBAQCB2
b2lkIERhdGFEZXRlY3Rpb246OnJlbW92ZURhdGFEZXRlY3RlZExpbmtzSW5Eb2N1bWVudChEb2N1
bWVudCYgZG9jdW1lbnQpCiAKIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJ
blJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UsIE9wdGlvblNldDxEYXRhRGV0
ZWN0b3JUeXBlPiB0eXBlcywgTlNEaWN0aW9uYXJ5ICpjb250ZXh0KQogewotICAgIGF1dG8gc2Nh
bm5lciA9IGFkb3B0Q0Yoc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTY2FubmVyQ3JlYXRl
KEREU2Nhbm5lclR5cGVTdGFuZGFyZCwgMCwgbnVsbHB0cikpOwotICAgIGF1dG8gc2NhblF1ZXJ5
ID0gYWRvcHRDRihzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUNyZWF0ZShO
VUxMKSk7CisgICAgYXV0byBzY2FubmVyID0gYWRvcHRDRihQQUw6OnNvZnRMaW5rX0RhdGFEZXRl
Y3RvcnNDb3JlX0REU2Nhbm5lckNyZWF0ZShERFNjYW5uZXJUeXBlU3RhbmRhcmQsIDAsIG51bGxw
dHIpKTsKKyAgICBhdXRvIHNjYW5RdWVyeSA9IGFkb3B0Q0YoUEFMOjpzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUNyZWF0ZShOVUxMKSk7CiAgICAgYnVpbGRRdWVyeShzY2Fu
UXVlcnkuZ2V0KCksIGNvbnRleHRSYW5nZSk7CiAgICAgCiAgICAgaWYgKHR5cGVzLmNvbnRhaW5z
KERhdGFEZXRlY3RvclR5cGU6Okxvb2t1cFN1Z2dlc3Rpb24pKQotICAgICAgICBzb2Z0TGlua19E
YXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5uZXJFbmFibGVPcHRpb25hbFNvdXJjZShzY2FubmVyLmdl
dCgpLCBERFNjYW5uZXJTb3VyY2VTcG90bGlnaHQsIHRydWUpOworICAgICAgICBQQUw6OnNvZnRM
aW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2Nhbm5lckVuYWJsZU9wdGlvbmFsU291cmNlKHNjYW5u
ZXIuZ2V0KCksIEREU2Nhbm5lclNvdXJjZVNwb3RsaWdodCwgdHJ1ZSk7CiAKICAgICAvLyBGSVhN
RTogd2Ugc2hvdWxkIGFkZCBhIHRpbWVvdXQgdG8gdGhpcyBjYWxsIHRvIG1ha2Ugc3VyZSBpdCBk
b2Vzbid0IHRha2UgdG9vIG11Y2ggdGltZS4KLSAgICBpZiAoIXNvZnRMaW5rX0RhdGFEZXRlY3Rv
cnNDb3JlX0REU2Nhbm5lclNjYW5RdWVyeShzY2FubmVyLmdldCgpLCBzY2FuUXVlcnkuZ2V0KCkp
KQorICAgIGlmICghUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5uZXJTY2Fu
UXVlcnkoc2Nhbm5lci5nZXQoKSwgc2NhblF1ZXJ5LmdldCgpKSkKICAgICAgICAgcmV0dXJuIG5p
bDsKIAotICAgIGF1dG8gc2Nhbm5lclJlc3VsdHMgPSBhZG9wdENGKHNvZnRMaW5rX0RhdGFEZXRl
Y3RvcnNDb3JlX0REU2Nhbm5lckNvcHlSZXN1bHRzV2l0aE9wdGlvbnMoc2Nhbm5lci5nZXQoKSwg
Z2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9uc0ZvclBhc3Np
dmVVc2UoKSB8IEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9uc0NvYWxlc2NlU2lnbmF0dXJlcykp
OworICAgIGF1dG8gc2Nhbm5lclJlc3VsdHMgPSBhZG9wdENGKFBBTDo6c29mdExpbmtfRGF0YURl
dGVjdG9yc0NvcmVfRERTY2FubmVyQ29weVJlc3VsdHNXaXRoT3B0aW9ucyhzY2FubmVyLmdldCgp
LCBQQUw6OmdldF9EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnNG
b3JQYXNzaXZlVXNlKCkgfCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnNDb2FsZXNjZVNpZ25h
dHVyZXMpKTsKICAgICBpZiAoIXNjYW5uZXJSZXN1bHRzKQogICAgICAgICByZXR1cm4gbmlsOwog
CkBAIC00NjMsOCArNDYyLDggQEAgTlNBcnJheSAqRGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVu
dEluUmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2UmIGNvbnRleHRSYW5nZSwgT3AKICAgICBmb3IgKGlk
IHJlc3VsdE9iamVjdCBpbiAoTlNBcnJheSAqKXNjYW5uZXJSZXN1bHRzLmdldCgpKSB7CiAgICAg
ICAgIEREUmVzdWx0UmVmIHJlc3VsdCA9IChERFJlc3VsdFJlZilyZXN1bHRPYmplY3Q7CiAgICAg
ICAgIE5TSW5kZXhQYXRoICppbmRleFBhdGggPSBbTlNJbmRleFBhdGggaW5kZXhQYXRoV2l0aElu
ZGV4OmN1cnJlbnRUb3BMZXZlbEluZGV4XTsKLSAgICAgICAgaWYgKENGRXF1YWwoc29mdExpbmtf
RGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRUeXBlKHJlc3VsdCksIGdldF9EYXRhRGV0ZWN0
b3JzQ29yZV9EREJpbmRlclNpZ25hdHVyZUJsb2NrS2V5KCkpKSB7Ci0gICAgICAgICAgICBOU0Fy
cmF5ICpzdWJyZXN1bHRzID0gKE5TQXJyYXkgKilzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9E
RFJlc3VsdEdldFN1YlJlc3VsdHMocmVzdWx0KTsKKyAgICAgICAgaWYgKENGRXF1YWwoUEFMOjpz
b2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldFR5cGUocmVzdWx0KSwgUEFMOjpn
ZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJTaWduYXR1cmVCbG9ja0tleSgpKSkgeworICAg
ICAgICAgICAgTlNBcnJheSAqc3VicmVzdWx0cyA9IChOU0FycmF5ICopUEFMOjpzb2Z0TGlua19E
YXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldFN1YlJlc3VsdHMocmVzdWx0KTsKICAgICAgICAg
ICAgIAogICAgICAgICAgICAgZm9yIChOU1VJbnRlZ2VyIHN1YlJlc3VsdEluZGV4ID0gMCA7IHN1
YlJlc3VsdEluZGV4IDwgW3N1YnJlc3VsdHMgY291bnRdIDsgc3ViUmVzdWx0SW5kZXgrKykgewog
ICAgICAgICAgICAgICAgIGluZGV4UGF0aHMuYXBwZW5kKFtpbmRleFBhdGggaW5kZXhQYXRoQnlB
ZGRpbmdJbmRleDpzdWJSZXN1bHRJbmRleF0pOwpAQCAtNDg1LDggKzQ4NCw4IEBAIE5TQXJyYXkg
KkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJblJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiBj
b250ZXh0UmFuZ2UsIE9wCiAgICAgLy8gd2hlcmUgdGhlIERPTSBuZWVkcyB0byBiZSBtb2RpZmll
ZC4KICAgICAvLyBFYWNoIHJlc3VsdCBjYW4gYmUgY29udGFpbmVkIGFsbCBpbiBvbmUgdGV4dCBu
b2RlIG9yIGNhbiBzcGFuIG11bHRpcGxlIHRleHQgbm9kZXMuCiAgICAgZm9yIChhdXRvJiByZXN1
bHQgOiBhbGxSZXN1bHRzKSB7Ci0gICAgICAgIEREUXVlcnlSYW5nZSBxdWVyeVJhbmdlID0gc29m
dExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRRdWVyeVJhbmdlRm9yVVJMaWZpY2F0
aW9uKHJlc3VsdC5nZXQoKSk7Ci0gICAgICAgIENGSW5kZXggaXRlcmF0b3JUYXJnZXRBZHZhbmNl
Q291bnQgPSAoQ0ZJbmRleClzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUdl
dEZyYWdtZW50TWV0YURhdGEoc2NhblF1ZXJ5LmdldCgpLCBxdWVyeVJhbmdlLnN0YXJ0LnF1ZXJ5
SW5kZXgpOworICAgICAgICBERFF1ZXJ5UmFuZ2UgcXVlcnlSYW5nZSA9IFBBTDo6c29mdExpbmtf
RGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRRdWVyeVJhbmdlRm9yVVJMaWZpY2F0aW9uKHJl
c3VsdC5nZXQoKSk7CisgICAgICAgIENGSW5kZXggaXRlcmF0b3JUYXJnZXRBZHZhbmNlQ291bnQg
PSAoQ0ZJbmRleClQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2NhblF1ZXJ5R2V0
RnJhZ21lbnRNZXRhRGF0YShzY2FuUXVlcnkuZ2V0KCksIHF1ZXJ5UmFuZ2Uuc3RhcnQucXVlcnlJ
bmRleCk7CiAgICAgICAgIGZvciAoOyBpdGVyYXRvckNvdW50IDwgaXRlcmF0b3JUYXJnZXRBZHZh
bmNlQ291bnQ7ICsraXRlcmF0b3JDb3VudCkKICAgICAgICAgICAgIGl0ZXJhdG9yLmFkdmFuY2Uo
KTsKIApAQCAtNTA1LDcgKzUwNCw3IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENv
bnRlbnRJblJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UsIE9wCiAgICAgICAg
IAogICAgICAgICB3aGlsZSAoZnJhZ21lbnRJbmRleCA8IHF1ZXJ5UmFuZ2UuZW5kLnF1ZXJ5SW5k
ZXgpIHsKICAgICAgICAgICAgICsrZnJhZ21lbnRJbmRleDsKLSAgICAgICAgICAgIGl0ZXJhdG9y
VGFyZ2V0QWR2YW5jZUNvdW50ID0gKENGSW5kZXgpc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVf
RERTY2FuUXVlcnlHZXRGcmFnbWVudE1ldGFEYXRhKHNjYW5RdWVyeS5nZXQoKSwgZnJhZ21lbnRJ
bmRleCk7CisgICAgICAgICAgICBpdGVyYXRvclRhcmdldEFkdmFuY2VDb3VudCA9IChDRkluZGV4
KVBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTY2FuUXVlcnlHZXRGcmFnbWVudE1l
dGFEYXRhKHNjYW5RdWVyeS5nZXQoKSwgZnJhZ21lbnRJbmRleCk7CiAgICAgICAgICAgICBmb3Ig
KDsgaXRlcmF0b3JDb3VudCA8IGl0ZXJhdG9yVGFyZ2V0QWR2YW5jZUNvdW50OyArK2l0ZXJhdG9y
Q291bnQpCiAgICAgICAgICAgICAgICAgaXRlcmF0b3IuYWR2YW5jZSgpOwogCkBAIC01MzQsNyAr
NTMzLDcgQEAgTlNBcnJheSAqRGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2UoY29u
c3QgU2ltcGxlUmFuZ2UmIGNvbnRleHRSYW5nZSwgT3AKICAgICBDRkluZGV4IHJlc3VsdENvdW50
ID0gYWxsUmVzdWx0cy5zaXplKCk7CiAgICAgZm9yIChDRkluZGV4IHJlc3VsdEluZGV4ID0gMDsg
cmVzdWx0SW5kZXggPCByZXN1bHRDb3VudDsgKytyZXN1bHRJbmRleCkgewogICAgICAgICBERFJl
c3VsdFJlZiBjb3JlUmVzdWx0ID0gYWxsUmVzdWx0c1tyZXN1bHRJbmRleF0uZ2V0KCk7Ci0gICAg
ICAgIEREUXVlcnlSYW5nZSBxdWVyeVJhbmdlID0gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVf
RERSZXN1bHRHZXRRdWVyeVJhbmdlRm9yVVJMaWZpY2F0aW9uKGNvcmVSZXN1bHQpOworICAgICAg
ICBERFF1ZXJ5UmFuZ2UgcXVlcnlSYW5nZSA9IFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0Nv
cmVfRERSZXN1bHRHZXRRdWVyeVJhbmdlRm9yVVJMaWZpY2F0aW9uKGNvcmVSZXN1bHQpOwogICAg
ICAgICBhdXRvJiByZXN1bHRSYW5nZXMgPSBhbGxSZXN1bHRSYW5nZXNbcmVzdWx0SW5kZXhdOwog
CiAgICAgICAgIC8vIENvbXBhcmUgdGhlIHF1ZXJ5IG9mZnNldHMgdG8gbWFrZSBzdXJlIHdlIGRv
bid0IGdvIGJhY2t3YXJkcwpAQCAtNTUxLDcgKzU1MCw3IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rp
b246OmRldGVjdENvbnRlbnRJblJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2Us
IE9wCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBsYXN0TW9kaWZpZWRRdWVyeU9m
ZnNldCA9IHF1ZXJ5UmFuZ2UuZW5kOwotICAgICAgICBCT09MIHNob3VsZFVzZUxpZ2h0TGlua3Mg
PSBzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNob3VsZFVzZUxpZ2h0TGlua3NGb3JSZXN1
bHQoY29yZVJlc3VsdCwgW2luZGV4UGF0aHNbcmVzdWx0SW5kZXhdIGxlbmd0aF0gPiAxKTsKKyAg
ICAgICAgQk9PTCBzaG91bGRVc2VMaWdodExpbmtzID0gUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0
b3JzQ29yZV9ERFNob3VsZFVzZUxpZ2h0TGlua3NGb3JSZXN1bHQoY29yZVJlc3VsdCwgW2luZGV4
UGF0aHNbcmVzdWx0SW5kZXhdIGxlbmd0aF0gPiAxKTsKIAogICAgICAgICBmb3IgKGF1dG8mIHJh
bmdlIDogcmVzdWx0UmFuZ2VzKSB7CiAgICAgICAgICAgICBhdXRvKiBwYXJlbnROb2RlID0gcmFu
Z2Uuc3RhcnQuY29udGFpbmVyLT5wYXJlbnROb2RlKCk7CkBAIC02MTYsNyArNjE1LDcgQEAgTlNB
cnJheSAqRGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2UoY29uc3QgU2ltcGxlUmFu
Z2UmIGNvbnRleHRSYW5nZSwgT3AKIAogICAgICAgICAgICAgLy8gQWRkIGEgc3BlY2lhbCBhdHRy
aWJ1dGUgdG8gbWFyayB0aGlzIFVSTGlmaWNhdGlvbiBhcyB0aGUgcmVzdWx0IG9mIGRhdGEgZGV0
ZWN0b3JzLgogICAgICAgICAgICAgYW5jaG9yRWxlbWVudC0+c2V0QXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbih4X2FwcGxlX2RhdGFfZGV0ZWN0b3JzQXR0ciwgQXRvbVN0cmluZygidHJ1
ZSIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgICAgICAgICBhbmNo
b3JFbGVtZW50LT5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHhfYXBwbGVfZGF0
YV9kZXRlY3RvcnNfdHlwZUF0dHIsIGRhdGFEZXRlY3RvclR5cGVGb3JDYXRlZ29yeShzb2Z0TGlu
a19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldENhdGVnb3J5KGNvcmVSZXN1bHQpKSk7Cisg
ICAgICAgICAgICBhbmNob3JFbGVtZW50LT5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0
aW9uKHhfYXBwbGVfZGF0YV9kZXRlY3RvcnNfdHlwZUF0dHIsIGRhdGFEZXRlY3RvclR5cGVGb3JD
YXRlZ29yeShQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0Q2F0ZWdv
cnkoY29yZVJlc3VsdCkpKTsKICAgICAgICAgICAgIGFuY2hvckVsZW1lbnQtPnNldEF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oeF9hcHBsZV9kYXRhX2RldGVjdG9yc19yZXN1bHRBdHRy
LCBpZGVudGlmaWVyKTsKIAogICAgICAgICAgICAgcGFyZW50Tm9kZS0+aW5zZXJ0QmVmb3JlKFdU
Rk1vdmUoYW5jaG9yRWxlbWVudCksICZjdXJyZW50VGV4dE5vZGUpOwpAQCAtNjMxLDcgKzYzMCw3
IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJblJhbmdlKGNvbnN0IFNp
bXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UsIE9wCiAgICAgaWYgKGxhc3RUZXh0Tm9kZVRvVXBkYXRl
KQogICAgICAgICBsYXN0VGV4dE5vZGVUb1VwZGF0ZS0+c2V0RGF0YShsYXN0Tm9kZUNvbnRlbnQp
OwogCi0gICAgcmV0dXJuIFtnZXRERFNjYW5uZXJSZXN1bHRDbGFzcygpIHJlc3VsdHNGcm9tQ29y
ZVJlc3VsdHM6c2Nhbm5lclJlc3VsdHMuZ2V0KCldOworICAgIHJldHVybiBbUEFMOjpnZXRERFNj
YW5uZXJSZXN1bHRDbGFzcygpIHJlc3VsdHNGcm9tQ29yZVJlc3VsdHM6c2Nhbm5lclJlc3VsdHMu
Z2V0KCldOwogfQogCiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
SW1hZ2VFeHRyYWN0aW9uUmVzdWx0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9JbWFnZUV4
dHJhY3Rpb25SZXN1bHQuaAppbmRleCBlYjhjY2Q1NDEyNzVjMzVhZDk4MmIwY2VhMWVmZWIwZDRm
NzY2NjNiLi43MDE5ZWVlYTNjYWM0YzA4NzViYzg5MmEyNWM3N2M3Yzg3OTMzN2Q1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9JbWFnZUV4dHJhY3Rpb25SZXN1bHQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9JbWFnZUV4dHJhY3Rpb25SZXN1bHQuaApAQCAtMjcs
OCArMjcsMTMgQEAKIAogI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKQogCisjaWYgRU5BQkxF
KERBVEFfREVURUNUSU9OKQorT0JKQ19DTEFTUyBERFNjYW5uZXJSZXN1bHQ7CisjZW5kaWYKKwog
I2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODIsNiArODcsMjIgQEAgc3RydWN0IEltYWdlRXh0cmFj
dGlvbkxpbmVEYXRhIHsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9u
YWw8SW1hZ2VFeHRyYWN0aW9uTGluZURhdGE+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCisjaWYg
RU5BQkxFKERBVEFfREVURUNUSU9OKQorCitzdHJ1Y3QgSW1hZ2VFeHRyYWN0aW9uRGF0YURldGVj
dG9ySW5mbyB7CisgICAgSW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbygpID0gZGVmYXVs
dDsKKyAgICBJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvKEREU2Nhbm5lclJlc3VsdCAq
c2Nhbm5lclJlc3VsdCwgVmVjdG9yPEZsb2F0UXVhZD4mJiBxdWFkcykKKyAgICAgICAgOiByZXN1
bHQoc2Nhbm5lclJlc3VsdCkKKyAgICAgICAgLCBub3JtYWxpemVkUXVhZHMoV1RGTW92ZShxdWFk
cykpCisgICAgeworICAgIH0KKworICAgIFJldGFpblB0cjxERFNjYW5uZXJSZXN1bHQ+IHJlc3Vs
dDsKKyAgICBWZWN0b3I8RmxvYXRRdWFkPiBub3JtYWxpemVkUXVhZHM7Cit9OworCisjZW5kaWYg
Ly8gRU5BQkxFKERBVEFfREVURUNUSU9OKQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lk
IEltYWdlRXh0cmFjdGlvbkxpbmVEYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QK
IHsKICAgICBlbmNvZGVyIDw8IG5vcm1hbGl6ZWRRdWFkOwpAQCAtMTA2LDcgKzEyNywyMiBAQCB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBPcHRpb25hbDxJbWFnZUV4dHJhY3Rpb25MaW5lRGF0YT4g
SW1hZ2VFeHRyYWN0aW9uTGluZURhdAogc3RydWN0IEltYWdlRXh0cmFjdGlvblJlc3VsdCB7CiAg
ICAgVmVjdG9yPEltYWdlRXh0cmFjdGlvbkxpbmVEYXRhPiBsaW5lczsKIAotICAgIGJvb2wgaXNF
bXB0eSgpIGNvbnN0IHsgcmV0dXJuIGxpbmVzLmlzRW1wdHkoKTsgfQorI2lmIEVOQUJMRShEQVRB
X0RFVEVDVElPTikKKyAgICBWZWN0b3I8SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz4g
ZGF0YURldGVjdG9yczsKKyNlbmRpZgorCisgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QKKyAgICB7
CisgICAgICAgIGlmICghbGluZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorICAgICAgICBpZiAoIWRhdGFEZXRlY3Rv
cnMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBPcHRpb25hbDxJbWFnZUV4dHJhY3Rpb25SZXN1bHQ+IGRlY29kZShEZWNvZGVyJik7CkBA
IC0xMTUsNiArMTUxLDkgQEAgc3RydWN0IEltYWdlRXh0cmFjdGlvblJlc3VsdCB7CiB0ZW1wbGF0
ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIEltYWdlRXh0cmFjdGlvblJlc3VsdDo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCBsaW5lczsKKyNpZiBFTkFCTEUo
REFUQV9ERVRFQ1RJT04pCisgICAgZW5jb2RlciA8PCBkYXRhRGV0ZWN0b3JzOworI2VuZGlmCiB9
CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IE9wdGlvbmFsPEltYWdlRXh0cmFjdGlvblJlc3Vs
dD4gSW1hZ2VFeHRyYWN0aW9uUmVzdWx0OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTEy
NCw3ICsxNjMsMTkgQEAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gT3B0aW9uYWw8SW1hZ2VFeHRy
YWN0aW9uUmVzdWx0PiBJbWFnZUV4dHJhY3Rpb25SZXN1bHQ6OmQKICAgICBpZiAoIWxpbmVzKQog
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHt7IFdURk1vdmUoKmxp
bmVzKSB9fTsKKyNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCisgICAgT3B0aW9uYWw8VmVjdG9y
PEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+PiBkYXRhRGV0ZWN0b3JzOworICAgIGRl
Y29kZXIgPj4gZGF0YURldGVjdG9yczsKKyAgICBpZiAoIWRhdGFEZXRlY3RvcnMpCisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisjZW5kaWYKKworICAgIHJldHVybiB7eworICAgICAgICBX
VEZNb3ZlKCpsaW5lcyksCisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorICAgICAgICBXVEZN
b3ZlKCpkYXRhRGV0ZWN0b3JzKSwKKyNlbmRpZgorICAgIH19OwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRh
RGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9E
YXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDc3OWZhYzViMDE0M2UzMzIzOWYzMGIyYTZjODRmMjM1MjMwMTIwMzYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oCisrKyAvZGV2L251bGwKQEAgLTEsNzEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKERBVEFfREVU
RUNUSU9OKQotCi0jaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5o
PgotI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlua2luZy5oPgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLQotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViQ29yZSwgRERTY2FubmVyUmVzdWx0
KQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0Nv
cmUsIEREU2Nhbm5lckNyZWF0ZSwgRERTY2FubmVyUmVmLCAoRERTY2FubmVyVHlwZSB0eXBlLCBE
RFNjYW5uZXJPcHRpb25zIG9wdGlvbnMsIENGRXJyb3JSZWYgKiBlcnJvclJlZiksICh0eXBlLCBv
cHRpb25zLCBlcnJvclJlZikpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3Jl
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyU2NhblF1ZXJ5LCBCb29sZWFuLCAoRERTY2Fu
bmVyUmVmIHNjYW5uZXIsIEREU2NhblF1ZXJ5UmVmIHF1ZXJ5KSwgKHNjYW5uZXIsIHF1ZXJ5KSkK
LVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3Jl
LCBERFNjYW5RdWVyeUNyZWF0ZSwgRERTY2FuUXVlcnlSZWYsIChDRkFsbG9jYXRvclJlZiBhbGxv
Y2F0b3IpLCAoYWxsb2NhdG9yKSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNv
cmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDb3B5UmVzdWx0c1dpdGhPcHRpb25zLCBD
RkFycmF5UmVmLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0
aW9ucyBvcHRpb25zKSwgKHNjYW5uZXIsIG9wdGlvbnMpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0UmFuZ2UsIENG
UmFuZ2UsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKLVNPRlRfTElOS19GVU5DVElP
Tl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFR5cGUs
IENGU3RyaW5nUmVmLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCi1TT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRH
ZXRDYXRlZ29yeSwgRERSZXN1bHRDYXRlZ29yeSwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1
bHQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9y
c0NvcmUsIEREUmVzdWx0SXNQYXN0RGF0ZSwgQm9vbGVhbiwgKEREUmVzdWx0UmVmIHJlc3VsdCwg
Q0ZEYXRlUmVmIHJlZmVyZW5jZURhdGUsIENGVGltZVpvbmVSZWYgcmVmZXJlbmNlVGltZVpvbmUp
LCAocmVzdWx0LCByZWZlcmVuY2VEYXRlLCByZWZlcmVuY2VUaW1lWm9uZSkpCi1TT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVl
cnlBZGRUZXh0RnJhZ21lbnQsIHZvaWQsIChERFNjYW5RdWVyeVJlZiBxdWVyeSwgQ0ZTdHJpbmdS
ZWYgZnJhZ21lbnQsIENGUmFuZ2UgcmFuZ2UsIHZvaWQgKmlkZW50aWZpZXIsIEREVGV4dEZyYWdt
ZW50TW9kZSBtb2RlLCBERFRleHRDb2FsZXNjaW5nVHlwZSB0eXBlKSwgKHF1ZXJ5LCBmcmFnbWVu
dCwgcmFuZ2UsIGlkZW50aWZpZXIsIG1vZGUsIHR5cGUpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkU2VwYXJh
dG9yLCB2b2lkLCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIEREVGV4dENvYWxlc2NpbmdUeXBlIHR5
cGUpLCAocXVlcnksIHR5cGUpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29y
ZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkTGluZUJyZWFrLCB2b2lkLCAoRERT
Y2FuUXVlcnlSZWYgcXVlcnkpLCAocXVlcnkpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5R2V0RnJhZ21lbnRNZXRh
RGF0YSwgdm9pZCAqLCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIENGSW5kZXggcXVlcnlJbmRleCks
IChxdWVyeSwgcXVlcnlJbmRleCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJD
b3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRIYXNQcm9wZXJ0aWVzLCBib29sLCAoRERS
ZXN1bHRSZWYgcmVzdWx0LCBDRkluZGV4IHByb3BlcnR5U2V0KSwgKHJlc3VsdCwgcHJvcGVydHlT
ZXQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9y
c0NvcmUsIEREUmVzdWx0R2V0U3ViUmVzdWx0cywgQ0ZBcnJheVJlZiwgKEREUmVzdWx0UmVmIHJl
c3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwg
RGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNhdGlvbiwg
RERRdWVyeVJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCi1TT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxTdHJp
bmdGb3JSZXN1bHQsIE5TU3RyaW5nICosIChERFJlc3VsdFJlZiBjdXJyZW50UmVzdWx0LCBOU1N0
cmluZyAqIHJlc3VsdElkZW50aWZpZXIsIEREVVJMaWZpZXJQaG9uZU51bWJlckRldGVjdGlvblR5
cGVzIGluY2x1ZGluZ1RlbEdyb3VwcywgTlNEYXRlICogcmVmZXJlbmNlRGF0ZSwgTlNUaW1lWm9u
ZSAqIHJlZmVyZW5jZVRpbWVab25lKSwgKGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIs
IGluY2x1ZGluZ1RlbEdyb3VwcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQot
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUs
IEREVVJMVGFwQW5kSG9sZFNjaGVtZXMsIE5TQXJyYXkgKiwgKCksICgpKQotU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1t
ZWRpYXRlbHlTaG93QWN0aW9uU2hlZXRGb3JVUkwsIEJPT0wsIChOU1VSTCAqdXJsKSwgKHVybCkp
Ci1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29y
ZSwgRERTaG91bGRJbW1lZGlhdGVseVNob3dBY3Rpb25TaGVldEZvclJlc3VsdCwgQk9PTCwgKERE
UmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkVXNlTGlnaHRMaW5rc0ZvclJl
c3VsdCwgQk9PTCwgKEREUmVzdWx0UmVmIHJlc3VsdCwgQk9PTCBleHRyYWN0ZWRGcm9tU2lnbmF0
dXJlKSwgKHJlc3VsdCwgZXh0cmFjdGVkRnJvbVNpZ25hdHVyZSkpCi1TT0ZUX0xJTktfUE9JTlRF
Ul9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclBhcnNlY1Nv
dXJjZUtleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNv
cmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlckh0dHBVUkxLZXksIENGU3RyaW5nUmVmKQot
U09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwg
RERCaW5kZXJXZWJVUkxLZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX0hF
QURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJNYWlsVVJMS2V5LCBDRlN0
cmluZ1JlZikKLVNPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVj
dG9yc0NvcmUsIEREQmluZGVyR2VuZXJpY1VSTEtleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktf
UE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlckVt
YWlsS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoV2ViQ29y
ZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyVHJhY2tpbmdOdW1iZXJLZXksIENGU3RyaW5n
UmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERCaW5kZXJGbGlnaHRJbmZvcm1hdGlvbktleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJ
TktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRl
clNpZ25hdHVyZUJsb2NrS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19DT05TVEFOVF9GT1Jf
SEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDb3B5UmVzdWx0c09w
dGlvbnNGb3JQYXNzaXZlVXNlLCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnMpCi0KLVNPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNj
YW5uZXJFbmFibGVPcHRpb25hbFNvdXJjZSwgdm9pZCwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBE
RFNjYW5uZXJTb3VyY2Ugc291cmNlLCBCb29sZWFuIGVuYWJsZSksIChzY2FubmVyLCBzb3VyY2Us
IGVuYWJsZSkpCi0KLSNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQotCi0jZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RhdGFEZXRlY3RvcnNDb3Jl
U29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3Jz
Q29yZVNvZnRMaW5rLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YThjNjc2NWQy
YzUzMDJlMDQ5ZDQ5YzFlZWEyOTk3OWNkOTgyMzQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RhdGFE
ZXRlY3RvcnNDb3JlU29mdExpbmsubW0KKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJEYXRhRGV0ZWN0b3JzQ29y
ZVNvZnRMaW5rLmgiCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoREFUQV9E
RVRFQ1RJT04pCi0KLVNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19GT1JfU09VUkNFKFdlYkNv
cmUsIERhdGFEZXRlY3RvcnNDb3JlKQotCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJD
b3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyUmVzdWx0KQotU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lckNyZWF0
ZSwgRERTY2FubmVyUmVmLCAoRERTY2FubmVyVHlwZSB0eXBlLCBERFNjYW5uZXJPcHRpb25zIG9w
dGlvbnMsIENGRXJyb3JSZWYgKiBlcnJvclJlZiksICh0eXBlLCBvcHRpb25zLCBlcnJvclJlZikp
Ci1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29y
ZSwgRERTY2FubmVyU2NhblF1ZXJ5LCBCb29sZWFuLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIERE
U2NhblF1ZXJ5UmVmIHF1ZXJ5KSwgKHNjYW5uZXIsIHF1ZXJ5KSkKLVNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUNyZWF0
ZSwgRERTY2FuUXVlcnlSZWYsIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9y
KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnND
b3JlLCBERFNjYW5uZXJDb3B5UmVzdWx0c1dpdGhPcHRpb25zLCBDRkFycmF5UmVmLCAoRERTY2Fu
bmVyUmVmIHNjYW5uZXIsIEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9ucyBvcHRpb25zKSwgKHNj
YW5uZXIsIG9wdGlvbnMpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwg
RGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0UmFuZ2UsIENGUmFuZ2UsIChERFJlc3VsdFJl
ZiByZXN1bHQpLCAocmVzdWx0KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNv
cmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFR5cGUsIENGU3RyaW5nUmVmLCAoRERS
ZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRDYXRlZ29yeSwgRERSZXN1
bHRDYXRlZ29yeSwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0SXNQ
YXN0RGF0ZSwgQm9vbGVhbiwgKEREUmVzdWx0UmVmIHJlc3VsdCwgQ0ZEYXRlUmVmIHJlZmVyZW5j
ZURhdGUsIENGVGltZVpvbmVSZWYgcmVmZXJlbmNlVGltZVpvbmUpLCAocmVzdWx0LCByZWZlcmVu
Y2VEYXRlLCByZWZlcmVuY2VUaW1lWm9uZSkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlBZGRUZXh0RnJhZ21lbnQs
IHZvaWQsIChERFNjYW5RdWVyeVJlZiBxdWVyeSwgQ0ZTdHJpbmdSZWYgZnJhZ21lbnQsIENGUmFu
Z2UgcmFuZ2UsIHZvaWQgKmlkZW50aWZpZXIsIEREVGV4dEZyYWdtZW50TW9kZSBtb2RlLCBERFRl
eHRDb2FsZXNjaW5nVHlwZSB0eXBlKSwgKHF1ZXJ5LCBmcmFnbWVudCwgcmFuZ2UsIGlkZW50aWZp
ZXIsIG1vZGUsIHR5cGUpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwg
RGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkU2VwYXJhdG9yLCB2b2lkLCAoRERTY2Fu
UXVlcnlSZWYgcXVlcnksIEREVGV4dENvYWxlc2NpbmdUeXBlIHR5cGUpLCAocXVlcnksIHR5cGUp
KQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0Nv
cmUsIEREU2NhblF1ZXJ5QWRkTGluZUJyZWFrLCB2b2lkLCAoRERTY2FuUXVlcnlSZWYgcXVlcnkp
LCAocXVlcnkpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURl
dGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5R2V0RnJhZ21lbnRNZXRhRGF0YSwgdm9pZCAqLCAoRERT
Y2FuUXVlcnlSZWYgcXVlcnksIENGSW5kZXggcXVlcnlJbmRleCksIChxdWVyeSwgcXVlcnlJbmRl
eCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERSZXN1bHRIYXNQcm9wZXJ0aWVzLCBib29sLCAoRERSZXN1bHRSZWYgcmVzdWx0LCBD
RkluZGV4IHByb3BlcnR5U2V0KSwgKHJlc3VsdCwgcHJvcGVydHlTZXQpKQotU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0
U3ViUmVzdWx0cywgQ0ZBcnJheVJlZiwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQot
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUs
IEREUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNhdGlvbiwgRERRdWVyeVJhbmdlLCAoRERS
ZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxTdHJpbmdGb3JSZXN1bHQsIE5TU3Ry
aW5nICosIChERFJlc3VsdFJlZiBjdXJyZW50UmVzdWx0LCBOU1N0cmluZyAqIHJlc3VsdElkZW50
aWZpZXIsIEREVVJMaWZpZXJQaG9uZU51bWJlckRldGVjdGlvblR5cGVzIGluY2x1ZGluZ1RlbEdy
b3VwcywgTlNEYXRlICogcmVmZXJlbmNlRGF0ZSwgTlNUaW1lWm9uZSAqIHJlZmVyZW5jZVRpbWVa
b25lKSwgKGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIsIGluY2x1ZGluZ1RlbEdyb3Vw
cywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQotU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREVVJMVGFwQW5kSG9sZFNj
aGVtZXMsIE5TQXJyYXkgKiwgKCksICgpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Uo
V2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9u
U2hlZXRGb3JVUkwsIEJPT0wsIChOU1VSTCAqdXJsKSwgKHVybCkpCi1TT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTaG91bGRJbW1lZGlh
dGVseVNob3dBY3Rpb25TaGVldEZvclJlc3VsdCwgQk9PTCwgKEREUmVzdWx0UmVmIHJlc3VsdCks
IChyZXN1bHQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURl
dGVjdG9yc0NvcmUsIEREU2hvdWxkVXNlTGlnaHRMaW5rc0ZvclJlc3VsdCwgQk9PTCwgKEREUmVz
dWx0UmVmIHJlc3VsdCwgQk9PTCBleHRyYWN0ZWRGcm9tU2lnbmF0dXJlKSwgKHJlc3VsdCwgZXh0
cmFjdGVkRnJvbVNpZ25hdHVyZSkpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFdlYkNv
cmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclBhcnNlY1NvdXJjZUtleSwgQ0ZTdHJpbmdS
ZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnND
b3JlLCBEREJpbmRlckh0dHBVUkxLZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJf
Rk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJXZWJVUkxLZXks
IENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJNYWlsVVJMS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElO
S19QT0lOVEVSX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVy
R2VuZXJpY1VSTEtleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNF
KFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlckVtYWlsS2V5LCBDRlN0cmluZ1Jl
ZikKLVNPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0Nv
cmUsIEREQmluZGVyVHJhY2tpbmdOdW1iZXJLZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BP
SU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJGbGln
aHRJbmZvcm1hdGlvbktleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09V
UkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclNpZ25hdHVyZUJsb2NrS2V5
LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIERh
dGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnNGb3JQYXNzaXZlVXNl
LCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnMpCi0KLVNPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJFbmFibGVPcHRpb25h
bFNvdXJjZSwgdm9pZCwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBERFNjYW5uZXJTb3VyY2Ugc291
cmNlLCBCb29sZWFuIGVuYWJsZSksIChzY2FubmVyLCBzb3VyY2UsIGVuYWJsZSkpCi0KLSNlbmRp
ZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnND
b2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVy
c0NvY29hLm1tCmluZGV4IDExNjE0MmQ2ZjlhMjEyZmY0NDk3OTZjNTY5MmExYjBiMzA3Mzg0ZGYu
LmExODYwYmE2ZTFkMjRkZjAzMzBhMzRjNmYwZjRhODVkODg3NWU3ZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29h
Lm1tCkBAIC01MCw2ICs1MCwxMCBAQAogI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNDb2NvYUFkZGl0aW9ucy5tbT4KICNlbmRpZgogCisjaWYgRU5BQkxFKElN
QUdFX0VYVFJBQ1RJT04pCisjaW1wb3J0IDxXZWJDb3JlL0ltYWdlRXh0cmFjdGlvblJlc3VsdC5o
PgorI2VuZGlmCisKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogI2ltcG9ydCAiRGF0YVJlZmVyZW5j
ZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9QYXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5oPgpAQCAt
NjAsNiArNjQsMTAgQEAKICNpbXBvcnQgPHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5o
PgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCisjaW1wb3J0IDxwYWwvY29j
b2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBJUEMg
ewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTY1MSw0ICs2NTksMjMgQEAgYm9vbCBB
cmd1bWVudENvZGVyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0Pjo6ZGVjb2Rl
UGxhdGZvcm1EYXRhKERlY28KIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKElNQUdFX0VYVFJBQ1RJ
T04pICYmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKKwordm9pZCBBcmd1bWVudENvZGVyPEltYWdl
RXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYg
ZW5jb2RlciwgY29uc3QgSW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyYgaW5mbykKK3sK
KyAgICBlbmNvZGVyIDw8IGluZm8ucmVzdWx0LmdldCgpOworfQorCitib29sIEFyZ3VtZW50Q29k
ZXI8SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShE
ZWNvZGVyJiBkZWNvZGVyLCBJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvJiByZXN1bHQp
Cit7CisgICAgYXV0byBzY2FubmVyUmVzdWx0ID0gSVBDOjpkZWNvZGU8RERTY2FubmVyUmVzdWx0
PihkZWNvZGVyLCBAWyBQQUw6OmdldEREU2Nhbm5lclJlc3VsdENsYXNzKCkgXSk7CisgICAgaWYg
KCFzY2FubmVyUmVzdWx0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXN1bHQucmVz
dWx0ID0gV1RGTW92ZSgqc2Nhbm5lclJlc3VsdCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoSU1BR0VfRVhUUkFDVElPTikgJiYgRU5BQkxFKERBVEFfREVURUNUSU9O
KQorCiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGM3YTg1OGEwOGE1ZjhiYTA3YjNjYTBjNzZkYmJhMTIy
YzMwNzRmMGYuLmU0NjAyZDVhOTUyYWIyOWZiNmJmYjEzMjgzYWY3MDk4OTg1MTExYzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtNTMs
NiArNTMsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRmlsZUNob29zZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0ZpbHRlck9wZXJhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmlsdGVyT3BlcmF0
aW9ucy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRRdWFkLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Gb250Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250QXR0cmlidXRlcy5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CkBAIC0xMDIsNyArMTAzLDYgQEAKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UXVhZC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2VsZWN0aW9uR2VvbWV0cnkuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1NoYXJlZEJ1ZmZlci5oPgogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0x
MTYsNiArMTE2LDEwIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNvbnN0cmFpbnRzLmg+CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKQorI2luY2x1ZGUgPFdlYkNvcmUv
SW1hZ2VFeHRyYWN0aW9uUmVzdWx0Lmg+CisjZW5kaWYKKwogLy8gRklYTUU6IFNlZW1zIGxpa2Ug
d2UgY291bGQgdXNlIHN0ZDo6dHVwbGUgdG8gY3V0IGRvd24gdGhlIGNvZGUgYmVsb3cgYSBsb3Qh
CiAKIG5hbWVzcGFjZSBJUEMgewpAQCAtMzE5OCw0ICszMjAyLDI5IEBAIE9wdGlvbmFsPFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMOjpBY3RpdmVJbmZvPiBBcmd1bWVudENvZGVyPFdlYkNvcmU6
OkdyYXBoaWNzCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKElNQUdFX0VYVFJBQ1RJT04pICYmIEVO
QUJMRShEQVRBX0RFVEVDVElPTikKKwordm9pZCBBcmd1bWVudENvZGVyPEltYWdlRXh0cmFjdGlv
bkRhdGFEZXRlY3RvckluZm8+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgSW1hZ2VF
eHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyYgaW5mbykKK3sKKyAgICBlbmNvZGVQbGF0Zm9ybURh
dGEoZW5jb2RlciwgaW5mbyk7CisgICAgZW5jb2RlciA8PCBpbmZvLm5vcm1hbGl6ZWRRdWFkczsK
K30KKworT3B0aW9uYWw8SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz4gQXJndW1lbnRD
b2RlcjxJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvPjo6ZGVjb2RlKERlY29kZXImIGRl
Y29kZXIpCit7CisgICAgSW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyByZXN1bHQ7Cisg
ICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEoZGVjb2RlciwgcmVzdWx0KSkKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPFZlY3RvcjxGbG9hdFF1YWQ+PiBub3Jt
YWxpemVkUXVhZHM7CisgICAgZGVjb2RlciA+PiBub3JtYWxpemVkUXVhZHM7CisgICAgaWYgKCFu
b3JtYWxpemVkUXVhZHMpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXN1
bHQubm9ybWFsaXplZFF1YWRzID0gV1RGTW92ZSgqbm9ybWFsaXplZFF1YWRzKTsKKyAgICByZXR1
cm4geyBXVEZNb3ZlKHJlc3VsdCkgfTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9FWFRS
QUNUSU9OKSAmJiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCisKIH0gLy8gbmFtZXNwYWNlIElQQwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCBjZmMz
OTYyOGE5NTBmNDJjMWE2MTRiZTk3YzdlNTUyMTU0YzhjYTU5Li5jYmI5YjM3OTBkMDhlZGRiZDBi
ZDlkOGFhNTRiMjAzNTIwZTZhNWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaApAQCAtMTQ3LDYgKzE0Nyw3IEBAIHN0cnVjdCBFdmVudFRyYWNraW5n
UmVnaW9uczsKIHN0cnVjdCBFeGNlcHRpb25EZXRhaWxzOwogc3RydWN0IEZvbnRBdHRyaWJ1dGVz
Owogc3RydWN0IEZpbGVDaG9vc2VyU2V0dGluZ3M7CitzdHJ1Y3QgSW1hZ2VFeHRyYWN0aW9uRGF0
YURldGVjdG9ySW5mbzsKIHN0cnVjdCBSYXdGaWxlOwogc3RydWN0IFNoYXJlRGF0YTsKIHN0cnVj
dCBTaGFyZURhdGFXaXRoUGFyc2VkVVJMOwpAQCAtODI0LDYgKzgyNSwxNyBAQCB0ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMOjpBY3RpdmVJ
bmZvPiB7CiB9OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoSU1BR0VfRVhUUkFDVElPTikgJiYgRU5B
QkxFKERBVEFfREVURUNUSU9OKQorCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdl
YkNvcmU6OkltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+IHsKKyAgICBzdGF0aWMgdm9p
ZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkltYWdlRXh0cmFjdGlvbkRhdGFEZXRl
Y3RvckluZm8mKTsKKyAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIE9wdGlvbmFsPFdlYkNv
cmU6OkltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+IGRlY29kZShEZWNvZGVyJik7Cisg
ICAgc3RhdGljIHZvaWQgZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXImLCBjb25zdCBXZWJDb3Jl
OjpJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvJik7CisgICAgc3RhdGljIFdBUk5fVU5V
U0VEX1JFVFVSTiBib29sIGRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiwgV2ViQ29yZTo6SW1h
Z2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyYpOworfTsKKworI2VuZGlmIC8vIEVOQUJMRShJ
TUFHRV9FWFRSQUNUSU9OKSAmJiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCisKIH0gLy8gbmFtZXNw
YWNlIElQQwogCiBuYW1lc3BhY2UgV1RGIHsK
</data>
<flag name="commit-queue"
          id="449517"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428571</attachid>
            <date>2021-05-13 16:16:47 -0700</date>
            <delta_ts>2021-05-13 17:10:54 -0700</delta_ts>
            <desc>Fix non-internal builds</desc>
            <filename>bug-225775-20210513161647.patch</filename>
            <type>text/plain</type>
            <size>65008</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ2ZDdkNjU3ZjlhMTZl
M2JkYTllMGJlNDA0NTRiN2RiMTgxODQ3MS4uMTFiYjFkYTc5Y2MzODVkZmIxYjY4NDc3ZWNjNzY3
MzQ5YzQwYmEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA1LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUGx1
bWIgZGF0YSBkZXRlY3RvciByZXN1bHRzIHRocm91Z2ggc29tZSBwbGF0Zm9ybSBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3NzUKKyAg
ICAgICAgV29yayB0b3dhcmRzIHJkYXI6Ly83NTUwNDk1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IFRpbSBIb3J0b24uCisKKyAgICAgICAgSW50cm9kdWNlIGEgbmV3IHN0cnVjdCB0byBob2xkIGRh
dGEgZGV0ZWN0aW9uIHJlc3VsdHMsIGFuZCBhZGQgaXQgdG8gdGhlIGV4aXN0aW5nIHJlc3VsdHMg
b2JqZWN0IHdoZW4KKyAgICAgICAgYEVOQUJMRShEQVRBX0RFVEVDVElPTilgIGlzIGRlZmluZWQu
CisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6RGF0YURldGVjdGlvbjo6Y2FuQmVQcmVzZW50ZWRCeURhdGFEZXRlY3RvcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6RGF0YURldGVjdGlvbjo6Y2FuUHJlc2VudERhdGFEZXRlY3RvcnNVSUZvckVs
ZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6cmVzdWx0SXNVUkwpOgorICAgICAgICAoV2ViQ29y
ZTo6Y29uc3RydWN0VVJMU3RyaW5nRm9yUmVzdWx0KToKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxk
UXVlcnkpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVudElu
UmFuZ2UpOgorCisgICAgICAgIEFkZCBhIGBQQUxgIG5hbWVzcGFjZSB0byBlYWNoIG9mIHRoZXNl
IERhdGFEZXRlY3RvcnNDb3JlIHNvZnRsaW5raW5nIGNhbGwgc2l0ZXMsIHNpbmNlIHRoZSBzb2Z0
IGxpbmsgaGVhZGVyIG5vdworICAgICAgICBleGlzdHMgaW4gUEFMLgorCisgICAgICAgICogcGxh
dGZvcm0vSW1hZ2VFeHRyYWN0aW9uUmVzdWx0Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUV4
dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvOjpJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZv
KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRXh0cmFjdGlvblJlc3VsdDo6aXNFbXB0eSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUV4dHJhY3Rpb25SZXN1bHQ6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUV4dHJhY3Rpb25SZXN1bHQ6OmRlY29kZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsu
bW06IFJlbW92ZWQuCisKKyAgICAgICAgQWRkaXRpb25hbGx5LCBtb3ZlIGBEYXRhRGV0ZWN0b3Jz
Q29yZVNvZnRMaW5rLntofG1tfWAgb3V0IG9mIGBXZWJDb3JlL3BsYXRmb3JtYCBhbmQgaW50byBQ
QUwgYXMgc29mdGxpbmtpbmcKKyAgICAgICAgaGVhZGVycywgc28gdGhhdCB0aGV5IGNhbiBiZSBp
bXBvcnRlZCBpbiBXZWJLaXQgYXMgd2VsbCBhcyBXZWJDb3JlLgorCiAyMDIxLTA1LTEzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFsgbWFjT1MgV2syIF0gbWVk
aWEvbWVkaWEtZnJhZ21lbnRzL1RDMDA1MS5odG1sIGlzIGZsYWtleSBjcmFzaGluZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKaW5kZXggYjMzNWMyYTVjNDIwN2Y5ZmQzYWFhMTY5OWMzMzk4NDdmMjBiNDYzMy4u
MWZkNTU2MWU5MzJlMjgwMDY3N2FkNDdhMWQ2YWVkOGQ4ZDlhMTdjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDUtMTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQbHVtYiBkYXRhIGRldGVjdG9yIHJl
c3VsdHMgdGhyb3VnaCBzb21lIHBsYXRmb3JtIG9iamVjdHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTc3NQorICAgICAgICBXb3JrIHRvd2FyZHMg
cmRhcjovLzc1NTA0OTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAg
ICAgICBNb3ZlIGBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLntofG1tfWAgaW50byBQQUwsIHNv
IHRoYXQgaXQgY2FuIGJlIHVzZWQgaW4gV2ViS2l0IGFzIHdlbGwuCisKKyAgICAgICAgKiBQQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWwvY29jb2EvRGF0YURldGVj
dG9yc0NvcmVTb2Z0TGluay5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oLgorICAgICAgICAqIHBhbC9jb2NvYS9E
YXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbS4KKyAgICAgICAgKiBw
YWwvc3BpL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU1BJLmg6CisKKyAgICAgICAgRXhwbGljaXRs
eSBpbXBvcnQgRm91bmRhdGlvbiBoZWFkZXJzIGhlcmUsIHNvIHRoYXQgdGhlIGZvcndhcmQgZGVj
bGFyYXRpb25zIGRvbid0IGNhdXNlIGNvbXBpbGF0aW9uIGZhaWx1cmVzIGluCisgICAgICAgIG5v
bi1pbnRlcm5hbCBTREtzLgorCiAyMDIxLTA1LTEyICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgQ29yZU1lZGlhIFNQSSB0byBpZGVudGlmeSBhdWRp
by1vbmx5IHBsYXliYWNrIGZvciBNU0UgY2xpZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjODEwZDU2MmZiOTA5
NzA5MDU0MTlhYmEyODI4MTdjYWUxZWM3ZmU2Li45NmZhYzlmODNhMDZlNTRkNDM2OTA3NjBmNTFm
NWE2MjliYzBiNWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA1LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUGx1
bWIgZGF0YSBkZXRlY3RvciByZXN1bHRzIHRocm91Z2ggc29tZSBwbGF0Zm9ybSBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3NzUKKyAg
ICAgICAgV29yayB0b3dhcmRzIHJkYXI6Ly83NTUwNDk1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkIElQQyBlbmNvZGluZyBhbmQgZGVjb2Rpbmcgc3Vw
cG9ydCBmb3IgdGhlIG5ldyBzdHJ1Y3QuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8SW1h
Z2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz46OmVuY29kZVBsYXRmb3JtRGF0YSk6CisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz46
OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8SW1hZ2VFeHRyYWN0aW9uRGF0
YURldGVjdG9ySW5mbz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8SW1h
Z2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz46OmRlY29kZSk6CisgICAgICAgICogU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorCiAyMDIxLTA1LTEzICBTYW0gV2VpbmlnICA8d2Vp
bmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBDR0Rpc3BsYXlMaXN0IGRlYnVnIGNvbmZpZ3VyYXRp
b24gZmFpbHMgdG8gYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAzM2RmZmRlMTVjZmVlOWJhZDg2ZTAxYjlkZDhiOWIxODc3
ZGZmN2RhLi4xOTZlMzlkMzI1Y2I4MzA0YzgxYWNiY2IxYjJjYjRjNThkMjRlODQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
MDcsNiArMjA3LDggQEAKIAkJRjQ0MjkxNjAxRkE1MjYxRTAwMkNDOTNFIC8qIEZpbGVTaXplRm9y
bWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NDQyOTE1RjFGQTUyNjFFMDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0ZXIuaCAqLzsgfTsKIAkJ
RjQ0MjkxNjQxRkE1MjY3MDAwMkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDI5MTYyMUZBNTI2NzAw
MDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgKi87IH07CiAJCUY0NDI5MTY4MUZBNTI3
MDUwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlckNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxNjYxRkE1MjcwNTAwMkNDOTNFIC8q
IEZpbGVTaXplRm9ybWF0dGVyQ29jb2EubW0gKi87IH07CisJCUY0REREMDFCMjY0REM2OUUwMEVG
MUI5MSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjREREQwMTkyNjREQzY5RTAwRUYxQjkxIC8qIERh
dGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0gKi87IH07CisJCUY0REREMDFDMjY0REM2OUUwMEVG
MUI5MSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNERERDAxQTI2NERDNjlFMDBFRjFCOTEgLyogRGF0
YURldGVjdG9yc0NvcmVTb2Z0TGluay5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0
aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC00
MjAsNiArNDIyLDggQEAKIAkJRjQ0MjkxNUYxRkE1MjYxRTAwMkNDOTNFIC8qIEZpbGVTaXplRm9y
bWF0dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVTaXplRm9ybWF0dGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTYyMUZBNTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZv
cm1hdHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaWxlU2l6ZUZvcm1hdHRlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTY2MUZBNTI3MDUwMDJDQzkzRSAvKiBG
aWxlU2l6ZUZvcm1hdHRlckNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRmlsZVNpemVG
b3JtYXR0ZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjREREQwMTky
NjREQzY5RTAwRUYxQjkxIC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5r
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNERERDAxQTI2NERDNjlFMDBFRjFC
OTEgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2lu
IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTcwNyw2ICs3MTEsOCBAQAog
CQkJCTA3N0U4N0FGMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5tbSAq
LywKIAkJCQk1N0YxQzkwNzI1RENGMENGMDBFOEY2RUEgLyogQ3J5cHRvS2l0Q0JyaWRnaW5nU29m
dExpbmsuaCAqLywKIAkJCQk1N0YxQzkwODI1RENGMENGMDBFOEY2RUEgLyogQ3J5cHRvS2l0Q0Jy
aWRnaW5nU29mdExpbmsubW0gKi8sCisJCQkJRjREREQwMUEyNjREQzY5RTAwRUYxQjkxIC8qIERh
dGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaCAqLywKKwkJCQlGNERERDAxOTI2NERDNjlFMDBFRjFC
OTEgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbSAqLywKIAkJCQlGNDQyOTE2NjFGQTUy
NzA1MDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0ZXJDb2NvYS5tbSAqLywKIAkJCQkxQzAyMkVG
QzIyQ0ZFOEUwMDA2REYwMUIgLyogR3VuemlwLmNwcCAqLywKIAkJCQlDREFDQjM1RTIzODczRTQ4
MDAxOEQ3Q0UgLyogTWVkaWFUb29sYm94U29mdExpbmsuY3BwICovLApAQCAtODQ3LDYgKzg1Myw3
IEBACiAJCQkJMUMwOUQwNTMxRTMxQzQ0MTAwNzI1RjE4IC8qIENyeXB0b0RpZ2VzdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTdGMUM5MDkyNURDRjBDRjAwRThGNkVBIC8qIENyeXB0b0tpdENCcmlk
Z2luZ1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlERjgzRTIwOTI2MzczNEYxMDAwODI1
RUYgLyogQ3J5cHRvS2l0Q0JyaWRnaW5nU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNERERDAx
QzI2NERDNjlFMDBFRjFCOTEgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEMyREExNDExRjNCRUI0OTAwREJDMzE3IC8qIERhdGFEZXRlY3RvcnNDb3Jl
U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU4QTFGNDUxMzBGMDBGNEVCQjYgLyogRGF0
YURldGVjdG9yc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM1QUY5MUExRjQzQTRDNzAwMkVB
QzAyIC8qIERhdGFEZXRlY3RvcnNVSVNQSS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDU5LDYgKzEw
NjYsNyBAQAogCQkJCTFDNzdDOEM5MjVENzk3MjAwMDYzNUUwQyAvKiBDb3JlVGV4dFNvZnRMaW5r
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDMDlEMDU2MUUzMUM0NjUwMDcyNUYxOCAvKiBDcnlw
dG9EaWdlc3RDb21tb25DcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTdGMUM5MEEyNURD
RjBDRjAwRThGNkVBIC8qIENyeXB0b0tpdENCcmlkZ2luZ1NvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJRjREREQwMUIyNjREQzY5RTAwRUYxQjkxIC8qIERhdGFEZXRlY3RvcnNDb3JlU29m
dExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQlBMTE3NUI1ODFGNkI0NzA1MDBDNEI5RjAgLyog
RGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY0NDI5MTY0MUZB
NTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGNDQyOTE2ODFGQTUyNzA1MDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0ZXJDb2NvYS5tbSBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9E
YXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OWJjOWQyNzY1OWE2ZDFk
OWI3YTMxZWJiODdmNjdjNDQxNWQwMTRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgKQEAgLTAsMCArMSw3
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoREFUQV9E
RVRFQ1RJT04pCisKKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU1BJ
Lmg+CisjaW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+CisKK1NPRlRfTElOS19GUkFNRVdPUktf
Rk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoUEFMLCBERFNjYW5uZXJSZXN1bHQpCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQor
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERT
Y2FubmVyQ3JlYXRlLCBERFNjYW5uZXJSZWYsIChERFNjYW5uZXJUeXBlIHR5cGUsIEREU2Nhbm5l
ck9wdGlvbnMgb3B0aW9ucywgQ0ZFcnJvclJlZiAqIGVycm9yUmVmKSwgKHR5cGUsIG9wdGlvbnMs
IGVycm9yUmVmKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVj
dG9yc0NvcmUsIEREU2Nhbm5lclNjYW5RdWVyeSwgQm9vbGVhbiwgKEREU2Nhbm5lclJlZiBzY2Fu
bmVyLCBERFNjYW5RdWVyeVJlZiBxdWVyeSksIChzY2FubmVyLCBxdWVyeSkpCitTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUNy
ZWF0ZSwgRERTY2FuUXVlcnlSZWYsIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2Nh
dG9yKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0Nv
cmUsIEREU2Nhbm5lckNvcHlSZXN1bHRzV2l0aE9wdGlvbnMsIENGQXJyYXlSZWYsIChERFNjYW5u
ZXJSZWYgc2Nhbm5lciwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zIG9wdGlvbnMpLCAoc2Nh
bm5lciwgb3B0aW9ucykpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFE
ZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFJhbmdlLCBDRlJhbmdlLCAoRERSZXN1bHRSZWYgcmVz
dWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFE
ZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFR5cGUsIENGU3RyaW5nUmVmLCAoRERSZXN1bHRSZWYg
cmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERh
dGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldENhdGVnb3J5LCBERFJlc3VsdENhdGVnb3J5LCAo
RERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hF
QURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdElzUGFzdERhdGUsIEJvb2xlYW4s
IChERFJlc3VsdFJlZiByZXN1bHQsIENGRGF0ZVJlZiByZWZlcmVuY2VEYXRlLCBDRlRpbWVab25l
UmVmIHJlZmVyZW5jZVRpbWVab25lKSwgKHJlc3VsdCwgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNl
VGltZVpvbmUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0
b3JzQ29yZSwgRERTY2FuUXVlcnlBZGRUZXh0RnJhZ21lbnQsIHZvaWQsIChERFNjYW5RdWVyeVJl
ZiBxdWVyeSwgQ0ZTdHJpbmdSZWYgZnJhZ21lbnQsIENGUmFuZ2UgcmFuZ2UsIHZvaWQgKmlkZW50
aWZpZXIsIEREVGV4dEZyYWdtZW50TW9kZSBtb2RlLCBERFRleHRDb2FsZXNjaW5nVHlwZSB0eXBl
KSwgKHF1ZXJ5LCBmcmFnbWVudCwgcmFuZ2UsIGlkZW50aWZpZXIsIG1vZGUsIHR5cGUpKQorU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2Fu
UXVlcnlBZGRTZXBhcmF0b3IsIHZvaWQsIChERFNjYW5RdWVyeVJlZiBxdWVyeSwgRERUZXh0Q29h
bGVzY2luZ1R5cGUgdHlwZSksIChxdWVyeSwgdHlwZSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUFkZExpbmVCcmVhaywg
dm9pZCwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5KSwgKHF1ZXJ5KSkKK1NPRlRfTElOS19GVU5DVElP
Tl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5R2V0RnJhZ21l
bnRNZXRhRGF0YSwgdm9pZCAqLCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIENGSW5kZXggcXVlcnlJ
bmRleCksIChxdWVyeSwgcXVlcnlJbmRleCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURF
UihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEhhc1Byb3BlcnRpZXMsIGJvb2wsIChE
RFJlc3VsdFJlZiByZXN1bHQsIENGSW5kZXggcHJvcGVydHlTZXQpLCAocmVzdWx0LCBwcm9wZXJ0
eVNldCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnND
b3JlLCBERFJlc3VsdEdldFN1YlJlc3VsdHMsIENGQXJyYXlSZWYsIChERFJlc3VsdFJlZiByZXN1
bHQpLCAocmVzdWx0KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgRGF0YURl
dGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNhdGlvbiwgRERRdWVy
eVJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFVSTFN0cmluZ0ZvclJlc3Vs
dCwgTlNTdHJpbmcgKiwgKEREUmVzdWx0UmVmIGN1cnJlbnRSZXN1bHQsIE5TU3RyaW5nICogcmVz
dWx0SWRlbnRpZmllciwgRERVUkxpZmllclBob25lTnVtYmVyRGV0ZWN0aW9uVHlwZXMgaW5jbHVk
aW5nVGVsR3JvdXBzLCBOU0RhdGUgKiByZWZlcmVuY2VEYXRlLCBOU1RpbWVab25lICogcmVmZXJl
bmNlVGltZVpvbmUpLCAoY3VycmVudFJlc3VsdCwgcmVzdWx0SWRlbnRpZmllciwgaW5jbHVkaW5n
VGVsR3JvdXBzLCByZWZlcmVuY2VEYXRlLCByZWZlcmVuY2VUaW1lWm9uZSkpCitTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFVSTFRhcEFuZEhv
bGRTY2hlbWVzLCBOU0FycmF5ICosICgpLCAoKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVB
REVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9u
U2hlZXRGb3JVUkwsIEJPT0wsIChOU1VSTCAqdXJsKSwgKHVybCkpCitTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNob3VsZEltbWVkaWF0ZWx5
U2hvd0FjdGlvblNoZWV0Rm9yUmVzdWx0LCBCT09MLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJl
c3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnND
b3JlLCBERFNob3VsZFVzZUxpZ2h0TGlua3NGb3JSZXN1bHQsIEJPT0wsIChERFJlc3VsdFJlZiBy
ZXN1bHQsIEJPT0wgZXh0cmFjdGVkRnJvbVNpZ25hdHVyZSksIChyZXN1bHQsIGV4dHJhY3RlZEZy
b21TaWduYXR1cmUpKQorU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihQQUwsIERhdGFEZXRl
Y3RvcnNDb3JlLCBEREJpbmRlclBhcnNlY1NvdXJjZUtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJ
TktfUE9JTlRFUl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVySHR0
cFVSTEtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFBBTCwg
RGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyV2ViVVJMS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRf
TElOS19QT0lOVEVSX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJN
YWlsVVJMS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoUEFM
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJHZW5lcmljVVJMS2V5LCBDRlN0cmluZ1JlZikK
K1NPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERC
aW5kZXJFbWFpbEtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVS
KFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyVHJhY2tpbmdOdW1iZXJLZXksIENGU3Ry
aW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnND
b3JlLCBEREJpbmRlckZsaWdodEluZm9ybWF0aW9uS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElO
S19QT0lOVEVSX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJTaWdu
YXR1cmVCbG9ja0tleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURF
UihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnNGb3JQ
YXNzaXZlVXNlLCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnMpCitTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJFbmFibGVPcHRp
b25hbFNvdXJjZSwgdm9pZCwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBERFNjYW5uZXJTb3VyY2Ug
c291cmNlLCBCb29sZWFuIGVuYWJsZSksIChzY2FubmVyLCBzb3VyY2UsIGVuYWJsZSkpCisjZW5k
aWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2VuZGlmIC8vIEVOQUJMRShEQVRBX0RFVEVD
VElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvRGF0YURldGVj
dG9yc0NvcmVTb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvRGF0YURl
dGVjdG9yc0NvcmVTb2Z0TGluay5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTRlOTdkNjRjZDExOGU3YjY5MWFj
MjBhZjhmYmIxNDBjNWMwZTU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tCkBAIC0wLDAgKzEsNzAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKERBVEFf
REVURUNUSU9OKQorCisjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQ
SS5oPgorI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JL
X0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSkKK1NPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lclJlc3Vs
dCwgUEFMX0VYUE9SVCkKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCitTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDcmVhdGUs
IEREU2Nhbm5lclJlZiwgKEREU2Nhbm5lclR5cGUgdHlwZSwgRERTY2FubmVyT3B0aW9ucyBvcHRp
b25zLCBDRkVycm9yUmVmICogZXJyb3JSZWYpLCAodHlwZSwgb3B0aW9ucywgZXJyb3JSZWYpKQor
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERT
Y2FubmVyU2NhblF1ZXJ5LCBCb29sZWFuLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIEREU2NhblF1
ZXJ5UmVmIHF1ZXJ5KSwgKHNjYW5uZXIsIHF1ZXJ5KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5Q3JlYXRlLCBERFNjYW5R
dWVyeVJlZiwgKENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciksIChhbGxvY2F0b3IpKQorU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVy
Q29weVJlc3VsdHNXaXRoT3B0aW9ucywgQ0ZBcnJheVJlZiwgKEREU2Nhbm5lclJlZiBzY2FubmVy
LCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnMgb3B0aW9ucyksIChzY2FubmVyLCBvcHRpb25z
KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUs
IEREUmVzdWx0R2V0UmFuZ2UsIENGUmFuZ2UsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0
KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUs
IEREUmVzdWx0R2V0VHlwZSwgQ0ZTdHJpbmdSZWYsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVz
dWx0KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0Nv
cmUsIEREUmVzdWx0R2V0Q2F0ZWdvcnksIEREUmVzdWx0Q2F0ZWdvcnksIChERFJlc3VsdFJlZiBy
ZXN1bHQpLCAocmVzdWx0KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0
YURldGVjdG9yc0NvcmUsIEREUmVzdWx0SXNQYXN0RGF0ZSwgQm9vbGVhbiwgKEREUmVzdWx0UmVm
IHJlc3VsdCwgQ0ZEYXRlUmVmIHJlZmVyZW5jZURhdGUsIENGVGltZVpvbmVSZWYgcmVmZXJlbmNl
VGltZVpvbmUpLCAocmVzdWx0LCByZWZlcmVuY2VEYXRlLCByZWZlcmVuY2VUaW1lWm9uZSkpCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNj
YW5RdWVyeUFkZFRleHRGcmFnbWVudCwgdm9pZCwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5LCBDRlN0
cmluZ1JlZiBmcmFnbWVudCwgQ0ZSYW5nZSByYW5nZSwgdm9pZCAqaWRlbnRpZmllciwgRERUZXh0
RnJhZ21lbnRNb2RlIG1vZGUsIEREVGV4dENvYWxlc2NpbmdUeXBlIHR5cGUpLCAocXVlcnksIGZy
YWdtZW50LCByYW5nZSwgaWRlbnRpZmllciwgbW9kZSwgdHlwZSkpCitTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUFkZFNlcGFy
YXRvciwgdm9pZCwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5LCBERFRleHRDb2FsZXNjaW5nVHlwZSB0
eXBlKSwgKHF1ZXJ5LCB0eXBlKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwg
RGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkTGluZUJyZWFrLCB2b2lkLCAoRERTY2Fu
UXVlcnlSZWYgcXVlcnkpLCAocXVlcnkpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Uo
UEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlHZXRGcmFnbWVudE1ldGFEYXRhLCB2
b2lkICosIChERFNjYW5RdWVyeVJlZiBxdWVyeSwgQ0ZJbmRleCBxdWVyeUluZGV4KSwgKHF1ZXJ5
LCBxdWVyeUluZGV4KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURl
dGVjdG9yc0NvcmUsIEREUmVzdWx0SGFzUHJvcGVydGllcywgYm9vbCwgKEREUmVzdWx0UmVmIHJl
c3VsdCwgQ0ZJbmRleCBwcm9wZXJ0eVNldCksIChyZXN1bHQsIHByb3BlcnR5U2V0KSkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0
R2V0U3ViUmVzdWx0cywgQ0ZBcnJheVJlZiwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQp
KQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwg
RERSZXN1bHRHZXRRdWVyeVJhbmdlRm9yVVJMaWZpY2F0aW9uLCBERFF1ZXJ5UmFuZ2UsIChERFJl
c3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNF
KFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREVVJMU3RyaW5nRm9yUmVzdWx0LCBOU1N0cmluZyAq
LCAoRERSZXN1bHRSZWYgY3VycmVudFJlc3VsdCwgTlNTdHJpbmcgKiByZXN1bHRJZGVudGlmaWVy
LCBERFVSTGlmaWVyUGhvbmVOdW1iZXJEZXRlY3Rpb25UeXBlcyBpbmNsdWRpbmdUZWxHcm91cHMs
IE5TRGF0ZSAqIHJlZmVyZW5jZURhdGUsIE5TVGltZVpvbmUgKiByZWZlcmVuY2VUaW1lWm9uZSks
IChjdXJyZW50UmVzdWx0LCByZXN1bHRJZGVudGlmaWVyLCBpbmNsdWRpbmdUZWxHcm91cHMsIHJl
ZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREVVJMVGFwQW5kSG9sZFNjaGVtZXMsIE5T
QXJyYXkgKiwgKCksICgpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERTaG91bGRJbW1lZGlhdGVseVNob3dBY3Rpb25TaGVldEZvclVSTCwg
Qk9PTCwgKE5TVVJMICp1cmwpLCAodXJsKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNF
KFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9uU2hl
ZXRGb3JSZXN1bHQsIEJPT0wsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxk
VXNlTGlnaHRMaW5rc0ZvclJlc3VsdCwgQk9PTCwgKEREUmVzdWx0UmVmIHJlc3VsdCwgQk9PTCBl
eHRyYWN0ZWRGcm9tU2lnbmF0dXJlKSwgKHJlc3VsdCwgZXh0cmFjdGVkRnJvbVNpZ25hdHVyZSkp
CitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIERE
QmluZGVyUGFyc2VjU291cmNlS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZP
Ul9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJIdHRwVVJMS2V5LCBDRlN0
cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERCaW5kZXJXZWJVUkxLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJf
Rk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlck1haWxVUkxLZXksIENG
U3RyaW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3Rv
cnNDb3JlLCBEREJpbmRlckdlbmVyaWNVUkxLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX1BP
SU5URVJfRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlckVtYWlsS2V5
LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0
ZWN0b3JzQ29yZSwgRERCaW5kZXJUcmFja2luZ051bWJlcktleSwgQ0ZTdHJpbmdSZWYpCitTT0ZU
X0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVy
RmxpZ2h0SW5mb3JtYXRpb25LZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJfRk9S
X1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclNpZ25hdHVyZUJsb2NrS2V5
LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFBBTCwgRGF0YURl
dGVjdG9yc0NvcmUsIEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9uc0ZvclBhc3NpdmVVc2UsIERE
U2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9ucykKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNF
KFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lckVuYWJsZU9wdGlvbmFsU291cmNlLCB2
b2lkLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIEREU2Nhbm5lclNvdXJjZSBzb3VyY2UsIEJvb2xl
YW4gZW5hYmxlKSwgKHNjYW5uZXIsIHNvdXJjZSwgZW5hYmxlKSkKKyNlbmRpZiAvLyBQTEFURk9S
TShJT1NfRkFNSUxZKQorCisjZW5kaWYgLy8gRU5BQkxFKERBVEFfREVURUNUSU9OKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvRGF0YURldGVjdG9yc0NvcmVT
UEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0RhdGFEZXRlY3RvcnNDb3Jl
U1BJLmgKaW5kZXggY2Q3MGJmYWMxNWIyYjkzZDZlNTM5ZGFhY2ZmNDc5N2UwNGVmMjVjZi4uMjVl
ZDE2NWYxZDEyZmQzOTEzZTQ0NzZlNGRiNmMyYjJiZDBiZTJmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTUEkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oCkBA
IC00MCw2ICs0MCw4IEBAIHR5cGVkZWYgc3RydWN0IF9fRERSZXN1bHQgKkREUmVzdWx0UmVmOwog
CiAjZWxzZSAvLyAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAorI2ltcG9ydCA8Rm91bmRhdGlv
bi9Gb3VuZGF0aW9uLmg+CisKIHR5cGVkZWYgZW51bSB7CiAgICAgRERTY2FubmVyVHlwZVN0YW5k
YXJkID0gMCwKICAgICBERFNjYW5uZXJUeXBlMSA9IDEsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApp
bmRleCA2ZDM4OWJiNzMzMzU2YjFhMGJkOTU4ZTQ1ZjQwOGQ3NWUyNTc4OGFkLi45MmNiMmM0OTg1
OGIzZjgyZDFiNmY1ZDFiODM5YzMwNTgyMmMwMDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQK
QEAgLTIzNyw3ICsyMzcsNiBAQCBwbGF0Zm9ybS9jZi9SdW5Mb29wT2JzZXJ2ZXIuY3BwCiBwbGF0
Zm9ybS9jZi9TaGFyZWRCdWZmZXJDRi5jcHAKIHBsYXRmb3JtL2NvY29hL0NvbnRlbnRGaWx0ZXJV
bmJsb2NrSGFuZGxlckNvY29hLm1tIEBuby11bmlmeQogcGxhdGZvcm0vY29jb2EvQ29yZVZpZGVv
U29mdExpbmsuY3BwCi1wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1t
IEBuby11bmlmeQogcGxhdGZvcm0vY29jb2EvRHJhZ0RhdGFDb2NvYS5tbQogcGxhdGZvcm0vY29j
b2EvRHJhZ0ltYWdlQ29jb2EubW0KIHBsYXRmb3JtL2NvY29hL0ZpbGVNb25pdG9yQ29jb2EubW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBiNzNlMTg3MmZmN2JiNTVjMjlhMDE3ODY3ZDczMmJkYjBlOTFjMTRmLi5hOTlmMWZiYmY2
OTAyNjZkYTVhYWM3Nzk1Y2U4ZmZlNDllY2MzNjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjU3LDcgKzEyNTcsNiBAQAog
CQk0NDMwRDAwRDI1NzVBOEE1MDA0NkQ0MDEgLyogSGlnaGxpZ2h0UmVnaXN0ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTg4RTUwMjM2QTU2QUMw
MDlCNDg0NyAvKiBIaWdobGlnaHRSZWdpc3Rlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0NTIxMERGMjVENjFGMDAwMDNBMkVEOCAvKiBBcHBI
aWdobGlnaHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0NTIxMEREMjVENjFFRkYwMDNBMkVEOCAvKiBBcHBIaWdobGlnaHQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDU3NzVFNTIwNDcyRjczMDA4
RENFNUQgLyogTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1Nzc1RTQyMDQ3MkY3MzAwOERDRTVEIC8q
IExvY2FsRGVmYXVsdFN5c3RlbUFwcGVhcmFuY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0NDYzQ0Y2ODIyMTJGQTY4MDAxQTg1NzcgLyogRGF0
YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDNzk0MUUyMUM1NkMyOTMwMEE0QzU4RSAvKiBEYXRhRGV0ZWN0b3Jz
Q29yZVNvZnRMaW5rLm1tICovOyB9OwogCQk0NDY1RDdCRDI1MzZEMDVFMDAxNjY2NkQgLyogU2Vs
ZWN0aW9uUmFuZ2VEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NEIzOEJGNDI1MzY5MDFBMDBBNDQ1OEQgLyogU2VsZWN0aW9uUmFuZ2VEYXRhLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQ2REM2
NDgyNEEyOURBQjAwNjFGMzkwIC8qIFBsYXliYWNrVGFyZ2V0Q2xpZW50Q29udGV4dElkZW50aWZp
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NkRD
NjQ2MjRBMjlEOUIwMDYxRjM5MCAvKiBQbGF5YmFja1RhcmdldENsaWVudENvbnRleHRJZGVudGlm
aWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDQ3MTcxMEUyMDVBRjk0NTAwMEExMTZFIC8qIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDcxNzEwQzIwNUFG
OTQ1MDAwQTExNkUgLyogTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjM5MCw3ICsyMzg5LDYgQEAKIAkJ
N0M3N0MzRDcxREVGODUwQTAwQTUwQkZBIC8qIEVuZGluZ1R5cGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNzdDM0Q2MURFRjg1MEEwMEE1MEJGQSAv
KiBFbmRpbmdUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJN0M3N0MzREMxREVGODZENzAwQTUwQkZBIC8qIEpTRW5kaW5nVHlwZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M3N0MzREExREVGODZE
NzAwQTUwQkZBIC8qIEpTRW5kaW5nVHlwZS5oICovOyB9OwogCQk3Qzc5MDNCMzFGODZGOTVDMDA0
NjNBNzAgLyogSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzc5MDNCMDFGODZGOTVDMDA0NjNBNzAgLyog
SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmggKi87IH07Ci0JCTdDNzk0MUU1MUM1NkMyOTMw
MEE0QzU4RSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzc5NDFFMzFDNTZDMjkzMDBBNEM1OEUgLyog
RGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oICovOyB9OwogCQk3QzdCRjk0MjI1MTZDOTBDMDA4
MDg2ODIgLyogUGVyZm9ybWFuY2VNYXJrT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M3QkY5M0UyNTE2QzhCQzAwODA4NjgyIC8qIFBlcmZv
cm1hbmNlTWFya09wdGlvbnMuaCAqLzsgfTsKIAkJN0M3QkY5NEMyNTE2RkE1NDAwODA4NjgyIC8q
IFBlcmZvcm1hbmNlTWVhc3VyZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDN0JGOTQ5MjUxNkZBNTQwMDgwODY4MiAvKiBQZXJmb3JtYW5j
ZU1lYXN1cmVPcHRpb25zLmggKi87IH07CiAJCTdDODEzOUE2MUVENjI4NkEwMENFMjZFOCAvKiBK
U0RPTUF0dHJpYnV0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M4MTM5QTMxRUQ2MjgxRDAwQ0UyNkU4IC8qIEpTRE9NQXR0cmlidXRlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwNjk4LDggKzEw
Njk2LDYgQEAKIAkJN0M3OTAzQjgxRjg2RkRFNjAwNDYzQTcwIC8qIEpTSW1hZ2VCaXRtYXBSZW5k
ZXJpbmdDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250
ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNzkwM0JBMUY4NkZGMzMwMDQ2
M0E3MCAvKiBQbGFjZWhvbGRlclJlbmRlcmluZ0NvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUGxhY2Vob2xkZXJSZW5kZXJpbmdDb250ZXh0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M3OTAzQkMxRjg2RkYzNDAwNDYzQTcwIC8qIFBs
YWNlaG9sZGVyUmVuZGVyaW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQbGFjZWhvbGRlclJlbmRlcmluZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJN0M3OTQxRTIxQzU2QzI5MzAwQTRDNThFIC8qIERhdGFEZXRlY3RvcnNDb3JlU29m
dExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhRGV0
ZWN0b3JzQ29yZVNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3Qzc5
NDFFMzFDNTZDMjkzMDBBNEM1OEUgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDN0JGOTNFMjUxNkM4QkMwMDgwODY4MiAv
KiBQZXJmb3JtYW5jZU1hcmtPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlTWFy
a09wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M3QkY5NDAyNTE2QzhC
QzAwODA4NjgyIC8qIFBlcmZvcm1hbmNlTWFya09wdGlvbnMuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNl
TWFya09wdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzdCRjk0NDI1
MTZDQzkyMDA4MDg2ODIgLyogUGVyZm9ybWFuY2VNYXJrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBlcmZvcm1hbmNlTWFyay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDg4
Myw4ICsyNDg3OSw2IEBACiAJCQkJQTE0MDkwRkExQUE1MUUxRDAwOTExOTFBIC8qIENvbnRlbnRG
aWx0ZXJVbmJsb2NrSGFuZGxlckNvY29hLm1tICovLAogCQkJCUNEN0QzMzQ1MUM3QTE2QkYwMDA0
MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5jcHAgKi8sCiAJCQkJQ0Q3RDMzNDYxQzdBMTZCRjAw
MDQxMjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmggKi8sCi0JCQkJN0M3OTQxRTMxQzU2QzI5MzAw
QTRDNThFIC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaCAqLywKLQkJCQk3Qzc5NDFFMjFD
NTZDMjkzMDBBNEM1OEUgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbSAqLywKIAkJCQlG
NDYyRTc5RjI0MkFEQTNDMDAyMDREREQgLyogRHJhZ0RhdGFDb2NvYS5tbSAqLywKIAkJCQlGNDYy
RTdBMDI0MkFEQTNEMDAyMDREREQgLyogRHJhZ0ltYWdlQ29jb2EubW0gKi8sCiAJCQkJN0EwOUNF
RjAxRjAxRDFGNzAwRTkzQkRCIC8qIEZpbGVNb25pdG9yQ29jb2EubW0gKi8sCkBAIC0zMjE0OSw3
ICszMjE0Myw2IEBACiAJCQkJOTdCQzZBMzIxNTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlVHJh
Y2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkUyMzQ4MEQxOEE5ODcxNDAwRTRCNkU4IC8qIERh
dGFDdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1MjI3REYxMUMzQzZERjEwMEY1RUQ1NCAvKiBE
YXRhRGV0ZWN0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQk3Qzc5NDFFNTFDNTZDMjkzMDBBNEM1
OEUgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0
QTUzMzUyNTYwNUE1NjAwMjhDNTkyIC8qIERhdGFEZXRlY3RvclR5cGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU1OEI0NUJBMjBBRDA3REQwMDk5MTAyNSAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUU1MTc2NzAzMjBCODhDMTQwMEQ0MTE2NyAvKiBEYXRhTGlz
dFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNjQ1NCw3ICszNjQ0
Nyw2IEBACiAJCQkJMUFCQTc2Q0ExMUQyMEU1MDAwNEMyMDFDIC8qIENTU1Byb3BlcnR5TmFtZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQyMjgzMDMyM0E4NDcwNzAwMzY0QjdFIC8qIEN1cnNv
ck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVDQkQ1OTU5MjI4MEU5MjYwMDJCMjJBQSAvKiBD
dXN0b21IZWFkZXJGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDQ2M0NGNjgyMjEyRkE2
ODAwMUE4NTc3IC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0gaW4gU291cmNlcyAqLywK
IAkJCQk2RTcyRjU0QzIyOURDRDBDMDBCM0UxNTEgLyogRXh0ZW5zaW9uc0dMQU5HTEUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0NFNkNCRkQxODdGMzk0OTAwRDQ2QkY1IC8qIEZvcm1hdENvbnZl
cnRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTMwRjJGNjI0QUVBNjBBMDBFMUQwQTAgLyog
R2FtZUNvbnRyb2xsZXJTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCmluZGV4IDVmOTY3YjMzNzFhNGQ5MTRm
Yzk0MjU3N2NiMzVlZDU0MGVjMmM1MDIuLjIxZTc0NGM4Yzk3OTMxNGI1YjM0YjFhOGRjYzk2NTI4
MGU5NDI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURl
dGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rp
b24ubW0KQEAgLTUwLDE0ICs1MCwxMyBAQAogI2ltcG9ydCAiVGV4dEl0ZXJhdG9yLmgiCiAjaW1w
b3J0ICJWaXNpYmxlUG9zaXRpb24uaCIKICNpbXBvcnQgIlZpc2libGVVbml0cy5oIgorI2ltcG9y
dCA8cGFsL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaD4KICNpbXBvcnQgPHBhbC9z
cGkvaW9zL0RhdGFEZXRlY3RvcnNVSVNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvRGF0YURl
dGVjdG9yc1NQSS5oPgogI2ltcG9ydCA8d3RmL2NmL1R5cGVDYXN0c0NGLmg+CiAjaW1wb3J0IDx3
dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdUb0ludGVn
ZXJDb252ZXJzaW9uLmg+CiAKLSNpbXBvcnQgIkRhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaCIK
LQogI2lmIFBMQVRGT1JNKE1BQykKIHRlbXBsYXRlPD4gc3RydWN0IFdURjo6Q0ZUeXBlVHJhaXQ8
RERSZXN1bHRSZWY+IHsKICAgICBzdGF0aWMgaW5saW5lIENGVHlwZUlEIHR5cGVJRCh2b2lkKSB7
IHJldHVybiBERFJlc3VsdEdldENGVHlwZUlEKCk7IH0KQEAgLTE2Niw3ICsxNjUsNyBAQCBPcHRp
b25hbDxEZXRlY3RlZEl0ZW0+IERhdGFEZXRlY3Rpb246OmRldGVjdEl0ZW1Bcm91bmRIaXRUZXN0
UmVzdWx0KGNvbnN0IEhpdFRlcwogCiBib29sIERhdGFEZXRlY3Rpb246OmNhbkJlUHJlc2VudGVk
QnlEYXRhRGV0ZWN0b3JzKGNvbnN0IFVSTCYgdXJsKQogewotICAgIHJldHVybiBbc29mdExpbmtf
RGF0YURldGVjdG9yc0NvcmVfRERVUkxUYXBBbmRIb2xkU2NoZW1lcygpIGNvbnRhaW5zT2JqZWN0
OihOU1N0cmluZyAqKXVybC5wcm90b2NvbCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKS5jb252
ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpXTsKKyAgICByZXR1cm4gW1BBTDo6c29mdExpbmtfRGF0YURl
dGVjdG9yc0NvcmVfRERVUkxUYXBBbmRIb2xkU2NoZW1lcygpIGNvbnRhaW5zT2JqZWN0OihOU1N0
cmluZyAqKXVybC5wcm90b2NvbCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKS5jb252ZXJ0VG9B
U0NJSUxvd2VyY2FzZSgpXTsKIH0KIAogYm9vbCBEYXRhRGV0ZWN0aW9uOjppc0RhdGFEZXRlY3Rv
ckxpbmsoRWxlbWVudCYgZWxlbWVudCkKQEAgLTE5Miw3ICsxOTEsNyBAQCBib29sIERhdGFEZXRl
Y3Rpb246OmNhblByZXNlbnREYXRhRGV0ZWN0b3JzVUlGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1l
bnQpCiAgICAgaWYgKCFpc0RhdGFEZXRlY3RvckxpbmsoZWxlbWVudCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAKLSAgICBpZiAoc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTaG91
bGRJbW1lZGlhdGVseVNob3dBY3Rpb25TaGVldEZvclVSTChkb3duY2FzdDxIVE1MQW5jaG9yRWxl
bWVudD4oZWxlbWVudCkuaHJlZigpKSkKKyAgICBpZiAoUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0
b3JzQ29yZV9ERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yVVJMKGRvd25jYXN0
PEhUTUxBbmNob3JFbGVtZW50PihlbGVtZW50KS5ocmVmKCkpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAKICAgICBhdXRvJiByZXN1bHRBdHRyaWJ1dGUgPSBlbGVtZW50LmF0dHJpYnV0ZVdp
dGhvdXRTeW5jaHJvbml6YXRpb24oeF9hcHBsZV9kYXRhX2RldGVjdG9yc19yZXN1bHRBdHRyKTsK
QEAgLTIwOCwxMSArMjA3LDExIEBAIGJvb2wgRGF0YURldGVjdGlvbjo6Y2FuUHJlc2VudERhdGFE
ZXRlY3RvcnNVSUZvckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKIAogICAgIC8vIEhhbmRsZSB0
aGUgY2FzZSBvZiBhIHNpZ25hdHVyZSBibG9jaywgd2hlcmUgd2UgbmVlZCB0byBmb2xsb3cgdGhl
IHBhdGggZG93biBvbmUgb3IgbW9yZSBzdWJyZXN1bHQgbGV2ZWxzLgogICAgIHdoaWxlICgrK2lu
ZGV4SXRlcmF0b3IgIT0gcmVzdWx0SW5kaWNlcy5lbmQoKSkgewotICAgICAgICByZXN1bHRzID0g
KF9fYnJpZGdlIE5TQXJyYXkgKilzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdl
dFN1YlJlc3VsdHMocmVzdWx0KTsKKyAgICAgICAgcmVzdWx0cyA9IChfX2JyaWRnZSBOU0FycmF5
ICopUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldFN1YlJlc3VsdHMo
cmVzdWx0KTsKICAgICAgICAgcmVzdWx0ID0gKF9fYnJpZGdlIEREUmVzdWx0UmVmKXJlc3VsdHNb
cGFyc2VJbnRlZ2VyQWxsb3dpbmdUcmFpbGluZ0p1bms8aW50PigqaW5kZXhJdGVyYXRvcikudmFs
dWVPcigwKV07CiAgICAgfQogCi0gICAgcmV0dXJuIHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3Jl
X0REU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9uU2hlZXRGb3JSZXN1bHQocmVzdWx0KTsKKyAg
ICByZXR1cm4gUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNob3VsZEltbWVkaWF0
ZWx5U2hvd0FjdGlvblNoZWV0Rm9yUmVzdWx0KHJlc3VsdCk7CiB9CiAKIHN0YXRpYyBCT09MIHJl
c3VsdElzVVJMKEREUmVzdWx0UmVmIHJlc3VsdCkKQEAgLTIyMSwzNCArMjIwLDM0IEBAIHN0YXRp
YyBCT09MIHJlc3VsdElzVVJMKEREUmVzdWx0UmVmIHJlc3VsdCkKICAgICAgICAgcmV0dXJuIE5P
OwogICAgIAogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8TlNTZXQ+PiB1cmxU
eXBlcyA9IFtOU1NldCBzZXRXaXRoT2JqZWN0czoKLSAgICAgICAgKE5TU3RyaW5nICopZ2V0X0Rh
dGFEZXRlY3RvcnNDb3JlX0REQmluZGVySHR0cFVSTEtleSgpLAotICAgICAgICAoTlNTdHJpbmcg
KilnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJXZWJVUkxLZXkoKSwKLSAgICAgICAgKE5T
U3RyaW5nICopZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyTWFpbFVSTEtleSgpLAotICAg
ICAgICAoTlNTdHJpbmcgKilnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJHZW5lcmljVVJM
S2V5KCksCi0gICAgICAgIChOU1N0cmluZyAqKWdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRl
ckVtYWlsS2V5KCksIG5pbF07Ci0gICAgcmV0dXJuIFt1cmxUeXBlcy5nZXQoKSBjb250YWluc09i
amVjdDooTlNTdHJpbmcgKilzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldFR5
cGUocmVzdWx0KV07CisgICAgICAgIChOU1N0cmluZyAqKVBBTDo6Z2V0X0RhdGFEZXRlY3RvcnND
b3JlX0REQmluZGVySHR0cFVSTEtleSgpLAorICAgICAgICAoTlNTdHJpbmcgKilQQUw6OmdldF9E
YXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlcldlYlVSTEtleSgpLAorICAgICAgICAoTlNTdHJpbmcg
KilQQUw6OmdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlck1haWxVUkxLZXkoKSwKKyAgICAg
ICAgKE5TU3RyaW5nICopUEFMOjpnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJHZW5lcmlj
VVJMS2V5KCksCisgICAgICAgIChOU1N0cmluZyAqKVBBTDo6Z2V0X0RhdGFEZXRlY3RvcnNDb3Jl
X0REQmluZGVyRW1haWxLZXkoKSwgbmlsXTsKKyAgICByZXR1cm4gW3VybFR5cGVzLmdldCgpIGNv
bnRhaW5zT2JqZWN0OihOU1N0cmluZyAqKVBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVf
RERSZXN1bHRHZXRUeXBlKHJlc3VsdCldOwogfQogCiBzdGF0aWMgTlNTdHJpbmcgKmNvbnN0cnVj
dFVSTFN0cmluZ0ZvclJlc3VsdChERFJlc3VsdFJlZiBjdXJyZW50UmVzdWx0LCBOU1N0cmluZyAq
cmVzdWx0SWRlbnRpZmllciwgTlNEYXRlICpyZWZlcmVuY2VEYXRlLCBOU1RpbWVab25lICpyZWZl
cmVuY2VUaW1lWm9uZSwgT3B0aW9uU2V0PERhdGFEZXRlY3RvclR5cGU+IGRldGVjdGlvblR5cGVz
KQogewotICAgIGlmICghc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRIYXNQcm9w
ZXJ0aWVzKGN1cnJlbnRSZXN1bHQsIEREUmVzdWx0UHJvcGVydHlQYXNzaXZlRGlzcGxheSkpCisg
ICAgaWYgKCFQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0SGFzUHJvcGVy
dGllcyhjdXJyZW50UmVzdWx0LCBERFJlc3VsdFByb3BlcnR5UGFzc2l2ZURpc3BsYXkpKQogICAg
ICAgICByZXR1cm4gbmlsOwogCiAgICAgYXV0byBwaG9uZVR5cGVzID0gZGV0ZWN0aW9uVHlwZXMu
Y29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6UGhvbmVOdW1iZXIpID8gRERVUkxpZmllclBob25l
TnVtYmVyRGV0ZWN0aW9uUmVndWxhciA6IEREVVJMaWZpZXJQaG9uZU51bWJlckRldGVjdGlvbk5v
bmU7Ci0gICAgYXV0byBjYXRlZ29yeSA9IHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVz
dWx0R2V0Q2F0ZWdvcnkoY3VycmVudFJlc3VsdCk7Ci0gICAgYXV0byB0eXBlID0gc29mdExpbmtf
RGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRUeXBlKGN1cnJlbnRSZXN1bHQpOworICAgIGF1
dG8gY2F0ZWdvcnkgPSBQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0
Q2F0ZWdvcnkoY3VycmVudFJlc3VsdCk7CisgICAgYXV0byB0eXBlID0gUEFMOjpzb2Z0TGlua19E
YXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldFR5cGUoY3VycmVudFJlc3VsdCk7CiAKICAgICBp
ZiAoKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OkFkZHJlc3MpICYm
IEREUmVzdWx0Q2F0ZWdvcnlBZGRyZXNzID09IGNhdGVnb3J5KQotICAgICAgICB8fCAoZGV0ZWN0
aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6VHJhY2tpbmdOdW1iZXIpICYmIENG
RXF1YWwoZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyVHJhY2tpbmdOdW1iZXJLZXkoKSwg
dHlwZSkpCi0gICAgICAgIHx8IChkZXRlY3Rpb25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JU
eXBlOjpGbGlnaHROdW1iZXIpICYmIENGRXF1YWwoZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmlu
ZGVyRmxpZ2h0SW5mb3JtYXRpb25LZXkoKSwgdHlwZSkpCi0gICAgICAgIHx8IChkZXRlY3Rpb25U
eXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpMb29rdXBTdWdnZXN0aW9uKSAmJiBDRkVx
dWFsKGdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlclBhcnNlY1NvdXJjZUtleSgpLCB0eXBl
KSkKKyAgICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6
OlRyYWNraW5nTnVtYmVyKSAmJiBDRkVxdWFsKFBBTDo6Z2V0X0RhdGFEZXRlY3RvcnNDb3JlX0RE
QmluZGVyVHJhY2tpbmdOdW1iZXJLZXkoKSwgdHlwZSkpCisgICAgICAgIHx8IChkZXRlY3Rpb25U
eXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpGbGlnaHROdW1iZXIpICYmIENGRXF1YWwo
UEFMOjpnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJGbGlnaHRJbmZvcm1hdGlvbktleSgp
LCB0eXBlKSkKKyAgICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3Rv
clR5cGU6Okxvb2t1cFN1Z2dlc3Rpb24pICYmIENGRXF1YWwoUEFMOjpnZXRfRGF0YURldGVjdG9y
c0NvcmVfRERCaW5kZXJQYXJzZWNTb3VyY2VLZXkoKSwgdHlwZSkpCiAgICAgICAgIHx8IChkZXRl
Y3Rpb25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpQaG9uZU51bWJlcikgJiYgRERS
ZXN1bHRDYXRlZ29yeVBob25lTnVtYmVyID09IGNhdGVnb3J5KQogICAgICAgICB8fCAoZGV0ZWN0
aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6TGluaykgJiYgcmVzdWx0SXNVUkwo
Y3VycmVudFJlc3VsdCkpKSB7Ci0gICAgICAgIHJldHVybiBzb2Z0TGlua19EYXRhRGV0ZWN0b3Jz
Q29yZV9ERFVSTFN0cmluZ0ZvclJlc3VsdChjdXJyZW50UmVzdWx0LCByZXN1bHRJZGVudGlmaWVy
LCBwaG9uZVR5cGVzLCByZWZlcmVuY2VEYXRlLCByZWZlcmVuY2VUaW1lWm9uZSk7CisgICAgICAg
IHJldHVybiBQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REVVJMU3RyaW5nRm9yUmVz
dWx0KGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIsIHBob25lVHlwZXMsIHJlZmVyZW5j
ZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKTsKICAgICB9CiAgICAgaWYgKGRldGVjdGlvblR5cGVz
LmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OkNhbGVuZGFyRXZlbnQpICYmIEREUmVzdWx0Q2F0
ZWdvcnlDYWxlbmRhckV2ZW50ID09IGNhdGVnb3J5KSB7Ci0gICAgICAgIGlmICghc29mdExpbmtf
RGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRJc1Bhc3REYXRlKGN1cnJlbnRSZXN1bHQsIChDRkRh
dGVSZWYpcmVmZXJlbmNlRGF0ZSwgKENGVGltZVpvbmVSZWYpcmVmZXJlbmNlVGltZVpvbmUpKQot
ICAgICAgICAgICAgcmV0dXJuIHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REVVJMU3RyaW5n
Rm9yUmVzdWx0KGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIsIHBob25lVHlwZXMsIHJl
ZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKTsKKyAgICAgICAgaWYgKCFQQUw6OnNvZnRM
aW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0SXNQYXN0RGF0ZShjdXJyZW50UmVzdWx0LCAo
Q0ZEYXRlUmVmKXJlZmVyZW5jZURhdGUsIChDRlRpbWVab25lUmVmKXJlZmVyZW5jZVRpbWVab25l
KSkKKyAgICAgICAgICAgIHJldHVybiBQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0RE
VVJMU3RyaW5nRm9yUmVzdWx0KGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIsIHBob25l
VHlwZXMsIHJlZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKTsKICAgICB9CiAgICAgcmV0
dXJuIG5pbDsKIH0KQEAgLTM1OSw3ICszNTgsNyBAQCBzdGF0aWMgdm9pZCBidWlsZFF1ZXJ5KERE
U2NhblF1ZXJ5UmVmIHNjYW5RdWVyeSwgY29uc3QgU2ltcGxlUmFuZ2UmIGNvbnRleHRSYW5nZQog
ICAgICAgICBTdHJpbmdWaWV3IGN1cnJlbnRUZXh0ID0gaXRlcmF0b3IudGV4dCgpOwogICAgICAg
ICBzaXplX3QgY3VycmVudFRleHRMZW5ndGggPSBjdXJyZW50VGV4dC5sZW5ndGgoKTsKICAgICAg
ICAgaWYgKCFjdXJyZW50VGV4dExlbmd0aCkgewotICAgICAgICAgICAgc29mdExpbmtfRGF0YURl
dGVjdG9yc0NvcmVfRERTY2FuUXVlcnlBZGRTZXBhcmF0b3Ioc2NhblF1ZXJ5LCBERFRleHRDb2Fs
ZXNjaW5nVHlwZUhhcmRCcmVhayk7CisgICAgICAgICAgICBQQUw6OnNvZnRMaW5rX0RhdGFEZXRl
Y3RvcnNDb3JlX0REU2NhblF1ZXJ5QWRkU2VwYXJhdG9yKHNjYW5RdWVyeSwgRERUZXh0Q29hbGVz
Y2luZ1R5cGVIYXJkQnJlYWspOwogICAgICAgICAgICAgaWYgKGl0ZXJhdG9yQ291bnQgPiBtYXhG
cmFnbWVudFdpdGhIYXJkQnJlYWspCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBjb250aW51ZTsKQEAgLTM5NCwxMSArMzkzLDExIEBAIHN0YXRpYyB2b2lkIGJ1aWxkUXVlcnko
RERTY2FuUXVlcnlSZWYgc2NhblF1ZXJ5LCBjb25zdCBTaW1wbGVSYW5nZSYgY29udGV4dFJhbmdl
CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNvbnRhaW5zT25seVdoaXRlU3BhY2UpIHsKICAgICAg
ICAgICAgIGlmIChoYXNOZXdsaW5lKSB7Ci0gICAgICAgICAgICAgICAgc29mdExpbmtfRGF0YURl
dGVjdG9yc0NvcmVfRERTY2FuUXVlcnlBZGRMaW5lQnJlYWsoc2NhblF1ZXJ5KTsKKyAgICAgICAg
ICAgICAgICBQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2NhblF1ZXJ5QWRkTGlu
ZUJyZWFrKHNjYW5RdWVyeSk7CiAgICAgICAgICAgICAgICAgaWYgKGl0ZXJhdG9yQ291bnQgPiBt
YXhGcmFnbWVudFdpdGhMaW5lYnJlYWspCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzb2Z0TGlua19EYXRhRGV0ZWN0b3Jz
Q29yZV9ERFNjYW5RdWVyeUFkZFNlcGFyYXRvcihzY2FuUXVlcnksIGhhc1RhYiA/IEREVGV4dENv
YWxlc2NpbmdUeXBlVGFiIDogRERUZXh0Q29hbGVzY2luZ1R5cGVTcGFjZSk7CisgICAgICAgICAg
ICAgICAgUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUFkZFNlcGFy
YXRvcihzY2FuUXVlcnksIGhhc1RhYiA/IEREVGV4dENvYWxlc2NpbmdUeXBlVGFiIDogRERUZXh0
Q29hbGVzY2luZ1R5cGVTcGFjZSk7CiAgICAgICAgICAgICAgICAgaWYgKGl0ZXJhdG9yQ291bnQg
PiBtYXhGcmFnbWVudFNwYWNlKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KQEAgLTQwNiw3ICs0MDUsNyBAQCBzdGF0aWMgdm9pZCBidWlsZFF1ZXJ5KEREU2NhblF1
ZXJ5UmVmIHNjYW5RdWVyeSwgY29uc3QgU2ltcGxlUmFuZ2UmIGNvbnRleHRSYW5nZQogICAgICAg
ICB9CiAgICAgICAgIAogICAgICAgICBhdXRvIGN1cnJlbnRUZXh0Q0ZTdHJpbmcgPSBhZG9wdENG
KENGU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoa0NGQWxsb2NhdG9yRGVmYXVsdCwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBVbmlDaGFyKj4oY3VycmVudFRleHRVcGNvbnZlcnRlZENoYXJhY3Rl
cnMuZ2V0KCkpLCBjdXJyZW50VGV4dExlbmd0aCkpOwotICAgICAgICBzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUFkZFRleHRGcmFnbWVudChzY2FuUXVlcnksIGN1cnJlbnRU
ZXh0Q0ZTdHJpbmcuZ2V0KCksIENGUmFuZ2VNYWtlKDAsIGN1cnJlbnRUZXh0TGVuZ3RoKSwgKHZv
aWQgKilpdGVyYXRvckNvdW50LCAoRERUZXh0RnJhZ21lbnRNb2RlKTAsIEREVGV4dENvYWxlc2Np
bmdUeXBlTm9uZSk7CisgICAgICAgIFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERT
Y2FuUXVlcnlBZGRUZXh0RnJhZ21lbnQoc2NhblF1ZXJ5LCBjdXJyZW50VGV4dENGU3RyaW5nLmdl
dCgpLCBDRlJhbmdlTWFrZSgwLCBjdXJyZW50VGV4dExlbmd0aCksICh2b2lkICopaXRlcmF0b3JD
b3VudCwgKEREVGV4dEZyYWdtZW50TW9kZSkwLCBERFRleHRDb2FsZXNjaW5nVHlwZU5vbmUpOwog
ICAgICAgICBmcmFnbWVudENvdW50Kys7CiAgICAgfQogfQpAQCAtNDM2LDE4ICs0MzUsMTggQEAg
dm9pZCBEYXRhRGV0ZWN0aW9uOjpyZW1vdmVEYXRhRGV0ZWN0ZWRMaW5rc0luRG9jdW1lbnQoRG9j
dW1lbnQmIGRvY3VtZW50KQogCiBOU0FycmF5ICpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50
SW5SYW5nZShjb25zdCBTaW1wbGVSYW5nZSYgY29udGV4dFJhbmdlLCBPcHRpb25TZXQ8RGF0YURl
dGVjdG9yVHlwZT4gdHlwZXMsIE5TRGljdGlvbmFyeSAqY29udGV4dCkKIHsKLSAgICBhdXRvIHNj
YW5uZXIgPSBhZG9wdENGKHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2Nhbm5lckNyZWF0
ZShERFNjYW5uZXJUeXBlU3RhbmRhcmQsIDAsIG51bGxwdHIpKTsKLSAgICBhdXRvIHNjYW5RdWVy
eSA9IGFkb3B0Q0Yoc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTY2FuUXVlcnlDcmVhdGUo
TlVMTCkpOworICAgIGF1dG8gc2Nhbm5lciA9IGFkb3B0Q0YoUEFMOjpzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNjYW5uZXJDcmVhdGUoRERTY2FubmVyVHlwZVN0YW5kYXJkLCAwLCBudWxs
cHRyKSk7CisgICAgYXV0byBzY2FuUXVlcnkgPSBhZG9wdENGKFBBTDo6c29mdExpbmtfRGF0YURl
dGVjdG9yc0NvcmVfRERTY2FuUXVlcnlDcmVhdGUoTlVMTCkpOwogICAgIGJ1aWxkUXVlcnkoc2Nh
blF1ZXJ5LmdldCgpLCBjb250ZXh0UmFuZ2UpOwogICAgIAogICAgIGlmICh0eXBlcy5jb250YWlu
cyhEYXRhRGV0ZWN0b3JUeXBlOjpMb29rdXBTdWdnZXN0aW9uKSkKLSAgICAgICAgc29mdExpbmtf
RGF0YURldGVjdG9yc0NvcmVfRERTY2FubmVyRW5hYmxlT3B0aW9uYWxTb3VyY2Uoc2Nhbm5lci5n
ZXQoKSwgRERTY2FubmVyU291cmNlU3BvdGxpZ2h0LCB0cnVlKTsKKyAgICAgICAgUEFMOjpzb2Z0
TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5uZXJFbmFibGVPcHRpb25hbFNvdXJjZShzY2Fu
bmVyLmdldCgpLCBERFNjYW5uZXJTb3VyY2VTcG90bGlnaHQsIHRydWUpOwogCiAgICAgLy8gRklY
TUU6IHdlIHNob3VsZCBhZGQgYSB0aW1lb3V0IHRvIHRoaXMgY2FsbCB0byBtYWtlIHN1cmUgaXQg
ZG9lc24ndCB0YWtlIHRvbyBtdWNoIHRpbWUuCi0gICAgaWYgKCFzb2Z0TGlua19EYXRhRGV0ZWN0
b3JzQ29yZV9ERFNjYW5uZXJTY2FuUXVlcnkoc2Nhbm5lci5nZXQoKSwgc2NhblF1ZXJ5LmdldCgp
KSkKKyAgICBpZiAoIVBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTY2FubmVyU2Nh
blF1ZXJ5KHNjYW5uZXIuZ2V0KCksIHNjYW5RdWVyeS5nZXQoKSkpCiAgICAgICAgIHJldHVybiBu
aWw7CiAKLSAgICBhdXRvIHNjYW5uZXJSZXN1bHRzID0gYWRvcHRDRihzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNjYW5uZXJDb3B5UmVzdWx0c1dpdGhPcHRpb25zKHNjYW5uZXIuZ2V0KCks
IGdldF9EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnNGb3JQYXNz
aXZlVXNlKCkgfCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnNDb2FsZXNjZVNpZ25hdHVyZXMp
KTsKKyAgICBhdXRvIHNjYW5uZXJSZXN1bHRzID0gYWRvcHRDRihQQUw6OnNvZnRMaW5rX0RhdGFE
ZXRlY3RvcnNDb3JlX0REU2Nhbm5lckNvcHlSZXN1bHRzV2l0aE9wdGlvbnMoc2Nhbm5lci5nZXQo
KSwgUEFMOjpnZXRfRGF0YURldGVjdG9yc0NvcmVfRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25z
Rm9yUGFzc2l2ZVVzZSgpIHwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zQ29hbGVzY2VTaWdu
YXR1cmVzKSk7CiAgICAgaWYgKCFzY2FubmVyUmVzdWx0cykKICAgICAgICAgcmV0dXJuIG5pbDsK
IApAQCAtNDYzLDggKzQ2Miw4IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRl
bnRJblJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UsIE9wCiAgICAgZm9yIChp
ZCByZXN1bHRPYmplY3QgaW4gKE5TQXJyYXkgKilzY2FubmVyUmVzdWx0cy5nZXQoKSkgewogICAg
ICAgICBERFJlc3VsdFJlZiByZXN1bHQgPSAoRERSZXN1bHRSZWYpcmVzdWx0T2JqZWN0OwogICAg
ICAgICBOU0luZGV4UGF0aCAqaW5kZXhQYXRoID0gW05TSW5kZXhQYXRoIGluZGV4UGF0aFdpdGhJ
bmRleDpjdXJyZW50VG9wTGV2ZWxJbmRleF07Ci0gICAgICAgIGlmIChDRkVxdWFsKHNvZnRMaW5r
X0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0VHlwZShyZXN1bHQpLCBnZXRfRGF0YURldGVj
dG9yc0NvcmVfRERCaW5kZXJTaWduYXR1cmVCbG9ja0tleSgpKSkgewotICAgICAgICAgICAgTlNB
cnJheSAqc3VicmVzdWx0cyA9IChOU0FycmF5ICopc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVf
RERSZXN1bHRHZXRTdWJSZXN1bHRzKHJlc3VsdCk7CisgICAgICAgIGlmIChDRkVxdWFsKFBBTDo6
c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRUeXBlKHJlc3VsdCksIFBBTDo6
Z2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyU2lnbmF0dXJlQmxvY2tLZXkoKSkpIHsKKyAg
ICAgICAgICAgIE5TQXJyYXkgKnN1YnJlc3VsdHMgPSAoTlNBcnJheSAqKVBBTDo6c29mdExpbmtf
RGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRTdWJSZXN1bHRzKHJlc3VsdCk7CiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIGZvciAoTlNVSW50ZWdlciBzdWJSZXN1bHRJbmRleCA9IDAgOyBz
dWJSZXN1bHRJbmRleCA8IFtzdWJyZXN1bHRzIGNvdW50XSA7IHN1YlJlc3VsdEluZGV4KyspIHsK
ICAgICAgICAgICAgICAgICBpbmRleFBhdGhzLmFwcGVuZChbaW5kZXhQYXRoIGluZGV4UGF0aEJ5
QWRkaW5nSW5kZXg6c3ViUmVzdWx0SW5kZXhdKTsKQEAgLTQ4NSw4ICs0ODQsOCBAQCBOU0FycmF5
ICpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5SYW5nZShjb25zdCBTaW1wbGVSYW5nZSYg
Y29udGV4dFJhbmdlLCBPcAogICAgIC8vIHdoZXJlIHRoZSBET00gbmVlZHMgdG8gYmUgbW9kaWZp
ZWQuCiAgICAgLy8gRWFjaCByZXN1bHQgY2FuIGJlIGNvbnRhaW5lZCBhbGwgaW4gb25lIHRleHQg
bm9kZSBvciBjYW4gc3BhbiBtdWx0aXBsZSB0ZXh0IG5vZGVzLgogICAgIGZvciAoYXV0byYgcmVz
dWx0IDogYWxsUmVzdWx0cykgewotICAgICAgICBERFF1ZXJ5UmFuZ2UgcXVlcnlSYW5nZSA9IHNv
ZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNh
dGlvbihyZXN1bHQuZ2V0KCkpOwotICAgICAgICBDRkluZGV4IGl0ZXJhdG9yVGFyZ2V0QWR2YW5j
ZUNvdW50ID0gKENGSW5kZXgpc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTY2FuUXVlcnlH
ZXRGcmFnbWVudE1ldGFEYXRhKHNjYW5RdWVyeS5nZXQoKSwgcXVlcnlSYW5nZS5zdGFydC5xdWVy
eUluZGV4KTsKKyAgICAgICAgRERRdWVyeVJhbmdlIHF1ZXJ5UmFuZ2UgPSBQQUw6OnNvZnRMaW5r
X0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNhdGlvbihy
ZXN1bHQuZ2V0KCkpOworICAgICAgICBDRkluZGV4IGl0ZXJhdG9yVGFyZ2V0QWR2YW5jZUNvdW50
ID0gKENGSW5kZXgpUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUdl
dEZyYWdtZW50TWV0YURhdGEoc2NhblF1ZXJ5LmdldCgpLCBxdWVyeVJhbmdlLnN0YXJ0LnF1ZXJ5
SW5kZXgpOwogICAgICAgICBmb3IgKDsgaXRlcmF0b3JDb3VudCA8IGl0ZXJhdG9yVGFyZ2V0QWR2
YW5jZUNvdW50OyArK2l0ZXJhdG9yQ291bnQpCiAgICAgICAgICAgICBpdGVyYXRvci5hZHZhbmNl
KCk7CiAKQEAgLTUwNSw3ICs1MDQsNyBAQCBOU0FycmF5ICpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RD
b250ZW50SW5SYW5nZShjb25zdCBTaW1wbGVSYW5nZSYgY29udGV4dFJhbmdlLCBPcAogICAgICAg
ICAKICAgICAgICAgd2hpbGUgKGZyYWdtZW50SW5kZXggPCBxdWVyeVJhbmdlLmVuZC5xdWVyeUlu
ZGV4KSB7CiAgICAgICAgICAgICArK2ZyYWdtZW50SW5kZXg7Ci0gICAgICAgICAgICBpdGVyYXRv
clRhcmdldEFkdmFuY2VDb3VudCA9IChDRkluZGV4KXNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3Jl
X0REU2NhblF1ZXJ5R2V0RnJhZ21lbnRNZXRhRGF0YShzY2FuUXVlcnkuZ2V0KCksIGZyYWdtZW50
SW5kZXgpOworICAgICAgICAgICAgaXRlcmF0b3JUYXJnZXRBZHZhbmNlQ291bnQgPSAoQ0ZJbmRl
eClQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2NhblF1ZXJ5R2V0RnJhZ21lbnRN
ZXRhRGF0YShzY2FuUXVlcnkuZ2V0KCksIGZyYWdtZW50SW5kZXgpOwogICAgICAgICAgICAgZm9y
ICg7IGl0ZXJhdG9yQ291bnQgPCBpdGVyYXRvclRhcmdldEFkdmFuY2VDb3VudDsgKytpdGVyYXRv
ckNvdW50KQogICAgICAgICAgICAgICAgIGl0ZXJhdG9yLmFkdmFuY2UoKTsKIApAQCAtNTM0LDcg
KzUzMyw3IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJblJhbmdlKGNv
bnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UsIE9wCiAgICAgQ0ZJbmRleCByZXN1bHRDb3Vu
dCA9IGFsbFJlc3VsdHMuc2l6ZSgpOwogICAgIGZvciAoQ0ZJbmRleCByZXN1bHRJbmRleCA9IDA7
IHJlc3VsdEluZGV4IDwgcmVzdWx0Q291bnQ7ICsrcmVzdWx0SW5kZXgpIHsKICAgICAgICAgRERS
ZXN1bHRSZWYgY29yZVJlc3VsdCA9IGFsbFJlc3VsdHNbcmVzdWx0SW5kZXhdLmdldCgpOwotICAg
ICAgICBERFF1ZXJ5UmFuZ2UgcXVlcnlSYW5nZSA9IHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3Jl
X0REUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNhdGlvbihjb3JlUmVzdWx0KTsKKyAgICAg
ICAgRERRdWVyeVJhbmdlIHF1ZXJ5UmFuZ2UgPSBQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnND
b3JlX0REUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNhdGlvbihjb3JlUmVzdWx0KTsKICAg
ICAgICAgYXV0byYgcmVzdWx0UmFuZ2VzID0gYWxsUmVzdWx0UmFuZ2VzW3Jlc3VsdEluZGV4XTsK
IAogICAgICAgICAvLyBDb21wYXJlIHRoZSBxdWVyeSBvZmZzZXRzIHRvIG1ha2Ugc3VyZSB3ZSBk
b24ndCBnbyBiYWNrd2FyZHMKQEAgLTU1MSw3ICs1NTAsNyBAQCBOU0FycmF5ICpEYXRhRGV0ZWN0
aW9uOjpkZXRlY3RDb250ZW50SW5SYW5nZShjb25zdCBTaW1wbGVSYW5nZSYgY29udGV4dFJhbmdl
LCBPcAogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgbGFzdE1vZGlmaWVkUXVlcnlP
ZmZzZXQgPSBxdWVyeVJhbmdlLmVuZDsKLSAgICAgICAgQk9PTCBzaG91bGRVc2VMaWdodExpbmtz
ID0gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTaG91bGRVc2VMaWdodExpbmtzRm9yUmVz
dWx0KGNvcmVSZXN1bHQsIFtpbmRleFBhdGhzW3Jlc3VsdEluZGV4XSBsZW5ndGhdID4gMSk7Cisg
ICAgICAgIEJPT0wgc2hvdWxkVXNlTGlnaHRMaW5rcyA9IFBBTDo6c29mdExpbmtfRGF0YURldGVj
dG9yc0NvcmVfRERTaG91bGRVc2VMaWdodExpbmtzRm9yUmVzdWx0KGNvcmVSZXN1bHQsIFtpbmRl
eFBhdGhzW3Jlc3VsdEluZGV4XSBsZW5ndGhdID4gMSk7CiAKICAgICAgICAgZm9yIChhdXRvJiBy
YW5nZSA6IHJlc3VsdFJhbmdlcykgewogICAgICAgICAgICAgYXV0byogcGFyZW50Tm9kZSA9IHJh
bmdlLnN0YXJ0LmNvbnRhaW5lci0+cGFyZW50Tm9kZSgpOwpAQCAtNjE2LDcgKzYxNSw3IEBAIE5T
QXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJblJhbmdlKGNvbnN0IFNpbXBsZVJh
bmdlJiBjb250ZXh0UmFuZ2UsIE9wCiAKICAgICAgICAgICAgIC8vIEFkZCBhIHNwZWNpYWwgYXR0
cmlidXRlIHRvIG1hcmsgdGhpcyBVUkxpZmljYXRpb24gYXMgdGhlIHJlc3VsdCBvZiBkYXRhIGRl
dGVjdG9ycy4KICAgICAgICAgICAgIGFuY2hvckVsZW1lbnQtPnNldEF0dHJpYnV0ZVdpdGhvdXRT
eW5jaHJvbml6YXRpb24oeF9hcHBsZV9kYXRhX2RldGVjdG9yc0F0dHIsIEF0b21TdHJpbmcoInRy
dWUiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgICAgICAgICAgYW5j
aG9yRWxlbWVudC0+c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih4X2FwcGxlX2Rh
dGFfZGV0ZWN0b3JzX3R5cGVBdHRyLCBkYXRhRGV0ZWN0b3JUeXBlRm9yQ2F0ZWdvcnkoc29mdExp
bmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRDYXRlZ29yeShjb3JlUmVzdWx0KSkpOwor
ICAgICAgICAgICAgYW5jaG9yRWxlbWVudC0+c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXph
dGlvbih4X2FwcGxlX2RhdGFfZGV0ZWN0b3JzX3R5cGVBdHRyLCBkYXRhRGV0ZWN0b3JUeXBlRm9y
Q2F0ZWdvcnkoUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldENhdGVn
b3J5KGNvcmVSZXN1bHQpKSk7CiAgICAgICAgICAgICBhbmNob3JFbGVtZW50LT5zZXRBdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHhfYXBwbGVfZGF0YV9kZXRlY3RvcnNfcmVzdWx0QXR0
ciwgaWRlbnRpZmllcik7CiAKICAgICAgICAgICAgIHBhcmVudE5vZGUtPmluc2VydEJlZm9yZShX
VEZNb3ZlKGFuY2hvckVsZW1lbnQpLCAmY3VycmVudFRleHROb2RlKTsKQEAgLTYzMSw3ICs2MzAs
NyBAQCBOU0FycmF5ICpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5SYW5nZShjb25zdCBT
aW1wbGVSYW5nZSYgY29udGV4dFJhbmdlLCBPcAogICAgIGlmIChsYXN0VGV4dE5vZGVUb1VwZGF0
ZSkKICAgICAgICAgbGFzdFRleHROb2RlVG9VcGRhdGUtPnNldERhdGEobGFzdE5vZGVDb250ZW50
KTsKIAotICAgIHJldHVybiBbZ2V0RERTY2FubmVyUmVzdWx0Q2xhc3MoKSByZXN1bHRzRnJvbUNv
cmVSZXN1bHRzOnNjYW5uZXJSZXN1bHRzLmdldCgpXTsKKyAgICByZXR1cm4gW1BBTDo6Z2V0RERT
Y2FubmVyUmVzdWx0Q2xhc3MoKSByZXN1bHRzRnJvbUNvcmVSZXN1bHRzOnNjYW5uZXJSZXN1bHRz
LmdldCgpXTsKIH0KIAogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0ltYWdlRXh0cmFjdGlvblJlc3VsdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSW1hZ2VF
eHRyYWN0aW9uUmVzdWx0LmgKaW5kZXggZWI4Y2NkNTQxMjc1YzM1YWQ5ODJiMGNlYTFlZmViMGQ0
Zjc2NjYzYi4uNzAxOWVlZWEzY2FjNGMwODc1YmM4OTJhMjVjNzdjN2M4NzkzMzdkNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSW1hZ2VFeHRyYWN0aW9uUmVzdWx0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSW1hZ2VFeHRyYWN0aW9uUmVzdWx0LmgKQEAgLTI3
LDggKzI3LDEzIEBACiAKICNpZiBFTkFCTEUoSU1BR0VfRVhUUkFDVElPTikKIAorI2lmIEVOQUJM
RShEQVRBX0RFVEVDVElPTikKK09CSkNfQ0xBU1MgRERTY2FubmVyUmVzdWx0OworI2VuZGlmCisK
ICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKyNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTgyLDYgKzg3LDIyIEBAIHN0cnVjdCBJbWFnZUV4dHJh
Y3Rpb25MaW5lRGF0YSB7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlv
bmFsPEltYWdlRXh0cmFjdGlvbkxpbmVEYXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAorI2lm
IEVOQUJMRShEQVRBX0RFVEVDVElPTikKKworc3RydWN0IEltYWdlRXh0cmFjdGlvbkRhdGFEZXRl
Y3RvckluZm8geworICAgIEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8oKSA9IGRlZmF1
bHQ7CisgICAgSW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyhERFNjYW5uZXJSZXN1bHQg
KnNjYW5uZXJSZXN1bHQsIFZlY3RvcjxGbG9hdFF1YWQ+JiYgcXVhZHMpCisgICAgICAgIDogcmVz
dWx0KHNjYW5uZXJSZXN1bHQpCisgICAgICAgICwgbm9ybWFsaXplZFF1YWRzKFdURk1vdmUocXVh
ZHMpKQorICAgIHsKKyAgICB9CisKKyAgICBSZXRhaW5QdHI8RERTY2FubmVyUmVzdWx0PiByZXN1
bHQ7CisgICAgVmVjdG9yPEZsb2F0UXVhZD4gbm9ybWFsaXplZFF1YWRzOworfTsKKworI2VuZGlm
IC8vIEVOQUJMRShEQVRBX0RFVEVDVElPTikKKwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBJbWFnZUV4dHJhY3Rpb25MaW5lRGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiB7CiAgICAgZW5jb2RlciA8PCBub3JtYWxpemVkUXVhZDsKQEAgLTEwNiw3ICsxMjcsMjIgQEAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gT3B0aW9uYWw8SW1hZ2VFeHRyYWN0aW9uTGluZURhdGE+
IEltYWdlRXh0cmFjdGlvbkxpbmVEYXQKIHN0cnVjdCBJbWFnZUV4dHJhY3Rpb25SZXN1bHQgewog
ICAgIFZlY3RvcjxJbWFnZUV4dHJhY3Rpb25MaW5lRGF0YT4gbGluZXM7CiAKLSAgICBib29sIGlz
RW1wdHkoKSBjb25zdCB7IHJldHVybiBsaW5lcy5pc0VtcHR5KCk7IH0KKyNpZiBFTkFCTEUoREFU
QV9ERVRFQ1RJT04pCisgICAgVmVjdG9yPEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+
IGRhdGFEZXRlY3RvcnM7CisjZW5kaWYKKworICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0CisgICAg
eworICAgICAgICBpZiAoIWxpbmVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKworI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKKyAgICAgICAgaWYgKCFkYXRhRGV0ZWN0
b3JzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorCisgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZv
aWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBz
dGF0aWMgT3B0aW9uYWw8SW1hZ2VFeHRyYWN0aW9uUmVzdWx0PiBkZWNvZGUoRGVjb2RlciYpOwpA
QCAtMTE1LDYgKzE1MSw5IEBAIHN0cnVjdCBJbWFnZUV4dHJhY3Rpb25SZXN1bHQgewogdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBJbWFnZUV4dHJhY3Rpb25SZXN1bHQ6OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAogewogICAgIGVuY29kZXIgPDwgbGluZXM7CisjaWYgRU5BQkxF
KERBVEFfREVURUNUSU9OKQorICAgIGVuY29kZXIgPDwgZGF0YURldGVjdG9yczsKKyNlbmRpZgog
fQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBPcHRpb25hbDxJbWFnZUV4dHJhY3Rpb25SZXN1
bHQ+IEltYWdlRXh0cmFjdGlvblJlc3VsdDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCkBAIC0x
MjQsNyArMTYzLDE5IEBAIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IE9wdGlvbmFsPEltYWdlRXh0
cmFjdGlvblJlc3VsdD4gSW1hZ2VFeHRyYWN0aW9uUmVzdWx0OjpkCiAgICAgaWYgKCFsaW5lcykK
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7eyBXVEZNb3ZlKCps
aW5lcykgfX07CisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorICAgIE9wdGlvbmFsPFZlY3Rv
cjxJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvPj4gZGF0YURldGVjdG9yczsKKyAgICBk
ZWNvZGVyID4+IGRhdGFEZXRlY3RvcnM7CisgICAgaWYgKCFkYXRhRGV0ZWN0b3JzKQorICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworI2VuZGlmCisKKyAgICByZXR1cm4ge3sKKyAgICAgICAg
V1RGTW92ZSgqbGluZXMpLAorI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKKyAgICAgICAgV1RG
TW92ZSgqZGF0YURldGVjdG9ycyksCisjZW5kaWYKKyAgICB9fTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0
YURldGVjdG9yc0NvcmVTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
RGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3NzlmYWM1YjAxNDNlMzMyMzlmMzBiMmE2Yzg0ZjIzNTIzMDEyMDM2Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaAorKysgL2Rldi9udWxsCkBAIC0xLDcx
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShEQVRBX0RF
VEVDVElPTikKLQotI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTUEku
aD4KLSNpbmNsdWRlIDx3dGYvU29mdExpbmtpbmcuaD4KLQotI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0KLVNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYkNvcmUsIEREU2Nhbm5lclJlc3Vs
dCkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnND
b3JlLCBERFNjYW5uZXJDcmVhdGUsIEREU2Nhbm5lclJlZiwgKEREU2Nhbm5lclR5cGUgdHlwZSwg
RERTY2FubmVyT3B0aW9ucyBvcHRpb25zLCBDRkVycm9yUmVmICogZXJyb3JSZWYpLCAodHlwZSwg
b3B0aW9ucywgZXJyb3JSZWYpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29y
ZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lclNjYW5RdWVyeSwgQm9vbGVhbiwgKEREU2Nh
bm5lclJlZiBzY2FubmVyLCBERFNjYW5RdWVyeVJlZiBxdWVyeSksIChzY2FubmVyLCBxdWVyeSkp
Ci1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29y
ZSwgRERTY2FuUXVlcnlDcmVhdGUsIEREU2NhblF1ZXJ5UmVmLCAoQ0ZBbGxvY2F0b3JSZWYgYWxs
b2NhdG9yKSwgKGFsbG9jYXRvcikpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJD
b3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyQ29weVJlc3VsdHNXaXRoT3B0aW9ucywg
Q0ZBcnJheVJlZiwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBERFNjYW5uZXJDb3B5UmVzdWx0c09w
dGlvbnMgb3B0aW9ucyksIChzY2FubmVyLCBvcHRpb25zKSkKLVNPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFJhbmdlLCBD
RlJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCi1TT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRUeXBl
LCBDRlN0cmluZ1JlZiwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0
R2V0Q2F0ZWdvcnksIEREUmVzdWx0Q2F0ZWdvcnksIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVz
dWx0KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFJlc3VsdElzUGFzdERhdGUsIEJvb2xlYW4sIChERFJlc3VsdFJlZiByZXN1bHQs
IENGRGF0ZVJlZiByZWZlcmVuY2VEYXRlLCBDRlRpbWVab25lUmVmIHJlZmVyZW5jZVRpbWVab25l
KSwgKHJlc3VsdCwgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQotU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1
ZXJ5QWRkVGV4dEZyYWdtZW50LCB2b2lkLCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIENGU3RyaW5n
UmVmIGZyYWdtZW50LCBDRlJhbmdlIHJhbmdlLCB2b2lkICppZGVudGlmaWVyLCBERFRleHRGcmFn
bWVudE1vZGUgbW9kZSwgRERUZXh0Q29hbGVzY2luZ1R5cGUgdHlwZSksIChxdWVyeSwgZnJhZ21l
bnQsIHJhbmdlLCBpZGVudGlmaWVyLCBtb2RlLCB0eXBlKSkKLVNPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUFkZFNlcGFy
YXRvciwgdm9pZCwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5LCBERFRleHRDb2FsZXNjaW5nVHlwZSB0
eXBlKSwgKHF1ZXJ5LCB0eXBlKSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNv
cmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUFkZExpbmVCcmVhaywgdm9pZCwgKERE
U2NhblF1ZXJ5UmVmIHF1ZXJ5KSwgKHF1ZXJ5KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVB
REVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUdldEZyYWdtZW50TWV0
YURhdGEsIHZvaWQgKiwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5LCBDRkluZGV4IHF1ZXJ5SW5kZXgp
LCAocXVlcnksIHF1ZXJ5SW5kZXgpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0SGFzUHJvcGVydGllcywgYm9vbCwgKERE
UmVzdWx0UmVmIHJlc3VsdCwgQ0ZJbmRleCBwcm9wZXJ0eVNldCksIChyZXN1bHQsIHByb3BlcnR5
U2V0KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFJlc3VsdEdldFN1YlJlc3VsdHMsIENGQXJyYXlSZWYsIChERFJlc3VsdFJlZiBy
ZXN1bHQpLCAocmVzdWx0KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUs
IERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFF1ZXJ5UmFuZ2VGb3JVUkxpZmljYXRpb24s
IEREUXVlcnlSYW5nZSwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREVVJMU3Ry
aW5nRm9yUmVzdWx0LCBOU1N0cmluZyAqLCAoRERSZXN1bHRSZWYgY3VycmVudFJlc3VsdCwgTlNT
dHJpbmcgKiByZXN1bHRJZGVudGlmaWVyLCBERFVSTGlmaWVyUGhvbmVOdW1iZXJEZXRlY3Rpb25U
eXBlcyBpbmNsdWRpbmdUZWxHcm91cHMsIE5TRGF0ZSAqIHJlZmVyZW5jZURhdGUsIE5TVGltZVpv
bmUgKiByZWZlcmVuY2VUaW1lWm9uZSksIChjdXJyZW50UmVzdWx0LCByZXN1bHRJZGVudGlmaWVy
LCBpbmNsdWRpbmdUZWxHcm91cHMsIHJlZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKSkK
LVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3Jl
LCBERFVSTFRhcEFuZEhvbGRTY2hlbWVzLCBOU0FycmF5ICosICgpLCAoKSkKLVNPRlRfTElOS19G
VU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNob3VsZElt
bWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yVVJMLCBCT09MLCAoTlNVUkwgKnVybCksICh1cmwp
KQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0Nv
cmUsIEREU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9uU2hlZXRGb3JSZXN1bHQsIEJPT0wsIChE
RFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVB
REVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNob3VsZFVzZUxpZ2h0TGlua3NGb3JS
ZXN1bHQsIEJPT0wsIChERFJlc3VsdFJlZiByZXN1bHQsIEJPT0wgZXh0cmFjdGVkRnJvbVNpZ25h
dHVyZSksIChyZXN1bHQsIGV4dHJhY3RlZEZyb21TaWduYXR1cmUpKQotU09GVF9MSU5LX1BPSU5U
RVJfRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJQYXJzZWNT
b3VyY2VLZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihXZWJD
b3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJIdHRwVVJMS2V5LCBDRlN0cmluZ1JlZikK
LVNPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUs
IEREQmluZGVyV2ViVVJMS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19QT0lOVEVSX0ZPUl9I
RUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyTWFpbFVSTEtleSwgQ0ZT
dHJpbmdSZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRl
Y3RvcnNDb3JlLCBEREJpbmRlckdlbmVyaWNVUkxLZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5L
X1BPSU5URVJfRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJF
bWFpbEtleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNv
cmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclRyYWNraW5nTnVtYmVyS2V5LCBDRlN0cmlu
Z1JlZikKLVNPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9y
c0NvcmUsIEREQmluZGVyRmxpZ2h0SW5mb3JtYXRpb25LZXksIENGU3RyaW5nUmVmKQotU09GVF9M
SU5LX1BPSU5URVJfRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5k
ZXJTaWduYXR1cmVCbG9ja0tleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfQ09OU1RBTlRfRk9S
X0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyQ29weVJlc3VsdHNP
cHRpb25zRm9yUGFzc2l2ZVVzZSwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zKQotCi1TT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERT
Y2FubmVyRW5hYmxlT3B0aW9uYWxTb3VyY2UsIHZvaWQsIChERFNjYW5uZXJSZWYgc2Nhbm5lciwg
RERTY2FubmVyU291cmNlIHNvdXJjZSwgQm9vbGVhbiBlbmFibGUpLCAoc2Nhbm5lciwgc291cmNl
LCBlbmFibGUpKQotCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29y
ZVNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9y
c0NvcmVTb2Z0TGluay5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGE4YzY3NjVk
MmM1MzAyZTA0OWQ0OWMxZWVhMjk5NzljZDk4MjM0NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRh
RGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiRGF0YURldGVjdG9yc0Nv
cmVTb2Z0TGluay5oIgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERBVEFf
REVURUNUSU9OKQotCi1TT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfRk9SX1NPVVJDRShXZWJD
b3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSkKLQotU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0UoV2Vi
Q29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lclJlc3VsdCkKLVNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDcmVh
dGUsIEREU2Nhbm5lclJlZiwgKEREU2Nhbm5lclR5cGUgdHlwZSwgRERTY2FubmVyT3B0aW9ucyBv
cHRpb25zLCBDRkVycm9yUmVmICogZXJyb3JSZWYpLCAodHlwZSwgb3B0aW9ucywgZXJyb3JSZWYp
KQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0Nv
cmUsIEREU2Nhbm5lclNjYW5RdWVyeSwgQm9vbGVhbiwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBE
RFNjYW5RdWVyeVJlZiBxdWVyeSksIChzY2FubmVyLCBxdWVyeSkpCi1TT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlDcmVh
dGUsIEREU2NhblF1ZXJ5UmVmLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yKSwgKGFsbG9jYXRv
cikpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERTY2FubmVyQ29weVJlc3VsdHNXaXRoT3B0aW9ucywgQ0ZBcnJheVJlZiwgKEREU2Nh
bm5lclJlZiBzY2FubmVyLCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnMgb3B0aW9ucyksIChz
Y2FubmVyLCBvcHRpb25zKSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUs
IERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFJhbmdlLCBDRlJhbmdlLCAoRERSZXN1bHRS
ZWYgcmVzdWx0KSwgKHJlc3VsdCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJD
b3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRUeXBlLCBDRlN0cmluZ1JlZiwgKERE
UmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0Q2F0ZWdvcnksIEREUmVz
dWx0Q2F0ZWdvcnksIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKLVNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdElz
UGFzdERhdGUsIEJvb2xlYW4sIChERFJlc3VsdFJlZiByZXN1bHQsIENGRGF0ZVJlZiByZWZlcmVu
Y2VEYXRlLCBDRlRpbWVab25lUmVmIHJlZmVyZW5jZVRpbWVab25lKSwgKHJlc3VsdCwgcmVmZXJl
bmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkVGV4dEZyYWdtZW50
LCB2b2lkLCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIENGU3RyaW5nUmVmIGZyYWdtZW50LCBDRlJh
bmdlIHJhbmdlLCB2b2lkICppZGVudGlmaWVyLCBERFRleHRGcmFnbWVudE1vZGUgbW9kZSwgRERU
ZXh0Q29hbGVzY2luZ1R5cGUgdHlwZSksIChxdWVyeSwgZnJhZ21lbnQsIHJhbmdlLCBpZGVudGlm
aWVyLCBtb2RlLCB0eXBlKSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUs
IERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUFkZFNlcGFyYXRvciwgdm9pZCwgKEREU2Nh
blF1ZXJ5UmVmIHF1ZXJ5LCBERFRleHRDb2FsZXNjaW5nVHlwZSB0eXBlKSwgKHF1ZXJ5LCB0eXBl
KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnND
b3JlLCBERFNjYW5RdWVyeUFkZExpbmVCcmVhaywgdm9pZCwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5
KSwgKHF1ZXJ5KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFE
ZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUdldEZyYWdtZW50TWV0YURhdGEsIHZvaWQgKiwgKERE
U2NhblF1ZXJ5UmVmIHF1ZXJ5LCBDRkluZGV4IHF1ZXJ5SW5kZXgpLCAocXVlcnksIHF1ZXJ5SW5k
ZXgpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9y
c0NvcmUsIEREUmVzdWx0SGFzUHJvcGVydGllcywgYm9vbCwgKEREUmVzdWx0UmVmIHJlc3VsdCwg
Q0ZJbmRleCBwcm9wZXJ0eVNldCksIChyZXN1bHQsIHByb3BlcnR5U2V0KSkKLVNPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdl
dFN1YlJlc3VsdHMsIENGQXJyYXlSZWYsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkK
LVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3Jl
LCBERFJlc3VsdEdldFF1ZXJ5UmFuZ2VGb3JVUkxpZmljYXRpb24sIEREUXVlcnlSYW5nZSwgKERE
UmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREVVJMU3RyaW5nRm9yUmVzdWx0LCBOU1N0
cmluZyAqLCAoRERSZXN1bHRSZWYgY3VycmVudFJlc3VsdCwgTlNTdHJpbmcgKiByZXN1bHRJZGVu
dGlmaWVyLCBERFVSTGlmaWVyUGhvbmVOdW1iZXJEZXRlY3Rpb25UeXBlcyBpbmNsdWRpbmdUZWxH
cm91cHMsIE5TRGF0ZSAqIHJlZmVyZW5jZURhdGUsIE5TVGltZVpvbmUgKiByZWZlcmVuY2VUaW1l
Wm9uZSksIChjdXJyZW50UmVzdWx0LCByZXN1bHRJZGVudGlmaWVyLCBpbmNsdWRpbmdUZWxHcm91
cHMsIHJlZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKSkKLVNPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFVSTFRhcEFuZEhvbGRT
Y2hlbWVzLCBOU0FycmF5ICosICgpLCAoKSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNF
KFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlv
blNoZWV0Rm9yVVJMLCBCT09MLCAoTlNVUkwgKnVybCksICh1cmwpKQotU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1tZWRp
YXRlbHlTaG93QWN0aW9uU2hlZXRGb3JSZXN1bHQsIEJPT0wsIChERFJlc3VsdFJlZiByZXN1bHQp
LCAocmVzdWx0KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFE
ZXRlY3RvcnNDb3JlLCBERFNob3VsZFVzZUxpZ2h0TGlua3NGb3JSZXN1bHQsIEJPT0wsIChERFJl
c3VsdFJlZiByZXN1bHQsIEJPT0wgZXh0cmFjdGVkRnJvbVNpZ25hdHVyZSksIChyZXN1bHQsIGV4
dHJhY3RlZEZyb21TaWduYXR1cmUpKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJDRShXZWJD
b3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJQYXJzZWNTb3VyY2VLZXksIENGU3RyaW5n
UmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERCaW5kZXJIdHRwVVJMS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19QT0lOVEVS
X0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyV2ViVVJMS2V5
LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0
YURldGVjdG9yc0NvcmUsIEREQmluZGVyTWFpbFVSTEtleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJ
TktfUE9JTlRFUl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRl
ckdlbmVyaWNVUkxLZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJD
RShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJFbWFpbEtleSwgQ0ZTdHJpbmdS
ZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnND
b3JlLCBEREJpbmRlclRyYWNraW5nTnVtYmVyS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19Q
T0lOVEVSX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyRmxp
Z2h0SW5mb3JtYXRpb25LZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX1NP
VVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJTaWduYXR1cmVCbG9ja0tl
eSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBE
YXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zRm9yUGFzc2l2ZVVz
ZSwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zKQotCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyRW5hYmxlT3B0aW9u
YWxTb3VyY2UsIHZvaWQsIChERFNjYW5uZXJSZWYgc2Nhbm5lciwgRERTY2FubmVyU291cmNlIHNv
dXJjZSwgQm9vbGVhbiBlbmFibGUpLCAoc2Nhbm5lciwgc291cmNlLCBlbmFibGUpKQotCi0jZW5k
aWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERBVEFfREVURUNUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNDb2NvYS5tbQppbmRleCAxMTYxNDJkNmY5YTIxMmZmNDQ5Nzk2YzU2OTJhMWIwYjMwNzM4NGRm
Li5hMTg2MGJhNmUxZDI0ZGYwMzMwYTM0YzZmMGY0YTg1ZDg4NzVlN2Y5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2Nv
YS5tbQpAQCAtNTAsNiArNTAsMTAgQEAKICNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzQ29jb2FBZGRpdGlvbnMubW0+CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJ
TUFHRV9FWFRSQUNUSU9OKQorI2ltcG9ydCA8V2ViQ29yZS9JbWFnZUV4dHJhY3Rpb25SZXN1bHQu
aD4KKyNlbmRpZgorCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICNpbXBvcnQgIkRhdGFSZWZlcmVu
Y2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaD4KQEAg
LTYwLDYgKzY0LDEwIEBACiAjaW1wb3J0IDxwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
aD4KICNlbmRpZgogCisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorI2ltcG9ydCA8cGFsL2Nv
Y29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgSVBD
IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC02NTEsNCArNjU5LDIzIEBAIGJvb2wg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dD46OmRlY29k
ZVBsYXRmb3JtRGF0YShEZWNvCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNU
SU9OKSAmJiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCisKK3ZvaWQgQXJndW1lbnRDb2RlcjxJbWFn
ZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvPjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8mIGluZm8pCit7
CisgICAgZW5jb2RlciA8PCBpbmZvLnJlc3VsdC5nZXQoKTsKK30KKworYm9vbCBBcmd1bWVudENv
ZGVyPEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+OjpkZWNvZGVQbGF0Zm9ybURhdGEo
RGVjb2RlciYgZGVjb2RlciwgSW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyYgcmVzdWx0
KQoreworICAgIGF1dG8gc2Nhbm5lclJlc3VsdCA9IElQQzo6ZGVjb2RlPEREU2Nhbm5lclJlc3Vs
dD4oZGVjb2RlciwgQFsgUEFMOjpnZXRERFNjYW5uZXJSZXN1bHRDbGFzcygpIF0pOworICAgIGlm
ICghc2Nhbm5lclJlc3VsdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVzdWx0LnJl
c3VsdCA9IFdURk1vdmUoKnNjYW5uZXJSZXN1bHQpOworICAgIHJldHVybiB0cnVlOworfQorCisj
ZW5kaWYgLy8gRU5BQkxFKElNQUdFX0VYVFJBQ1RJT04pICYmIEVOQUJMRShEQVRBX0RFVEVDVElP
TikKKwogfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBjN2E4NThhMDhhNWY4YmEwN2IzY2EwYzc2ZGJiYTEy
MmMzMDc0ZjBmLi5lNDYwMmQ1YTk1MmFiMjlmYjZiZmIxMzI4M2FmNzA5ODk4NTExMWMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTUz
LDYgKzUzLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVDaG9vc2VyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9GaWx0ZXJPcGVyYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZpbHRlck9wZXJh
dGlvbnMuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UXVhZC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvRm9udC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRm9udEF0dHJpYnV0ZXMuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgpAQCAtMTAyLDcgKzEwMyw2IEBACiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0jaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFF1YWQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlbGVjdGlvbkdlb21ldHJ5Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9TaGFyZWRCdWZmZXIuaD4KICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAt
MTE2LDYgKzExNiwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFDb25zdHJhaW50cy5oPgog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoSU1BR0VfRVhUUkFDVElPTikKKyNpbmNsdWRlIDxXZWJDb3Jl
L0ltYWdlRXh0cmFjdGlvblJlc3VsdC5oPgorI2VuZGlmCisKIC8vIEZJWE1FOiBTZWVtcyBsaWtl
IHdlIGNvdWxkIHVzZSBzdGQ6OnR1cGxlIHRvIGN1dCBkb3duIHRoZSBjb2RlIGJlbG93IGEgbG90
IQogCiBuYW1lc3BhY2UgSVBDIHsKQEAgLTMxOTgsNCArMzIwMiwyOSBAQCBPcHRpb25hbDxXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHRHTDo6QWN0aXZlSW5mbz4gQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpHcmFwaGljcwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKSAmJiBF
TkFCTEUoREFUQV9ERVRFQ1RJT04pCisKK3ZvaWQgQXJndW1lbnRDb2RlcjxJbWFnZUV4dHJhY3Rp
b25EYXRhRGV0ZWN0b3JJbmZvPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEltYWdl
RXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8mIGluZm8pCit7CisgICAgZW5jb2RlUGxhdGZvcm1E
YXRhKGVuY29kZXIsIGluZm8pOworICAgIGVuY29kZXIgPDwgaW5mby5ub3JtYWxpemVkUXVhZHM7
Cit9CisKK09wdGlvbmFsPEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+IEFyZ3VtZW50
Q29kZXI8SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz46OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyKQoreworICAgIEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8gcmVzdWx0Owor
ICAgIGlmICghZGVjb2RlUGxhdGZvcm1EYXRhKGRlY29kZXIsIHJlc3VsdCkpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxWZWN0b3I8RmxvYXRRdWFkPj4gbm9y
bWFsaXplZFF1YWRzOworICAgIGRlY29kZXIgPj4gbm9ybWFsaXplZFF1YWRzOworICAgIGlmICgh
bm9ybWFsaXplZFF1YWRzKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgcmVz
dWx0Lm5vcm1hbGl6ZWRRdWFkcyA9IFdURk1vdmUoKm5vcm1hbGl6ZWRRdWFkcyk7CisgICAgcmV0
dXJuIHsgV1RGTW92ZShyZXN1bHQpIH07Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfRVhU
UkFDVElPTikgJiYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorCiB9IC8vIG5hbWVzcGFjZSBJUEMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggY2Zj
Mzk2MjhhOTUwZjQyYzFhNjE0YmU5N2M3ZTU1MjE1NGM4Y2E1OS4uY2JiOWIzNzkwZDA4ZWRkYmQw
YmQ5ZDhhYTU0YjIwMzUyMGU2YTVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTE0Nyw2ICsxNDcsNyBAQCBzdHJ1Y3QgRXZlbnRUcmFja2lu
Z1JlZ2lvbnM7CiBzdHJ1Y3QgRXhjZXB0aW9uRGV0YWlsczsKIHN0cnVjdCBGb250QXR0cmlidXRl
czsKIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzOworc3RydWN0IEltYWdlRXh0cmFjdGlvbkRh
dGFEZXRlY3RvckluZm87CiBzdHJ1Y3QgUmF3RmlsZTsKIHN0cnVjdCBTaGFyZURhdGE7CiBzdHJ1
Y3QgU2hhcmVEYXRhV2l0aFBhcnNlZFVSTDsKQEAgLTgyNCw2ICs4MjUsMTcgQEAgdGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTDo6QWN0aXZl
SW5mbz4gewogfTsKICNlbmRpZgogCisjaWYgRU5BQkxFKElNQUdFX0VYVFJBQ1RJT04pICYmIEVO
QUJMRShEQVRBX0RFVEVDVElPTikKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxX
ZWJDb3JlOjpJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvPiB7CisgICAgc3RhdGljIHZv
aWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpJbWFnZUV4dHJhY3Rpb25EYXRhRGV0
ZWN0b3JJbmZvJik7CisgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBPcHRpb25hbDxXZWJD
b3JlOjpJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwor
ICAgIHN0YXRpYyB2b2lkIGVuY29kZVBsYXRmb3JtRGF0YShFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyYpOworICAgIHN0YXRpYyBXQVJOX1VO
VVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVQbGF0Zm9ybURhdGEoRGVjb2RlciYsIFdlYkNvcmU6Oklt
YWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8mKTsKK307CisKKyNlbmRpZiAvLyBFTkFCTEUo
SU1BR0VfRVhUUkFDVElPTikgJiYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorCiB9IC8vIG5hbWVz
cGFjZSBJUEMKIAogbmFtZXNwYWNlIFdURiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428584</attachid>
            <date>2021-05-13 17:40:53 -0700</date>
            <delta_ts>2021-05-13 21:06:46 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-225775-20210513174053.patch</filename>
            <type>text/plain</type>
            <size>65831</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ2ZDdkNjU3ZjlhMTZl
M2JkYTllMGJlNDA0NTRiN2RiMTgxODQ3MS4uNzMyN2ZlZjdkNjkxNWUwNWJiM2UzZDkyNzBlY2Zj
NTM4NDVkNjEyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA1LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUGx1
bWIgZGF0YSBkZXRlY3RvciByZXN1bHRzIHRocm91Z2ggc29tZSBwbGF0Zm9ybSBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3NzUKKyAg
ICAgICAgV29yayB0b3dhcmRzIHJkYXI6Ly83NTUwNDk1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IFRpbSBIb3J0b24gYW5kIERldmluIFJvdXNzby4KKworICAgICAgICBJbnRyb2R1Y2UgYSBuZXcg
c3RydWN0IHRvIGhvbGQgZGF0YSBkZXRlY3Rpb24gcmVzdWx0cywgYW5kIGFkZCBpdCB0byB0aGUg
ZXhpc3RpbmcgcmVzdWx0cyBvYmplY3Qgd2hlbgorICAgICAgICBgRU5BQkxFKERBVEFfREVURUNU
SU9OKWAgaXMgZGVmaW5lZC4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAg
ICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW06
CisgICAgICAgIChXZWJDb3JlOjpEYXRhRGV0ZWN0aW9uOjpjYW5CZVByZXNlbnRlZEJ5RGF0YURl
dGVjdG9ycyk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhRGV0ZWN0aW9uOjpjYW5QcmVzZW50RGF0
YURldGVjdG9yc1VJRm9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpyZXN1bHRJc1VSTCk6
CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RVUkxTdHJpbmdGb3JSZXN1bHQpOgorICAgICAg
ICAoV2ViQ29yZTo6YnVpbGRRdWVyeSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhRGV0ZWN0aW9u
OjpkZXRlY3RDb250ZW50SW5SYW5nZSk6CisKKyAgICAgICAgQWRkIGEgYFBBTGAgbmFtZXNwYWNl
IHRvIGVhY2ggb2YgdGhlc2UgRGF0YURldGVjdG9yc0NvcmUgc29mdGxpbmtpbmcgY2FsbCBzaXRl
cywgc2luY2UgdGhlIHNvZnQgbGluayBoZWFkZXIgbm93CisgICAgICAgIGV4aXN0cyBpbiBQQUwu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9JbWFnZUV4dHJhY3Rpb25SZXN1bHQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm86OkltYWdlRXh0cmFjdGlv
bkRhdGFEZXRlY3RvckluZm8pOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VFeHRyYWN0aW9uUmVz
dWx0Ojppc0VtcHR5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRXh0cmFjdGlvblJl
c3VsdDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRXh0cmFjdGlvblJl
c3VsdDo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29y
ZVNvZnRMaW5rLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvRGF0YURldGVj
dG9yc0NvcmVTb2Z0TGluay5tbTogUmVtb3ZlZC4KKworICAgICAgICBBZGRpdGlvbmFsbHksIG1v
dmUgYERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsue2h8bW19YCBvdXQgb2YgYFdlYkNvcmUvcGxh
dGZvcm1gIGFuZCBpbnRvIFBBTCBhcyBzb2Z0bGlua2luZworICAgICAgICBoZWFkZXJzLCBzbyB0
aGF0IHRoZXkgY2FuIGJlIGltcG9ydGVkIGluIFdlYktpdCBhcyB3ZWxsIGFzIFdlYkNvcmUuCisK
IDIwMjEtMDUtMTMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAg
WyBtYWNPUyBXazIgXSBtZWRpYS9tZWRpYS1mcmFnbWVudHMvVEMwMDUxLmh0bWwgaXMgZmxha2V5
IGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiMzM1YzJhNWM0MjA3ZjlmZDNhYWExNjk5
YzMzOTg0N2YyMGI0NjMzLi5hNWE5MDRlNjliOTg2OTk4NWIzZmVkYTVlNzZmYzg4OWFjYTU1NTlj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0wNS0xMyAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFBsdW1i
IGRhdGEgZGV0ZWN0b3IgcmVzdWx0cyB0aHJvdWdoIHNvbWUgcGxhdGZvcm0gb2JqZWN0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Nzc1CisgICAg
ICAgIFdvcmsgdG93YXJkcyByZGFyOi8vNzU1MDQ5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSG9ydG9uIGFuZCBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgTW92ZSBgRGF0YURldGVjdG9y
c0NvcmVTb2Z0TGluay57aHxtbX1gIGludG8gUEFMLCBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGlu
IFdlYktpdCBhcyB3ZWxsLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcGFsL1BsYXRmb3JtTWFjLmNtYWtlOgorCisgICAgICAgIEFkZCB0aGUg
aGVhZGVyIGFuZCBzb3VyY2UgZmlsZSB0byB0aGUgQ01ha2UgYnVpbGQuCisKKyAgICAgICAgKiBw
YWwvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oOiBBZGRlZC4KKyAgICAgICAgKiBw
YWwvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbTogQWRkZWQuCisgICAgICAgICog
cGFsL3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oOgorCisgICAgICAgIEV4cGxpY2l0
bHkgaW1wb3J0IEZvdW5kYXRpb24gaGVhZGVycyBoZXJlLCBzbyB0aGF0IHRoZSBmb3J3YXJkIGRl
Y2xhcmF0aW9ucyBkb24ndCBjYXVzZSBjb21waWxhdGlvbiBmYWlsdXJlcyBpbgorICAgICAgICBu
b24taW50ZXJuYWwgU0RLcy4KKwogMjAyMS0wNS0xMiAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkb3B0IENvcmVNZWRpYSBTUEkgdG8gaWRlbnRpZnkgYXVk
aW8tb25seSBwbGF5YmFjayBmb3IgTVNFIGNsaWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzgxMGQ1NjJmYjkw
OTcwOTA1NDE5YWJhMjgyODE3Y2FlMWVjN2ZlNi4uODY5NDY4MDVjOTY0ODFmMzAzMDc2YzhjMTll
YjkyY2FjNWJkZWI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0wNS0xMyAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFBs
dW1iIGRhdGEgZGV0ZWN0b3IgcmVzdWx0cyB0aHJvdWdoIHNvbWUgcGxhdGZvcm0gb2JqZWN0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Nzc1Cisg
ICAgICAgIFdvcmsgdG93YXJkcyByZGFyOi8vNzU1MDQ5NTYKKworICAgICAgICBSZXZpZXdlZCBi
eSBUaW0gSG9ydG9uIGFuZCBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgQWRkIElQQyBlbmNvZGlu
ZyBhbmQgZGVjb2Rpbmcgc3VwcG9ydCBmb3IgdGhlIG5ldyBzdHJ1Y3QuCisKKyAgICAgICAgKiBT
aGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz46OmVuY29kZVBs
YXRmb3JtRGF0YSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8SW1hZ2VFeHRyYWN0aW9u
RGF0YURldGVjdG9ySW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YSk6CisgICAgICAgICogU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8
SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz46OmVuY29kZSk6CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz46OmRlY29kZSk6
CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorCiAyMDIxLTA1LTEz
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBDR0Rpc3BsYXlMaXN0
IGRlYnVnIGNvbmZpZ3VyYXRpb24gZmFpbHMgdG8gYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzM2RmZmRlMTVjZmVlOWJh
ZDg2ZTAxYjlkZDhiOWIxODc3ZGZmN2RhLi4xOTZlMzlkMzI1Y2I4MzA0YzgxYWNiY2IxYjJjYjRj
NThkMjRlODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0yMDcsNiArMjA3LDggQEAKIAkJRjQ0MjkxNjAxRkE1MjYxRTAwMkND
OTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE1RjFGQTUyNjFFMDAyQ0M5M0UgLyogRmlsZVNpemVGb3Jt
YXR0ZXIuaCAqLzsgfTsKIAkJRjQ0MjkxNjQxRkE1MjY3MDAwMkNDOTNFIC8qIEZpbGVTaXplRm9y
bWF0dGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0NDI5MTYyMUZBNTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgKi87IH07
CiAJCUY0NDI5MTY4MUZBNTI3MDUwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlckNvY29hLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxNjYx
RkE1MjcwNTAwMkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyQ29jb2EubW0gKi87IH07CisJCUY0
REREMDFCMjY0REM2OUUwMEVGMUI5MSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjREREQwMTkyNjRE
QzY5RTAwRUYxQjkxIC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0gKi87IH07CisJCUY0
REREMDFDMjY0REM2OUUwMEVGMUI5MSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNERERDAxQTI2NERD
NjlFMDBFRjFCOTEgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oICovOyB9OwogLyogRW5k
IFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94
eSBzZWN0aW9uICovCkBAIC00MjAsNiArNDIyLDggQEAKIAkJRjQ0MjkxNUYxRkE1MjYxRTAwMkND
OTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVTaXplRm9ybWF0
dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTYyMUZBNTI2NzAwMDJD
QzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaWxlU2l6
ZUZvcm1hdHRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTY2MUZB
NTI3MDUwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlckNvY29hLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRmlsZVNpemVGb3JtYXR0ZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRjREREQwMTkyNjREQzY5RTAwRUYxQjkxIC8qIERhdGFEZXRlY3RvcnNDb3JlU29m
dExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhRGV0
ZWN0b3JzQ29yZVNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNERE
RDAxQTI2NERDNjlFMDBFRjFCOTEgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0
aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAg
LTcwNyw2ICs3MTEsOCBAQAogCQkJCTA3N0U4N0FGMjI2QTQ2MDIwMEEyQUZGMCAvKiBBVkZvdW5k
YXRpb25Tb2Z0TGluay5tbSAqLywKIAkJCQk1N0YxQzkwNzI1RENGMENGMDBFOEY2RUEgLyogQ3J5
cHRvS2l0Q0JyaWRnaW5nU29mdExpbmsuaCAqLywKIAkJCQk1N0YxQzkwODI1RENGMENGMDBFOEY2
RUEgLyogQ3J5cHRvS2l0Q0JyaWRnaW5nU29mdExpbmsubW0gKi8sCisJCQkJRjREREQwMUEyNjRE
QzY5RTAwRUYxQjkxIC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaCAqLywKKwkJCQlGNERE
RDAxOTI2NERDNjlFMDBFRjFCOTEgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbSAqLywK
IAkJCQlGNDQyOTE2NjFGQTUyNzA1MDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0ZXJDb2NvYS5t
bSAqLywKIAkJCQkxQzAyMkVGQzIyQ0ZFOEUwMDA2REYwMUIgLyogR3VuemlwLmNwcCAqLywKIAkJ
CQlDREFDQjM1RTIzODczRTQ4MDAxOEQ3Q0UgLyogTWVkaWFUb29sYm94U29mdExpbmsuY3BwICov
LApAQCAtODQ3LDYgKzg1Myw3IEBACiAJCQkJMUMwOUQwNTMxRTMxQzQ0MTAwNzI1RjE4IC8qIENy
eXB0b0RpZ2VzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdGMUM5MDkyNURDRjBDRjAwRThGNkVB
IC8qIENyeXB0b0tpdENCcmlkZ2luZ1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlERjgz
RTIwOTI2MzczNEYxMDAwODI1RUYgLyogQ3J5cHRvS2l0Q0JyaWRnaW5nU1BJLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlGNERERDAxQzI2NERDNjlFMDBFRjFCOTEgLyogRGF0YURldGVjdG9yc0NvcmVT
b2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExNDExRjNCRUI0OTAwREJDMzE3IC8q
IERhdGFEZXRlY3RvcnNDb3JlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU4QTFGNDUx
MzBGMDBGNEVCQjYgLyogRGF0YURldGVjdG9yc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM1
QUY5MUExRjQzQTRDNzAwMkVBQzAyIC8qIERhdGFEZXRlY3RvcnNVSVNQSS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0xMDU5LDYgKzEwNjYsNyBAQAogCQkJCTFDNzdDOEM5MjVENzk3MjAwMDYzNUUwQyAv
KiBDb3JlVGV4dFNvZnRMaW5rLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDMDlEMDU2MUUzMUM0
NjUwMDcyNUYxOCAvKiBDcnlwdG9EaWdlc3RDb21tb25DcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTdGMUM5MEEyNURDRjBDRjAwRThGNkVBIC8qIENyeXB0b0tpdENCcmlkZ2luZ1NvZnRM
aW5rLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRjREREQwMUIyNjREQzY5RTAwRUYxQjkxIC8qIERh
dGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQlBMTE3NUI1ODFG
NkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUY0NDI5MTY0MUZBNTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGNDQyOTE2ODFGQTUyNzA1MDAyQ0M5M0UgLyogRmlsZVNpemVG
b3JtYXR0ZXJDb2NvYS5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxh
dGZvcm1NYWMuY21ha2UKaW5kZXggNzViODlkYTVlODVlOTA0MTkzNWY4M2M4MWQ5ODZiMzMwZTg1
NDU4OC4uYzc5MTdjZWVlZjQ2NjhjZmM5ZTBlYmI3YWZlNjUyNGY2ZjdhNTlkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC0xMiw2ICsxMiw3IEBAIGxpc3Qo
QVBQRU5EIFBBTF9QVUJMSUNfSEVBREVSUwogICAgIGNvY29hL0FwcFNTT1NvZnRMaW5rLmgKICAg
ICBjb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oCiAgICAgY29jb2EvQ3J5cHRvS2l0Q0JyaWRn
aW5nU29mdExpbmsuaAorICAgIGNvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaAogICAg
IGNvY29hL01lZGlhVG9vbGJveFNvZnRMaW5rLmgKICAgICBjb2NvYS9PcGVuR0xTb2Z0TGlua0Nv
Y29hLmgKICAgICBjb2NvYS9QYXNzS2l0U29mdExpbmsuaApAQCAtMTQ4LDYgKzE0OSw3IEBAIGxp
c3QoQVBQRU5EIFBBTF9TT1VSQ0VTCiAgICAgY29jb2EvQXBwU1NPU29mdExpbmsubW0KICAgICBj
b2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQogICAgIGNvY29hL0NyeXB0b0tpdENCcmlkZ2lu
Z1NvZnRMaW5rLm1tCisgICAgY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbQogICAg
IGNvY29hL0ZpbGVTaXplRm9ybWF0dGVyQ29jb2EubW0KICAgICBjb2NvYS9HdW56aXAuY3BwCiAg
ICAgY29jb2EvTWVkaWFUb29sYm94U29mdExpbmsuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU3YTU2OGEzZWRkYjEyY2M0NmFlNWYwOGVjZTQ0MjExYmM1ZmRiY2QKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29m
dExpbmsuaApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKKworI2luY2x1ZGUgPHBhbC9zcGkvY29jb2Ev
RGF0YURldGVjdG9yc0NvcmVTUEkuaD4KKyNpbmNsdWRlIDx3dGYvU29mdExpbmtpbmcuaD4KKwor
U09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBERFNjYW5uZXJSZXN1bHQpCisKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBE
YXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyQ3JlYXRlLCBERFNjYW5uZXJSZWYsIChERFNjYW5u
ZXJUeXBlIHR5cGUsIEREU2Nhbm5lck9wdGlvbnMgb3B0aW9ucywgQ0ZFcnJvclJlZiAqIGVycm9y
UmVmKSwgKHR5cGUsIG9wdGlvbnMsIGVycm9yUmVmKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lclNjYW5RdWVyeSwgQm9vbGVh
biwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBERFNjYW5RdWVyeVJlZiBxdWVyeSksIChzY2FubmVy
LCBxdWVyeSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFNjYW5RdWVyeUNyZWF0ZSwgRERTY2FuUXVlcnlSZWYsIChDRkFsbG9jYXRvclJl
ZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9yKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVS
KFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lckNvcHlSZXN1bHRzV2l0aE9wdGlvbnMs
IENGQXJyYXlSZWYsIChERFNjYW5uZXJSZWYgc2Nhbm5lciwgRERTY2FubmVyQ29weVJlc3VsdHNP
cHRpb25zIG9wdGlvbnMpLCAoc2Nhbm5lciwgb3B0aW9ucykpCitTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFJhbmdlLCBDRlJh
bmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFR5cGUsIENGU3Ry
aW5nUmVmLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldENhdGVnb3J5
LCBERFJlc3VsdENhdGVnb3J5LCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3Vs
dElzUGFzdERhdGUsIEJvb2xlYW4sIChERFJlc3VsdFJlZiByZXN1bHQsIENGRGF0ZVJlZiByZWZl
cmVuY2VEYXRlLCBDRlRpbWVab25lUmVmIHJlZmVyZW5jZVRpbWVab25lKSwgKHJlc3VsdCwgcmVm
ZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlBZGRUZXh0RnJhZ21lbnQs
IHZvaWQsIChERFNjYW5RdWVyeVJlZiBxdWVyeSwgQ0ZTdHJpbmdSZWYgZnJhZ21lbnQsIENGUmFu
Z2UgcmFuZ2UsIHZvaWQgKmlkZW50aWZpZXIsIEREVGV4dEZyYWdtZW50TW9kZSBtb2RlLCBERFRl
eHRDb2FsZXNjaW5nVHlwZSB0eXBlKSwgKHF1ZXJ5LCBmcmFnbWVudCwgcmFuZ2UsIGlkZW50aWZp
ZXIsIG1vZGUsIHR5cGUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlBZGRTZXBhcmF0b3IsIHZvaWQsIChERFNjYW5RdWVy
eVJlZiBxdWVyeSwgRERUZXh0Q29hbGVzY2luZ1R5cGUgdHlwZSksIChxdWVyeSwgdHlwZSkpCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNj
YW5RdWVyeUFkZExpbmVCcmVhaywgdm9pZCwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5KSwgKHF1ZXJ5
KSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUs
IEREU2NhblF1ZXJ5R2V0RnJhZ21lbnRNZXRhRGF0YSwgdm9pZCAqLCAoRERTY2FuUXVlcnlSZWYg
cXVlcnksIENGSW5kZXggcXVlcnlJbmRleCksIChxdWVyeSwgcXVlcnlJbmRleCkpCitTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEhh
c1Byb3BlcnRpZXMsIGJvb2wsIChERFJlc3VsdFJlZiByZXN1bHQsIENGSW5kZXggcHJvcGVydHlT
ZXQpLCAocmVzdWx0LCBwcm9wZXJ0eVNldCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURF
UihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFN1YlJlc3VsdHMsIENGQXJyYXlS
ZWYsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0UXVlcnlSYW5nZUZv
clVSTGlmaWNhdGlvbiwgRERRdWVyeVJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3Vs
dCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3Jl
LCBERFVSTFN0cmluZ0ZvclJlc3VsdCwgTlNTdHJpbmcgKiwgKEREUmVzdWx0UmVmIGN1cnJlbnRS
ZXN1bHQsIE5TU3RyaW5nICogcmVzdWx0SWRlbnRpZmllciwgRERVUkxpZmllclBob25lTnVtYmVy
RGV0ZWN0aW9uVHlwZXMgaW5jbHVkaW5nVGVsR3JvdXBzLCBOU0RhdGUgKiByZWZlcmVuY2VEYXRl
LCBOU1RpbWVab25lICogcmVmZXJlbmNlVGltZVpvbmUpLCAoY3VycmVudFJlc3VsdCwgcmVzdWx0
SWRlbnRpZmllciwgaW5jbHVkaW5nVGVsR3JvdXBzLCByZWZlcmVuY2VEYXRlLCByZWZlcmVuY2VU
aW1lWm9uZSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFVSTFRhcEFuZEhvbGRTY2hlbWVzLCBOU0FycmF5ICosICgpLCAoKSkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxk
SW1tZWRpYXRlbHlTaG93QWN0aW9uU2hlZXRGb3JVUkwsIEJPT0wsIChOU1VSTCAqdXJsKSwgKHVy
bCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3Jl
LCBERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yUmVzdWx0LCBCT09MLCAoRERS
ZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURF
UihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNob3VsZFVzZUxpZ2h0TGlua3NGb3JSZXN1bHQs
IEJPT0wsIChERFJlc3VsdFJlZiByZXN1bHQsIEJPT0wgZXh0cmFjdGVkRnJvbVNpZ25hdHVyZSks
IChyZXN1bHQsIGV4dHJhY3RlZEZyb21TaWduYXR1cmUpKQorU09GVF9MSU5LX1BPSU5URVJfRk9S
X0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclBhcnNlY1NvdXJjZUtleSwg
Q0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVj
dG9yc0NvcmUsIEREQmluZGVySHR0cFVSTEtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9J
TlRFUl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyV2ViVVJMS2V5
LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0
ZWN0b3JzQ29yZSwgRERCaW5kZXJNYWlsVVJMS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19Q
T0lOVEVSX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJHZW5lcmlj
VVJMS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoUEFMLCBE
YXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJFbWFpbEtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJ
TktfUE9JTlRFUl9GT1JfSEVBREVSKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyVHJh
Y2tpbmdOdW1iZXJLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURF
UihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlckZsaWdodEluZm9ybWF0aW9uS2V5LCBD
RlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9IRUFERVIoUEFMLCBEYXRhRGV0ZWN0
b3JzQ29yZSwgRERCaW5kZXJTaWduYXR1cmVCbG9ja0tleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJ
TktfQ09OU1RBTlRfRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJD
b3B5UmVzdWx0c09wdGlvbnNGb3JQYXNzaXZlVXNlLCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlv
bnMpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIERhdGFEZXRlY3RvcnNDb3Jl
LCBERFNjYW5uZXJFbmFibGVPcHRpb25hbFNvdXJjZSwgdm9pZCwgKEREU2Nhbm5lclJlZiBzY2Fu
bmVyLCBERFNjYW5uZXJTb3VyY2Ugc291cmNlLCBCb29sZWFuIGVuYWJsZSksIChzY2FubmVyLCBz
b3VyY2UsIGVuYWJsZSkpCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2VuZGlm
IC8vIEVOQUJMRShEQVRBX0RFVEVDVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
ZGYwMTI3OTAwOGJiMzQyOTE0ZGQxMjdmMjNhYTkwNzQ1MTRiZWE2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5r
Lm1tCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorCisjaW5jbHVkZSA8cGFsL3NwaS9jb2Nv
YS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oPgorI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlua2luZy5oPgor
CitTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3Rv
cnNDb3JlKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyUmVzdWx0LCBQQUxfRVhQT1JUKQorCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURl
dGVjdG9yc0NvcmUsIEREU2Nhbm5lckNyZWF0ZSwgRERTY2FubmVyUmVmLCAoRERTY2FubmVyVHlw
ZSB0eXBlLCBERFNjYW5uZXJPcHRpb25zIG9wdGlvbnMsIENGRXJyb3JSZWYgKiBlcnJvclJlZiks
ICh0eXBlLCBvcHRpb25zLCBlcnJvclJlZikpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJTY2FuUXVlcnksIEJvb2xlYW4sIChE
RFNjYW5uZXJSZWYgc2Nhbm5lciwgRERTY2FuUXVlcnlSZWYgcXVlcnkpLCAoc2Nhbm5lciwgcXVl
cnkpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29y
ZSwgRERTY2FuUXVlcnlDcmVhdGUsIEREU2NhblF1ZXJ5UmVmLCAoQ0ZBbGxvY2F0b3JSZWYgYWxs
b2NhdG9yKSwgKGFsbG9jYXRvcikpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUws
IERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDb3B5UmVzdWx0c1dpdGhPcHRpb25zLCBDRkFy
cmF5UmVmLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9u
cyBvcHRpb25zKSwgKHNjYW5uZXIsIG9wdGlvbnMpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9T
T1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRSYW5nZSwgQ0ZSYW5nZSwg
KEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9T
T1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRUeXBlLCBDRlN0cmluZ1Jl
ZiwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRDYXRlZ29yeSwgRERS
ZXN1bHRDYXRlZ29yeSwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQorU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRJc1Bh
c3REYXRlLCBCb29sZWFuLCAoRERSZXN1bHRSZWYgcmVzdWx0LCBDRkRhdGVSZWYgcmVmZXJlbmNl
RGF0ZSwgQ0ZUaW1lWm9uZVJlZiByZWZlcmVuY2VUaW1lWm9uZSksIChyZXN1bHQsIHJlZmVyZW5j
ZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNF
KFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkVGV4dEZyYWdtZW50LCB2b2lk
LCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIENGU3RyaW5nUmVmIGZyYWdtZW50LCBDRlJhbmdlIHJh
bmdlLCB2b2lkICppZGVudGlmaWVyLCBERFRleHRGcmFnbWVudE1vZGUgbW9kZSwgRERUZXh0Q29h
bGVzY2luZ1R5cGUgdHlwZSksIChxdWVyeSwgZnJhZ21lbnQsIHJhbmdlLCBpZGVudGlmaWVyLCBt
b2RlLCB0eXBlKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVj
dG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkU2VwYXJhdG9yLCB2b2lkLCAoRERTY2FuUXVlcnlSZWYg
cXVlcnksIEREVGV4dENvYWxlc2NpbmdUeXBlIHR5cGUpLCAocXVlcnksIHR5cGUpKQorU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVl
cnlBZGRMaW5lQnJlYWssIHZvaWQsIChERFNjYW5RdWVyeVJlZiBxdWVyeSksIChxdWVyeSkpCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNj
YW5RdWVyeUdldEZyYWdtZW50TWV0YURhdGEsIHZvaWQgKiwgKEREU2NhblF1ZXJ5UmVmIHF1ZXJ5
LCBDRkluZGV4IHF1ZXJ5SW5kZXgpLCAocXVlcnksIHF1ZXJ5SW5kZXgpKQorU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRIYXNQcm9w
ZXJ0aWVzLCBib29sLCAoRERSZXN1bHRSZWYgcmVzdWx0LCBDRkluZGV4IHByb3BlcnR5U2V0KSwg
KHJlc3VsdCwgcHJvcGVydHlTZXQpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFM
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRTdWJSZXN1bHRzLCBDRkFycmF5UmVmLCAo
RERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NP
VVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFF1ZXJ5UmFuZ2VGb3JVUkxp
ZmljYXRpb24sIEREUXVlcnlSYW5nZSwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQor
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERV
UkxTdHJpbmdGb3JSZXN1bHQsIE5TU3RyaW5nICosIChERFJlc3VsdFJlZiBjdXJyZW50UmVzdWx0
LCBOU1N0cmluZyAqIHJlc3VsdElkZW50aWZpZXIsIEREVVJMaWZpZXJQaG9uZU51bWJlckRldGVj
dGlvblR5cGVzIGluY2x1ZGluZ1RlbEdyb3VwcywgTlNEYXRlICogcmVmZXJlbmNlRGF0ZSwgTlNU
aW1lWm9uZSAqIHJlZmVyZW5jZVRpbWVab25lKSwgKGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50
aWZpZXIsIGluY2x1ZGluZ1RlbEdyb3VwcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpv
bmUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29y
ZSwgRERVUkxUYXBBbmRIb2xkU2NoZW1lcywgTlNBcnJheSAqLCAoKSwgKCkpCitTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNob3VsZEltbWVk
aWF0ZWx5U2hvd0FjdGlvblNoZWV0Rm9yVVJMLCBCT09MLCAoTlNVUkwgKnVybCksICh1cmwpKQor
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERT
aG91bGRJbW1lZGlhdGVseVNob3dBY3Rpb25TaGVldEZvclJlc3VsdCwgQk9PTCwgKEREUmVzdWx0
UmVmIHJlc3VsdCksIChyZXN1bHQpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFM
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTaG91bGRVc2VMaWdodExpbmtzRm9yUmVzdWx0LCBCT09M
LCAoRERSZXN1bHRSZWYgcmVzdWx0LCBCT09MIGV4dHJhY3RlZEZyb21TaWduYXR1cmUpLCAocmVz
dWx0LCBleHRyYWN0ZWRGcm9tU2lnbmF0dXJlKSkKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VS
Q0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJQYXJzZWNTb3VyY2VLZXksIENGU3Ry
aW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnND
b3JlLCBEREJpbmRlckh0dHBVUkxLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX1BPSU5URVJf
Rk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlcldlYlVSTEtleSwgQ0ZT
dHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9y
c0NvcmUsIEREQmluZGVyTWFpbFVSTEtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRF
Ul9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyR2VuZXJpY1VSTEtl
eSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFBBTCwgRGF0YURl
dGVjdG9yc0NvcmUsIEREQmluZGVyRW1haWxLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX1BP
SU5URVJfRk9SX1NPVVJDRShQQUwsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclRyYWNraW5n
TnVtYmVyS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VSQ0UoUEFM
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJGbGlnaHRJbmZvcm1hdGlvbktleSwgQ0ZTdHJp
bmdSZWYpCitTT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFBBTCwgRGF0YURldGVjdG9yc0Nv
cmUsIEREQmluZGVyU2lnbmF0dXJlQmxvY2tLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX0NP
TlNUQU5UX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyQ29weVJl
c3VsdHNPcHRpb25zRm9yUGFzc2l2ZVVzZSwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zKQor
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERT
Y2FubmVyRW5hYmxlT3B0aW9uYWxTb3VyY2UsIHZvaWQsIChERFNjYW5uZXJSZWYgc2Nhbm5lciwg
RERTY2FubmVyU291cmNlIHNvdXJjZSwgQm9vbGVhbiBlbmFibGUpLCAoc2Nhbm5lciwgc291cmNl
LCBlbmFibGUpKQorI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNlbmRpZiAvLyBF
TkFCTEUoREFUQV9ERVRFQ1RJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTUEkuaAppbmRleCBjZDcwYmZhYzE1YjJiOTNk
NmU1MzlkYWFjZmY0Nzk3ZTA0ZWYyNWNmLi4yNWVkMTY1ZjFkMTJmZDM5MTNlNDQ3NmU0ZGI2YzJi
MmJkMGJlMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9E
YXRhRGV0ZWN0b3JzQ29yZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL0RhdGFEZXRlY3RvcnNDb3JlU1BJLmgKQEAgLTQwLDYgKzQwLDggQEAgdHlwZWRlZiBzdHJ1
Y3QgX19ERFJlc3VsdCAqRERSZXN1bHRSZWY7CiAKICNlbHNlIC8vICFVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQogCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKwogdHlwZWRlZiBl
bnVtIHsKICAgICBERFNjYW5uZXJUeXBlU3RhbmRhcmQgPSAwLAogICAgIEREU2Nhbm5lclR5cGUx
ID0gMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDZkMzg5YmI3MzMzNTZiMWEwYmQ5NThl
NDVmNDA4ZDc1ZTI1Nzg4YWQuLjkyY2IyYzQ5ODU4YjNmODJkMWI2ZjVkMWI4MzljMzA1ODIyYzAw
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMjM3LDcgKzIzNyw2IEBAIHBsYXRmb3Jt
L2NmL1J1bkxvb3BPYnNlcnZlci5jcHAKIHBsYXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNwcAog
cGxhdGZvcm0vY29jb2EvQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyQ29jb2EubW0gQG5vLXVu
aWZ5CiBwbGF0Zm9ybS9jb2NvYS9Db3JlVmlkZW9Tb2Z0TGluay5jcHAKLXBsYXRmb3JtL2NvY29h
L0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0gQG5vLXVuaWZ5CiBwbGF0Zm9ybS9jb2NvYS9E
cmFnRGF0YUNvY29hLm1tCiBwbGF0Zm9ybS9jb2NvYS9EcmFnSW1hZ2VDb2NvYS5tbQogcGxhdGZv
cm0vY29jb2EvRmlsZU1vbml0b3JDb2NvYS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI3M2UxODcyZmY3YmI1NWMyOWEwMTc4
NjdkNzMyYmRiMGU5MWMxNGYuLmE5OWYxZmJiZjY5MDI2NmRhNWFhYzc3OTVjZThmZmU0OWVjYzM2
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTEyNTcsNyArMTI1Nyw2IEBACiAJCTQ0MzBEMDBEMjU3NUE4QTUwMDQ2RDQwMSAv
KiBIaWdobGlnaHRSZWdpc3Rlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDRFODhFNTAyMzZBNTZBQzAwOUI0ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQ1
MjEwREYyNUQ2MUYwMDAwM0EyRUQ4IC8qIEFwcEhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MjEwREQyNUQ2MUVGRjAwM0EyRUQ4IC8q
IEFwcEhpZ2hsaWdodC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQ0NTc3NUU1MjA0NzJGNzMwMDhEQ0U1RCAvKiBMb2NhbERlZmF1bHRTeXN0ZW1B
cHBlYXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NDU3NzVFNDIwNDcyRjczMDA4RENFNUQgLyogTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5j
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQ0
NjNDRjY4MjIxMkZBNjgwMDFBODU3NyAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M3OTQxRTIxQzU2
QzI5MzAwQTRDNThFIC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0gKi87IH07CiAJCTQ0
NjVEN0JEMjUzNkQwNUUwMDE2NjY2RCAvKiBTZWxlY3Rpb25SYW5nZURhdGEuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0QjM4QkY0MjUzNjkwMUEwMEE0
NDU4RCAvKiBTZWxlY3Rpb25SYW5nZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDZEQzY0ODI0QTI5REFCMDA2MUYzOTAgLyogUGxheWJh
Y2tUYXJnZXRDbGllbnRDb250ZXh0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ2REM2NDYyNEEyOUQ5QjAwNjFGMzkwIC8qIFBsYXli
YWNrVGFyZ2V0Q2xpZW50Q29udGV4dElkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDcxNzEwRTIwNUFGOTQ1MDAwQTExNkUgLyog
TWVkaWFRdWVyeVBhcnNlckNvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0NzE3MTBDMjA1QUY5NDUwMDBBMTE2RSAvKiBNZWRpYVF1ZXJ5UGFy
c2VyQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC0yMzkwLDcgKzIzODksNiBAQAogCQk3Qzc3QzNENzFERUY4NTBBMDBBNTBCRkEgLyog
RW5kaW5nVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M3N0MzRDYxREVGODUwQTAwQTUwQkZBIC8qIEVuZGluZ1R5cGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Qzc3QzNEQzFERUY4NkQ3MDBB
NTBCRkEgLyogSlNFbmRpbmdUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3Qzc3QzNEQTFERUY4NkQ3MDBBNTBCRkEgLyogSlNFbmRpbmdUeXBlLmgg
Ki87IH07CiAJCTdDNzkwM0IzMUY4NkY5NUMwMDQ2M0E3MCAvKiBJbWFnZUJpdG1hcFJlbmRlcmlu
Z0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDNzkwM0IwMUY4NkY5NUMwMDQ2M0E3MCAvKiBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQu
aCAqLzsgfTsKLQkJN0M3OTQxRTUxQzU2QzI5MzAwQTRDNThFIC8qIERhdGFEZXRlY3RvcnNDb3Jl
U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDNzk0MUUzMUM1NkMyOTMwMEE0QzU4RSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgg
Ki87IH07CiAJCTdDN0JGOTQyMjUxNkM5MEMwMDgwODY4MiAvKiBQZXJmb3JtYW5jZU1hcmtPcHRp
b25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzdC
RjkzRTI1MTZDOEJDMDA4MDg2ODIgLyogUGVyZm9ybWFuY2VNYXJrT3B0aW9ucy5oICovOyB9Owog
CQk3QzdCRjk0QzI1MTZGQTU0MDA4MDg2ODIgLyogUGVyZm9ybWFuY2VNZWFzdXJlT3B0aW9ucy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M3QkY5NDky
NTE2RkE1NDAwODA4NjgyIC8qIFBlcmZvcm1hbmNlTWVhc3VyZU9wdGlvbnMuaCAqLzsgfTsKIAkJ
N0M4MTM5QTYxRUQ2Mjg2QTAwQ0UyNkU4IC8qIEpTRE9NQXR0cmlidXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzgxMzlBMzFFRDYyODFEMDBDRTI2
RTggLyogSlNET01BdHRyaWJ1dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtMTA2OTgsOCArMTA2OTYsNiBAQAogCQk3Qzc5MDNCODFGODZGREU2
MDA0NjNBNzAgLyogSlNJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0M3OTAzQkExRjg2RkYzMzAwNDYzQTcwIC8qIFBsYWNlaG9sZGVyUmVuZGVyaW5n
Q29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbGFjZWhv
bGRlclJlbmRlcmluZ0NvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Qzc5MDNCQzFGODZGRjM0MDA0NjNBNzAgLyogUGxhY2Vob2xkZXJSZW5kZXJpbmdDb250ZXh0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYWNlaG9sZGVyUmVuZGVyaW5nQ29u
dGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3Qzc5NDFFMjFDNTZDMjkzMDBB
NEM1OEUgLyogRGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNzk0MUUzMUM1NkMyOTMwMEE0QzU4RSAvKiBEYXRh
RGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJN0M3QkY5M0UyNTE2QzhCQzAwODA4NjgyIC8qIFBlcmZvcm1hbmNlTWFya09wdGlvbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VNYXJrT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3QzdCRjk0MDI1MTZDOEJDMDA4MDg2ODIgLyogUGVyZm9ybWFuY2VNYXJr
T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VNYXJrT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdDN0JGOTQ0MjUxNkNDOTIwMDgwODY4MiAvKiBQZXJmb3JtYW5j
ZU1hcmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VNYXJrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0ODgzLDggKzI0ODc5LDYgQEAKIAkJCQlBMTQwOTBG
QTFBQTUxRTFEMDA5MTE5MUEgLyogQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyQ29jb2EubW0g
Ki8sCiAJCQkJQ0Q3RDMzNDUxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmNw
cCAqLywKIAkJCQlDRDdEMzM0NjFDN0ExNkJGMDAwNDEyOTMgLyogQ29yZVZpZGVvU29mdExpbmsu
aCAqLywKLQkJCQk3Qzc5NDFFMzFDNTZDMjkzMDBBNEM1OEUgLyogRGF0YURldGVjdG9yc0NvcmVT
b2Z0TGluay5oICovLAotCQkJCTdDNzk0MUUyMUM1NkMyOTMwMEE0QzU4RSAvKiBEYXRhRGV0ZWN0
b3JzQ29yZVNvZnRMaW5rLm1tICovLAogCQkJCUY0NjJFNzlGMjQyQURBM0MwMDIwNERERCAvKiBE
cmFnRGF0YUNvY29hLm1tICovLAogCQkJCUY0NjJFN0EwMjQyQURBM0QwMDIwNERERCAvKiBEcmFn
SW1hZ2VDb2NvYS5tbSAqLywKIAkJCQk3QTA5Q0VGMDFGMDFEMUY3MDBFOTNCREIgLyogRmlsZU1v
bml0b3JDb2NvYS5tbSAqLywKQEAgLTMyMTQ5LDcgKzMyMTQzLDYgQEAKIAkJCQk5N0JDNkEzMjE1
MDVGMDgxMDAxQjc0QUMgLyogRGF0YWJhc2VUcmFja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
RTIzNDgwRDE4QTk4NzE0MDBFNEI2RTggLyogRGF0YUN1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzUyMjdERjExQzNDNkRGMTAwRjVFRDU0IC8qIERhdGFEZXRlY3Rpb24uaCBpbiBIZWFkZXJzICov
LAotCQkJCTdDNzk0MUU1MUM1NkMyOTMwMEE0QzU4RSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRM
aW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzRBNTMzNTI1NjA1QTU2MDAyOEM1OTIgLyogRGF0
YURldGVjdG9yVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTU4QjQ1QkEyMEFEMDdERDAwOTkx
MDI1IC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTUxNzY3
MDMyMEI4OEMxNDAwRDQxMTY3IC8qIERhdGFMaXN0U3VnZ2VzdGlvbkluZm9ybWF0aW9uLmggaW4g
SGVhZGVycyAqLywKQEAgLTM2NDU0LDcgKzM2NDQ3LDYgQEAKIAkJCQkxQUJBNzZDQTExRDIwRTUw
MDA0QzIwMUMgLyogQ1NTUHJvcGVydHlOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDIy
ODMwMzIzQTg0NzA3MDAzNjRCN0UgLyogQ3Vyc29yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NUNCRDU5NTkyMjgwRTkyNjAwMkIyMkFBIC8qIEN1c3RvbUhlYWRlckZpZWxkcy5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQk0NDYzQ0Y2ODIyMTJGQTY4MDAxQTg1NzcgLyogRGF0YURldGVjdG9yc0Nv
cmVTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTZFNzJGNTRDMjI5RENEMEMwMEIzRTE1
MSAvKiBFeHRlbnNpb25zR0xBTkdMRS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0U2Q0JGRDE4
N0YzOTQ5MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxMzBGMkY2MjRBRUE2MEEwMEUxRDBBMCAvKiBHYW1lQ29udHJvbGxlclNvZnRMaW5rLm1tIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Rh
dGFEZXRlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rp
b24ubW0KaW5kZXggNWY5NjdiMzM3MWE0ZDkxNGZjOTQyNTc3Y2IzNWVkNTQwZWMyYzUwMi4uMjFl
NzQ0YzhjOTc5MzE0YjViMzRiMWE4ZGNjOTY1MjgwZTk0MjcyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQpAQCAtNTAsMTQgKzUwLDEzIEBACiAj
aW1wb3J0ICJUZXh0SXRlcmF0b3IuaCIKICNpbXBvcnQgIlZpc2libGVQb3NpdGlvbi5oIgogI2lt
cG9ydCAiVmlzaWJsZVVuaXRzLmgiCisjaW1wb3J0IDxwYWwvY29jb2EvRGF0YURldGVjdG9yc0Nv
cmVTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL3NwaS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmg+
CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9EYXRhRGV0ZWN0b3JzU1BJLmg+CiAjaW1wb3J0IDx3dGYv
Y2YvVHlwZUNhc3RzQ0YuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNp
bXBvcnQgPHd0Zi90ZXh0L1N0cmluZ1RvSW50ZWdlckNvbnZlcnNpb24uaD4KIAotI2ltcG9ydCAi
RGF0YURldGVjdG9yc0NvcmVTb2Z0TGluay5oIgotCiAjaWYgUExBVEZPUk0oTUFDKQogdGVtcGxh
dGU8PiBzdHJ1Y3QgV1RGOjpDRlR5cGVUcmFpdDxERFJlc3VsdFJlZj4gewogICAgIHN0YXRpYyBp
bmxpbmUgQ0ZUeXBlSUQgdHlwZUlEKHZvaWQpIHsgcmV0dXJuIEREUmVzdWx0R2V0Q0ZUeXBlSUQo
KTsgfQpAQCAtMTY2LDcgKzE2NSw3IEBAIE9wdGlvbmFsPERldGVjdGVkSXRlbT4gRGF0YURldGVj
dGlvbjo6ZGV0ZWN0SXRlbUFyb3VuZEhpdFRlc3RSZXN1bHQoY29uc3QgSGl0VGVzCiAKIGJvb2wg
RGF0YURldGVjdGlvbjo6Y2FuQmVQcmVzZW50ZWRCeURhdGFEZXRlY3RvcnMoY29uc3QgVVJMJiB1
cmwpCiB7Ci0gICAgcmV0dXJuIFtzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFVSTFRhcEFu
ZEhvbGRTY2hlbWVzKCkgY29udGFpbnNPYmplY3Q6KE5TU3RyaW5nICopdXJsLnByb3RvY29sKCku
dG9TdHJpbmdXaXRob3V0Q29weWluZygpLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCldOworICAg
IHJldHVybiBbUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFVSTFRhcEFuZEhvbGRT
Y2hlbWVzKCkgY29udGFpbnNPYmplY3Q6KE5TU3RyaW5nICopdXJsLnByb3RvY29sKCkudG9TdHJp
bmdXaXRob3V0Q29weWluZygpLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCldOwogfQogCiBib29s
IERhdGFEZXRlY3Rpb246OmlzRGF0YURldGVjdG9yTGluayhFbGVtZW50JiBlbGVtZW50KQpAQCAt
MTkyLDcgKzE5MSw3IEBAIGJvb2wgRGF0YURldGVjdGlvbjo6Y2FuUHJlc2VudERhdGFEZXRlY3Rv
cnNVSUZvckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKICAgICBpZiAoIWlzRGF0YURldGVjdG9y
TGluayhlbGVtZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAotICAgIGlmIChzb2Z0
TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNob3VsZEltbWVkaWF0ZWx5U2hvd0FjdGlvblNoZWV0
Rm9yVVJMKGRvd25jYXN0PEhUTUxBbmNob3JFbGVtZW50PihlbGVtZW50KS5ocmVmKCkpKQorICAg
IGlmIChQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2hvdWxkSW1tZWRpYXRlbHlT
aG93QWN0aW9uU2hlZXRGb3JVUkwoZG93bmNhc3Q8SFRNTEFuY2hvckVsZW1lbnQ+KGVsZW1lbnQp
LmhyZWYoKSkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIAogICAgIGF1dG8mIHJlc3VsdEF0
dHJpYnV0ZSA9IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih4X2FwcGxl
X2RhdGFfZGV0ZWN0b3JzX3Jlc3VsdEF0dHIpOwpAQCAtMjA4LDExICsyMDcsMTEgQEAgYm9vbCBE
YXRhRGV0ZWN0aW9uOjpjYW5QcmVzZW50RGF0YURldGVjdG9yc1VJRm9yRWxlbWVudChFbGVtZW50
JiBlbGVtZW50KQogCiAgICAgLy8gSGFuZGxlIHRoZSBjYXNlIG9mIGEgc2lnbmF0dXJlIGJsb2Nr
LCB3aGVyZSB3ZSBuZWVkIHRvIGZvbGxvdyB0aGUgcGF0aCBkb3duIG9uZSBvciBtb3JlIHN1YnJl
c3VsdCBsZXZlbHMuCiAgICAgd2hpbGUgKCsraW5kZXhJdGVyYXRvciAhPSByZXN1bHRJbmRpY2Vz
LmVuZCgpKSB7Ci0gICAgICAgIHJlc3VsdHMgPSAoX19icmlkZ2UgTlNBcnJheSAqKXNvZnRMaW5r
X0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0U3ViUmVzdWx0cyhyZXN1bHQpOworICAgICAg
ICByZXN1bHRzID0gKF9fYnJpZGdlIE5TQXJyYXkgKilQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3Rv
cnNDb3JlX0REUmVzdWx0R2V0U3ViUmVzdWx0cyhyZXN1bHQpOwogICAgICAgICByZXN1bHQgPSAo
X19icmlkZ2UgRERSZXN1bHRSZWYpcmVzdWx0c1twYXJzZUludGVnZXJBbGxvd2luZ1RyYWlsaW5n
SnVuazxpbnQ+KCppbmRleEl0ZXJhdG9yKS52YWx1ZU9yKDApXTsKICAgICB9CiAKLSAgICByZXR1
cm4gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTaG91bGRJbW1lZGlhdGVseVNob3dBY3Rp
b25TaGVldEZvclJlc3VsdChyZXN1bHQpOworICAgIHJldHVybiBQQUw6OnNvZnRMaW5rX0RhdGFE
ZXRlY3RvcnNDb3JlX0REU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9uU2hlZXRGb3JSZXN1bHQo
cmVzdWx0KTsKIH0KIAogc3RhdGljIEJPT0wgcmVzdWx0SXNVUkwoRERSZXN1bHRSZWYgcmVzdWx0
KQpAQCAtMjIxLDM0ICsyMjAsMzQgQEAgc3RhdGljIEJPT0wgcmVzdWx0SXNVUkwoRERSZXN1bHRS
ZWYgcmVzdWx0KQogICAgICAgICByZXR1cm4gTk87CiAgICAgCiAgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPFJldGFpblB0cjxOU1NldD4+IHVybFR5cGVzID0gW05TU2V0IHNldFdpdGhPYmplY3Rz
OgotICAgICAgICAoTlNTdHJpbmcgKilnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJIdHRw
VVJMS2V5KCksCi0gICAgICAgIChOU1N0cmluZyAqKWdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJp
bmRlcldlYlVSTEtleSgpLAotICAgICAgICAoTlNTdHJpbmcgKilnZXRfRGF0YURldGVjdG9yc0Nv
cmVfRERCaW5kZXJNYWlsVVJMS2V5KCksCi0gICAgICAgIChOU1N0cmluZyAqKWdldF9EYXRhRGV0
ZWN0b3JzQ29yZV9EREJpbmRlckdlbmVyaWNVUkxLZXkoKSwKLSAgICAgICAgKE5TU3RyaW5nICop
Z2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyRW1haWxLZXkoKSwgbmlsXTsKLSAgICByZXR1
cm4gW3VybFR5cGVzLmdldCgpIGNvbnRhaW5zT2JqZWN0OihOU1N0cmluZyAqKXNvZnRMaW5rX0Rh
dGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0VHlwZShyZXN1bHQpXTsKKyAgICAgICAgKE5TU3Ry
aW5nICopUEFMOjpnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJIdHRwVVJMS2V5KCksCisg
ICAgICAgIChOU1N0cmluZyAqKVBBTDo6Z2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyV2Vi
VVJMS2V5KCksCisgICAgICAgIChOU1N0cmluZyAqKVBBTDo6Z2V0X0RhdGFEZXRlY3RvcnNDb3Jl
X0REQmluZGVyTWFpbFVSTEtleSgpLAorICAgICAgICAoTlNTdHJpbmcgKilQQUw6OmdldF9EYXRh
RGV0ZWN0b3JzQ29yZV9EREJpbmRlckdlbmVyaWNVUkxLZXkoKSwKKyAgICAgICAgKE5TU3RyaW5n
ICopUEFMOjpnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJFbWFpbEtleSgpLCBuaWxdOwor
ICAgIHJldHVybiBbdXJsVHlwZXMuZ2V0KCkgY29udGFpbnNPYmplY3Q6KE5TU3RyaW5nICopUEFM
Ojpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldFR5cGUocmVzdWx0KV07CiB9
CiAKIHN0YXRpYyBOU1N0cmluZyAqY29uc3RydWN0VVJMU3RyaW5nRm9yUmVzdWx0KEREUmVzdWx0
UmVmIGN1cnJlbnRSZXN1bHQsIE5TU3RyaW5nICpyZXN1bHRJZGVudGlmaWVyLCBOU0RhdGUgKnJl
ZmVyZW5jZURhdGUsIE5TVGltZVpvbmUgKnJlZmVyZW5jZVRpbWVab25lLCBPcHRpb25TZXQ8RGF0
YURldGVjdG9yVHlwZT4gZGV0ZWN0aW9uVHlwZXMpCiB7Ci0gICAgaWYgKCFzb2Z0TGlua19EYXRh
RGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEhhc1Byb3BlcnRpZXMoY3VycmVudFJlc3VsdCwgRERSZXN1
bHRQcm9wZXJ0eVBhc3NpdmVEaXNwbGF5KSkKKyAgICBpZiAoIVBBTDo6c29mdExpbmtfRGF0YURl
dGVjdG9yc0NvcmVfRERSZXN1bHRIYXNQcm9wZXJ0aWVzKGN1cnJlbnRSZXN1bHQsIEREUmVzdWx0
UHJvcGVydHlQYXNzaXZlRGlzcGxheSkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBhdXRv
IHBob25lVHlwZXMgPSBkZXRlY3Rpb25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpQ
aG9uZU51bWJlcikgPyBERFVSTGlmaWVyUGhvbmVOdW1iZXJEZXRlY3Rpb25SZWd1bGFyIDogRERV
UkxpZmllclBob25lTnVtYmVyRGV0ZWN0aW9uTm9uZTsKLSAgICBhdXRvIGNhdGVnb3J5ID0gc29m
dExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRDYXRlZ29yeShjdXJyZW50UmVzdWx0
KTsKLSAgICBhdXRvIHR5cGUgPSBzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdl
dFR5cGUoY3VycmVudFJlc3VsdCk7CisgICAgYXV0byBjYXRlZ29yeSA9IFBBTDo6c29mdExpbmtf
RGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRDYXRlZ29yeShjdXJyZW50UmVzdWx0KTsKKyAg
ICBhdXRvIHR5cGUgPSBQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0
VHlwZShjdXJyZW50UmVzdWx0KTsKIAogICAgIGlmICgoZGV0ZWN0aW9uVHlwZXMuY29udGFpbnMo
RGF0YURldGVjdG9yVHlwZTo6QWRkcmVzcykgJiYgRERSZXN1bHRDYXRlZ29yeUFkZHJlc3MgPT0g
Y2F0ZWdvcnkpCi0gICAgICAgIHx8IChkZXRlY3Rpb25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0
b3JUeXBlOjpUcmFja2luZ051bWJlcikgJiYgQ0ZFcXVhbChnZXRfRGF0YURldGVjdG9yc0NvcmVf
RERCaW5kZXJUcmFja2luZ051bWJlcktleSgpLCB0eXBlKSkKLSAgICAgICAgfHwgKGRldGVjdGlv
blR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OkZsaWdodE51bWJlcikgJiYgQ0ZFcXVh
bChnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJGbGlnaHRJbmZvcm1hdGlvbktleSgpLCB0
eXBlKSkKLSAgICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5
cGU6Okxvb2t1cFN1Z2dlc3Rpb24pICYmIENGRXF1YWwoZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0RE
QmluZGVyUGFyc2VjU291cmNlS2V5KCksIHR5cGUpKQorICAgICAgICB8fCAoZGV0ZWN0aW9uVHlw
ZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6VHJhY2tpbmdOdW1iZXIpICYmIENGRXF1YWwo
UEFMOjpnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJUcmFja2luZ051bWJlcktleSgpLCB0
eXBlKSkKKyAgICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5
cGU6OkZsaWdodE51bWJlcikgJiYgQ0ZFcXVhbChQQUw6OmdldF9EYXRhRGV0ZWN0b3JzQ29yZV9E
REJpbmRlckZsaWdodEluZm9ybWF0aW9uS2V5KCksIHR5cGUpKQorICAgICAgICB8fCAoZGV0ZWN0
aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6TG9va3VwU3VnZ2VzdGlvbikgJiYg
Q0ZFcXVhbChQQUw6OmdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlclBhcnNlY1NvdXJjZUtl
eSgpLCB0eXBlKSkKICAgICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRl
Y3RvclR5cGU6OlBob25lTnVtYmVyKSAmJiBERFJlc3VsdENhdGVnb3J5UGhvbmVOdW1iZXIgPT0g
Y2F0ZWdvcnkpCiAgICAgICAgIHx8IChkZXRlY3Rpb25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0
b3JUeXBlOjpMaW5rKSAmJiByZXN1bHRJc1VSTChjdXJyZW50UmVzdWx0KSkpIHsKLSAgICAgICAg
cmV0dXJuIHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REVVJMU3RyaW5nRm9yUmVzdWx0KGN1
cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIsIHBob25lVHlwZXMsIHJlZmVyZW5jZURhdGUs
IHJlZmVyZW5jZVRpbWVab25lKTsKKyAgICAgICAgcmV0dXJuIFBBTDo6c29mdExpbmtfRGF0YURl
dGVjdG9yc0NvcmVfRERVUkxTdHJpbmdGb3JSZXN1bHQoY3VycmVudFJlc3VsdCwgcmVzdWx0SWRl
bnRpZmllciwgcGhvbmVUeXBlcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpOwog
ICAgIH0KICAgICBpZiAoZGV0ZWN0aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6
Q2FsZW5kYXJFdmVudCkgJiYgRERSZXN1bHRDYXRlZ29yeUNhbGVuZGFyRXZlbnQgPT0gY2F0ZWdv
cnkpIHsKLSAgICAgICAgaWYgKCFzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdElz
UGFzdERhdGUoY3VycmVudFJlc3VsdCwgKENGRGF0ZVJlZilyZWZlcmVuY2VEYXRlLCAoQ0ZUaW1l
Wm9uZVJlZilyZWZlcmVuY2VUaW1lWm9uZSkpCi0gICAgICAgICAgICByZXR1cm4gc29mdExpbmtf
RGF0YURldGVjdG9yc0NvcmVfRERVUkxTdHJpbmdGb3JSZXN1bHQoY3VycmVudFJlc3VsdCwgcmVz
dWx0SWRlbnRpZmllciwgcGhvbmVUeXBlcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpv
bmUpOworICAgICAgICBpZiAoIVBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1
bHRJc1Bhc3REYXRlKGN1cnJlbnRSZXN1bHQsIChDRkRhdGVSZWYpcmVmZXJlbmNlRGF0ZSwgKENG
VGltZVpvbmVSZWYpcmVmZXJlbmNlVGltZVpvbmUpKQorICAgICAgICAgICAgcmV0dXJuIFBBTDo6
c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERVUkxTdHJpbmdGb3JSZXN1bHQoY3VycmVudFJl
c3VsdCwgcmVzdWx0SWRlbnRpZmllciwgcGhvbmVUeXBlcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJl
bmNlVGltZVpvbmUpOwogICAgIH0KICAgICByZXR1cm4gbmlsOwogfQpAQCAtMzU5LDcgKzM1OCw3
IEBAIHN0YXRpYyB2b2lkIGJ1aWxkUXVlcnkoRERTY2FuUXVlcnlSZWYgc2NhblF1ZXJ5LCBjb25z
dCBTaW1wbGVSYW5nZSYgY29udGV4dFJhbmdlCiAgICAgICAgIFN0cmluZ1ZpZXcgY3VycmVudFRl
eHQgPSBpdGVyYXRvci50ZXh0KCk7CiAgICAgICAgIHNpemVfdCBjdXJyZW50VGV4dExlbmd0aCA9
IGN1cnJlbnRUZXh0Lmxlbmd0aCgpOwogICAgICAgICBpZiAoIWN1cnJlbnRUZXh0TGVuZ3RoKSB7
Ci0gICAgICAgICAgICBzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUFkZFNl
cGFyYXRvcihzY2FuUXVlcnksIEREVGV4dENvYWxlc2NpbmdUeXBlSGFyZEJyZWFrKTsKKyAgICAg
ICAgICAgIFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTY2FuUXVlcnlBZGRTZXBh
cmF0b3Ioc2NhblF1ZXJ5LCBERFRleHRDb2FsZXNjaW5nVHlwZUhhcmRCcmVhayk7CiAgICAgICAg
ICAgICBpZiAoaXRlcmF0b3JDb3VudCA+IG1heEZyYWdtZW50V2l0aEhhcmRCcmVhaykKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMzk0LDExICszOTMs
MTEgQEAgc3RhdGljIHZvaWQgYnVpbGRRdWVyeShERFNjYW5RdWVyeVJlZiBzY2FuUXVlcnksIGNv
bnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UKICAgICAgICAgfQogICAgICAgICBpZiAoY29u
dGFpbnNPbmx5V2hpdGVTcGFjZSkgewogICAgICAgICAgICAgaWYgKGhhc05ld2xpbmUpIHsKLSAg
ICAgICAgICAgICAgICBzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUFkZExp
bmVCcmVhayhzY2FuUXVlcnkpOworICAgICAgICAgICAgICAgIFBBTDo6c29mdExpbmtfRGF0YURl
dGVjdG9yc0NvcmVfRERTY2FuUXVlcnlBZGRMaW5lQnJlYWsoc2NhblF1ZXJ5KTsKICAgICAgICAg
ICAgICAgICBpZiAoaXRlcmF0b3JDb3VudCA+IG1heEZyYWdtZW50V2l0aExpbmVicmVhaykKICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2NhblF1ZXJ5QWRkU2VwYXJhdG9y
KHNjYW5RdWVyeSwgaGFzVGFiID8gRERUZXh0Q29hbGVzY2luZ1R5cGVUYWIgOiBERFRleHRDb2Fs
ZXNjaW5nVHlwZVNwYWNlKTsKKyAgICAgICAgICAgICAgICBQQUw6OnNvZnRMaW5rX0RhdGFEZXRl
Y3RvcnNDb3JlX0REU2NhblF1ZXJ5QWRkU2VwYXJhdG9yKHNjYW5RdWVyeSwgaGFzVGFiID8gRERU
ZXh0Q29hbGVzY2luZ1R5cGVUYWIgOiBERFRleHRDb2FsZXNjaW5nVHlwZVNwYWNlKTsKICAgICAg
ICAgICAgICAgICBpZiAoaXRlcmF0b3JDb3VudCA+IG1heEZyYWdtZW50U3BhY2UpCiAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpAQCAtNDA2LDcgKzQwNSw3IEBAIHN0
YXRpYyB2b2lkIGJ1aWxkUXVlcnkoRERTY2FuUXVlcnlSZWYgc2NhblF1ZXJ5LCBjb25zdCBTaW1w
bGVSYW5nZSYgY29udGV4dFJhbmdlCiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGF1dG8g
Y3VycmVudFRleHRDRlN0cmluZyA9IGFkb3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCByZWludGVycHJldF9jYXN0PGNvbnN0IFVuaUNoYXIqPihj
dXJyZW50VGV4dFVwY29udmVydGVkQ2hhcmFjdGVycy5nZXQoKSksIGN1cnJlbnRUZXh0TGVuZ3Ro
KSk7Ci0gICAgICAgIHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2NhblF1ZXJ5QWRkVGV4
dEZyYWdtZW50KHNjYW5RdWVyeSwgY3VycmVudFRleHRDRlN0cmluZy5nZXQoKSwgQ0ZSYW5nZU1h
a2UoMCwgY3VycmVudFRleHRMZW5ndGgpLCAodm9pZCAqKWl0ZXJhdG9yQ291bnQsIChERFRleHRG
cmFnbWVudE1vZGUpMCwgRERUZXh0Q29hbGVzY2luZ1R5cGVOb25lKTsKKyAgICAgICAgUEFMOjpz
b2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUFkZFRleHRGcmFnbWVudChzY2Fu
UXVlcnksIGN1cnJlbnRUZXh0Q0ZTdHJpbmcuZ2V0KCksIENGUmFuZ2VNYWtlKDAsIGN1cnJlbnRU
ZXh0TGVuZ3RoKSwgKHZvaWQgKilpdGVyYXRvckNvdW50LCAoRERUZXh0RnJhZ21lbnRNb2RlKTAs
IEREVGV4dENvYWxlc2NpbmdUeXBlTm9uZSk7CiAgICAgICAgIGZyYWdtZW50Q291bnQrKzsKICAg
ICB9CiB9CkBAIC00MzYsMTggKzQzNSwxOCBAQCB2b2lkIERhdGFEZXRlY3Rpb246OnJlbW92ZURh
dGFEZXRlY3RlZExpbmtzSW5Eb2N1bWVudChEb2N1bWVudCYgZG9jdW1lbnQpCiAKIE5TQXJyYXkg
KkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJblJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiBj
b250ZXh0UmFuZ2UsIE9wdGlvblNldDxEYXRhRGV0ZWN0b3JUeXBlPiB0eXBlcywgTlNEaWN0aW9u
YXJ5ICpjb250ZXh0KQogewotICAgIGF1dG8gc2Nhbm5lciA9IGFkb3B0Q0Yoc29mdExpbmtfRGF0
YURldGVjdG9yc0NvcmVfRERTY2FubmVyQ3JlYXRlKEREU2Nhbm5lclR5cGVTdGFuZGFyZCwgMCwg
bnVsbHB0cikpOwotICAgIGF1dG8gc2NhblF1ZXJ5ID0gYWRvcHRDRihzb2Z0TGlua19EYXRhRGV0
ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUNyZWF0ZShOVUxMKSk7CisgICAgYXV0byBzY2FubmVyID0g
YWRvcHRDRihQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2Nhbm5lckNyZWF0ZShE
RFNjYW5uZXJUeXBlU3RhbmRhcmQsIDAsIG51bGxwdHIpKTsKKyAgICBhdXRvIHNjYW5RdWVyeSA9
IGFkb3B0Q0YoUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUNyZWF0
ZShOVUxMKSk7CiAgICAgYnVpbGRRdWVyeShzY2FuUXVlcnkuZ2V0KCksIGNvbnRleHRSYW5nZSk7
CiAgICAgCiAgICAgaWYgKHR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6Okxvb2t1cFN1
Z2dlc3Rpb24pKQotICAgICAgICBzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5uZXJF
bmFibGVPcHRpb25hbFNvdXJjZShzY2FubmVyLmdldCgpLCBERFNjYW5uZXJTb3VyY2VTcG90bGln
aHQsIHRydWUpOworICAgICAgICBQQUw6OnNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2Nh
bm5lckVuYWJsZU9wdGlvbmFsU291cmNlKHNjYW5uZXIuZ2V0KCksIEREU2Nhbm5lclNvdXJjZVNw
b3RsaWdodCwgdHJ1ZSk7CiAKICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGFkZCBhIHRpbWVvdXQg
dG8gdGhpcyBjYWxsIHRvIG1ha2Ugc3VyZSBpdCBkb2Vzbid0IHRha2UgdG9vIG11Y2ggdGltZS4K
LSAgICBpZiAoIXNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2Nhbm5lclNjYW5RdWVyeShz
Y2FubmVyLmdldCgpLCBzY2FuUXVlcnkuZ2V0KCkpKQorICAgIGlmICghUEFMOjpzb2Z0TGlua19E
YXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5uZXJTY2FuUXVlcnkoc2Nhbm5lci5nZXQoKSwgc2NhblF1
ZXJ5LmdldCgpKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGF1dG8gc2Nhbm5lclJlc3Vs
dHMgPSBhZG9wdENGKHNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REU2Nhbm5lckNvcHlSZXN1
bHRzV2l0aE9wdGlvbnMoc2Nhbm5lci5nZXQoKSwgZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REU2Nh
bm5lckNvcHlSZXN1bHRzT3B0aW9uc0ZvclBhc3NpdmVVc2UoKSB8IEREU2Nhbm5lckNvcHlSZXN1
bHRzT3B0aW9uc0NvYWxlc2NlU2lnbmF0dXJlcykpOworICAgIGF1dG8gc2Nhbm5lclJlc3VsdHMg
PSBhZG9wdENGKFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTY2FubmVyQ29weVJl
c3VsdHNXaXRoT3B0aW9ucyhzY2FubmVyLmdldCgpLCBQQUw6OmdldF9EYXRhRGV0ZWN0b3JzQ29y
ZV9ERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnNGb3JQYXNzaXZlVXNlKCkgfCBERFNjYW5uZXJD
b3B5UmVzdWx0c09wdGlvbnNDb2FsZXNjZVNpZ25hdHVyZXMpKTsKICAgICBpZiAoIXNjYW5uZXJS
ZXN1bHRzKQogICAgICAgICByZXR1cm4gbmlsOwogCkBAIC00NjMsOCArNDYyLDggQEAgTlNBcnJh
eSAqRGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2Um
IGNvbnRleHRSYW5nZSwgT3AKICAgICBmb3IgKGlkIHJlc3VsdE9iamVjdCBpbiAoTlNBcnJheSAq
KXNjYW5uZXJSZXN1bHRzLmdldCgpKSB7CiAgICAgICAgIEREUmVzdWx0UmVmIHJlc3VsdCA9IChE
RFJlc3VsdFJlZilyZXN1bHRPYmplY3Q7CiAgICAgICAgIE5TSW5kZXhQYXRoICppbmRleFBhdGgg
PSBbTlNJbmRleFBhdGggaW5kZXhQYXRoV2l0aEluZGV4OmN1cnJlbnRUb3BMZXZlbEluZGV4XTsK
LSAgICAgICAgaWYgKENGRXF1YWwoc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRH
ZXRUeXBlKHJlc3VsdCksIGdldF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlclNpZ25hdHVyZUJs
b2NrS2V5KCkpKSB7Ci0gICAgICAgICAgICBOU0FycmF5ICpzdWJyZXN1bHRzID0gKE5TQXJyYXkg
Kilzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldFN1YlJlc3VsdHMocmVzdWx0
KTsKKyAgICAgICAgaWYgKENGRXF1YWwoUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9E
RFJlc3VsdEdldFR5cGUocmVzdWx0KSwgUEFMOjpnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5k
ZXJTaWduYXR1cmVCbG9ja0tleSgpKSkgeworICAgICAgICAgICAgTlNBcnJheSAqc3VicmVzdWx0
cyA9IChOU0FycmF5ICopUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdl
dFN1YlJlc3VsdHMocmVzdWx0KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgZm9yIChOU1VJ
bnRlZ2VyIHN1YlJlc3VsdEluZGV4ID0gMCA7IHN1YlJlc3VsdEluZGV4IDwgW3N1YnJlc3VsdHMg
Y291bnRdIDsgc3ViUmVzdWx0SW5kZXgrKykgewogICAgICAgICAgICAgICAgIGluZGV4UGF0aHMu
YXBwZW5kKFtpbmRleFBhdGggaW5kZXhQYXRoQnlBZGRpbmdJbmRleDpzdWJSZXN1bHRJbmRleF0p
OwpAQCAtNDg1LDggKzQ4NCw4IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRl
bnRJblJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UsIE9wCiAgICAgLy8gd2hl
cmUgdGhlIERPTSBuZWVkcyB0byBiZSBtb2RpZmllZC4KICAgICAvLyBFYWNoIHJlc3VsdCBjYW4g
YmUgY29udGFpbmVkIGFsbCBpbiBvbmUgdGV4dCBub2RlIG9yIGNhbiBzcGFuIG11bHRpcGxlIHRl
eHQgbm9kZXMuCiAgICAgZm9yIChhdXRvJiByZXN1bHQgOiBhbGxSZXN1bHRzKSB7Ci0gICAgICAg
IEREUXVlcnlSYW5nZSBxdWVyeVJhbmdlID0gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERS
ZXN1bHRHZXRRdWVyeVJhbmdlRm9yVVJMaWZpY2F0aW9uKHJlc3VsdC5nZXQoKSk7Ci0gICAgICAg
IENGSW5kZXggaXRlcmF0b3JUYXJnZXRBZHZhbmNlQ291bnQgPSAoQ0ZJbmRleClzb2Z0TGlua19E
YXRhRGV0ZWN0b3JzQ29yZV9ERFNjYW5RdWVyeUdldEZyYWdtZW50TWV0YURhdGEoc2NhblF1ZXJ5
LmdldCgpLCBxdWVyeVJhbmdlLnN0YXJ0LnF1ZXJ5SW5kZXgpOworICAgICAgICBERFF1ZXJ5UmFu
Z2UgcXVlcnlSYW5nZSA9IFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRH
ZXRRdWVyeVJhbmdlRm9yVVJMaWZpY2F0aW9uKHJlc3VsdC5nZXQoKSk7CisgICAgICAgIENGSW5k
ZXggaXRlcmF0b3JUYXJnZXRBZHZhbmNlQ291bnQgPSAoQ0ZJbmRleClQQUw6OnNvZnRMaW5rX0Rh
dGFEZXRlY3RvcnNDb3JlX0REU2NhblF1ZXJ5R2V0RnJhZ21lbnRNZXRhRGF0YShzY2FuUXVlcnku
Z2V0KCksIHF1ZXJ5UmFuZ2Uuc3RhcnQucXVlcnlJbmRleCk7CiAgICAgICAgIGZvciAoOyBpdGVy
YXRvckNvdW50IDwgaXRlcmF0b3JUYXJnZXRBZHZhbmNlQ291bnQ7ICsraXRlcmF0b3JDb3VudCkK
ICAgICAgICAgICAgIGl0ZXJhdG9yLmFkdmFuY2UoKTsKIApAQCAtNTA1LDcgKzUwNCw3IEBAIE5T
QXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJblJhbmdlKGNvbnN0IFNpbXBsZVJh
bmdlJiBjb250ZXh0UmFuZ2UsIE9wCiAgICAgICAgIAogICAgICAgICB3aGlsZSAoZnJhZ21lbnRJ
bmRleCA8IHF1ZXJ5UmFuZ2UuZW5kLnF1ZXJ5SW5kZXgpIHsKICAgICAgICAgICAgICsrZnJhZ21l
bnRJbmRleDsKLSAgICAgICAgICAgIGl0ZXJhdG9yVGFyZ2V0QWR2YW5jZUNvdW50ID0gKENGSW5k
ZXgpc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERTY2FuUXVlcnlHZXRGcmFnbWVudE1ldGFE
YXRhKHNjYW5RdWVyeS5nZXQoKSwgZnJhZ21lbnRJbmRleCk7CisgICAgICAgICAgICBpdGVyYXRv
clRhcmdldEFkdmFuY2VDb3VudCA9IChDRkluZGV4KVBBTDo6c29mdExpbmtfRGF0YURldGVjdG9y
c0NvcmVfRERTY2FuUXVlcnlHZXRGcmFnbWVudE1ldGFEYXRhKHNjYW5RdWVyeS5nZXQoKSwgZnJh
Z21lbnRJbmRleCk7CiAgICAgICAgICAgICBmb3IgKDsgaXRlcmF0b3JDb3VudCA8IGl0ZXJhdG9y
VGFyZ2V0QWR2YW5jZUNvdW50OyArK2l0ZXJhdG9yQ291bnQpCiAgICAgICAgICAgICAgICAgaXRl
cmF0b3IuYWR2YW5jZSgpOwogCkBAIC01MzQsNyArNTMzLDcgQEAgTlNBcnJheSAqRGF0YURldGVj
dGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2UmIGNvbnRleHRSYW5n
ZSwgT3AKICAgICBDRkluZGV4IHJlc3VsdENvdW50ID0gYWxsUmVzdWx0cy5zaXplKCk7CiAgICAg
Zm9yIChDRkluZGV4IHJlc3VsdEluZGV4ID0gMDsgcmVzdWx0SW5kZXggPCByZXN1bHRDb3VudDsg
KytyZXN1bHRJbmRleCkgewogICAgICAgICBERFJlc3VsdFJlZiBjb3JlUmVzdWx0ID0gYWxsUmVz
dWx0c1tyZXN1bHRJbmRleF0uZ2V0KCk7Ci0gICAgICAgIEREUXVlcnlSYW5nZSBxdWVyeVJhbmdl
ID0gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRRdWVyeVJhbmdlRm9yVVJM
aWZpY2F0aW9uKGNvcmVSZXN1bHQpOworICAgICAgICBERFF1ZXJ5UmFuZ2UgcXVlcnlSYW5nZSA9
IFBBTDo6c29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRRdWVyeVJhbmdlRm9y
VVJMaWZpY2F0aW9uKGNvcmVSZXN1bHQpOwogICAgICAgICBhdXRvJiByZXN1bHRSYW5nZXMgPSBh
bGxSZXN1bHRSYW5nZXNbcmVzdWx0SW5kZXhdOwogCiAgICAgICAgIC8vIENvbXBhcmUgdGhlIHF1
ZXJ5IG9mZnNldHMgdG8gbWFrZSBzdXJlIHdlIGRvbid0IGdvIGJhY2t3YXJkcwpAQCAtNTUxLDcg
KzU1MCw3IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJblJhbmdlKGNv
bnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UsIE9wCiAgICAgICAgICAgICBjb250aW51ZTsK
IAogICAgICAgICBsYXN0TW9kaWZpZWRRdWVyeU9mZnNldCA9IHF1ZXJ5UmFuZ2UuZW5kOwotICAg
ICAgICBCT09MIHNob3VsZFVzZUxpZ2h0TGlua3MgPSBzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29y
ZV9ERFNob3VsZFVzZUxpZ2h0TGlua3NGb3JSZXN1bHQoY29yZVJlc3VsdCwgW2luZGV4UGF0aHNb
cmVzdWx0SW5kZXhdIGxlbmd0aF0gPiAxKTsKKyAgICAgICAgQk9PTCBzaG91bGRVc2VMaWdodExp
bmtzID0gUEFMOjpzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFNob3VsZFVzZUxpZ2h0TGlu
a3NGb3JSZXN1bHQoY29yZVJlc3VsdCwgW2luZGV4UGF0aHNbcmVzdWx0SW5kZXhdIGxlbmd0aF0g
PiAxKTsKIAogICAgICAgICBmb3IgKGF1dG8mIHJhbmdlIDogcmVzdWx0UmFuZ2VzKSB7CiAgICAg
ICAgICAgICBhdXRvKiBwYXJlbnROb2RlID0gcmFuZ2Uuc3RhcnQuY29udGFpbmVyLT5wYXJlbnRO
b2RlKCk7CkBAIC02MTYsNyArNjE1LDcgQEAgTlNBcnJheSAqRGF0YURldGVjdGlvbjo6ZGV0ZWN0
Q29udGVudEluUmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2UmIGNvbnRleHRSYW5nZSwgT3AKIAogICAg
ICAgICAgICAgLy8gQWRkIGEgc3BlY2lhbCBhdHRyaWJ1dGUgdG8gbWFyayB0aGlzIFVSTGlmaWNh
dGlvbiBhcyB0aGUgcmVzdWx0IG9mIGRhdGEgZGV0ZWN0b3JzLgogICAgICAgICAgICAgYW5jaG9y
RWxlbWVudC0+c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih4X2FwcGxlX2RhdGFf
ZGV0ZWN0b3JzQXR0ciwgQXRvbVN0cmluZygidHJ1ZSIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSk7Ci0gICAgICAgICAgICBhbmNob3JFbGVtZW50LT5zZXRBdHRyaWJ1dGVXaXRo
b3V0U3luY2hyb25pemF0aW9uKHhfYXBwbGVfZGF0YV9kZXRlY3RvcnNfdHlwZUF0dHIsIGRhdGFE
ZXRlY3RvclR5cGVGb3JDYXRlZ29yeShzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3Vs
dEdldENhdGVnb3J5KGNvcmVSZXN1bHQpKSk7CisgICAgICAgICAgICBhbmNob3JFbGVtZW50LT5z
ZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHhfYXBwbGVfZGF0YV9kZXRlY3RvcnNf
dHlwZUF0dHIsIGRhdGFEZXRlY3RvclR5cGVGb3JDYXRlZ29yeShQQUw6OnNvZnRMaW5rX0RhdGFE
ZXRlY3RvcnNDb3JlX0REUmVzdWx0R2V0Q2F0ZWdvcnkoY29yZVJlc3VsdCkpKTsKICAgICAgICAg
ICAgIGFuY2hvckVsZW1lbnQtPnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oeF9h
cHBsZV9kYXRhX2RldGVjdG9yc19yZXN1bHRBdHRyLCBpZGVudGlmaWVyKTsKIAogICAgICAgICAg
ICAgcGFyZW50Tm9kZS0+aW5zZXJ0QmVmb3JlKFdURk1vdmUoYW5jaG9yRWxlbWVudCksICZjdXJy
ZW50VGV4dE5vZGUpOwpAQCAtNjMxLDcgKzYzMCw3IEBAIE5TQXJyYXkgKkRhdGFEZXRlY3Rpb246
OmRldGVjdENvbnRlbnRJblJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiBjb250ZXh0UmFuZ2UsIE9w
CiAgICAgaWYgKGxhc3RUZXh0Tm9kZVRvVXBkYXRlKQogICAgICAgICBsYXN0VGV4dE5vZGVUb1Vw
ZGF0ZS0+c2V0RGF0YShsYXN0Tm9kZUNvbnRlbnQpOwogCi0gICAgcmV0dXJuIFtnZXRERFNjYW5u
ZXJSZXN1bHRDbGFzcygpIHJlc3VsdHNGcm9tQ29yZVJlc3VsdHM6c2Nhbm5lclJlc3VsdHMuZ2V0
KCldOworICAgIHJldHVybiBbUEFMOjpnZXRERFNjYW5uZXJSZXN1bHRDbGFzcygpIHJlc3VsdHNG
cm9tQ29yZVJlc3VsdHM6c2Nhbm5lclJlc3VsdHMuZ2V0KCldOwogfQogCiAjZWxzZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSW1hZ2VFeHRyYWN0aW9uUmVzdWx0LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9JbWFnZUV4dHJhY3Rpb25SZXN1bHQuaAppbmRleCBlYjhj
Y2Q1NDEyNzVjMzVhZDk4MmIwY2VhMWVmZWIwZDRmNzY2NjNiLi43MDE5ZWVlYTNjYWM0YzA4NzVi
Yzg5MmEyNWM3N2M3Yzg3OTMzN2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9JbWFnZUV4dHJhY3Rpb25SZXN1bHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9J
bWFnZUV4dHJhY3Rpb25SZXN1bHQuaApAQCAtMjcsOCArMjcsMTMgQEAKIAogI2lmIEVOQUJMRShJ
TUFHRV9FWFRSQUNUSU9OKQogCisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorT0JKQ19DTEFT
UyBERFNjYW5uZXJSZXN1bHQ7CisjZW5kaWYKKwogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODIs
NiArODcsMjIgQEAgc3RydWN0IEltYWdlRXh0cmFjdGlvbkxpbmVEYXRhIHsKICAgICB0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8SW1hZ2VFeHRyYWN0aW9uTGluZURhdGE+
IGRlY29kZShEZWNvZGVyJik7CiB9OwogCisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorCitz
dHJ1Y3QgSW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyB7CisgICAgSW1hZ2VFeHRyYWN0
aW9uRGF0YURldGVjdG9ySW5mbygpID0gZGVmYXVsdDsKKyAgICBJbWFnZUV4dHJhY3Rpb25EYXRh
RGV0ZWN0b3JJbmZvKEREU2Nhbm5lclJlc3VsdCAqc2Nhbm5lclJlc3VsdCwgVmVjdG9yPEZsb2F0
UXVhZD4mJiBxdWFkcykKKyAgICAgICAgOiByZXN1bHQoc2Nhbm5lclJlc3VsdCkKKyAgICAgICAg
LCBub3JtYWxpemVkUXVhZHMoV1RGTW92ZShxdWFkcykpCisgICAgeworICAgIH0KKworICAgIFJl
dGFpblB0cjxERFNjYW5uZXJSZXN1bHQ+IHJlc3VsdDsKKyAgICBWZWN0b3I8RmxvYXRRdWFkPiBu
b3JtYWxpemVkUXVhZHM7Cit9OworCisjZW5kaWYgLy8gRU5BQkxFKERBVEFfREVURUNUSU9OKQor
CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIEltYWdlRXh0cmFjdGlvbkxpbmVEYXRhOjpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBlbmNvZGVyIDw8IG5vcm1hbGl6
ZWRRdWFkOwpAQCAtMTA2LDcgKzEyNywyMiBAQCB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBPcHRp
b25hbDxJbWFnZUV4dHJhY3Rpb25MaW5lRGF0YT4gSW1hZ2VFeHRyYWN0aW9uTGluZURhdAogc3Ry
dWN0IEltYWdlRXh0cmFjdGlvblJlc3VsdCB7CiAgICAgVmVjdG9yPEltYWdlRXh0cmFjdGlvbkxp
bmVEYXRhPiBsaW5lczsKIAotICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIGxpbmVz
LmlzRW1wdHkoKTsgfQorI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKKyAgICBWZWN0b3I8SW1h
Z2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbz4gZGF0YURldGVjdG9yczsKKyNlbmRpZgorCisg
ICAgYm9vbCBpc0VtcHR5KCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmICghbGluZXMuaXNFbXB0
eSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisjaWYgRU5BQkxFKERBVEFfREVURUNU
SU9OKQorICAgICAgICBpZiAoIWRhdGFEZXRlY3RvcnMuaXNFbXB0eSgpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQogCiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0Owog
ICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxJbWFnZUV4dHJhY3Rp
b25SZXN1bHQ+IGRlY29kZShEZWNvZGVyJik7CkBAIC0xMTUsNiArMTUxLDkgQEAgc3RydWN0IElt
YWdlRXh0cmFjdGlvblJlc3VsdCB7CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIEltYWdl
RXh0cmFjdGlvblJlc3VsdDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CiAgICAg
ZW5jb2RlciA8PCBsaW5lczsKKyNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCisgICAgZW5jb2Rl
ciA8PCBkYXRhRGV0ZWN0b3JzOworI2VuZGlmCiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+
IE9wdGlvbmFsPEltYWdlRXh0cmFjdGlvblJlc3VsdD4gSW1hZ2VFeHRyYWN0aW9uUmVzdWx0Ojpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTEyNCw3ICsxNjMsMTkgQEAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gT3B0aW9uYWw8SW1hZ2VFeHRyYWN0aW9uUmVzdWx0PiBJbWFnZUV4dHJhY3Rp
b25SZXN1bHQ6OmQKICAgICBpZiAoIWxpbmVzKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogCi0gICAgcmV0dXJuIHt7IFdURk1vdmUoKmxpbmVzKSB9fTsKKyNpZiBFTkFCTEUoREFUQV9E
RVRFQ1RJT04pCisgICAgT3B0aW9uYWw8VmVjdG9yPEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3Rv
ckluZm8+PiBkYXRhRGV0ZWN0b3JzOworICAgIGRlY29kZXIgPj4gZGF0YURldGVjdG9yczsKKyAg
ICBpZiAoIWRhdGFEZXRlY3RvcnMpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisjZW5k
aWYKKworICAgIHJldHVybiB7eworICAgICAgICBXVEZNb3ZlKCpsaW5lcyksCisjaWYgRU5BQkxF
KERBVEFfREVURUNUSU9OKQorICAgICAgICBXVEZNb3ZlKCpkYXRhRGV0ZWN0b3JzKSwKKyNlbmRp
ZgorICAgIH19OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3OWZhYzViMDE0M2UzMzIzOWYzMGIyYTZj
ODRmMjM1MjMwMTIwMzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0
TGluay5oCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFn
bWEgb25jZQotCi0jaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQotCi0jaW5jbHVkZSA8cGFsL3Nw
aS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oPgotI2luY2x1ZGUgPHd0Zi9Tb2Z0TGlua2lu
Zy5oPgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLQotU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoV2ViQ29yZSwgRERTY2FubmVyUmVzdWx0KQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lckNyZWF0ZSwgRERTY2Fu
bmVyUmVmLCAoRERTY2FubmVyVHlwZSB0eXBlLCBERFNjYW5uZXJPcHRpb25zIG9wdGlvbnMsIENG
RXJyb3JSZWYgKiBlcnJvclJlZiksICh0eXBlLCBvcHRpb25zLCBlcnJvclJlZikpCi1TT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2Fu
bmVyU2NhblF1ZXJ5LCBCb29sZWFuLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIEREU2NhblF1ZXJ5
UmVmIHF1ZXJ5KSwgKHNjYW5uZXIsIHF1ZXJ5KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVB
REVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUNyZWF0ZSwgRERTY2Fu
UXVlcnlSZWYsIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9yKSkKLVNPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNj
YW5uZXJDb3B5UmVzdWx0c1dpdGhPcHRpb25zLCBDRkFycmF5UmVmLCAoRERTY2FubmVyUmVmIHNj
YW5uZXIsIEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9ucyBvcHRpb25zKSwgKHNjYW5uZXIsIG9w
dGlvbnMpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVj
dG9yc0NvcmUsIEREUmVzdWx0R2V0UmFuZ2UsIENGUmFuZ2UsIChERFJlc3VsdFJlZiByZXN1bHQp
LCAocmVzdWx0KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFE
ZXRlY3RvcnNDb3JlLCBERFJlc3VsdEdldFR5cGUsIENGU3RyaW5nUmVmLCAoRERSZXN1bHRSZWYg
cmVzdWx0KSwgKHJlc3VsdCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3Jl
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRDYXRlZ29yeSwgRERSZXN1bHRDYXRlZ29y
eSwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0SXNQYXN0RGF0ZSwg
Qm9vbGVhbiwgKEREUmVzdWx0UmVmIHJlc3VsdCwgQ0ZEYXRlUmVmIHJlZmVyZW5jZURhdGUsIENG
VGltZVpvbmVSZWYgcmVmZXJlbmNlVGltZVpvbmUpLCAocmVzdWx0LCByZWZlcmVuY2VEYXRlLCBy
ZWZlcmVuY2VUaW1lWm9uZSkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3Jl
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FuUXVlcnlBZGRUZXh0RnJhZ21lbnQsIHZvaWQsIChE
RFNjYW5RdWVyeVJlZiBxdWVyeSwgQ0ZTdHJpbmdSZWYgZnJhZ21lbnQsIENGUmFuZ2UgcmFuZ2Us
IHZvaWQgKmlkZW50aWZpZXIsIEREVGV4dEZyYWdtZW50TW9kZSBtb2RlLCBERFRleHRDb2FsZXNj
aW5nVHlwZSB0eXBlKSwgKHF1ZXJ5LCBmcmFnbWVudCwgcmFuZ2UsIGlkZW50aWZpZXIsIG1vZGUs
IHR5cGUpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVj
dG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkU2VwYXJhdG9yLCB2b2lkLCAoRERTY2FuUXVlcnlSZWYg
cXVlcnksIEREVGV4dENvYWxlc2NpbmdUeXBlIHR5cGUpLCAocXVlcnksIHR5cGUpKQotU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2Nh
blF1ZXJ5QWRkTGluZUJyZWFrLCB2b2lkLCAoRERTY2FuUXVlcnlSZWYgcXVlcnkpLCAocXVlcnkp
KQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0Nv
cmUsIEREU2NhblF1ZXJ5R2V0RnJhZ21lbnRNZXRhRGF0YSwgdm9pZCAqLCAoRERTY2FuUXVlcnlS
ZWYgcXVlcnksIENGSW5kZXggcXVlcnlJbmRleCksIChxdWVyeSwgcXVlcnlJbmRleCkpCi1TT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERS
ZXN1bHRIYXNQcm9wZXJ0aWVzLCBib29sLCAoRERSZXN1bHRSZWYgcmVzdWx0LCBDRkluZGV4IHBy
b3BlcnR5U2V0KSwgKHJlc3VsdCwgcHJvcGVydHlTZXQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0U3ViUmVzdWx0
cywgQ0ZBcnJheVJlZiwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0
R2V0UXVlcnlSYW5nZUZvclVSTGlmaWNhdGlvbiwgRERRdWVyeVJhbmdlLCAoRERSZXN1bHRSZWYg
cmVzdWx0KSwgKHJlc3VsdCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3Jl
LCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERVUkxTdHJpbmdGb3JSZXN1bHQsIE5TU3RyaW5nICosIChE
RFJlc3VsdFJlZiBjdXJyZW50UmVzdWx0LCBOU1N0cmluZyAqIHJlc3VsdElkZW50aWZpZXIsIERE
VVJMaWZpZXJQaG9uZU51bWJlckRldGVjdGlvblR5cGVzIGluY2x1ZGluZ1RlbEdyb3VwcywgTlNE
YXRlICogcmVmZXJlbmNlRGF0ZSwgTlNUaW1lWm9uZSAqIHJlZmVyZW5jZVRpbWVab25lKSwgKGN1
cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50aWZpZXIsIGluY2x1ZGluZ1RlbEdyb3VwcywgcmVmZXJl
bmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREVVJMVGFwQW5kSG9sZFNjaGVtZXMsIE5T
QXJyYXkgKiwgKCksICgpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwg
RGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9uU2hlZXRGb3JV
UkwsIEJPT0wsIChOU1VSTCAqdXJsKSwgKHVybCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hF
QURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTaG91bGRJbW1lZGlhdGVseVNob3dB
Y3Rpb25TaGVldEZvclJlc3VsdCwgQk9PTCwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQp
KQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0Nv
cmUsIEREU2hvdWxkVXNlTGlnaHRMaW5rc0ZvclJlc3VsdCwgQk9PTCwgKEREUmVzdWx0UmVmIHJl
c3VsdCwgQk9PTCBleHRyYWN0ZWRGcm9tU2lnbmF0dXJlKSwgKHJlc3VsdCwgZXh0cmFjdGVkRnJv
bVNpZ25hdHVyZSkpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFE
ZXRlY3RvcnNDb3JlLCBEREJpbmRlclBhcnNlY1NvdXJjZUtleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZU
X0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJp
bmRlckh0dHBVUkxLZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURF
UihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJXZWJVUkxLZXksIENGU3RyaW5n
UmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERCaW5kZXJNYWlsVVJMS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19QT0lOVEVS
X0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyR2VuZXJpY1VS
TEtleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNvcmUs
IERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlckVtYWlsS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRf
TElOS19QT0lOVEVSX0ZPUl9IRUFERVIoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmlu
ZGVyVHJhY2tpbmdOdW1iZXJLZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9S
X0hFQURFUihXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJGbGlnaHRJbmZvcm1h
dGlvbktleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfSEVBREVSKFdlYkNv
cmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlclNpZ25hdHVyZUJsb2NrS2V5LCBDRlN0cmlu
Z1JlZikKLVNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlvbnNGb3JQYXNzaXZlVXNlLCBERFNjYW5u
ZXJDb3B5UmVzdWx0c09wdGlvbnMpCi0KLVNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdl
YkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJFbmFibGVPcHRpb25hbFNvdXJjZSwg
dm9pZCwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBERFNjYW5uZXJTb3VyY2Ugc291cmNlLCBCb29s
ZWFuIGVuYWJsZSksIChzY2FubmVyLCBzb3VyY2UsIGVuYWJsZSkpCi0KLSNlbmRpZiAvLyBQTEFU
Rk9STShJT1NfRkFNSUxZKQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLm1tCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0YThjNjc2NWQyYzUzMDJlMDQ5ZDQ5YzFlZWEyOTk3OWNkOTgy
MzQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsubW0KKysr
IC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmln
LmgiCi0jaW1wb3J0ICJEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmgiCi0KLSNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCi0KLVNPRlRfTElOS19QUklW
QVRFX0ZSQU1FV09SS19GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlKQotCi1T
T0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERT
Y2FubmVyUmVzdWx0KQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0
YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lckNyZWF0ZSwgRERTY2FubmVyUmVmLCAoRERTY2FubmVy
VHlwZSB0eXBlLCBERFNjYW5uZXJPcHRpb25zIG9wdGlvbnMsIENGRXJyb3JSZWYgKiBlcnJvclJl
ZiksICh0eXBlLCBvcHRpb25zLCBlcnJvclJlZikpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NP
VVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyU2NhblF1ZXJ5LCBCb29s
ZWFuLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIEREU2NhblF1ZXJ5UmVmIHF1ZXJ5KSwgKHNjYW5u
ZXIsIHF1ZXJ5KSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFE
ZXRlY3RvcnNDb3JlLCBERFNjYW5RdWVyeUNyZWF0ZSwgRERTY2FuUXVlcnlSZWYsIChDRkFsbG9j
YXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9yKSkKLVNPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDb3B5UmVzdWx0c1dp
dGhPcHRpb25zLCBDRkFycmF5UmVmLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIEREU2Nhbm5lckNv
cHlSZXN1bHRzT3B0aW9ucyBvcHRpb25zKSwgKHNjYW5uZXIsIG9wdGlvbnMpKQotU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0
R2V0UmFuZ2UsIENGUmFuZ2UsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKLVNPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFJl
c3VsdEdldFR5cGUsIENGU3RyaW5nUmVmLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkp
Ci1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29y
ZSwgRERSZXN1bHRHZXRDYXRlZ29yeSwgRERSZXN1bHRDYXRlZ29yeSwgKEREUmVzdWx0UmVmIHJl
c3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwg
RGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0SXNQYXN0RGF0ZSwgQm9vbGVhbiwgKEREUmVzdWx0
UmVmIHJlc3VsdCwgQ0ZEYXRlUmVmIHJlZmVyZW5jZURhdGUsIENGVGltZVpvbmVSZWYgcmVmZXJl
bmNlVGltZVpvbmUpLCAocmVzdWx0LCByZWZlcmVuY2VEYXRlLCByZWZlcmVuY2VUaW1lWm9uZSkp
Ci1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29y
ZSwgRERTY2FuUXVlcnlBZGRUZXh0RnJhZ21lbnQsIHZvaWQsIChERFNjYW5RdWVyeVJlZiBxdWVy
eSwgQ0ZTdHJpbmdSZWYgZnJhZ21lbnQsIENGUmFuZ2UgcmFuZ2UsIHZvaWQgKmlkZW50aWZpZXIs
IEREVGV4dEZyYWdtZW50TW9kZSBtb2RlLCBERFRleHRDb2FsZXNjaW5nVHlwZSB0eXBlKSwgKHF1
ZXJ5LCBmcmFnbWVudCwgcmFuZ2UsIGlkZW50aWZpZXIsIG1vZGUsIHR5cGUpKQotU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1
ZXJ5QWRkU2VwYXJhdG9yLCB2b2lkLCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIEREVGV4dENvYWxl
c2NpbmdUeXBlIHR5cGUpLCAocXVlcnksIHR5cGUpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9T
T1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5QWRkTGluZUJyZWFr
LCB2b2lkLCAoRERTY2FuUXVlcnlSZWYgcXVlcnkpLCAocXVlcnkpKQotU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2NhblF1ZXJ5R2V0
RnJhZ21lbnRNZXRhRGF0YSwgdm9pZCAqLCAoRERTY2FuUXVlcnlSZWYgcXVlcnksIENGSW5kZXgg
cXVlcnlJbmRleCksIChxdWVyeSwgcXVlcnlJbmRleCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRIYXNQcm9wZXJ0aWVz
LCBib29sLCAoRERSZXN1bHRSZWYgcmVzdWx0LCBDRkluZGV4IHByb3BlcnR5U2V0KSwgKHJlc3Vs
dCwgcHJvcGVydHlTZXQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwg
RGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0U3ViUmVzdWx0cywgQ0ZBcnJheVJlZiwgKERE
UmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0UXVlcnlSYW5nZUZvclVS
TGlmaWNhdGlvbiwgRERRdWVyeVJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3VsdCkp
Ci1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29y
ZSwgRERVUkxTdHJpbmdGb3JSZXN1bHQsIE5TU3RyaW5nICosIChERFJlc3VsdFJlZiBjdXJyZW50
UmVzdWx0LCBOU1N0cmluZyAqIHJlc3VsdElkZW50aWZpZXIsIEREVVJMaWZpZXJQaG9uZU51bWJl
ckRldGVjdGlvblR5cGVzIGluY2x1ZGluZ1RlbEdyb3VwcywgTlNEYXRlICogcmVmZXJlbmNlRGF0
ZSwgTlNUaW1lWm9uZSAqIHJlZmVyZW5jZVRpbWVab25lKSwgKGN1cnJlbnRSZXN1bHQsIHJlc3Vs
dElkZW50aWZpZXIsIGluY2x1ZGluZ1RlbEdyb3VwcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNl
VGltZVpvbmUpKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURl
dGVjdG9yc0NvcmUsIEREVVJMVGFwQW5kSG9sZFNjaGVtZXMsIE5TQXJyYXkgKiwgKCksICgpKQot
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUs
IEREU2hvdWxkSW1tZWRpYXRlbHlTaG93QWN0aW9uU2hlZXRGb3JVUkwsIEJPT0wsIChOU1VSTCAq
dXJsKSwgKHVybCkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRh
RGV0ZWN0b3JzQ29yZSwgRERTaG91bGRJbW1lZGlhdGVseVNob3dBY3Rpb25TaGVldEZvclJlc3Vs
dCwgQk9PTCwgKEREUmVzdWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQotU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREU2hvdWxkVXNlTGln
aHRMaW5rc0ZvclJlc3VsdCwgQk9PTCwgKEREUmVzdWx0UmVmIHJlc3VsdCwgQk9PTCBleHRyYWN0
ZWRGcm9tU2lnbmF0dXJlKSwgKHJlc3VsdCwgZXh0cmFjdGVkRnJvbVNpZ25hdHVyZSkpCi1TT0ZU
X0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJp
bmRlclBhcnNlY1NvdXJjZUtleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1Jf
U09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBEREJpbmRlckh0dHBVUkxLZXksIENG
U3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0
ZWN0b3JzQ29yZSwgRERCaW5kZXJXZWJVUkxLZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BP
SU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBEYXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJNYWls
VVJMS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19QT0lOVEVSX0ZPUl9TT1VSQ0UoV2ViQ29y
ZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyR2VuZXJpY1VSTEtleSwgQ0ZTdHJpbmdSZWYp
Ci1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3Jl
LCBEREJpbmRlckVtYWlsS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19QT0lOVEVSX0ZPUl9T
T1VSQ0UoV2ViQ29yZSwgRGF0YURldGVjdG9yc0NvcmUsIEREQmluZGVyVHJhY2tpbmdOdW1iZXJL
ZXksIENGU3RyaW5nUmVmKQotU09GVF9MSU5LX1BPSU5URVJfRk9SX1NPVVJDRShXZWJDb3JlLCBE
YXRhRGV0ZWN0b3JzQ29yZSwgRERCaW5kZXJGbGlnaHRJbmZvcm1hdGlvbktleSwgQ0ZTdHJpbmdS
ZWYpCi1TT0ZUX0xJTktfUE9JTlRFUl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnND
b3JlLCBEREJpbmRlclNpZ25hdHVyZUJsb2NrS2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19D
T05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJD
b3B5UmVzdWx0c09wdGlvbnNGb3JQYXNzaXZlVXNlLCBERFNjYW5uZXJDb3B5UmVzdWx0c09wdGlv
bnMpCi0KLVNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIERhdGFEZXRlY3Rv
cnNDb3JlLCBERFNjYW5uZXJFbmFibGVPcHRpb25hbFNvdXJjZSwgdm9pZCwgKEREU2Nhbm5lclJl
ZiBzY2FubmVyLCBERFNjYW5uZXJTb3VyY2Ugc291cmNlLCBCb29sZWFuIGVuYWJsZSksIChzY2Fu
bmVyLCBzb3VyY2UsIGVuYWJsZSkpCi0KLSNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKSAm
JiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCmluZGV4IDExNjE0MmQ2Zjlh
MjEyZmY0NDk3OTZjNTY5MmExYjBiMzA3Mzg0ZGYuLmExODYwYmE2ZTFkMjRkZjAzMzBhMzRjNmYw
ZjRhODVkODg3NWU3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dl
YkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC01MCw2ICs1MCwxMCBAQAogI2lu
Y2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYUFkZGl0aW9u
cy5tbT4KICNlbmRpZgogCisjaWYgRU5BQkxFKElNQUdFX0VYVFJBQ1RJT04pCisjaW1wb3J0IDxX
ZWJDb3JlL0ltYWdlRXh0cmFjdGlvblJlc3VsdC5oPgorI2VuZGlmCisKICNpZiBFTkFCTEUoQVBQ
TEVfUEFZKQogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9QYXlt
ZW50QXV0aG9yaXphdGlvblN0YXR1cy5oPgpAQCAtNjAsNiArNjQsMTAgQEAKICNpbXBvcnQgPHBh
bC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoREFU
QV9ERVRFQ1RJT04pCisjaW1wb3J0IDxwYWwvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTb2Z0TGlu
ay5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBJUEMgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKQEAgLTY1MSw0ICs2NTksMjMgQEAgYm9vbCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Ok1lZGlh
UGxheWJhY2tUYXJnZXRDb250ZXh0Pjo6ZGVjb2RlUGxhdGZvcm1EYXRhKERlY28KIH0KICNlbmRp
ZgogCisjaWYgRU5BQkxFKElNQUdFX0VYVFJBQ1RJT04pICYmIEVOQUJMRShEQVRBX0RFVEVDVElP
TikKKwordm9pZCBBcmd1bWVudENvZGVyPEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+
OjplbmNvZGVQbGF0Zm9ybURhdGEoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgSW1hZ2VFeHRyYWN0
aW9uRGF0YURldGVjdG9ySW5mbyYgaW5mbykKK3sKKyAgICBlbmNvZGVyIDw8IGluZm8ucmVzdWx0
LmdldCgpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVj
dG9ySW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShEZWNvZGVyJiBkZWNvZGVyLCBJbWFnZUV4dHJh
Y3Rpb25EYXRhRGV0ZWN0b3JJbmZvJiByZXN1bHQpCit7CisgICAgYXV0byBzY2FubmVyUmVzdWx0
ID0gSVBDOjpkZWNvZGU8RERTY2FubmVyUmVzdWx0PihkZWNvZGVyLCBAWyBQQUw6OmdldEREU2Nh
bm5lclJlc3VsdENsYXNzKCkgXSk7CisgICAgaWYgKCFzY2FubmVyUmVzdWx0KQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICByZXN1bHQucmVzdWx0ID0gV1RGTW92ZSgqc2Nhbm5lclJlc3Vs
dCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfRVhUUkFD
VElPTikgJiYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorCiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGM3
YTg1OGEwOGE1ZjhiYTA3YjNjYTBjNzZkYmJhMTIyYzMwNzRmMGYuLjU1OGRhMjk0NjgzMmIwZjgx
MTAyOWQ0MWVlMjRlZTE5ZTMzNTBmNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvRmlsZUNob29zZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZpbHRlck9wZXJhdGlvbi5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvRmlsdGVyT3BlcmF0aW9ucy5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
RmxvYXRRdWFkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Gb250QXR0cmlidXRlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+
CkBAIC0xMDIsNyArMTAzLDYgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
LSNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UXVhZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VsZWN0
aW9uR2VvbWV0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMTYsNiArMTE2LDEwIEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9NZWRpYUNvbnN0cmFpbnRzLmg+CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTUFHRV9F
WFRSQUNUSU9OKQorI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VFeHRyYWN0aW9uUmVzdWx0Lmg+Cisj
ZW5kaWYKKwogLy8gRklYTUU6IFNlZW1zIGxpa2Ugd2UgY291bGQgdXNlIHN0ZDo6dHVwbGUgdG8g
Y3V0IGRvd24gdGhlIGNvZGUgYmVsb3cgYSBsb3QhCiAKIG5hbWVzcGFjZSBJUEMgewpAQCAtMzE5
OCw0ICszMjAyLDI5IEBAIE9wdGlvbmFsPFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMOjpBY3Rp
dmVJbmZvPiBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkdyYXBoaWNzCiAKICNlbmRpZgogCisjaWYg
RU5BQkxFKElNQUdFX0VYVFJBQ1RJT04pICYmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKKwordm9p
ZCBBcmd1bWVudENvZGVyPEltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3RvckluZm8+OjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgSW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyYg
aW5mbykKK3sKKyAgICBlbmNvZGVQbGF0Zm9ybURhdGEoZW5jb2RlciwgaW5mbyk7CisgICAgZW5j
b2RlciA8PCBpbmZvLm5vcm1hbGl6ZWRRdWFkczsKK30KKworT3B0aW9uYWw8SW1hZ2VFeHRyYWN0
aW9uRGF0YURldGVjdG9ySW5mbz4gQXJndW1lbnRDb2RlcjxJbWFnZUV4dHJhY3Rpb25EYXRhRGV0
ZWN0b3JJbmZvPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgSW1hZ2VFeHRyYWN0
aW9uRGF0YURldGVjdG9ySW5mbyByZXN1bHQ7CisgICAgaWYgKCFkZWNvZGVQbGF0Zm9ybURhdGEo
ZGVjb2RlciwgcmVzdWx0KSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9w
dGlvbmFsPFZlY3RvcjxGbG9hdFF1YWQ+PiBub3JtYWxpemVkUXVhZHM7CisgICAgZGVjb2RlciA+
PiBub3JtYWxpemVkUXVhZHM7CisgICAgaWYgKCFub3JtYWxpemVkUXVhZHMpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXN1bHQubm9ybWFsaXplZFF1YWRzID0gV1RGTW92
ZSgqbm9ybWFsaXplZFF1YWRzKTsKKyAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOworfQorCisj
ZW5kaWYgLy8gRU5BQkxFKElNQUdFX0VYVFJBQ1RJT04pICYmIEVOQUJMRShEQVRBX0RFVEVDVElP
TikKKwogfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCmluZGV4IGNmYzM5NjI4YTk1MGY0MmMxYTYxNGJlOTdjN2U1NTIxNTRj
OGNhNTkuLmNiYjliMzc5MGQwOGVkZGJkMGJkOWQ4YWE1NGIyMDM1MjBlNmE1YTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC0xNDcsNiArMTQ3
LDcgQEAgc3RydWN0IEV2ZW50VHJhY2tpbmdSZWdpb25zOwogc3RydWN0IEV4Y2VwdGlvbkRldGFp
bHM7CiBzdHJ1Y3QgRm9udEF0dHJpYnV0ZXM7CiBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5nczsK
K3N0cnVjdCBJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvOwogc3RydWN0IFJhd0ZpbGU7
CiBzdHJ1Y3QgU2hhcmVEYXRhOwogc3RydWN0IFNoYXJlRGF0YVdpdGhQYXJzZWRVUkw7CkBAIC04
MjQsNiArODI1LDE3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0R0w6OkFjdGl2ZUluZm8+IHsKIH07CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShJTUFHRV9FWFRSQUNUSU9OKSAmJiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCisKK3RlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVj
dG9ySW5mbz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9ySW5mbyYpOworICAgIHN0YXRpYyBXQVJOX1VO
VVNFRF9SRVRVUk4gT3B0aW9uYWw8V2ViQ29yZTo6SW1hZ2VFeHRyYWN0aW9uRGF0YURldGVjdG9y
SW5mbz4gZGVjb2RlKERlY29kZXImKTsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGVQbGF0Zm9ybURh
dGEoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkltYWdlRXh0cmFjdGlvbkRhdGFEZXRlY3Rvcklu
Zm8mKTsKKyAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlUGxhdGZvcm1E
YXRhKERlY29kZXImLCBXZWJDb3JlOjpJbWFnZUV4dHJhY3Rpb25EYXRhRGV0ZWN0b3JJbmZvJik7
Cit9OworCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0VYVFJBQ1RJT04pICYmIEVOQUJMRShEQVRB
X0RFVEVDVElPTikKKwogfSAvLyBuYW1lc3BhY2UgSVBDCiAKIG5hbWVzcGFjZSBXVEYgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>