<?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>221418</bug_id>
          
          <creation_ts>2021-02-04 11:15:07 -0800</creation_ts>
          <short_desc>Don&apos;t use Semaphore.h as a filename</short_desc>
          <delta_ts>2021-02-04 15:53:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=221433</see_also>
          <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="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>don.olmstead</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1725703</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-02-04 11:15:07 -0800</bug_when>
    <thetext>Don&apos;t use Semaphore.h as a filename</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725706</commentid>
    <comment_count>1</comment_count>
      <attachid>419301</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-02-04 11:19:40 -0800</bug_when>
    <thetext>Created attachment 419301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725711</commentid>
    <comment_count>2</comment_count>
      <attachid>419302</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-02-04 11:34:51 -0800</bug_when>
    <thetext>Created attachment 419302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725732</commentid>
    <comment_count>3</comment_count>
      <attachid>419309</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-02-04 12:12:50 -0800</bug_when>
    <thetext>Created attachment 419309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725748</commentid>
    <comment_count>4</comment_count>
      <attachid>419312</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-02-04 12:37:31 -0800</bug_when>
    <thetext>Created attachment 419312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725750</commentid>
    <comment_count>5</comment_count>
      <attachid>419312</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2021-02-04 12:42:23 -0800</bug_when>
    <thetext>Comment on attachment 419312
Patch

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

&gt; Source/WebKit/Scripts/webkit/messages.py:644
&gt; +        &apos;IPC::Semaphore&apos;: [&apos;&quot;IPCSemaphore.h&quot;&apos;],

🎊</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725776</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-04 13:41:45 -0800</bug_when>
    <thetext>Committed r272382: &lt;https://trac.webkit.org/changeset/272382&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419312.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725778</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-04 13:42:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/73995650&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419301</attachid>
            <date>2021-02-04 11:19:40 -0800</date>
            <delta_ts>2021-02-04 11:36:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221418-20210204111940.patch</filename>
            <type>text/plain</type>
            <size>36149</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZGIzYjRiMDIwOGQ0Yzgy
NjFmMWM0NWE4OTM5NTZjMzNkNTJlMmUuLjA1NWE4M2JmMWIyZjFjZTJiMzQ4NzE0ZjE1Mzk0MTcy
MzlhN2NlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMDItMDQgIFJvc3MgS2ly
c2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIERvbid0IHVzZSBTZW1h
cGhvcmUuaCBhcyBhIGZpbGVuYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjE0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJUEM6OlNlbWFwaG9yZSB3YXMgcmVjZW50bHkgbW92ZWQgdG8gSVBDL1Nl
bWFwaG9yZS5oOyBsZXQncyBlbnN1cmUgdGhhdCBpdCdzIElQQy9JUENTZW1hcGhvcmUuaCBpbnN0
ZWFkLgorICAgICAgICBTZW1hcGhvcmUuaCBpcyBhIGZpbGVuYW1lIHRoYXQgbWF5IGV4aXN0IGlu
IHBsYXRmb3JtIFNES3MgYW5kIHRodXMgY2FuIGNhdXNlIGEgV0sgYnVpbGQgYnJlYWsgYmFzZWQg
b24gb3JkZXJpbmcuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRl
cmluZ0JhY2tlbmQuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvSVBDU2Vt
YXBob3JlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NlbWFw
aG9yZS5jcHAuCisgICAgICAgICogUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2VtYXBob3JlLmguCisgICAgICAgICog
UGxhdGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXQvdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25z
LmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFNlbWFwaG9yZU1l
c3NhZ2VSZWNlaXZlci5jcHA6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogU291
cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uUHJveHkuaDoKKwogMjAyMS0wMi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjY3NzYzKSBOZXR3b3Jr
IHByb2Nlc3MgbGF1bmNoZXMgZWFybGllciB0aGFuIGJlZm9yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQu
Y3BwCmluZGV4IDAzZDE2MmZkZDExYjM1ZTI2MjBkMjJjMTk4NDI0OTg4NzliYjQ1NWUuLmIwYWMz
NTg2YjAyNDliNGFiZTFlNGZjYmNlNzNlOWQ4ZmE4NjViNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZC5jcHAKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5
LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZE1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRlICJTZW1h
cGhvcmUuaCIKICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KICNpbmNsdWRlIDx3
dGYvU3lzdGVtVHJhY2luZy5oPgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZC5oCmluZGV4IDUxOGE2YWFhZmMyODhkZTM4ZmJlMDBmZmViMjBiODZmNDBjNjI3NjMu
Ljc1ZDllMGFhNTI0MjQyOGNlYjY3ZjdiNGIzNWU0ZjU4MjIwNjZjYmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQuaApAQCAtMjksMTMgKzI5LDEzIEBACiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAj
aW5jbHVkZSAiR1BVUHJvY2Vzc1dha2V1cE1lc3NhZ2VBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJJ
UENTZW1hcGhvcmUuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUuaCIKICNp
bmNsdWRlICJJbWFnZURhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIu
aCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVzb3VyY2VD
YWNoZS5oIgogI2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCi0jaW5jbHVk
ZSAiU2VtYXBob3JlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db2xvclNwYWNlLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9EaXNwbGF5TGlzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxheUxpc3RJ
dGVtcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHAKaW5kZXggY2FmOTMwZGQzY2Y1
NWQ2MWNhNTg2MmUzYTNjNDU2NWY5OTI0Nzg1NS4uNDBlOTFkMzIyYzNlZTViOTFkMjU5ZTRjMjBl
YzBmMGY2ZGViZTVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwCkBAIC0yOSw3
ICsyOSw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQog
CiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIlNlbWFw
aG9yZS5oIgorI2luY2x1ZGUgIklQQ1NlbWFwaG9yZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXVk
aW9VdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVz
dGluYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaAppbmRleCAxZDA2ZDk4ZjE4NzBiZjcxM2E4NDg0NTAw
YmQ4OTRhYTAzMmQxNDllLi4wYmVlNDc2Y2Q0ZDdkYjQzMTljZTUzNDBiNGRhYjljNjA4NzNhZWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5j
bHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvRGVzdGluYXRpb25JZGVu
dGlmaWVyLmgiCi0jaW5jbHVkZSAiU2VtYXBob3JlLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5
LmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5o
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSVBDU2VtYXBob3JlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTQxMjFhNGJlYTliN2NmNGU2YWQ3MjdlOWY4NDc3MDFjMjEyMzhkZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5jcHAKQEAgLTAs
MCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJ
UENTZW1hcGhvcmUuaCIKKworI2lmICFPUyhEQVJXSU4pCisKK25hbWVzcGFjZSBJUEMgeworCitT
ZW1hcGhvcmU6OlNlbWFwaG9yZSgpID0gZGVmYXVsdDsKKworU2VtYXBob3JlOjpTZW1hcGhvcmUo
U2VtYXBob3JlJiYpID0gZGVmYXVsdDsKKworU2VtYXBob3JlOjp+U2VtYXBob3JlKCkgPSBkZWZh
dWx0OworCitTZW1hcGhvcmUmIFNlbWFwaG9yZTo6b3BlcmF0b3I9KFNlbWFwaG9yZSYmKSA9IGRl
ZmF1bHQ7CisKK3ZvaWQgU2VtYXBob3JlOjplbmNvZGUoRW5jb2RlciYpIGNvbnN0IHsgfQorCitP
cHRpb25hbDxTZW1hcGhvcmU+IFNlbWFwaG9yZTo6ZGVjb2RlKERlY29kZXImKQoreworICAgIHJl
dHVybiBTZW1hcGhvcmUgeyB9OworfQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9JUEMvSVBDU2VtYXBob3JlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9JUENTZW1hcGhvcmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTgzYWM1YzY4NDgwNzZmZjFlNTA1
YTdmMTk5ZDI1OGQ0NWMyYzgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvSVBDU2VtYXBob3JlLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3Rm
L09wdGlvbmFsLmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KKworI2lmIE9TKERBUldJTikK
KyNpbmNsdWRlIDxtYWNoL3NlbWFwaG9yZS5oPgorI2luY2x1ZGUgPHd0Zi9NYWNoU2VuZFJpZ2h0
Lmg+CisjZW5kaWYKKworbmFtZXNwYWNlIElQQyB7CisKK2NsYXNzIERlY29kZXI7CitjbGFzcyBF
bmNvZGVyOworCitjbGFzcyBTZW1hcGhvcmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbWFwaG9yZSk7CitwdWJsaWM6CisgICAgU2Vt
YXBob3JlKCk7CisgICAgU2VtYXBob3JlKFNlbWFwaG9yZSYmKTsKKyAgICB+U2VtYXBob3JlKCk7
CisgICAgU2VtYXBob3JlJiBvcGVyYXRvcj0oU2VtYXBob3JlJiYpOworCisgICAgdm9pZCBlbmNv
ZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHN0YXRpYyBPcHRpb25hbDxTZW1hcGhvcmU+IGRlY29k
ZShEZWNvZGVyJik7CisKKyNpZiBPUyhEQVJXSU4pCisgICAgZXhwbGljaXQgU2VtYXBob3JlKE1h
Y2hTZW5kUmlnaHQmJik7CisKKyAgICB2b2lkIHNpZ25hbCgpOworICAgIHZvaWQgd2FpdCgpOwor
ICAgIHZvaWQgd2FpdEZvcihTZWNvbmRzKTsKKyAgICBNYWNoU2VuZFJpZ2h0IGNyZWF0ZVNlbmRS
aWdodCgpIGNvbnN0OworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVy
biBtX3NlbmRSaWdodCB8fCBtX3NlbWFwaG9yZSAhPSBTRU1BUEhPUkVfTlVMTDsgfQorI2Vsc2UK
KyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorI2Vu
ZGlmCisKK3ByaXZhdGU6CisjaWYgT1MoREFSV0lOKQorICAgIHZvaWQgZGVzdHJveSgpOworICAg
IE1hY2hTZW5kUmlnaHQgbV9zZW5kUmlnaHQ7CisgICAgc2VtYXBob3JlX3QgbV9zZW1hcGhvcmUg
eyBTRU1BUEhPUkVfTlVMTCB9OworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBJUEMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NlbWFwaG9yZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TZW1hcGhvcmUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2M2QyZjRiOTgyZWI1OTYwYzc3YjY3YjE2NzNlNDQxYjlhM2M1ZDVkLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL1NlbWFwaG9yZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlNlbWFwaG9yZS5o
IgotCi0jaWYgIU9TKERBUldJTikKLQotbmFtZXNwYWNlIElQQyB7Ci0KLVNlbWFwaG9yZTo6U2Vt
YXBob3JlKCkgPSBkZWZhdWx0OwotCi1TZW1hcGhvcmU6OlNlbWFwaG9yZShTZW1hcGhvcmUmJikg
PSBkZWZhdWx0OwotCi1TZW1hcGhvcmU6On5TZW1hcGhvcmUoKSA9IGRlZmF1bHQ7Ci0KLVNlbWFw
aG9yZSYgU2VtYXBob3JlOjpvcGVyYXRvcj0oU2VtYXBob3JlJiYpID0gZGVmYXVsdDsKLQotdm9p
ZCBTZW1hcGhvcmU6OmVuY29kZShFbmNvZGVyJikgY29uc3QgeyB9Ci0KLU9wdGlvbmFsPFNlbWFw
aG9yZT4gU2VtYXBob3JlOjpkZWNvZGUoRGVjb2RlciYpCi17Ci0gICAgcmV0dXJuIFNlbWFwaG9y
ZSB7IH07Ci19Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9TZW1hcGhvcmUuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NlbWFwaG9y
ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTgzYWM1YzY4NDgwNzZmZjFlNTA1
YTdmMTk5ZDI1OGQ0NWMyYzgxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NlbWFwaG9yZS5oCisrKyAvZGV2
L251bGwKQEAgLTEsNzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Ci0jaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+Ci0jaW5j
bHVkZSA8d3RmL1NlY29uZHMuaD4KLQotI2lmIE9TKERBUldJTikKLSNpbmNsdWRlIDxtYWNoL3Nl
bWFwaG9yZS5oPgotI2luY2x1ZGUgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+Ci0jZW5kaWYKLQotbmFt
ZXNwYWNlIElQQyB7Ci0KLWNsYXNzIERlY29kZXI7Ci1jbGFzcyBFbmNvZGVyOwotCi1jbGFzcyBT
ZW1hcGhvcmUgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNlbWFwaG9yZSk7Ci1wdWJsaWM6Ci0gICAgU2VtYXBob3JlKCk7Ci0gICAgU2Vt
YXBob3JlKFNlbWFwaG9yZSYmKTsKLSAgICB+U2VtYXBob3JlKCk7Ci0gICAgU2VtYXBob3JlJiBv
cGVyYXRvcj0oU2VtYXBob3JlJiYpOwotCi0gICAgdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwotICAgIHN0YXRpYyBPcHRpb25hbDxTZW1hcGhvcmU+IGRlY29kZShEZWNvZGVyJik7Ci0KLSNp
ZiBPUyhEQVJXSU4pCi0gICAgZXhwbGljaXQgU2VtYXBob3JlKE1hY2hTZW5kUmlnaHQmJik7Ci0K
LSAgICB2b2lkIHNpZ25hbCgpOwotICAgIHZvaWQgd2FpdCgpOwotICAgIHZvaWQgd2FpdEZvcihT
ZWNvbmRzKTsKLSAgICBNYWNoU2VuZFJpZ2h0IGNyZWF0ZVNlbmRSaWdodCgpIGNvbnN0OwotICAg
IGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3NlbmRSaWdodCB8fCBt
X3NlbWFwaG9yZSAhPSBTRU1BUEhPUkVfTlVMTDsgfQotI2Vsc2UKLSAgICBleHBsaWNpdCBvcGVy
YXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotI2VuZGlmCi0KLXByaXZhdGU6Ci0j
aWYgT1MoREFSV0lOKQotICAgIHZvaWQgZGVzdHJveSgpOwotICAgIE1hY2hTZW5kUmlnaHQgbV9z
ZW5kUmlnaHQ7Ci0gICAgc2VtYXBob3JlX3QgbV9zZW1hcGhvcmUgeyBTRU1BUEhPUkVfTlVMTCB9
OwotI2VuZGlmCi19OwotCi19IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9JUEMvZGFyd2luL0lQQ1NlbWFwaG9yZURhcndpbi5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjg3NWM4MWQ0MmM0ZmM1OGU5ZGViMzczZjVjMGRjNjA2OTZlYTZjNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVE
YXJ3aW4uY3BwCkBAIC0wLDAgKzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIklQQ1NlbWFwaG9yZS5oIgorCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCisjaW5jbHVkZSA8bWFjaC9tYWNoLmg+CisKK25hbWVzcGFjZSBJUEMgewor
CitTZW1hcGhvcmU6OlNlbWFwaG9yZSgpCit7CisgICAgYXV0byByZXQgPSBzZW1hcGhvcmVfY3Jl
YXRlKG1hY2hfdGFza19zZWxmKCksICZtX3NlbWFwaG9yZSwgU1lOQ19QT0xJQ1lfRklGTywgMCk7
CisgICAgQVNTRVJUX1VOVVNFRChyZXQsIHJldCA9PSBLRVJOX1NVQ0NFU1MpOworfQorCitTZW1h
cGhvcmU6OlNlbWFwaG9yZShTZW1hcGhvcmUmJiBvdGhlcikKKyAgICA6IG1fc2VuZFJpZ2h0KFdU
Rk1vdmUob3RoZXIubV9zZW5kUmlnaHQpKQorICAgICwgbV9zZW1hcGhvcmUoc3RkOjpleGNoYW5n
ZShvdGhlci5tX3NlbWFwaG9yZSwgU0VNQVBIT1JFX05VTEwpKQoreworfQorCitTZW1hcGhvcmU6
OlNlbWFwaG9yZShNYWNoU2VuZFJpZ2h0JiYgc2VuZFJpZ2h0KQorICAgIDogbV9zZW5kUmlnaHQo
V1RGTW92ZShzZW5kUmlnaHQpKQorICAgICwgbV9zZW1hcGhvcmUobV9zZW5kUmlnaHQuc2VuZFJp
Z2h0KCkpCit7CisgICAgQVNTRVJUKG1fc2VuZFJpZ2h0KTsKK30KKworU2VtYXBob3JlOjp+U2Vt
YXBob3JlKCkKK3sKKyAgICBkZXN0cm95KCk7Cit9CisKK1NlbWFwaG9yZSYgU2VtYXBob3JlOjpv
cGVyYXRvcj0oU2VtYXBob3JlJiYgb3RoZXIpCit7CisgICAgaWYgKHRoaXMgIT0gJm90aGVyKSB7
CisgICAgICAgIGRlc3Ryb3koKTsKKyAgICAgICAgbV9zZW5kUmlnaHQgPSBXVEZNb3ZlKG90aGVy
Lm1fc2VuZFJpZ2h0KTsKKyAgICAgICAgbV9zZW1hcGhvcmUgPSBzdGQ6OmV4Y2hhbmdlKG90aGVy
Lm1fc2VtYXBob3JlLCBTRU1BUEhPUkVfTlVMTCk7CisgICAgfQorCisgICAgcmV0dXJuICp0aGlz
OworfQorCit2b2lkIFNlbWFwaG9yZTo6c2lnbmFsKCkKK3sKKyAgICBhdXRvIHJldCA9IHNlbWFw
aG9yZV9zaWduYWwobV9zZW1hcGhvcmUpOworICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0g
S0VSTl9TVUNDRVNTKTsKK30KKwordm9pZCBTZW1hcGhvcmU6OndhaXQoKQoreworICAgIGF1dG8g
cmV0ID0gc2VtYXBob3JlX3dhaXQobV9zZW1hcGhvcmUpOworICAgIEFTU0VSVF9VTlVTRUQocmV0
LCByZXQgPT0gS0VSTl9TVUNDRVNTKTsKK30KKwordm9pZCBTZW1hcGhvcmU6OndhaXRGb3IoU2Vj
b25kcyB0aW1lb3V0KQoreworICAgIGF1dG8gc2Vjb25kcyA9IHRpbWVvdXQuc2Vjb25kc0FzPHVu
c2lnbmVkPigpOworICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX3RpbWVkd2FpdChtX3NlbWFwaG9y
ZSwgeyBzZWNvbmRzLCBzdGF0aWNfY2FzdDxjbG9ja19yZXNfdD4odGltZW91dC5uYW5vc2Vjb25k
c0FzPHVpbnQ2NF90PigpIC0gc2Vjb25kcyAqIE5TRUNfUEVSX1NFQykgfSk7CisgICAgQVNTRVJU
X1VOVVNFRChyZXQsIHJldCA9PSBLRVJOX1NVQ0NFU1MgfHwgcmV0ID09IEtFUk5fT1BFUkFUSU9O
X1RJTUVEX09VVCk7Cit9CisKK01hY2hTZW5kUmlnaHQgU2VtYXBob3JlOjpjcmVhdGVTZW5kUmln
aHQoKSBjb25zdAoreworICAgIHJldHVybiBNYWNoU2VuZFJpZ2h0OjpjcmVhdGUobV9zZW1hcGhv
cmUpOworfQorCit2b2lkIFNlbWFwaG9yZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Cit7CisgICAgZW5jb2RlciA8PCBjcmVhdGVTZW5kUmlnaHQoKTsKK30KKworT3B0aW9uYWw8U2Vt
YXBob3JlPiBTZW1hcGhvcmU6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE1hY2hT
ZW5kUmlnaHQgc2VuZFJpZ2h0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2VuZFJpZ2h0KSkK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICByZXR1cm4gT3B0aW9uYWw8U2VtYXBo
b3JlPiB7IHN0ZDo6aW5fcGxhY2UsIFdURk1vdmUoc2VuZFJpZ2h0KSB9OworfQorCisKK3ZvaWQg
U2VtYXBob3JlOjpkZXN0cm95KCkKK3sKKyAgICBpZiAobV9zZW5kUmlnaHQpIHsKKyAgICAgICAg
bV9zZW5kUmlnaHQgPSBNYWNoU2VuZFJpZ2h0KCk7CisgICAgICAgIG1fc2VtYXBob3JlID0gU0VN
QVBIT1JFX05VTEw7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKG1fc2VtYXBob3Jl
ID09IFNFTUFQSE9SRV9OVUxMKQorICAgICAgICByZXR1cm47CisgICAgYXV0byByZXQgPSBzZW1h
cGhvcmVfZGVzdHJveShtYWNoX3Rhc2tfc2VsZigpLCBtX3NlbWFwaG9yZSk7CisgICAgQVNTRVJU
X1VOVVNFRChyZXQsIHJldCA9PSBLRVJOX1NVQ0NFU1MpOworICAgIG1fc2VtYXBob3JlID0gU0VN
QVBIT1JFX05VTEw7Cit9CisKK30gLy8gbmFtZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9kYXJ3aW4vU2VtYXBob3JlRGFyd2luLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZTExNGRiOWVhMWY3OWQzYTExNTg4ZTVlMGE4ZWMyZjNlZGFi
OTA3Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9kYXJ3aW4vU2VtYXBob3JlRGFyd2luLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDEyMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgIlNlbWFwaG9yZS5oIgotCi0jaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCi0jaW5jbHVkZSA8bWFjaC9tYWNoLmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotCi1TZW1h
cGhvcmU6OlNlbWFwaG9yZSgpCi17Ci0gICAgYXV0byByZXQgPSBzZW1hcGhvcmVfY3JlYXRlKG1h
Y2hfdGFza19zZWxmKCksICZtX3NlbWFwaG9yZSwgU1lOQ19QT0xJQ1lfRklGTywgMCk7Ci0gICAg
QVNTRVJUX1VOVVNFRChyZXQsIHJldCA9PSBLRVJOX1NVQ0NFU1MpOwotfQotCi1TZW1hcGhvcmU6
OlNlbWFwaG9yZShTZW1hcGhvcmUmJiBvdGhlcikKLSAgICA6IG1fc2VuZFJpZ2h0KFdURk1vdmUo
b3RoZXIubV9zZW5kUmlnaHQpKQotICAgICwgbV9zZW1hcGhvcmUoc3RkOjpleGNoYW5nZShvdGhl
ci5tX3NlbWFwaG9yZSwgU0VNQVBIT1JFX05VTEwpKQotewotfQotCi1TZW1hcGhvcmU6OlNlbWFw
aG9yZShNYWNoU2VuZFJpZ2h0JiYgc2VuZFJpZ2h0KQotICAgIDogbV9zZW5kUmlnaHQoV1RGTW92
ZShzZW5kUmlnaHQpKQotICAgICwgbV9zZW1hcGhvcmUobV9zZW5kUmlnaHQuc2VuZFJpZ2h0KCkp
Ci17Ci0gICAgQVNTRVJUKG1fc2VuZFJpZ2h0KTsKLX0KLQotU2VtYXBob3JlOjp+U2VtYXBob3Jl
KCkKLXsKLSAgICBkZXN0cm95KCk7Ci19Ci0KLVNlbWFwaG9yZSYgU2VtYXBob3JlOjpvcGVyYXRv
cj0oU2VtYXBob3JlJiYgb3RoZXIpCi17Ci0gICAgaWYgKHRoaXMgIT0gJm90aGVyKSB7Ci0gICAg
ICAgIGRlc3Ryb3koKTsKLSAgICAgICAgbV9zZW5kUmlnaHQgPSBXVEZNb3ZlKG90aGVyLm1fc2Vu
ZFJpZ2h0KTsKLSAgICAgICAgbV9zZW1hcGhvcmUgPSBzdGQ6OmV4Y2hhbmdlKG90aGVyLm1fc2Vt
YXBob3JlLCBTRU1BUEhPUkVfTlVMTCk7Ci0gICAgfQotCi0gICAgcmV0dXJuICp0aGlzOwotfQot
Ci12b2lkIFNlbWFwaG9yZTo6c2lnbmFsKCkKLXsKLSAgICBhdXRvIHJldCA9IHNlbWFwaG9yZV9z
aWduYWwobV9zZW1hcGhvcmUpOwotICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VSTl9T
VUNDRVNTKTsKLX0KLQotdm9pZCBTZW1hcGhvcmU6OndhaXQoKQotewotICAgIGF1dG8gcmV0ID0g
c2VtYXBob3JlX3dhaXQobV9zZW1hcGhvcmUpOwotICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQg
PT0gS0VSTl9TVUNDRVNTKTsKLX0KLQotdm9pZCBTZW1hcGhvcmU6OndhaXRGb3IoU2Vjb25kcyB0
aW1lb3V0KQotewotICAgIGF1dG8gc2Vjb25kcyA9IHRpbWVvdXQuc2Vjb25kc0FzPHVuc2lnbmVk
PigpOwotICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX3RpbWVkd2FpdChtX3NlbWFwaG9yZSwgeyBz
ZWNvbmRzLCBzdGF0aWNfY2FzdDxjbG9ja19yZXNfdD4odGltZW91dC5uYW5vc2Vjb25kc0FzPHVp
bnQ2NF90PigpIC0gc2Vjb25kcyAqIE5TRUNfUEVSX1NFQykgfSk7Ci0gICAgQVNTRVJUX1VOVVNF
RChyZXQsIHJldCA9PSBLRVJOX1NVQ0NFU1MgfHwgcmV0ID09IEtFUk5fT1BFUkFUSU9OX1RJTUVE
X09VVCk7Ci19Ci0KLU1hY2hTZW5kUmlnaHQgU2VtYXBob3JlOjpjcmVhdGVTZW5kUmlnaHQoKSBj
b25zdAotewotICAgIHJldHVybiBNYWNoU2VuZFJpZ2h0OjpjcmVhdGUobV9zZW1hcGhvcmUpOwot
fQotCi12b2lkIFNlbWFwaG9yZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0g
ICAgZW5jb2RlciA8PCBjcmVhdGVTZW5kUmlnaHQoKTsKLX0KLQotT3B0aW9uYWw8U2VtYXBob3Jl
PiBTZW1hcGhvcmU6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQotewotICAgIE1hY2hTZW5kUmln
aHQgc2VuZFJpZ2h0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2VuZFJpZ2h0KSkKLSAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICByZXR1cm4gT3B0aW9uYWw8U2VtYXBob3JlPiB7
IHN0ZDo6aW5fcGxhY2UsIFdURk1vdmUoc2VuZFJpZ2h0KSB9OwotfQotCi0KLXZvaWQgU2VtYXBo
b3JlOjpkZXN0cm95KCkKLXsKLSAgICBpZiAobV9zZW5kUmlnaHQpIHsKLSAgICAgICAgbV9zZW5k
UmlnaHQgPSBNYWNoU2VuZFJpZ2h0KCk7Ci0gICAgICAgIG1fc2VtYXBob3JlID0gU0VNQVBIT1JF
X05VTEw7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKG1fc2VtYXBob3JlID09IFNF
TUFQSE9SRV9OVUxMKQotICAgICAgICByZXR1cm47Ci0gICAgYXV0byByZXQgPSBzZW1hcGhvcmVf
ZGVzdHJveShtYWNoX3Rhc2tfc2VsZigpLCBtX3NlbWFwaG9yZSk7Ci0gICAgQVNTRVJUX1VOVVNF
RChyZXQsIHJldCA9PSBLRVJOX1NVQ0NFU1MpOwotICAgIG1fc2VtYXBob3JlID0gU0VNQVBIT1JF
X05VTEw7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9NZXNzYWdlQXJndW1lbnREZXNjcmlwdGlvbnMuY3BwIGIv
U291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9NZXNzYWdlQXJndW1lbnREZXNjcmlw
dGlvbnMuY3BwCmluZGV4IGNjNjgzNjgyODFjZDU5M2Q0NmNmMGE3NWUxYTY0ZDBiN2VmMzhjNTku
LmVkOTMwODUyYjNlM2RhOGM5NDc0MzMyNGU0NTQwYzIzNGExOGNhMTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRp
b25zLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL01lc3NhZ2VB
cmd1bWVudERlc2NyaXB0aW9ucy5jcHAKQEAgLTM1LDEyICszNSwxMiBAQAogI2lmIFBMQVRGT1JN
KE1BQykKICNpbmNsdWRlICJHZXN0dXJlVHlwZXMuaCIKICNlbmRpZgorI2luY2x1ZGUgIklQQ1Nl
bWFwaG9yZS5oIgogI2luY2x1ZGUgIkpTSVBDQmluZGluZy5oIgogI2lmIFBMQVRGT1JNKE1BQykK
ICNpbmNsdWRlICJNYWNoUG9ydC5oIgogI2VuZGlmCiAjaW5jbHVkZSAiUGx1Z2luLmgiCi0jaW5j
bHVkZSAiU2VtYXBob3JlLmgiCiAjaW5jbHVkZSAiVGVzdENsYXNzTmFtZS5oIgogI2lmIEVOQUJM
RShURVNUX0ZFQVRVUkUpCiAjaW5jbHVkZSAiVGVzdFR3b1N0YXRlRW51bS5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFNlbWFwaG9yZU1l
c3NhZ2VSZWNlaXZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rl
c3RXaXRoU2VtYXBob3JlTWVzc2FnZVJlY2VpdmVyLmNwcAppbmRleCA2ZjY4Njk5NTMyN2ZjMmYy
NGJlYWQ5NWMwMzdlZWM4ZGMxZDc4MGVlLi43MjEwM2M0NzQ0OWQ2Y2M1MDcxZTAxYjAyNGFkZDUx
ZGQyYjQ5NTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3Rz
L1Rlc3RXaXRoU2VtYXBob3JlTWVzc2FnZVJlY2VpdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoU2VtYXBob3JlTWVzc2FnZVJlY2VpdmVyLmNw
cApAQCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVkZSAiRGVjb2Rlci5oIgogI2luY2x1ZGUgIkhh
bmRsZU1lc3NhZ2UuaCIKLSNpbmNsdWRlICJTZW1hcGhvcmUuaCIKKyNpbmNsdWRlICJJUENTZW1h
cGhvcmUuaCIKICNpbmNsdWRlICJUZXN0V2l0aFNlbWFwaG9yZU1lc3NhZ2VzLmgiCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggOWFiZDg5OTViMjgxOWFmYTljZmYxNDcyZGM0
ODgxMDE5ZjI2ZjYzOC4uNmQ0ZWE1MzQ4YzdkYWVmNzUxMDM4OTBiNTA5YzA3MjA5OTMxYTMxNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0CkBAIC0xNDEsMTAgKzE0MSwxMCBAQCBQbGF0Zm9ybS9JUEMvQXR0YWNobWVu
dC5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAgQG5vLXVuaWZ5CiBQ
bGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvRW5jb2Rlci5j
cHAgQG5vLXVuaWZ5CitQbGF0Zm9ybS9JUEMvSVBDU2VtYXBob3JlLmNwcCBAbm8tdW5pZnkKIFBs
YXRmb3JtL0lQQy9KU0lQQ0JpbmRpbmcuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL01lc3Nh
Z2VSZWNlaXZlck1hcC5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5j
cHAgQG5vLXVuaWZ5Ci1QbGF0Zm9ybS9JUEMvU2VtYXBob3JlLmNwcCBAbm8tdW5pZnkKIFBsYXRm
b3JtL0lQQy9TaGFyZWRCdWZmZXJDb3B5LmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9TaGFy
ZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9TdHJpbmdS
ZWZlcmVuY2UuY3BwIEBuby11bmlmeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDQyYjhlMjRm
MWY3OGI0MDc1YmM3MTAyZDk0MDI1YzA1YzE4NzQwYWQuLjRkZjM0NDM1NWVhNGExM2VhZTk5Mzdj
YzVkY2EzNjI2ZjBmODA5NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTg3LDggKzg3LDgg
QEAgUGxhdGZvcm0vaW9zL1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlci5tbQogCiBQbGF0
Zm9ybS9JUEMvY29jb2EvQ29ubmVjdGlvbkNvY29hLm1tCiBQbGF0Zm9ybS9JUEMvY29jb2EvTWFj
aE1lc3NhZ2UuY3BwCi1QbGF0Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAKIAor
UGxhdGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwCiAKIFBsYXRmb3JtL21h
Yy9NYWNoVXRpbGl0aWVzLmNwcAogUGxhdGZvcm0vbWFjL01lbnVVdGlsaXRpZXMubW0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDlmY2Jm
ODEwNTI0MmI2ZjI4NzQ4Zjk4MDY1ZWI0MDAzNWNjMjRkYmQuLjdjYjNiNzVmOTFiOWZkYjBmNzEz
YzRiMjY2ODBmNGM1MWVkNzgzMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTMyNyw4ICsxMzI3LDYgQEAKIAkJN0FGQkQzNjcyMUU1
MUJBQjAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGQkQzNjUyMUU1MUJB
QjAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oICovOyB9Owog
CQk3QUZCRDM2RjIxRTU0NkY4MDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGlscy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGQkQzNkQyMUU1NDZFMzAw
NURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuaCAqLzsgfTsKIAkJN0IxREIyNjYyNTY2OENFMTAw
MEUyNkJDIC8qIEFycmF5UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QjFEQjI2NTI1NjY4Q0UwMDAwRTI2QkMgLyogQXJyYXlSZWZlcmVu
Y2UuaCAqLzsgfTsKLQkJN0I3MzEyMjgyNUM5ODhBQTAwM0IyNzk2IC8qIFNlbWFwaG9yZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjczMTIyNjI1
Qzk4OEFBMDAzQjI3OTYgLyogU2VtYXBob3JlLmNwcCAqLzsgfTsKLQkJN0I3MzEyMjkyNUM5ODhB
QjAwM0IyNzk2IC8qIFNlbWFwaG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0I3MzEyMjcyNUM5ODhBQTAwM0IyNzk2IC8qIFNlbWFwaG9yZS5oICov
OyB9OwogCQk3QzA2NUYyQzFDOENEOTVGMDBDMkQ5NTAgLyogV2ViVXNlckNvbnRlbnRDb250cm9s
bGVyRGF0YVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QzA2NUYyQTFDOENEOTVGMDBDMkQ5NTAgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVy
RGF0YVR5cGVzLmggKi87IH07CiAJCTdDMTM1QUE5MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdp
bkluZm9ybWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QzEzNUFBNzE3M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDMUJBMzNF
MUE0QTBFNjAwMDQzRTI0OSAvKiBBUElEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzFCQTMzQzFBNEEwRTYwMDA0M0UyNDkgLyogQVBJ
RGljdGlvbmFyeS5oICovOyB9OwpAQCAtMTU3Nyw2ICsxNTc1LDkgQEAKIAkJQTFFRjM2QzAyNTgx
Rjc2RjAwOTBCMDJBIC8qIE1lZGlhRm9ybWF0UmVhZGVyLmJ1bmRsZSBpbiBDb3B5IFBsdWctaW5z
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNkU2NjAwMjU4MTkzMDgwMEVF
MTc0OSAvKiBNZWRpYUZvcm1hdFJlYWRlci5idW5kbGUgKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUmVtb3ZlSGVhZGVyc09uQ29weSwgKTsgfTsgfTsKIAkJQTFFRjM2RDUyNTgxRjdFQjAw
OTBCMDJBIC8qIE1lZGlhRm9ybWF0UmVhZGVyLmJ1bmRsZSBpbiBDb3B5IFBsdWctaW5zICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNkU2NjAwMjU4MTkzMDgwMEVFMTc0OSAv
KiBNZWRpYUZvcm1hdFJlYWRlci5idW5kbGUgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UmVtb3ZlSGVhZGVyc09uQ29weSwgKTsgfTsgfTsKIAkJQTFGQjY4MjQxRjZFNTE4MjAwQzQzRjlG
IC8qIFdLQ3Jhc2hSZXBvcnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTFGQjY4MjIxRjZFNTE4MjAwQzQzRjlGIC8qIFdLQ3Jhc2hSZXBvcnRlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUEzMUY2
MEE0MjVDQzdEQjkwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUY2MEEyMjVDQzdEQjgwMEFGMTRGNCAvKiBJ
UENTZW1hcGhvcmUuaCAqLzsgfTsKKwkJQTMxRjYwQTUyNUNDN0RCOTAwQUYxNEY0IC8qIElQQ1Nl
bWFwaG9yZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMzFGNjBBMzI1Q0M3REI4MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmNwcCAqLzsgfTsKKwkJ
QTMxRjYwQTcyNUNDN0RDRjAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZURhcndpbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMzFGNjBBNjI1Q0M3RENG
MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlRGFyd2luLmNwcCAqLzsgfTsKIAkJQTUxM0Y1NDAyMTU0
QTVENzAwNjYyODQxIC8qIFdlYlBhZ2VJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTEzRjUzRTIxNTRBNUNDMDA2NjI4
NDEgLyogV2ViUGFnZUluc3BlY3RvckNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJQTUxOEI1RDIxRkUx
RDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTE4QjVEMDFGRTFENTVCMDBGOUZBMjggLyog
V0tJbnNwZWN0b3JXS1dlYlZpZXcuaCAqLzsgfTsKIAkJQTU0MjkzQTQxOTVBNDNEQTAwMjc4MkM3
IC8qIFdLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTQyOTNBMjE5NUE0M0M2MDAyNzgy
QzcgLyogV0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIuaCAqLzsgfTsKQEAg
LTQ1MTksOSArNDUyMCw2IEBACiAJCTdBRkJEMzZFMjFFNTQ2RTMwMDVEQkFDQiAvKiBQZXJzaXN0
ZW5jeVV0aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcnNpc3RlbmN5VXRpbHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QjFEQjI2NTI1NjY4Q0UwMDAwRTI2QkMgLyog
QXJyYXlSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlS
ZWZlcmVuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0I2NEMwQjYyNTRDNUMy
NTAwMDZCNEFGIC8qIEdyYXBoaWNzQ29udGV4dEdMSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBHcmFwaGljc0NvbnRleHRHTElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJN0I3MzEyMjYyNUM5ODhBQTAwM0IyNzk2IC8qIFNlbWFwaG9yZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZW1hcGhvcmUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk3QjczMTIyNzI1Qzk4OEFBMDAzQjI3OTYgLyogU2VtYXBob3JlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbWFwaG9yZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk3QjczMTIyQTI1Qzk4OEM2MDAzQjI3OTYgLyogU2VtYXBob3Jl
RGFyd2luLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlbWFwaG9y
ZURhcndpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdCOTA0MTY1MjU0QUZE
RUEwMDZFRUI4QyAvKiBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QjkwNDE2NjI1NEFGREVCMDA2RUVCOEMgLyogUmVtb3RlR3JhcGhp
Y3NDb250ZXh0R0xQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVHcmFwaGljc0NvbnRleHRH
TFByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdCOTA0MTY3MjU0QUZFMTcw
MDZFRUI4QyAvKiBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5Lm1lc3NhZ2VzLmluICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC00OTY2LDYgKzQ5NjQsOSBAQAogCQlBMUVERDJEQjE4ODRCOTY0MDBC
QkZFOTggLyogUGx1Z2luUHJvY2Vzc1NoaW0ueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gUGx1Z2lu
UHJvY2Vzc1NoaW0ueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRkI2
ODIyMUY2RTUxODIwMEM0M0Y5RiAvKiBXS0NyYXNoUmVwb3J0ZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0tDcmFzaFJlcG9ydGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRkI2ODIz
MUY2RTUxODIwMEM0M0Y5RiAvKiBXS0NyYXNoUmVwb3J0ZXIubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXS0NyYXNoUmVwb3J0ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEz
MUY2MEEyMjVDQzdEQjgwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSVBDU2VtYXBob3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUEzMUY2MEEzMjVDQzdEQjgwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSVBDU2VtYXBob3JlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxRjYwQTYyNUNDN0RDRjAwQUYxNEY0IC8qIElQQ1Nl
bWFwaG9yZURhcndpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJ
UENTZW1hcGhvcmVEYXJ3aW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMzhB
MTJFMTIzQzkzQUM3MDBGQUJGQTkgLyogVGV4dENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dENoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMzkzN0I2MTIzQ0QxQjlCMDA1QjJBMkUgLyogV2ViUHJlZmVyZW5jZXNDb2Nv
YS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByZWZlcmVu
Y2VzQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1MTNGNTNFMjE1NEE1
Q0MwMDY2Mjg0MSAvKiBXZWJQYWdlSW5zcGVjdG9yQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJQYWdlSW5zcGVjdG9yQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNjkwMSw2ICs2OTAyLDggQEAKIAkJCQk0MTUxRTVDMzFGQkI5MEE5MDBFNDdFMkQgLyog
Rm9ybURhdGFSZWZlcmVuY2UuaCAqLywKIAkJCQlDMENFNzJBQzEyNDdFNzhEMDBCQzBFQzQgLyog
SGFuZGxlTWVzc2FnZS5oICovLAogCQkJCTFDOUFGMzYxMjQxMzREMjMwMEQzRUMwMiAvKiBJbWFn
ZURhdGFSZWZlcmVuY2UuaCAqLywKKwkJCQlBMzFGNjBBMzI1Q0M3REI4MDBBRjE0RjQgLyogSVBD
U2VtYXBob3JlLmNwcCAqLywKKwkJCQlBMzFGNjBBMjI1Q0M3REI4MDBBRjE0RjQgLyogSVBDU2Vt
YXBob3JlLmggKi8sCiAJCQkJOUJGNUVDNjMyNTQxMEU5OTAwOTg0RTc3IC8qIEpTSVBDQmluZGlu
Zy5jcHAgKi8sCiAJCQkJOUI0NzkwOEUyNTMxNTFDQzAwRUMxMUFCIC8qIEpTSVBDQmluZGluZy5o
ICovLAogCQkJCTlCNDc5MDhDMjUzMTREODMwMEVDMTFBQiAvKiBNZXNzYWdlQXJndW1lbnREZXNj
cmlwdGlvbnMuaCAqLywKQEAgLTY5MTAsOCArNjkxMyw2IEBACiAJCQkJMUEzRUVEMEQxNjFBNTM1
MzAwQUVCNEY1IC8qIE1lc3NhZ2VSZWNlaXZlck1hcC5oICovLAogCQkJCTFBQUIwMzc3MTg1QTdD
NkEwMEVERjUwMSAvKiBNZXNzYWdlU2VuZGVyLmNwcCAqLywKIAkJCQkxQUFCMDM3ODE4NUE3QzZB
MDBFREY1MDEgLyogTWVzc2FnZVNlbmRlci5oICovLAotCQkJCTdCNzMxMjI2MjVDOTg4QUEwMDNC
Mjc5NiAvKiBTZW1hcGhvcmUuY3BwICovLAotCQkJCTdCNzMxMjI3MjVDOTg4QUEwMDNCMjc5NiAv
KiBTZW1hcGhvcmUuaCAqLywKIAkJCQkyREMxODAwMUQ5MERERDE1RkM2OTkxQTkgLyogU2hhcmVk
QnVmZmVyQ29weS5jcHAgKi8sCiAJCQkJNUNDNURCOTEyMTQ4OEUxNjAwNkNCOEE4IC8qIFNoYXJl
ZEJ1ZmZlckNvcHkuaCAqLywKIAkJCQkyREMxODU1RURCRkI4NTBCQTBCNkQwNkQgLyogU2hhcmVk
QnVmZmVyRGF0YVJlZmVyZW5jZS5jcHAgKi8sCkBAIC05MDE5LDcgKzkwMjAsNyBAQAogCQk3Qjcz
MTIyQzI1Q0E2N0FFMDAzQjI3OTYgLyogZGFyd2luICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk3QjczMTIyQTI1Qzk4OEM2MDAzQjI3OTYgLyogU2VtYXBo
b3JlRGFyd2luLmNwcCAqLywKKwkJCQlBMzFGNjBBNjI1Q0M3RENGMDBBRjE0RjQgLyogSVBDU2Vt
YXBob3JlRGFyd2luLmNwcCAqLywKIAkJCSk7CiAJCQlwYXRoID0gZGFyd2luOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTExNjYwLDYgKzExNjYxLDcgQEAKIAkJCQlBNUUzOTFGRDIx
ODNDMUY4MDBDOEZCMzEgLyogSW5zcGVjdG9yVGFyZ2V0UHJveHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCUM1QkNFNURGMUM1MDc2NkEwMENERTNGQSAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQ
b3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ0RDJDODExREY2MEJGMzAwMkVCMTBDIC8q
IEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBMzFG
NjBBNDI1Q0M3REI5MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5QjQ3OTA4RjI1MzE1MUNDMDBFQzExQUIgLyogSlNJUENCaW5kaW5nLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQUU0OUE0OTExRkZBOENFMDA0OEI0NjQgLyogSlNOUE1ldGhvZC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFNDk4NzgxMUZGN0ZBQTAwNDhCNDY0IC8qIEpTTlBPYmplY3QuaCBpbiBI
ZWFkZXJzICovLApAQCAtMTE5MjIsNyArMTE5MjQsNiBAQAogCQkJCUUxOEU2OTBDMTY5QjU2M0Yw
MDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMThFNjkx
ODE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1NzBBQjhGMzIwQUUzQkQ3MDBCOEJFODcgLyogU2VjS2V5UHJveHlTdG9yZS5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJN0I3MzEyMjkyNUM5ODhBQjAwM0IyNzk2IC8qIFNlbWFwaG9y
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0RDlGNTcxOTExOUQzNTAwMDA2M0E3IC8qIFNlcnZp
Y2VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGREU2NUExOTU0QTQyQjAwQzQ4
RkZBIC8qIFNlc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDkxOTZCMzQ1
RDAwQjlBRDQ0IC8qIFNlc3Npb25TdGF0ZUNvZGluZy5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzY3
Niw2ICsxMzY3Nyw4IEBACiAJCQkJQzFBMTUyRDcyNEU1QTI5QTAwOTc4QzhCIC8qIEhhbmRsZVhQ
Q0VuZHBvaW50TWVzc2FnZXMubW0gaW4gU291cmNlcyAqLywKIAkJCQkyNzQ5RjY0NDIxNDY1NjFC
MDA4MzgwQkYgLyogSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTI3NDlGNjQ1MjE0NjU2MUUwMDgzODBCRiAvKiBJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUEzMUY2MEE1MjVDQzdEQjkwMEFGMTRGNCAvKiBJUENT
ZW1hcGhvcmUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTMxRjYwQTcyNUNDN0RDRjAwQUYxNEY0
IC8qIElQQ1NlbWFwaG9yZURhcndpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkY1RUM2NDI1
NDExNDU2MDA5ODRFNzcgLyogSlNJUENCaW5kaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
OTEzNDQxMjEyQ0Y5RjAwMDEyOEFGRCAvKiBKU05QTWV0aG9kLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTJEOTEzNDQyMjEyQ0Y5RjAwMDEyOEFGRCAvKiBKU05QT2JqZWN0LmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMTM3NzQsNyArMTM3NzcsNiBAQAogCQkJCUE1NUJBODI2MUJBMjVDRkQwMDdDRDMz
RCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQkJCRTRBMDE5QjY2QzUzMDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9y
VUlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE4RTY5MTcxNjlCNjY3
QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJN0I3MzEyMjgyNUM5ODhBQTAwM0IyNzk2IC8qIFNlbWFwaG9yZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0MURFN0M2QzIyMjc4RjFFMDA1MzJCNjUgLyogU2VydmljZVdvcmtl
ckZldGNoVGFzay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc4NzIxMkI2QUIxMDBGNDkz
RkQgLyogU2hhcmVhYmxlQml0bWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEQzE4RkVCRjMz
N0I5NjcxQzg4RTNDRCAvKiBTaGFyZWRCdWZmZXJDb3B5LmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKaW5kZXggMDU5ODJjZTcwYmVkMGE5NzAw
OTVlMjZlZGRkZmY2ZDY4ODY3M2YyNS4uOTFlMDU2MDA5YzZiZTMyNjY0MTNjOGRmMTAyNWFjN2U5
MWFjOGE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCkBAIC0yOSwx
MiArMjksMTIgQEAKIAogI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVk
ZSAiR1BVUHJvY2Vzc1dha2V1cE1lc3NhZ2VBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJJUENTZW1h
cGhvcmUuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUuaCIKICNpbmNsdWRl
ICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmgiCiAjaW5jbHVkZSAiUmVuZGVyaW5nQmFja2Vu
ZElkZW50aWZpZXIuaCIKLSNpbmNsdWRlICJTZW1hcGhvcmUuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L0Rpc3BsYXlMaXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJpbmdSZXNvdXJjZUlkZW50
aWZpZXIuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Q
cm94eS5oCmluZGV4IGFjZWIyOGFmYzJjNmRhNmFmODM3MThkYmJmMjhjMzYxY2ViYjllY2YuLjk5
NWU3ZjAzNWQ2MzVmZmE1OTgxMzY0MDI0NDQ4NmEwNWY2NWZhZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uUHJveHkuaApAQCAtMjksOCArMjksOCBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlv
bi5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiSVBDU2Vt
YXBob3JlLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9EZXN0aW5hdGlvbklkZW50aWZpZXIuaCIK
LSNpbmNsdWRlICJTZW1hcGhvcmUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1ZGlvSU9DYWxsYmFj
ay5oPgogI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZFF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL01l
ZGlhVGltZS5oPgo=
</data>
<flag name="commit-queue"
          id="437487"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419302</attachid>
            <date>2021-02-04 11:34:51 -0800</date>
            <delta_ts>2021-02-04 12:15:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221418-20210204113450.patch</filename>
            <type>text/plain</type>
            <size>36309</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZGIzYjRiMDIwOGQ0Yzgy
NjFmMWM0NWE4OTM5NTZjMzNkNTJlMmUuLjA1NWE4M2JmMWIyZjFjZTJiMzQ4NzE0ZjE1Mzk0MTcy
MzlhN2NlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMDItMDQgIFJvc3MgS2ly
c2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIERvbid0IHVzZSBTZW1h
cGhvcmUuaCBhcyBhIGZpbGVuYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjE0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJUEM6OlNlbWFwaG9yZSB3YXMgcmVjZW50bHkgbW92ZWQgdG8gSVBDL1Nl
bWFwaG9yZS5oOyBsZXQncyBlbnN1cmUgdGhhdCBpdCdzIElQQy9JUENTZW1hcGhvcmUuaCBpbnN0
ZWFkLgorICAgICAgICBTZW1hcGhvcmUuaCBpcyBhIGZpbGVuYW1lIHRoYXQgbWF5IGV4aXN0IGlu
IHBsYXRmb3JtIFNES3MgYW5kIHRodXMgY2FuIGNhdXNlIGEgV0sgYnVpbGQgYnJlYWsgYmFzZWQg
b24gb3JkZXJpbmcuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRl
cmluZ0JhY2tlbmQuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvSVBDU2Vt
YXBob3JlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NlbWFw
aG9yZS5jcHAuCisgICAgICAgICogUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2VtYXBob3JlLmguCisgICAgICAgICog
UGxhdGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXQvdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25z
LmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFNlbWFwaG9yZU1l
c3NhZ2VSZWNlaXZlci5jcHA6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogU291
cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uUHJveHkuaDoKKwogMjAyMS0wMi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjY3NzYzKSBOZXR3b3Jr
IHByb2Nlc3MgbGF1bmNoZXMgZWFybGllciB0aGFuIGJlZm9yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQu
Y3BwCmluZGV4IDAzZDE2MmZkZDExYjM1ZTI2MjBkMjJjMTk4NDI0OTg4NzliYjQ1NWUuLmIwYWMz
NTg2YjAyNDliNGFiZTFlNGZjYmNlNzNlOWQ4ZmE4NjViNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZC5jcHAKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5
LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZE1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRlICJTZW1h
cGhvcmUuaCIKICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KICNpbmNsdWRlIDx3
dGYvU3lzdGVtVHJhY2luZy5oPgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZC5oCmluZGV4IDUxOGE2YWFhZmMyODhkZTM4ZmJlMDBmZmViMjBiODZmNDBjNjI3NjMu
Ljc1ZDllMGFhNTI0MjQyOGNlYjY3ZjdiNGIzNWU0ZjU4MjIwNjZjYmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQuaApAQCAtMjksMTMgKzI5LDEzIEBACiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAj
aW5jbHVkZSAiR1BVUHJvY2Vzc1dha2V1cE1lc3NhZ2VBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJJ
UENTZW1hcGhvcmUuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUuaCIKICNp
bmNsdWRlICJJbWFnZURhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIu
aCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVzb3VyY2VD
YWNoZS5oIgogI2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCi0jaW5jbHVk
ZSAiU2VtYXBob3JlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db2xvclNwYWNlLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9EaXNwbGF5TGlzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxheUxpc3RJ
dGVtcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHAKaW5kZXggY2FmOTMwZGQzY2Y1
NWQ2MWNhNTg2MmUzYTNjNDU2NWY5OTI0Nzg1NS4uNDBlOTFkMzIyYzNlZTViOTFkMjU5ZTRjMjBl
YzBmMGY2ZGViZTVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwCkBAIC0yOSw3
ICsyOSw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQog
CiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIlNlbWFw
aG9yZS5oIgorI2luY2x1ZGUgIklQQ1NlbWFwaG9yZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXVk
aW9VdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVz
dGluYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaAppbmRleCAxZDA2ZDk4ZjE4NzBiZjcxM2E4NDg0NTAw
YmQ4OTRhYTAzMmQxNDllLi5hY2NjMTFhYjJiZjYzNjZmMjg4NjdjYzFmNmE1M2VhYzY3MTNjYzAw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5j
bHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvRGVzdGluYXRpb25JZGVu
dGlmaWVyLmgiCi0jaW5jbHVkZSAiU2VtYXBob3JlLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5
LmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5o
PgpAQCAtNDEsNiArNDAsMTAgQEAgY2xhc3MgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uOwogfQog
I2VuZGlmCiAKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgU2VtYXBob3JlOworfQorCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9JUENTZW1hcGhvcmUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MTIxYTRi
ZWE5YjdjZjRlNmFkNzI3ZTlmODQ3NzAxYzIxMjM4ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9JUENTZW1hcGhvcmUuY3BwCkBAIC0wLDAgKzEsNTAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSVBDU2VtYXBob3Jl
LmgiCisKKyNpZiAhT1MoREFSV0lOKQorCituYW1lc3BhY2UgSVBDIHsKKworU2VtYXBob3JlOjpT
ZW1hcGhvcmUoKSA9IGRlZmF1bHQ7CisKK1NlbWFwaG9yZTo6U2VtYXBob3JlKFNlbWFwaG9yZSYm
KSA9IGRlZmF1bHQ7CisKK1NlbWFwaG9yZTo6flNlbWFwaG9yZSgpID0gZGVmYXVsdDsKKworU2Vt
YXBob3JlJiBTZW1hcGhvcmU6Om9wZXJhdG9yPShTZW1hcGhvcmUmJikgPSBkZWZhdWx0OworCit2
b2lkIFNlbWFwaG9yZTo6ZW5jb2RlKEVuY29kZXImKSBjb25zdCB7IH0KKworT3B0aW9uYWw8U2Vt
YXBob3JlPiBTZW1hcGhvcmU6OmRlY29kZShEZWNvZGVyJikKK3sKKyAgICByZXR1cm4gU2VtYXBo
b3JlIHsgfTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSVBD
U2VtYXBob3JlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDk4M2FjNWM2ODQ4MDc2ZmYxZTUwNWE3ZjE5OWQyNThk
NDVjMmM4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0lQ
Q1NlbWFwaG9yZS5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5o
PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CisKKyNpZiBPUyhEQVJXSU4pCisjaW5jbHVkZSA8
bWFjaC9zZW1hcGhvcmUuaD4KKyNpbmNsdWRlIDx3dGYvTWFjaFNlbmRSaWdodC5oPgorI2VuZGlm
CisKK25hbWVzcGFjZSBJUEMgeworCitjbGFzcyBEZWNvZGVyOworY2xhc3MgRW5jb2RlcjsKKwor
Y2xhc3MgU2VtYXBob3JlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTZW1hcGhvcmUpOworcHVibGljOgorICAgIFNlbWFwaG9yZSgpOwor
ICAgIFNlbWFwaG9yZShTZW1hcGhvcmUmJik7CisgICAgflNlbWFwaG9yZSgpOworICAgIFNlbWFw
aG9yZSYgb3BlcmF0b3I9KFNlbWFwaG9yZSYmKTsKKworICAgIHZvaWQgZW5jb2RlKEVuY29kZXIm
KSBjb25zdDsKKyAgICBzdGF0aWMgT3B0aW9uYWw8U2VtYXBob3JlPiBkZWNvZGUoRGVjb2RlciYp
OworCisjaWYgT1MoREFSV0lOKQorICAgIGV4cGxpY2l0IFNlbWFwaG9yZShNYWNoU2VuZFJpZ2h0
JiYpOworCisgICAgdm9pZCBzaWduYWwoKTsKKyAgICB2b2lkIHdhaXQoKTsKKyAgICB2b2lkIHdh
aXRGb3IoU2Vjb25kcyk7CisgICAgTWFjaFNlbmRSaWdodCBjcmVhdGVTZW5kUmlnaHQoKSBjb25z
dDsKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9zZW5kUmln
aHQgfHwgbV9zZW1hcGhvcmUgIT0gU0VNQVBIT1JFX05VTEw7IH0KKyNlbHNlCisgICAgZXhwbGlj
aXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyNlbmRpZgorCitwcml2
YXRlOgorI2lmIE9TKERBUldJTikKKyAgICB2b2lkIGRlc3Ryb3koKTsKKyAgICBNYWNoU2VuZFJp
Z2h0IG1fc2VuZFJpZ2h0OworICAgIHNlbWFwaG9yZV90IG1fc2VtYXBob3JlIHsgU0VNQVBIT1JF
X05VTEwgfTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TZW1hcGhvcmUuY3BwIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvU2VtYXBob3JlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjNkMmY0Yjk4MmViNTk2MGM3N2I2N2IxNjczZTQ0MWI5YTNjNWQ1ZC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9TZW1hcGhvcmUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJTZW1hcGhvcmUuaCIKLQotI2lmICFP
UyhEQVJXSU4pCi0KLW5hbWVzcGFjZSBJUEMgewotCi1TZW1hcGhvcmU6OlNlbWFwaG9yZSgpID0g
ZGVmYXVsdDsKLQotU2VtYXBob3JlOjpTZW1hcGhvcmUoU2VtYXBob3JlJiYpID0gZGVmYXVsdDsK
LQotU2VtYXBob3JlOjp+U2VtYXBob3JlKCkgPSBkZWZhdWx0OwotCi1TZW1hcGhvcmUmIFNlbWFw
aG9yZTo6b3BlcmF0b3I9KFNlbWFwaG9yZSYmKSA9IGRlZmF1bHQ7Ci0KLXZvaWQgU2VtYXBob3Jl
OjplbmNvZGUoRW5jb2RlciYpIGNvbnN0IHsgfQotCi1PcHRpb25hbDxTZW1hcGhvcmU+IFNlbWFw
aG9yZTo6ZGVjb2RlKERlY29kZXImKQotewotICAgIHJldHVybiBTZW1hcGhvcmUgeyB9OwotfQot
Ci19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2Vt
YXBob3JlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TZW1hcGhvcmUuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk4M2FjNWM2ODQ4MDc2ZmYxZTUwNWE3ZjE5OWQyNThk
NDVjMmM4MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TZW1hcGhvcmUuaAorKysgL2Rldi9udWxsCkBAIC0x
LDc0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgotI2luY2x1ZGUgPHd0Zi9T
ZWNvbmRzLmg+Ci0KLSNpZiBPUyhEQVJXSU4pCi0jaW5jbHVkZSA8bWFjaC9zZW1hcGhvcmUuaD4K
LSNpbmNsdWRlIDx3dGYvTWFjaFNlbmRSaWdodC5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBJUEMg
ewotCi1jbGFzcyBEZWNvZGVyOwotY2xhc3MgRW5jb2RlcjsKLQotY2xhc3MgU2VtYXBob3JlIHsK
LSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
ZW1hcGhvcmUpOwotcHVibGljOgotICAgIFNlbWFwaG9yZSgpOwotICAgIFNlbWFwaG9yZShTZW1h
cGhvcmUmJik7Ci0gICAgflNlbWFwaG9yZSgpOwotICAgIFNlbWFwaG9yZSYgb3BlcmF0b3I9KFNl
bWFwaG9yZSYmKTsKLQotICAgIHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0
aWMgT3B0aW9uYWw8U2VtYXBob3JlPiBkZWNvZGUoRGVjb2RlciYpOwotCi0jaWYgT1MoREFSV0lO
KQotICAgIGV4cGxpY2l0IFNlbWFwaG9yZShNYWNoU2VuZFJpZ2h0JiYpOwotCi0gICAgdm9pZCBz
aWduYWwoKTsKLSAgICB2b2lkIHdhaXQoKTsKLSAgICB2b2lkIHdhaXRGb3IoU2Vjb25kcyk7Ci0g
ICAgTWFjaFNlbmRSaWdodCBjcmVhdGVTZW5kUmlnaHQoKSBjb25zdDsKLSAgICBleHBsaWNpdCBv
cGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9zZW5kUmlnaHQgfHwgbV9zZW1hcGhvcmUg
IT0gU0VNQVBIT1JFX05VTEw7IH0KLSNlbHNlCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSNlbmRpZgotCi1wcml2YXRlOgotI2lmIE9TKERBUldJ
TikKLSAgICB2b2lkIGRlc3Ryb3koKTsKLSAgICBNYWNoU2VuZFJpZ2h0IG1fc2VuZFJpZ2h0Owot
ICAgIHNlbWFwaG9yZV90IG1fc2VtYXBob3JlIHsgU0VNQVBIT1JFX05VTEwgfTsKLSNlbmRpZgot
fTsKLQotfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9kYXJ3aW4vSVBDU2VtYXBob3JlRGFyd2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4NzVj
ODFkNDJjNGZjNThlOWRlYjM3M2Y1YzBkYzYwNjk2ZWE2YzUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9kYXJ3aW4vSVBDU2VtYXBob3JlRGFyd2luLmNwcApA
QCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJJUENTZW1hcGhvcmUuaCIKKworI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgorI2luY2x1ZGUgPG1hY2gvbWFjaC5oPgorCituYW1lc3BhY2UgSVBDIHsKKworU2VtYXBob3Jl
OjpTZW1hcGhvcmUoKQoreworICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2NyZWF0ZShtYWNoX3Rh
c2tfc2VsZigpLCAmbV9zZW1hcGhvcmUsIFNZTkNfUE9MSUNZX0ZJRk8sIDApOworICAgIEFTU0VS
VF9VTlVTRUQocmV0LCByZXQgPT0gS0VSTl9TVUNDRVNTKTsKK30KKworU2VtYXBob3JlOjpTZW1h
cGhvcmUoU2VtYXBob3JlJiYgb3RoZXIpCisgICAgOiBtX3NlbmRSaWdodChXVEZNb3ZlKG90aGVy
Lm1fc2VuZFJpZ2h0KSkKKyAgICAsIG1fc2VtYXBob3JlKHN0ZDo6ZXhjaGFuZ2Uob3RoZXIubV9z
ZW1hcGhvcmUsIFNFTUFQSE9SRV9OVUxMKSkKK3sKK30KKworU2VtYXBob3JlOjpTZW1hcGhvcmUo
TWFjaFNlbmRSaWdodCYmIHNlbmRSaWdodCkKKyAgICA6IG1fc2VuZFJpZ2h0KFdURk1vdmUoc2Vu
ZFJpZ2h0KSkKKyAgICAsIG1fc2VtYXBob3JlKG1fc2VuZFJpZ2h0LnNlbmRSaWdodCgpKQorewor
ICAgIEFTU0VSVChtX3NlbmRSaWdodCk7Cit9CisKK1NlbWFwaG9yZTo6flNlbWFwaG9yZSgpCit7
CisgICAgZGVzdHJveSgpOworfQorCitTZW1hcGhvcmUmIFNlbWFwaG9yZTo6b3BlcmF0b3I9KFNl
bWFwaG9yZSYmIG90aGVyKQoreworICAgIGlmICh0aGlzICE9ICZvdGhlcikgeworICAgICAgICBk
ZXN0cm95KCk7CisgICAgICAgIG1fc2VuZFJpZ2h0ID0gV1RGTW92ZShvdGhlci5tX3NlbmRSaWdo
dCk7CisgICAgICAgIG1fc2VtYXBob3JlID0gc3RkOjpleGNoYW5nZShvdGhlci5tX3NlbWFwaG9y
ZSwgU0VNQVBIT1JFX05VTEwpOworICAgIH0KKworICAgIHJldHVybiAqdGhpczsKK30KKwordm9p
ZCBTZW1hcGhvcmU6OnNpZ25hbCgpCit7CisgICAgYXV0byByZXQgPSBzZW1hcGhvcmVfc2lnbmFs
KG1fc2VtYXBob3JlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VDQ0VT
Uyk7Cit9CisKK3ZvaWQgU2VtYXBob3JlOjp3YWl0KCkKK3sKKyAgICBhdXRvIHJldCA9IHNlbWFw
aG9yZV93YWl0KG1fc2VtYXBob3JlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtF
Uk5fU1VDQ0VTUyk7Cit9CisKK3ZvaWQgU2VtYXBob3JlOjp3YWl0Rm9yKFNlY29uZHMgdGltZW91
dCkKK3sKKyAgICBhdXRvIHNlY29uZHMgPSB0aW1lb3V0LnNlY29uZHNBczx1bnNpZ25lZD4oKTsK
KyAgICBhdXRvIHJldCA9IHNlbWFwaG9yZV90aW1lZHdhaXQobV9zZW1hcGhvcmUsIHsgc2Vjb25k
cywgc3RhdGljX2Nhc3Q8Y2xvY2tfcmVzX3Q+KHRpbWVvdXQubmFub3NlY29uZHNBczx1aW50NjRf
dD4oKSAtIHNlY29uZHMgKiBOU0VDX1BFUl9TRUMpIH0pOworICAgIEFTU0VSVF9VTlVTRUQocmV0
LCByZXQgPT0gS0VSTl9TVUNDRVNTIHx8IHJldCA9PSBLRVJOX09QRVJBVElPTl9USU1FRF9PVVQp
OworfQorCitNYWNoU2VuZFJpZ2h0IFNlbWFwaG9yZTo6Y3JlYXRlU2VuZFJpZ2h0KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gTWFjaFNlbmRSaWdodDo6Y3JlYXRlKG1fc2VtYXBob3JlKTsKK30KKwor
dm9pZCBTZW1hcGhvcmU6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVu
Y29kZXIgPDwgY3JlYXRlU2VuZFJpZ2h0KCk7Cit9CisKK09wdGlvbmFsPFNlbWFwaG9yZT4gU2Vt
YXBob3JlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBNYWNoU2VuZFJpZ2h0IHNl
bmRSaWdodDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNlbmRSaWdodCkpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIE9wdGlvbmFsPFNlbWFwaG9yZT4geyBzdGQ6
OmluX3BsYWNlLCBXVEZNb3ZlKHNlbmRSaWdodCkgfTsKK30KKworCit2b2lkIFNlbWFwaG9yZTo6
ZGVzdHJveSgpCit7CisgICAgaWYgKG1fc2VuZFJpZ2h0KSB7CisgICAgICAgIG1fc2VuZFJpZ2h0
ID0gTWFjaFNlbmRSaWdodCgpOworICAgICAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxM
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChtX3NlbWFwaG9yZSA9PSBTRU1BUEhP
UkVfTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2Rlc3Ry
b3kobWFjaF90YXNrX3NlbGYoKSwgbV9zZW1hcGhvcmUpOworICAgIEFTU0VSVF9VTlVTRUQocmV0
LCByZXQgPT0gS0VSTl9TVUNDRVNTKTsKKyAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxM
OworfQorCit9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL2Rhcndpbi9TZW1hcGhvcmVEYXJ3aW4uY3BwIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGUxMTRkYjllYTFmNzlkM2ExMTU4OGU1ZTBhOGVjMmYzZWRhYjkwN2MuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSwxMjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJTZW1hcGhvcmUuaCIKLQotI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgotI2lu
Y2x1ZGUgPG1hY2gvbWFjaC5oPgotCi1uYW1lc3BhY2UgSVBDIHsKLQotU2VtYXBob3JlOjpTZW1h
cGhvcmUoKQotewotICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2NyZWF0ZShtYWNoX3Rhc2tfc2Vs
ZigpLCAmbV9zZW1hcGhvcmUsIFNZTkNfUE9MSUNZX0ZJRk8sIDApOwotICAgIEFTU0VSVF9VTlVT
RUQocmV0LCByZXQgPT0gS0VSTl9TVUNDRVNTKTsKLX0KLQotU2VtYXBob3JlOjpTZW1hcGhvcmUo
U2VtYXBob3JlJiYgb3RoZXIpCi0gICAgOiBtX3NlbmRSaWdodChXVEZNb3ZlKG90aGVyLm1fc2Vu
ZFJpZ2h0KSkKLSAgICAsIG1fc2VtYXBob3JlKHN0ZDo6ZXhjaGFuZ2Uob3RoZXIubV9zZW1hcGhv
cmUsIFNFTUFQSE9SRV9OVUxMKSkKLXsKLX0KLQotU2VtYXBob3JlOjpTZW1hcGhvcmUoTWFjaFNl
bmRSaWdodCYmIHNlbmRSaWdodCkKLSAgICA6IG1fc2VuZFJpZ2h0KFdURk1vdmUoc2VuZFJpZ2h0
KSkKLSAgICAsIG1fc2VtYXBob3JlKG1fc2VuZFJpZ2h0LnNlbmRSaWdodCgpKQotewotICAgIEFT
U0VSVChtX3NlbmRSaWdodCk7Ci19Ci0KLVNlbWFwaG9yZTo6flNlbWFwaG9yZSgpCi17Ci0gICAg
ZGVzdHJveSgpOwotfQotCi1TZW1hcGhvcmUmIFNlbWFwaG9yZTo6b3BlcmF0b3I9KFNlbWFwaG9y
ZSYmIG90aGVyKQotewotICAgIGlmICh0aGlzICE9ICZvdGhlcikgewotICAgICAgICBkZXN0cm95
KCk7Ci0gICAgICAgIG1fc2VuZFJpZ2h0ID0gV1RGTW92ZShvdGhlci5tX3NlbmRSaWdodCk7Ci0g
ICAgICAgIG1fc2VtYXBob3JlID0gc3RkOjpleGNoYW5nZShvdGhlci5tX3NlbWFwaG9yZSwgU0VN
QVBIT1JFX05VTEwpOwotICAgIH0KLQotICAgIHJldHVybiAqdGhpczsKLX0KLQotdm9pZCBTZW1h
cGhvcmU6OnNpZ25hbCgpCi17Ci0gICAgYXV0byByZXQgPSBzZW1hcGhvcmVfc2lnbmFsKG1fc2Vt
YXBob3JlKTsKLSAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VDQ0VTUyk7Ci19
Ci0KLXZvaWQgU2VtYXBob3JlOjp3YWl0KCkKLXsKLSAgICBhdXRvIHJldCA9IHNlbWFwaG9yZV93
YWl0KG1fc2VtYXBob3JlKTsKLSAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VD
Q0VTUyk7Ci19Ci0KLXZvaWQgU2VtYXBob3JlOjp3YWl0Rm9yKFNlY29uZHMgdGltZW91dCkKLXsK
LSAgICBhdXRvIHNlY29uZHMgPSB0aW1lb3V0LnNlY29uZHNBczx1bnNpZ25lZD4oKTsKLSAgICBh
dXRvIHJldCA9IHNlbWFwaG9yZV90aW1lZHdhaXQobV9zZW1hcGhvcmUsIHsgc2Vjb25kcywgc3Rh
dGljX2Nhc3Q8Y2xvY2tfcmVzX3Q+KHRpbWVvdXQubmFub3NlY29uZHNBczx1aW50NjRfdD4oKSAt
IHNlY29uZHMgKiBOU0VDX1BFUl9TRUMpIH0pOwotICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQg
PT0gS0VSTl9TVUNDRVNTIHx8IHJldCA9PSBLRVJOX09QRVJBVElPTl9USU1FRF9PVVQpOwotfQot
Ci1NYWNoU2VuZFJpZ2h0IFNlbWFwaG9yZTo6Y3JlYXRlU2VuZFJpZ2h0KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gTWFjaFNlbmRSaWdodDo6Y3JlYXRlKG1fc2VtYXBob3JlKTsKLX0KLQotdm9pZCBT
ZW1hcGhvcmU6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGVuY29kZXIg
PDwgY3JlYXRlU2VuZFJpZ2h0KCk7Ci19Ci0KLU9wdGlvbmFsPFNlbWFwaG9yZT4gU2VtYXBob3Jl
OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKLXsKLSAgICBNYWNoU2VuZFJpZ2h0IHNlbmRSaWdo
dDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNlbmRSaWdodCkpCi0gICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7Ci0gICAgcmV0dXJuIE9wdGlvbmFsPFNlbWFwaG9yZT4geyBzdGQ6OmluX3Bs
YWNlLCBXVEZNb3ZlKHNlbmRSaWdodCkgfTsKLX0KLQotCi12b2lkIFNlbWFwaG9yZTo6ZGVzdHJv
eSgpCi17Ci0gICAgaWYgKG1fc2VuZFJpZ2h0KSB7Ci0gICAgICAgIG1fc2VuZFJpZ2h0ID0gTWFj
aFNlbmRSaWdodCgpOwotICAgICAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxMOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChtX3NlbWFwaG9yZSA9PSBTRU1BUEhPUkVfTlVM
TCkKLSAgICAgICAgcmV0dXJuOwotICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2Rlc3Ryb3kobWFj
aF90YXNrX3NlbGYoKSwgbV9zZW1hcGhvcmUpOwotICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQg
PT0gS0VSTl9TVUNDRVNTKTsKLSAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxMOwotfQot
Ci19IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93
ZWJraXQvdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25zLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25zLmNwcApp
bmRleCBjYzY4MzY4MjgxY2Q1OTNkNDZjZjBhNzVlMWE2NGQwYjdlZjM4YzU5Li5lZDkzMDg1MmIz
ZTNkYThjOTQ3NDMzMjRlNDU0MGMyMzRhMThjYTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvd2Via2l0L3Rlc3RzL01lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9NZXNzYWdlQXJndW1lbnREZXNj
cmlwdGlvbnMuY3BwCkBAIC0zNSwxMiArMzUsMTIgQEAKICNpZiBQTEFURk9STShNQUMpCiAjaW5j
bHVkZSAiR2VzdHVyZVR5cGVzLmgiCiAjZW5kaWYKKyNpbmNsdWRlICJJUENTZW1hcGhvcmUuaCIK
ICNpbmNsdWRlICJKU0lQQ0JpbmRpbmcuaCIKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAi
TWFjaFBvcnQuaCIKICNlbmRpZgogI2luY2x1ZGUgIlBsdWdpbi5oIgotI2luY2x1ZGUgIlNlbWFw
aG9yZS5oIgogI2luY2x1ZGUgIlRlc3RDbGFzc05hbWUuaCIKICNpZiBFTkFCTEUoVEVTVF9GRUFU
VVJFKQogI2luY2x1ZGUgIlRlc3RUd29TdGF0ZUVudW0uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhTZW1hcGhvcmVNZXNzYWdlUmVjZWl2
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFNlbWFw
aG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAKaW5kZXggNmY2ODY5OTUzMjdmYzJmMjRiZWFkOTVjMDM3
ZWVjOGRjMWQ3ODBlZS4uNzIxMDNjNDc0NDlkNmNjNTA3MWUwMWIwMjRhZGQ1MWRkMmI0OTU1OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFNl
bWFwaG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC90ZXN0cy9UZXN0V2l0aFNlbWFwaG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAKQEAgLTI3LDcg
KzI3LDcgQEAKIAogI2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNsdWRlICJIYW5kbGVNZXNzYWdl
LmgiCi0jaW5jbHVkZSAiU2VtYXBob3JlLmgiCisjaW5jbHVkZSAiSVBDU2VtYXBob3JlLmgiCiAj
aW5jbHVkZSAiVGVzdFdpdGhTZW1hcGhvcmVNZXNzYWdlcy5oIgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0CmluZGV4IDlhYmQ4OTk1YjI4MTlhZmE5Y2ZmMTQ3MmRjNDg4MTAxOWYyNmY2
MzguLjZkNGVhNTM0OGM3ZGFlZjc1MTAzODkwYjUwOWMwNzIwOTkzMWEzMTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dApAQCAtMTQxLDEwICsxNDEsMTAgQEAgUGxhdGZvcm0vSVBDL0F0dGFjaG1lbnQuY3BwIEBuby11
bmlmeQogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBD
L0RlY29kZXIuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL0VuY29kZXIuY3BwIEBuby11bmlm
eQorUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMv
SlNJUENCaW5kaW5nLmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9NZXNzYWdlUmVjZWl2ZXJN
YXAuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuY3BwIEBuby11bmlm
eQotUGxhdGZvcm0vSVBDL1NlbWFwaG9yZS5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvU2hh
cmVkQnVmZmVyQ29weS5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvU2hhcmVkQnVmZmVyRGF0
YVJlZmVyZW5jZS5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNw
cCBAbm8tdW5pZnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA0MmI4ZTI0ZjFmNzhiNDA3NWJj
NzEwMmQ5NDAyNWMwNWMxODc0MGFkLi40ZGYzNDQzNTVlYTRhMTNlYWU5OTM3Y2M1ZGNhMzYyNmYw
ZjgwOTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC04Nyw4ICs4Nyw4IEBAIFBsYXRmb3Jt
L2lvcy9QYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXIubW0KIAogUGxhdGZvcm0vSVBDL2Nv
Y29hL0Nvbm5lY3Rpb25Db2NvYS5tbQogUGxhdGZvcm0vSVBDL2NvY29hL01hY2hNZXNzYWdlLmNw
cAotUGxhdGZvcm0vSVBDL2Rhcndpbi9TZW1hcGhvcmVEYXJ3aW4uY3BwCiAKK1BsYXRmb3JtL0lQ
Qy9kYXJ3aW4vSVBDU2VtYXBob3JlRGFyd2luLmNwcAogCiBQbGF0Zm9ybS9tYWMvTWFjaFV0aWxp
dGllcy5jcHAKIFBsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5ZmNiZjgxMDUyNDJiNmYy
ODc0OGY5ODA2NWViNDAwMzVjYzI0ZGJkLi43Y2IzYjc1ZjkxYjlmZGIwZjcxM2M0YjI2NjgwZjRj
NTFlZDc4MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEzMjcsOCArMTMyNyw2IEBACiAJCTdBRkJEMzY3MjFFNTFCQUIwMDVEQkFD
QiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzY1MjFFNTFCQUIwMDVEQkFDQiAv
KiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCAqLzsgfTsKIAkJN0FGQkQzNkYy
MUU1NDZGODAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzZEMjFFNTQ2RTMwMDVEQkFDQiAvKiBQ
ZXJzaXN0ZW5jeVV0aWxzLmggKi87IH07CiAJCTdCMURCMjY2MjU2NjhDRTEwMDBFMjZCQyAvKiBB
cnJheVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0IxREIyNjUyNTY2OENFMDAwMEUyNkJDIC8qIEFycmF5UmVmZXJlbmNlLmggKi87IH07
Ci0JCTdCNzMxMjI4MjVDOTg4QUEwMDNCMjc5NiAvKiBTZW1hcGhvcmUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I3MzEyMjYyNUM5ODhBQTAwM0Iy
Nzk2IC8qIFNlbWFwaG9yZS5jcHAgKi87IH07Ci0JCTdCNzMxMjI5MjVDOTg4QUIwMDNCMjc5NiAv
KiBTZW1hcGhvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdCNzMxMjI3MjVDOTg4QUEwMDNCMjc5NiAvKiBTZW1hcGhvcmUuaCAqLzsgfTsKIAkJN0Mw
NjVGMkMxQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwNjVG
MkExQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5o
ICovOyB9OwogCQk3QzEzNUFBOTE3M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxMzVB
QTcxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzFCQTMzRTFBNEEwRTYwMDA0
M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0MxQkEzM0MxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnku
aCAqLzsgfTsKQEAgLTE1NzcsNiArMTU3NSw5IEBACiAJCUExRUYzNkMwMjU4MUY3NkYwMDkwQjAy
QSAvKiBNZWRpYUZvcm1hdFJlYWRlci5idW5kbGUgaW4gQ29weSBQbHVnLWlucyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTZFNjYwMDI1ODE5MzA4MDBFRTE3NDkgLyogTWVk
aWFGb3JtYXRSZWFkZXIuYnVuZGxlICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFJlbW92
ZUhlYWRlcnNPbkNvcHksICk7IH07IH07CiAJCUExRUYzNkQ1MjU4MUY3RUIwMDkwQjAyQSAvKiBN
ZWRpYUZvcm1hdFJlYWRlci5idW5kbGUgaW4gQ29weSBQbHVnLWlucyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMTZFNjYwMDI1ODE5MzA4MDBFRTE3NDkgLyogTWVkaWFGb3Jt
YXRSZWFkZXIuYnVuZGxlICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFJlbW92ZUhlYWRl
cnNPbkNvcHksICk7IH07IH07CiAJCUExRkI2ODI0MUY2RTUxODIwMEM0M0Y5RiAvKiBXS0NyYXNo
UmVwb3J0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExRkI2ODIyMUY2RTUxODIwMEM0M0Y5RiAvKiBXS0NyYXNoUmVwb3J0ZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBMzFGNjBBNDI1Q0M3REI5
MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMzFGNjBBMjI1Q0M3REI4MDBBRjE0RjQgLyogSVBDU2VtYXBob3Jl
LmggKi87IH07CisJCUEzMUY2MEE1MjVDQzdEQjkwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxRjYwQTMy
NUNDN0RCODAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5jcHAgKi87IH07CisJCUEzMUY2MEE3MjVD
QzdEQ0YwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmVEYXJ3aW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxRjYwQTYyNUNDN0RDRjAwQUYxNEY0IC8q
IElQQ1NlbWFwaG9yZURhcndpbi5jcHAgKi87IH07CiAJCUE1MTNGNTQwMjE1NEE1RDcwMDY2Mjg0
MSAvKiBXZWJQYWdlSW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxM0Y1M0UyMTU0QTVDQzAwNjYyODQxIC8qIFdlYlBh
Z2VJbnNwZWN0b3JDb250cm9sbGVyLmggKi87IH07CiAJCUE1MThCNUQyMUZFMUQ1NUIwMEY5RkEy
OCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTUxOEI1RDAxRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9y
V0tXZWJWaWV3LmggKi87IH07CiAJCUE1NDI5M0E0MTk1QTQzREEwMDI3ODJDNyAvKiBXS0luc3Bl
Y3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0MjkzQTIxOTVBNDNDNjAwMjc4MkM3IC8qIFdLSW5z
cGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLmggKi87IH07CkBAIC00NTE5LDkgKzQ1
MjAsNiBAQAogCQk3QUZCRDM2RTIxRTU0NkUzMDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGlscy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJzaXN0ZW5jeVV0aWxzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0IxREIyNjUyNTY2OENFMDAwMEUyNkJDIC8qIEFycmF5UmVmZXJl
bmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFycmF5UmVmZXJlbmNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdCNjRDMEI2MjU0QzVDMjUwMDA2QjRBRiAv
KiBHcmFwaGljc0NvbnRleHRHTElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR3JhcGhpY3ND
b250ZXh0R0xJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdCNzMx
MjI2MjVDOTg4QUEwMDNCMjc5NiAvKiBTZW1hcGhvcmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU2VtYXBob3JlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJN0I3MzEyMjcyNUM5ODhBQTAwM0IyNzk2IC8qIFNlbWFwaG9yZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTZW1hcGhvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJN0I3MzEyMkEyNUM5ODhDNjAwM0IyNzk2IC8qIFNlbWFwaG9yZURhcndpbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZW1hcGhvcmVEYXJ3aW4uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QjkwNDE2NTI1NEFGREVBMDA2RUVCOEMg
LyogUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0I5MDQxNjYyNTRBRkRFQjAwNkVFQjhDIC8qIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdM
UHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QjkwNDE2NzI1NEFGRTE3MDA2RUVCOEMgLyog
UmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVHcmFw
aGljc0NvbnRleHRHTFByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNDk2Niw2ICs0OTY0LDkgQEAKIAkJQTFFREQyREIxODg0Qjk2NDAwQkJGRTk4IC8qIFBs
dWdpblByb2Nlc3NTaGltLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFBsdWdpblByb2Nlc3NTaGlt
LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUZCNjgyMjFGNkU1MTgy
MDBDNDNGOUYgLyogV0tDcmFzaFJlcG9ydGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQ3Jhc2hSZXBv
cnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUZCNjgyMzFGNkU1MTgyMDBD
NDNGOUYgLyogV0tDcmFzaFJlcG9ydGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tDcmFz
aFJlcG9ydGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFGNjBBMjI1Q0M3
REI4MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IElQQ1NlbWFwaG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFG
NjBBMzI1Q0M3REI4MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElQQ1NlbWFwaG9yZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUEzMUY2MEE2MjVDQzdEQ0YwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmVEYXJ3
aW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSVBDU2VtYXBob3Jl
RGFyd2luLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTM4QTEyRTEyM0M5M0FD
NzAwRkFCRkE5IC8qIFRleHRDaGVja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRleHRDaGVja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTM5MzdCNjEyM0NEMUI5QjAwNUIyQTJFIC8qIFdlYlByZWZlcmVuY2VzQ29jb2EubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcmVmZXJlbmNlc0NvY29hLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTEzRjUzRTIxNTRBNUNDMDA2NjI4NDEg
LyogV2ViUGFnZUluc3BlY3RvckNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGFnZUlu
c3BlY3RvckNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY5MDEs
NiArNjkwMiw4IEBACiAJCQkJNDE1MUU1QzMxRkJCOTBBOTAwRTQ3RTJEIC8qIEZvcm1EYXRhUmVm
ZXJlbmNlLmggKi8sCiAJCQkJQzBDRTcyQUMxMjQ3RTc4RDAwQkMwRUM0IC8qIEhhbmRsZU1lc3Nh
Z2UuaCAqLywKIAkJCQkxQzlBRjM2MTI0MTM0RDIzMDBEM0VDMDIgLyogSW1hZ2VEYXRhUmVmZXJl
bmNlLmggKi8sCisJCQkJQTMxRjYwQTMyNUNDN0RCODAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5j
cHAgKi8sCisJCQkJQTMxRjYwQTIyNUNDN0RCODAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5oICov
LAogCQkJCTlCRjVFQzYzMjU0MTBFOTkwMDk4NEU3NyAvKiBKU0lQQ0JpbmRpbmcuY3BwICovLAog
CQkJCTlCNDc5MDhFMjUzMTUxQ0MwMEVDMTFBQiAvKiBKU0lQQ0JpbmRpbmcuaCAqLywKIAkJCQk5
QjQ3OTA4QzI1MzE0RDgzMDBFQzExQUIgLyogTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25zLmgg
Ki8sCkBAIC02OTEwLDggKzY5MTMsNiBAQAogCQkJCTFBM0VFRDBEMTYxQTUzNTMwMEFFQjRGNSAv
KiBNZXNzYWdlUmVjZWl2ZXJNYXAuaCAqLywKIAkJCQkxQUFCMDM3NzE4NUE3QzZBMDBFREY1MDEg
LyogTWVzc2FnZVNlbmRlci5jcHAgKi8sCiAJCQkJMUFBQjAzNzgxODVBN0M2QTAwRURGNTAxIC8q
IE1lc3NhZ2VTZW5kZXIuaCAqLywKLQkJCQk3QjczMTIyNjI1Qzk4OEFBMDAzQjI3OTYgLyogU2Vt
YXBob3JlLmNwcCAqLywKLQkJCQk3QjczMTIyNzI1Qzk4OEFBMDAzQjI3OTYgLyogU2VtYXBob3Jl
LmggKi8sCiAJCQkJMkRDMTgwMDFEOTBEREQxNUZDNjk5MUE5IC8qIFNoYXJlZEJ1ZmZlckNvcHku
Y3BwICovLAogCQkJCTVDQzVEQjkxMjE0ODhFMTYwMDZDQjhBOCAvKiBTaGFyZWRCdWZmZXJDb3B5
LmggKi8sCiAJCQkJMkRDMTg1NUVEQkZCODUwQkEwQjZEMDZEIC8qIFNoYXJlZEJ1ZmZlckRhdGFS
ZWZlcmVuY2UuY3BwICovLApAQCAtOTAxOSw3ICs5MDIwLDcgQEAKIAkJN0I3MzEyMkMyNUNBNjdB
RTAwM0IyNzk2IC8qIGRhcndpbiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCi0JCQkJN0I3MzEyMkEyNUM5ODhDNjAwM0IyNzk2IC8qIFNlbWFwaG9yZURhcndpbi5j
cHAgKi8sCisJCQkJQTMxRjYwQTYyNUNDN0RDRjAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZURhcndp
bi5jcHAgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGRhcndpbjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0xMTY2MCw2ICsxMTY2MSw3IEBACiAJCQkJQTVFMzkxRkQyMTgzQzFGODAwQzhG
QjMxIC8qIEluc3BlY3RvclRhcmdldFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNUJDRTVE
RjFDNTA3NjZBMDBDREUzRkEgLyogSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTJENEQyQzgxMURGNjBCRjMwMDJFQjEwQyAvKiBJbnRlcmFjdGlv
bkluZm9ybWF0aW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTMxRjYwQTQyNUNDN0RC
OTAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUI0NzkwOEYy
NTMxNTFDQzAwRUMxMUFCIC8qIEpTSVBDQmluZGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFF
NDlBNDkxMUZGQThDRTAwNDhCNDY0IC8qIEpTTlBNZXRob2QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBRTQ5ODc4MTFGRjdGQUEwMDQ4QjQ2NCAvKiBKU05QT2JqZWN0LmggaW4gSGVhZGVycyAqLywK
QEAgLTExOTIyLDcgKzExOTI0LDYgQEAKIAkJCQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyog
U2VjSXRlbVNoaW1Qcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE4RTY5MTgxNjlCNjY3QjAw
OUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTcwQUI4RjMyMEFFM0JENzAwQjhCRTg3IC8qIFNlY0tleVByb3h5U3RvcmUuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTdCNzMxMjI5MjVDOTg4QUIwMDNCMjc5NiAvKiBTZW1hcGhvcmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxNEQ5RjU3MTkxMTlEMzUwMDAwNjNBNyAvKiBTZXJ2aWNlc0NvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRkRFNjVBMTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNz
aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAv
KiBTZXNzaW9uU3RhdGVDb2RpbmcuaCBpbiBIZWFkZXJzICovLApAQCAtMTM2NzYsNiArMTM2Nzcs
OCBAQAogCQkJCUMxQTE1MkQ3MjRFNUEyOUEwMDk3OEM4QiAvKiBIYW5kbGVYUENFbmRwb2ludE1l
c3NhZ2VzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjc0OUY2NDQyMTQ2NTYxQjAwODM4MEJGIC8q
IEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNzQ5RjY0
NTIxNDY1NjFFMDA4MzgwQkYgLyogSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlBMzFGNjBBNTI1Q0M3REI5MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUEzMUY2MEE3MjVDQzdEQ0YwMEFGMTRGNCAvKiBJUENTZW1h
cGhvcmVEYXJ3aW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUJGNUVDNjQyNTQxMTQ1NjAwOTg0
RTc3IC8qIEpTSVBDQmluZGluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0MTIxMkNG
OUYwMDAxMjhBRkQgLyogSlNOUE1ldGhvZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkxMzQ0
MjIxMkNGOUYwMDAxMjhBRkQgLyogSlNOUE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEz
Nzc0LDcgKzEzNzc3LDYgQEAKIAkJCQlBNTVCQTgyNjFCQTI1Q0ZEMDA3Q0QzM0QgLyogUmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUJCQkU0QTAxOUI2NkM1MzAwNkI3RDgxIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxOEU2OTE3MTY5QjY2N0IwMDlCNjY3MCAv
KiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CTdCNzMxMjI4MjVDOTg4QUEwMDNCMjc5NiAvKiBTZW1hcGhvcmUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDFERTdDNkMyMjI3OEYxRTAwNTMyQjY1IC8qIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3ODcyMTJCNkFCMTAwRjQ5M0ZEIC8qIFNoYXJl
YWJsZUJpdG1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyREMxOEZFQkYzMzdCOTY3MUM4OEUz
Q0QgLyogU2hhcmVkQnVmZmVyQ29weS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eS5oCmluZGV4IDA1OTgyY2U3MGJlZDBhOTcwMDk1ZTI2ZWRkZGZm
NmQ2ODg2NzNmMjUuLjkxZTA1NjAwOWM2YmUzMjY2NDEzYzhkZjEwMjVhYzdlOTFhYzhhNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaApAQCAtMjksMTIgKzI5LDEyIEBA
CiAKICNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkdQVVByb2Nl
c3NXYWtldXBNZXNzYWdlQXJndW1lbnRzLmgiCisjaW5jbHVkZSAiSVBDU2VtYXBob3JlLmgiCiAj
aW5jbHVkZSAiSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJl
Y2VpdmVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgIlJlbW90ZVJl
c291cmNlQ2FjaGVQcm94eS5oIgogI2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVy
LmgiCi0jaW5jbHVkZSAiU2VtYXBob3JlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9EaXNwbGF5TGlz
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLmg+CiAj
aW5jbHVkZSA8d3RmL0RlcXVlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaAppbmRl
eCBhY2ViMjhhZmMyYzZkYTZhZjgzNzE4ZGJiZjI4YzM2MWNlYmI5ZWNmLi45OTVlN2YwMzVkNjM1
ZmZhNTk4MTM2NDAyNDQ0ODZhMDVmNjVmYWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvblBy
b3h5LmgKQEAgLTI5LDggKzI5LDggQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNs
dWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIklQQ1NlbWFwaG9yZS5oIgog
I2luY2x1ZGUgIlJlbW90ZUF1ZGlvRGVzdGluYXRpb25JZGVudGlmaWVyLmgiCi0jaW5jbHVkZSAi
U2VtYXBob3JlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BdWRpb0lPQ2FsbGJhY2suaD4KICNpbmNs
dWRlIDx3dGYvQ3Jvc3NUaHJlYWRRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4K
</data>
<flag name="commit-queue"
          id="437497"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419309</attachid>
            <date>2021-02-04 12:12:50 -0800</date>
            <delta_ts>2021-02-04 12:52:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221418-20210204121249.patch</filename>
            <type>text/plain</type>
            <size>34672</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZGIzYjRiMDIwOGQ0Yzgy
NjFmMWM0NWE4OTM5NTZjMzNkNTJlMmUuLjA1NWE4M2JmMWIyZjFjZTJiMzQ4NzE0ZjE1Mzk0MTcy
MzlhN2NlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMDItMDQgIFJvc3MgS2ly
c2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIERvbid0IHVzZSBTZW1h
cGhvcmUuaCBhcyBhIGZpbGVuYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjE0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJUEM6OlNlbWFwaG9yZSB3YXMgcmVjZW50bHkgbW92ZWQgdG8gSVBDL1Nl
bWFwaG9yZS5oOyBsZXQncyBlbnN1cmUgdGhhdCBpdCdzIElQQy9JUENTZW1hcGhvcmUuaCBpbnN0
ZWFkLgorICAgICAgICBTZW1hcGhvcmUuaCBpcyBhIGZpbGVuYW1lIHRoYXQgbWF5IGV4aXN0IGlu
IHBsYXRmb3JtIFNES3MgYW5kIHRodXMgY2FuIGNhdXNlIGEgV0sgYnVpbGQgYnJlYWsgYmFzZWQg
b24gb3JkZXJpbmcuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRl
cmluZ0JhY2tlbmQuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvSVBDU2Vt
YXBob3JlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NlbWFw
aG9yZS5jcHAuCisgICAgICAgICogUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2VtYXBob3JlLmguCisgICAgICAgICog
UGxhdGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXQvdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25z
LmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFNlbWFwaG9yZU1l
c3NhZ2VSZWNlaXZlci5jcHA6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogU291
cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uUHJveHkuaDoKKwogMjAyMS0wMi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjY3NzYzKSBOZXR3b3Jr
IHByb2Nlc3MgbGF1bmNoZXMgZWFybGllciB0aGFuIGJlZm9yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQu
Y3BwCmluZGV4IDAzZDE2MmZkZDExYjM1ZTI2MjBkMjJjMTk4NDI0OTg4NzliYjQ1NWUuLmIwYWMz
NTg2YjAyNDliNGFiZTFlNGZjYmNlNzNlOWQ4ZmE4NjViNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZC5jcHAKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5
LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZE1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRlICJTZW1h
cGhvcmUuaCIKICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KICNpbmNsdWRlIDx3
dGYvU3lzdGVtVHJhY2luZy5oPgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZC5oCmluZGV4IDUxOGE2YWFhZmMyODhkZTM4ZmJlMDBmZmViMjBiODZmNDBjNjI3NjMu
Ljc1ZDllMGFhNTI0MjQyOGNlYjY3ZjdiNGIzNWU0ZjU4MjIwNjZjYmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQuaApAQCAtMjksMTMgKzI5LDEzIEBACiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAj
aW5jbHVkZSAiR1BVUHJvY2Vzc1dha2V1cE1lc3NhZ2VBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJJ
UENTZW1hcGhvcmUuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUuaCIKICNp
bmNsdWRlICJJbWFnZURhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIu
aCIKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVzb3VyY2VD
YWNoZS5oIgogI2luY2x1ZGUgIlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCi0jaW5jbHVk
ZSAiU2VtYXBob3JlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db2xvclNwYWNlLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9EaXNwbGF5TGlzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxheUxpc3RJ
dGVtcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci5jcHAKaW5kZXggY2FmOTMwZGQzY2Y1
NWQ2MWNhNTg2MmUzYTNjNDU2NWY5OTI0Nzg1NS4uZjdhMWFmMmRmN2FlY2RjNzMyNTcxMjIxZTM0
YjdkYWNjYzBhOWIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwCkBAIC0yOSw3
ICsyOSw2IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQog
CiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIlNlbWFw
aG9yZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9VdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3
dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaApp
bmRleCAxZDA2ZDk4ZjE4NzBiZjcxM2E4NDg0NTAwYmQ4OTRhYTAzMmQxNDllLi40ODMwMDY5MWM3
OWM2NDJlZTM2NDMyZTFhMjlmOWY4OGNiM2M2MzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFn
ZXIuaApAQCAtMjgsOCArMjgsOCBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxF
KFdFQl9BVURJTykKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJJUENTZW1h
cGhvcmUuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmllci5oIgot
I2luY2x1ZGUgIlNlbWFwaG9yZS5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgogI2luY2x1
ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9JUENTZW1hcGhvcmUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MTIxYTRi
ZWE5YjdjZjRlNmFkNzI3ZTlmODQ3NzAxYzIxMjM4ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9JUENTZW1hcGhvcmUuY3BwCkBAIC0wLDAgKzEsNTAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSVBDU2VtYXBob3Jl
LmgiCisKKyNpZiAhT1MoREFSV0lOKQorCituYW1lc3BhY2UgSVBDIHsKKworU2VtYXBob3JlOjpT
ZW1hcGhvcmUoKSA9IGRlZmF1bHQ7CisKK1NlbWFwaG9yZTo6U2VtYXBob3JlKFNlbWFwaG9yZSYm
KSA9IGRlZmF1bHQ7CisKK1NlbWFwaG9yZTo6flNlbWFwaG9yZSgpID0gZGVmYXVsdDsKKworU2Vt
YXBob3JlJiBTZW1hcGhvcmU6Om9wZXJhdG9yPShTZW1hcGhvcmUmJikgPSBkZWZhdWx0OworCit2
b2lkIFNlbWFwaG9yZTo6ZW5jb2RlKEVuY29kZXImKSBjb25zdCB7IH0KKworT3B0aW9uYWw8U2Vt
YXBob3JlPiBTZW1hcGhvcmU6OmRlY29kZShEZWNvZGVyJikKK3sKKyAgICByZXR1cm4gU2VtYXBo
b3JlIHsgfTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSVBD
U2VtYXBob3JlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDk4M2FjNWM2ODQ4MDc2ZmYxZTUwNWE3ZjE5OWQyNThk
NDVjMmM4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0lQ
Q1NlbWFwaG9yZS5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5o
PgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CisKKyNpZiBPUyhEQVJXSU4pCisjaW5jbHVkZSA8
bWFjaC9zZW1hcGhvcmUuaD4KKyNpbmNsdWRlIDx3dGYvTWFjaFNlbmRSaWdodC5oPgorI2VuZGlm
CisKK25hbWVzcGFjZSBJUEMgeworCitjbGFzcyBEZWNvZGVyOworY2xhc3MgRW5jb2RlcjsKKwor
Y2xhc3MgU2VtYXBob3JlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTZW1hcGhvcmUpOworcHVibGljOgorICAgIFNlbWFwaG9yZSgpOwor
ICAgIFNlbWFwaG9yZShTZW1hcGhvcmUmJik7CisgICAgflNlbWFwaG9yZSgpOworICAgIFNlbWFw
aG9yZSYgb3BlcmF0b3I9KFNlbWFwaG9yZSYmKTsKKworICAgIHZvaWQgZW5jb2RlKEVuY29kZXIm
KSBjb25zdDsKKyAgICBzdGF0aWMgT3B0aW9uYWw8U2VtYXBob3JlPiBkZWNvZGUoRGVjb2RlciYp
OworCisjaWYgT1MoREFSV0lOKQorICAgIGV4cGxpY2l0IFNlbWFwaG9yZShNYWNoU2VuZFJpZ2h0
JiYpOworCisgICAgdm9pZCBzaWduYWwoKTsKKyAgICB2b2lkIHdhaXQoKTsKKyAgICB2b2lkIHdh
aXRGb3IoU2Vjb25kcyk7CisgICAgTWFjaFNlbmRSaWdodCBjcmVhdGVTZW5kUmlnaHQoKSBjb25z
dDsKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9zZW5kUmln
aHQgfHwgbV9zZW1hcGhvcmUgIT0gU0VNQVBIT1JFX05VTEw7IH0KKyNlbHNlCisgICAgZXhwbGlj
aXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyNlbmRpZgorCitwcml2
YXRlOgorI2lmIE9TKERBUldJTikKKyAgICB2b2lkIGRlc3Ryb3koKTsKKyAgICBNYWNoU2VuZFJp
Z2h0IG1fc2VuZFJpZ2h0OworICAgIHNlbWFwaG9yZV90IG1fc2VtYXBob3JlIHsgU0VNQVBIT1JF
X05VTEwgfTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TZW1hcGhvcmUuY3BwIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvU2VtYXBob3JlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjNkMmY0Yjk4MmViNTk2MGM3N2I2N2IxNjczZTQ0MWI5YTNjNWQ1ZC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9TZW1hcGhvcmUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJTZW1hcGhvcmUuaCIKLQotI2lmICFP
UyhEQVJXSU4pCi0KLW5hbWVzcGFjZSBJUEMgewotCi1TZW1hcGhvcmU6OlNlbWFwaG9yZSgpID0g
ZGVmYXVsdDsKLQotU2VtYXBob3JlOjpTZW1hcGhvcmUoU2VtYXBob3JlJiYpID0gZGVmYXVsdDsK
LQotU2VtYXBob3JlOjp+U2VtYXBob3JlKCkgPSBkZWZhdWx0OwotCi1TZW1hcGhvcmUmIFNlbWFw
aG9yZTo6b3BlcmF0b3I9KFNlbWFwaG9yZSYmKSA9IGRlZmF1bHQ7Ci0KLXZvaWQgU2VtYXBob3Jl
OjplbmNvZGUoRW5jb2RlciYpIGNvbnN0IHsgfQotCi1PcHRpb25hbDxTZW1hcGhvcmU+IFNlbWFw
aG9yZTo6ZGVjb2RlKERlY29kZXImKQotewotICAgIHJldHVybiBTZW1hcGhvcmUgeyB9OwotfQot
Ci19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2Vt
YXBob3JlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TZW1hcGhvcmUuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk4M2FjNWM2ODQ4MDc2ZmYxZTUwNWE3ZjE5OWQyNThk
NDVjMmM4MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TZW1hcGhvcmUuaAorKysgL2Rldi9udWxsCkBAIC0x
LDc0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgotI2luY2x1ZGUgPHd0Zi9T
ZWNvbmRzLmg+Ci0KLSNpZiBPUyhEQVJXSU4pCi0jaW5jbHVkZSA8bWFjaC9zZW1hcGhvcmUuaD4K
LSNpbmNsdWRlIDx3dGYvTWFjaFNlbmRSaWdodC5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBJUEMg
ewotCi1jbGFzcyBEZWNvZGVyOwotY2xhc3MgRW5jb2RlcjsKLQotY2xhc3MgU2VtYXBob3JlIHsK
LSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
ZW1hcGhvcmUpOwotcHVibGljOgotICAgIFNlbWFwaG9yZSgpOwotICAgIFNlbWFwaG9yZShTZW1h
cGhvcmUmJik7Ci0gICAgflNlbWFwaG9yZSgpOwotICAgIFNlbWFwaG9yZSYgb3BlcmF0b3I9KFNl
bWFwaG9yZSYmKTsKLQotICAgIHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0
aWMgT3B0aW9uYWw8U2VtYXBob3JlPiBkZWNvZGUoRGVjb2RlciYpOwotCi0jaWYgT1MoREFSV0lO
KQotICAgIGV4cGxpY2l0IFNlbWFwaG9yZShNYWNoU2VuZFJpZ2h0JiYpOwotCi0gICAgdm9pZCBz
aWduYWwoKTsKLSAgICB2b2lkIHdhaXQoKTsKLSAgICB2b2lkIHdhaXRGb3IoU2Vjb25kcyk7Ci0g
ICAgTWFjaFNlbmRSaWdodCBjcmVhdGVTZW5kUmlnaHQoKSBjb25zdDsKLSAgICBleHBsaWNpdCBv
cGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9zZW5kUmlnaHQgfHwgbV9zZW1hcGhvcmUg
IT0gU0VNQVBIT1JFX05VTEw7IH0KLSNlbHNlCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSNlbmRpZgotCi1wcml2YXRlOgotI2lmIE9TKERBUldJ
TikKLSAgICB2b2lkIGRlc3Ryb3koKTsKLSAgICBNYWNoU2VuZFJpZ2h0IG1fc2VuZFJpZ2h0Owot
ICAgIHNlbWFwaG9yZV90IG1fc2VtYXBob3JlIHsgU0VNQVBIT1JFX05VTEwgfTsKLSNlbmRpZgot
fTsKLQotfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9kYXJ3aW4vSVBDU2VtYXBob3JlRGFyd2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4NzVj
ODFkNDJjNGZjNThlOWRlYjM3M2Y1YzBkYzYwNjk2ZWE2YzUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9kYXJ3aW4vSVBDU2VtYXBob3JlRGFyd2luLmNwcApA
QCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJJUENTZW1hcGhvcmUuaCIKKworI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgorI2luY2x1ZGUgPG1hY2gvbWFjaC5oPgorCituYW1lc3BhY2UgSVBDIHsKKworU2VtYXBob3Jl
OjpTZW1hcGhvcmUoKQoreworICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2NyZWF0ZShtYWNoX3Rh
c2tfc2VsZigpLCAmbV9zZW1hcGhvcmUsIFNZTkNfUE9MSUNZX0ZJRk8sIDApOworICAgIEFTU0VS
VF9VTlVTRUQocmV0LCByZXQgPT0gS0VSTl9TVUNDRVNTKTsKK30KKworU2VtYXBob3JlOjpTZW1h
cGhvcmUoU2VtYXBob3JlJiYgb3RoZXIpCisgICAgOiBtX3NlbmRSaWdodChXVEZNb3ZlKG90aGVy
Lm1fc2VuZFJpZ2h0KSkKKyAgICAsIG1fc2VtYXBob3JlKHN0ZDo6ZXhjaGFuZ2Uob3RoZXIubV9z
ZW1hcGhvcmUsIFNFTUFQSE9SRV9OVUxMKSkKK3sKK30KKworU2VtYXBob3JlOjpTZW1hcGhvcmUo
TWFjaFNlbmRSaWdodCYmIHNlbmRSaWdodCkKKyAgICA6IG1fc2VuZFJpZ2h0KFdURk1vdmUoc2Vu
ZFJpZ2h0KSkKKyAgICAsIG1fc2VtYXBob3JlKG1fc2VuZFJpZ2h0LnNlbmRSaWdodCgpKQorewor
ICAgIEFTU0VSVChtX3NlbmRSaWdodCk7Cit9CisKK1NlbWFwaG9yZTo6flNlbWFwaG9yZSgpCit7
CisgICAgZGVzdHJveSgpOworfQorCitTZW1hcGhvcmUmIFNlbWFwaG9yZTo6b3BlcmF0b3I9KFNl
bWFwaG9yZSYmIG90aGVyKQoreworICAgIGlmICh0aGlzICE9ICZvdGhlcikgeworICAgICAgICBk
ZXN0cm95KCk7CisgICAgICAgIG1fc2VuZFJpZ2h0ID0gV1RGTW92ZShvdGhlci5tX3NlbmRSaWdo
dCk7CisgICAgICAgIG1fc2VtYXBob3JlID0gc3RkOjpleGNoYW5nZShvdGhlci5tX3NlbWFwaG9y
ZSwgU0VNQVBIT1JFX05VTEwpOworICAgIH0KKworICAgIHJldHVybiAqdGhpczsKK30KKwordm9p
ZCBTZW1hcGhvcmU6OnNpZ25hbCgpCit7CisgICAgYXV0byByZXQgPSBzZW1hcGhvcmVfc2lnbmFs
KG1fc2VtYXBob3JlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VDQ0VT
Uyk7Cit9CisKK3ZvaWQgU2VtYXBob3JlOjp3YWl0KCkKK3sKKyAgICBhdXRvIHJldCA9IHNlbWFw
aG9yZV93YWl0KG1fc2VtYXBob3JlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtF
Uk5fU1VDQ0VTUyk7Cit9CisKK3ZvaWQgU2VtYXBob3JlOjp3YWl0Rm9yKFNlY29uZHMgdGltZW91
dCkKK3sKKyAgICBhdXRvIHNlY29uZHMgPSB0aW1lb3V0LnNlY29uZHNBczx1bnNpZ25lZD4oKTsK
KyAgICBhdXRvIHJldCA9IHNlbWFwaG9yZV90aW1lZHdhaXQobV9zZW1hcGhvcmUsIHsgc2Vjb25k
cywgc3RhdGljX2Nhc3Q8Y2xvY2tfcmVzX3Q+KHRpbWVvdXQubmFub3NlY29uZHNBczx1aW50NjRf
dD4oKSAtIHNlY29uZHMgKiBOU0VDX1BFUl9TRUMpIH0pOworICAgIEFTU0VSVF9VTlVTRUQocmV0
LCByZXQgPT0gS0VSTl9TVUNDRVNTIHx8IHJldCA9PSBLRVJOX09QRVJBVElPTl9USU1FRF9PVVQp
OworfQorCitNYWNoU2VuZFJpZ2h0IFNlbWFwaG9yZTo6Y3JlYXRlU2VuZFJpZ2h0KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gTWFjaFNlbmRSaWdodDo6Y3JlYXRlKG1fc2VtYXBob3JlKTsKK30KKwor
dm9pZCBTZW1hcGhvcmU6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVu
Y29kZXIgPDwgY3JlYXRlU2VuZFJpZ2h0KCk7Cit9CisKK09wdGlvbmFsPFNlbWFwaG9yZT4gU2Vt
YXBob3JlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBNYWNoU2VuZFJpZ2h0IHNl
bmRSaWdodDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNlbmRSaWdodCkpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisgICAgcmV0dXJuIE9wdGlvbmFsPFNlbWFwaG9yZT4geyBzdGQ6
OmluX3BsYWNlLCBXVEZNb3ZlKHNlbmRSaWdodCkgfTsKK30KKworCit2b2lkIFNlbWFwaG9yZTo6
ZGVzdHJveSgpCit7CisgICAgaWYgKG1fc2VuZFJpZ2h0KSB7CisgICAgICAgIG1fc2VuZFJpZ2h0
ID0gTWFjaFNlbmRSaWdodCgpOworICAgICAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxM
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChtX3NlbWFwaG9yZSA9PSBTRU1BUEhP
UkVfTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2Rlc3Ry
b3kobWFjaF90YXNrX3NlbGYoKSwgbV9zZW1hcGhvcmUpOworICAgIEFTU0VSVF9VTlVTRUQocmV0
LCByZXQgPT0gS0VSTl9TVUNDRVNTKTsKKyAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxM
OworfQorCit9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL2Rhcndpbi9TZW1hcGhvcmVEYXJ3aW4uY3BwIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGUxMTRkYjllYTFmNzlkM2ExMTU4OGU1ZTBhOGVjMmYzZWRhYjkwN2MuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSwxMjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJTZW1hcGhvcmUuaCIKLQotI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgotI2lu
Y2x1ZGUgPG1hY2gvbWFjaC5oPgotCi1uYW1lc3BhY2UgSVBDIHsKLQotU2VtYXBob3JlOjpTZW1h
cGhvcmUoKQotewotICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2NyZWF0ZShtYWNoX3Rhc2tfc2Vs
ZigpLCAmbV9zZW1hcGhvcmUsIFNZTkNfUE9MSUNZX0ZJRk8sIDApOwotICAgIEFTU0VSVF9VTlVT
RUQocmV0LCByZXQgPT0gS0VSTl9TVUNDRVNTKTsKLX0KLQotU2VtYXBob3JlOjpTZW1hcGhvcmUo
U2VtYXBob3JlJiYgb3RoZXIpCi0gICAgOiBtX3NlbmRSaWdodChXVEZNb3ZlKG90aGVyLm1fc2Vu
ZFJpZ2h0KSkKLSAgICAsIG1fc2VtYXBob3JlKHN0ZDo6ZXhjaGFuZ2Uob3RoZXIubV9zZW1hcGhv
cmUsIFNFTUFQSE9SRV9OVUxMKSkKLXsKLX0KLQotU2VtYXBob3JlOjpTZW1hcGhvcmUoTWFjaFNl
bmRSaWdodCYmIHNlbmRSaWdodCkKLSAgICA6IG1fc2VuZFJpZ2h0KFdURk1vdmUoc2VuZFJpZ2h0
KSkKLSAgICAsIG1fc2VtYXBob3JlKG1fc2VuZFJpZ2h0LnNlbmRSaWdodCgpKQotewotICAgIEFT
U0VSVChtX3NlbmRSaWdodCk7Ci19Ci0KLVNlbWFwaG9yZTo6flNlbWFwaG9yZSgpCi17Ci0gICAg
ZGVzdHJveSgpOwotfQotCi1TZW1hcGhvcmUmIFNlbWFwaG9yZTo6b3BlcmF0b3I9KFNlbWFwaG9y
ZSYmIG90aGVyKQotewotICAgIGlmICh0aGlzICE9ICZvdGhlcikgewotICAgICAgICBkZXN0cm95
KCk7Ci0gICAgICAgIG1fc2VuZFJpZ2h0ID0gV1RGTW92ZShvdGhlci5tX3NlbmRSaWdodCk7Ci0g
ICAgICAgIG1fc2VtYXBob3JlID0gc3RkOjpleGNoYW5nZShvdGhlci5tX3NlbWFwaG9yZSwgU0VN
QVBIT1JFX05VTEwpOwotICAgIH0KLQotICAgIHJldHVybiAqdGhpczsKLX0KLQotdm9pZCBTZW1h
cGhvcmU6OnNpZ25hbCgpCi17Ci0gICAgYXV0byByZXQgPSBzZW1hcGhvcmVfc2lnbmFsKG1fc2Vt
YXBob3JlKTsKLSAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VDQ0VTUyk7Ci19
Ci0KLXZvaWQgU2VtYXBob3JlOjp3YWl0KCkKLXsKLSAgICBhdXRvIHJldCA9IHNlbWFwaG9yZV93
YWl0KG1fc2VtYXBob3JlKTsKLSAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VD
Q0VTUyk7Ci19Ci0KLXZvaWQgU2VtYXBob3JlOjp3YWl0Rm9yKFNlY29uZHMgdGltZW91dCkKLXsK
LSAgICBhdXRvIHNlY29uZHMgPSB0aW1lb3V0LnNlY29uZHNBczx1bnNpZ25lZD4oKTsKLSAgICBh
dXRvIHJldCA9IHNlbWFwaG9yZV90aW1lZHdhaXQobV9zZW1hcGhvcmUsIHsgc2Vjb25kcywgc3Rh
dGljX2Nhc3Q8Y2xvY2tfcmVzX3Q+KHRpbWVvdXQubmFub3NlY29uZHNBczx1aW50NjRfdD4oKSAt
IHNlY29uZHMgKiBOU0VDX1BFUl9TRUMpIH0pOwotICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQg
PT0gS0VSTl9TVUNDRVNTIHx8IHJldCA9PSBLRVJOX09QRVJBVElPTl9USU1FRF9PVVQpOwotfQot
Ci1NYWNoU2VuZFJpZ2h0IFNlbWFwaG9yZTo6Y3JlYXRlU2VuZFJpZ2h0KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gTWFjaFNlbmRSaWdodDo6Y3JlYXRlKG1fc2VtYXBob3JlKTsKLX0KLQotdm9pZCBT
ZW1hcGhvcmU6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGVuY29kZXIg
PDwgY3JlYXRlU2VuZFJpZ2h0KCk7Ci19Ci0KLU9wdGlvbmFsPFNlbWFwaG9yZT4gU2VtYXBob3Jl
OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKLXsKLSAgICBNYWNoU2VuZFJpZ2h0IHNlbmRSaWdo
dDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNlbmRSaWdodCkpCi0gICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7Ci0gICAgcmV0dXJuIE9wdGlvbmFsPFNlbWFwaG9yZT4geyBzdGQ6OmluX3Bs
YWNlLCBXVEZNb3ZlKHNlbmRSaWdodCkgfTsKLX0KLQotCi12b2lkIFNlbWFwaG9yZTo6ZGVzdHJv
eSgpCi17Ci0gICAgaWYgKG1fc2VuZFJpZ2h0KSB7Ci0gICAgICAgIG1fc2VuZFJpZ2h0ID0gTWFj
aFNlbmRSaWdodCgpOwotICAgICAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxMOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChtX3NlbWFwaG9yZSA9PSBTRU1BUEhPUkVfTlVM
TCkKLSAgICAgICAgcmV0dXJuOwotICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2Rlc3Ryb3kobWFj
aF90YXNrX3NlbGYoKSwgbV9zZW1hcGhvcmUpOwotICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQg
PT0gS0VSTl9TVUNDRVNTKTsKLSAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxMOwotfQot
Ci19IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDlhYmQ4OTk1YjI4MTlhZmE5Y2Zm
MTQ3MmRjNDg4MTAxOWYyNmY2MzguLjZkNGVhNTM0OGM3ZGFlZjc1MTAzODkwYjUwOWMwNzIwOTkz
MWEzMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtMTQxLDEwICsxNDEsMTAgQEAgUGxhdGZvcm0vSVBDL0F0
dGFjaG1lbnQuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwIEBuby11
bmlmeQogUGxhdGZvcm0vSVBDL0RlY29kZXIuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL0Vu
Y29kZXIuY3BwIEBuby11bmlmeQorUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5jcHAgQG5vLXVu
aWZ5CiBQbGF0Zm9ybS9JUEMvSlNJUENCaW5kaW5nLmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQ
Qy9NZXNzYWdlUmVjZWl2ZXJNYXAuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL01lc3NhZ2VT
ZW5kZXIuY3BwIEBuby11bmlmeQotUGxhdGZvcm0vSVBDL1NlbWFwaG9yZS5jcHAgQG5vLXVuaWZ5
CiBQbGF0Zm9ybS9JUEMvU2hhcmVkQnVmZmVyQ29weS5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9J
UEMvU2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZS5jcHAgQG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMv
U3RyaW5nUmVmZXJlbmNlLmNwcCBAbm8tdW5pZnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCA0
MmI4ZTI0ZjFmNzhiNDA3NWJjNzEwMmQ5NDAyNWMwNWMxODc0MGFkLi40ZGYzNDQzNTVlYTRhMTNl
YWU5OTM3Y2M1ZGNhMzYyNmYwZjgwOTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC04Nyw4
ICs4Nyw4IEBAIFBsYXRmb3JtL2lvcy9QYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXIubW0K
IAogUGxhdGZvcm0vSVBDL2NvY29hL0Nvbm5lY3Rpb25Db2NvYS5tbQogUGxhdGZvcm0vSVBDL2Nv
Y29hL01hY2hNZXNzYWdlLmNwcAotUGxhdGZvcm0vSVBDL2Rhcndpbi9TZW1hcGhvcmVEYXJ3aW4u
Y3BwCiAKK1BsYXRmb3JtL0lQQy9kYXJ3aW4vSVBDU2VtYXBob3JlRGFyd2luLmNwcAogCiBQbGF0
Zm9ybS9tYWMvTWFjaFV0aWxpdGllcy5jcHAKIFBsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1t
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA5ZmNiZjgxMDUyNDJiNmYyODc0OGY5ODA2NWViNDAwMzVjYzI0ZGJkLi43ZTAwNzJjM2I2ODA4
NGQ2YmMyNjI2YjkwNWQzMDJkNzAwZWZlMjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzMjcsOCArMTMyNyw2IEBACiAJCTdBRkJE
MzY3MjFFNTFCQUIwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzY1
MjFFNTFCQUIwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaCAq
LzsgfTsKIAkJN0FGQkQzNkYyMUU1NDZGODAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkJEMzZEMjFF
NTQ2RTMwMDVEQkFDQiAvKiBQZXJzaXN0ZW5jeVV0aWxzLmggKi87IH07CiAJCTdCMURCMjY2MjU2
NjhDRTEwMDBFMjZCQyAvKiBBcnJheVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0IxREIyNjUyNTY2OENFMDAwMEUyNkJDIC8qIEFycmF5
UmVmZXJlbmNlLmggKi87IH07Ci0JCTdCNzMxMjI4MjVDOTg4QUEwMDNCMjc5NiAvKiBTZW1hcGhv
cmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I3
MzEyMjYyNUM5ODhBQTAwM0IyNzk2IC8qIFNlbWFwaG9yZS5jcHAgKi87IH07Ci0JCTdCNzMxMjI5
MjVDOTg4QUIwMDNCMjc5NiAvKiBTZW1hcGhvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMjI3MjVDOTg4QUEwMDNCMjc5NiAvKiBTZW1hcGhv
cmUuaCAqLzsgfTsKIAkJN0MwNjVGMkMxQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50
Q29udHJvbGxlckRhdGFUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0MwNjVGMkExQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50Q29u
dHJvbGxlckRhdGFUeXBlcy5oICovOyB9OwogCQk3QzEzNUFBOTE3M0IwQkNBMDA1ODZBRTIgLyog
V0tQbHVnaW5JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0MxMzVBQTcxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxQkEzM0MxQTRBMEU2MDAwNDNFMjQ5
IC8qIEFQSURpY3Rpb25hcnkuaCAqLzsgfTsKQEAgLTE1NzcsNiArMTU3NSw4IEBACiAJCUExRUYz
NkMwMjU4MUY3NkYwMDkwQjAyQSAvKiBNZWRpYUZvcm1hdFJlYWRlci5idW5kbGUgaW4gQ29weSBQ
bHVnLWlucyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTZFNjYwMDI1ODE5
MzA4MDBFRTE3NDkgLyogTWVkaWFGb3JtYXRSZWFkZXIuYnVuZGxlICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFJlbW92ZUhlYWRlcnNPbkNvcHksICk7IH07IH07CiAJCUExRUYzNkQ1MjU4
MUY3RUIwMDkwQjAyQSAvKiBNZWRpYUZvcm1hdFJlYWRlci5idW5kbGUgaW4gQ29weSBQbHVnLWlu
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTZFNjYwMDI1ODE5MzA4MDBF
RTE3NDkgLyogTWVkaWFGb3JtYXRSZWFkZXIuYnVuZGxlICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFJlbW92ZUhlYWRlcnNPbkNvcHksICk7IH07IH07CiAJCUExRkI2ODI0MUY2RTUxODIw
MEM0M0Y5RiAvKiBXS0NyYXNoUmVwb3J0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExRkI2ODIyMUY2RTUxODIwMEM0M0Y5RiAvKiBXS0NyYXNoUmVw
b3J0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlBMzFGNjBBNDI1Q0M3REI5MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMzFGNjBBMjI1Q0M3REI4MDBBRjE0
RjQgLyogSVBDU2VtYXBob3JlLmggKi87IH07CisJCUEzMUY2MEE1MjVDQzdEQjkwMEFGMTRGNCAv
KiBJUENTZW1hcGhvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTMxRjYwQTMyNUNDN0RCODAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5jcHAgKi87
IH07CiAJCUE1MTNGNTQwMjE1NEE1RDcwMDY2Mjg0MSAvKiBXZWJQYWdlSW5zcGVjdG9yQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUx
M0Y1M0UyMTU0QTVDQzAwNjYyODQxIC8qIFdlYlBhZ2VJbnNwZWN0b3JDb250cm9sbGVyLmggKi87
IH07CiAJCUE1MThCNUQyMUZFMUQ1NUIwMEY5RkEyOCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUxOEI1RDAx
RkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3LmggKi87IH07CiAJCUE1NDI5
M0E0MTk1QTQzREEwMDI3ODJDNyAvKiBXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVjb2du
aXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU0
MjkzQTIxOTVBNDNDNjAwMjc4MkM3IC8qIFdLSW5zcGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNv
Z25pemVyLmggKi87IH07CkBAIC00NTE5LDkgKzQ1MTksNiBAQAogCQk3QUZCRDM2RTIxRTU0NkUz
MDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGlscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJz
aXN0ZW5jeVV0aWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0IxREIyNjUy
NTY2OENFMDAwMEUyNkJDIC8qIEFycmF5UmVmZXJlbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFycmF5UmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdCNjRDMEI2MjU0QzVDMjUwMDA2QjRBRiAvKiBHcmFwaGljc0NvbnRleHRHTElkZW50aWZp
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR3JhcGhpY3NDb250ZXh0R0xJZGVudGlmaWVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdCNzMxMjI2MjVDOTg4QUEwMDNCMjc5NiAvKiBTZW1h
cGhvcmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VtYXBob3Jl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0I3MzEyMjcyNUM5ODhBQTAwM0Iy
Nzk2IC8qIFNlbWFwaG9yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZW1h
cGhvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0I3MzEyMkEyNUM5ODhDNjAw
M0IyNzk2IC8qIFNlbWFwaG9yZURhcndpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTZW1hcGhvcmVEYXJ3aW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QjkwNDE2NTI1NEFGREVBMDA2RUVCOEMgLyogUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQ
cm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0I5MDQxNjYyNTRBRkRFQjAwNkVF
QjhDIC8qIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVt
b3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3QjkwNDE2NzI1NEFGRTE3MDA2RUVCOEMgLyogUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94
eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5Lm1lc3NhZ2Vz
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDk2Niw2ICs0OTYzLDkgQEAKIAkJ
QTFFREQyREIxODg0Qjk2NDAwQkJGRTk4IC8qIFBsdWdpblByb2Nlc3NTaGltLnhjY29uZmlnICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2Nv
bmZpZzsgcGF0aCA9IFBsdWdpblByb2Nlc3NTaGltLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMUZCNjgyMjFGNkU1MTgyMDBDNDNGOUYgLyogV0tDcmFzaFJlcG9ydGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdLQ3Jhc2hSZXBvcnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMUZCNjgyMzFGNkU1MTgyMDBDNDNGOUYgLyogV0tDcmFzaFJlcG9ydGVyLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tDcmFzaFJlcG9ydGVyLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBMzFGNjBBMjI1Q0M3REI4MDBBRjE0RjQgLyogSVBDU2VtYXBob3Jl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElQQ1NlbWFwaG9yZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFGNjBBMzI1Q0M3REI4MDBBRjE0RjQgLyogSVBD
U2VtYXBob3JlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElQQ1Nl
bWFwaG9yZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEzMUY2MEE2MjVDQzdE
Q0YwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmVEYXJ3aW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSVBDU2VtYXBob3JlRGFyd2luLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTM4QTEyRTEyM0M5M0FDNzAwRkFCRkE5IC8qIFRleHRDaGVja2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRDaGVja2VyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTM5MzdCNjEyM0NEMUI5QjAwNUIyQTJFIC8q
IFdlYlByZWZlcmVuY2VzQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXZWJQcmVmZXJlbmNlc0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBNTEzRjUzRTIxNTRBNUNDMDA2NjI4NDEgLyogV2ViUGFnZUluc3BlY3RvckNvbnRyb2xs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGFnZUluc3BlY3RvckNvbnRyb2xsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY5MDEsNiArNjkwMSw4IEBACiAJCQkJNDE1MUU1QzMx
RkJCOTBBOTAwRTQ3RTJEIC8qIEZvcm1EYXRhUmVmZXJlbmNlLmggKi8sCiAJCQkJQzBDRTcyQUMx
MjQ3RTc4RDAwQkMwRUM0IC8qIEhhbmRsZU1lc3NhZ2UuaCAqLywKIAkJCQkxQzlBRjM2MTI0MTM0
RDIzMDBEM0VDMDIgLyogSW1hZ2VEYXRhUmVmZXJlbmNlLmggKi8sCisJCQkJQTMxRjYwQTMyNUND
N0RCODAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5jcHAgKi8sCisJCQkJQTMxRjYwQTIyNUNDN0RC
ODAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5oICovLAogCQkJCTlCRjVFQzYzMjU0MTBFOTkwMDk4
NEU3NyAvKiBKU0lQQ0JpbmRpbmcuY3BwICovLAogCQkJCTlCNDc5MDhFMjUzMTUxQ0MwMEVDMTFB
QiAvKiBKU0lQQ0JpbmRpbmcuaCAqLywKIAkJCQk5QjQ3OTA4QzI1MzE0RDgzMDBFQzExQUIgLyog
TWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25zLmggKi8sCkBAIC02OTEwLDggKzY5MTIsNiBAQAog
CQkJCTFBM0VFRDBEMTYxQTUzNTMwMEFFQjRGNSAvKiBNZXNzYWdlUmVjZWl2ZXJNYXAuaCAqLywK
IAkJCQkxQUFCMDM3NzE4NUE3QzZBMDBFREY1MDEgLyogTWVzc2FnZVNlbmRlci5jcHAgKi8sCiAJ
CQkJMUFBQjAzNzgxODVBN0M2QTAwRURGNTAxIC8qIE1lc3NhZ2VTZW5kZXIuaCAqLywKLQkJCQk3
QjczMTIyNjI1Qzk4OEFBMDAzQjI3OTYgLyogU2VtYXBob3JlLmNwcCAqLywKLQkJCQk3QjczMTIy
NzI1Qzk4OEFBMDAzQjI3OTYgLyogU2VtYXBob3JlLmggKi8sCiAJCQkJMkRDMTgwMDFEOTBEREQx
NUZDNjk5MUE5IC8qIFNoYXJlZEJ1ZmZlckNvcHkuY3BwICovLAogCQkJCTVDQzVEQjkxMjE0ODhF
MTYwMDZDQjhBOCAvKiBTaGFyZWRCdWZmZXJDb3B5LmggKi8sCiAJCQkJMkRDMTg1NUVEQkZCODUw
QkEwQjZEMDZEIC8qIFNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UuY3BwICovLApAQCAtOTAxOSw3
ICs5MDE5LDcgQEAKIAkJN0I3MzEyMkMyNUNBNjdBRTAwM0IyNzk2IC8qIGRhcndpbiAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJN0I3MzEyMkEyNUM5ODhD
NjAwM0IyNzk2IC8qIFNlbWFwaG9yZURhcndpbi5jcHAgKi8sCisJCQkJQTMxRjYwQTYyNUNDN0RD
RjAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZURhcndpbi5jcHAgKi8sCiAJCQkpOwogCQkJcGF0aCA9
IGRhcndpbjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xMTY2MCw2ICsxMTY2MCw3
IEBACiAJCQkJQTVFMzkxRkQyMTgzQzFGODAwQzhGQjMxIC8qIEluc3BlY3RvclRhcmdldFByb3h5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNUJDRTVERjFDNTA3NjZBMDBDREUzRkEgLyogSW50ZXJh
Y3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJENEQyQzgx
MURGNjBCRjMwMDJFQjEwQyAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTMxRjYwQTQyNUNDN0RCOTAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOUI0NzkwOEYyNTMxNTFDQzAwRUMxMUFCIC8qIEpTSVBDQmlu
ZGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFNDlBNDkxMUZGQThDRTAwNDhCNDY0IC8qIEpT
TlBNZXRob2QuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTQ5ODc4MTFGRjdGQUEwMDQ4QjQ2NCAv
KiBKU05QT2JqZWN0LmggaW4gSGVhZGVycyAqLywKQEAgLTExOTIyLDcgKzExOTIzLDYgQEAKIAkJ
CQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTE4RTY5MTgxNjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcwQUI4RjMyMEFFM0JENzAwQjhCRTg3IC8q
IFNlY0tleVByb3h5U3RvcmUuaCBpbiBIZWFkZXJzICovLAotCQkJCTdCNzMxMjI5MjVDOTg4QUIw
MDNCMjc5NiAvKiBTZW1hcGhvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNEQ5RjU3MTkxMTlE
MzUwMDAwNjNBNyAvKiBTZXJ2aWNlc0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
RkRFNjVBMTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAvKiBTZXNzaW9uU3RhdGVDb2RpbmcuaCBpbiBI
ZWFkZXJzICovLApAQCAtMTM2NzYsNiArMTM2NzYsNyBAQAogCQkJCUMxQTE1MkQ3MjRFNUEyOUEw
MDk3OEM4QiAvKiBIYW5kbGVYUENFbmRwb2ludE1lc3NhZ2VzLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMjc0OUY2NDQyMTQ2NTYxQjAwODM4MEJGIC8qIEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyNzQ5RjY0NTIxNDY1NjFFMDA4MzgwQkYgLyogSW5qZWN0
ZWRCdW5kbGVSYW5nZUhhbmRsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBMzFGNjBBNTI1Q0M3
REI5MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTlCRjVF
QzY0MjU0MTE0NTYwMDk4NEU3NyAvKiBKU0lQQ0JpbmRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ5MTM0NDEyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBNZXRob2QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MTM0NDIyMTJDRjlGMDAwMTI4QUZEIC8qIEpTTlBPYmplY3QuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0xMzc3NCw3ICsxMzc3NSw2IEBACiAJCQkJQTU1QkE4MjYxQkEyNUNGRDAw
N0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTFCQkJFNEEwMTlCNjZDNTMwMDZCN0Q4MSAvKiBSZW1vdGVXZWJJbnNw
ZWN0b3JVSU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMThFNjkxNzE2
OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQk3QjczMTIyODI1Qzk4OEFBMDAzQjI3OTYgLyogU2VtYXBob3JlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQxREU3QzZDMjIyNzhGMUUwMDUzMkI2NSAvKiBTZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzg3MjEyQjZBQjEw
MEY0OTNGRCAvKiBTaGFyZWFibGVCaXRtYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRDMThG
RUJGMzM3Qjk2NzFDODhFM0NEIC8qIFNoYXJlZEJ1ZmZlckNvcHkuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90
ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaAppbmRleCAwNTk4MmNlNzBiZWQw
YTk3MDA5NWUyNmVkZGRmZjZkNjg4NjczZjI1Li45MWUwNTYwMDljNmJlMzI2NjQxM2M4ZGYxMDI1
YWM3ZTkxYWM4YTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgKQEAg
LTI5LDEyICsyOSwxMiBAQAogCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNp
bmNsdWRlICJHUFVQcm9jZXNzV2FrZXVwTWVzc2FnZUFyZ3VtZW50cy5oIgorI2luY2x1ZGUgIklQ
Q1NlbWFwaG9yZS5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyQmFja2VuZEhhbmRsZS5oIgogI2lu
Y2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNp
bmNsdWRlICJSZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuaCIKICNpbmNsdWRlICJSZW5kZXJpbmdC
YWNrZW5kSWRlbnRpZmllci5oIgotI2luY2x1ZGUgIlNlbWFwaG9yZS5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvRGlzcGxheUxpc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlcmluZ1Jlc291cmNl
SWRlbnRpZmllci5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5h
dGlvblByb3h5LmgKaW5kZXggYWNlYjI4YWZjMmM2ZGE2YWY4MzcxOGRiYmYyOGMzNjFjZWJiOWVj
Zi4uOTk1ZTdmMDM1ZDYzNWZmYTU5ODEzNjQwMjQ0NDg2YTA1ZjY1ZmFkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1
ZGlvRGVzdGluYXRpb25Qcm94eS5oCkBAIC0yOSw4ICsyOSw4IEBACiAKICNpbmNsdWRlICJDb25u
ZWN0aW9uLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJJ
UENTZW1hcGhvcmUuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmll
ci5oIgotI2luY2x1ZGUgIlNlbWFwaG9yZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9JT0Nh
bGxiYWNrLmg+CiAjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkUXVldWUuaD4KICNpbmNsdWRlIDx3
dGYvTWVkaWFUaW1lLmg+Cg==
</data>
<flag name="commit-queue"
          id="437503"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419312</attachid>
            <date>2021-02-04 12:37:31 -0800</date>
            <delta_ts>2021-02-04 13:41:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221418-20210204123730.patch</filename>
            <type>text/plain</type>
            <size>35549</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZGIzYjRiMDIwOGQ0Yzgy
NjFmMWM0NWE4OTM5NTZjMzNkNTJlMmUuLmZkYjA2NmZjYWNjODM0NjBmMThiMWIzYjE2Y2UwMmVi
MjUzMTBiZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMDQgIFJvc3MgS2ly
c2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIERvbid0IHVzZSBTZW1h
cGhvcmUuaCBhcyBhIGZpbGVuYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjE0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJUEM6OlNlbWFwaG9yZSB3YXMgcmVjZW50bHkgbW92ZWQgdG8gSVBDL1Nl
bWFwaG9yZS5oOyBsZXQncyBlbnN1cmUgdGhhdCBpdCdzIElQQy9JUENTZW1hcGhvcmUuaCBpbnN0
ZWFkLgorICAgICAgICBTZW1hcGhvcmUuaCBpcyBhIGZpbGVuYW1lIHRoYXQgbWF5IGV4aXN0IGlu
IHBsYXRmb3JtIFNES3MgYW5kIHRodXMgY2FuIGNhdXNlIGEgV0sgYnVpbGQgYnJlYWsgYmFzZWQg
b24gb3JkZXJpbmcuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRl
cmluZ0JhY2tlbmQuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvSVBDU2Vt
YXBob3JlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1NlbWFw
aG9yZS5jcHAuCisgICAgICAgICogUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2VtYXBob3JlLmguCisgICAgICAgICog
UGxhdGZvcm0vSVBDL2Rhcndpbi9JUENTZW1hcGhvcmVEYXJ3aW4uY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvZGFyd2luL1NlbWFwaG9yZURhcndpbi5jcHAuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXQvdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25zLmNwcDoKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aFNlbWFwaG9yZU1lc3NhZ2VSZWNlaXZlci5jcHA6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaDoK
KwogMjAyMS0wMi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjY3NzYzKSBOZXR3b3JrIHByb2Nlc3MgbGF1bmNoZXMg
ZWFybGllciB0aGFuIGJlZm9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCmluZGV4IDAzZDE2MmZk
ZDExYjM1ZTI2MjBkMjJjMTk4NDI0OTg4NzliYjQ1NWUuLmIwYWMzNTg2YjAyNDliNGFiZTFlNGZj
YmNlNzNlOWQ4ZmE4NjViNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKQEAgLTM1LDcgKzM1
LDYgQEAKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5LmgiCiAjaW5jbHVkZSAiUmVt
b3RlUmVuZGVyaW5nQmFja2VuZE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRlICJTZW1hcGhvcmUuaCIKICNpbmNsdWRl
IDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KICNpbmNsdWRlIDx3dGYvU3lzdGVtVHJhY2luZy5o
PgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCmluZGV4IDUx
OGE2YWFhZmMyODhkZTM4ZmJlMDBmZmViMjBiODZmNDBjNjI3NjMuLjc1ZDllMGFhNTI0MjQyOGNl
YjY3ZjdiNGIzNWU0ZjU4MjIwNjZjYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaApAQCAtMjksMTMg
KzI5LDEzIEBACiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vz
c1dha2V1cE1lc3NhZ2VBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJJUENTZW1hcGhvcmUuaCIKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUuaCIKICNpbmNsdWRlICJJbWFnZURhdGFS
ZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJNZXNz
YWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVzb3VyY2VDYWNoZS5oIgogI2luY2x1ZGUg
IlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLmgiCi0jaW5jbHVkZSAiU2VtYXBob3JlLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9Db2xvclNwYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EaXNwbGF5
TGlzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxheUxpc3RJdGVtcy5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25N
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uTWFuYWdlci5jcHAKaW5kZXggY2FmOTMwZGQzY2Y1NWQ2MWNhNTg2MmUzYTNjNDU2
NWY5OTI0Nzg1NS4uZjdhMWFmMmRmN2FlY2RjNzMyNTcxMjIxZTM0YjdkYWNjYzBhOWIxYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGlu
YXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoV0VCX0FVRElPKQogCiAjaW5jbHVkZSAiR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgIlNlbWFwaG9yZS5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvQXVkaW9VdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaAppbmRleCAxZDA2ZDk4ZjE4NzBi
ZjcxM2E4NDg0NTAwYmQ4OTRhYTAzMmQxNDllLi40ODMwMDY5MWM3OWM2NDJlZTM2NDMyZTFhMjlm
OWY4OGNiM2M2MzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIuaApAQCAtMjgsOCArMjgs
OCBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKFdFQl9BVURJTykKIAogI2lu
Y2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJJUENTZW1hcGhvcmUuaCIKICNpbmNsdWRl
ICJSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uSWRlbnRpZmllci5oIgotI2luY2x1ZGUgIlNlbWFwaG9y
ZS5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNs
dWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9JUENTZW1hcGhvcmUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MTIxYTRiZWE5YjdjZjRlNmFkNzI3ZTlm
ODQ3NzAxYzIxMjM4ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9JUENTZW1hcGhvcmUuY3BwCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSVBDU2VtYXBob3JlLmgiCisKKyNpZiAhT1MoREFS
V0lOKQorCituYW1lc3BhY2UgSVBDIHsKKworU2VtYXBob3JlOjpTZW1hcGhvcmUoKSA9IGRlZmF1
bHQ7CisKK1NlbWFwaG9yZTo6U2VtYXBob3JlKFNlbWFwaG9yZSYmKSA9IGRlZmF1bHQ7CisKK1Nl
bWFwaG9yZTo6flNlbWFwaG9yZSgpID0gZGVmYXVsdDsKKworU2VtYXBob3JlJiBTZW1hcGhvcmU6
Om9wZXJhdG9yPShTZW1hcGhvcmUmJikgPSBkZWZhdWx0OworCit2b2lkIFNlbWFwaG9yZTo6ZW5j
b2RlKEVuY29kZXImKSBjb25zdCB7IH0KKworT3B0aW9uYWw8U2VtYXBob3JlPiBTZW1hcGhvcmU6
OmRlY29kZShEZWNvZGVyJikKK3sKKyAgICByZXR1cm4gU2VtYXBob3JlIHsgfTsKK30KKworfQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0lQQ1NlbWFw
aG9yZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSVBDU2VtYXBob3JlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDk4M2FjNWM2ODQ4MDc2ZmYxZTUwNWE3ZjE5OWQyNThkNDVjMmM4MQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0lQQ1NlbWFwaG9yZS5oCkBAIC0w
LDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi9T
ZWNvbmRzLmg+CisKKyNpZiBPUyhEQVJXSU4pCisjaW5jbHVkZSA8bWFjaC9zZW1hcGhvcmUuaD4K
KyNpbmNsdWRlIDx3dGYvTWFjaFNlbmRSaWdodC5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBJUEMg
eworCitjbGFzcyBEZWNvZGVyOworY2xhc3MgRW5jb2RlcjsKKworY2xhc3MgU2VtYXBob3JlIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
ZW1hcGhvcmUpOworcHVibGljOgorICAgIFNlbWFwaG9yZSgpOworICAgIFNlbWFwaG9yZShTZW1h
cGhvcmUmJik7CisgICAgflNlbWFwaG9yZSgpOworICAgIFNlbWFwaG9yZSYgb3BlcmF0b3I9KFNl
bWFwaG9yZSYmKTsKKworICAgIHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICBzdGF0
aWMgT3B0aW9uYWw8U2VtYXBob3JlPiBkZWNvZGUoRGVjb2RlciYpOworCisjaWYgT1MoREFSV0lO
KQorICAgIGV4cGxpY2l0IFNlbWFwaG9yZShNYWNoU2VuZFJpZ2h0JiYpOworCisgICAgdm9pZCBz
aWduYWwoKTsKKyAgICB2b2lkIHdhaXQoKTsKKyAgICB2b2lkIHdhaXRGb3IoU2Vjb25kcyk7Cisg
ICAgTWFjaFNlbmRSaWdodCBjcmVhdGVTZW5kUmlnaHQoKSBjb25zdDsKKyAgICBleHBsaWNpdCBv
cGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9zZW5kUmlnaHQgfHwgbV9zZW1hcGhvcmUg
IT0gU0VNQVBIT1JFX05VTEw7IH0KKyNlbHNlCisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyNlbmRpZgorCitwcml2YXRlOgorI2lmIE9TKERBUldJ
TikKKyAgICB2b2lkIGRlc3Ryb3koKTsKKyAgICBNYWNoU2VuZFJpZ2h0IG1fc2VuZFJpZ2h0Owor
ICAgIHNlbWFwaG9yZV90IG1fc2VtYXBob3JlIHsgU0VNQVBIT1JFX05VTEwgfTsKKyNlbmRpZgor
fTsKKworfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9TZW1hcGhvcmUuY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2VtYXBo
b3JlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjNkMmY0Yjk4MmViNTk2MGM3
N2I2N2IxNjczZTQ0MWI5YTNjNWQ1ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TZW1hcGhvcmUuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJTZW1hcGhvcmUuaCIKLQotI2lmICFPUyhEQVJXSU4pCi0KLW5hbWVz
cGFjZSBJUEMgewotCi1TZW1hcGhvcmU6OlNlbWFwaG9yZSgpID0gZGVmYXVsdDsKLQotU2VtYXBo
b3JlOjpTZW1hcGhvcmUoU2VtYXBob3JlJiYpID0gZGVmYXVsdDsKLQotU2VtYXBob3JlOjp+U2Vt
YXBob3JlKCkgPSBkZWZhdWx0OwotCi1TZW1hcGhvcmUmIFNlbWFwaG9yZTo6b3BlcmF0b3I9KFNl
bWFwaG9yZSYmKSA9IGRlZmF1bHQ7Ci0KLXZvaWQgU2VtYXBob3JlOjplbmNvZGUoRW5jb2RlciYp
IGNvbnN0IHsgfQotCi1PcHRpb25hbDxTZW1hcGhvcmU+IFNlbWFwaG9yZTo6ZGVjb2RlKERlY29k
ZXImKQotewotICAgIHJldHVybiBTZW1hcGhvcmUgeyB9OwotfQotCi19Ci0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU2VtYXBob3JlLmggYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9TZW1hcGhvcmUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDk4M2FjNWM2ODQ4MDc2ZmYxZTUwNWE3ZjE5OWQyNThkNDVjMmM4MS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9TZW1hcGhvcmUuaAorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgotI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+Ci0KLSNpZiBP
UyhEQVJXSU4pCi0jaW5jbHVkZSA8bWFjaC9zZW1hcGhvcmUuaD4KLSNpbmNsdWRlIDx3dGYvTWFj
aFNlbmRSaWdodC5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBJUEMgewotCi1jbGFzcyBEZWNvZGVy
OwotY2xhc3MgRW5jb2RlcjsKLQotY2xhc3MgU2VtYXBob3JlIHsKLSAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZW1hcGhvcmUpOwotcHVibGlj
OgotICAgIFNlbWFwaG9yZSgpOwotICAgIFNlbWFwaG9yZShTZW1hcGhvcmUmJik7Ci0gICAgflNl
bWFwaG9yZSgpOwotICAgIFNlbWFwaG9yZSYgb3BlcmF0b3I9KFNlbWFwaG9yZSYmKTsKLQotICAg
IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICBzdGF0aWMgT3B0aW9uYWw8U2VtYXBo
b3JlPiBkZWNvZGUoRGVjb2RlciYpOwotCi0jaWYgT1MoREFSV0lOKQotICAgIGV4cGxpY2l0IFNl
bWFwaG9yZShNYWNoU2VuZFJpZ2h0JiYpOwotCi0gICAgdm9pZCBzaWduYWwoKTsKLSAgICB2b2lk
IHdhaXQoKTsKLSAgICB2b2lkIHdhaXRGb3IoU2Vjb25kcyk7Ci0gICAgTWFjaFNlbmRSaWdodCBj
cmVhdGVTZW5kUmlnaHQoKSBjb25zdDsKLSAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29u
c3QgeyByZXR1cm4gbV9zZW5kUmlnaHQgfHwgbV9zZW1hcGhvcmUgIT0gU0VNQVBIT1JFX05VTEw7
IH0KLSNlbHNlCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KLSNlbmRpZgotCi1wcml2YXRlOgotI2lmIE9TKERBUldJTikKLSAgICB2b2lkIGRlc3Ry
b3koKTsKLSAgICBNYWNoU2VuZFJpZ2h0IG1fc2VuZFJpZ2h0OwotICAgIHNlbWFwaG9yZV90IG1f
c2VtYXBob3JlIHsgU0VNQVBIT1JFX05VTEwgfTsKLSNlbmRpZgotfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9kYXJ3aW4vSVBD
U2VtYXBob3JlRGFyd2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL2Rhcndpbi9J
UENTZW1hcGhvcmVEYXJ3aW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4NzVjODFkNDJjNGZjNThlOWRlYjM3
M2Y1YzBkYzYwNjk2ZWE2YzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9kYXJ3aW4vSVBDU2VtYXBob3JlRGFyd2luLmNwcApAQCAtMCwwICsxLDEyMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJUENTZW1hcGhvcmUu
aCIKKworI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgPG1hY2gv
bWFjaC5oPgorCituYW1lc3BhY2UgSVBDIHsKKworU2VtYXBob3JlOjpTZW1hcGhvcmUoKQorewor
ICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2NyZWF0ZShtYWNoX3Rhc2tfc2VsZigpLCAmbV9zZW1h
cGhvcmUsIFNZTkNfUE9MSUNZX0ZJRk8sIDApOworICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQg
PT0gS0VSTl9TVUNDRVNTKTsKK30KKworU2VtYXBob3JlOjpTZW1hcGhvcmUoU2VtYXBob3JlJiYg
b3RoZXIpCisgICAgOiBtX3NlbmRSaWdodChXVEZNb3ZlKG90aGVyLm1fc2VuZFJpZ2h0KSkKKyAg
ICAsIG1fc2VtYXBob3JlKHN0ZDo6ZXhjaGFuZ2Uob3RoZXIubV9zZW1hcGhvcmUsIFNFTUFQSE9S
RV9OVUxMKSkKK3sKK30KKworU2VtYXBob3JlOjpTZW1hcGhvcmUoTWFjaFNlbmRSaWdodCYmIHNl
bmRSaWdodCkKKyAgICA6IG1fc2VuZFJpZ2h0KFdURk1vdmUoc2VuZFJpZ2h0KSkKKyAgICAsIG1f
c2VtYXBob3JlKG1fc2VuZFJpZ2h0LnNlbmRSaWdodCgpKQoreworICAgIEFTU0VSVChtX3NlbmRS
aWdodCk7Cit9CisKK1NlbWFwaG9yZTo6flNlbWFwaG9yZSgpCit7CisgICAgZGVzdHJveSgpOwor
fQorCitTZW1hcGhvcmUmIFNlbWFwaG9yZTo6b3BlcmF0b3I9KFNlbWFwaG9yZSYmIG90aGVyKQor
eworICAgIGlmICh0aGlzICE9ICZvdGhlcikgeworICAgICAgICBkZXN0cm95KCk7CisgICAgICAg
IG1fc2VuZFJpZ2h0ID0gV1RGTW92ZShvdGhlci5tX3NlbmRSaWdodCk7CisgICAgICAgIG1fc2Vt
YXBob3JlID0gc3RkOjpleGNoYW5nZShvdGhlci5tX3NlbWFwaG9yZSwgU0VNQVBIT1JFX05VTEwp
OworICAgIH0KKworICAgIHJldHVybiAqdGhpczsKK30KKwordm9pZCBTZW1hcGhvcmU6OnNpZ25h
bCgpCit7CisgICAgYXV0byByZXQgPSBzZW1hcGhvcmVfc2lnbmFsKG1fc2VtYXBob3JlKTsKKyAg
ICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VDQ0VTUyk7Cit9CisKK3ZvaWQgU2Vt
YXBob3JlOjp3YWl0KCkKK3sKKyAgICBhdXRvIHJldCA9IHNlbWFwaG9yZV93YWl0KG1fc2VtYXBo
b3JlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VDQ0VTUyk7Cit9CisK
K3ZvaWQgU2VtYXBob3JlOjp3YWl0Rm9yKFNlY29uZHMgdGltZW91dCkKK3sKKyAgICBhdXRvIHNl
Y29uZHMgPSB0aW1lb3V0LnNlY29uZHNBczx1bnNpZ25lZD4oKTsKKyAgICBhdXRvIHJldCA9IHNl
bWFwaG9yZV90aW1lZHdhaXQobV9zZW1hcGhvcmUsIHsgc2Vjb25kcywgc3RhdGljX2Nhc3Q8Y2xv
Y2tfcmVzX3Q+KHRpbWVvdXQubmFub3NlY29uZHNBczx1aW50NjRfdD4oKSAtIHNlY29uZHMgKiBO
U0VDX1BFUl9TRUMpIH0pOworICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VSTl9TVUND
RVNTIHx8IHJldCA9PSBLRVJOX09QRVJBVElPTl9USU1FRF9PVVQpOworfQorCitNYWNoU2VuZFJp
Z2h0IFNlbWFwaG9yZTo6Y3JlYXRlU2VuZFJpZ2h0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gTWFj
aFNlbmRSaWdodDo6Y3JlYXRlKG1fc2VtYXBob3JlKTsKK30KKwordm9pZCBTZW1hcGhvcmU6OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgY3JlYXRlU2Vu
ZFJpZ2h0KCk7Cit9CisKK09wdGlvbmFsPFNlbWFwaG9yZT4gU2VtYXBob3JlOjpkZWNvZGUoRGVj
b2RlciYgZGVjb2RlcikKK3sKKyAgICBNYWNoU2VuZFJpZ2h0IHNlbmRSaWdodDsKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHNlbmRSaWdodCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisgICAgcmV0dXJuIE9wdGlvbmFsPFNlbWFwaG9yZT4geyBzdGQ6OmluX3BsYWNlLCBXVEZNb3Zl
KHNlbmRSaWdodCkgfTsKK30KKworCit2b2lkIFNlbWFwaG9yZTo6ZGVzdHJveSgpCit7CisgICAg
aWYgKG1fc2VuZFJpZ2h0KSB7CisgICAgICAgIG1fc2VuZFJpZ2h0ID0gTWFjaFNlbmRSaWdodCgp
OworICAgICAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxMOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIGlmIChtX3NlbWFwaG9yZSA9PSBTRU1BUEhPUkVfTlVMTCkKKyAgICAgICAg
cmV0dXJuOworICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2Rlc3Ryb3kobWFjaF90YXNrX3NlbGYo
KSwgbV9zZW1hcGhvcmUpOworICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VSTl9TVUND
RVNTKTsKKyAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxMOworfQorCit9IC8vIG5hbWVz
cGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL2Rhcndpbi9T
ZW1hcGhvcmVEYXJ3aW4uY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvZGFyd2luL1Nl
bWFwaG9yZURhcndpbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxMTRkYjll
YTFmNzlkM2ExMTU4OGU1ZTBhOGVjMmYzZWRhYjkwN2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvZGFyd2lu
L1NlbWFwaG9yZURhcndpbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMjEgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJTZW1hcGhvcmUuaCIKLQot
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgotI2luY2x1ZGUgPG1hY2gvbWFjaC5o
PgotCi1uYW1lc3BhY2UgSVBDIHsKLQotU2VtYXBob3JlOjpTZW1hcGhvcmUoKQotewotICAgIGF1
dG8gcmV0ID0gc2VtYXBob3JlX2NyZWF0ZShtYWNoX3Rhc2tfc2VsZigpLCAmbV9zZW1hcGhvcmUs
IFNZTkNfUE9MSUNZX0ZJRk8sIDApOwotICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VS
Tl9TVUNDRVNTKTsKLX0KLQotU2VtYXBob3JlOjpTZW1hcGhvcmUoU2VtYXBob3JlJiYgb3RoZXIp
Ci0gICAgOiBtX3NlbmRSaWdodChXVEZNb3ZlKG90aGVyLm1fc2VuZFJpZ2h0KSkKLSAgICAsIG1f
c2VtYXBob3JlKHN0ZDo6ZXhjaGFuZ2Uob3RoZXIubV9zZW1hcGhvcmUsIFNFTUFQSE9SRV9OVUxM
KSkKLXsKLX0KLQotU2VtYXBob3JlOjpTZW1hcGhvcmUoTWFjaFNlbmRSaWdodCYmIHNlbmRSaWdo
dCkKLSAgICA6IG1fc2VuZFJpZ2h0KFdURk1vdmUoc2VuZFJpZ2h0KSkKLSAgICAsIG1fc2VtYXBo
b3JlKG1fc2VuZFJpZ2h0LnNlbmRSaWdodCgpKQotewotICAgIEFTU0VSVChtX3NlbmRSaWdodCk7
Ci19Ci0KLVNlbWFwaG9yZTo6flNlbWFwaG9yZSgpCi17Ci0gICAgZGVzdHJveSgpOwotfQotCi1T
ZW1hcGhvcmUmIFNlbWFwaG9yZTo6b3BlcmF0b3I9KFNlbWFwaG9yZSYmIG90aGVyKQotewotICAg
IGlmICh0aGlzICE9ICZvdGhlcikgewotICAgICAgICBkZXN0cm95KCk7Ci0gICAgICAgIG1fc2Vu
ZFJpZ2h0ID0gV1RGTW92ZShvdGhlci5tX3NlbmRSaWdodCk7Ci0gICAgICAgIG1fc2VtYXBob3Jl
ID0gc3RkOjpleGNoYW5nZShvdGhlci5tX3NlbWFwaG9yZSwgU0VNQVBIT1JFX05VTEwpOwotICAg
IH0KLQotICAgIHJldHVybiAqdGhpczsKLX0KLQotdm9pZCBTZW1hcGhvcmU6OnNpZ25hbCgpCi17
Ci0gICAgYXV0byByZXQgPSBzZW1hcGhvcmVfc2lnbmFsKG1fc2VtYXBob3JlKTsKLSAgICBBU1NF
UlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VDQ0VTUyk7Ci19Ci0KLXZvaWQgU2VtYXBob3Jl
Ojp3YWl0KCkKLXsKLSAgICBhdXRvIHJldCA9IHNlbWFwaG9yZV93YWl0KG1fc2VtYXBob3JlKTsK
LSAgICBBU1NFUlRfVU5VU0VEKHJldCwgcmV0ID09IEtFUk5fU1VDQ0VTUyk7Ci19Ci0KLXZvaWQg
U2VtYXBob3JlOjp3YWl0Rm9yKFNlY29uZHMgdGltZW91dCkKLXsKLSAgICBhdXRvIHNlY29uZHMg
PSB0aW1lb3V0LnNlY29uZHNBczx1bnNpZ25lZD4oKTsKLSAgICBhdXRvIHJldCA9IHNlbWFwaG9y
ZV90aW1lZHdhaXQobV9zZW1hcGhvcmUsIHsgc2Vjb25kcywgc3RhdGljX2Nhc3Q8Y2xvY2tfcmVz
X3Q+KHRpbWVvdXQubmFub3NlY29uZHNBczx1aW50NjRfdD4oKSAtIHNlY29uZHMgKiBOU0VDX1BF
Ul9TRUMpIH0pOwotICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VSTl9TVUNDRVNTIHx8
IHJldCA9PSBLRVJOX09QRVJBVElPTl9USU1FRF9PVVQpOwotfQotCi1NYWNoU2VuZFJpZ2h0IFNl
bWFwaG9yZTo6Y3JlYXRlU2VuZFJpZ2h0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gTWFjaFNlbmRS
aWdodDo6Y3JlYXRlKG1fc2VtYXBob3JlKTsKLX0KLQotdm9pZCBTZW1hcGhvcmU6OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGVuY29kZXIgPDwgY3JlYXRlU2VuZFJpZ2h0
KCk7Ci19Ci0KLU9wdGlvbmFsPFNlbWFwaG9yZT4gU2VtYXBob3JlOjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKLXsKLSAgICBNYWNoU2VuZFJpZ2h0IHNlbmRSaWdodDsKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHNlbmRSaWdodCkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAg
cmV0dXJuIE9wdGlvbmFsPFNlbWFwaG9yZT4geyBzdGQ6OmluX3BsYWNlLCBXVEZNb3ZlKHNlbmRS
aWdodCkgfTsKLX0KLQotCi12b2lkIFNlbWFwaG9yZTo6ZGVzdHJveSgpCi17Ci0gICAgaWYgKG1f
c2VuZFJpZ2h0KSB7Ci0gICAgICAgIG1fc2VuZFJpZ2h0ID0gTWFjaFNlbmRSaWdodCgpOwotICAg
ICAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxMOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotICAgIGlmIChtX3NlbWFwaG9yZSA9PSBTRU1BUEhPUkVfTlVMTCkKLSAgICAgICAgcmV0dXJu
OwotICAgIGF1dG8gcmV0ID0gc2VtYXBob3JlX2Rlc3Ryb3kobWFjaF90YXNrX3NlbGYoKSwgbV9z
ZW1hcGhvcmUpOwotICAgIEFTU0VSVF9VTlVTRUQocmV0LCByZXQgPT0gS0VSTl9TVUNDRVNTKTsK
LSAgICBtX3NlbWFwaG9yZSA9IFNFTUFQSE9SRV9OVUxMOwotfQotCi19IC8vIG5hbWVzcGFjZSBJ
UEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkg
Yi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IGVjOGJjZjA4
N2RmMTZkZjYwZGJlMDA4MGU0Y2ViMDYxZDE3NjhmZjcuLjg3YjcxYjU5MDQxOGMzYTQ4OTZhOTUx
YzRkNWJkMjM2N2UzNGEyYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weQpAQCAtNjQxLDYgKzY0MSw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAg
ICAgICAnTWFjaFNlbmRSaWdodCc6IFsnPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+J10sCiAgICAgICAg
ICdKU0M6Ok1lc3NhZ2VMZXZlbCc6IFsnPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPidd
LAogICAgICAgICAnSlNDOjpNZXNzYWdlU291cmNlJzogWyc8SmF2YVNjcmlwdENvcmUvQ29uc29s
ZVR5cGVzLmg+J10sCisgICAgICAgICdJUEM6OlNlbWFwaG9yZSc6IFsnIklQQ1NlbWFwaG9yZS5o
IiddLAogICAgICAgICAnSW5zcGVjdG9yOjpJbnNwZWN0b3JUYXJnZXRUeXBlJzogWyc8SmF2YVNj
cmlwdENvcmUvSW5zcGVjdG9yVGFyZ2V0Lmg+J10sCiAgICAgICAgICdJbnNwZWN0b3I6OkZyb250
ZW5kQ2hhbm5lbDo6Q29ubmVjdGlvblR5cGUnOiBbJzxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkRpc3BsYXlMaXN0OjpGbHVz
aElkZW50aWZpZXInOiBbJzxXZWJDb3JlL0Rpc3BsYXlMaXN0Lmg+J10sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRl
eCA5YWJkODk5NWIyODE5YWZhOWNmZjE0NzJkYzQ4ODEwMTlmMjZmNjM4Li42ZDRlYTUzNDhjN2Rh
ZWY3NTEwMzg5MGI1MDljMDcyMDk5MzFhMzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTE0MSwxMCArMTQx
LDEwIEBAIFBsYXRmb3JtL0lQQy9BdHRhY2htZW50LmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQ
Qy9Db25uZWN0aW9uLmNwcCBAbm8tdW5pZnkKIFBsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcCBAbm8t
dW5pZnkKIFBsYXRmb3JtL0lQQy9FbmNvZGVyLmNwcCBAbm8tdW5pZnkKK1BsYXRmb3JtL0lQQy9J
UENTZW1hcGhvcmUuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL0pTSVBDQmluZGluZy5jcHAg
QG5vLXVuaWZ5CiBQbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmNwcCBAbm8tdW5pZnkK
IFBsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVyLmNwcCBAbm8tdW5pZnkKLVBsYXRmb3JtL0lQQy9T
ZW1hcGhvcmUuY3BwIEBuby11bmlmeQogUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckNvcHkuY3Bw
IEBuby11bmlmeQogUGxhdGZvcm0vSVBDL1NoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UuY3BwIEBu
by11bmlmeQogUGxhdGZvcm0vSVBDL1N0cmluZ1JlZmVyZW5jZS5jcHAgQG5vLXVuaWZ5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKaW5kZXggNDJiOGUyNGYxZjc4YjQwNzViYzcxMDJkOTQwMjVjMDVjMTg3
NDBhZC4uNGRmMzQ0MzU1ZWE0YTEzZWFlOTkzN2NjNWRjYTM2MjZmMGY4MDk1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291
cmNlc0NvY29hLnR4dApAQCAtODcsOCArODcsOCBAQCBQbGF0Zm9ybS9pb3MvUGF5bWVudEF1dGhv
cml6YXRpb25Db250cm9sbGVyLm1tCiAKIFBsYXRmb3JtL0lQQy9jb2NvYS9Db25uZWN0aW9uQ29j
b2EubW0KIFBsYXRmb3JtL0lQQy9jb2NvYS9NYWNoTWVzc2FnZS5jcHAKLVBsYXRmb3JtL0lQQy9k
YXJ3aW4vU2VtYXBob3JlRGFyd2luLmNwcAogCitQbGF0Zm9ybS9JUEMvZGFyd2luL0lQQ1NlbWFw
aG9yZURhcndpbi5jcHAKIAogUGxhdGZvcm0vbWFjL01hY2hVdGlsaXRpZXMuY3BwCiBQbGF0Zm9y
bS9tYWMvTWVudVV0aWxpdGllcy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWZjYmY4MTA1MjQyYjZmMjg3NDhmOTgwNjVlYjQwMDM1
Y2MyNGRiZC4uN2UwMDcyYzNiNjgwODRkNmJjMjYyNmI5MDVkMzAyZDcwMGVmZTIxOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzI3
LDggKzEzMjcsNiBAQAogCQk3QUZCRDM2NzIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01lbW9yeVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QUZCRDM2NTIxRTUxQkFCMDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlLmggKi87IH07CiAJCTdBRkJEMzZGMjFFNTQ2RjgwMDVEQkFDQiAv
KiBQZXJzaXN0ZW5jeVV0aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QUZCRDM2RDIxRTU0NkUzMDA1REJBQ0IgLyogUGVyc2lzdGVuY3lVdGlscy5o
ICovOyB9OwogCQk3QjFEQjI2NjI1NjY4Q0UxMDAwRTI2QkMgLyogQXJyYXlSZWZlcmVuY2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCMURCMjY1MjU2
NjhDRTAwMDBFMjZCQyAvKiBBcnJheVJlZmVyZW5jZS5oICovOyB9OwotCQk3QjczMTIyODI1Qzk4
OEFBMDAzQjI3OTYgLyogU2VtYXBob3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMjI2MjVDOTg4QUEwMDNCMjc5NiAvKiBTZW1hcGhvcmUu
Y3BwICovOyB9OwotCQk3QjczMTIyOTI1Qzk4OEFCMDAzQjI3OTYgLyogU2VtYXBob3JlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjczMTIyNzI1Qzk4
OEFBMDAzQjI3OTYgLyogU2VtYXBob3JlLmggKi87IH07CiAJCTdDMDY1RjJDMUM4Q0Q5NUYwMEMy
RDk1MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMDY1RjJBMUM4Q0Q5NUYwMEMyRDk1
MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJEYXRhVHlwZXMuaCAqLzsgfTsKIAkJN0MxMzVB
QTkxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMTM1QUE3MTczQjBCQ0EwMDU4NkFF
MiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0MxQkEzM0UxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rp
b25hcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
MUJBMzNDMUE0QTBFNjAwMDQzRTI0OSAvKiBBUElEaWN0aW9uYXJ5LmggKi87IH07CkBAIC0xNTc3
LDYgKzE1NzUsOCBAQAogCQlBMUVGMzZDMDI1ODFGNzZGMDA5MEIwMkEgLyogTWVkaWFGb3JtYXRS
ZWFkZXIuYnVuZGxlIGluIENvcHkgUGx1Zy1pbnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTE2RTY2MDAyNTgxOTMwODAwRUUxNzQ5IC8qIE1lZGlhRm9ybWF0UmVhZGVyLmJ1
bmRsZSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChSZW1vdmVIZWFkZXJzT25Db3B5LCAp
OyB9OyB9OwogCQlBMUVGMzZENTI1ODFGN0VCMDA5MEIwMkEgLyogTWVkaWFGb3JtYXRSZWFkZXIu
YnVuZGxlIGluIENvcHkgUGx1Zy1pbnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTE2RTY2MDAyNTgxOTMwODAwRUUxNzQ5IC8qIE1lZGlhRm9ybWF0UmVhZGVyLmJ1bmRsZSAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChSZW1vdmVIZWFkZXJzT25Db3B5LCApOyB9OyB9
OwogCQlBMUZCNjgyNDFGNkU1MTgyMDBDNDNGOUYgLyogV0tDcmFzaFJlcG9ydGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUZCNjgyMjFGNkU1MTgy
MDBDNDNGOUYgLyogV0tDcmFzaFJlcG9ydGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTMxRjYwQTQyNUNDN0RCOTAwQUYxNEY0IC8qIElQQ1Nl
bWFwaG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTMxRjYwQTIyNUNDN0RCODAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5oICovOyB9OworCQlBMzFG
NjBBNTI1Q0M3REI5MDBBRjE0RjQgLyogSVBDU2VtYXBob3JlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUY2MEEzMjVDQzdEQjgwMEFGMTRGNCAv
KiBJUENTZW1hcGhvcmUuY3BwICovOyB9OwogCQlBNTEzRjU0MDIxNTRBNUQ3MDA2NjI4NDEgLyog
V2ViUGFnZUluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1MTNGNTNFMjE1NEE1Q0MwMDY2Mjg0MSAvKiBXZWJQYWdlSW5z
cGVjdG9yQ29udHJvbGxlci5oICovOyB9OwogCQlBNTE4QjVEMjFGRTFENTVCMDBGOUZBMjggLyog
V0tJbnNwZWN0b3JXS1dlYlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1MThCNUQwMUZFMUQ1NUIwMEY5RkEyOCAvKiBXS0luc3BlY3RvcldLV2Vi
Vmlldy5oICovOyB9OwogCQlBNTQyOTNBNDE5NUE0M0RBMDAyNzgyQzcgLyogV0tJbnNwZWN0b3JO
b2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1NDI5M0EyMTk1QTQzQzYwMDI3ODJDNyAvKiBXS0luc3BlY3Rv
ck5vZGVTZWFyY2hHZXN0dXJlUmVjb2duaXplci5oICovOyB9OwpAQCAtNDUxOSw5ICs0NTE5LDYg
QEAKIAkJN0FGQkQzNkUyMUU1NDZFMzAwNURCQUNCIC8qIFBlcnNpc3RlbmN5VXRpbHMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGVyc2lzdGVuY3lVdGlscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdCMURCMjY1MjU2NjhDRTAwMDBFMjZCQyAvKiBBcnJheVJlZmVyZW5jZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcnJheVJlZmVyZW5jZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QjY0QzBCNjI1NEM1QzI1MDAwNkI0QUYgLyogR3Jh
cGhpY3NDb250ZXh0R0xJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4
dEdMSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QjczMTIyNjI1
Qzk4OEFBMDAzQjI3OTYgLyogU2VtYXBob3JlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNlbWFwaG9yZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTdCNzMxMjI3MjVDOTg4QUEwMDNCMjc5NiAvKiBTZW1hcGhvcmUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2VtYXBob3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTdCNzMxMjJBMjVDOTg4QzYwMDNCMjc5NiAvKiBTZW1hcGhvcmVEYXJ3aW4uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VtYXBob3JlRGFyd2luLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0I5MDQxNjUyNTRBRkRFQTAwNkVFQjhDIC8qIFJl
bW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3Rl
R3JhcGhpY3NDb250ZXh0R0xQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdCOTA0MTY2MjU0QUZERUIwMDZFRUI4QyAvKiBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0I5MDQxNjcyNTRBRkUxNzAwNkVFQjhDIC8qIFJlbW90
ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlR3JhcGhpY3ND
b250ZXh0R0xQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTQ5NjYsNiArNDk2Myw5IEBACiAJCUExRUREMkRCMTg4NEI5NjQwMEJCRkU5OCAvKiBQbHVnaW5Q
cm9jZXNzU2hpbS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBQbHVnaW5Qcm9jZXNzU2hpbS54Y2Nv
bmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGQjY4MjIxRjZFNTE4MjAwQzQz
RjlGIC8qIFdLQ3Jhc2hSZXBvcnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0NyYXNoUmVwb3J0ZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGQjY4MjMxRjZFNTE4MjAwQzQzRjlG
IC8qIFdLQ3Jhc2hSZXBvcnRlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQ3Jhc2hSZXBv
cnRlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxRjYwQTIyNUNDN0RCODAw
QUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJUENTZW1hcGhvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxRjYwQTMy
NUNDN0RCODAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJUENTZW1hcGhvcmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBMzFGNjBBNjI1Q0M3RENGMDBBRjE0RjQgLyogSVBDU2VtYXBob3JlRGFyd2luLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElQQ1NlbWFwaG9yZURhcndp
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzOEExMkUxMjNDOTNBQzcwMEZB
QkZBOSAvKiBUZXh0Q2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUZXh0Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzOTM3
QjYxMjNDRDFCOUIwMDVCMkEyRSAvKiBXZWJQcmVmZXJlbmNlc0NvY29hLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNDb2NvYS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUxM0Y1M0UyMTU0QTVDQzAwNjYyODQxIC8qIFdl
YlBhZ2VJbnNwZWN0b3JDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBhZ2VJbnNwZWN0
b3JDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTAxLDYgKzY5
MDEsOCBAQAogCQkJCTQxNTFFNUMzMUZCQjkwQTkwMEU0N0UyRCAvKiBGb3JtRGF0YVJlZmVyZW5j
ZS5oICovLAogCQkJCUMwQ0U3MkFDMTI0N0U3OEQwMEJDMEVDNCAvKiBIYW5kbGVNZXNzYWdlLmgg
Ki8sCiAJCQkJMUM5QUYzNjEyNDEzNEQyMzAwRDNFQzAyIC8qIEltYWdlRGF0YVJlZmVyZW5jZS5o
ICovLAorCQkJCUEzMUY2MEEzMjVDQzdEQjgwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmUuY3BwICov
LAorCQkJCUEzMUY2MEEyMjVDQzdEQjgwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmUuaCAqLywKIAkJ
CQk5QkY1RUM2MzI1NDEwRTk5MDA5ODRFNzcgLyogSlNJUENCaW5kaW5nLmNwcCAqLywKIAkJCQk5
QjQ3OTA4RTI1MzE1MUNDMDBFQzExQUIgLyogSlNJUENCaW5kaW5nLmggKi8sCiAJCQkJOUI0Nzkw
OEMyNTMxNEQ4MzAwRUMxMUFCIC8qIE1lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5oICovLApA
QCAtNjkxMCw4ICs2OTEyLDYgQEAKIAkJCQkxQTNFRUQwRDE2MUE1MzUzMDBBRUI0RjUgLyogTWVz
c2FnZVJlY2VpdmVyTWFwLmggKi8sCiAJCQkJMUFBQjAzNzcxODVBN0M2QTAwRURGNTAxIC8qIE1l
c3NhZ2VTZW5kZXIuY3BwICovLAogCQkJCTFBQUIwMzc4MTg1QTdDNkEwMEVERjUwMSAvKiBNZXNz
YWdlU2VuZGVyLmggKi8sCi0JCQkJN0I3MzEyMjYyNUM5ODhBQTAwM0IyNzk2IC8qIFNlbWFwaG9y
ZS5jcHAgKi8sCi0JCQkJN0I3MzEyMjcyNUM5ODhBQTAwM0IyNzk2IC8qIFNlbWFwaG9yZS5oICov
LAogCQkJCTJEQzE4MDAxRDkwREREMTVGQzY5OTFBOSAvKiBTaGFyZWRCdWZmZXJDb3B5LmNwcCAq
LywKIAkJCQk1Q0M1REI5MTIxNDg4RTE2MDA2Q0I4QTggLyogU2hhcmVkQnVmZmVyQ29weS5oICov
LAogCQkJCTJEQzE4NTVFREJGQjg1MEJBMEI2RDA2RCAvKiBTaGFyZWRCdWZmZXJEYXRhUmVmZXJl
bmNlLmNwcCAqLywKQEAgLTkwMTksNyArOTAxOSw3IEBACiAJCTdCNzMxMjJDMjVDQTY3QUUwMDNC
Mjc5NiAvKiBkYXJ3aW4gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAotCQkJCTdCNzMxMjJBMjVDOTg4QzYwMDNCMjc5NiAvKiBTZW1hcGhvcmVEYXJ3aW4uY3BwICov
LAorCQkJCUEzMUY2MEE2MjVDQzdEQ0YwMEFGMTRGNCAvKiBJUENTZW1hcGhvcmVEYXJ3aW4uY3Bw
ICovLAogCQkJKTsKIAkJCXBhdGggPSBkYXJ3aW47CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OwpAQCAtMTE2NjAsNiArMTE2NjAsNyBAQAogCQkJCUE1RTM5MUZEMjE4M0MxRjgwMEM4RkIzMSAv
KiBJbnNwZWN0b3JUYXJnZXRQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVCQ0U1REYxQzUw
NzY2QTAwQ0RFM0ZBIC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyRDREMkM4MTFERjYwQkYzMDAyRUIxMEMgLyogSW50ZXJhY3Rpb25JbmZv
cm1hdGlvblJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUEzMUY2MEE0MjVDQzdEQjkwMEFG
MTRGNCAvKiBJUENTZW1hcGhvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCNDc5MDhGMjUzMTUx
Q0MwMEVDMTFBQiAvKiBKU0lQQ0JpbmRpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTQ5QTQ5
MTFGRkE4Q0UwMDQ4QjQ2NCAvKiBKU05QTWV0aG9kLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU0
OTg3ODExRkY3RkFBMDA0OEI0NjQgLyogSlNOUE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
MTkyMiw3ICsxMTkyMyw2IEBACiAJCQkJRTE4RTY5MEMxNjlCNTYzRjAwOUI2NjcwIC8qIFNlY0l0
ZW1TaGltUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOEU2OTE4MTY5QjY2N0IwMDlCNjY3
MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MEFC
OEYzMjBBRTNCRDcwMEI4QkU4NyAvKiBTZWNLZXlQcm94eVN0b3JlLmggaW4gSGVhZGVycyAqLywK
LQkJCQk3QjczMTIyOTI1Qzk4OEFCMDAzQjI3OTYgLyogU2VtYXBob3JlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTREOUY1NzE5MTE5RDM1MDAwMDYzQTcgLyogU2VydmljZXNDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUZERTY1QTE5NTRBNDJCMDBDNDhGRkEgLyogU2Vzc2lvblN0
YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTAwMkQ0OTE5NkIzNDVEMDBCOUFENDQgLyogU2Vz
c2lvblN0YXRlQ29kaW5nLmggaW4gSGVhZGVycyAqLywKQEAgLTEzNjc2LDYgKzEzNjc2LDcgQEAK
IAkJCQlDMUExNTJENzI0RTVBMjlBMDA5NzhDOEIgLyogSGFuZGxlWFBDRW5kcG9pbnRNZXNzYWdl
cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI3NDlGNjQ0MjE0NjU2MUIwMDgzODBCRiAvKiBJbmpl
Y3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjc0OUY2NDUyMTQ2
NTYxRTAwODM4MEJGIC8qIEluamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQTMxRjYwQTUyNUNDN0RCOTAwQUYxNEY0IC8qIElQQ1NlbWFwaG9yZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5QkY1RUM2NDI1NDExNDU2MDA5ODRFNzcgLyogSlNJUENCaW5kaW5n
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTEzNDQxMjEyQ0Y5RjAwMDEyOEFGRCAvKiBKU05Q
TWV0aG9kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTEzNDQyMjEyQ0Y5RjAwMDEyOEFGRCAv
KiBKU05QT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTM3NzQsNyArMTM3NzUsNiBAQAog
CQkJCUE1NUJBODI2MUJBMjVDRkQwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQkJCRTRBMDE5QjY2QzUzMDA2
QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRTE4RTY5MTcxNjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJN0I3MzEyMjgyNUM5ODhBQTAw
M0IyNzk2IC8qIFNlbWFwaG9yZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MURFN0M2QzIyMjc4
RjFFMDA1MzJCNjUgLyogU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkyRDkyQTc4NzIxMkI2QUIxMDBGNDkzRkQgLyogU2hhcmVhYmxlQml0bWFwLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJEQzE4RkVCRjMzN0I5NjcxQzg4RTNDRCAvKiBTaGFyZWRCdWZmZXJD
b3B5LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5
LmgKaW5kZXggMDU5ODJjZTcwYmVkMGE5NzAwOTVlMjZlZGRkZmY2ZDY4ODY3M2YyNS4uOTFlMDU2
MDA5YzZiZTMyNjY0MTNjOGRmMTAyNWFjN2U5MWFjOGE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlbmRl
cmluZ0JhY2tlbmRQcm94eS5oCkBAIC0yOSwxMiArMjksMTIgQEAKIAogI2luY2x1ZGUgIkdQVVBy
b2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc1dha2V1cE1lc3NhZ2VBcmd1
bWVudHMuaCIKKyNpbmNsdWRlICJJUENTZW1hcGhvcmUuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZl
ckJhY2tlbmRIYW5kbGUuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRl
ICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIuaCIKLSNpbmNsdWRlICJTZW1h
cGhvcmUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlMaXN0Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUu
aD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvblByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5oCmluZGV4IGFjZWIyOGFmYzJjNmRhNmFm
ODM3MThkYmJmMjhjMzYxY2ViYjllY2YuLjk5NWU3ZjAzNWQ2MzVmZmE1OTgxMzY0MDI0NDQ4NmEw
NWY2NWZhZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaApAQCAtMjksOCArMjks
OCBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25u
ZWN0aW9uLmgiCisjaW5jbHVkZSAiSVBDU2VtYXBob3JlLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVk
aW9EZXN0aW5hdGlvbklkZW50aWZpZXIuaCIKLSNpbmNsdWRlICJTZW1hcGhvcmUuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0F1ZGlvSU9DYWxsYmFjay5oPgogI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVh
ZFF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>