<?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>206307</bug_id>
          
          <creation_ts>2020-01-15 12:32:39 -0800</creation_ts>
          <short_desc>Platform.h is out of control Part 5: Split HAVE_* macro definitions out of Platform.h and into a new PlatformHave.h</short_desc>
          <delta_ts>2020-01-16 06:48:16 -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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>andersca</cc>
    
    <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1607085</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-15 12:32:39 -0800</bug_when>
    <thetext>Platform.h is out of control Part 5: Split HAVE_* macro definitions out of Platform.h and into a new PlatformHave.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607086</commentid>
    <comment_count>1</comment_count>
      <attachid>387821</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-15 12:33:10 -0800</bug_when>
    <thetext>Created attachment 387821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607115</commentid>
    <comment_count>2</comment_count>
      <attachid>387832</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-15 13:20:34 -0800</bug_when>
    <thetext>Created attachment 387832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607448</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-16 06:47:19 -0800</bug_when>
    <thetext>Committed r254676: &lt;https://trac.webkit.org/changeset/254676&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607450</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-16 06:48:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/58642918&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387821</attachid>
            <date>2020-01-15 12:33:10 -0800</date>
            <delta_ts>2020-01-15 13:19:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206307-20200115123310.patch</filename>
            <type>text/plain</type>
            <size>76123</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTQ2MjgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTAxLTE1ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBQbGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQg
NTogU3BsaXQgSEFWRV8qIG1hY3JvIGRlZmluaXRpb25zIG91dCBvZiBQbGF0Zm9ybS5oIGFuZCBp
bnRvIGEgbmV3IFBsYXRmb3JtSGF2ZS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDYzMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmguCisKIDIwMjAtMDEtMTQgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAg
ICAgICAgIFBsYXRmb3JtLmggaXMgb3V0IG9mIGNvbnRyb2wgUGFydCA0OiBTcGxpdCBQTEFURk9S
TV8qIG1hY3JvIGRlZmluaXRpb25zIG91dCBvZiBQbGF0Zm9ybS5oIGFuZCBpbnRvIGEgbmV3IFBs
YXRmb3JtTGVnYWN5LmgKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gMjU0NjI2KQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDQzLDYgKzQ0Myw3IEBACiAJCTdDMTM3OTQx
MjIyMzI2QzcwMEQ3QTgyNCAvKiBBVVRIT1JTICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFVVEhPUlM7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDMTM3OTQyMjIyMzI2RDUwMEQ3QTgyNCAvKiBpZWVlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IGllZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MxMzc5NDMy
MjIzMjZENTAwRDdBODI0IC8qIFJFQURNRS5tZCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IG5ldC5kYXJpbmdmaXJlYmFsbC5tYXJrZG93bjsgcGF0aCA9
IFJFQURNRS5tZDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MzQTQ1RDAyM0NGQTg4
MzAwN0RFM0E2IC8qIFBsYXRmb3JtSGF2ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQbGF0Zm9ybUhhdmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MzRjcy
MzkxRDc4ODExOTAwNjc0RTI2IC8qIEJyaWdhbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQnJpZ2FuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzQyMzA3
MTIzQ0UyRDhBMDA2RTU0RDAgLyogUGxhdGZvcm1FbmFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1FbmFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0M0MjMwNzIyM0NFMkQ4QTAwNkU1NEQwIC8qIFBsYXRmb3JtQ1BVLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ1BVLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMTI4LDYgKzExMjksNyBAQAogCQkJCUE4NzZEQkQ3MTUxODE2RTUwMERB
REI5NSAvKiBQbGF0Zm9ybS5oICovLAogCQkJCTdDNDIzMDcyMjNDRTJEOEEwMDZFNTREMCAvKiBQ
bGF0Zm9ybUNQVS5oICovLAogCQkJCTdDNDIzMDcxMjNDRTJEOEEwMDZFNTREMCAvKiBQbGF0Zm9y
bUVuYWJsZS5oICovLAorCQkJCTdDM0E0NUQwMjNDRkE4ODMwMDdERTNBNiAvKiBQbGF0Zm9ybUhh
dmUuaCAqLywKIAkJCQk3QzQyMzA3NDIzQ0VCMTg3MDA2RTU0RDAgLyogUGxhdGZvcm1MZWdhY3ku
aCAqLywKIAkJCQk3QzQyMzA3MzIzQ0UyRDhCMDA2RTU0RDAgLyogUGxhdGZvcm1PUy5oICovLAog
CQkJCUZFMUUyQzQxMjI0MTg3QzYwMEY2QjcyOSAvKiBQbGF0Zm9ybVJlZ2lzdGVycy5jcHAgKi8s
CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjU0NjI2KQorKysgU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3Myw2ICsxNzMsNyBAQCBz
ZXQoV1RGX1BVQkxJQ19IRUFERVJTCiAgICAgUGxhdGZvcm0uaAogICAgIFBsYXRmb3JtQ1BVLmgK
ICAgICBQbGF0Zm9ybUVuYWJsZS5oCisgICAgUGxhdGZvcm1IYXZlLmgKICAgICBQbGF0Zm9ybUxl
Z2FjeS5oCiAgICAgUGxhdGZvcm1PUy5oCiAgICAgUGxhdGZvcm1SZWdpc3RlcnMuaApJbmRleDog
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCShyZXZpc2lvbiAyNTQ2MjYpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
Ni0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDEwLCAy
MDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
QEAgLTQ1LDggKzQ1LDcgQEAKICNpbmNsdWRlIDx3dGYvUGxhdGZvcm1MZWdhY3kuaD4KIAogLyog
SEFWRSgpIC0gc3BlY2lmaWMgc3lzdGVtIGZlYXR1cmVzIChoZWFkZXJzLCBmdW5jdGlvbnMgb3Ig
c2ltaWxhcikgdGhhdCBhcmUgcHJlc2VudCBvciBub3QgKi8KLSNkZWZpbmUgSEFWRShXVEZfRkVB
VFVSRSkgKGRlZmluZWQgSEFWRV8jI1dURl9GRUFUVVJFICAmJiBIQVZFXyMjV1RGX0ZFQVRVUkUp
Ci0KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm1IYXZlLmg+CiAKIC8qID09PT0gUG9saWN5IGRlY2lz
aW9uIG1hY3JvczogdGhlc2UgZGVmaW5lIHBvbGljeSBjaG9pY2VzIGZvciBhIHBhcnRpY3VsYXIg
cG9ydC4gPT09PSAqLwogCkBAIC01Niw2ICs1NSw3IEBACiAjZGVmaW5lIEVOQUJMRShXVEZfRkVB
VFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFU
VVJFKQogCiAKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogI2lmIGRlZmluZWQgX19oYXNfaW5jbHVk
ZSAmJiBfX2hhc19pbmNsdWRlKDxDb3JlRm91bmRhdGlvbi9DRlByaXYuaD4pCiAjZGVmaW5lIFVT
RV9BUFBMRV9JTlRFUk5BTF9TREsgMQpAQCAtNzcsMTcgKzc3LDYgQEAKICNkZWZpbmUgVVNFX0FS
RU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKICNlbmRpZgogCi0jaWYgQ1BVKEFSTV9ORU9O
KQotLyogQWxsIE5FT04gaW50cmluc2ljcyB1c2FnZSBjYW4gYmUgZGlzYWJsZWQgYnkgdGhpcyBt
YWNyby4gKi8KLSNkZWZpbmUgSEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNTIDEKLSNlbmRpZgotCi0v
KiBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byBXVEZfQ1BVX0FSTV9JRElWX0lOU1RS
VUNUSU9OUyBhbmQgbW92ZWQgdG8gQ1BVLmggKi8KLSNpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfRVhU
X0lESVZfXykgfHwgQ1BVKEFQUExFX0FSTVY3UykKLSNkZWZpbmUgSEFWRV9BUk1fSURJVl9JTlNU
UlVDVElPTlMgMQotI2VuZGlmCi0KLQogCiAvKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCiAK
QEAgLTE4NSwxMCArMTc0LDYgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVm
aW5lIEhBVkVfT1VUX09GX1BST0NFU1NfTEFZRVJfSE9TVElORyAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKENPQ09BKQogI2RlZmluZSBVU0VfQ0YgMQogI2VuZGlmCiAKQEAgLTIxNCwxOCArMTk5
LDYgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBIQVZFX1JVTkxPT1Bf
VElNRVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0jZGVmaW5lIEhBVkVfU0VDX0tF
WUNIQUlOIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBIQVZFX0hJU0VS
VklDRVMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIFVTRV9BUFBLSVQg
MQogI2VuZGlmCiAKQEAgLTIzNCwyMiArMjA3LDEwIEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KE1BQykKLSNkZWZpbmUgSEFWRV9ORVRXT1JLX0VYVEVOU0lPTiAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKE1BQykKICNkZWZpbmUgVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMQogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX05FVFdPUktfRVhURU5TSU9O
IDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNkZWZpbmUgSEFWRV9SRUFE
TElORSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjZGVmaW5lIFVTRV9V
SUtJVF9FRElUSU5HIDEKICNlbmRpZgogCkBAIC0yNTcsMTg4ICsyMTgsMTggQEAKICNkZWZpbmUg
VVNFX1dFQl9USFJFQUQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBD
UFUoQVJNX05FT04pCi0jdW5kZWYgSEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNTCi0jZGVmaW5lIEhB
VkVfQVJNX05FT05fSU5UUklOU0lDUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfUERG
SE9TVFZJRVdDT05UUk9MTEVSX1NOQVBTSE9UVElORykgJiYgUExBVEZPUk0oSU9TKQotI2RlZmlu
ZSBIQVZFX1BERkhPU1RWSUVXQ09OVFJPTExFUl9TTkFQU0hPVFRJTkcgMQotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChIQVZFX1ZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykgJiYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSNkZWZpbmUgSEFWRV9WSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcgMQot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1VJU0NFTkUpICYmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0jZGVmaW5lIEhBVkVfVUlTQ0VORSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVf
QVZTVFJFQU1TRVNTSU9OKSAmJiBQTEFURk9STShNQUMpCi0jZGVmaW5lIEhBVkVfQVZTVFJFQU1T
RVNTSU9OIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0FQSV9UWVBFKSAm
JiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExBVEZPUk0oTUFDKSkKLSNkZWZpbmUgSEFWRV9Q
QVNTS0lUX0FQSV9UWVBFIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0JP
VU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKSAmJiAoUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkpCi0jZGVm
aW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUiAxCi0jZW5kaWYKLQog
I2lmICFkZWZpbmVkKFVTRV9VSUtJVF9LRVlCT0FSRF9BRERJVElPTlMpICYmIChQTEFURk9STShJ
T1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkKICNkZWZpbmUgVVNFX1VJS0lUX0tFWUJPQVJE
X0FERElUSU9OUyAxCiAjZW5kaWYKIAotCi0jaWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZ
KSAmJiAoUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKSB8
fCBQTEFURk9STShXUEUpKQotI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0K
LS8qIEZJWE1FOiBSZW1vdmUgYWZ0ZXIgQ01ha2UgYnVpbGQgZW5hYmxlZCBvbiBEYXJ3aW4gKi8K
LSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAxCi0jZW5kaWYKLQotI2lmIE9T
KERBUldJTikKLSNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFS
V0lOKQotI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lO
KQotI2RlZmluZSBIQVZFX01NQVAgMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5l
IEhBVkVfUkVHRVhfSCAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9T
SUdOQUxfSCAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9TVEFUX0JJ
UlRIVElNRSAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9TVFJJTkdT
X0ggMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIEhBVkVfU1RSTlNUUiAxCi0j
ZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZW5k
aWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKLSNlbmRpZgot
Ci0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCi0jZW5kaWYKLQotI2lm
IE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKLSNlbmRpZgotCi0jaWYgT1MoREFS
V0lOKQotI2RlZmluZSBIQVZFX1RJTUVHTSAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNk
ZWZpbmUgSEFWRV9QVEhSRUFEX01BSU5fTlAgMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pICYm
IChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKQotI2RlZmluZSBIQVZFX0lOVDEyOF9UIDEKLSNl
bmRpZgotCiAjaWYgT1MoVU5JWCkKICNkZWZpbmUgVVNFX1BUSFJFQURTIDEKICNlbmRpZgogCi0j
aWYgT1MoVU5JWCkgJiYgIU9TKEZVQ0hTSUEpCi0jZGVmaW5lIEhBVkVfUkVTT1VSQ0VfSCAxCi0j
ZW5kaWYKLQotI2lmIE9TKFVOSVgpICYmICFPUyhGVUNIU0lBKQotI2RlZmluZSBIQVZFX1BUSFJF
QURfU0VUU0NIRURQQVJBTSAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFW
RV9ESVNQQVRDSF9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX01B
RFZfRlJFRSAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9NQURWX0ZS
RUVfUkVVU0UgMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIEhBVkVfTUFEVl9E
T05UTkVFRCAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9NRVJHRVNP
UlQgMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVRO
QU1FX05QIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX1JFQURMSU5F
IDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEK
LSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX0FVRElUX1RPS0VOIDEKLSNl
bmRpZgotCi0jaWYgT1MoREFSV0lOKSAmJiBfX2hhc19pbmNsdWRlKDxtYWNoL21hY2hfZXhjLmRl
ZnM+KSAmJiAhUExBVEZPUk0oR1RLKQotI2RlZmluZSBIQVZFX01BQ0hfRVhDRVBUSU9OUyAxCi0j
ZW5kaWYKLQogI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykKICNkZWZpbmUgVVNFX0FD
Q0VMRVJBVEUgMQogI2VuZGlmCiAKLSNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShJT1NfRkFN
SUxZKQotI2RlZmluZSBIQVZFX0hPU1RFRF9DT1JFX0FOSU1BVElPTiAxCi0jZW5kaWYKLQotCi0j
aWYgT1MoREFSV0lOKSB8fCBPUyhGVUNIU0lBKSB8fCAoKE9TKEZSRUVCU0QpIHx8IGRlZmluZWQo
X19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4
Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpKQotI2RlZmluZSBI
QVZFX01BQ0hJTkVfQ09OVEVYVCAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikgfHwgKE9TKExJ
TlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIUNQ
VShNSVBTKSkKLSNkZWZpbmUgSEFWRV9CQUNLVFJBQ0UgMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJX
SU4pIHx8IE9TKExJTlVYKQotI2lmIFBMQVRGT1JNKEdUSykKLSNpZiBkZWZpbmVkKF9fR0xJQkNf
XykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIUNQVShNSVBTKQotI2RlZmluZSBIQVZFX0JB
Q0tUUkFDRV9TWU1CT0xTIDEKLSNlbmRpZgotI2VuZGlmIC8qIFBMQVRGT1JNKEdUSykgKi8KLSNk
ZWZpbmUgSEFWRV9ETEFERFIgMQotI2VuZGlmIC8qIE9TKERBUldJTikgfHwgT1MoTElOVVgpICov
Ci0KLQogI2lmIE9TKFdJTkRPV1MpCiAjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKICNlbmRp
ZgpAQCAtNDUxLDI4ICsyNDIsMTIgQEAKICNlbmRpZgogI2VuZGlmIC8qICFkZWZpbmVkKFVTRV9K
U1ZBTFVFNjQpICYmICFkZWZpbmVkKFVTRV9KU1ZBTFVFMzJfNjQpICovCiAKLSNpZiBfX2hhc19p
bmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQotI2RlZmluZSBIQVZFX0ZBU1RfVExT
IDEKLSNlbmRpZgotCi0jaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCi0jZGVmaW5lIEhBVkVf
Q09NUFVURURfR09UTyAxCi0jZW5kaWYKLQogLyogRklYTUU6IFRoaXMgbmFtZSBzaG91bGQgYmUg
bW9yZSBzcGVjaWZpYyBpZiBpdCBpcyBvbmx5IGZvciB1c2Ugd2l0aCBDYWxsRnJhbWUqICovCiAv
KiBVc2UgX19idWlsdGluX2ZyYW1lX2FkZHJlc3MoMSkgdG8gZ2V0IENhbGxGcmFtZSogKi8KICNp
ZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgKENQVShBUk02NCkgfHwgQ1BVKFg4Nl82NCkp
CiAjZGVmaW5lIFVTRV9CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQogI2VuZGlmCiAKLSNpZiBDUFUo
QVJNNjRFKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIEhBVkVfRkpDVlRaU19JTlNUUlVDVElPTiAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgSEFWRV9BUFBfTElOS1MgMQot
I2VuZGlmCi0KICNpZiBQTEFURk9STShJT1MpCiAjZGVmaW5lIFVTRV9QQVNTS0lUIDEKICNlbmRp
ZgpAQCAtNDg1LDE4ICsyNjAsNiBAQAogI2RlZmluZSBVU0VfU1lTVEVNX1BSRVZJRVcgMQogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
Ci0jZGVmaW5lIEhBVkVfQ0VMRVNUSUFMIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotI2RlZmluZSBIQVZFX0NPUkVfQU5JTUFU
SU9OX1JFTkRFUl9TRVJWRVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAm
JiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShBUFBMRVRWKQotI2RlZmluZSBI
QVZFX1BBUkVOVEFMX0NPTlRST0xTX1dJVEhfVU5CTE9DS19IQU5ETEVSIDEKLSNlbmRpZgotCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIFVTRV9BVkZPVU5EQVRJT04gMQogI2VuZGlmCkBA
IC01MDUsMjAgKzI2OCwxMCBAQAogI2RlZmluZSBVU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NB
TExCQUNLIDEKICNlbmRpZgogCi0vKiBGSVhNRTogRW5hYmxlIEhBVkVfUEFSRU5UQUxfQ09OVFJP
TFMgZm9yIHdhdGNoT1MgU2ltdWxhdG9yIG9uY2UgcmRhcjovL3Byb2JsZW0vNTQ2MDgzODYgaXMg
cmVzb2x2ZWQgKi8KLSNpZiBQTEFURk9STShDT0NPQSkgJiYgKCFQTEFURk9STShBUFBMRVRWKSAm
JiAoIVBMQVRGT1JNKFdBVENIT1MpIHx8ICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikp
KQotI2RlZmluZSBIQVZFX1BBUkVOVEFMX0NPTlRST0xTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oQ09DT0EpICYmICFQTEFURk9STShBUFBMRVRWKQotI2RlZmluZSBIQVZFX0FWS0lUIDEKLSNl
bmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIFVTRV9NRVRBTCAxCiAjZW5kaWYK
IAotCiAjaWYgVVNFKEdMSUIpCiAjaW5jbHVkZSA8d3RmL2dsaWIvR1R5cGVkZWZzLmg+CiAjZW5k
aWYKQEAgLTU0Myw0NiArMjk2LDEwIEBACiAjZGVmaW5lIFVTRV9WSURFT1RPT0xCT1ggMQogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgSEFWRV9BVkZPVU5EQVRJT05fVklE
RU9fT1VUUFVUIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVf
Q09SRV9WSURFTyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZF
X01FRElBX1BMQVlFUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBI
QVZFX0FWRk9VTkRBVElPTl9NRURJQV9TRUxFQ1RJT05fR1JPVVAgMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShDT0NPQSkKLSNkZWZpbmUgSEFWRV9BVkZPVU5EQVRJT05fTEVHSUJMRV9PVVRQVVRf
U1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX01F
RElBX0FDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09D
T0EpCi0jZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9OX0xPQURFUl9ERUxFR0FURSAxCi0jZW5kaWYK
LQogI2lmICFQTEFURk9STShXSU4pCiAjZGVmaW5lIFVTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RV9ESVNQTEFZX01PTklUT1IgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRG
T1JNKE1BQ0NBVEFMWVNUKQotI2RlZmluZSBIQVZFX0FQUExFX0dSQVBISUNTX0NPTlRST0wgMQot
I2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotI2Rl
ZmluZSBIQVZFX05TQ1VSU09SIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmlu
ZSBVU0VfQ09SRUFVRElPIDEKICNlbmRpZgpAQCAtNTkxLDE0ICszMDgsNiBAQAogI2RlZmluZSBV
U0VfWkxJQiAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEhBVkVfUU9TX0NMQVNTRVMpICYmIFBM
QVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX1FPU19DTEFTU0VTIDEKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoSEFWRV9WT1VDSEVSUykgJiYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVf
Vk9VQ0hFUlMgMQotI2VuZGlmCi0KICNkZWZpbmUgVVNFX0dSQU1NQVJfQ0hFQ0tJTkcgMQogCiAj
aWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKEdUSykKQEAgLTYyNCwyNSArMzMzLDkgQEAK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVfQVZBU1NFVFJFQURF
UiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBVU0VfQVVESU9fU0VT
U0lPTiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX0lPU1VS
RkFDRSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJ
T1NfRkFNSUxZX1NJTVVMQVRPUikKLSNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfQ09SRUlNQUdFX1NV
UFBPUlQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0o
SU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUg
SEFWRV9JT1NVUkZBQ0VfQUNDRUxFUkFUT1IgMQotI2VuZGlmCi0KICNpZiBDT01QSUxFUihNU1ZD
KQogI3VuZGVmIF9fU1REQ19GT1JNQVRfTUFDUk9TCiAjZGVmaW5lIF9fU1REQ19GT1JNQVRfTUFD
Uk9TCkBAIC02NTAsMTIgKzM0Myw3IEBACiAjZGVmaW5lIF9fU1REQ19MSU1JVF9NQUNST1MKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBIQVZFX05TX0FDVElWSVRZIDEKLSNl
bmRpZgotCi0KLS8qIFNldCBUQVJHRVRfT1NfSVBIT05FIHRvIDAgYnkgZGVmYXVsdCB0byBhbGxv
dyB1c2luZyBpdCBhcyBhIGd1YXJkIAorLyogU2V0IFRBUkdFVF9PU19JUEhPTkUgdG8gMCBieSBk
ZWZhdWx0IHRvIGFsbG93IHVzaW5nIGl0IGFzIGEgZ3VhcmQKICAqIGluIGNyb3NzLXBsYXRmb3Jt
IHRoZSBzYW1lIHdheSBhcyBpdCBpcyB1c2VkIGluIE9TKERBUldJTikgY29kZS4gKi8gCiAjaWYg
IWRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYgIU9TKERBUldJTikKICNkZWZpbmUgVEFSR0VU
X09TX0lQSE9ORSAwCkBAIC02NzMsMTAgKzM2MSw2IEBACiAjZGVmaW5lIFVTRV9PU19TVEFURSAx
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX1NFQ19UUlVTVF9T
RVJJQUxJWkFUSU9OIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoV1RGX0RFRkFVTFRfRVZFTlRf
TE9PUCkKICNkZWZpbmUgV1RGX0RFRkFVTFRfRVZFTlRfTE9PUCAxCiAjZW5kaWYKQEAgLTcxMSwy
ODIgKzM5NSw0NCBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCi0jZGVmaW5lIEhBVkVf
VE9VQ0hfQkFSIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBVU0VfRElD
VEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAjZW5kaWYKIAotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCBVU0UoR0NSWVBUKQotI2Rl
ZmluZSBIQVZFX1JTQV9QU1MgMQotI2VuZGlmCi0KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNkZWZpbmUgVVNFX1NPVVJDRV9BUFBM
SUNBVElPTl9BVURJVF9EQVRBIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApCi0j
ZGVmaW5lIEhBVkVfSFNUU19TVE9SQUdFX1BBVEggMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExB
VEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgSEFWRV9VUkxfRk9S
TUFUVElORyAxCi0jZW5kaWYKLQotI2lmICFPUyhXSU5ET1dTKQotI2RlZmluZSBIQVZFX1NUQUNL
X0JPVU5EU19GT1JfTkVXX1RIUkVBRCAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgSEFWRV9BVkNP
TlRFTlRLRVlTRVNTSU9OIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPUykgfHwg
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCi0jZGVmaW5lIEhBVkVfU0VDX0tFWV9QUk9YWSAxCi0jZW5k
aWYKLQogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoQ0EpCiAjZGVmaW5lIFVTRV9JT1NVUkZB
Q0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUgMQogI2VuZGlmCiAKLS8qIEZJWE1FOiBTaG91bGQgdGhp
cyBiZSBlbmFibGVkIG9yIElPU19GQU1JTFksIG5vdCBqdXN0IElPUz8gKi8KLSNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwg
UExBVEZPUk0oSU9TKQotI2RlZmluZSBIQVZFX0ZPVU5EQVRJT05fV0lUSF9TQVZFX0NPT0tJRVNf
V0lUSF9DT01QTEVUSU9OX0hBTkRMRVIgMQotI2VuZGlmCi0KLS8qIEZJWE1FOiBTaG91bGQgdGhp
cyBiZSBlbmFibGVkIGZvciBJT1NfRkFNSUxZLCBub3QganVzdCBJT1M/ICovCi0jaWYgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8
IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgSEFWRV9GT1VOREFUSU9OX1dJVEhfU0FNRV9TSVRFX0NP
T0tJRV9TVVBQT1JUIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE0MDAKLSNkZWZpbmUgSEFWRV9OU0hUVFBDT09LSUVT
VE9SQUdFX19JTklUV0lUSElERU5USUZJRVJfV0lUSF9JTkFDQ1VSQVRFX05VTExBQklMSVRZIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX1dJ
VEhfQ09OVEVOVF9FTkNPRElOR19TTklGRklOR19PVkVSUklERSAxCiAvKiBUaGUgb3ZlcnJpZGUg
aXNuJ3QgbmVlZGVkIG9uIGlPUyBmYW1pbHksIGFzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRv
IG5vdCBzbmlmZi4gKi8KIC8qIEZJWE1FOiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSBlbmFibGVk
IG9uIDEwLjEzLjIgYW5kIG5ld2VyLCBub3QganVzdCAxMC4xNCBhbmQgbmV3ZXIuICovCiAjaWYg
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQw
MAogI2RlZmluZSBVU0VfQ0ZORVRXT1JLX0NPTlRFTlRfRU5DT0RJTkdfU05JRkZJTkdfT1ZFUlJJ
REUgMQogI2VuZGlmCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSB8fCBQTEFURk9S
TShHVEspCi0jZGVmaW5lIEhBVkVfT1NfREFSS19NT0RFX1NVUFBPUlQgMQotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwCi0jZGVmaW5lIEhBVkVfQ0dfRk9OVF9SRU5ERVJJTkdfR0VUX0ZPTlRfU01PT1RISU5HX0RJ
U0FCTEVEIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVm
aW5lIEhBVkVfQ0FfV0hFUkVfQURESVRJVkVfVFJBTlNGT1JNU19BUkVfUkVWRVJTRUQgMQotI2Vu
ZGlmCi0KLSNpZmRlZiBfX0FQUExFX18KLSNkZWZpbmUgSEFWRV9GVU5DX1VTTEVFUCAxCi0jZW5k
aWYKIAogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV1BFKQogLyogRklYTUU6IFRoaXMg
cmVhbGx5IG5lZWRzIGEgZGVzY3JpcHRpdmUgbmFtZSwgdGhpcyAibmV3IHRoZW1lIiB3YXMgYWRk
ZWQgaW4gMjAwOC4gKi8KICNkZWZpbmUgVVNFX05FV19USEVNRSAxCiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKE1BQykKLSNkZWZpbmUgSEFWRV9XSU5ET1dfU0VSVkVSX09DQ0xVU0lPTl9OT1RJRklD
QVRJT05TIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVfU0VD
X0FDQ0VTU19DT05UUk9MIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotLyogRklYTUU6
IFNhZmFyaVNlcnZpY2VzLmZyYW1ld29yayBleGlzdHMgb24gbWFjT1MuIEl0IGlzIG9ubHkgdXNl
ZCBieSBXZWJLaXQgb24gaU9TLCBzbyB0aGUgYmVoYXZpb3IgaXMgY29ycmVjdCwgYnV0IHRoZSBu
YW1lIGlzIG1pc2xlYWRpbmcuICovCi0jZGVmaW5lIEhBVkVfU0FGQVJJX1NFUlZJQ0VTX0ZSQU1F
V09SSyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQ
TEFURk9STShXQVRDSE9TKQotI2RlZmluZSBIQVZFX1NBRkVfQlJPV1NJTkcgMQotI2VuZGlmCi0K
LSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhBVkVfTElOS19QUkVWSUVXIDEKLSNlbmRpZgot
Ci0jaWYgKFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSkKLSNkZWZpbmUgSEFWRV9BQ0NFU1NJ
QklMSVRZX1NVUFBPUlQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMzAxMDAKLSNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZ
X0JVTkRMRVNfUEFUSCAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAw
KQotI2RlZmluZSBIQVZFX0FVVEhPUklaQVRJT05fU1RBVFVTX0ZPUl9NRURJQV9UWVBFIDEKLSNl
bmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNDAwICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0
MDQpKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMjAwMDAgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMjAyMDAp
IHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCi0jZGVmaW5lIEhBVkVf
Q0ZORVRXT1JLX09WRVJSSURFX1NFU1NJT05fQ09PS0lFX0FDQ0VQVF9QT0xJQ1kgMQotI2VuZGlm
Ci0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLSNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTlNVUkxT
RVNTSU9OX1NUUklDVFJVU1RFVkFMVUFURSAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9S
TShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0NGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9U
T0NPTF9DSVBIRVIgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTYwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKLSNkZWZpbmUg
SEFWRV9DRk5FVFdPUktfTUVUUklDU19BUElTX1Y0IDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAotI2RlZmlu
ZSBIQVZFX0NTQ0hFQ0tGSVhESVNBQkxFIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JN
KElPU19GQU1JTFkpCi0jZGVmaW5lIEhBVkVfU0FOREJPWF9JU1NVRV9NQUNIX0VYVEVOU0lPTl9U
T19QUk9DRVNTX0JZX0FVRElUX1RPS0VOIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JN
KElPU19GQU1JTFkpCi0jZGVmaW5lIEhBVkVfU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9U
T19QUk9DRVNTX0JZX0FVRElUX1RPS0VOIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9S
TShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAw
MDApCi0jZGVmaW5lIEhBVkVfTUROU19GQVNUX1JFR0lTVFJBVElPTiAxCi0jZW5kaWYKLQotI2lm
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0RJU0FMTE9XQUJMRV9V
U0VSX0lOU1RBTExFRF9GT05UUyAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9T
X0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQot
I2RlZmluZSBIQVZFX0NURk9OVENSRUFURUZPUkNIQVJBQ1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJ
T04gMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLSNkZWZpbmUgSEFWRV9DVEZP
TlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAK
LSNkZWZpbmUgSEFWRV9BUktJVF9RVUlDS19MT09LX1BSRVZJRVdfSVRFTSAxCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEzMDAwMAotI2RlZmluZSBIQVZFX1VJX1dLX0RPQ1VNRU5UX0NPTlRFWFQgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgSEFWRV9IT1ZFUl9HRVNU
VVJFX1JFQ09HTklaRVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNk
ZWZpbmUgSEFWRV9VSV9QQVJBTExBWF9UUkFOU0lUSU9OX0dFU1RVUkVfUkVDT0dOSVpFUiAxCi0j
ZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0FM
TE9XU19TRU5TSVRJVkVfTE9HR0lORyAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJ
T1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0ZBSVJQTEFZU1RSRUFNSU5HX0NFTkNfSU5JVERBVEEg
MQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMzAwMDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQ
UExFVFYpCi0jZGVmaW5lIEhBVkVfVUlfU0NST0xMX1ZJRVdfSU5ESUNBVE9SX0ZMQVNISU5HX1NQ
SSAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0o
QVBQTEVUVikKLSNkZWZpbmUgSEFWRV9BUFBfTElOS1NfV0lUSF9JU0VOQUJMRUQgMQotI2VuZGlm
Ci0KLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMzAwMDApCi0jZGVmaW5lIEhBVkVfUk9VVEVfU0hBUklOR19QT0xJQ1lfTE9OR19GT1JN
X1ZJREVPIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwICYmICFQTEFURk9STShJT1NfU0lNVUxBVE9SKSkK
LSNkZWZpbmUgSEFWRV9ERVZJQ0VfTUFOQUdFTUVOVCAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNTAwCiAjZGVmaW5l
IFVTRV9SRUFMUEFUSF9GT1JfRExPUEVOX1BSRUZMSUdIVCAxCiAjZW5kaWYKIAotI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8
fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQot
I2RlZmluZSBIQVZFX05TVVJMU0VTU0lPTl9XRUJTT0NLRVQgMQotI2VuZGlmCi0KLSNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkg
fHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTMwMDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQotI2RlZmlu
ZSBIQVZFX0FWUExBWUVSX1JFU09VUkNFX0NPTlNFUlZBVElPTl9MRVZFTCAxCi0jZW5kaWYKLQot
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMjAwMDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYp
Ci0jZGVmaW5lIEhBVkVfQ09SRVRFWFRfQVVUT19PUFRJQ0FMX1NJWklORyAxCi0jZW5kaWYKLQot
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAx
MDE1MDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgMTMwMDAwKQotI2RlZmluZSBIQVZFX05TRk9OVF9XSVRIX09QVElDQUxfU0laSU5HX0JV
RyAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSkKLSNkZWZpbmUgSEFWRV9B
UFBfU1NPIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwIHx8IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8
IFBMQVRGT1JNKEFQUExFVFYpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotI2RlZmluZSBIQVZF
X1RMU19QUk9UT0NPTF9WRVJTSU9OX1QgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpIHx8
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKSB8fCBQTEFURk9S
TShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgSEFWRV9TRUNfVFJVU1RfRVZBTFVBVEVfV0lUSF9FUlJP
UiAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
CiAjZGVmaW5lIFVTRV9VSUNPTlRFWFRNRU5VIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAotI2RlZmluZSBI
QVZFX1NVQlZJRVdTX0lWQVJfU1BJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKLSNkZWZpbmUgSEFWRV9TVUJW
SUVXU19JVkFSX0RFQ0xBUkVEX0JZX1NESyAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykg
fHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDExMDAwMCkgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikK
ICNkZWZpbmUgVVNFX1BMQVRGT1JNX1NZU1RFTV9GQUxMQkFDS19MSVNUIDEKICNlbmRpZgogCi0j
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAx
NTAwCi0jZGVmaW5lIEhBVkVfQVhfQ0xJRU5UX1RZUEUgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwg
KFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMw
MDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQotI2RlZmluZSBI
QVZFX0RFU0lHTl9TWVNURU1fVUlfRk9OVFMgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRG
T1JNKElPUykgJiYgIVBMQVRGT1JNKElPU19TSU1VTEFUT1IpKQotI2RlZmluZSBIQVZFX0RFVklD
RV9JREVOVElUWSAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQot
I2RlZmluZSBIQVZFX0RBVEFfUFJPVEVDVElPTl9LRVlDSEFJTiAxCi0jZW5kaWYKLQotI2lmIChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAw
KSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxB
VE9SKSkKLSNkZWZpbmUgSEFWRV9ORUFSX0ZJRUxEIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgfHwgKCEoZGVmaW5lZChVU0VfU1lTVEVNX01BTExPQykgJiYgVVNFX1NZU1RF
TV9NQUxMT0MpICYmIChPUyhMSU5VWCkgJiYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BF
KSkpKQogI2RlZmluZSBVU0VfQk1BTExPQ19NRU1PUllfRk9PVFBSSU5UX0FQSSAxCiAjZW5kaWYK
IAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX09TX1NJR05Q
T1NUIDEKLSNlbmRpZgogCiAKIApAQCAtMTAwOCw3ICs0NTQsMTIgQEAKIAogCiAKLS8qIEZJWE1F
OiBUaGUgZm9sbG93aW5nIGFyZSBjdXJyZW5seSBwb3NpdGlvbmVkIGF0IHRoZSBib3R0b20gb2Yg
dGhpcyBmaWxlIGFzIHRoZXkgYXJlIGN1cnJlbnRseSBkZXBlbmRlbnQgb24gRU5BQkxFIG1hY3Jv
cy4gKi8KKy8qIEZJWE1FOiBUaGUgZm9sbG93aW5nIGFyZSBjdXJyZW5seSBwb3NpdGlvbmVkIGF0
IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGFzIHRoZXkgYXJlIGN1cnJlbnRseSBkZXBlbmRlbnQg
b24gRU5BQkxFIG9yIFVTRSBtYWNyb3MuICovCisKKy8qIEZJWE1FOiBUaGUgYXZhaWxhYmlsaXR5
IG9mIFJTQV9QU1Mgc2hvdWxkIG5vdCBkZXBlbmQgb24gdGhlIHBvbGljeSBkZWNpc2lvbiB0byBV
U0UoR0NSWVBUKS4gKi8KKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpIHx8IFVTRShHQ1JZUFQpCisjZGVmaW5lIEhBVkVfUlNBX1BTUyAx
CisjZW5kaWYKIAogLyogRklYTUU6IFJlbW92ZSBkZXBlbmRlbmNlIG9uIEVOQUJMRShXRUJfUlRD
KS4gKi8KICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKFdFQl9SVEMpCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUhhdmUuaAkocmV2aXNpb24gMjU0NjI2KQkoZnJvbSBTb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybS5oOjI1NDYyNikKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTEyMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDE5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0y
MDA5IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworLyogSW5jbHVk
ZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4K
KworLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0aW9uIG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJv
cGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmlyb25tZW50LiA9PT09ICovCisKKy8qIENQVSgpIC0g
dGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlICovCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtQ1BV
Lmg+CisKKy8qIE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUg
dXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UKKyAgIHZpcnR1YWwgbWVt
b3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KKyNpbmNsdWRlIDx3dGYvUGxhdGZv
cm1PUy5oPgorCisvKiBQTEFURk9STSgpIC0gaGFuZGxlcyBPUywgb3BlcmF0aW5nIGVudmlyb25t
ZW50LCBncmFwaGljcyBBUEksIGFuZAorICAgQ1BVLiBUaGlzIG1hY3JvIHdpbGwgYmUgcGhhc2Vk
IG91dCBpbiBmYXZvciBvZiBwbGF0Zm9ybSBhZGFwdGF0aW9uCisgICBtYWNyb3MsIHBvbGljeSBk
ZWNpc2lvbiBtYWNyb3MsIGFuZCB0b3AtbGV2ZWwgcG9ydCBkZWZpbml0aW9ucy4gKi8KKyNpbmNs
dWRlIDx3dGYvUGxhdGZvcm1MZWdhY3kuaD4KKworLyogSEFWRSgpIC0gc3BlY2lmaWMgc3lzdGVt
IGZlYXR1cmVzIChoZWFkZXJzLCBmdW5jdGlvbnMgb3Igc2ltaWxhcikgdGhhdCBhcmUgcHJlc2Vu
dCBvciBub3QgKi8KKyNkZWZpbmUgSEFWRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgSEFWRV8jI1dU
Rl9GRUFUVVJFICAmJiBIQVZFXyMjV1RGX0ZFQVRVUkUpCisKKworLyogPT09PSBQb2xpY3kgZGVj
aXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxh
ciBwb3J0LiA9PT09ICovCisKKy8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0
eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZpY2UgKi8KKyNkZWZpbmUgVVNFKFdURl9GRUFU
VVJFKSAoZGVmaW5lZCBVU0VfIyNXVEZfRkVBVFVSRSAgJiYgVVNFXyMjV1RGX0ZFQVRVUkUpCisv
KiBFTkFCTEUoKSAtIHR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCAqLworI2Rl
ZmluZSBFTkFCTEUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEVOQUJMRV8jI1dURl9GRUFUVVJFICAm
JiBFTkFCTEVfIyNXVEZfRkVBVFVSRSkKKworCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaWYgZGVm
aW5lZCBfX2hhc19pbmNsdWRlICYmIF9faGFzX2luY2x1ZGUoPENvcmVGb3VuZGF0aW9uL0NGUHJp
di5oPikKKyNkZWZpbmUgVVNFX0FQUExFX0lOVEVSTkFMX1NESyAxCisjZW5kaWYKKyNlbmRpZgor
CisvKiBNSVBTIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5ICovCisj
aWYgQ1BVKE1JUFMpIHx8IENQVShNSVBTNjQpCisjZGVmaW5lIFVTRV9BUkVOQV9BTExPQ19BTElH
Tk1FTlRfSU5URUdFUiAxCisjZW5kaWYKKworLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMg
dG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQor
I2RlZmluZSBVU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQorI2VuZGlmCisKKy8q
QVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCisjaWYg
ZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVFKSB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSB8
fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKKyNkZWZpbmUgVVNFX0FSRU5BX0FMTE9DX0FM
SUdOTUVOVF9JTlRFR0VSIDEKKyNlbmRpZgorCisjaWYgQ1BVKEFSTV9ORU9OKQorLyogQWxsIE5F
T04gaW50cmluc2ljcyB1c2FnZSBjYW4gYmUgZGlzYWJsZWQgYnkgdGhpcyBtYWNyby4gKi8KKyNk
ZWZpbmUgSEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNTIDEKKyNlbmRpZgorCisvKiBGSVhNRTogVGhp
cyBzaG91bGQgYmUgcmVuYW1lZCB0byBXVEZfQ1BVX0FSTV9JRElWX0lOU1RSVUNUSU9OUyBhbmQg
bW92ZWQgdG8gQ1BVLmggKi8KKyNpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfRVhUX0lESVZfXykgfHwg
Q1BVKEFQUExFX0FSTVY3UykKKyNkZWZpbmUgSEFWRV9BUk1fSURJVl9JTlNUUlVDVElPTlMgMQor
I2VuZGlmCisKKworCisvKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCisKKworLyogRklYTUU6
IFJlbmFtZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIHRvIFdURl9PU19FRkZFQ1RJ
VkVfQUREUkVTU19XSURUSCwgYXMgaXQgaXMgYW4gT1MgZmVhdHVyZSwgbm90IGEgQ1BVIGZlYXR1
cmUuICovCisjaWYgQ1BVKEFERFJFU1M2NCkKKyNpZiBPUyhEQVJXSU4pICYmIENQVShBUk02NCkK
KyNkZWZpbmUgV1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAzNgorI2Vsc2UKKy8qIFdl
IHN0cm9uZ2x5IGFzc3VtZSB0aGF0IGVmZmVjdGl2ZSBhZGRyZXNzIHdpZHRoIGlzIDw9IDQ4IGlu
IDY0Yml0IGFyY2hpdGVjdHVyZXMgKGUuZy4gTmFOIGJveGluZykuICovCisjZGVmaW5lIFdURl9D
UFVfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggNDgKKyNlbmRpZgorI2Vsc2UKKyNkZWZpbmUgV1RG
X0NQVV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAzMgorI2VuZGlmCisKKy8qIEV4cG9ydCBtYWNy
byBzdXBwb3J0LiBEZXRlY3RzIHRoZSBhdHRyaWJ1dGVzIGF2YWlsYWJsZSBmb3Igc2hhcmVkIGxp
YnJhcnkgc3ltYm9sIGV4cG9ydAorICAgZGVjb3JhdGlvbnMuICovCisjaWYgT1MoV0lORE9XUykg
fHwgKENPTVBJTEVSX0hBU19DTEFOR19ERUNMU1BFQyhkbGxpbXBvcnQpICYmIENPTVBJTEVSX0hB
U19DTEFOR19ERUNMU1BFQyhkbGxleHBvcnQpKQorI2RlZmluZSBVU0VfREVDTFNQRUNfQVRUUklC
VVRFIDEKKyNkZWZpbmUgVVNFX1ZJU0lCSUxJVFlfQVRUUklCVVRFIDAKKyNlbGlmIGRlZmluZWQo
X19HTlVDX18pCisjZGVmaW5lIFVTRV9ERUNMU1BFQ19BVFRSSUJVVEUgMAorI2RlZmluZSBVU0Vf
VklTSUJJTElUWV9BVFRSSUJVVEUgMQorI2Vsc2UKKyNkZWZpbmUgVVNFX0RFQ0xTUEVDX0FUVFJJ
QlVURSAwCisjZGVmaW5lIFVTRV9WSVNJQklMSVRZX0FUVFJJQlVURSAwCisjZW5kaWYKKworLyog
U3RhbmRhcmQgbGlicmFyaWVzICovCisjaWYgZGVmaW5lZChIQVZFX0ZFQVRVUkVTX0gpICYmIEhB
VkVfRkVBVFVSRVNfSAorLyogSWYgdGhlIGluY2x1ZGVkIGZlYXR1cmVzLmggaXMgZ2xpYmMncyBv
bmUsIF9fR0xJQkNfXyBpcyBkZWZpbmVkLiAqLworI2luY2x1ZGUgPGZlYXR1cmVzLmg+CisjZW5k
aWYKKworLyogRklYTUU6IEFTU0VSVF9FTkFCTEVEIHNob3VsZCBkZWZpbmVkIGluIGRpZmZlcmVu
dCwgcGVyaGFwcyBpdHMgb3duLCBmaWxlLiAqLworLyogQVNTRVJUX0VOQUJMRUQgc2hvdWxkIGJl
IHRydWUgaWYgd2Ugd2FudCB0aGUgY3VycmVudCBjb21waWxhdGlvbiB1bml0IHRvCisgICBkbyBk
ZWJ1ZyBhc3NlcnRpb24gY2hlY2tzIHVuY29uZGl0aW9uYWxseSAoZS5nLiB0cmVhdCBhIGRlYnVn
IEFTU0VSVAorICAgbGlrZSBhIFJFTEVBU0VfQVNTRVJULgorKi8KKyNpZm5kZWYgQVNTRVJUX0VO
QUJMRUQKKyNpZmRlZiBOREVCVUcKKyNkZWZpbmUgQVNTRVJUX0VOQUJMRUQgMAorI2Vsc2UKKyNk
ZWZpbmUgQVNTRVJUX0VOQUJMRUQgMQorI2VuZGlmCisjZW5kaWYKKworCisKKyNpZiBQTEFURk9S
TShDT0NPQSkKKyNkZWZpbmUgVVNFX0NHIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisjZGVmaW5lIFVTRV9DQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oV1BFKQorI2RlZmluZSBVU0VfR0xJQiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oV1BFKQorI2RlZmluZSBVU0VfRlJFRVRZUEUgMQorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKKyNkZWZpbmUgVVNFX0hBUkZCVVpaIDEKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCisjZGVmaW5lIFVTRV9T
T1VQIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCisjZGVm
aW5lIFVTRV9XRUJQIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKQorI2RlZmluZSBHTElC
X1ZFUlNJT05fTUlOX1JFUVVJUkVEIEdMSUJfVkVSU0lPTl8yXzM2CisjZGVmaW5lIEdES19WRVJT
SU9OX01JTl9SRVFVSVJFRCBHREtfVkVSU0lPTl8zXzYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
V1BFKQorI2RlZmluZSBHTElCX1ZFUlNJT05fTUlOX1JFUVVJUkVEIEdMSUJfVkVSU0lPTl8yXzQw
CisjZW5kaWYKKworI2lmIFVTRShTT1VQKQorI2RlZmluZSBTT1VQX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIFNPVVBfVkVSU0lPTl8yXzQyCisjZW5kaWYKKworLyogT24gV2luZG93cywgdXNlIFF1ZXJ5
UGVyZm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KKyNpZiBPUyhXSU5ET1dTKQorI2RlZmlu
ZSBVU0VfUVVFUllfUEVSRk9STUFOQ0VfQ09VTlRFUiAgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShDT0NPQSkKKyNkZWZpbmUgSEFWRV9PVVRfT0ZfUFJPQ0VTU19MQVlFUl9IT1NUSU5HIDEKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9DRiAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKENPQ09BKSB8fCAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKQor
I2RlZmluZSBVU0VfRklMRV9MT0NLIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisj
ZGVmaW5lIFVTRV9GT1VOREFUSU9OIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisj
ZGVmaW5lIFVTRV9ORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSyAxCisjZW5kaWYKKworCisj
aWYgUExBVEZPUk0oQ09DT0EpCisvKiBDb2NvYSBkZWZpbmVzIGEgc2VyaWVzIG9mIHBsYXRmb3Jt
IG1hY3JvcyBmb3IgZGVidWdnaW5nLiAqLworLyogU29tZSBvZiB0aGVtIGFyZSByZWFsbHkgYW5u
b3lpbmcgYmVjYXVzZSB0aGV5IHVzZSBjb21tb24gbmFtZXMgKGUuZy4gY2hlY2soKSkuICovCisv
KiBEaXNhYmxlIHRob3NlIG1hY3JvcyBzbyB0aGF0IHdlIGFyZSBub3QgbGltaXRlZCBpbiBob3cg
d2UgbmFtZSBtZXRob2RzIGFuZCBmdW5jdGlvbnMuICovCisjdW5kZWYgX19BU1NFUlRfTUFDUk9T
X0RFRklORV9WRVJTSU9OU19XSVRIT1VUX1VOREVSU0NPUkVTCisjZGVmaW5lIF9fQVNTRVJUX01B
Q1JPU19ERUZJTkVfVkVSU0lPTlNfV0lUSE9VVF9VTkRFUlNDT1JFUyAwCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBIQVZFX1NFQ19LRVlDSEFJTiAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgSEFWRV9ISVNFUlZJQ0VTIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBVU0VfQVBQS0lUIDEKKyNlbmRpZgorCisjaWYgUExB
VEZPUk0oTUFDKQorI2RlZmluZSBVU0VfUEFTU0tJVCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KE1BQykKKyNkZWZpbmUgSEFWRV9ORVRXT1JLX0VYVEVOU0lPTiAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKE1BQykKKyNkZWZpbmUgVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2RlZmluZSBIQVZFX05FVFdPUktfRVhURU5TSU9O
IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgSEFWRV9SRUFE
TElORSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjZGVmaW5lIFVTRV9V
SUtJVF9FRElUSU5HIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZp
bmUgVVNFX1dFQl9USFJFQUQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAm
JiBDUFUoQVJNX05FT04pCisjdW5kZWYgSEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNTCisjZGVmaW5l
IEhBVkVfQVJNX05FT05fSU5UUklOU0lDUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVf
UERGSE9TVFZJRVdDT05UUk9MTEVSX1NOQVBTSE9UVElORykgJiYgUExBVEZPUk0oSU9TKQorI2Rl
ZmluZSBIQVZFX1BERkhPU1RWSUVXQ09OVFJPTExFUl9TTkFQU0hPVFRJTkcgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChIQVZFX1ZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykgJiYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgSEFWRV9WSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX1VJU0NFTkUpICYmIFBMQVRGT1JNKElPU19G
QU1JTFkpCisjZGVmaW5lIEhBVkVfVUlTQ0VORSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhB
VkVfQVZTVFJFQU1TRVNTSU9OKSAmJiBQTEFURk9STShNQUMpCisjZGVmaW5lIEhBVkVfQVZTVFJF
QU1TRVNTSU9OIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0FQSV9UWVBF
KSAmJiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExBVEZPUk0oTUFDKSkKKyNkZWZpbmUgSEFW
RV9QQVNTS0lUX0FQSV9UWVBFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lU
X0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKSAmJiAoUExBVEZPUk0oSU9TKSB8fCAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkpCisj
ZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUiAxCisjZW5kaWYK
KworI2lmICFkZWZpbmVkKFVTRV9VSUtJVF9LRVlCT0FSRF9BRERJVElPTlMpICYmIChQTEFURk9S
TShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkKKyNkZWZpbmUgVVNFX1VJS0lUX0tFWUJP
QVJEX0FERElUSU9OUyAxCisjZW5kaWYKKworCisjaWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklM
SVRZKSAmJiAoUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShXUEUpKQorI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFkgMQorI2VuZGlm
CisKKy8qIEZJWE1FOiBSZW1vdmUgYWZ0ZXIgQ01ha2UgYnVpbGQgZW5hYmxlZCBvbiBEYXJ3aW4g
Ki8KKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCisjZW5kaWYKKworI2lm
IE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9MQU5HSU5GT19IIDEKKyNlbmRpZgorCisjaWYgT1Mo
REFSV0lOKQorI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKKyNlbmRpZgorCisjaWYgT1MoREFS
V0lOKQorI2RlZmluZSBIQVZFX01NQVAgMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pCisjZGVm
aW5lIEhBVkVfUkVHRVhfSCAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFW
RV9TSUdOQUxfSCAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9TVEFU
X0JJUlRIVElNRSAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9TVFJJ
TkdTX0ggMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfU1RSTlNUUiAx
CisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisj
ZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKKyNlbmRp
ZgorCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCisjZW5kaWYKKwor
I2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9UTV9aT05FIDEKKyNlbmRpZgorCisjaWYgT1Mo
REFSV0lOKQorI2RlZmluZSBIQVZFX1RJTUVHTSAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikK
KyNkZWZpbmUgSEFWRV9QVEhSRUFEX01BSU5fTlAgMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4p
ICYmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKQorI2RlZmluZSBIQVZFX0lOVDEyOF9UIDEK
KyNlbmRpZgorCisjaWYgT1MoVU5JWCkKKyNkZWZpbmUgVVNFX1BUSFJFQURTIDEKKyNlbmRpZgor
CisjaWYgT1MoVU5JWCkgJiYgIU9TKEZVQ0hTSUEpCisjZGVmaW5lIEhBVkVfUkVTT1VSQ0VfSCAx
CisjZW5kaWYKKworI2lmIE9TKFVOSVgpICYmICFPUyhGVUNIU0lBKQorI2RlZmluZSBIQVZFX1BU
SFJFQURfU0VUU0NIRURQQVJBTSAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUg
SEFWRV9ESVNQQVRDSF9IIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZF
X01BRFZfRlJFRSAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9NQURW
X0ZSRUVfUkVVU0UgMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfTUFE
Vl9ET05UTkVFRCAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9NRVJH
RVNPUlQgMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9T
RVROQU1FX05QIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX1JFQURM
SU5FIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX1NZU19USU1FQl9I
IDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX0FVRElUX1RPS0VOIDEK
KyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSAmJiBfX2hhc19pbmNsdWRlKDxtYWNoL21hY2hfZXhj
LmRlZnM+KSAmJiAhUExBVEZPUk0oR1RLKQorI2RlZmluZSBIQVZFX01BQ0hfRVhDRVBUSU9OUyAx
CisjZW5kaWYKKworI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykKKyNkZWZpbmUgVVNF
X0FDQ0VMRVJBVEUgMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShJT1Nf
RkFNSUxZKQorI2RlZmluZSBIQVZFX0hPU1RFRF9DT1JFX0FOSU1BVElPTiAxCisjZW5kaWYKKwor
CisjaWYgT1MoREFSV0lOKSB8fCBPUyhGVUNIU0lBKSB8fCAoKE9TKEZSRUVCU0QpIHx8IGRlZmlu
ZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BV
KFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpKQorI2RlZmlu
ZSBIQVZFX01BQ0hJTkVfQ09OVEVYVCAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikgfHwgKE9T
KExJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYg
IUNQVShNSVBTKSkKKyNkZWZpbmUgSEFWRV9CQUNLVFJBQ0UgMQorI2VuZGlmCisKKyNpZiBPUyhE
QVJXSU4pIHx8IE9TKExJTlVYKQorI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBkZWZpbmVkKF9fR0xJ
QkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIUNQVShNSVBTKQorI2RlZmluZSBIQVZF
X0JBQ0tUUkFDRV9TWU1CT0xTIDEKKyNlbmRpZgorI2VuZGlmIC8qIFBMQVRGT1JNKEdUSykgKi8K
KyNkZWZpbmUgSEFWRV9ETEFERFIgMQorI2VuZGlmIC8qIE9TKERBUldJTikgfHwgT1MoTElOVVgp
ICovCisKKworI2lmIE9TKFdJTkRPV1MpCisjZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoVVNFX0pTVkFM
VUUzMl82NCkKKyNpZiBDUFUoQUREUkVTUzY0KSB8fCBDUFUoQVJNNjQpCisjZGVmaW5lIFVTRV9K
U1ZBTFVFNjQgMQorI2Vsc2UKKyNkZWZpbmUgVVNFX0pTVkFMVUUzMl82NCAxCisjZW5kaWYKKyNl
bmRpZiAvKiAhZGVmaW5lZChVU0VfSlNWQUxVRTY0KSAmJiAhZGVmaW5lZChVU0VfSlNWQUxVRTMy
XzY0KSAqLworCisjaWYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikK
KyNkZWZpbmUgSEFWRV9GQVNUX1RMUyAxCisjZW5kaWYKKworI2lmIENPTVBJTEVSKEdDQ19DT01Q
QVRJQkxFKQorI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQorI2VuZGlmCisKKy8qIEZJWE1F
OiBUaGlzIG5hbWUgc2hvdWxkIGJlIG1vcmUgc3BlY2lmaWMgaWYgaXQgaXMgb25seSBmb3IgdXNl
IHdpdGggQ2FsbEZyYW1lKiAqLworLyogVXNlIF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzKDEpIHRv
IGdldCBDYWxsRnJhbWUqICovCisjaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpICYmIChDUFUo
QVJNNjQpIHx8IENQVShYODZfNjQpKQorI2RlZmluZSBVU0VfQlVJTFRJTl9GUkFNRV9BRERSRVNT
IDEKKyNlbmRpZgorCisjaWYgQ1BVKEFSTTY0RSkgJiYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZF
X0ZKQ1ZUWlNfSU5TVFJVQ1RJT04gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVm
aW5lIEhBVkVfQVBQX0xJTktTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmlu
ZSBVU0VfUEFTU0tJVCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykKKyNkZWZpbmUgVVNF
X1FVSUNLX0xPT0sgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIFVTRV9T
WVNURU1fUFJFVklFVyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQ
TEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZpbmUgSEFWRV9DRUxFU1RJQUwgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVm
aW5lIEhBVkVfQ09SRV9BTklNQVRJT05fUkVOREVSX1NFUlZFUiAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBMQVRGT1JN
KEFQUExFVFYpCisjZGVmaW5lIEhBVkVfUEFSRU5UQUxfQ09OVFJPTFNfV0lUSF9VTkJMT0NLX0hB
TkRMRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgVVNFX0FWRk9V
TkRBVElPTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBVU0VfUFJP
VEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEKKyNlbmRpZgorCisvKiBGSVhNRTogRW5hYmxl
IEhBVkVfUEFSRU5UQUxfQ09OVFJPTFMgZm9yIHdhdGNoT1MgU2ltdWxhdG9yIG9uY2UgcmRhcjov
L3Byb2JsZW0vNTQ2MDgzODYgaXMgcmVzb2x2ZWQgKi8KKyNpZiBQTEFURk9STShDT0NPQSkgJiYg
KCFQTEFURk9STShBUFBMRVRWKSAmJiAoIVBMQVRGT1JNKFdBVENIT1MpIHx8ICFQTEFURk9STShJ
T1NfRkFNSUxZX1NJTVVMQVRPUikpKQorI2RlZmluZSBIQVZFX1BBUkVOVEFMX0NPTlRST0xTIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShBUFBMRVRWKQorI2Rl
ZmluZSBIQVZFX0FWS0lUIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5l
IFVTRV9NRVRBTCAxCisjZW5kaWYKKworCisjaWYgVVNFKEdMSUIpCisjaW5jbHVkZSA8d3RmL2ds
aWIvR1R5cGVkZWZzLmg+CisjZW5kaWYKKworI2lmICFkZWZpbmVkKFVTRV9FWFBPUlRfTUFDUk9T
KSAmJiAoUExBVEZPUk0oQ09DT0EpIHx8IE9TKFdJTkRPV1MpKQorI2RlZmluZSBVU0VfRVhQT1JU
X01BQ1JPUyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQor
I2RlZmluZSBVU0VfVU5JWF9ET01BSU5fU09DS0VUUyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KFVTRV9JTUxBTkdfRk9OVF9MSU5LMikKKyNkZWZpbmUgVVNFX0lNTEFOR19GT05UX0xJTksyIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9DT1JFTUVESUEgMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgVVNFX1ZJREVPVE9PTEJPWCAx
CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBIQVZFX0FWRk9VTkRBVElP
Tl9WSURFT19PVVRQVVQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUg
SEFWRV9DT1JFX1ZJREVPIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5l
IEhBVkVfTUVESUFfUExBWUVSIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVm
aW5lIEhBVkVfQVZGT1VOREFUSU9OX01FRElBX1NFTEVDVElPTl9HUk9VUCAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBIQVZFX0FWRk9VTkRBVElPTl9MRUdJQkxFX09V
VFBVVF9TVVBQT1JUIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIEhB
VkVfTUVESUFfQUNDRVNTSUJJTElUWV9GUkFNRVdPUksgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShDT0NPQSkKKyNkZWZpbmUgSEFWRV9BVkZPVU5EQVRJT05fTE9BREVSX0RFTEVHQVRFIDEKKyNl
bmRpZgorCisjaWYgIVBMQVRGT1JNKFdJTikKKyNkZWZpbmUgVVNFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5lIEhBVkVfQVBQTEVfR1JBUEhJQ1NfQ09OVFJP
TCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
CisjZGVmaW5lIEhBVkVfTlNDVVJTT1IgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisj
ZGVmaW5lIFVTRV9DT1JFQVVESU8gMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChVU0VfWkxJQikK
KyNkZWZpbmUgVVNFX1pMSUIgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX1FPU19DTEFT
U0VTKSAmJiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgSEFWRV9RT1NfQ0xBU1NFUyAxCisjZW5k
aWYKKworI2lmICFkZWZpbmVkKEhBVkVfVk9VQ0hFUlMpICYmIFBMQVRGT1JNKENPQ09BKQorI2Rl
ZmluZSBIQVZFX1ZPVUNIRVJTIDEKKyNlbmRpZgorCisjZGVmaW5lIFVTRV9HUkFNTUFSX0NIRUNL
SU5HIDEKKworI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShHVEspCisjZGVmaW5lIFVT
RV9VTklGSUVEX1RFWFRfQ0hFQ0tJTkcgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisj
ZGVmaW5lIFVTRV9BVVRPTUFUSUNfVEVYVF9SRVBMQUNFTUVOVCAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKE1BQykKKy8qIFNvbWUgcGxhdGZvcm1zIHByb3ZpZGUgVUkgZm9yIHN1Z2dlc3Rpbmcg
YXV0b2NvcnJlY3Rpb24uICovCisjZGVmaW5lIFVTRV9BVVRPQ09SUkVDVElPTl9QQU5FTCAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorLyogU29tZSBwbGF0Zm9ybXMgdXNlIHNwZWxs
aW5nIGFuZCBhdXRvY29ycmVjdGlvbiBtYXJrZXJzIHRvIHByb3ZpZGUgdmlzdWFsIGN1ZS4gT24g
c3VjaCBwbGF0Zm9ybSwgaWYgd29yZCB3aXRoIG1hcmtlciBpcyBlZGl0ZWQsIHdlIG5lZWQgdG8g
cmVtb3ZlIHRoZSBtYXJrZXIuICovCisjZGVmaW5lIFVTRV9NQVJLRVJfUkVNT1ZBTF9VUE9OX0VE
SVRJTkcgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIFVTRV9JTlNFUlRJ
T05fVU5ET19HUk9VUElORyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmlu
ZSBIQVZFX0FWQVNTRVRSRUFERVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNk
ZWZpbmUgVVNFX0FVRElPX1NFU1NJT04gMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkK
KyNkZWZpbmUgSEFWRV9JT1NVUkZBQ0UgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpCisjZGVmaW5lIEhBVkVfSU9T
VVJGQUNFX0NPUkVJTUFHRV9TVVBQT1JUIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSAmJiAhUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCisjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX0FDQ0VMRVJBVE9SIDEKKyNlbmRpZgor
CisjaWYgQ09NUElMRVIoTVNWQykKKyN1bmRlZiBfX1NURENfRk9STUFUX01BQ1JPUworI2RlZmlu
ZSBfX1NURENfRk9STUFUX01BQ1JPUworI3VuZGVmIF9fU1REQ19MSU1JVF9NQUNST1MKKyNkZWZp
bmUgX19TVERDX0xJTUlUX01BQ1JPUworI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVm
aW5lIEhBVkVfTlNfQUNUSVZJVFkgMQorI2VuZGlmCisKKworLyogU2V0IFRBUkdFVF9PU19JUEhP
TkUgdG8gMCBieSBkZWZhdWx0IHRvIGFsbG93IHVzaW5nIGl0IGFzIGEgZ3VhcmQgCisgKiBpbiBj
cm9zcy1wbGF0Zm9ybSB0aGUgc2FtZSB3YXkgYXMgaXQgaXMgdXNlZCBpbiBPUyhEQVJXSU4pIGNv
ZGUuICovIAorI2lmICFkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmICFPUyhEQVJXSU4pCisj
ZGVmaW5lIFRBUkdFVF9PU19JUEhPTkUgMAorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkK
KyNkZWZpbmUgVVNFX01FRElBVE9PTEJPWCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09B
KQorI2RlZmluZSBVU0VfT1NfTE9HIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpICYm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZGVmaW5lIFVTRV9PU19TVEFURSAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBIQVZFX1NFQ19UUlVTVF9TRVJJQUxJWkFU
SU9OIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX0RFRkFVTFRfRVZFTlRfTE9PUCkKKyNk
ZWZpbmUgV1RGX0RFRkFVTFRfRVZFTlRfTE9PUCAxCisjZW5kaWYKKworI2lmIFdURl9ERUZBVUxU
X0VWRU5UX0xPT1AKKyNpZiBVU0UoR0xJQikKKy8qIFVzZSBHTGliJ3MgZXZlbnQgbG9vcCBhYnN0
cmFjdGlvbi4gUHJpbWFyaWx5IEdUSyBwb3J0IHVzZXMgaXQuICovCisjZGVmaW5lIFVTRV9HTElC
X0VWRU5UX0xPT1AgMQorI2VsaWYgT1MoV0lORE9XUykKKy8qIFVzZSBXaW5kb3dzIG1lc3NhZ2Ug
cHVtcCBhYnN0cmFjdGlvbi4KKyAqIEV2ZW4gaWYgdGhlIHBvcnQgaXMgQXBwbGVXaW4sIHdlIHVz
ZSB0aGUgV2luZG93cyBtZXNzYWdlIHB1bXAgc3lzdGVtIGZvciB0aGUgZXZlbnQgbG9vcCwKKyAq
IHNvIHRoYXQgVVNFKFdJTkRPV1NfRVZFTlRfTE9PUCkgJiYgVVNFKENGKSBjYW4gYmUgdHJ1ZS4K
KyAqIEFuZCBQTEFURk9STShXSU4pIGFuZCBQTEFURk9STShHVEspIGFyZSBleGNsdXNpdmUuIElm
IHRoZSBwb3J0IGlzIEdUSywKKyAqIFBMQVRGT1JNKFdJTikgc2hvdWxkIGJlIGZhbHNlLiBBbmQg
aW4gdGhhdCBjYXNlLCBHTGliJ3MgZXZlbnQgbG9vcCBpcyB1c2VkLgorICovCisjZGVmaW5lIFVT
RV9XSU5ET1dTX0VWRU5UX0xPT1AgMQorI2VsaWYgUExBVEZPUk0oQ09DT0EpCisvKiBPUyBYIGFu
ZCBJT1MuIFVzZSBDb3JlRm91bmRhdGlvbiAmIEdDRCBhYnN0cmFjdGlvbi4gKi8KKyNkZWZpbmUg
VVNFX0NPQ09BX0VWRU5UX0xPT1AgMQorI2Vsc2UKKyNkZWZpbmUgVVNFX0dFTkVSSUNfRVZFTlRf
TE9PUCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVT
RV9NRURJQVJFTU9URSAxCisjZW5kaWYKKworI2lmIENPTVBJTEVSKE1TVkMpCisvKiBFbmFibGUg
c3RyaWN0IHJ1bnRpbWUgc3RhY2sgYnVmZmVyIGNoZWNrcy4gKi8KKyNwcmFnbWEgc3RyaWN0X2dz
X2NoZWNrKG9uKQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIEhBVkVfVE9V
Q0hfQkFSIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBVU0VfRElDVEFU
SU9OX0FMVEVSTkFUSVZFUyAxCisjZW5kaWYKKworCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFU
Rk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCBVU0UoR0NSWVBUKQorI2RlZmlu
ZSBIQVZFX1JTQV9QU1MgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgVVNFX1NPVVJDRV9BUFBMSUNB
VElPTl9BVURJVF9EQVRBIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1NfRkFN
SUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApCisjZGVm
aW5lIEhBVkVfSFNUU19TVE9SQUdFX1BBVEggMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZP
Uk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZpbmUgSEFWRV9VUkxfRk9STUFU
VElORyAxCisjZW5kaWYKKworI2lmICFPUyhXSU5ET1dTKQorI2RlZmluZSBIQVZFX1NUQUNLX0JP
VU5EU19GT1JfTkVXX1RIUkVBRCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZpbmUgSEFWRV9BVkNPTlRF
TlRLRVlTRVNTSU9OIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5lIEhBVkVfU0VDX0tFWV9QUk9YWSAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoQ0EpCisjZGVmaW5lIFVTRV9JT1NVUkZBQ0Vf
Q0FOVkFTX0JBQ0tJTkdfU1RPUkUgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBTaG91bGQgdGhpcyBi
ZSBlbmFibGVkIG9yIElPU19GQU1JTFksIG5vdCBqdXN0IElPUz8gKi8KKyNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExB
VEZPUk0oSU9TKQorI2RlZmluZSBIQVZFX0ZPVU5EQVRJT05fV0lUSF9TQVZFX0NPT0tJRVNfV0lU
SF9DT01QTEVUSU9OX0hBTkRMRVIgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBTaG91bGQgdGhpcyBi
ZSBlbmFibGVkIGZvciBJT1NfRkFNSUxZLCBub3QganVzdCBJT1M/ICovCisjaWYgKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBM
QVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9GT1VOREFUSU9OX1dJVEhfU0FNRV9TSVRFX0NPT0tJ
RV9TVVBQT1JUIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUFYX0FMTE9XRUQgPCAxMDE0MDAKKyNkZWZpbmUgSEFWRV9OU0hUVFBDT09LSUVTVE9S
QUdFX19JTklUV0lUSElERU5USUZJRVJfV0lUSF9JTkFDQ1VSQVRFX05VTExBQklMSVRZIDEKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX1dJVEhf
Q09OVEVOVF9FTkNPRElOR19TTklGRklOR19PVkVSUklERSAxCisvKiBUaGUgb3ZlcnJpZGUgaXNu
J3QgbmVlZGVkIG9uIGlPUyBmYW1pbHksIGFzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIG5v
dCBzbmlmZi4gKi8KKy8qIEZJWE1FOiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSBlbmFibGVkIG9u
IDEwLjEzLjIgYW5kIG5ld2VyLCBub3QganVzdCAxMC4xNCBhbmQgbmV3ZXIuICovCisjaWYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMAor
I2RlZmluZSBVU0VfQ0ZORVRXT1JLX0NPTlRFTlRfRU5DT0RJTkdfU05JRkZJTkdfT1ZFUlJJREUg
MQorI2VuZGlmCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShH
VEspCisjZGVmaW5lIEhBVkVfT1NfREFSS19NT0RFX1NVUFBPUlQgMQorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAw
CisjZGVmaW5lIEhBVkVfQ0dfRk9OVF9SRU5ERVJJTkdfR0VUX0ZPTlRfU01PT1RISU5HX0RJU0FC
TEVEIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCisjZGVmaW5l
IEhBVkVfQ0FfV0hFUkVfQURESVRJVkVfVFJBTlNGT1JNU19BUkVfUkVWRVJTRUQgMQorI2VuZGlm
CisKKyNpZmRlZiBfX0FQUExFX18KKyNkZWZpbmUgSEFWRV9GVU5DX1VTTEVFUCAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV1BFKQorLyogRklYTUU6IFRoaXMgcmVh
bGx5IG5lZWRzIGEgZGVzY3JpcHRpdmUgbmFtZSwgdGhpcyAibmV3IHRoZW1lIiB3YXMgYWRkZWQg
aW4gMjAwOC4gKi8KKyNkZWZpbmUgVVNFX05FV19USEVNRSAxCisjZW5kaWYKKworI2lmIFBMQVRG
T1JNKE1BQykKKyNkZWZpbmUgSEFWRV9XSU5ET1dfU0VSVkVSX09DQ0xVU0lPTl9OT1RJRklDQVRJ
T05TIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIEhBVkVfU0VDX0FD
Q0VTU19DT05UUk9MIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorLyogRklYTUU6IFNh
ZmFyaVNlcnZpY2VzLmZyYW1ld29yayBleGlzdHMgb24gbWFjT1MuIEl0IGlzIG9ubHkgdXNlZCBi
eSBXZWJLaXQgb24gaU9TLCBzbyB0aGUgYmVoYXZpb3IgaXMgY29ycmVjdCwgYnV0IHRoZSBuYW1l
IGlzIG1pc2xlYWRpbmcuICovCisjZGVmaW5lIEhBVkVfU0FGQVJJX1NFUlZJQ0VTX0ZSQU1FV09S
SyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFU
Rk9STShXQVRDSE9TKQorI2RlZmluZSBIQVZFX1NBRkVfQlJPV1NJTkcgMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVfTElOS19QUkVWSUVXIDEKKyNlbmRpZgorCisj
aWYgKFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSkKKyNkZWZpbmUgSEFWRV9BQ0NFU1NJQklM
SVRZX1NVUFBPUlQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAgJiYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NQVhfQUxMT1dFRCA+PSAxMzAxMDAKKyNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZX0JV
TkRMRVNfUEFUSCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKQor
I2RlZmluZSBIQVZFX0FVVEhPUklaQVRJT05fU1RBVFVTX0ZPUl9NRURJQV9UWVBFIDEKKyNlbmRp
ZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNDAwICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDQp
KSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMjAwMDAgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMjAyMDApIHx8
IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCisjZGVmaW5lIEhBVkVfQ0ZO
RVRXT1JLX09WRVJSSURFX1NFU1NJT05fQ09PS0lFX0FDQ0VQVF9QT0xJQ1kgMQorI2VuZGlmCisK
KyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEzMDAwMCkKKyNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTlNVUkxTRVNT
SU9OX1NUUklDVFJVU1RFVkFMVUFURSAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJ
T1NfRkFNSUxZKQorI2RlZmluZSBIQVZFX0NGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NP
TF9DSVBIRVIgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTYwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKKyNkZWZpbmUgSEFW
RV9DRk5FVFdPUktfTUVUUklDU19BUElTX1Y0IDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAorI2RlZmluZSBI
QVZFX0NTQ0hFQ0tGSVhESVNBQkxFIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElP
U19GQU1JTFkpCisjZGVmaW5lIEhBVkVfU0FOREJPWF9JU1NVRV9NQUNIX0VYVEVOU0lPTl9UT19Q
Uk9DRVNTX0JZX0FVRElUX1RPS0VOIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElP
U19GQU1JTFkpCisjZGVmaW5lIEhBVkVfU0FOREJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19Q
Uk9DRVNTX0JZX0FVRElUX1RPS0VOIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJ
T1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAp
CisjZGVmaW5lIEhBVkVfTUROU19GQVNUX1JFR0lTVFJBVElPTiAxCisjZW5kaWYKKworI2lmIChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAw
KSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2RlZmluZSBIQVZFX0RJU0FMTE9XQUJMRV9VU0VS
X0lOU1RBTExFRF9GT05UUyAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQorI2Rl
ZmluZSBIQVZFX0NURk9OVENSRUFURUZPUkNIQVJBQ1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJT04g
MQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKKyNkZWZpbmUgSEFWRV9DVEZPTlRU
UkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAKKyNk
ZWZpbmUgSEFWRV9BUktJVF9RVUlDS19MT09LX1BSRVZJRVdfSVRFTSAxCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEzMDAwMAorI2RlZmluZSBIQVZFX1VJX1dLX0RPQ1VNRU5UX0NPTlRFWFQgMQorI2VuZGlm
CisKKyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZpbmUgSEFWRV9IT1ZFUl9HRVNUVVJF
X1JFQ09HTklaRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZp
bmUgSEFWRV9VSV9QQVJBTExBWF9UUkFOU0lUSU9OX0dFU1RVUkVfUkVDT0dOSVpFUiAxCisjZW5k
aWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2RlZmluZSBIQVZFX0FMTE9X
U19TRU5TSVRJVkVfTE9HR0lORyAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1Nf
RkFNSUxZKQorI2RlZmluZSBIQVZFX0ZBSVJQTEFZU1RSRUFNSU5HX0NFTkNfSU5JVERBVEEgMQor
I2VuZGlmCisKKyNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMzAwMDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExF
VFYpCisjZGVmaW5lIEhBVkVfVUlfU0NST0xMX1ZJRVdfSU5ESUNBVE9SX0ZMQVNISU5HX1NQSSAx
CisjZW5kaWYKKworI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQ
TEVUVikKKyNkZWZpbmUgSEFWRV9BUFBfTElOS1NfV0lUSF9JU0VOQUJMRUQgMQorI2VuZGlmCisK
KyNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMzAwMDApCisjZGVmaW5lIEhBVkVfUk9VVEVfU0hBUklOR19QT0xJQ1lfTE9OR19GT1JNX1ZJ
REVPIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwICYmICFQTEFURk9STShJT1NfU0lNVUxBVE9SKSkKKyNk
ZWZpbmUgSEFWRV9ERVZJQ0VfTUFOQUdFTUVOVCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNTAwCisjZGVmaW5lIFVT
RV9SRUFMUEFUSF9GT1JfRExPUEVOX1BSRUZMSUdIVCAxCisjZW5kaWYKKworI2lmIChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAo
UExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTMwMDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQorI2Rl
ZmluZSBIQVZFX05TVVJMU0VTU0lPTl9XRUJTT0NLRVQgMQorI2VuZGlmCisKKyNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwg
KFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMw
MDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQorI2RlZmluZSBI
QVZFX0FWUExBWUVSX1JFU09VUkNFX0NPTlNFUlZBVElPTl9MRVZFTCAxCisjZW5kaWYKKworI2lm
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMjAwMDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCisj
ZGVmaW5lIEhBVkVfQ09SRVRFWFRfQVVUT19PUFRJQ0FMX1NJWklORyAxCisjZW5kaWYKKworI2lm
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1
MDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
IDwgMTMwMDAwKQorI2RlZmluZSBIQVZFX05TRk9OVF9XSVRIX09QVElDQUxfU0laSU5HX0JVRyAx
CisjZW5kaWYKKworI2lmIChQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSkKKyNkZWZpbmUgSEFWRV9BUFBf
U1NPIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwIHx8IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBM
QVRGT1JNKEFQUExFVFYpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2RlZmluZSBIQVZFX1RM
U19QUk9UT0NPTF9WRVJTSU9OX1QgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpIHx8IChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAw
KSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKSB8fCBQTEFURk9STShN
QUNDQVRBTFlTVCkKKyNkZWZpbmUgSEFWRV9TRUNfVFJVU1RfRVZBTFVBVEVfV0lUSF9FUlJPUiAx
CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisj
ZGVmaW5lIFVTRV9VSUNPTlRFWFRNRU5VIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAorI2RlZmluZSBIQVZF
X1NVQlZJRVdTX0lWQVJfU1BJIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKKyNkZWZpbmUgSEFWRV9TVUJWSUVX
U19JVkFSX0RFQ0xBUkVEX0JZX1NESyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwg
KFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDExMDAwMCkgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikKKyNk
ZWZpbmUgVVNFX1BMQVRGT1JNX1NZU1RFTV9GQUxMQkFDS19MSVNUIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNTAw
CisjZGVmaW5lIEhBVkVfQVhfQ0xJRU5UX1RZUEUgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBM
QVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAw
KSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQorI2RlZmluZSBIQVZF
X0RFU0lHTl9TWVNURU1fVUlfRk9OVFMgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JN
KElPUykgJiYgIVBMQVRGT1JNKElPU19TSU1VTEFUT1IpKQorI2RlZmluZSBIQVZFX0RFVklDRV9J
REVOVElUWSAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2Rl
ZmluZSBIQVZFX0RBVEFfUFJPVEVDVElPTl9LRVlDSEFJTiAxCisjZW5kaWYKKworI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8
fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9S
KSkKKyNkZWZpbmUgSEFWRV9ORUFSX0ZJRUxEIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkgfHwgKCEoZGVmaW5lZChVU0VfU1lTVEVNX01BTExPQykgJiYgVVNFX1NZU1RFTV9N
QUxMT0MpICYmIChPUyhMSU5VWCkgJiYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSkp
KQorI2RlZmluZSBVU0VfQk1BTExPQ19NRU1PUllfRk9PVFBSSU5UX0FQSSAxCisjZW5kaWYKKwor
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2RlZmluZSBIQVZFX09TX1NJR05QT1NU
IDEKKyNlbmRpZgorCisKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9faGFzX2lu
Y2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsUGxhdGZvcm0uaD4pCisjaW5jbHVkZSA8
V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxQbGF0Zm9ybS5oPgorI2VuZGlmCisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvQWRk
aXRpb25hbEZlYXR1cmVEZWZpbmVzLmg+KQorI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BZGRp
dGlvbmFsRmVhdHVyZURlZmluZXMuaD4KKyNlbmRpZgorCisvKiBfX1BMQVRGT1JNX0lORElSRUNU
X18gZW5zdXJlcyB0aGF0IHVzZXJzICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4gcmF0aGVyIHRo
YW4gd3RmL0ZlYXR1cmVEZWZpbmVzLmggZGlyZWN0bHkuICovCisjZGVmaW5lIF9fUExBVEZPUk1f
SU5ESVJFQ1RfXworCisvKiBJbmNsdWRlIGZlYXR1cmUgbWFjcm9zICovCisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtRW5hYmxlLmg+CisKKyN1bmRlZiBfX1BMQVRGT1JNX0lORElSRUNUX18KKworCisK
Ky8qIEZJWE1FOiBUaGUgZm9sbG93aW5nIGFyZSBjdXJyZW5seSBwb3NpdGlvbmVkIGF0IHRoZSBi
b3R0b20gb2YgdGhpcyBmaWxlIGFzIHRoZXkgYXJlIGN1cnJlbnRseSBkZXBlbmRlbnQgb24gRU5B
QkxFIG1hY3Jvcy4gKi8KKworLyogRklYTUU6IFJlbW92ZSBkZXBlbmRlbmNlIG9uIEVOQUJMRShX
RUJfUlRDKS4gKi8KKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKFdFQl9SVEMpCisjZGVm
aW5lIFVTRV9MSUJXRUJSVEMgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8g
InR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252
ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAqLworLyogVGhpcyBmZWF0dXJlIHdvcmtzIGJ5IGVt
YmVkZGluZyB0aGUgT3Bjb2RlSUQgaW4gdGhlIDMyIGJpdCBqdXN0IGJlZm9yZSB0aGUgZ2VuZXJh
dGVkIExMaW50IGNvZGUKKyAgIHRoYXQgZXhlY3V0ZXMgZWFjaCBvcGNvZGUuIEl0IGNhbm5vdCBi
ZSBzdXBwb3J0ZWQgYnkgdGhlIENMb29wIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IHRvIGVtYmVkIHRo
ZQorICAgT3Bjb2RlSUQgd29yZCBpbiB0aGUgQ0xvb3AncyBzd2l0Y2ggc3RhdGVtZW50IGNhc2Vz
LiBJdCBpcyBhbHNvIGN1cnJlbnRseSBub3QgaW1wbGVtZW50ZWQgZm9yIE1TVkMuCisqLworI2lm
ICFkZWZpbmVkKFVTRV9MTElOVF9FTUJFRERFRF9PUENPREVfSUQpICYmICFFTkFCTEUoQ19MT09Q
KSAmJiAhQ09NUElMRVIoTVNWQykgJiYgXAorICAgIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8
fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgT1MoREFSV0lOKSkpCisjZGVmaW5l
IFVTRV9MTElOVF9FTUJFRERFRF9PUENPREVfSUQgMQorI2VuZGlmCisKKworI2lmIFBMQVRGT1JN
KENPQ09BKQorI2lmIEVOQUJMRShXRUJHTCkKKworLyogVVNFX0FOR0xFPTEgdXNlcyBBTkdMRSBm
b3IgdGhlIFdlYkdMIGJhY2tlbmQuCisgICBJdCByZXBsYWNlcyBVU0VfT1BFTkdMLCBVU0VfT1BF
TkdMX0VTIGFuZCBVU0VfRUdMLiAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKE1B
Q0NBVEFMWVNUKSAmJiBfX2hhc19pbmNsdWRlKDxPcGVuR0wvT3BlbkdMLmg+KSkKKyNkZWZpbmUg
VVNFX09QRU5HTCAxCisjZGVmaW5lIFVTRV9PUEVOR0xfRVMgMAorI2RlZmluZSBVU0VfQU5HTEUg
MAorI2Vsc2UKKyNkZWZpbmUgVVNFX09QRU5HTCAwCisjZGVmaW5lIFVTRV9PUEVOR0xfRVMgMQor
I2RlZmluZSBVU0VfQU5HTEUgMAorI2VuZGlmCisKKyNpZm5kZWYgR0xfU0lMRU5DRV9ERVBSRUNB
VElPTgorI2RlZmluZSBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9OIDEKKyNlbmRpZgorCisjaWYgVVNF
KE9QRU5HTCkgJiYgIWRlZmluZWQoSEFWRV9PUEVOR0xfNCkKKyNkZWZpbmUgSEFWRV9PUEVOR0xf
NCAxCisjZW5kaWYKKworI2lmIFVTRShPUEVOR0xfRVMpICYmICFkZWZpbmVkKEhBVkVfT1BFTkdM
X0VTXzMpCisjZGVmaW5lIEhBVkVfT1BFTkdMX0VTXzMgMQorI2VuZGlmCisKKyNpZiBVU0VfQU5H
TEUgJiYgKFVTRV9PUEVOR0wgfHwgVVNFX09QRU5HTF9FUykKKyNlcnJvciBVU0VfQU5HTEUgaXMg
aW5jb21wYXRpYmxlIHdpdGggVVNFX09QRU5HTCBhbmQgVVNFX09QRU5HTF9FUworI2VuZGlmCisK
KyNlbmRpZiAvKiBFTkFCTEUoV0VCR0wpICovCisjZW5kaWYgLyogUExBVEZPUk0oQ09DT0EpICov
CisKKyNpZiBFTkFCTEUoV0VCR0wpCisjaWYgIWRlZmluZWQoVVNFX0FOR0xFKQorI2RlZmluZSBV
U0VfQU5HTEUgMAorI2VuZGlmCisKKyNpZiAoVVNFX0FOR0xFICYmIChVU0VfT1BFTkdMIHx8IFVT
RV9PUEVOR0xfRVMgfHwgKGRlZmluZWQoVVNFX0VHTCkgJiYgVVNFX0VHTCkpKSAmJiAhVVNFKFRF
WFRVUkVfTUFQUEVSKQorI2Vycm9yIFVTRV9BTkdMRSBpcyBpbmNvbXBhdGlibGUgd2l0aCBVU0Vf
T1BFTkdMLCBVU0VfT1BFTkdMX0VTIGFuZCBVU0VfRUdMCisjZW5kaWYKKyNlbmRpZgorCisjaWYg
VVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBFTkFCTEUoR1JBUEhJQ1NfQ09OVEVYVF9HTCkgJiYgIWRl
ZmluZWQoVVNFX1RFWFRVUkVfTUFQUEVSX0dMKQorI2RlZmluZSBVU0VfVEVYVFVSRV9NQVBQRVJf
R0wgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVj
aWZpYyBmZWF0dXJlIG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5B
QkxFIG1hY3JvLiAqLworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkKKyNkZWZpbmUgVVNFX0FDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKwor
CisvKiBGSVhNRTogVGhlc2UgY2FsbGluZyBjb252ZW50aW9uIG1hY3JvcyBzaG91bGQgbW92ZSB0
byB0aGVpciBvd24gZmlsZS4gVGhleSBhcmUgYXQgdGhlIGJvdHRvbSBjdXJyZW50bHkgYmVjYXVz
ZSB0aGV5IGRlcGVuZCBvbiBGZWF0dXJlRGVmaW5lcy5oICovCisKKyNpZiBDUFUoWDg2KSAmJiBD
T01QSUxFUihNU1ZDKQorI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKKyNlbGlmIENQ
VShYODYpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQorI2RlZmluZSBKU0NfSE9TVF9DQUxM
IF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCisjZWxzZQorI2RlZmluZSBKU0NfSE9TVF9DQUxM
CisjZW5kaWYKKworI2lmIENQVShYODYpICYmIE9TKFdJTkRPV1MpCisjZGVmaW5lIENBTExJTkdf
Q09OVkVOVElPTl9JU19TVERDQUxMIDEKKyNpZm5kZWYgQ0RFQ0wKKyNpZiBDT01QSUxFUihNU1ZD
KQorI2RlZmluZSBDREVDTCBfX2NkZWNsCisjZWxzZQorI2RlZmluZSBDREVDTCBfX2F0dHJpYnV0
ZV9fICgoX19jZGVjbCkpCisjZW5kaWYKKyNlbmRpZgorI2Vsc2UKKyNkZWZpbmUgQ0FMTElOR19D
T05WRU5USU9OX0lTX1NURENBTEwgMAorI2VuZGlmCisKKyNpZiBDUFUoWDg2KQorI2RlZmluZSBX
VEZfQ09NUElMRVJfU1VQUE9SVFNfRkFTVENBTExfQ0FMTElOR19DT05WRU5USU9OIDEKKyNpZm5k
ZWYgRkFTVENBTEwKKyNpZiBDT01QSUxFUihNU1ZDKQorI2RlZmluZSBGQVNUQ0FMTCBfX2Zhc3Rj
YWxsCisjZWxzZQorI2RlZmluZSBGQVNUQ0FMTCAgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkK
KyNlbmRpZgorI2VuZGlmCisjZWxzZQorI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFT
VENBTExfQ0FMTElOR19DT05WRU5USU9OIDAKKyNlbmRpZgorCisjaWYgRU5BQkxFKEpJVCkgJiYg
Q0FMTElOR19DT05WRU5USU9OX0lTX1NURENBTEwKKyNkZWZpbmUgSklUX09QRVJBVElPTiBDREVD
TAorI2Vsc2UKKyNkZWZpbmUgSklUX09QRVJBVElPTgorI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2Vz
IG9uOiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAkocmV2aXNpb24gMjU0NjI2KQorKysgU291
cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMjcsNTYgKzI3LDEwIEBACiAKICNwcmFnbWEg
b25jZQogCi0vKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvcyAqLwotI2luY2x1ZGUg
PHd0Zi9Db21waWxlci5oPgotCi0vKiA9PT09IFBsYXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0
aGVzZSBkZXNjcmliZSBwcm9wZXJ0aWVzIG9mIHRoZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0g
Ki8KLQotLyogQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KLSNpbmNsdWRl
IDx3dGYvUGxhdGZvcm1DUFUuaD4KLQotLyogT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5
c3RlbTsgb25seSB0byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlr
ZQotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2UgYSBHVUkgdG9vbGtpdCAqLwotI2lu
Y2x1ZGUgPHd0Zi9QbGF0Zm9ybU9TLmg+Ci0KLS8qIFBMQVRGT1JNKCkgLSBoYW5kbGVzIE9TLCBv
cGVyYXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNzIEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFj
cm8gd2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAg
IG1hY3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3JvcywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmlu
aXRpb25zLiAqLwotI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybUxlZ2FjeS5oPgotCiAvKiBIQVZFKCkg
LSBzcGVjaWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhlYWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFy
KSB0aGF0IGFyZSBwcmVzZW50IG9yIG5vdCAqLwogI2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAo
ZGVmaW5lZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYmIEhBVkVfIyNXVEZfRkVBVFVSRSkKIAogCi0v
KiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRoZXNlIGRlZmluZSBwb2xpY3kgY2hvaWNl
cyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8KLQotLyogVVNFKCkgLSB1c2UgYSBwYXJ0
aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0aW9uYWwgT1Mgc2VydmljZSAqLwotI2Rl
ZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFVTRV8jI1dURl9GRUFUVVJFICAmJiBVU0Vf
IyNXVEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0gdHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUg
b2YgV2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShXVEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxF
XyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQotCi0KLSNpZiBQTEFURk9S
TShDT0NPQSkKLSNpZiBkZWZpbmVkIF9faGFzX2luY2x1ZGUgJiYgX19oYXNfaW5jbHVkZSg8Q29y
ZUZvdW5kYXRpb24vQ0ZQcml2Lmg+KQotI2RlZmluZSBVU0VfQVBQTEVfSU5URVJOQUxfU0RLIDEK
LSNlbmRpZgotI2VuZGlmCi0KLS8qIE1JUFMgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxp
Z25lZCBtZW1vcnkgKi8KLSNpZiBDUFUoTUlQUykgfHwgQ1BVKE1JUFM2NCkKLSNkZWZpbmUgVVNF
X0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRpZgotCi0vKkFSTXY1VEUgcmVx
dWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwotI2lmIGRlZmluZWQoX19B
Uk1fQVJDSF81RV9fKSB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIHx8IGRlZmluZWQoX19B
Uk1fQVJDSF81VEVKX18pCi0jZGVmaW5lIFVTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdF
UiAxCi0jZW5kaWYKLQotLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWdu
ZWQgbWVtb3J5Ki8KLSNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIHx8IGRlZmluZWQoX19U
QVJHRVRfQVJDSF81VEUpIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEVKKQotI2RlZmluZSBV
U0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmCi0KICNpZiBDUFUoQVJN
X05FT04pCiAvKiBBbGwgTkVPTiBpbnRyaW5zaWNzIHVzYWdlIGNhbiBiZSBkaXNhYmxlZCBieSB0
aGlzIG1hY3JvLiAqLwogI2RlZmluZSBIQVZFX0FSTV9ORU9OX0lOVFJJTlNJQ1MgMQpAQCAtODcs
MTMyICs0MSwxMCBAQAogI2RlZmluZSBIQVZFX0FSTV9JRElWX0lOU1RSVUNUSU9OUyAxCiAjZW5k
aWYKIAotCi0KLS8qIE9wZXJhdGluZyBlbnZpcm9ubWVudHMgKi8KLQotCi0vKiBGSVhNRTogUmVu
YW1lIFdURl9DUFVfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggdG8gV1RGX09TX0VGRkVDVElWRV9B
RERSRVNTX1dJRFRILCBhcyBpdCBpcyBhbiBPUyBmZWF0dXJlLCBub3QgYSBDUFUgZmVhdHVyZS4g
Ki8KLSNpZiBDUFUoQUREUkVTUzY0KQotI2lmIE9TKERBUldJTikgJiYgQ1BVKEFSTTY0KQotI2Rl
ZmluZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDM2Ci0jZWxzZQotLyogV2Ugc3Ry
b25nbHkgYXNzdW1lIHRoYXQgZWZmZWN0aXZlIGFkZHJlc3Mgd2lkdGggaXMgPD0gNDggaW4gNjRi
aXQgYXJjaGl0ZWN0dXJlcyAoZS5nLiBOYU4gYm94aW5nKS4gKi8KLSNkZWZpbmUgV1RGX0NQVV9F
RkZFQ1RJVkVfQUREUkVTU19XSURUSCA0OAotI2VuZGlmCi0jZWxzZQotI2RlZmluZSBXVEZfQ1BV
X0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDMyCi0jZW5kaWYKLQotLyogRXhwb3J0IG1hY3JvIHN1
cHBvcnQuIERldGVjdHMgdGhlIGF0dHJpYnV0ZXMgYXZhaWxhYmxlIGZvciBzaGFyZWQgbGlicmFy
eSBzeW1ib2wgZXhwb3J0Ci0gICBkZWNvcmF0aW9ucy4gKi8KLSNpZiBPUyhXSU5ET1dTKSB8fCAo
Q09NUElMRVJfSEFTX0NMQU5HX0RFQ0xTUEVDKGRsbGltcG9ydCkgJiYgQ09NUElMRVJfSEFTX0NM
QU5HX0RFQ0xTUEVDKGRsbGV4cG9ydCkpCi0jZGVmaW5lIFVTRV9ERUNMU1BFQ19BVFRSSUJVVEUg
MQotI2RlZmluZSBVU0VfVklTSUJJTElUWV9BVFRSSUJVVEUgMAotI2VsaWYgZGVmaW5lZChfX0dO
VUNfXykKLSNkZWZpbmUgVVNFX0RFQ0xTUEVDX0FUVFJJQlVURSAwCi0jZGVmaW5lIFVTRV9WSVNJ
QklMSVRZX0FUVFJJQlVURSAxCi0jZWxzZQotI2RlZmluZSBVU0VfREVDTFNQRUNfQVRUUklCVVRF
IDAKLSNkZWZpbmUgVVNFX1ZJU0lCSUxJVFlfQVRUUklCVVRFIDAKLSNlbmRpZgotCi0vKiBTdGFu
ZGFyZCBsaWJyYXJpZXMgKi8KLSNpZiBkZWZpbmVkKEhBVkVfRkVBVFVSRVNfSCkgJiYgSEFWRV9G
RUFUVVJFU19ICi0vKiBJZiB0aGUgaW5jbHVkZWQgZmVhdHVyZXMuaCBpcyBnbGliYydzIG9uZSwg
X19HTElCQ19fIGlzIGRlZmluZWQuICovCi0jaW5jbHVkZSA8ZmVhdHVyZXMuaD4KLSNlbmRpZgot
Ci0vKiBGSVhNRTogQVNTRVJUX0VOQUJMRUQgc2hvdWxkIGRlZmluZWQgaW4gZGlmZmVyZW50LCBw
ZXJoYXBzIGl0cyBvd24sIGZpbGUuICovCi0vKiBBU1NFUlRfRU5BQkxFRCBzaG91bGQgYmUgdHJ1
ZSBpZiB3ZSB3YW50IHRoZSBjdXJyZW50IGNvbXBpbGF0aW9uIHVuaXQgdG8KLSAgIGRvIGRlYnVn
IGFzc2VydGlvbiBjaGVja3MgdW5jb25kaXRpb25hbGx5IChlLmcuIHRyZWF0IGEgZGVidWcgQVNT
RVJUCi0gICBsaWtlIGEgUkVMRUFTRV9BU1NFUlQuCi0qLwotI2lmbmRlZiBBU1NFUlRfRU5BQkxF
RAotI2lmZGVmIE5ERUJVRwotI2RlZmluZSBBU1NFUlRfRU5BQkxFRCAwCi0jZWxzZQotI2RlZmlu
ZSBBU1NFUlRfRU5BQkxFRCAxCi0jZW5kaWYKLSNlbmRpZgotCi0KLQotI2lmIFBMQVRGT1JNKENP
Q09BKQotI2RlZmluZSBVU0VfQ0cgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNk
ZWZpbmUgVVNFX0NBIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShX
UEUpCi0jZGVmaW5lIFVTRV9HTElCIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShXUEUpCi0jZGVmaW5lIFVTRV9GUkVFVFlQRSAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQotI2RlZmluZSBVU0VfSEFSRkJVWlogMQotI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKLSNkZWZpbmUgVVNFX1NPVVAg
MQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKLSNkZWZpbmUg
VVNFX1dFQlAgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspCi0jZGVmaW5lIEdMSUJfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgR0xJQl9WRVJTSU9OXzJfMzYKLSNkZWZpbmUgR0RLX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIEdES19WRVJTSU9OXzNfNgotI2VuZGlmCi0KLSNpZiBQTEFURk9STShXUEUp
Ci0jZGVmaW5lIEdMSUJfVkVSU0lPTl9NSU5fUkVRVUlSRUQgR0xJQl9WRVJTSU9OXzJfNDAKLSNl
bmRpZgotCi0jaWYgVVNFKFNPVVApCi0jZGVmaW5lIFNPVVBfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
U09VUF9WRVJTSU9OXzJfNDIKLSNlbmRpZgotCi0vKiBPbiBXaW5kb3dzLCB1c2UgUXVlcnlQZXJm
b3JtYW5jZUNvdW50ZXIgYnkgZGVmYXVsdCAqLwotI2lmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIFVT
RV9RVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKENP
Q09BKQogI2RlZmluZSBIQVZFX09VVF9PRl9QUk9DRVNTX0xBWUVSX0hPU1RJTkcgMQogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX0NGIDEKLSNlbmRpZgotCi0jaWYg
UExBVEZPUk0oQ09DT0EpIHx8IChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkpCi0jZGVm
aW5lIFVTRV9GSUxFX0xPQ0sgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZp
bmUgVVNFX0ZPVU5EQVRJT04gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZp
bmUgVVNFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKLSNlbmRpZgotCi0KLSNpZiBQ
TEFURk9STShDT0NPQSkKLS8qIENvY29hIGRlZmluZXMgYSBzZXJpZXMgb2YgcGxhdGZvcm0gbWFj
cm9zIGZvciBkZWJ1Z2dpbmcuICovCi0vKiBTb21lIG9mIHRoZW0gYXJlIHJlYWxseSBhbm5veWlu
ZyBiZWNhdXNlIHRoZXkgdXNlIGNvbW1vbiBuYW1lcyAoZS5nLiBjaGVjaygpKS4gKi8KLS8qIERp
c2FibGUgdGhvc2UgbWFjcm9zIHNvIHRoYXQgd2UgYXJlIG5vdCBsaW1pdGVkIGluIGhvdyB3ZSBu
YW1lIG1ldGhvZHMgYW5kIGZ1bmN0aW9ucy4gKi8KLSN1bmRlZiBfX0FTU0VSVF9NQUNST1NfREVG
SU5FX1ZFUlNJT05TX1dJVEhPVVRfVU5ERVJTQ09SRVMKLSNkZWZpbmUgX19BU1NFUlRfTUFDUk9T
X0RFRklORV9WRVJTSU9OU19XSVRIT1VUX1VOREVSU0NPUkVTIDAKLSNlbmRpZgotCiAjaWYgUExB
VEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQogI2VuZGlmCkBAIC0yMjYs
MjEgKzU4LDkgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBVU0VfQVBQ
S0lUIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBVU0VfUEFTU0tJVCAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9ORVRXT1JLX0VYVEVO
U0lPTiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgVVNFX1BMVUdJTl9I
T1NUX1BST0NFU1MgMQotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2RlZmlu
ZSBIQVZFX05FVFdPUktfRVhURU5TSU9OIDEKICNlbmRpZgpAQCAtMjQ5LDE0ICs2OSw2IEBACiAj
ZGVmaW5lIEhBVkVfUkVBRExJTkUgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQotI2RlZmluZSBVU0VfVUlLSVRfRURJVElORyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0jZGVmaW5lIFVTRV9XRUJfVEhSRUFEIDEKLSNlbmRpZgotCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgJiYgQ1BVKEFSTV9ORU9OKQogI3VuZGVmIEhBVkVfQVJNX05FT05fSU5U
UklOU0lDUwogI2RlZmluZSBIQVZFX0FSTV9ORU9OX0lOVFJJTlNJQ1MgMApAQCAtMjkwLDcgKzEw
Miw2IEBACiAjZGVmaW5lIFVTRV9VSUtJVF9LRVlCT0FSRF9BRERJVElPTlMgMQogI2VuZGlmCiAK
LQogI2lmICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkgJiYgKFBMQVRGT1JNKENPQ09BKSB8
fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSkKICNkZWZp
bmUgSEFWRV9BQ0NFU1NJQklMSVRZIDEKICNlbmRpZgpAQCAtMzYwLDEwICsxNzEsNiBAQAogI2Rl
ZmluZSBIQVZFX0lOVDEyOF9UIDEKICNlbmRpZgogCi0jaWYgT1MoVU5JWCkKLSNkZWZpbmUgVVNF
X1BUSFJFQURTIDEKLSNlbmRpZgotCiAjaWYgT1MoVU5JWCkgJiYgIU9TKEZVQ0hTSUEpCiAjZGVm
aW5lIEhBVkVfUkVTT1VSQ0VfSCAxCiAjZW5kaWYKQEAgLTQxMiwxNSArMjE5LDEwIEBACiAjZGVm
aW5lIEhBVkVfTUFDSF9FWENFUFRJT05TIDEKICNlbmRpZgogCi0jaWYgT1MoREFSV0lOKSAmJiAh
UExBVEZPUk0oR1RLKQotI2RlZmluZSBVU0VfQUNDRUxFUkFURSAxCi0jZW5kaWYKLQogI2lmIE9T
KERBUldJTikgJiYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAjZGVmaW5lIEhBVkVfSE9TVEVEX0NP
UkVfQU5JTUFUSU9OIDEKICNlbmRpZgogCi0KICNpZiBPUyhEQVJXSU4pIHx8IE9TKEZVQ0hTSUEp
IHx8ICgoT1MoRlJFRUJTRCkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9O
SUNfXykpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoQVJN
NjQpIHx8IENQVShNSVBTKSkpCiAjZGVmaW5lIEhBVkVfTUFDSElORV9DT05URVhUIDEKICNlbmRp
ZgpAQCAtNDI5LDI3ICsyMzEsMTMgQEAKICNkZWZpbmUgSEFWRV9CQUNLVFJBQ0UgMQogI2VuZGlm
CiAKLSNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQotI2lmIFBMQVRGT1JNKEdUSykKLSNpZiBk
ZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIUNQVShNSVBTKQor
I2lmIChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSkgJiYgUExBVEZPUk0oR1RLKSAmJiBkZWZpbmVk
KF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIUNQVShNSVBTKQogI2RlZmlu
ZSBIQVZFX0JBQ0tUUkFDRV9TWU1CT0xTIDEKICNlbmRpZgotI2VuZGlmIC8qIFBMQVRGT1JNKEdU
SykgKi8KLSNkZWZpbmUgSEFWRV9ETEFERFIgMQotI2VuZGlmIC8qIE9TKERBUldJTikgfHwgT1Mo
TElOVVgpICovCi0KLQotI2lmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIFVTRV9TWVNURU1fTUFMTE9D
IDEKLSNlbmRpZgogCi0jaWYgIWRlZmluZWQoVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoVVNF
X0pTVkFMVUUzMl82NCkKLSNpZiBDUFUoQUREUkVTUzY0KSB8fCBDUFUoQVJNNjQpCi0jZGVmaW5l
IFVTRV9KU1ZBTFVFNjQgMQotI2Vsc2UKLSNkZWZpbmUgVVNFX0pTVkFMVUUzMl82NCAxCisjaWYg
T1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKKyNkZWZpbmUgSEFWRV9ETEFERFIgMQogI2VuZGlmCi0j
ZW5kaWYgLyogIWRlZmluZWQoVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoVVNFX0pTVkFMVUUz
Ml82NCkgKi8KIAogI2lmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4p
CiAjZGVmaW5lIEhBVkVfRkFTVF9UTFMgMQpAQCAtNDU5LDEyICsyNDcsNiBAQAogI2RlZmluZSBI
QVZFX0NPTVBVVEVEX0dPVE8gMQogI2VuZGlmCiAKLS8qIEZJWE1FOiBUaGlzIG5hbWUgc2hvdWxk
IGJlIG1vcmUgc3BlY2lmaWMgaWYgaXQgaXMgb25seSBmb3IgdXNlIHdpdGggQ2FsbEZyYW1lKiAq
LwotLyogVXNlIF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzKDEpIHRvIGdldCBDYWxsRnJhbWUqICov
Ci0jaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpICYmIChDUFUoQVJNNjQpIHx8IENQVShYODZf
NjQpKQotI2RlZmluZSBVU0VfQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKLSNlbmRpZgotCiAjaWYg
Q1BVKEFSTTY0RSkgJiYgT1MoREFSV0lOKQogI2RlZmluZSBIQVZFX0ZKQ1ZUWlNfSU5TVFJVQ1RJ
T04gMQogI2VuZGlmCkBAIC00NzMsMTggKzI1NSw2IEBACiAjZGVmaW5lIEhBVkVfQVBQX0xJTktT
IDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBVU0VfUEFTU0tJVCAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgVVNFX1FVSUNLX0xPT0sgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIFVTRV9TWVNURU1fUFJFVklFVyAxCi0j
ZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlT
VCkKICNkZWZpbmUgSEFWRV9DRUxFU1RJQUwgMQogI2VuZGlmCkBAIC00OTcsMTQgKzI2Nyw2IEBA
CiAjZGVmaW5lIEhBVkVfUEFSRU5UQUxfQ09OVFJPTFNfV0lUSF9VTkJMT0NLX0hBTkRMRVIgMQog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX0FWRk9VTkRBVElPTiAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBVU0VfUFJPVEVDVElPTl9T
UEFDRV9BVVRIX0NBTExCQUNLIDEKLSNlbmRpZgotCiAvKiBGSVhNRTogRW5hYmxlIEhBVkVfUEFS
RU5UQUxfQ09OVFJPTFMgZm9yIHdhdGNoT1MgU2ltdWxhdG9yIG9uY2UgcmRhcjovL3Byb2JsZW0v
NTQ2MDgzODYgaXMgcmVzb2x2ZWQgKi8KICNpZiBQTEFURk9STShDT0NPQSkgJiYgKCFQTEFURk9S
TShBUFBMRVRWKSAmJiAoIVBMQVRGT1JNKFdBVENIT1MpIHx8ICFQTEFURk9STShJT1NfRkFNSUxZ
X1NJTVVMQVRPUikpKQogI2RlZmluZSBIQVZFX1BBUkVOVEFMX0NPTlRST0xTIDEKQEAgLTUxNSwz
NSArMjc3LDYgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIFVTRV9N
RVRBTCAxCi0jZW5kaWYKLQotCi0jaWYgVVNFKEdMSUIpCi0jaW5jbHVkZSA8d3RmL2dsaWIvR1R5
cGVkZWZzLmg+Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFVTRV9FWFBPUlRfTUFDUk9TKSAmJiAo
UExBVEZPUk0oQ09DT0EpIHx8IE9TKFdJTkRPV1MpKQotI2RlZmluZSBVU0VfRVhQT1JUX01BQ1JP
UyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQotI2RlZmlu
ZSBVU0VfVU5JWF9ET01BSU5fU09DS0VUUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFVTRV9J
TUxBTkdfRk9OVF9MSU5LMikKLSNkZWZpbmUgVVNFX0lNTEFOR19GT05UX0xJTksyIDEKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIFVTRV9DT1JFTUVESUEgMQotI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX1ZJREVPVE9PTEJPWCAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0FWRk9VTkRBVElPTl9WSURF
T19PVVRQVVQgMQogI2VuZGlmCiAKQEAgLTU3MSwxMCArMzA0LDYgQEAKICNkZWZpbmUgSEFWRV9B
VkZPVU5EQVRJT05fTE9BREVSX0RFTEVHQVRFIDEKICNlbmRpZgogCi0jaWYgIVBMQVRGT1JNKFdJ
TikKLSNkZWZpbmUgVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAx
Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAj
ZGVmaW5lIEhBVkVfQVBQTEVfR1JBUEhJQ1NfQ09OVFJPTCAxCiAjZW5kaWYKQEAgLTU4MywxNCAr
MzEyLDYgQEAKICNkZWZpbmUgSEFWRV9OU0NVUlNPUiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KE1BQykKLSNkZWZpbmUgVVNFX0NPUkVBVURJTyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFVT
RV9aTElCKQotI2RlZmluZSBVU0VfWkxJQiAxCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEhBVkVf
UU9TX0NMQVNTRVMpICYmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX1FPU19DTEFTU0VT
IDEKICNlbmRpZgpAQCAtNTk5LDM5ICszMjAsMTEgQEAKICNkZWZpbmUgSEFWRV9WT1VDSEVSUyAx
CiAjZW5kaWYKIAotI2RlZmluZSBVU0VfR1JBTU1BUl9DSEVDS0lORyAxCi0KLSNpZiBQTEFURk9S
TShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQotI2RlZmluZSBVU0VfVU5JRklFRF9URVhUX0NIRUNL
SU5HIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBVU0VfQVVUT01BVElD
X1RFWFRfUkVQTEFDRU1FTlQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0vKiBTb21l
IHBsYXRmb3JtcyBwcm92aWRlIFVJIGZvciBzdWdnZXN0aW5nIGF1dG9jb3JyZWN0aW9uLiAqLwot
I2RlZmluZSBVU0VfQVVUT0NPUlJFQ1RJT05fUEFORUwgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShDT0NPQSkKLS8qIFNvbWUgcGxhdGZvcm1zIHVzZSBzcGVsbGluZyBhbmQgYXV0b2NvcnJlY3Rp
b24gbWFya2VycyB0byBwcm92aWRlIHZpc3VhbCBjdWUuIE9uIHN1Y2ggcGxhdGZvcm0sIGlmIHdv
cmQgd2l0aCBtYXJrZXIgaXMgZWRpdGVkLCB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbWFya2VyLiAq
LwotI2RlZmluZSBVU0VfTUFSS0VSX1JFTU9WQUxfVVBPTl9FRElUSU5HIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBVU0VfSU5TRVJUSU9OX1VORE9fR1JPVVBJTkcgMQot
I2VuZGlmCi0KICNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9BVkFTU0VUUkVBREVS
IDEKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIFVTRV9BVURJT19TRVNT
SU9OIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfSU9TVVJG
QUNFIDEKICNlbmRpZgogCkBAIC02NDMsOTAgKzMzNiwxOCBAQAogI2RlZmluZSBIQVZFX0lPU1VS
RkFDRV9BQ0NFTEVSQVRPUiAxCiAjZW5kaWYKIAotI2lmIENPTVBJTEVSKE1TVkMpCi0jdW5kZWYg
X19TVERDX0ZPUk1BVF9NQUNST1MKLSNkZWZpbmUgX19TVERDX0ZPUk1BVF9NQUNST1MKLSN1bmRl
ZiBfX1NURENfTElNSVRfTUFDUk9TCi0jZGVmaW5lIF9fU1REQ19MSU1JVF9NQUNST1MKLSNlbmRp
ZgotCiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX05TX0FDVElWSVRZIDEKICNlbmRp
ZgogCi0KLS8qIFNldCBUQVJHRVRfT1NfSVBIT05FIHRvIDAgYnkgZGVmYXVsdCB0byBhbGxvdyB1
c2luZyBpdCBhcyBhIGd1YXJkIAotICogaW4gY3Jvc3MtcGxhdGZvcm0gdGhlIHNhbWUgd2F5IGFz
IGl0IGlzIHVzZWQgaW4gT1MoREFSV0lOKSBjb2RlLiAqLyAKLSNpZiAhZGVmaW5lZChUQVJHRVRf
T1NfSVBIT05FKSAmJiAhT1MoREFSV0lOKQotI2RlZmluZSBUQVJHRVRfT1NfSVBIT05FIDAKLSNl
bmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIFVTRV9NRURJQVRPT0xCT1ggMQot
I2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX09TX0xPRyAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2Rl
ZmluZSBVU0VfT1NfU1RBVEUgMQotI2VuZGlmCi0KICNpZiBQTEFURk9STShDT0NPQSkKICNkZWZp
bmUgSEFWRV9TRUNfVFJVU1RfU0VSSUFMSVpBVElPTiAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVk
KFdURl9ERUZBVUxUX0VWRU5UX0xPT1ApCi0jZGVmaW5lIFdURl9ERUZBVUxUX0VWRU5UX0xPT1Ag
MQotI2VuZGlmCi0KLSNpZiBXVEZfREVGQVVMVF9FVkVOVF9MT09QCi0jaWYgVVNFKEdMSUIpCi0v
KiBVc2UgR0xpYidzIGV2ZW50IGxvb3AgYWJzdHJhY3Rpb24uIFByaW1hcmlseSBHVEsgcG9ydCB1
c2VzIGl0LiAqLwotI2RlZmluZSBVU0VfR0xJQl9FVkVOVF9MT09QIDEKLSNlbGlmIE9TKFdJTkRP
V1MpCi0vKiBVc2UgV2luZG93cyBtZXNzYWdlIHB1bXAgYWJzdHJhY3Rpb24uCi0gKiBFdmVuIGlm
IHRoZSBwb3J0IGlzIEFwcGxlV2luLCB3ZSB1c2UgdGhlIFdpbmRvd3MgbWVzc2FnZSBwdW1wIHN5
c3RlbSBmb3IgdGhlIGV2ZW50IGxvb3AsCi0gKiBzbyB0aGF0IFVTRShXSU5ET1dTX0VWRU5UX0xP
T1ApICYmIFVTRShDRikgY2FuIGJlIHRydWUuCi0gKiBBbmQgUExBVEZPUk0oV0lOKSBhbmQgUExB
VEZPUk0oR1RLKSBhcmUgZXhjbHVzaXZlLiBJZiB0aGUgcG9ydCBpcyBHVEssCi0gKiBQTEFURk9S
TShXSU4pIHNob3VsZCBiZSBmYWxzZS4gQW5kIGluIHRoYXQgY2FzZSwgR0xpYidzIGV2ZW50IGxv
b3AgaXMgdXNlZC4KLSAqLwotI2RlZmluZSBVU0VfV0lORE9XU19FVkVOVF9MT09QIDEKLSNlbGlm
IFBMQVRGT1JNKENPQ09BKQotLyogT1MgWCBhbmQgSU9TLiBVc2UgQ29yZUZvdW5kYXRpb24gJiBH
Q0QgYWJzdHJhY3Rpb24uICovCi0jZGVmaW5lIFVTRV9DT0NPQV9FVkVOVF9MT09QIDEKLSNlbHNl
Ci0jZGVmaW5lIFVTRV9HRU5FUklDX0VWRU5UX0xPT1AgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBVU0VfTUVESUFSRU1PVEUgMQotI2VuZGlmCi0KLSNp
ZiBDT01QSUxFUihNU1ZDKQotLyogRW5hYmxlIHN0cmljdCBydW50aW1lIHN0YWNrIGJ1ZmZlciBj
aGVja3MuICovCi0jcHJhZ21hIHN0cmljdF9nc19jaGVjayhvbikKLSNlbmRpZgotCiAjaWYgUExB
VEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RPVUNIX0JBUiAxCiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKE1BQykKLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQotI2VuZGlmCi0K
LQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkgfHwgVVNFKEdDUllQVCkKLSNkZWZpbmUgSEFWRV9SU0FfUFNTIDEKLSNlbmRpZgotCi0j
aWYgKFBMQVRGT1JNKE1BQykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkp
Ci0jZGVmaW5lIFVTRV9TT1VSQ0VfQVBQTElDQVRJT05fQVVESVRfREFUQSAxCi0jZW5kaWYKLQog
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTMwMDAwKQogI2RlZmluZSBIQVZFX0hTVFNfU1RPUkFHRV9QQVRIIDEK
ICNlbmRpZgpAQCAtNzQ3LDEwICszNjgsNiBAQAogI2RlZmluZSBIQVZFX1NFQ19LRVlfUFJPWFkg
MQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgVVNFKENBKQotI2RlZmluZSBVU0Vf
SU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFIDEKLSNlbmRpZgotCiAvKiBGSVhNRTogU2hv
dWxkIHRoaXMgYmUgZW5hYmxlZCBvciBJT1NfRkFNSUxZLCBub3QganVzdCBJT1M/ICovCiAjaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0
MDApIHx8IFBMQVRGT1JNKElPUykKICNkZWZpbmUgSEFWRV9GT1VOREFUSU9OX1dJVEhfU0FWRV9D
T09LSUVTX1dJVEhfQ09NUExFVElPTl9IQU5ETEVSIDEKQEAgLTc2NywxMSArMzg0LDYgQEAKIAog
I2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0NGTkVUV09SS19XSVRIX0NPTlRFTlRf
RU5DT0RJTkdfU05JRkZJTkdfT1ZFUlJJREUgMQotLyogVGhlIG92ZXJyaWRlIGlzbid0IG5lZWRl
ZCBvbiBpT1MgZmFtaWx5LCBhcyB0aGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBub3Qgc25pZmYu
ICovCi0vKiBGSVhNRTogVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgZW5hYmxlZCBvbiAxMC4xMy4y
IGFuZCBuZXdlciwgbm90IGp1c3QgMTAuMTQgYW5kIG5ld2VyLiAqLwotI2lmIFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKLSNkZWZpbmUg
VVNFX0NGTkVUV09SS19DT05URU5UX0VOQ09ESU5HX1NOSUZGSU5HX09WRVJSSURFIDEKLSNlbmRp
ZgogI2VuZGlmCiAKICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZPUk0oR1RLKQpAQCAt
NzkwLDExICs0MDIsNiBAQAogI2RlZmluZSBIQVZFX0ZVTkNfVVNMRUVQIDEKICNlbmRpZgogCi0j
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXUEUpCi0vKiBGSVhNRTogVGhpcyByZWFsbHkg
bmVlZHMgYSBkZXNjcmlwdGl2ZSBuYW1lLCB0aGlzICJuZXcgdGhlbWUiIHdhcyBhZGRlZCBpbiAy
MDA4LiAqLwotI2RlZmluZSBVU0VfTkVXX1RIRU1FIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0o
TUFDKQogI2RlZmluZSBIQVZFX1dJTkRPV19TRVJWRVJfT0NDTFVTSU9OX05PVElGSUNBVElPTlMg
MQogI2VuZGlmCkBAIC05MTIsMTAgKzUxOSw2IEBACiAjZGVmaW5lIEhBVkVfREVWSUNFX01BTkFH
RU1FTlQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8IDEwMTUwMAotI2RlZmluZSBVU0VfUkVBTFBBVEhfRk9SX0RMT1BFTl9Q
UkVGTElHSFQgMQotI2VuZGlmCi0KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZPUk0o
V0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9OU1VSTFNFU1NJT05f
V0VCU09DS0VUIDEKICNlbmRpZgpAQCAtOTQ0LDEwICs1NDcsNiBAQAogI2RlZmluZSBIQVZFX1NF
Q19UUlVTVF9FVkFMVUFURV9XSVRIX0VSUk9SIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9T
KSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgVVNFX1VJQ09OVEVYVE1FTlUgMQot
I2VuZGlmCi0KICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVfU1VCVklFV1NfSVZBUl9TUEkgMQogI2VuZGlm
CkBAIC05NTYsMTAgKzU1NSw2IEBACiAjZGVmaW5lIEhBVkVfU1VCVklFV1NfSVZBUl9ERUNMQVJF
RF9CWV9TREsgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApIHx8
IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCi0jZGVmaW5lIFVTRV9QTEFU
Rk9STV9TWVNURU1fRkFMTEJBQ0tfTElTVCAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTUwMAogI2RlZmluZSBIQVZF
X0FYX0NMSUVOVF9UWVBFIDEKICNlbmRpZgpAQCAtOTgwLDE0NCArNTc1LDYgQEAKICNkZWZpbmUg
SEFWRV9ORUFSX0ZJRUxEIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwg
KCEoZGVmaW5lZChVU0VfU1lTVEVNX01BTExPQykgJiYgVVNFX1NZU1RFTV9NQUxMT0MpICYmIChP
UyhMSU5VWCkgJiYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSkpKQotI2RlZmluZSBV
U0VfQk1BTExPQ19NRU1PUllfRk9PVFBSSU5UX0FQSSAxCi0jZW5kaWYKLQogI2lmIChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCBQ
TEFURk9STShJT1NfRkFNSUxZKQogI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKICNlbmRpZgot
Ci0KLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9faGFzX2luY2x1ZGUoPFdlYktp
dEFkZGl0aW9ucy9BZGRpdGlvbmFsUGxhdGZvcm0uaD4pCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRp
b25zL0FkZGl0aW9uYWxQbGF0Zm9ybS5oPgotI2VuZGlmCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKSAmJiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbEZlYXR1
cmVEZWZpbmVzLmg+KQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsRmVhdHVy
ZURlZmluZXMuaD4KLSNlbmRpZgotCi0vKiBfX1BMQVRGT1JNX0lORElSRUNUX18gZW5zdXJlcyB0
aGF0IHVzZXJzICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4gcmF0aGVyIHRoYW4gd3RmL0ZlYXR1
cmVEZWZpbmVzLmggZGlyZWN0bHkuICovCi0jZGVmaW5lIF9fUExBVEZPUk1fSU5ESVJFQ1RfXwot
Ci0vKiBJbmNsdWRlIGZlYXR1cmUgbWFjcm9zICovCi0jaW5jbHVkZSA8d3RmL1BsYXRmb3JtRW5h
YmxlLmg+Ci0KLSN1bmRlZiBfX1BMQVRGT1JNX0lORElSRUNUX18KLQotCi0KLS8qIEZJWE1FOiBU
aGUgZm9sbG93aW5nIGFyZSBjdXJyZW5seSBwb3NpdGlvbmVkIGF0IHRoZSBib3R0b20gb2YgdGhp
cyBmaWxlIGFzIHRoZXkgYXJlIGN1cnJlbnRseSBkZXBlbmRlbnQgb24gRU5BQkxFIG1hY3Jvcy4g
Ki8KLQotLyogRklYTUU6IFJlbW92ZSBkZXBlbmRlbmNlIG9uIEVOQUJMRShXRUJfUlRDKS4gKi8K
LSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKFdFQl9SVEMpCi0jZGVmaW5lIFVTRV9MSUJX
RUJSVEMgMQotI2VuZGlmCi0KLS8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBz
cGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4g
RU5BQkxFIG1hY3JvLiAqLwotLyogVGhpcyBmZWF0dXJlIHdvcmtzIGJ5IGVtYmVkZGluZyB0aGUg
T3Bjb2RlSUQgaW4gdGhlIDMyIGJpdCBqdXN0IGJlZm9yZSB0aGUgZ2VuZXJhdGVkIExMaW50IGNv
ZGUKLSAgIHRoYXQgZXhlY3V0ZXMgZWFjaCBvcGNvZGUuIEl0IGNhbm5vdCBiZSBzdXBwb3J0ZWQg
YnkgdGhlIENMb29wIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IHRvIGVtYmVkIHRoZQotICAgT3Bjb2Rl
SUQgd29yZCBpbiB0aGUgQ0xvb3AncyBzd2l0Y2ggc3RhdGVtZW50IGNhc2VzLiBJdCBpcyBhbHNv
IGN1cnJlbnRseSBub3QgaW1wbGVtZW50ZWQgZm9yIE1TVkMuCi0qLwotI2lmICFkZWZpbmVkKFVT
RV9MTElOVF9FTUJFRERFRF9PUENPREVfSUQpICYmICFFTkFCTEUoQ19MT09QKSAmJiAhQ09NUElM
RVIoTVNWQykgJiYgXAotICAgIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQp
IHx8IChDUFUoQVJNX1RIVU1CMikgJiYgT1MoREFSV0lOKSkpCi0jZGVmaW5lIFVTRV9MTElOVF9F
TUJFRERFRF9PUENPREVfSUQgMQotI2VuZGlmCi0KLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2lm
IEVOQUJMRShXRUJHTCkKLQotLyogVVNFX0FOR0xFPTEgdXNlcyBBTkdMRSBmb3IgdGhlIFdlYkdM
IGJhY2tlbmQuCi0gICBJdCByZXBsYWNlcyBVU0VfT1BFTkdMLCBVU0VfT1BFTkdMX0VTIGFuZCBV
U0VfRUdMLiAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSAm
JiBfX2hhc19pbmNsdWRlKDxPcGVuR0wvT3BlbkdMLmg+KSkKLSNkZWZpbmUgVVNFX09QRU5HTCAx
Ci0jZGVmaW5lIFVTRV9PUEVOR0xfRVMgMAotI2RlZmluZSBVU0VfQU5HTEUgMAotI2Vsc2UKLSNk
ZWZpbmUgVVNFX09QRU5HTCAwCi0jZGVmaW5lIFVTRV9PUEVOR0xfRVMgMQotI2RlZmluZSBVU0Vf
QU5HTEUgMAotI2VuZGlmCi0KLSNpZm5kZWYgR0xfU0lMRU5DRV9ERVBSRUNBVElPTgotI2RlZmlu
ZSBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9OIDEKLSNlbmRpZgotCi0jaWYgVVNFKE9QRU5HTCkgJiYg
IWRlZmluZWQoSEFWRV9PUEVOR0xfNCkKLSNkZWZpbmUgSEFWRV9PUEVOR0xfNCAxCi0jZW5kaWYK
LQotI2lmIFVTRShPUEVOR0xfRVMpICYmICFkZWZpbmVkKEhBVkVfT1BFTkdMX0VTXzMpCi0jZGVm
aW5lIEhBVkVfT1BFTkdMX0VTXzMgMQotI2VuZGlmCi0KLSNpZiBVU0VfQU5HTEUgJiYgKFVTRV9P
UEVOR0wgfHwgVVNFX09QRU5HTF9FUykKLSNlcnJvciBVU0VfQU5HTEUgaXMgaW5jb21wYXRpYmxl
IHdpdGggVVNFX09QRU5HTCBhbmQgVVNFX09QRU5HTF9FUwotI2VuZGlmCi0KLSNlbmRpZiAvKiBF
TkFCTEUoV0VCR0wpICovCi0jZW5kaWYgLyogUExBVEZPUk0oQ09DT0EpICovCi0KLSNpZiBFTkFC
TEUoV0VCR0wpCi0jaWYgIWRlZmluZWQoVVNFX0FOR0xFKQotI2RlZmluZSBVU0VfQU5HTEUgMAot
I2VuZGlmCi0KLSNpZiAoVVNFX0FOR0xFICYmIChVU0VfT1BFTkdMIHx8IFVTRV9PUEVOR0xfRVMg
fHwgKGRlZmluZWQoVVNFX0VHTCkgJiYgVVNFX0VHTCkpKSAmJiAhVVNFKFRFWFRVUkVfTUFQUEVS
KQotI2Vycm9yIFVTRV9BTkdMRSBpcyBpbmNvbXBhdGlibGUgd2l0aCBVU0VfT1BFTkdMLCBVU0Vf
T1BFTkdMX0VTIGFuZCBVU0VfRUdMCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgVVNFKFRFWFRVUkVf
TUFQUEVSKSAmJiBFTkFCTEUoR1JBUEhJQ1NfQ09OVEVYVF9HTCkgJiYgIWRlZmluZWQoVVNFX1RF
WFRVUkVfTUFQUEVSX0dMKQotI2RlZmluZSBVU0VfVEVYVFVSRV9NQVBQRVJfR0wgMQotI2VuZGlm
Ci0KLS8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJl
IG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAq
LwotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKLSNkZWZpbmUg
VVNFX0FDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUyAxCi0jZW5kaWYKLQotCi0vKiBGSVhNRTog
VGhlc2UgY2FsbGluZyBjb252ZW50aW9uIG1hY3JvcyBzaG91bGQgbW92ZSB0byB0aGVpciBvd24g
ZmlsZS4gVGhleSBhcmUgYXQgdGhlIGJvdHRvbSBjdXJyZW50bHkgYmVjYXVzZSB0aGV5IGRlcGVu
ZCBvbiBGZWF0dXJlRGVmaW5lcy5oICovCi0KLSNpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihNU1ZD
KQotI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwKLSNlbGlmIENQVShYODYpICYmIENP
TVBJTEVSKEdDQ19DT01QQVRJQkxFKQotI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fYXR0cmlidXRl
X18gKChmYXN0Y2FsbCkpCi0jZWxzZQotI2RlZmluZSBKU0NfSE9TVF9DQUxMCi0jZW5kaWYKLQot
I2lmIENQVShYODYpICYmIE9TKFdJTkRPV1MpCi0jZGVmaW5lIENBTExJTkdfQ09OVkVOVElPTl9J
U19TVERDQUxMIDEKLSNpZm5kZWYgQ0RFQ0wKLSNpZiBDT01QSUxFUihNU1ZDKQotI2RlZmluZSBD
REVDTCBfX2NkZWNsCi0jZWxzZQotI2RlZmluZSBDREVDTCBfX2F0dHJpYnV0ZV9fICgoX19jZGVj
bCkpCi0jZW5kaWYKLSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUgQ0FMTElOR19DT05WRU5USU9OX0lT
X1NURENBTEwgMAotI2VuZGlmCi0KLSNpZiBDUFUoWDg2KQotI2RlZmluZSBXVEZfQ09NUElMRVJf
U1VQUE9SVFNfRkFTVENBTExfQ0FMTElOR19DT05WRU5USU9OIDEKLSNpZm5kZWYgRkFTVENBTEwK
LSNpZiBDT01QSUxFUihNU1ZDKQotI2RlZmluZSBGQVNUQ0FMTCBfX2Zhc3RjYWxsCi0jZWxzZQot
I2RlZmluZSBGQVNUQ0FMTCAgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKLSNlbmRpZgotI2Vu
ZGlmCi0jZWxzZQotI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFTVENBTExfQ0FMTElO
R19DT05WRU5USU9OIDAKLSNlbmRpZgotCi0jaWYgRU5BQkxFKEpJVCkgJiYgQ0FMTElOR19DT05W
RU5USU9OX0lTX1NURENBTEwKLSNkZWZpbmUgSklUX09QRVJBVElPTiBDREVDTAotI2Vsc2UKLSNk
ZWZpbmUgSklUX09QRVJBVElPTgotI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387832</attachid>
            <date>2020-01-15 13:20:34 -0800</date>
            <delta_ts>2020-01-15 18:30:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206307-20200115132033.patch</filename>
            <type>text/plain</type>
            <size>76600</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTQ2MjgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTAxLTE1ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBQbGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQg
NTogU3BsaXQgSEFWRV8qIG1hY3JvIGRlZmluaXRpb25zIG91dCBvZiBQbGF0Zm9ybS5oIGFuZCBp
bnRvIGEgbmV3IFBsYXRmb3JtSGF2ZS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDYzMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmguCisKIDIwMjAtMDEtMTQgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAg
ICAgICAgIFBsYXRmb3JtLmggaXMgb3V0IG9mIGNvbnRyb2wgUGFydCA0OiBTcGxpdCBQTEFURk9S
TV8qIG1hY3JvIGRlZmluaXRpb25zIG91dCBvZiBQbGF0Zm9ybS5oIGFuZCBpbnRvIGEgbmV3IFBs
YXRmb3JtTGVnYWN5LmgKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gMjU0NjI2KQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDQzLDYgKzQ0Myw3IEBACiAJCTdDMTM3OTQx
MjIyMzI2QzcwMEQ3QTgyNCAvKiBBVVRIT1JTICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFVVEhPUlM7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDMTM3OTQyMjIyMzI2RDUwMEQ3QTgyNCAvKiBpZWVlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IGllZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MxMzc5NDMy
MjIzMjZENTAwRDdBODI0IC8qIFJFQURNRS5tZCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IG5ldC5kYXJpbmdmaXJlYmFsbC5tYXJrZG93bjsgcGF0aCA9
IFJFQURNRS5tZDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MzQTQ1RDAyM0NGQTg4
MzAwN0RFM0E2IC8qIFBsYXRmb3JtSGF2ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQbGF0Zm9ybUhhdmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MzRjcy
MzkxRDc4ODExOTAwNjc0RTI2IC8qIEJyaWdhbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQnJpZ2FuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzQyMzA3
MTIzQ0UyRDhBMDA2RTU0RDAgLyogUGxhdGZvcm1FbmFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1FbmFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0M0MjMwNzIyM0NFMkQ4QTAwNkU1NEQwIC8qIFBsYXRmb3JtQ1BVLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ1BVLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMTI4LDYgKzExMjksNyBAQAogCQkJCUE4NzZEQkQ3MTUxODE2RTUwMERB
REI5NSAvKiBQbGF0Zm9ybS5oICovLAogCQkJCTdDNDIzMDcyMjNDRTJEOEEwMDZFNTREMCAvKiBQ
bGF0Zm9ybUNQVS5oICovLAogCQkJCTdDNDIzMDcxMjNDRTJEOEEwMDZFNTREMCAvKiBQbGF0Zm9y
bUVuYWJsZS5oICovLAorCQkJCTdDM0E0NUQwMjNDRkE4ODMwMDdERTNBNiAvKiBQbGF0Zm9ybUhh
dmUuaCAqLywKIAkJCQk3QzQyMzA3NDIzQ0VCMTg3MDA2RTU0RDAgLyogUGxhdGZvcm1MZWdhY3ku
aCAqLywKIAkJCQk3QzQyMzA3MzIzQ0UyRDhCMDA2RTU0RDAgLyogUGxhdGZvcm1PUy5oICovLAog
CQkJCUZFMUUyQzQxMjI0MTg3QzYwMEY2QjcyOSAvKiBQbGF0Zm9ybVJlZ2lzdGVycy5jcHAgKi8s
CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjU0NjI2KQorKysgU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3Myw2ICsxNzMsNyBAQCBz
ZXQoV1RGX1BVQkxJQ19IRUFERVJTCiAgICAgUGxhdGZvcm0uaAogICAgIFBsYXRmb3JtQ1BVLmgK
ICAgICBQbGF0Zm9ybUVuYWJsZS5oCisgICAgUGxhdGZvcm1IYXZlLmgKICAgICBQbGF0Zm9ybUxl
Z2FjeS5oCiAgICAgUGxhdGZvcm1PUy5oCiAgICAgUGxhdGZvcm1SZWdpc3RlcnMuaApJbmRleDog
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCShyZXZpc2lvbiAyNTQ2MjYpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
Ni0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDEwLCAy
MDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
QEAgLTQ1LDggKzQ1LDcgQEAKICNpbmNsdWRlIDx3dGYvUGxhdGZvcm1MZWdhY3kuaD4KIAogLyog
SEFWRSgpIC0gc3BlY2lmaWMgc3lzdGVtIGZlYXR1cmVzIChoZWFkZXJzLCBmdW5jdGlvbnMgb3Ig
c2ltaWxhcikgdGhhdCBhcmUgcHJlc2VudCBvciBub3QgKi8KLSNkZWZpbmUgSEFWRShXVEZfRkVB
VFVSRSkgKGRlZmluZWQgSEFWRV8jI1dURl9GRUFUVVJFICAmJiBIQVZFXyMjV1RGX0ZFQVRVUkUp
Ci0KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm1IYXZlLmg+CiAKIC8qID09PT0gUG9saWN5IGRlY2lz
aW9uIG1hY3JvczogdGhlc2UgZGVmaW5lIHBvbGljeSBjaG9pY2VzIGZvciBhIHBhcnRpY3VsYXIg
cG9ydC4gPT09PSAqLwogCkBAIC01Niw2ICs1NSw3IEBACiAjZGVmaW5lIEVOQUJMRShXVEZfRkVB
VFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9GRUFU
VVJFKQogCiAKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogI2lmIGRlZmluZWQgX19oYXNfaW5jbHVk
ZSAmJiBfX2hhc19pbmNsdWRlKDxDb3JlRm91bmRhdGlvbi9DRlByaXYuaD4pCiAjZGVmaW5lIFVT
RV9BUFBMRV9JTlRFUk5BTF9TREsgMQpAQCAtNzcsMTcgKzc3LDYgQEAKICNkZWZpbmUgVVNFX0FS
RU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKICNlbmRpZgogCi0jaWYgQ1BVKEFSTV9ORU9O
KQotLyogQWxsIE5FT04gaW50cmluc2ljcyB1c2FnZSBjYW4gYmUgZGlzYWJsZWQgYnkgdGhpcyBt
YWNyby4gKi8KLSNkZWZpbmUgSEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNTIDEKLSNlbmRpZgotCi0v
KiBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byBXVEZfQ1BVX0FSTV9JRElWX0lOU1RS
VUNUSU9OUyBhbmQgbW92ZWQgdG8gQ1BVLmggKi8KLSNpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfRVhU
X0lESVZfXykgfHwgQ1BVKEFQUExFX0FSTVY3UykKLSNkZWZpbmUgSEFWRV9BUk1fSURJVl9JTlNU
UlVDVElPTlMgMQotI2VuZGlmCi0KLQogCiAvKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCiAK
QEAgLTExOCwxMCArMTA3LDYgQEAKICNlbmRpZgogCiAvKiBTdGFuZGFyZCBsaWJyYXJpZXMgKi8K
LSNpZiBkZWZpbmVkKEhBVkVfRkVBVFVSRVNfSCkgJiYgSEFWRV9GRUFUVVJFU19ICi0vKiBJZiB0
aGUgaW5jbHVkZWQgZmVhdHVyZXMuaCBpcyBnbGliYydzIG9uZSwgX19HTElCQ19fIGlzIGRlZmlu
ZWQuICovCi0jaW5jbHVkZSA8ZmVhdHVyZXMuaD4KLSNlbmRpZgogCiAvKiBGSVhNRTogQVNTRVJU
X0VOQUJMRUQgc2hvdWxkIGRlZmluZWQgaW4gZGlmZmVyZW50LCBwZXJoYXBzIGl0cyBvd24sIGZp
bGUuICovCiAvKiBBU1NFUlRfRU5BQkxFRCBzaG91bGQgYmUgdHJ1ZSBpZiB3ZSB3YW50IHRoZSBj
dXJyZW50IGNvbXBpbGF0aW9uIHVuaXQgdG8KQEAgLTE4NSwxMCArMTcwLDYgQEAKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVfT1VUX09GX1BST0NFU1NfTEFZRVJf
SE9TVElORyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBVU0VfQ0Yg
MQogI2VuZGlmCiAKQEAgLTIxNCwxOCArMTk1LDYgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
TUFDKQotI2RlZmluZSBIQVZFX1JVTkxPT1BfVElNRVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShNQUMpCi0jZGVmaW5lIEhBVkVfU0VDX0tFWUNIQUlOIDEKLSNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oTUFDKQotI2RlZmluZSBIQVZFX0hJU0VSVklDRVMgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShNQUMpCiAjZGVmaW5lIFVTRV9BUFBLSVQgMQogI2VuZGlmCiAKQEAgLTIzNCwyMiArMjAzLDEw
IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgSEFWRV9ORVRXT1JLX0VY
VEVOU0lPTiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKICNkZWZpbmUgVVNFX1BMVUdJ
Tl9IT1NUX1BST0NFU1MgMQogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2Rl
ZmluZSBIQVZFX05FVFdPUktfRVhURU5TSU9OIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSNkZWZpbmUgSEFWRV9SRUFETElORSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiAjZGVmaW5lIFVTRV9VSUtJVF9FRElUSU5HIDEKICNlbmRpZgogCkBAIC0y
NTcsMTg4ICsyMTQsMTggQEAKICNkZWZpbmUgVVNFX1dFQl9USFJFQUQgMQogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBDUFUoQVJNX05FT04pCi0jdW5kZWYgSEFWRV9BUk1f
TkVPTl9JTlRSSU5TSUNTCi0jZGVmaW5lIEhBVkVfQVJNX05FT05fSU5UUklOU0lDUyAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEhBVkVfUERGSE9TVFZJRVdDT05UUk9MTEVSX1NOQVBTSE9UVElO
RykgJiYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBIQVZFX1BERkhPU1RWSUVXQ09OVFJPTExFUl9T
TkFQU0hPVFRJTkcgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1ZJU0lCSUxJVFlfUFJP
UEFHQVRJT05fVklFVykgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNkZWZpbmUgSEFWRV9WSVNJ
QklMSVRZX1BST1BBR0FUSU9OX1ZJRVcgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChIQVZFX1VJ
U0NFTkUpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVmaW5lIEhBVkVfVUlTQ0VORSAxCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEhBVkVfQVZTVFJFQU1TRVNTSU9OKSAmJiBQTEFURk9STShN
QUMpCi0jZGVmaW5lIEhBVkVfQVZTVFJFQU1TRVNTSU9OIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoSEFWRV9QQVNTS0lUX0FQSV9UWVBFKSAmJiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExB
VEZPUk0oTUFDKSkKLSNkZWZpbmUgSEFWRV9QQVNTS0lUX0FQSV9UWVBFIDEKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKSAmJiAo
UExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTQwMCkpCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZB
Q0VfSURFTlRJRklFUiAxCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKFVTRV9VSUtJVF9LRVlCT0FS
RF9BRERJVElPTlMpICYmIChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkK
ICNkZWZpbmUgVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUyAxCiAjZW5kaWYKIAotCi0jaWYg
IWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAmJiAoUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRG
T1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKQotI2RlZmluZSBIQVZF
X0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0KLS8qIEZJWE1FOiBSZW1vdmUgYWZ0ZXIgQ01ha2Ug
YnVpbGQgZW5hYmxlZCBvbiBEYXJ3aW4gKi8KLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIEhBVkVf
RVJSTk9fSCAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9MQU5HSU5G
T19IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S
IDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX01NQVAgMQotI2VuZGlm
Ci0KLSNpZiBPUyhEQVJXSU4pCi0jZGVmaW5lIEhBVkVfUkVHRVhfSCAxCi0jZW5kaWYKLQotI2lm
IE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCi0jZW5kaWYKLQotI2lmIE9TKERB
UldJTikKLSNkZWZpbmUgSEFWRV9TVEFUX0JJUlRIVElNRSAxCi0jZW5kaWYKLQotI2lmIE9TKERB
UldJTikKLSNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4p
Ci0jZGVmaW5lIEhBVkVfU1RSTlNUUiAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZp
bmUgSEFWRV9TWVNfUEFSQU1fSCAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUg
SEFWRV9TWVNfVElNRV9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZF
X1RNX0dNVE9GRiAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9UTV9a
T05FIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX1RJTUVHTSAxCi0j
ZW5kaWYKLQotI2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9QVEhSRUFEX01BSU5fTlAgMQot
I2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pICYmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKQot
I2RlZmluZSBIQVZFX0lOVDEyOF9UIDEKLSNlbmRpZgotCiAjaWYgT1MoVU5JWCkKICNkZWZpbmUg
VVNFX1BUSFJFQURTIDEKICNlbmRpZgogCi0jaWYgT1MoVU5JWCkgJiYgIU9TKEZVQ0hTSUEpCi0j
ZGVmaW5lIEhBVkVfUkVTT1VSQ0VfSCAxCi0jZW5kaWYKLQotI2lmIE9TKFVOSVgpICYmICFPUyhG
VUNIU0lBKQotI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUU0NIRURQQVJBTSAxCi0jZW5kaWYKLQot
I2lmIE9TKERBUldJTikKLSNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKLSNlbmRpZgotCi0jaWYg
T1MoREFSV0lOKQotI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCi0jZW5kaWYKLQotI2lmIE9TKERB
UldJTikKLSNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQotI2VuZGlmCi0KLSNpZiBPUyhE
QVJXSU4pCi0jZGVmaW5lIEhBVkVfTUFEVl9ET05UTkVFRCAxCi0jZW5kaWYKLQotI2lmIE9TKERB
UldJTikKLSNkZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4p
Ci0jZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKLSNlbmRpZgotCi0jaWYgT1MoREFS
V0lOKQotI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQot
I2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2Rl
ZmluZSBIQVZFX0FVRElUX1RPS0VOIDEKLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKSAmJiBfX2hh
c19pbmNsdWRlKDxtYWNoL21hY2hfZXhjLmRlZnM+KSAmJiAhUExBVEZPUk0oR1RLKQotI2RlZmlu
ZSBIQVZFX01BQ0hfRVhDRVBUSU9OUyAxCi0jZW5kaWYKLQogI2lmIE9TKERBUldJTikgJiYgIVBM
QVRGT1JNKEdUSykKICNkZWZpbmUgVVNFX0FDQ0VMRVJBVEUgMQogI2VuZGlmCiAKLSNpZiBPUyhE
QVJXSU4pICYmICFQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0hPU1RFRF9DT1JF
X0FOSU1BVElPTiAxCi0jZW5kaWYKLQotCi0jaWYgT1MoREFSV0lOKSB8fCBPUyhGVUNIU0lBKSB8
fCAoKE9TKEZSRUVCU0QpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklD
X18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0
KSB8fCBDUFUoTUlQUykpKQotI2RlZmluZSBIQVZFX01BQ0hJTkVfQ09OVEVYVCAxCi0jZW5kaWYK
LQotI2lmIE9TKERBUldJTikgfHwgKE9TKExJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykgJiYg
IWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIUNQVShNSVBTKSkKLSNkZWZpbmUgSEFWRV9CQUNLVFJB
Q0UgMQotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQotI2lmIFBMQVRGT1JN
KEdUSykKLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYg
IUNQVShNSVBTKQotI2RlZmluZSBIQVZFX0JBQ0tUUkFDRV9TWU1CT0xTIDEKLSNlbmRpZgotI2Vu
ZGlmIC8qIFBMQVRGT1JNKEdUSykgKi8KLSNkZWZpbmUgSEFWRV9ETEFERFIgMQotI2VuZGlmIC8q
IE9TKERBUldJTikgfHwgT1MoTElOVVgpICovCi0KLQogI2lmIE9TKFdJTkRPV1MpCiAjZGVmaW5l
IFVTRV9TWVNURU1fTUFMTE9DIDEKICNlbmRpZgpAQCAtNDUxLDI4ICsyMzgsMTIgQEAKICNlbmRp
ZgogI2VuZGlmIC8qICFkZWZpbmVkKFVTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFVTRV9KU1ZB
TFVFMzJfNjQpICovCiAKLSNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVw
Lmg+KQotI2RlZmluZSBIQVZFX0ZBU1RfVExTIDEKLSNlbmRpZgotCi0jaWYgQ09NUElMRVIoR0ND
X0NPTVBBVElCTEUpCi0jZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCi0jZW5kaWYKLQogLyog
RklYTUU6IFRoaXMgbmFtZSBzaG91bGQgYmUgbW9yZSBzcGVjaWZpYyBpZiBpdCBpcyBvbmx5IGZv
ciB1c2Ugd2l0aCBDYWxsRnJhbWUqICovCiAvKiBVc2UgX19idWlsdGluX2ZyYW1lX2FkZHJlc3Mo
MSkgdG8gZ2V0IENhbGxGcmFtZSogKi8KICNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYg
KENQVShBUk02NCkgfHwgQ1BVKFg4Nl82NCkpCiAjZGVmaW5lIFVTRV9CVUlMVElOX0ZSQU1FX0FE
RFJFU1MgMQogI2VuZGlmCiAKLSNpZiBDUFUoQVJNNjRFKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5l
IEhBVkVfRkpDVlRaU19JTlNUUlVDVElPTiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykK
LSNkZWZpbmUgSEFWRV9BUFBfTElOS1MgMQotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1MpCiAj
ZGVmaW5lIFVTRV9QQVNTS0lUIDEKICNlbmRpZgpAQCAtNDg1LDE4ICsyNTYsNiBAQAogI2RlZmlu
ZSBVU0VfU1lTVEVNX1BSRVZJRVcgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCi0jZGVmaW5lIEhBVkVfQ0VMRVNUSUFMIDEKLSNl
bmRpZgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNU
KQotI2RlZmluZSBIQVZFX0NPUkVfQU5JTUFUSU9OX1JFTkRFUl9TRVJWRVIgMQotI2VuZGlmCi0K
LSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQ
TEFURk9STShBUFBMRVRWKQotI2RlZmluZSBIQVZFX1BBUkVOVEFMX0NPTlRST0xTX1dJVEhfVU5C
TE9DS19IQU5ETEVSIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIFVT
RV9BVkZPVU5EQVRJT04gMQogI2VuZGlmCkBAIC01MDUsMjAgKzI2NCwxMCBAQAogI2RlZmluZSBV
U0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEKICNlbmRpZgogCi0vKiBGSVhNRTog
RW5hYmxlIEhBVkVfUEFSRU5UQUxfQ09OVFJPTFMgZm9yIHdhdGNoT1MgU2ltdWxhdG9yIG9uY2Ug
cmRhcjovL3Byb2JsZW0vNTQ2MDgzODYgaXMgcmVzb2x2ZWQgKi8KLSNpZiBQTEFURk9STShDT0NP
QSkgJiYgKCFQTEFURk9STShBUFBMRVRWKSAmJiAoIVBMQVRGT1JNKFdBVENIT1MpIHx8ICFQTEFU
Rk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikpKQotI2RlZmluZSBIQVZFX1BBUkVOVEFMX0NPTlRS
T0xTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShBUFBMRVRW
KQotI2RlZmluZSBIQVZFX0FWS0lUIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAj
ZGVmaW5lIFVTRV9NRVRBTCAxCiAjZW5kaWYKIAotCiAjaWYgVVNFKEdMSUIpCiAjaW5jbHVkZSA8
d3RmL2dsaWIvR1R5cGVkZWZzLmg+CiAjZW5kaWYKQEAgLTU0Myw0NiArMjkyLDEwIEBACiAjZGVm
aW5lIFVTRV9WSURFT1RPT0xCT1ggMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNk
ZWZpbmUgSEFWRV9BVkZPVU5EQVRJT05fVklERU9fT1VUUFVUIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVfQ09SRV9WSURFTyAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX01FRElBX1BMQVlFUiAxCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX0FWRk9VTkRBVElPTl9NRURJQV9TRUxFQ1RJ
T05fR1JPVVAgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgSEFWRV9B
VkZPVU5EQVRJT05fTEVHSUJMRV9PVVRQVVRfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKENPQ09BKQotI2RlZmluZSBIQVZFX01FRElBX0FDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9O
X0xPQURFUl9ERUxFR0FURSAxCi0jZW5kaWYKLQogI2lmICFQTEFURk9STShXSU4pCiAjZGVmaW5l
IFVTRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IgMQogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotI2RlZmluZSBIQVZF
X0FQUExFX0dSQVBISUNTX0NPTlRST0wgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotI2RlZmluZSBIQVZFX05TQ1VSU09SIDEKLSNlbmRpZgot
CiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBVU0VfQ09SRUFVRElPIDEKICNlbmRpZgpAQCAt
NTkxLDE0ICszMDQsNiBAQAogI2RlZmluZSBVU0VfWkxJQiAxCiAjZW5kaWYKIAotI2lmICFkZWZp
bmVkKEhBVkVfUU9TX0NMQVNTRVMpICYmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX1FP
U19DTEFTU0VTIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSEFWRV9WT1VDSEVSUykgJiYgUExB
VEZPUk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVfVk9VQ0hFUlMgMQotI2VuZGlmCi0KICNkZWZpbmUg
VVNFX0dSQU1NQVJfQ0hFQ0tJTkcgMQogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JN
KEdUSykKQEAgLTYyNCwyNSArMzI5LDkgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
Ci0jZGVmaW5lIEhBVkVfQVZBU1NFVFJFQURFUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENP
Q09BKQogI2RlZmluZSBVU0VfQVVESU9fU0VTU0lPTiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKQotI2RlZmluZSBIQVZFX0lPU1VSRkFDRSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikKLSNkZWZpbmUg
SEFWRV9JT1NVUkZBQ0VfQ09SRUlNQUdFX1NVUFBPUlQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmICFQTEFU
Rk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfQUNDRUxFUkFUT1IgMQot
I2VuZGlmCi0KICNpZiBDT01QSUxFUihNU1ZDKQogI3VuZGVmIF9fU1REQ19GT1JNQVRfTUFDUk9T
CiAjZGVmaW5lIF9fU1REQ19GT1JNQVRfTUFDUk9TCkBAIC02NTAsMTIgKzMzOSw3IEBACiAjZGVm
aW5lIF9fU1REQ19MSU1JVF9NQUNST1MKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQotI2Rl
ZmluZSBIQVZFX05TX0FDVElWSVRZIDEKLSNlbmRpZgotCi0KLS8qIFNldCBUQVJHRVRfT1NfSVBI
T05FIHRvIDAgYnkgZGVmYXVsdCB0byBhbGxvdyB1c2luZyBpdCBhcyBhIGd1YXJkIAorLyogU2V0
IFRBUkdFVF9PU19JUEhPTkUgdG8gMCBieSBkZWZhdWx0IHRvIGFsbG93IHVzaW5nIGl0IGFzIGEg
Z3VhcmQKICAqIGluIGNyb3NzLXBsYXRmb3JtIHRoZSBzYW1lIHdheSBhcyBpdCBpcyB1c2VkIGlu
IE9TKERBUldJTikgY29kZS4gKi8gCiAjaWYgIWRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgJiYg
IU9TKERBUldJTikKICNkZWZpbmUgVEFSR0VUX09TX0lQSE9ORSAwCkBAIC02NzMsMTAgKzM1Nyw2
IEBACiAjZGVmaW5lIFVTRV9PU19TVEFURSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09B
KQotI2RlZmluZSBIQVZFX1NFQ19UUlVTVF9TRVJJQUxJWkFUSU9OIDEKLSNlbmRpZgotCiAjaWYg
IWRlZmluZWQoV1RGX0RFRkFVTFRfRVZFTlRfTE9PUCkKICNkZWZpbmUgV1RGX0RFRkFVTFRfRVZF
TlRfTE9PUCAxCiAjZW5kaWYKQEAgLTcxMSwyODIgKzM5MSw0NCBAQAogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShNQUMpCi0jZGVmaW5lIEhBVkVfVE9VQ0hfQkFSIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKQogI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAjZW5kaWYK
IAotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKSB8fCBVU0UoR0NSWVBUKQotI2RlZmluZSBIQVZFX1JTQV9QU1MgMQotI2VuZGlmCi0K
ICNpZiAoUExBVEZPUk0oTUFDKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICNkZWZpbmUgVVNFX1NPVVJDRV9BUFBMSUNBVElPTl9BVURJVF9EQVRBIDEKICNlbmRpZgog
Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDE1MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMzAwMDApCi0jZGVmaW5lIEhBVkVfSFNUU19TVE9SQUdFX1BBVEgg
MQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkKLSNkZWZpbmUgSEFWRV9VUkxfRk9STUFUVElORyAxCi0jZW5kaWYKLQotI2lmICFPUyhX
SU5ET1dTKQotI2RlZmluZSBIQVZFX1NUQUNLX0JPVU5EU19GT1JfTkVXX1RIUkVBRCAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUND
QVRBTFlTVCkKLSNkZWZpbmUgSEFWRV9BVkNPTlRFTlRLRVlTRVNTSU9OIDEKLSNlbmRpZgotCi0j
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE0MDApIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCi0jZGVmaW5l
IEhBVkVfU0VDX0tFWV9QUk9YWSAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBV
U0UoQ0EpCiAjZGVmaW5lIFVTRV9JT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUgMQogI2Vu
ZGlmCiAKLS8qIEZJWE1FOiBTaG91bGQgdGhpcyBiZSBlbmFibGVkIG9yIElPU19GQU1JTFksIG5v
dCBqdXN0IElPUz8gKi8KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TKQotI2RlZmluZSBIQVZFX0ZP
VU5EQVRJT05fV0lUSF9TQVZFX0NPT0tJRVNfV0lUSF9DT01QTEVUSU9OX0hBTkRMRVIgMQotI2Vu
ZGlmCi0KLS8qIEZJWE1FOiBTaG91bGQgdGhpcyBiZSBlbmFibGVkIGZvciBJT1NfRkFNSUxZLCBu
b3QganVzdCBJT1M/ICovCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPUykKLSNkZWZpbmUgSEFWRV9G
T1VOREFUSU9OX1dJVEhfU0FNRV9TSVRFX0NPT0tJRV9TVVBQT1JUIDEKLSNlbmRpZgotCi0jaWYg
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE0MDAK
LSNkZWZpbmUgSEFWRV9OU0hUVFBDT09LSUVTVE9SQUdFX19JTklUV0lUSElERU5USUZJRVJfV0lU
SF9JTkFDQ1VSQVRFX05VTExBQklMSVRZIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0Ep
Ci0jZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX1dJVEhfQ09OVEVOVF9FTkNPRElOR19TTklGRklOR19P
VkVSUklERSAxCiAvKiBUaGUgb3ZlcnJpZGUgaXNuJ3QgbmVlZGVkIG9uIGlPUyBmYW1pbHksIGFz
IHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIG5vdCBzbmlmZi4gKi8KIC8qIEZJWE1FOiBUaGlz
IHNob3VsZCBwcm9iYWJseSBiZSBlbmFibGVkIG9uIDEwLjEzLjIgYW5kIG5ld2VyLCBub3QganVz
dCAxMC4xNCBhbmQgbmV3ZXIuICovCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMAogI2RlZmluZSBVU0VfQ0ZORVRXT1JLX0NPTlRF
TlRfRU5DT0RJTkdfU05JRkZJTkdfT1ZFUlJJREUgMQogI2VuZGlmCi0jZW5kaWYKLQotI2lmIChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAw
KSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShHVEspCi0jZGVmaW5lIEhBVkVfT1NfREFSS19N
T0RFX1NVUFBPUlQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCi0jZGVmaW5lIEhBVkVfQ0dfRk9OVF9SRU5E
RVJJTkdfR0VUX0ZPTlRfU01PT1RISU5HX0RJU0FCTEVEIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8
IFBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVmaW5lIEhBVkVfQ0FfV0hFUkVfQURESVRJVkVfVFJB
TlNGT1JNU19BUkVfUkVWRVJTRUQgMQotI2VuZGlmCi0KLSNpZmRlZiBfX0FQUExFX18KLSNkZWZp
bmUgSEFWRV9GVU5DX1VTTEVFUCAxCi0jZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oV1BFKQogLyogRklYTUU6IFRoaXMgcmVhbGx5IG5lZWRzIGEgZGVzY3JpcHRpdmUgbmFt
ZSwgdGhpcyAibmV3IHRoZW1lIiB3YXMgYWRkZWQgaW4gMjAwOC4gKi8KICNkZWZpbmUgVVNFX05F
V19USEVNRSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgSEFWRV9XSU5E
T1dfU0VSVkVSX09DQ0xVU0lPTl9OT1RJRklDQVRJT05TIDEKLSNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oQ09DT0EpCi0jZGVmaW5lIEhBVkVfU0VDX0FDQ0VTU19DT05UUk9MIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oSU9TKQotLyogRklYTUU6IFNhZmFyaVNlcnZpY2VzLmZyYW1ld29yayBleGlz
dHMgb24gbWFjT1MuIEl0IGlzIG9ubHkgdXNlZCBieSBXZWJLaXQgb24gaU9TLCBzbyB0aGUgYmVo
YXZpb3IgaXMgY29ycmVjdCwgYnV0IHRoZSBuYW1lIGlzIG1pc2xlYWRpbmcuICovCi0jZGVmaW5l
IEhBVkVfU0FGQVJJX1NFUlZJQ0VTX0ZSQU1FV09SSyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShXQVRDSE9TKQotI2RlZmluZSBIQVZF
X1NBRkVfQlJPV1NJTkcgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIEhB
VkVfTElOS19QUkVWSUVXIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKElPU19GQU1JTFkpIHx8
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwKSkKLSNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZX1NVUFBPUlQgMQotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMzAwMDAgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMzAxMDAK
LSNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZX0JVTkRMRVNfUEFUSCAxCi0jZW5kaWYKLQotI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKQotI2RlZmluZSBIQVZFX0FVVEhPUklaQVRJT05f
U1RBVFVTX0ZPUl9NRURJQV9UWVBFIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYg
KF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDQpKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDAgJiYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NQVhfQUxMT1dFRCA+PSAxMjAyMDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRG
T1JNKEFQUExFVFYpCi0jZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX09WRVJSSURFX1NFU1NJT05fQ09P
S0lFX0FDQ0VQVF9QT0xJQ1kgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19G
QU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLSNk
ZWZpbmUgSEFWRV9DRk5FVFdPUktfTlNVUkxTRVNTSU9OX1NUUklDVFJVU1RFVkFMVUFURSAxCi0j
ZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0NG
TkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NPTF9DSVBIRVIgMQotI2VuZGlmCi0KLSNpZiAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTYw
MCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDE0MDAwMCkKLSNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTUVUUklDU19BUElTX1Y0
IDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTUwMAotI2RlZmluZSBIQVZFX0NTQ0hFQ0tGSVhESVNBQkxFIDEKLSNl
bmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVmaW5lIEhBVkVfU0FO
REJPWF9JU1NVRV9NQUNIX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX0FVRElUX1RPS0VOIDEKLSNl
bmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVmaW5lIEhBVkVfU0FO
REJPWF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX0FVRElUX1RPS0VOIDEKLSNl
bmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApCi0jZGVmaW5lIEhBVkVfTUROU19GQVNUX1JF
R0lTVFJBVElPTiAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQot
I2RlZmluZSBIQVZFX0RJU0FMTE9XQUJMRV9VU0VSX0lOU1RBTExFRF9GT05UUyAxCi0jZW5kaWYK
LQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQotI2RlZmluZSBIQVZFX0NURk9OVENSRUFURUZPUkNI
QVJBQ1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJT04gMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBM
QVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEzMDAwMCkKLSNkZWZpbmUgSEFWRV9DVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0Ug
MQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAKLSNkZWZpbmUgSEFWRV9BUktJVF9RVUlDS19MT09L
X1BSRVZJRVdfSVRFTSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMAotI2RlZmluZSBIQVZFX1VJ
X1dLX0RPQ1VNRU5UX0NPTlRFWFQgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUNDQVRBTFlT
VCkKLSNkZWZpbmUgSEFWRV9IT1ZFUl9HRVNUVVJFX1JFQ09HTklaRVIgMQotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgSEFWRV9VSV9QQVJBTExBWF9UUkFOU0lU
SU9OX0dFU1RVUkVfUkVDT0dOSVpFUiAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJ
T1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0FMTE9XU19TRU5TSVRJVkVfTE9HR0lORyAxCi0jZW5k
aWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0ZBSVJQ
TEFZU1RSRUFNSU5HX0NFTkNfSU5JVERBVEEgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oSU9T
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIHx8IFBMQVRG
T1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCi0jZGVmaW5lIEhBVkVfVUlfU0NST0xM
X1ZJRVdfSU5ESUNBVE9SX0ZMQVNISU5HX1NQSSAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExB
VEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikKLSNkZWZpbmUgSEFWRV9BUFBfTElO
S1NfV0lUSF9JU0VOQUJMRUQgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApCi0jZGVmaW5lIEhBVkVfUk9V
VEVfU0hBUklOR19QT0xJQ1lfTE9OR19GT1JNX1ZJREVPIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRG
T1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwICYm
ICFQTEFURk9STShJT1NfU0lNVUxBVE9SKSkKLSNkZWZpbmUgSEFWRV9ERVZJQ0VfTUFOQUdFTUVO
VCAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEIDwgMTAxNTAwCiAjZGVmaW5lIFVTRV9SRUFMUEFUSF9GT1JfRExPUEVOX1BSRUZM
SUdIVCAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19J
UEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShXQVRD
SE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQotI2RlZmluZSBIQVZFX05TVVJMU0VTU0lPTl9XRUJT
T0NLRVQgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8
fCBQTEFURk9STShBUFBMRVRWKQotI2RlZmluZSBIQVZFX0FWUExBWUVSX1JFU09VUkNFX0NPTlNF
UlZBVElPTl9MRVZFTCAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApIHx8IFBMQVRGT1JNKFdB
VENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCi0jZGVmaW5lIEhBVkVfQ09SRVRFWFRfQVVUT19P
UFRJQ0FMX1NJWklORyAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8IChQTEFURk9STShJT1MpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTMwMDAwKQotI2RlZmluZSBIQVZFX05T
Rk9OVF9XSVRIX09QVElDQUxfU0laSU5HX0JVRyAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShJ
T1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwKSkKLSNkZWZpbmUgSEFWRV9BUFBfU1NPIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRG
T1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwIHx8
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1
MDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpIHx8IFBMQVRGT1JN
KE1BQ0NBVEFMWVNUKQotI2RlZmluZSBIQVZFX1RMU19QUk9UT0NPTF9WRVJTSU9OX1QgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQ
TEFURk9STShBUFBMRVRWKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgSEFWRV9T
RUNfVFJVU1RfRVZBTFVBVEVfV0lUSF9FUlJPUiAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElP
UykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIFVTRV9VSUNPTlRFWFRNRU5VIDEK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTUwMAotI2RlZmluZSBIQVZFX1NVQlZJRVdTX0lWQVJfU1BJIDEKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQg
PCAxMDE1MDAKLSNkZWZpbmUgSEFWRV9TVUJWSUVXU19JVkFSX0RFQ0xBUkVEX0JZX1NESyAxCi0j
ZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkgfHwgUExBVEZPUk0oV0FU
Q0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgVVNFX1BMQVRGT1JNX1NZU1RFTV9G
QUxMQkFDS19MSVNUIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNTAwCi0jZGVmaW5lIEhBVkVfQVhfQ0xJRU5UX1RZ
UEUgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQ
TEFURk9STShBUFBMRVRWKQotI2RlZmluZSBIQVZFX0RFU0lHTl9TWVNURU1fVUlfRk9OVFMgMQot
I2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKElPU19TSU1V
TEFUT1IpKQotI2RlZmluZSBIQVZFX0RFVklDRV9JREVOVElUWSAxCi0jZW5kaWYKLQotI2lmIChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAw
KSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBIQVZFX0RBVEFfUFJPVEVDVElPTl9L
RVlDSEFJTiAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYg
IVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSkKLSNkZWZpbmUgSEFWRV9ORUFSX0ZJRUxE
IDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKCEoZGVmaW5lZChVU0Vf
U1lTVEVNX01BTExPQykgJiYgVVNFX1NZU1RFTV9NQUxMT0MpICYmIChPUyhMSU5VWCkgJiYgKFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSkpKQogI2RlZmluZSBVU0VfQk1BTExPQ19NRU1P
UllfRk9PVFBSSU5UX0FQSSAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFN
SUxZKQotI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKLSNlbmRpZgogCiAKIApAQCAtMTAwOCw3
ICs0NTAsMTIgQEAKIAogCiAKLS8qIEZJWE1FOiBUaGUgZm9sbG93aW5nIGFyZSBjdXJyZW5seSBw
b3NpdGlvbmVkIGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGFzIHRoZXkgYXJlIGN1cnJlbnRs
eSBkZXBlbmRlbnQgb24gRU5BQkxFIG1hY3Jvcy4gKi8KKy8qIEZJWE1FOiBUaGUgZm9sbG93aW5n
IGFyZSBjdXJyZW5seSBwb3NpdGlvbmVkIGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGFzIHRo
ZXkgYXJlIGN1cnJlbnRseSBkZXBlbmRlbnQgb24gRU5BQkxFIG9yIFVTRSBtYWNyb3MuICovCisK
Ky8qIEZJWE1FOiBUaGUgYXZhaWxhYmlsaXR5IG9mIFJTQV9QU1Mgc2hvdWxkIG5vdCBkZXBlbmQg
b24gdGhlIHBvbGljeSBkZWNpc2lvbiB0byBVU0UoR0NSWVBUKS4gKi8KKyNpZiBQTEFURk9STShN
QUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpIHx8IFVTRShHQ1JZ
UFQpCisjZGVmaW5lIEhBVkVfUlNBX1BTUyAxCisjZW5kaWYKIAogLyogRklYTUU6IFJlbW92ZSBk
ZXBlbmRlbmNlIG9uIEVOQUJMRShXRUJfUlRDKS4gKi8KICNpZiBQTEFURk9STShDT0NPQSkgJiYg
RU5BQkxFKFdFQl9SVEMpCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAkocmV2aXNpb24gMjU0NjI2
KQkoZnJvbSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oOjI1NDYyNikKKysrIFNvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEyMyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29w
eXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworLyogSW5jbHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8K
KyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKworLyogPT09PSBQbGF0Zm9ybSBhZGFwdGF0aW9u
IG1hY3JvczogdGhlc2UgZGVzY3JpYmUgcHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IGVudmlyb25t
ZW50LiA9PT09ICovCisKKy8qIENQVSgpIC0gdGhlIHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlICov
CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtQ1BVLmg+CisKKy8qIE9TKCkgLSB1bmRlcmx5aW5nIG9w
ZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNl
cnZpY2VzIGxpa2UKKyAgIHZpcnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xr
aXQgKi8KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm1PUy5oPgorCisvKiBQTEFURk9STSgpIC0gaGFu
ZGxlcyBPUywgb3BlcmF0aW5nIGVudmlyb25tZW50LCBncmFwaGljcyBBUEksIGFuZAorICAgQ1BV
LiBUaGlzIG1hY3JvIHdpbGwgYmUgcGhhc2VkIG91dCBpbiBmYXZvciBvZiBwbGF0Zm9ybSBhZGFw
dGF0aW9uCisgICBtYWNyb3MsIHBvbGljeSBkZWNpc2lvbiBtYWNyb3MsIGFuZCB0b3AtbGV2ZWwg
cG9ydCBkZWZpbml0aW9ucy4gKi8KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm1MZWdhY3kuaD4KKwor
LyogSEFWRSgpIC0gc3BlY2lmaWMgc3lzdGVtIGZlYXR1cmVzIChoZWFkZXJzLCBmdW5jdGlvbnMg
b3Igc2ltaWxhcikgdGhhdCBhcmUgcHJlc2VudCBvciBub3QgKi8KKyNkZWZpbmUgSEFWRShXVEZf
RkVBVFVSRSkgKGRlZmluZWQgSEFWRV8jI1dURl9GRUFUVVJFICAmJiBIQVZFXyMjV1RGX0ZFQVRV
UkUpCisKKworLyogPT09PSBQb2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVzZSBkZWZpbmUgcG9s
aWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxhciBwb3J0LiA9PT09ICovCisKKy8qIFVTRSgpIC0g
dXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlvbmFsIE9TIHNlcnZp
Y2UgKi8KKyNkZWZpbmUgVVNFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBVU0VfIyNXVEZfRkVBVFVS
RSAgJiYgVVNFXyMjV1RGX0ZFQVRVUkUpCisvKiBFTkFCTEUoKSAtIHR1cm4gb24gYSBzcGVjaWZp
YyBmZWF0dXJlIG9mIFdlYktpdCAqLworI2RlZmluZSBFTkFCTEUoV1RGX0ZFQVRVUkUpIChkZWZp
bmVkIEVOQUJMRV8jI1dURl9GRUFUVVJFICAmJiBFTkFCTEVfIyNXVEZfRkVBVFVSRSkKKworCisj
aWYgUExBVEZPUk0oQ09DT0EpCisjaWYgZGVmaW5lZCBfX2hhc19pbmNsdWRlICYmIF9faGFzX2lu
Y2x1ZGUoPENvcmVGb3VuZGF0aW9uL0NGUHJpdi5oPikKKyNkZWZpbmUgVVNFX0FQUExFX0lOVEVS
TkFMX1NESyAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBNSVBTIHJlcXVpcmVzIGFsbG9jYXRvcnMg
dG8gdXNlIGFsaWduZWQgbWVtb3J5ICovCisjaWYgQ1BVKE1JUFMpIHx8IENQVShNSVBTNjQpCisj
ZGVmaW5lIFVTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjZW5kaWYKKworLypB
Uk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNpZiBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQorI2RlZmluZSBVU0VfQVJFTkFfQUxMT0NfQUxJR05N
RU5UX0lOVEVHRVIgMQorI2VuZGlmCisKKy8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRv
IHVzZSBhbGlnbmVkIG1lbW9yeSovCisjaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVFKSB8fCBk
ZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikK
KyNkZWZpbmUgVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNlbmRpZgorCisj
aWYgQ1BVKEFSTV9ORU9OKQorLyogQWxsIE5FT04gaW50cmluc2ljcyB1c2FnZSBjYW4gYmUgZGlz
YWJsZWQgYnkgdGhpcyBtYWNyby4gKi8KKyNkZWZpbmUgSEFWRV9BUk1fTkVPTl9JTlRSSU5TSUNT
IDEKKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byBXVEZfQ1BV
X0FSTV9JRElWX0lOU1RSVUNUSU9OUyBhbmQgbW92ZWQgdG8gQ1BVLmggKi8KKyNpZiBkZWZpbmVk
KF9fQVJNX0FSQ0hfRVhUX0lESVZfXykgfHwgQ1BVKEFQUExFX0FSTVY3UykKKyNkZWZpbmUgSEFW
RV9BUk1fSURJVl9JTlNUUlVDVElPTlMgMQorI2VuZGlmCisKKworCisvKiBPcGVyYXRpbmcgZW52
aXJvbm1lbnRzICovCisKKworLyogRklYTUU6IFJlbmFtZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERS
RVNTX1dJRFRIIHRvIFdURl9PU19FRkZFQ1RJVkVfQUREUkVTU19XSURUSCwgYXMgaXQgaXMgYW4g
T1MgZmVhdHVyZSwgbm90IGEgQ1BVIGZlYXR1cmUuICovCisjaWYgQ1BVKEFERFJFU1M2NCkKKyNp
ZiBPUyhEQVJXSU4pICYmIENQVShBUk02NCkKKyNkZWZpbmUgV1RGX0NQVV9FRkZFQ1RJVkVfQURE
UkVTU19XSURUSCAzNgorI2Vsc2UKKy8qIFdlIHN0cm9uZ2x5IGFzc3VtZSB0aGF0IGVmZmVjdGl2
ZSBhZGRyZXNzIHdpZHRoIGlzIDw9IDQ4IGluIDY0Yml0IGFyY2hpdGVjdHVyZXMgKGUuZy4gTmFO
IGJveGluZykuICovCisjZGVmaW5lIFdURl9DUFVfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggNDgK
KyNlbmRpZgorI2Vsc2UKKyNkZWZpbmUgV1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAz
MgorI2VuZGlmCisKKy8qIEV4cG9ydCBtYWNybyBzdXBwb3J0LiBEZXRlY3RzIHRoZSBhdHRyaWJ1
dGVzIGF2YWlsYWJsZSBmb3Igc2hhcmVkIGxpYnJhcnkgc3ltYm9sIGV4cG9ydAorICAgZGVjb3Jh
dGlvbnMuICovCisjaWYgT1MoV0lORE9XUykgfHwgKENPTVBJTEVSX0hBU19DTEFOR19ERUNMU1BF
QyhkbGxpbXBvcnQpICYmIENPTVBJTEVSX0hBU19DTEFOR19ERUNMU1BFQyhkbGxleHBvcnQpKQor
I2RlZmluZSBVU0VfREVDTFNQRUNfQVRUUklCVVRFIDEKKyNkZWZpbmUgVVNFX1ZJU0lCSUxJVFlf
QVRUUklCVVRFIDAKKyNlbGlmIGRlZmluZWQoX19HTlVDX18pCisjZGVmaW5lIFVTRV9ERUNMU1BF
Q19BVFRSSUJVVEUgMAorI2RlZmluZSBVU0VfVklTSUJJTElUWV9BVFRSSUJVVEUgMQorI2Vsc2UK
KyNkZWZpbmUgVVNFX0RFQ0xTUEVDX0FUVFJJQlVURSAwCisjZGVmaW5lIFVTRV9WSVNJQklMSVRZ
X0FUVFJJQlVURSAwCisjZW5kaWYKKworLyogU3RhbmRhcmQgbGlicmFyaWVzICovCisjaWYgZGVm
aW5lZChIQVZFX0ZFQVRVUkVTX0gpICYmIEhBVkVfRkVBVFVSRVNfSAorLyogSWYgdGhlIGluY2x1
ZGVkIGZlYXR1cmVzLmggaXMgZ2xpYmMncyBvbmUsIF9fR0xJQkNfXyBpcyBkZWZpbmVkLiAqLwor
I2luY2x1ZGUgPGZlYXR1cmVzLmg+CisjZW5kaWYKKworLyogRklYTUU6IEFTU0VSVF9FTkFCTEVE
IHNob3VsZCBkZWZpbmVkIGluIGRpZmZlcmVudCwgcGVyaGFwcyBpdHMgb3duLCBmaWxlLiAqLwor
LyogQVNTRVJUX0VOQUJMRUQgc2hvdWxkIGJlIHRydWUgaWYgd2Ugd2FudCB0aGUgY3VycmVudCBj
b21waWxhdGlvbiB1bml0IHRvCisgICBkbyBkZWJ1ZyBhc3NlcnRpb24gY2hlY2tzIHVuY29uZGl0
aW9uYWxseSAoZS5nLiB0cmVhdCBhIGRlYnVnIEFTU0VSVAorICAgbGlrZSBhIFJFTEVBU0VfQVNT
RVJULgorKi8KKyNpZm5kZWYgQVNTRVJUX0VOQUJMRUQKKyNpZmRlZiBOREVCVUcKKyNkZWZpbmUg
QVNTRVJUX0VOQUJMRUQgMAorI2Vsc2UKKyNkZWZpbmUgQVNTRVJUX0VOQUJMRUQgMQorI2VuZGlm
CisjZW5kaWYKKworCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgVVNFX0NHIDEKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9DQSAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQorI2RlZmluZSBVU0VfR0xJQiAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQorI2RlZmluZSBVU0Vf
RlJFRVRZUEUgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkK
KyNkZWZpbmUgVVNFX0hBUkZCVVpaIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShXUEUpCisjZGVmaW5lIFVTRV9TT1VQIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
R1RLKSB8fCBQTEFURk9STShXUEUpCisjZGVmaW5lIFVTRV9XRUJQIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oR1RLKQorI2RlZmluZSBHTElCX1ZFUlNJT05fTUlOX1JFUVVJUkVEIEdMSUJfVkVS
U0lPTl8yXzM2CisjZGVmaW5lIEdES19WRVJTSU9OX01JTl9SRVFVSVJFRCBHREtfVkVSU0lPTl8z
XzYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oV1BFKQorI2RlZmluZSBHTElCX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIEdMSUJfVkVSU0lPTl8yXzQwCisjZW5kaWYKKworI2lmIFVTRShTT1VQKQorI2Rl
ZmluZSBTT1VQX1ZFUlNJT05fTUlOX1JFUVVJUkVEIFNPVVBfVkVSU0lPTl8yXzQyCisjZW5kaWYK
KworLyogT24gV2luZG93cywgdXNlIFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQg
Ki8KKyNpZiBPUyhXSU5ET1dTKQorI2RlZmluZSBVU0VfUVVFUllfUEVSRk9STUFOQ0VfQ09VTlRF
UiAgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgSEFWRV9PVVRfT0Zf
UFJPQ0VTU19MQVlFUl9IT1NUSU5HIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisj
ZGVmaW5lIFVTRV9DRiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKSB8fCAoUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShXUEUpKQorI2RlZmluZSBVU0VfRklMRV9MT0NLIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9GT1VOREFUSU9OIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9ORVRXT1JLX0NGREFUQV9BUlJB
WV9DQUxMQkFDSyAxCisjZW5kaWYKKworCisjaWYgUExBVEZPUk0oQ09DT0EpCisvKiBDb2NvYSBk
ZWZpbmVzIGEgc2VyaWVzIG9mIHBsYXRmb3JtIG1hY3JvcyBmb3IgZGVidWdnaW5nLiAqLworLyog
U29tZSBvZiB0aGVtIGFyZSByZWFsbHkgYW5ub3lpbmcgYmVjYXVzZSB0aGV5IHVzZSBjb21tb24g
bmFtZXMgKGUuZy4gY2hlY2soKSkuICovCisvKiBEaXNhYmxlIHRob3NlIG1hY3JvcyBzbyB0aGF0
IHdlIGFyZSBub3QgbGltaXRlZCBpbiBob3cgd2UgbmFtZSBtZXRob2RzIGFuZCBmdW5jdGlvbnMu
ICovCisjdW5kZWYgX19BU1NFUlRfTUFDUk9TX0RFRklORV9WRVJTSU9OU19XSVRIT1VUX1VOREVS
U0NPUkVTCisjZGVmaW5lIF9fQVNTRVJUX01BQ1JPU19ERUZJTkVfVkVSU0lPTlNfV0lUSE9VVF9V
TkRFUlNDT1JFUyAwCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgSEFWRV9S
VU5MT09QX1RJTUVSIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBIQVZF
X1NFQ19LRVlDSEFJTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgSEFW
RV9ISVNFUlZJQ0VTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBVU0Vf
QVBQS0lUIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBVU0VfUEFTU0tJ
VCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgSEFWRV9ORVRXT1JLX0VY
VEVOU0lPTiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgVVNFX1BMVUdJ
Tl9IT1NUX1BST0NFU1MgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2Rl
ZmluZSBIQVZFX05FVFdPUktfRVhURU5TSU9OIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKKyNkZWZpbmUgSEFWRV9SRUFETElORSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCisjZGVmaW5lIFVTRV9VSUtJVF9FRElUSU5HIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgVVNFX1dFQl9USFJFQUQgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBDUFUoQVJNX05FT04pCisjdW5kZWYgSEFWRV9B
Uk1fTkVPTl9JTlRSSU5TSUNTCisjZGVmaW5lIEhBVkVfQVJNX05FT05fSU5UUklOU0lDUyAwCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfUERGSE9TVFZJRVdDT05UUk9MTEVSX1NOQVBTSE9U
VElORykgJiYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBIQVZFX1BERkhPU1RWSUVXQ09OVFJPTExF
Ul9TTkFQU0hPVFRJTkcgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX1ZJU0lCSUxJVFlf
UFJPUEFHQVRJT05fVklFVykgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgSEFWRV9W
SVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZF
X1VJU0NFTkUpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjZGVmaW5lIEhBVkVfVUlTQ0VORSAx
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfQVZTVFJFQU1TRVNTSU9OKSAmJiBQTEFURk9S
TShNQUMpCisjZGVmaW5lIEhBVkVfQVZTVFJFQU1TRVNTSU9OIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoSEFWRV9QQVNTS0lUX0FQSV9UWVBFKSAmJiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwg
UExBVEZPUk0oTUFDKSkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX0FQSV9UWVBFIDEKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKSAm
JiAoUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTQwMCkpCisjZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRF
UkZBQ0VfSURFTlRJRklFUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFVTRV9VSUtJVF9LRVlC
T0FSRF9BRERJVElPTlMpICYmIChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNU
KSkKKyNkZWZpbmUgVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUyAxCisjZW5kaWYKKworCisj
aWYgIWRlZmluZWQoSEFWRV9BQ0NFU1NJQklMSVRZKSAmJiAoUExBVEZPUk0oQ09DT0EpIHx8IFBM
QVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKQorI2RlZmluZSBI
QVZFX0FDQ0VTU0lCSUxJVFkgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBSZW1vdmUgYWZ0ZXIgQ01h
a2UgYnVpbGQgZW5hYmxlZCBvbiBEYXJ3aW4gKi8KKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhB
VkVfRVJSTk9fSCAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9MQU5H
SU5GT19IIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX0xPQ0FMVElN
RV9SIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX01NQVAgMQorI2Vu
ZGlmCisKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCisjZW5kaWYKKwor
I2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCisjZW5kaWYKKworI2lmIE9T
KERBUldJTikKKyNkZWZpbmUgSEFWRV9TVEFUX0JJUlRIVElNRSAxCisjZW5kaWYKKworI2lmIE9T
KERBUldJTikKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorI2VuZGlmCisKKyNpZiBPUyhEQVJX
SU4pCisjZGVmaW5lIEhBVkVfU1RSTlNUUiAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZp
bmUgSEFWRV9TWVNfVElNRV9IIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBI
QVZFX1RNX0dNVE9GRiAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9U
TV9aT05FIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX1RJTUVHTSAx
CisjZW5kaWYKKworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX01BSU5fTlAg
MQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pICYmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQp
KQorI2RlZmluZSBIQVZFX0lOVDEyOF9UIDEKKyNlbmRpZgorCisjaWYgT1MoVU5JWCkKKyNkZWZp
bmUgVVNFX1BUSFJFQURTIDEKKyNlbmRpZgorCisjaWYgT1MoVU5JWCkgJiYgIU9TKEZVQ0hTSUEp
CisjZGVmaW5lIEhBVkVfUkVTT1VSQ0VfSCAxCisjZW5kaWYKKworI2lmIE9TKFVOSVgpICYmICFP
UyhGVUNIU0lBKQorI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUU0NIRURQQVJBTSAxCisjZW5kaWYK
KworI2lmIE9TKERBUldJTikKKyNkZWZpbmUgSEFWRV9ESVNQQVRDSF9IIDEKKyNlbmRpZgorCisj
aWYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX01BRFZfRlJFRSAxCisjZW5kaWYKKworI2lmIE9T
KERBUldJTikKKyNkZWZpbmUgSEFWRV9NQURWX0ZSRUVfUkVVU0UgMQorI2VuZGlmCisKKyNpZiBP
UyhEQVJXSU4pCisjZGVmaW5lIEhBVkVfTUFEVl9ET05UTkVFRCAxCisjZW5kaWYKKworI2lmIE9T
KERBUldJTikKKyNkZWZpbmUgSEFWRV9NRVJHRVNPUlQgMQorI2VuZGlmCisKKyNpZiBPUyhEQVJX
SU4pCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKKyNlbmRpZgorCisjaWYgT1Mo
REFSV0lOKQorI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lO
KQorI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKQor
I2RlZmluZSBIQVZFX0FVRElUX1RPS0VOIDEKKyNlbmRpZgorCisjaWYgT1MoREFSV0lOKSAmJiBf
X2hhc19pbmNsdWRlKDxtYWNoL21hY2hfZXhjLmRlZnM+KSAmJiAhUExBVEZPUk0oR1RLKQorI2Rl
ZmluZSBIQVZFX01BQ0hfRVhDRVBUSU9OUyAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikgJiYg
IVBMQVRGT1JNKEdUSykKKyNkZWZpbmUgVVNFX0FDQ0VMRVJBVEUgMQorI2VuZGlmCisKKyNpZiBP
UyhEQVJXSU4pICYmICFQTEFURk9STShJT1NfRkFNSUxZKQorI2RlZmluZSBIQVZFX0hPU1RFRF9D
T1JFX0FOSU1BVElPTiAxCisjZW5kaWYKKworCisjaWYgT1MoREFSV0lOKSB8fCBPUyhGVUNIU0lB
KSB8fCAoKE9TKEZSRUVCU0QpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklP
TklDX18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFS
TTY0KSB8fCBDUFUoTUlQUykpKQorI2RlZmluZSBIQVZFX01BQ0hJTkVfQ09OVEVYVCAxCisjZW5k
aWYKKworI2lmIE9TKERBUldJTikgfHwgKE9TKExJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykg
JiYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIUNQVShNSVBTKSkKKyNkZWZpbmUgSEFWRV9CQUNL
VFJBQ0UgMQorI2VuZGlmCisKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQorI2lmIFBMQVRG
T1JNKEdUSykKKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykg
JiYgIUNQVShNSVBTKQorI2RlZmluZSBIQVZFX0JBQ0tUUkFDRV9TWU1CT0xTIDEKKyNlbmRpZgor
I2VuZGlmIC8qIFBMQVRGT1JNKEdUSykgKi8KKyNkZWZpbmUgSEFWRV9ETEFERFIgMQorI2VuZGlm
IC8qIE9TKERBUldJTikgfHwgT1MoTElOVVgpICovCisKKworI2lmIE9TKFdJTkRPV1MpCisjZGVm
aW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoVVNFX0pTVkFM
VUU2NCkgJiYgIWRlZmluZWQoVVNFX0pTVkFMVUUzMl82NCkKKyNpZiBDUFUoQUREUkVTUzY0KSB8
fCBDUFUoQVJNNjQpCisjZGVmaW5lIFVTRV9KU1ZBTFVFNjQgMQorI2Vsc2UKKyNkZWZpbmUgVVNF
X0pTVkFMVUUzMl82NCAxCisjZW5kaWYKKyNlbmRpZiAvKiAhZGVmaW5lZChVU0VfSlNWQUxVRTY0
KSAmJiAhZGVmaW5lZChVU0VfSlNWQUxVRTMyXzY0KSAqLworCisjaWYgX19oYXNfaW5jbHVkZSg8
U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKKyNkZWZpbmUgSEFWRV9GQVNUX1RMUyAxCisjZW5k
aWYKKworI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQorI2RlZmluZSBIQVZFX0NPTVBVVEVE
X0dPVE8gMQorI2VuZGlmCisKKy8qIEZJWE1FOiBUaGlzIG5hbWUgc2hvdWxkIGJlIG1vcmUgc3Bl
Y2lmaWMgaWYgaXQgaXMgb25seSBmb3IgdXNlIHdpdGggQ2FsbEZyYW1lKiAqLworLyogVXNlIF9f
YnVpbHRpbl9mcmFtZV9hZGRyZXNzKDEpIHRvIGdldCBDYWxsRnJhbWUqICovCisjaWYgQ09NUElM
RVIoR0NDX0NPTVBBVElCTEUpICYmIChDUFUoQVJNNjQpIHx8IENQVShYODZfNjQpKQorI2RlZmlu
ZSBVU0VfQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKKyNlbmRpZgorCisjaWYgQ1BVKEFSTTY0RSkg
JiYgT1MoREFSV0lOKQorI2RlZmluZSBIQVZFX0ZKQ1ZUWlNfSU5TVFJVQ1RJT04gMQorI2VuZGlm
CisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVfQVBQX0xJTktTIDEKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBVU0VfUEFTU0tJVCAxCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgVVNFX1FVSUNLX0xPT0sgMQorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShJT1MpCisjZGVmaW5lIFVTRV9TWVNURU1fUFJFVklFVyAxCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZpbmUg
SEFWRV9DRUxFU1RJQUwgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAh
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5lIEhBVkVfQ09SRV9BTklNQVRJT05fUkVOREVS
X1NFUlZFUiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9S
TShNQUNDQVRBTFlTVCkgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjZGVmaW5lIEhBVkVfUEFSRU5U
QUxfQ09OVFJPTFNfV0lUSF9VTkJMT0NLX0hBTkRMRVIgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShDT0NPQSkKKyNkZWZpbmUgVVNFX0FWRk9VTkRBVElPTiAxCisjZW5kaWYKKworI2lmIFBMQVRG
T1JNKENPQ09BKQorI2RlZmluZSBVU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEK
KyNlbmRpZgorCisvKiBGSVhNRTogRW5hYmxlIEhBVkVfUEFSRU5UQUxfQ09OVFJPTFMgZm9yIHdh
dGNoT1MgU2ltdWxhdG9yIG9uY2UgcmRhcjovL3Byb2JsZW0vNTQ2MDgzODYgaXMgcmVzb2x2ZWQg
Ki8KKyNpZiBQTEFURk9STShDT0NPQSkgJiYgKCFQTEFURk9STShBUFBMRVRWKSAmJiAoIVBMQVRG
T1JNKFdBVENIT1MpIHx8ICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikpKQorI2RlZmlu
ZSBIQVZFX1BBUkVOVEFMX0NPTlRST0xTIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
ICYmICFQTEFURk9STShBUFBMRVRWKQorI2RlZmluZSBIQVZFX0FWS0lUIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9NRVRBTCAxCisjZW5kaWYKKworCisjaWYg
VVNFKEdMSUIpCisjaW5jbHVkZSA8d3RmL2dsaWIvR1R5cGVkZWZzLmg+CisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKFVTRV9FWFBPUlRfTUFDUk9TKSAmJiAoUExBVEZPUk0oQ09DT0EpIHx8IE9TKFdJ
TkRPV1MpKQorI2RlZmluZSBVU0VfRVhQT1JUX01BQ1JPUyAxCisjZW5kaWYKKworI2lmIFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQorI2RlZmluZSBVU0VfVU5JWF9ET01BSU5fU09DS0VU
UyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFVTRV9JTUxBTkdfRk9OVF9MSU5LMikKKyNkZWZp
bmUgVVNFX0lNTEFOR19GT05UX0xJTksyIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisjZGVmaW5lIFVTRV9DT1JFTUVESUEgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkK
KyNkZWZpbmUgVVNFX1ZJREVPVE9PTEJPWCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09B
KQorI2RlZmluZSBIQVZFX0FWRk9VTkRBVElPTl9WSURFT19PVVRQVVQgMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgSEFWRV9DT1JFX1ZJREVPIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIEhBVkVfTUVESUFfUExBWUVSIDEKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9OX01FRElBX1NF
TEVDVElPTl9HUk9VUCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBI
QVZFX0FWRk9VTkRBVElPTl9MRUdJQkxFX09VVFBVVF9TVVBQT1JUIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIEhBVkVfTUVESUFfQUNDRVNTSUJJTElUWV9GUkFNRVdP
UksgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgSEFWRV9BVkZPVU5E
QVRJT05fTE9BREVSX0RFTEVHQVRFIDEKKyNlbmRpZgorCisjaWYgIVBMQVRGT1JNKFdJTikKKyNk
ZWZpbmUgVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCisjZW5k
aWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5l
IEhBVkVfQVBQTEVfR1JBUEhJQ1NfQ09OVFJPTCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5lIEhBVkVfTlNDVVJTT1IgMQorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIFVTRV9DT1JFQVVESU8gMQorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChVU0VfWkxJQikKKyNkZWZpbmUgVVNFX1pMSUIgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChIQVZFX1FPU19DTEFTU0VTKSAmJiBQTEFURk9STShDT0NPQSkKKyNkZWZp
bmUgSEFWRV9RT1NfQ0xBU1NFUyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfVk9VQ0hF
UlMpICYmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBIQVZFX1ZPVUNIRVJTIDEKKyNlbmRpZgor
CisjZGVmaW5lIFVTRV9HUkFNTUFSX0NIRUNLSU5HIDEKKworI2lmIFBMQVRGT1JNKENPQ09BKSB8
fCBQTEFURk9STShHVEspCisjZGVmaW5lIFVTRV9VTklGSUVEX1RFWFRfQ0hFQ0tJTkcgMQorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIFVTRV9BVVRPTUFUSUNfVEVYVF9SRVBM
QUNFTUVOVCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKy8qIFNvbWUgcGxhdGZvcm1z
IHByb3ZpZGUgVUkgZm9yIHN1Z2dlc3RpbmcgYXV0b2NvcnJlY3Rpb24uICovCisjZGVmaW5lIFVT
RV9BVVRPQ09SUkVDVElPTl9QQU5FTCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQor
LyogU29tZSBwbGF0Zm9ybXMgdXNlIHNwZWxsaW5nIGFuZCBhdXRvY29ycmVjdGlvbiBtYXJrZXJz
IHRvIHByb3ZpZGUgdmlzdWFsIGN1ZS4gT24gc3VjaCBwbGF0Zm9ybSwgaWYgd29yZCB3aXRoIG1h
cmtlciBpcyBlZGl0ZWQsIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBtYXJrZXIuICovCisjZGVmaW5l
IFVTRV9NQVJLRVJfUkVNT1ZBTF9VUE9OX0VESVRJTkcgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShNQUMpCisjZGVmaW5lIFVTRV9JTlNFUlRJT05fVU5ET19HUk9VUElORyAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBIQVZFX0FWQVNTRVRSRUFERVIgMQorI2VuZGlm
CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgVVNFX0FVRElPX1NFU1NJT04gMQorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgSEFWRV9JT1NVUkZBQ0UgMQorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9T
SU1VTEFUT1IpCisjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX0NPUkVJTUFHRV9TVVBQT1JUIDEKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlf
U0lNVUxBVE9SKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5lIEhBVkVfSU9TVVJG
QUNFX0FDQ0VMRVJBVE9SIDEKKyNlbmRpZgorCisjaWYgQ09NUElMRVIoTVNWQykKKyN1bmRlZiBf
X1NURENfRk9STUFUX01BQ1JPUworI2RlZmluZSBfX1NURENfRk9STUFUX01BQ1JPUworI3VuZGVm
IF9fU1REQ19MSU1JVF9NQUNST1MKKyNkZWZpbmUgX19TVERDX0xJTUlUX01BQ1JPUworI2VuZGlm
CisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIEhBVkVfTlNfQUNUSVZJVFkgMQorI2VuZGlm
CisKKworLyogU2V0IFRBUkdFVF9PU19JUEhPTkUgdG8gMCBieSBkZWZhdWx0IHRvIGFsbG93IHVz
aW5nIGl0IGFzIGEgZ3VhcmQgCisgKiBpbiBjcm9zcy1wbGF0Zm9ybSB0aGUgc2FtZSB3YXkgYXMg
aXQgaXMgdXNlZCBpbiBPUyhEQVJXSU4pIGNvZGUuICovIAorI2lmICFkZWZpbmVkKFRBUkdFVF9P
U19JUEhPTkUpICYmICFPUyhEQVJXSU4pCisjZGVmaW5lIFRBUkdFVF9PU19JUEhPTkUgMAorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgVVNFX01FRElBVE9PTEJPWCAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBVU0VfT1NfTE9HIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZGVm
aW5lIFVTRV9PU19TVEFURSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmlu
ZSBIQVZFX1NFQ19UUlVTVF9TRVJJQUxJWkFUSU9OIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
V1RGX0RFRkFVTFRfRVZFTlRfTE9PUCkKKyNkZWZpbmUgV1RGX0RFRkFVTFRfRVZFTlRfTE9PUCAx
CisjZW5kaWYKKworI2lmIFdURl9ERUZBVUxUX0VWRU5UX0xPT1AKKyNpZiBVU0UoR0xJQikKKy8q
IFVzZSBHTGliJ3MgZXZlbnQgbG9vcCBhYnN0cmFjdGlvbi4gUHJpbWFyaWx5IEdUSyBwb3J0IHVz
ZXMgaXQuICovCisjZGVmaW5lIFVTRV9HTElCX0VWRU5UX0xPT1AgMQorI2VsaWYgT1MoV0lORE9X
UykKKy8qIFVzZSBXaW5kb3dzIG1lc3NhZ2UgcHVtcCBhYnN0cmFjdGlvbi4KKyAqIEV2ZW4gaWYg
dGhlIHBvcnQgaXMgQXBwbGVXaW4sIHdlIHVzZSB0aGUgV2luZG93cyBtZXNzYWdlIHB1bXAgc3lz
dGVtIGZvciB0aGUgZXZlbnQgbG9vcCwKKyAqIHNvIHRoYXQgVVNFKFdJTkRPV1NfRVZFTlRfTE9P
UCkgJiYgVVNFKENGKSBjYW4gYmUgdHJ1ZS4KKyAqIEFuZCBQTEFURk9STShXSU4pIGFuZCBQTEFU
Rk9STShHVEspIGFyZSBleGNsdXNpdmUuIElmIHRoZSBwb3J0IGlzIEdUSywKKyAqIFBMQVRGT1JN
KFdJTikgc2hvdWxkIGJlIGZhbHNlLiBBbmQgaW4gdGhhdCBjYXNlLCBHTGliJ3MgZXZlbnQgbG9v
cCBpcyB1c2VkLgorICovCisjZGVmaW5lIFVTRV9XSU5ET1dTX0VWRU5UX0xPT1AgMQorI2VsaWYg
UExBVEZPUk0oQ09DT0EpCisvKiBPUyBYIGFuZCBJT1MuIFVzZSBDb3JlRm91bmRhdGlvbiAmIEdD
RCBhYnN0cmFjdGlvbi4gKi8KKyNkZWZpbmUgVVNFX0NPQ09BX0VWRU5UX0xPT1AgMQorI2Vsc2UK
KyNkZWZpbmUgVVNFX0dFTkVSSUNfRVZFTlRfTE9PUCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9NRURJQVJFTU9URSAxCisjZW5kaWYKKworI2lm
IENPTVBJTEVSKE1TVkMpCisvKiBFbmFibGUgc3RyaWN0IHJ1bnRpbWUgc3RhY2sgYnVmZmVyIGNo
ZWNrcy4gKi8KKyNwcmFnbWEgc3RyaWN0X2dzX2NoZWNrKG9uKQorI2VuZGlmCisKKyNpZiBQTEFU
Rk9STShNQUMpCisjZGVmaW5lIEhBVkVfVE9VQ0hfQkFSIDEKKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oTUFDKQorI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCisjZW5kaWYKKwor
CisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFM
WVNUKSB8fCBVU0UoR0NSWVBUKQorI2RlZmluZSBIQVZFX1JTQV9QU1MgMQorI2VuZGlmCisKKyNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KyNkZWZpbmUgVVNFX1NPVVJDRV9BUFBMSUNBVElPTl9BVURJVF9EQVRBIDEKKyNlbmRpZgorCisj
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE1MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMzAwMDApCisjZGVmaW5lIEhBVkVfSFNUU19TVE9SQUdFX1BBVEggMQor
I2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkKKyNkZWZpbmUgSEFWRV9VUkxfRk9STUFUVElORyAxCisjZW5kaWYKKworI2lmICFPUyhXSU5E
T1dTKQorI2RlZmluZSBIQVZFX1NUQUNLX0JPVU5EU19GT1JfTkVXX1RIUkVBRCAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkKKyNkZWZpbmUgSEFWRV9BVkNPTlRFTlRLRVlTRVNTSU9OIDEKKyNlbmRpZgorCisjaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0
MDApIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5lIEhB
VkVfU0VDX0tFWV9QUk9YWSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0Uo
Q0EpCisjZGVmaW5lIFVTRV9JT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUgMQorI2VuZGlm
CisKKy8qIEZJWE1FOiBTaG91bGQgdGhpcyBiZSBlbmFibGVkIG9yIElPU19GQU1JTFksIG5vdCBq
dXN0IElPUz8gKi8KKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TKQorI2RlZmluZSBIQVZFX0ZPVU5E
QVRJT05fV0lUSF9TQVZFX0NPT0tJRVNfV0lUSF9DT01QTEVUSU9OX0hBTkRMRVIgMQorI2VuZGlm
CisKKy8qIEZJWE1FOiBTaG91bGQgdGhpcyBiZSBlbmFibGVkIGZvciBJT1NfRkFNSUxZLCBub3Qg
anVzdCBJT1M/ICovCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgSEFWRV9GT1VO
REFUSU9OX1dJVEhfU0FNRV9TSVRFX0NPT0tJRV9TVVBQT1JUIDEKKyNlbmRpZgorCisjaWYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE0MDAKKyNk
ZWZpbmUgSEFWRV9OU0hUVFBDT09LSUVTVE9SQUdFX19JTklUV0lUSElERU5USUZJRVJfV0lUSF9J
TkFDQ1VSQVRFX05VTExBQklMSVRZIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisj
ZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX1dJVEhfQ09OVEVOVF9FTkNPRElOR19TTklGRklOR19PVkVS
UklERSAxCisvKiBUaGUgb3ZlcnJpZGUgaXNuJ3QgbmVlZGVkIG9uIGlPUyBmYW1pbHksIGFzIHRo
ZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIG5vdCBzbmlmZi4gKi8KKy8qIEZJWE1FOiBUaGlzIHNo
b3VsZCBwcm9iYWJseSBiZSBlbmFibGVkIG9uIDEwLjEzLjIgYW5kIG5ld2VyLCBub3QganVzdCAx
MC4xNCBhbmQgbmV3ZXIuICovCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTQwMAorI2RlZmluZSBVU0VfQ0ZORVRXT1JLX0NPTlRFTlRf
RU5DT0RJTkdfU05JRkZJTkdfT1ZFUlJJREUgMQorI2VuZGlmCisjZW5kaWYKKworI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8
fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShHVEspCisjZGVmaW5lIEhBVkVfT1NfREFSS19NT0RF
X1NVUFBPUlQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCisjZGVmaW5lIEhBVkVfQ0dfRk9OVF9SRU5ERVJJ
TkdfR0VUX0ZPTlRfU01PT1RISU5HX0RJU0FCTEVEIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBM
QVRGT1JNKElPU19GQU1JTFkpCisjZGVmaW5lIEhBVkVfQ0FfV0hFUkVfQURESVRJVkVfVFJBTlNG
T1JNU19BUkVfUkVWRVJTRUQgMQorI2VuZGlmCisKKyNpZmRlZiBfX0FQUExFX18KKyNkZWZpbmUg
SEFWRV9GVU5DX1VTTEVFUCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oV1BFKQorLyogRklYTUU6IFRoaXMgcmVhbGx5IG5lZWRzIGEgZGVzY3JpcHRpdmUgbmFtZSwg
dGhpcyAibmV3IHRoZW1lIiB3YXMgYWRkZWQgaW4gMjAwOC4gKi8KKyNkZWZpbmUgVVNFX05FV19U
SEVNRSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgSEFWRV9XSU5ET1df
U0VSVkVSX09DQ0xVU0lPTl9OT1RJRklDQVRJT05TIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
Q09DT0EpCisjZGVmaW5lIEhBVkVfU0VDX0FDQ0VTU19DT05UUk9MIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oSU9TKQorLyogRklYTUU6IFNhZmFyaVNlcnZpY2VzLmZyYW1ld29yayBleGlzdHMg
b24gbWFjT1MuIEl0IGlzIG9ubHkgdXNlZCBieSBXZWJLaXQgb24gaU9TLCBzbyB0aGUgYmVoYXZp
b3IgaXMgY29ycmVjdCwgYnV0IHRoZSBuYW1lIGlzIG1pc2xlYWRpbmcuICovCisjZGVmaW5lIEhB
VkVfU0FGQVJJX1NFUlZJQ0VTX0ZSQU1FV09SSyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShXQVRDSE9TKQorI2RlZmluZSBIQVZFX1NB
RkVfQlJPV1NJTkcgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEhBVkVf
TElOS19QUkVWSUVXIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAw
KSkKKyNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZX1NVUFBPUlQgMQorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMzAwMDAgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMzAxMDAKKyNk
ZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZX0JVTkRMRVNfUEFUSCAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKQorI2RlZmluZSBIQVZFX0FVVEhPUklaQVRJT05fU1RB
VFVTX0ZPUl9NRURJQV9UWVBFIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgKF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDQpKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDAgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA+PSAxMjAyMDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JN
KEFQUExFVFYpCisjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX09WRVJSSURFX1NFU1NJT05fQ09PS0lF
X0FDQ0VQVF9QT0xJQ1kgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1J
TFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKKyNkZWZp
bmUgSEFWRV9DRk5FVFdPUktfTlNVUkxTRVNTSU9OX1NUUklDVFJVU1RFVkFMVUFURSAxCisjZW5k
aWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2RlZmluZSBIQVZFX0NGTkVU
V09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NPTF9DSVBIRVIgMQorI2VuZGlmCisKKyNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTYwMCkg
fHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDE0MDAwMCkKKyNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTUVUUklDU19BUElTX1Y0IDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTUwMAorI2RlZmluZSBIQVZFX0NTQ0hFQ0tGSVhESVNBQkxFIDEKKyNlbmRp
ZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCisjZGVmaW5lIEhBVkVfU0FOREJP
WF9JU1NVRV9NQUNIX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX0FVRElUX1RPS0VOIDEKKyNlbmRp
ZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCisjZGVmaW5lIEhBVkVfU0FOREJP
WF9JU1NVRV9SRUFEX0VYVEVOU0lPTl9UT19QUk9DRVNTX0JZX0FVRElUX1RPS0VOIDEKKyNlbmRp
ZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApCisjZGVmaW5lIEhBVkVfTUROU19GQVNUX1JFR0lT
VFJBVElPTiAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2Rl
ZmluZSBIQVZFX0RJU0FMTE9XQUJMRV9VU0VSX0lOU1RBTExFRF9GT05UUyAxCisjZW5kaWYKKwor
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTMwMDAwKQorI2RlZmluZSBIQVZFX0NURk9OVENSRUFURUZPUkNIQVJB
Q1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJT04gMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEz
MDAwMCkKKyNkZWZpbmUgSEFWRV9DVEZPTlRUUkFOU0ZPUk1HTFlQSFNXSVRITEFOR1VBR0UgMQor
I2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMzAwMDAKKyNkZWZpbmUgSEFWRV9BUktJVF9RVUlDS19MT09LX1BS
RVZJRVdfSVRFTSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMAorI2RlZmluZSBIQVZFX1VJX1dL
X0RPQ1VNRU5UX0NPTlRFWFQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkK
KyNkZWZpbmUgSEFWRV9IT1ZFUl9HRVNUVVJFX1JFQ09HTklaRVIgMQorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZpbmUgSEFWRV9VSV9QQVJBTExBWF9UUkFOU0lUSU9O
X0dFU1RVUkVfUkVDT0dOSVpFUiAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1Nf
RkFNSUxZKQorI2RlZmluZSBIQVZFX0FMTE9XU19TRU5TSVRJVkVfTE9HR0lORyAxCisjZW5kaWYK
KworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2RlZmluZSBIQVZFX0ZBSVJQTEFZ
U1RSRUFNSU5HX0NFTkNfSU5JVERBVEEgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oSU9TKSAm
JiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIHx8IFBMQVRGT1JN
KFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCisjZGVmaW5lIEhBVkVfVUlfU0NST0xMX1ZJ
RVdfSU5ESUNBVE9SX0ZMQVNISU5HX1NQSSAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShJT1Mp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZP
Uk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikKKyNkZWZpbmUgSEFWRV9BUFBfTElOS1Nf
V0lUSF9JU0VOQUJMRUQgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApCisjZGVmaW5lIEhBVkVfUk9VVEVf
U0hBUklOR19QT0xJQ1lfTE9OR19GT1JNX1ZJREVPIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwICYmICFQ
TEFURk9STShJT1NfU0lNVUxBVE9SKSkKKyNkZWZpbmUgSEFWRV9ERVZJQ0VfTUFOQUdFTUVOVCAx
CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEIDwgMTAxNTAwCisjZGVmaW5lIFVTRV9SRUFMUEFUSF9GT1JfRExPUEVOX1BSRUZMSUdI
VCAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShXQVRDSE9T
KSB8fCBQTEFURk9STShBUFBMRVRWKQorI2RlZmluZSBIQVZFX05TVVJMU0VTU0lPTl9XRUJTT0NL
RVQgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQ
TEFURk9STShBUFBMRVRWKQorI2RlZmluZSBIQVZFX0FWUExBWUVSX1JFU09VUkNFX0NPTlNFUlZB
VElPTl9MRVZFTCAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApIHx8IFBMQVRGT1JNKFdBVENI
T1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCisjZGVmaW5lIEhBVkVfQ09SRVRFWFRfQVVUT19PUFRJ
Q0FMX1NJWklORyAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTMwMDAwKQorI2RlZmluZSBIQVZFX05TRk9O
VF9XSVRIX09QVElDQUxfU0laSU5HX0JVRyAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShJT1Mp
IHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwKSkKKyNkZWZpbmUgSEFWRV9BUFBfU1NPIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwIHx8IFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAp
IHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpIHx8IFBMQVRGT1JNKE1B
Q0NBVEFMWVNUKQorI2RlZmluZSBIQVZFX1RMU19QUk9UT0NPTF9WRVJTSU9OX1QgMQorI2VuZGlm
CisKKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFU
Rk9STShBUFBMRVRWKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNkZWZpbmUgSEFWRV9TRUNf
VFJVU1RfRVZBTFVBVEVfV0lUSF9FUlJPUiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5lIFVTRV9VSUNPTlRFWFRNRU5VIDEKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMAorI2RlZmluZSBIQVZFX1NVQlZJRVdTX0lWQVJfU1BJIDEKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAx
MDE1MDAKKyNkZWZpbmUgSEFWRV9TVUJWSUVXU19JVkFSX0RFQ0xBUkVEX0JZX1NESyAxCisjZW5k
aWYKKworI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkgfHwgUExBVEZPUk0oV0FUQ0hP
UykgfHwgUExBVEZPUk0oQVBQTEVUVikKKyNkZWZpbmUgVVNFX1BMQVRGT1JNX1NZU1RFTV9GQUxM
QkFDS19MSVNUIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNTAwCisjZGVmaW5lIEhBVkVfQVhfQ0xJRU5UX1RZUEUg
MQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFU
Rk9STShBUFBMRVRWKQorI2RlZmluZSBIQVZFX0RFU0lHTl9TWVNURU1fVUlfRk9OVFMgMQorI2Vu
ZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKElPU19TSU1VTEFU
T1IpKQorI2RlZmluZSBIQVZFX0RFVklDRV9JREVOVElUWSAxCisjZW5kaWYKKworI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8
fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2RlZmluZSBIQVZFX0RBVEFfUFJPVEVDVElPTl9LRVlD
SEFJTiAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBM
QVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSkKKyNkZWZpbmUgSEFWRV9ORUFSX0ZJRUxEIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKCEoZGVmaW5lZChVU0VfU1lT
VEVNX01BTExPQykgJiYgVVNFX1NZU1RFTV9NQUxMT0MpICYmIChPUyhMSU5VWCkgJiYgKFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSkpKQorI2RlZmluZSBVU0VfQk1BTExPQ19NRU1PUllf
Rk9PVFBSSU5UX0FQSSAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZ
KQorI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKKyNlbmRpZgorCisKKworI2lmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspICYmIF9faGFzX2luY2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlv
bmFsUGxhdGZvcm0uaD4pCisjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxQbGF0
Zm9ybS5oPgorI2VuZGlmCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX2hhc19p
bmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbEZlYXR1cmVEZWZpbmVzLmg+KQorI2lu
Y2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsRmVhdHVyZURlZmluZXMuaD4KKyNlbmRp
ZgorCisvKiBfX1BMQVRGT1JNX0lORElSRUNUX18gZW5zdXJlcyB0aGF0IHVzZXJzICNpbmNsdWRl
IDx3dGYvUGxhdGZvcm0uaD4gcmF0aGVyIHRoYW4gd3RmL0ZlYXR1cmVEZWZpbmVzLmggZGlyZWN0
bHkuICovCisjZGVmaW5lIF9fUExBVEZPUk1fSU5ESVJFQ1RfXworCisvKiBJbmNsdWRlIGZlYXR1
cmUgbWFjcm9zICovCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtRW5hYmxlLmg+CisKKyN1bmRlZiBf
X1BMQVRGT1JNX0lORElSRUNUX18KKworCisKKy8qIEZJWE1FOiBUaGUgZm9sbG93aW5nIGFyZSBj
dXJyZW5seSBwb3NpdGlvbmVkIGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGFzIHRoZXkgYXJl
IGN1cnJlbnRseSBkZXBlbmRlbnQgb24gRU5BQkxFIG1hY3Jvcy4gKi8KKworLyogRklYTUU6IFJl
bW92ZSBkZXBlbmRlbmNlIG9uIEVOQUJMRShXRUJfUlRDKS4gKi8KKyNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKFdFQl9SVEMpCisjZGVmaW5lIFVTRV9MSUJXRUJSVEMgMQorI2VuZGlmCisK
Ky8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9m
IFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAqLwor
LyogVGhpcyBmZWF0dXJlIHdvcmtzIGJ5IGVtYmVkZGluZyB0aGUgT3Bjb2RlSUQgaW4gdGhlIDMy
IGJpdCBqdXN0IGJlZm9yZSB0aGUgZ2VuZXJhdGVkIExMaW50IGNvZGUKKyAgIHRoYXQgZXhlY3V0
ZXMgZWFjaCBvcGNvZGUuIEl0IGNhbm5vdCBiZSBzdXBwb3J0ZWQgYnkgdGhlIENMb29wIHNpbmNl
IHRoZXJlJ3Mgbm8gd2F5IHRvIGVtYmVkIHRoZQorICAgT3Bjb2RlSUQgd29yZCBpbiB0aGUgQ0xv
b3AncyBzd2l0Y2ggc3RhdGVtZW50IGNhc2VzLiBJdCBpcyBhbHNvIGN1cnJlbnRseSBub3QgaW1w
bGVtZW50ZWQgZm9yIE1TVkMuCisqLworI2lmICFkZWZpbmVkKFVTRV9MTElOVF9FTUJFRERFRF9P
UENPREVfSUQpICYmICFFTkFCTEUoQ19MT09QKSAmJiAhQ09NUElMRVIoTVNWQykgJiYgXAorICAg
IChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1C
MikgJiYgT1MoREFSV0lOKSkpCisjZGVmaW5lIFVTRV9MTElOVF9FTUJFRERFRF9PUENPREVfSUQg
MQorI2VuZGlmCisKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2lmIEVOQUJMRShXRUJHTCkKKwor
LyogVVNFX0FOR0xFPTEgdXNlcyBBTkdMRSBmb3IgdGhlIFdlYkdMIGJhY2tlbmQuCisgICBJdCBy
ZXBsYWNlcyBVU0VfT1BFTkdMLCBVU0VfT1BFTkdMX0VTIGFuZCBVU0VfRUdMLiAqLworI2lmIFBM
QVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSAmJiBfX2hhc19pbmNsdWRlKDxP
cGVuR0wvT3BlbkdMLmg+KSkKKyNkZWZpbmUgVVNFX09QRU5HTCAxCisjZGVmaW5lIFVTRV9PUEVO
R0xfRVMgMAorI2RlZmluZSBVU0VfQU5HTEUgMAorI2Vsc2UKKyNkZWZpbmUgVVNFX09QRU5HTCAw
CisjZGVmaW5lIFVTRV9PUEVOR0xfRVMgMQorI2RlZmluZSBVU0VfQU5HTEUgMAorI2VuZGlmCisK
KyNpZm5kZWYgR0xfU0lMRU5DRV9ERVBSRUNBVElPTgorI2RlZmluZSBHTF9TSUxFTkNFX0RFUFJF
Q0FUSU9OIDEKKyNlbmRpZgorCisjaWYgVVNFKE9QRU5HTCkgJiYgIWRlZmluZWQoSEFWRV9PUEVO
R0xfNCkKKyNkZWZpbmUgSEFWRV9PUEVOR0xfNCAxCisjZW5kaWYKKworI2lmIFVTRShPUEVOR0xf
RVMpICYmICFkZWZpbmVkKEhBVkVfT1BFTkdMX0VTXzMpCisjZGVmaW5lIEhBVkVfT1BFTkdMX0VT
XzMgMQorI2VuZGlmCisKKyNpZiBVU0VfQU5HTEUgJiYgKFVTRV9PUEVOR0wgfHwgVVNFX09QRU5H
TF9FUykKKyNlcnJvciBVU0VfQU5HTEUgaXMgaW5jb21wYXRpYmxlIHdpdGggVVNFX09QRU5HTCBh
bmQgVVNFX09QRU5HTF9FUworI2VuZGlmCisKKyNlbmRpZiAvKiBFTkFCTEUoV0VCR0wpICovCisj
ZW5kaWYgLyogUExBVEZPUk0oQ09DT0EpICovCisKKyNpZiBFTkFCTEUoV0VCR0wpCisjaWYgIWRl
ZmluZWQoVVNFX0FOR0xFKQorI2RlZmluZSBVU0VfQU5HTEUgMAorI2VuZGlmCisKKyNpZiAoVVNF
X0FOR0xFICYmIChVU0VfT1BFTkdMIHx8IFVTRV9PUEVOR0xfRVMgfHwgKGRlZmluZWQoVVNFX0VH
TCkgJiYgVVNFX0VHTCkpKSAmJiAhVVNFKFRFWFRVUkVfTUFQUEVSKQorI2Vycm9yIFVTRV9BTkdM
RSBpcyBpbmNvbXBhdGlibGUgd2l0aCBVU0VfT1BFTkdMLCBVU0VfT1BFTkdMX0VTIGFuZCBVU0Vf
RUdMCisjZW5kaWYKKyNlbmRpZgorCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBFTkFCTEUo
R1JBUEhJQ1NfQ09OVEVYVF9HTCkgJiYgIWRlZmluZWQoVVNFX1RFWFRVUkVfTUFQUEVSX0dMKQor
I2RlZmluZSBVU0VfVEVYVFVSRV9NQVBQRVJfR0wgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBUaGlz
IGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCIsIHNvIHNo
b3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAqLworI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNkZWZpbmUgVVNFX0FDQ0VTU0lCSUxJVFlf
Q09OVEVYVF9NRU5VUyAxCisjZW5kaWYKKworCisvKiBGSVhNRTogVGhlc2UgY2FsbGluZyBjb252
ZW50aW9uIG1hY3JvcyBzaG91bGQgbW92ZSB0byB0aGVpciBvd24gZmlsZS4gVGhleSBhcmUgYXQg
dGhlIGJvdHRvbSBjdXJyZW50bHkgYmVjYXVzZSB0aGV5IGRlcGVuZCBvbiBGZWF0dXJlRGVmaW5l
cy5oICovCisKKyNpZiBDUFUoWDg2KSAmJiBDT01QSUxFUihNU1ZDKQorI2RlZmluZSBKU0NfSE9T
VF9DQUxMIF9fZmFzdGNhbGwKKyNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJ
QkxFKQorI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCisj
ZWxzZQorI2RlZmluZSBKU0NfSE9TVF9DQUxMCisjZW5kaWYKKworI2lmIENQVShYODYpICYmIE9T
KFdJTkRPV1MpCisjZGVmaW5lIENBTExJTkdfQ09OVkVOVElPTl9JU19TVERDQUxMIDEKKyNpZm5k
ZWYgQ0RFQ0wKKyNpZiBDT01QSUxFUihNU1ZDKQorI2RlZmluZSBDREVDTCBfX2NkZWNsCisjZWxz
ZQorI2RlZmluZSBDREVDTCBfX2F0dHJpYnV0ZV9fICgoX19jZGVjbCkpCisjZW5kaWYKKyNlbmRp
ZgorI2Vsc2UKKyNkZWZpbmUgQ0FMTElOR19DT05WRU5USU9OX0lTX1NURENBTEwgMAorI2VuZGlm
CisKKyNpZiBDUFUoWDg2KQorI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFTVENBTExf
Q0FMTElOR19DT05WRU5USU9OIDEKKyNpZm5kZWYgRkFTVENBTEwKKyNpZiBDT01QSUxFUihNU1ZD
KQorI2RlZmluZSBGQVNUQ0FMTCBfX2Zhc3RjYWxsCisjZWxzZQorI2RlZmluZSBGQVNUQ0FMTCAg
X19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNlbmRpZgorI2VuZGlmCisjZWxzZQorI2RlZmlu
ZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFTVENBTExfQ0FMTElOR19DT05WRU5USU9OIDAKKyNl
bmRpZgorCisjaWYgRU5BQkxFKEpJVCkgJiYgQ0FMTElOR19DT05WRU5USU9OX0lTX1NURENBTEwK
KyNkZWZpbmUgSklUX09QRVJBVElPTiBDREVDTAorI2Vsc2UKKyNkZWZpbmUgSklUX09QRVJBVElP
TgorI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhh
dmUuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2
ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUhhdmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUu
aAkocmV2aXNpb24gMjU0NjI2KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LTIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAy
MDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEg
UmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAt
MjcsNTUgKzI3LDE1IEBACiAKICNwcmFnbWEgb25jZQogCi0vKiBJbmNsdWRlIGNvbXBpbGVyIHNw
ZWNpZmljIG1hY3JvcyAqLwotI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgotCi0vKiA9PT09IFBs
YXRmb3JtIGFkYXB0YXRpb24gbWFjcm9zOiB0aGVzZSBkZXNjcmliZSBwcm9wZXJ0aWVzIG9mIHRo
ZSB0YXJnZXQgZW52aXJvbm1lbnQuID09PT0gKi8KLQotLyogQ1BVKCkgLSB0aGUgdGFyZ2V0IENQ
VSBhcmNoaXRlY3R1cmUgKi8KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm1DUFUuaD4KLQotLyogT1Mo
KSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZvciBtYW5k
YXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZQotICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBj
aG9vc2UgYSBHVUkgdG9vbGtpdCAqLwotI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybU9TLmg+Ci0KLS8q
IFBMQVRGT1JNKCkgLSBoYW5kbGVzIE9TLCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNz
IEFQSSwgYW5kCi0gICBDUFUuIFRoaXMgbWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9y
IG9mIHBsYXRmb3JtIGFkYXB0YXRpb24KLSAgIG1hY3JvcywgcG9saWN5IGRlY2lzaW9uIG1hY3Jv
cywgYW5kIHRvcC1sZXZlbCBwb3J0IGRlZmluaXRpb25zLiAqLwotI2luY2x1ZGUgPHd0Zi9QbGF0
Zm9ybUxlZ2FjeS5oPgotCiAvKiBIQVZFKCkgLSBzcGVjaWZpYyBzeXN0ZW0gZmVhdHVyZXMgKGhl
YWRlcnMsIGZ1bmN0aW9ucyBvciBzaW1pbGFyKSB0aGF0IGFyZSBwcmVzZW50IG9yIG5vdCAqLwog
I2RlZmluZSBIQVZFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBIQVZFXyMjV1RGX0ZFQVRVUkUgICYm
IEhBVkVfIyNXVEZfRkVBVFVSRSkKIAogCi0vKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6
IHRoZXNlIGRlZmluZSBwb2xpY3kgY2hvaWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0g
Ki8KLQotLyogVVNFKCkgLSB1c2UgYSBwYXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Ig
b3B0aW9uYWwgT1Mgc2VydmljZSAqLwotI2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVk
IFVTRV8jI1dURl9GRUFUVVJFICAmJiBVU0VfIyNXVEZfRkVBVFVSRSkKLS8qIEVOQUJMRSgpIC0g
dHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0ICovCi0jZGVmaW5lIEVOQUJMRShX
VEZfRkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dU
Rl9GRUFUVVJFKQotCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNpZiBkZWZpbmVkIF9faGFzX2lu
Y2x1ZGUgJiYgX19oYXNfaW5jbHVkZSg8Q29yZUZvdW5kYXRpb24vQ0ZQcml2Lmg+KQotI2RlZmlu
ZSBVU0VfQVBQTEVfSU5URVJOQUxfU0RLIDEKLSNlbmRpZgotI2VuZGlmCi0KLS8qIE1JUFMgcmVx
dWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkgKi8KLSNpZiBDUFUoTUlQUykg
fHwgQ1BVKE1JUFM2NCkKLSNkZWZpbmUgVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VS
IDEKLSNlbmRpZgotCi0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25l
ZCBtZW1vcnkqLwotI2lmIGRlZmluZWQoX19BUk1fQVJDSF81RV9fKSB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNVRFX18pIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pCi0jZGVmaW5lIFVTRV9B
UkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjaWYgZGVmaW5lZChIQVZFX0ZFQVRVUkVT
X0gpICYmIEhBVkVfRkVBVFVSRVNfSAorLyogSWYgdGhlIGluY2x1ZGVkIGZlYXR1cmVzLmggaXMg
Z2xpYmMncyBvbmUsIF9fR0xJQkNfXyBpcyBkZWZpbmVkLiAqLworI2luY2x1ZGUgPGZlYXR1cmVz
Lmg+CiAjZW5kaWYKIAotLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWdu
ZWQgbWVtb3J5Ki8KLSNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIHx8IGRlZmluZWQoX19U
QVJHRVRfQVJDSF81VEUpIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEVKKQotI2RlZmluZSBV
U0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmCiAKICNpZiBDUFUoQVJN
X05FT04pCiAvKiBBbGwgTkVPTiBpbnRyaW5zaWNzIHVzYWdlIGNhbiBiZSBkaXNhYmxlZCBieSB0
aGlzIG1hY3JvLiAqLwpAQCAtODcsMTMyICs0NywxMCBAQAogI2RlZmluZSBIQVZFX0FSTV9JRElW
X0lOU1RSVUNUSU9OUyAxCiAjZW5kaWYKIAotCi0KLS8qIE9wZXJhdGluZyBlbnZpcm9ubWVudHMg
Ki8KLQotCi0vKiBGSVhNRTogUmVuYW1lIFdURl9DUFVfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgg
dG8gV1RGX09TX0VGRkVDVElWRV9BRERSRVNTX1dJRFRILCBhcyBpdCBpcyBhbiBPUyBmZWF0dXJl
LCBub3QgYSBDUFUgZmVhdHVyZS4gKi8KLSNpZiBDUFUoQUREUkVTUzY0KQotI2lmIE9TKERBUldJ
TikgJiYgQ1BVKEFSTTY0KQotI2RlZmluZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRI
IDM2Ci0jZWxzZQotLyogV2Ugc3Ryb25nbHkgYXNzdW1lIHRoYXQgZWZmZWN0aXZlIGFkZHJlc3Mg
d2lkdGggaXMgPD0gNDggaW4gNjRiaXQgYXJjaGl0ZWN0dXJlcyAoZS5nLiBOYU4gYm94aW5nKS4g
Ki8KLSNkZWZpbmUgV1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCA0OAotI2VuZGlmCi0j
ZWxzZQotI2RlZmluZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDMyCi0jZW5kaWYK
LQotLyogRXhwb3J0IG1hY3JvIHN1cHBvcnQuIERldGVjdHMgdGhlIGF0dHJpYnV0ZXMgYXZhaWxh
YmxlIGZvciBzaGFyZWQgbGlicmFyeSBzeW1ib2wgZXhwb3J0Ci0gICBkZWNvcmF0aW9ucy4gKi8K
LSNpZiBPUyhXSU5ET1dTKSB8fCAoQ09NUElMRVJfSEFTX0NMQU5HX0RFQ0xTUEVDKGRsbGltcG9y
dCkgJiYgQ09NUElMRVJfSEFTX0NMQU5HX0RFQ0xTUEVDKGRsbGV4cG9ydCkpCi0jZGVmaW5lIFVT
RV9ERUNMU1BFQ19BVFRSSUJVVEUgMQotI2RlZmluZSBVU0VfVklTSUJJTElUWV9BVFRSSUJVVEUg
MAotI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKLSNkZWZpbmUgVVNFX0RFQ0xTUEVDX0FUVFJJQlVU
RSAwCi0jZGVmaW5lIFVTRV9WSVNJQklMSVRZX0FUVFJJQlVURSAxCi0jZWxzZQotI2RlZmluZSBV
U0VfREVDTFNQRUNfQVRUUklCVVRFIDAKLSNkZWZpbmUgVVNFX1ZJU0lCSUxJVFlfQVRUUklCVVRF
IDAKLSNlbmRpZgotCi0vKiBTdGFuZGFyZCBsaWJyYXJpZXMgKi8KLSNpZiBkZWZpbmVkKEhBVkVf
RkVBVFVSRVNfSCkgJiYgSEFWRV9GRUFUVVJFU19ICi0vKiBJZiB0aGUgaW5jbHVkZWQgZmVhdHVy
ZXMuaCBpcyBnbGliYydzIG9uZSwgX19HTElCQ19fIGlzIGRlZmluZWQuICovCi0jaW5jbHVkZSA8
ZmVhdHVyZXMuaD4KLSNlbmRpZgotCi0vKiBGSVhNRTogQVNTRVJUX0VOQUJMRUQgc2hvdWxkIGRl
ZmluZWQgaW4gZGlmZmVyZW50LCBwZXJoYXBzIGl0cyBvd24sIGZpbGUuICovCi0vKiBBU1NFUlRf
RU5BQkxFRCBzaG91bGQgYmUgdHJ1ZSBpZiB3ZSB3YW50IHRoZSBjdXJyZW50IGNvbXBpbGF0aW9u
IHVuaXQgdG8KLSAgIGRvIGRlYnVnIGFzc2VydGlvbiBjaGVja3MgdW5jb25kaXRpb25hbGx5IChl
LmcuIHRyZWF0IGEgZGVidWcgQVNTRVJUCi0gICBsaWtlIGEgUkVMRUFTRV9BU1NFUlQuCi0qLwot
I2lmbmRlZiBBU1NFUlRfRU5BQkxFRAotI2lmZGVmIE5ERUJVRwotI2RlZmluZSBBU1NFUlRfRU5B
QkxFRCAwCi0jZWxzZQotI2RlZmluZSBBU1NFUlRfRU5BQkxFRCAxCi0jZW5kaWYKLSNlbmRpZgot
Ci0KLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBVU0VfQ0cgMQotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX0NBIDEKLSNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShXUEUpCi0jZGVmaW5lIFVTRV9HTElCIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCi0jZGVmaW5lIFVTRV9GUkVFVFlQRSAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQotI2RlZmluZSBV
U0VfSEFSRkJVWlogMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQ
RSkKLSNkZWZpbmUgVVNFX1NPVVAgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKFdQRSkKLSNkZWZpbmUgVVNFX1dFQlAgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShH
VEspCi0jZGVmaW5lIEdMSUJfVkVSU0lPTl9NSU5fUkVRVUlSRUQgR0xJQl9WRVJTSU9OXzJfMzYK
LSNkZWZpbmUgR0RLX1ZFUlNJT05fTUlOX1JFUVVJUkVEIEdES19WRVJTSU9OXzNfNgotI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShXUEUpCi0jZGVmaW5lIEdMSUJfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
R0xJQl9WRVJTSU9OXzJfNDAKLSNlbmRpZgotCi0jaWYgVVNFKFNPVVApCi0jZGVmaW5lIFNPVVBf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgU09VUF9WRVJTSU9OXzJfNDIKLSNlbmRpZgotCi0vKiBPbiBX
aW5kb3dzLCB1c2UgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIgYnkgZGVmYXVsdCAqLwotI2lmIE9T
KFdJTkRPV1MpCi0jZGVmaW5lIFVTRV9RVUVSWV9QRVJGT1JNQU5DRV9DT1VOVEVSICAxCi0jZW5k
aWYKLQogI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX09VVF9PRl9QUk9DRVNTX0xB
WUVSX0hPU1RJTkcgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNF
X0NGIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpIHx8IChQTEFURk9STShHVEspIHx8
IFBMQVRGT1JNKFdQRSkpCi0jZGVmaW5lIFVTRV9GSUxFX0xPQ0sgMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX0ZPVU5EQVRJT04gMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNL
IDEKLSNlbmRpZgotCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLS8qIENvY29hIGRlZmluZXMgYSBz
ZXJpZXMgb2YgcGxhdGZvcm0gbWFjcm9zIGZvciBkZWJ1Z2dpbmcuICovCi0vKiBTb21lIG9mIHRo
ZW0gYXJlIHJlYWxseSBhbm5veWluZyBiZWNhdXNlIHRoZXkgdXNlIGNvbW1vbiBuYW1lcyAoZS5n
LiBjaGVjaygpKS4gKi8KLS8qIERpc2FibGUgdGhvc2UgbWFjcm9zIHNvIHRoYXQgd2UgYXJlIG5v
dCBsaW1pdGVkIGluIGhvdyB3ZSBuYW1lIG1ldGhvZHMgYW5kIGZ1bmN0aW9ucy4gKi8KLSN1bmRl
ZiBfX0FTU0VSVF9NQUNST1NfREVGSU5FX1ZFUlNJT05TX1dJVEhPVVRfVU5ERVJTQ09SRVMKLSNk
ZWZpbmUgX19BU1NFUlRfTUFDUk9TX0RFRklORV9WRVJTSU9OU19XSVRIT1VUX1VOREVSU0NPUkVT
IDAKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1JVTkxPT1BfVElN
RVIgMQogI2VuZGlmCkBAIC0yMjYsMjEgKzY0LDkgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
TUFDKQotI2RlZmluZSBVU0VfQVBQS0lUIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKQot
I2RlZmluZSBVU0VfUEFTU0tJVCAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKICNkZWZp
bmUgSEFWRV9ORVRXT1JLX0VYVEVOU0lPTiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykK
LSNkZWZpbmUgVVNFX1BMVUdJTl9IT1NUX1BST0NFU1MgMQotI2VuZGlmCi0KICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQogI2RlZmluZSBIQVZFX05FVFdPUktfRVhURU5TSU9OIDEKICNlbmRpZgpA
QCAtMjQ5LDE0ICs3NSw2IEBACiAjZGVmaW5lIEhBVkVfUkVBRExJTkUgMQogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBVU0VfVUlLSVRfRURJVElORyAxCi0jZW5k
aWYKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVmaW5lIFVTRV9XRUJfVEhSRUFEIDEK
LSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgQ1BVKEFSTV9ORU9OKQogI3Vu
ZGVmIEhBVkVfQVJNX05FT05fSU5UUklOU0lDUwogI2RlZmluZSBIQVZFX0FSTV9ORU9OX0lOVFJJ
TlNJQ1MgMApAQCAtMjkwLDcgKzEwOCw2IEBACiAjZGVmaW5lIFVTRV9VSUtJVF9LRVlCT0FSRF9B
RERJVElPTlMgMQogI2VuZGlmCiAKLQogI2lmICFkZWZpbmVkKEhBVkVfQUNDRVNTSUJJTElUWSkg
JiYgKFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oV1BFKSkKICNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZIDEKICNlbmRpZgpAQCAt
MzYwLDEwICsxNzcsNiBAQAogI2RlZmluZSBIQVZFX0lOVDEyOF9UIDEKICNlbmRpZgogCi0jaWYg
T1MoVU5JWCkKLSNkZWZpbmUgVVNFX1BUSFJFQURTIDEKLSNlbmRpZgotCiAjaWYgT1MoVU5JWCkg
JiYgIU9TKEZVQ0hTSUEpCiAjZGVmaW5lIEhBVkVfUkVTT1VSQ0VfSCAxCiAjZW5kaWYKQEAgLTQx
MiwxNSArMjI1LDEwIEBACiAjZGVmaW5lIEhBVkVfTUFDSF9FWENFUFRJT05TIDEKICNlbmRpZgog
Ci0jaWYgT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oR1RLKQotI2RlZmluZSBVU0VfQUNDRUxFUkFU
RSAxCi0jZW5kaWYKLQogI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAj
ZGVmaW5lIEhBVkVfSE9TVEVEX0NPUkVfQU5JTUFUSU9OIDEKICNlbmRpZgogCi0KICNpZiBPUyhE
QVJXSU4pIHx8IE9TKEZVQ0hTSUEpIHx8ICgoT1MoRlJFRUJTRCkgfHwgZGVmaW5lZChfX0dMSUJD
X18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8
fCBDUFUoQVJNKSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKSkpCiAjZGVmaW5lIEhBVkVfTUFD
SElORV9DT05URVhUIDEKICNlbmRpZgpAQCAtNDI5LDI3ICsyMzcsMTMgQEAKICNkZWZpbmUgSEFW
RV9CQUNLVFJBQ0UgMQogI2VuZGlmCiAKLSNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQotI2lm
IFBMQVRGT1JNKEdUSykKLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJ
QkNfXykgJiYgIUNQVShNSVBTKQorI2lmIChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSkgJiYgUExB
VEZPUk0oR1RLKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykg
JiYgIUNQVShNSVBTKQogI2RlZmluZSBIQVZFX0JBQ0tUUkFDRV9TWU1CT0xTIDEKICNlbmRpZgot
I2VuZGlmIC8qIFBMQVRGT1JNKEdUSykgKi8KLSNkZWZpbmUgSEFWRV9ETEFERFIgMQotI2VuZGlm
IC8qIE9TKERBUldJTikgfHwgT1MoTElOVVgpICovCi0KLQotI2lmIE9TKFdJTkRPV1MpCi0jZGVm
aW5lIFVTRV9TWVNURU1fTUFMTE9DIDEKLSNlbmRpZgogCi0jaWYgIWRlZmluZWQoVVNFX0pTVkFM
VUU2NCkgJiYgIWRlZmluZWQoVVNFX0pTVkFMVUUzMl82NCkKLSNpZiBDUFUoQUREUkVTUzY0KSB8
fCBDUFUoQVJNNjQpCi0jZGVmaW5lIFVTRV9KU1ZBTFVFNjQgMQotI2Vsc2UKLSNkZWZpbmUgVVNF
X0pTVkFMVUUzMl82NCAxCisjaWYgT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKKyNkZWZpbmUgSEFW
RV9ETEFERFIgMQogI2VuZGlmCi0jZW5kaWYgLyogIWRlZmluZWQoVVNFX0pTVkFMVUU2NCkgJiYg
IWRlZmluZWQoVVNFX0pTVkFMVUUzMl82NCkgKi8KIAogI2lmIF9faGFzX2luY2x1ZGUoPFN5c3Rl
bS9wdGhyZWFkX21hY2hkZXAuaD4pCiAjZGVmaW5lIEhBVkVfRkFTVF9UTFMgMQpAQCAtNDU5LDEy
ICsyNTMsNiBAQAogI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQogI2VuZGlmCiAKLS8qIEZJ
WE1FOiBUaGlzIG5hbWUgc2hvdWxkIGJlIG1vcmUgc3BlY2lmaWMgaWYgaXQgaXMgb25seSBmb3Ig
dXNlIHdpdGggQ2FsbEZyYW1lKiAqLwotLyogVXNlIF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzKDEp
IHRvIGdldCBDYWxsRnJhbWUqICovCi0jaWYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpICYmIChD
UFUoQVJNNjQpIHx8IENQVShYODZfNjQpKQotI2RlZmluZSBVU0VfQlVJTFRJTl9GUkFNRV9BRERS
RVNTIDEKLSNlbmRpZgotCiAjaWYgQ1BVKEFSTTY0RSkgJiYgT1MoREFSV0lOKQogI2RlZmluZSBI
QVZFX0ZKQ1ZUWlNfSU5TVFJVQ1RJT04gMQogI2VuZGlmCkBAIC00NzMsMTggKzI2MSw2IEBACiAj
ZGVmaW5lIEhBVkVfQVBQX0xJTktTIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TKQotI2Rl
ZmluZSBVU0VfUEFTU0tJVCAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUg
VVNFX1FVSUNLX0xPT0sgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIFVT
RV9TWVNURU1fUFJFVklFVyAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYm
ICFQTEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZpbmUgSEFWRV9DRUxFU1RJQUwgMQogI2VuZGlm
CkBAIC00OTcsMTQgKzI3Myw2IEBACiAjZGVmaW5lIEhBVkVfUEFSRU5UQUxfQ09OVFJPTFNfV0lU
SF9VTkJMT0NLX0hBTkRMRVIgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZp
bmUgVVNFX0FWRk9VTkRBVElPTiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2Rl
ZmluZSBVU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEKLSNlbmRpZgotCiAvKiBG
SVhNRTogRW5hYmxlIEhBVkVfUEFSRU5UQUxfQ09OVFJPTFMgZm9yIHdhdGNoT1MgU2ltdWxhdG9y
IG9uY2UgcmRhcjovL3Byb2JsZW0vNTQ2MDgzODYgaXMgcmVzb2x2ZWQgKi8KICNpZiBQTEFURk9S
TShDT0NPQSkgJiYgKCFQTEFURk9STShBUFBMRVRWKSAmJiAoIVBMQVRGT1JNKFdBVENIT1MpIHx8
ICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikpKQogI2RlZmluZSBIQVZFX1BBUkVOVEFM
X0NPTlRST0xTIDEKQEAgLTUxNSwzNSArMjgzLDYgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
Q09DT0EpCi0jZGVmaW5lIFVTRV9NRVRBTCAxCi0jZW5kaWYKLQotCi0jaWYgVVNFKEdMSUIpCi0j
aW5jbHVkZSA8d3RmL2dsaWIvR1R5cGVkZWZzLmg+Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFVT
RV9FWFBPUlRfTUFDUk9TKSAmJiAoUExBVEZPUk0oQ09DT0EpIHx8IE9TKFdJTkRPV1MpKQotI2Rl
ZmluZSBVU0VfRVhQT1JUX01BQ1JPUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oV1BFKQotI2RlZmluZSBVU0VfVU5JWF9ET01BSU5fU09DS0VUUyAxCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKFVTRV9JTUxBTkdfRk9OVF9MSU5LMikKLSNkZWZpbmUgVVNFX0lNTEFO
R19GT05UX0xJTksyIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIFVT
RV9DT1JFTUVESUEgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNF
X1ZJREVPVE9PTEJPWCAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBI
QVZFX0FWRk9VTkRBVElPTl9WSURFT19PVVRQVVQgMQogI2VuZGlmCiAKQEAgLTU3MSwxMCArMzEw
LDYgQEAKICNkZWZpbmUgSEFWRV9BVkZPVU5EQVRJT05fTE9BREVSX0RFTEVHQVRFIDEKICNlbmRp
ZgogCi0jaWYgIVBMQVRGT1JNKFdJTikKLSNkZWZpbmUgVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FX0RJU1BMQVlfTU9OSVRPUiAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfQVBQTEVfR1JBUEhJQ1NfQ09OVFJPTCAx
CiAjZW5kaWYKQEAgLTU4MywxNCArMzE4LDYgQEAKICNkZWZpbmUgSEFWRV9OU0NVUlNPUiAxCiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgVVNFX0NPUkVBVURJTyAxCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKFVTRV9aTElCKQotI2RlZmluZSBVU0VfWkxJQiAxCi0jZW5kaWYK
LQogI2lmICFkZWZpbmVkKEhBVkVfUU9TX0NMQVNTRVMpICYmIFBMQVRGT1JNKENPQ09BKQogI2Rl
ZmluZSBIQVZFX1FPU19DTEFTU0VTIDEKICNlbmRpZgpAQCAtNTk5LDM5ICszMjYsMTEgQEAKICNk
ZWZpbmUgSEFWRV9WT1VDSEVSUyAxCiAjZW5kaWYKIAotI2RlZmluZSBVU0VfR1JBTU1BUl9DSEVD
S0lORyAxCi0KLSNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQotI2RlZmluZSBV
U0VfVU5JRklFRF9URVhUX0NIRUNLSU5HIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKQot
I2RlZmluZSBVU0VfQVVUT01BVElDX1RFWFRfUkVQTEFDRU1FTlQgMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShNQUMpCi0vKiBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJIGZvciBzdWdnZXN0aW5n
IGF1dG9jb3JyZWN0aW9uLiAqLwotI2RlZmluZSBVU0VfQVVUT0NPUlJFQ1RJT05fUEFORUwgMQot
I2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLS8qIFNvbWUgcGxhdGZvcm1zIHVzZSBzcGVs
bGluZyBhbmQgYXV0b2NvcnJlY3Rpb24gbWFya2VycyB0byBwcm92aWRlIHZpc3VhbCBjdWUuIE9u
IHN1Y2ggcGxhdGZvcm0sIGlmIHdvcmQgd2l0aCBtYXJrZXIgaXMgZWRpdGVkLCB3ZSBuZWVkIHRv
IHJlbW92ZSB0aGUgbWFya2VyLiAqLwotI2RlZmluZSBVU0VfTUFSS0VSX1JFTU9WQUxfVVBPTl9F
RElUSU5HIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBVU0VfSU5TRVJU
SU9OX1VORE9fR1JPVVBJTkcgMQotI2VuZGlmCi0KICNpZiBQTEFURk9STShDT0NPQSkKICNkZWZp
bmUgSEFWRV9BVkFTU0VUUkVBREVSIDEKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0j
ZGVmaW5lIFVTRV9BVURJT19TRVNTSU9OIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0Ep
CiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFIDEKICNlbmRpZgogCkBAIC02NDMsOTAgKzM0MiwxOCBA
QAogI2RlZmluZSBIQVZFX0lPU1VSRkFDRV9BQ0NFTEVSQVRPUiAxCiAjZW5kaWYKIAotI2lmIENP
TVBJTEVSKE1TVkMpCi0jdW5kZWYgX19TVERDX0ZPUk1BVF9NQUNST1MKLSNkZWZpbmUgX19TVERD
X0ZPUk1BVF9NQUNST1MKLSN1bmRlZiBfX1NURENfTElNSVRfTUFDUk9TCi0jZGVmaW5lIF9fU1RE
Q19MSU1JVF9NQUNST1MKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZF
X05TX0FDVElWSVRZIDEKICNlbmRpZgogCi0KLS8qIFNldCBUQVJHRVRfT1NfSVBIT05FIHRvIDAg
YnkgZGVmYXVsdCB0byBhbGxvdyB1c2luZyBpdCBhcyBhIGd1YXJkIAotICogaW4gY3Jvc3MtcGxh
dGZvcm0gdGhlIHNhbWUgd2F5IGFzIGl0IGlzIHVzZWQgaW4gT1MoREFSV0lOKSBjb2RlLiAqLyAK
LSNpZiAhZGVmaW5lZChUQVJHRVRfT1NfSVBIT05FKSAmJiAhT1MoREFSV0lOKQotI2RlZmluZSBU
QVJHRVRfT1NfSVBIT05FIDAKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5l
IFVTRV9NRURJQVRPT0xCT1ggMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZp
bmUgVVNFX09TX0xPRyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQotI2RlZmluZSBVU0VfT1NfU1RBVEUgMQotI2VuZGlmCi0KICNpZiBQ
TEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9TRUNfVFJVU1RfU0VSSUFMSVpBVElPTiAxCiAj
ZW5kaWYKIAotI2lmICFkZWZpbmVkKFdURl9ERUZBVUxUX0VWRU5UX0xPT1ApCi0jZGVmaW5lIFdU
Rl9ERUZBVUxUX0VWRU5UX0xPT1AgMQotI2VuZGlmCi0KLSNpZiBXVEZfREVGQVVMVF9FVkVOVF9M
T09QCi0jaWYgVVNFKEdMSUIpCi0vKiBVc2UgR0xpYidzIGV2ZW50IGxvb3AgYWJzdHJhY3Rpb24u
IFByaW1hcmlseSBHVEsgcG9ydCB1c2VzIGl0LiAqLwotI2RlZmluZSBVU0VfR0xJQl9FVkVOVF9M
T09QIDEKLSNlbGlmIE9TKFdJTkRPV1MpCi0vKiBVc2UgV2luZG93cyBtZXNzYWdlIHB1bXAgYWJz
dHJhY3Rpb24uCi0gKiBFdmVuIGlmIHRoZSBwb3J0IGlzIEFwcGxlV2luLCB3ZSB1c2UgdGhlIFdp
bmRvd3MgbWVzc2FnZSBwdW1wIHN5c3RlbSBmb3IgdGhlIGV2ZW50IGxvb3AsCi0gKiBzbyB0aGF0
IFVTRShXSU5ET1dTX0VWRU5UX0xPT1ApICYmIFVTRShDRikgY2FuIGJlIHRydWUuCi0gKiBBbmQg
UExBVEZPUk0oV0lOKSBhbmQgUExBVEZPUk0oR1RLKSBhcmUgZXhjbHVzaXZlLiBJZiB0aGUgcG9y
dCBpcyBHVEssCi0gKiBQTEFURk9STShXSU4pIHNob3VsZCBiZSBmYWxzZS4gQW5kIGluIHRoYXQg
Y2FzZSwgR0xpYidzIGV2ZW50IGxvb3AgaXMgdXNlZC4KLSAqLwotI2RlZmluZSBVU0VfV0lORE9X
U19FVkVOVF9MT09QIDEKLSNlbGlmIFBMQVRGT1JNKENPQ09BKQotLyogT1MgWCBhbmQgSU9TLiBV
c2UgQ29yZUZvdW5kYXRpb24gJiBHQ0QgYWJzdHJhY3Rpb24uICovCi0jZGVmaW5lIFVTRV9DT0NP
QV9FVkVOVF9MT09QIDEKLSNlbHNlCi0jZGVmaW5lIFVTRV9HRU5FUklDX0VWRU5UX0xPT1AgMQot
I2VuZGlmCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBVU0VfTUVESUFS
RU1PVEUgMQotI2VuZGlmCi0KLSNpZiBDT01QSUxFUihNU1ZDKQotLyogRW5hYmxlIHN0cmljdCBy
dW50aW1lIHN0YWNrIGJ1ZmZlciBjaGVja3MuICovCi0jcHJhZ21hIHN0cmljdF9nc19jaGVjayhv
bikKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1RPVUNIX0JBUiAx
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRF
Uk5BVElWRVMgMQotI2VuZGlmCi0KLQotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9T
KSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkgfHwgVVNFKEdDUllQVCkKLSNkZWZpbmUgSEFWRV9S
U0FfUFNTIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8
IFBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVmaW5lIFVTRV9TT1VSQ0VfQVBQTElDQVRJT05fQVVE
SVRfREFUQSAxCi0jZW5kaWYKLQogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQogI2RlZmluZSBIQVZF
X0hTVFNfU1RPUkFHRV9QQVRIIDEKICNlbmRpZgpAQCAtNzQ3LDEwICszNzQsNiBAQAogI2RlZmlu
ZSBIQVZFX1NFQ19LRVlfUFJPWFkgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYg
VVNFKENBKQotI2RlZmluZSBVU0VfSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFIDEKLSNl
bmRpZgotCiAvKiBGSVhNRTogU2hvdWxkIHRoaXMgYmUgZW5hYmxlZCBvciBJT1NfRkFNSUxZLCBu
b3QganVzdCBJT1M/ICovCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPUykKICNkZWZpbmUgSEFWRV9G
T1VOREFUSU9OX1dJVEhfU0FWRV9DT09LSUVTX1dJVEhfQ09NUExFVElPTl9IQU5ETEVSIDEKQEAg
LTc2NywxMSArMzkwLDYgQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0NG
TkVUV09SS19XSVRIX0NPTlRFTlRfRU5DT0RJTkdfU05JRkZJTkdfT1ZFUlJJREUgMQotLyogVGhl
IG92ZXJyaWRlIGlzbid0IG5lZWRlZCBvbiBpT1MgZmFtaWx5LCBhcyB0aGUgZGVmYXVsdCBiZWhh
dmlvciBpcyB0byBub3Qgc25pZmYuICovCi0vKiBGSVhNRTogVGhpcyBzaG91bGQgcHJvYmFibHkg
YmUgZW5hYmxlZCBvbiAxMC4xMy4yIGFuZCBuZXdlciwgbm90IGp1c3QgMTAuMTQgYW5kIG5ld2Vy
LiAqLwotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE0MDAKLSNkZWZpbmUgVVNFX0NGTkVUV09SS19DT05URU5UX0VOQ09ESU5HX1NOSUZG
SU5HX09WRVJSSURFIDEKLSNlbmRpZgogI2VuZGlmCiAKICNpZiAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElP
U19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkg
fHwgUExBVEZPUk0oR1RLKQpAQCAtNzkwLDExICs0MDgsNiBAQAogI2RlZmluZSBIQVZFX0ZVTkNf
VVNMRUVQIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXUEUpCi0v
KiBGSVhNRTogVGhpcyByZWFsbHkgbmVlZHMgYSBkZXNjcmlwdGl2ZSBuYW1lLCB0aGlzICJuZXcg
dGhlbWUiIHdhcyBhZGRlZCBpbiAyMDA4LiAqLwotI2RlZmluZSBVU0VfTkVXX1RIRU1FIDEKLSNl
bmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1dJTkRPV19TRVJWRVJfT0ND
TFVTSU9OX05PVElGSUNBVElPTlMgMQogI2VuZGlmCkBAIC05MTIsMTAgKzUyNSw2IEBACiAjZGVm
aW5lIEhBVkVfREVWSUNFX01BTkFHRU1FTlQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTUwMAotI2RlZmluZSBVU0Vf
UkVBTFBBVEhfRk9SX0RMT1BFTl9QUkVGTElHSFQgMQotI2VuZGlmCi0KICNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBM
QVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEzMDAwMCkgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikKICNkZWZp
bmUgSEFWRV9OU1VSTFNFU1NJT05fV0VCU09DS0VUIDEKICNlbmRpZgpAQCAtOTQ0LDEwICs1NTMs
NiBAQAogI2RlZmluZSBIQVZFX1NFQ19UUlVTVF9FVkFMVUFURV9XSVRIX0VSUk9SIDEKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUg
VVNFX1VJQ09OVEVYVE1FTlUgMQotI2VuZGlmCi0KICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVfU1VCVklF
V1NfSVZBUl9TUEkgMQogI2VuZGlmCkBAIC05NTYsMTAgKzU2MSw2IEBACiAjZGVmaW5lIEhBVkVf
U1VCVklFV1NfSVZBUl9ERUNMQVJFRF9CWV9TREsgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShN
QUMpIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMTAwMDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExF
VFYpCi0jZGVmaW5lIFVTRV9QTEFURk9STV9TWVNURU1fRkFMTEJBQ0tfTElTVCAxCi0jZW5kaWYK
LQogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49
IDEwMTUwMAogI2RlZmluZSBIQVZFX0FYX0NMSUVOVF9UWVBFIDEKICNlbmRpZgpAQCAtOTgwLDE0
NCArNTgxLDYgQEAKICNkZWZpbmUgSEFWRV9ORUFSX0ZJRUxEIDEKICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkgfHwgKCEoZGVmaW5lZChVU0VfU1lTVEVNX01BTExPQykgJiYgVVNF
X1NZU1RFTV9NQUxMT0MpICYmIChPUyhMSU5VWCkgJiYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oV1BFKSkpKQotI2RlZmluZSBVU0VfQk1BTExPQ19NRU1PUllfRk9PVFBSSU5UX0FQSSAxCi0j
ZW5kaWYKLQogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogI2RlZmluZSBIQVZFX09T
X1NJR05QT1NUIDEKICNlbmRpZgotCi0KLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYm
IF9faGFzX2luY2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsUGxhdGZvcm0uaD4pCi0j
aW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxQbGF0Zm9ybS5oPgotI2VuZGlmCi0K
LSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRp
dGlvbnMvQWRkaXRpb25hbEZlYXR1cmVEZWZpbmVzLmg+KQotI2luY2x1ZGUgPFdlYktpdEFkZGl0
aW9ucy9BZGRpdGlvbmFsRmVhdHVyZURlZmluZXMuaD4KLSNlbmRpZgotCi0vKiBfX1BMQVRGT1JN
X0lORElSRUNUX18gZW5zdXJlcyB0aGF0IHVzZXJzICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4g
cmF0aGVyIHRoYW4gd3RmL0ZlYXR1cmVEZWZpbmVzLmggZGlyZWN0bHkuICovCi0jZGVmaW5lIF9f
UExBVEZPUk1fSU5ESVJFQ1RfXwotCi0vKiBJbmNsdWRlIGZlYXR1cmUgbWFjcm9zICovCi0jaW5j
bHVkZSA8d3RmL1BsYXRmb3JtRW5hYmxlLmg+Ci0KLSN1bmRlZiBfX1BMQVRGT1JNX0lORElSRUNU
X18KLQotCi0KLS8qIEZJWE1FOiBUaGUgZm9sbG93aW5nIGFyZSBjdXJyZW5seSBwb3NpdGlvbmVk
IGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGFzIHRoZXkgYXJlIGN1cnJlbnRseSBkZXBlbmRl
bnQgb24gRU5BQkxFIG1hY3Jvcy4gKi8KLQotLyogRklYTUU6IFJlbW92ZSBkZXBlbmRlbmNlIG9u
IEVOQUJMRShXRUJfUlRDKS4gKi8KLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKFdFQl9S
VEMpCi0jZGVmaW5lIFVTRV9MSUJXRUJSVEMgMQotI2VuZGlmCi0KLS8qIEZJWE1FOiBUaGlzIGlz
IHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCIsIHNvIHNob3Vs
ZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAqLwotLyogVGhpcyBmZWF0dXJlIHdv
cmtzIGJ5IGVtYmVkZGluZyB0aGUgT3Bjb2RlSUQgaW4gdGhlIDMyIGJpdCBqdXN0IGJlZm9yZSB0
aGUgZ2VuZXJhdGVkIExMaW50IGNvZGUKLSAgIHRoYXQgZXhlY3V0ZXMgZWFjaCBvcGNvZGUuIEl0
IGNhbm5vdCBiZSBzdXBwb3J0ZWQgYnkgdGhlIENMb29wIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IHRv
IGVtYmVkIHRoZQotICAgT3Bjb2RlSUQgd29yZCBpbiB0aGUgQ0xvb3AncyBzd2l0Y2ggc3RhdGVt
ZW50IGNhc2VzLiBJdCBpcyBhbHNvIGN1cnJlbnRseSBub3QgaW1wbGVtZW50ZWQgZm9yIE1TVkMu
Ci0qLwotI2lmICFkZWZpbmVkKFVTRV9MTElOVF9FTUJFRERFRF9PUENPREVfSUQpICYmICFFTkFC
TEUoQ19MT09QKSAmJiAhQ09NUElMRVIoTVNWQykgJiYgXAotICAgIChDUFUoWDg2KSB8fCBDUFUo
WDg2XzY0KSB8fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgT1MoREFSV0lOKSkp
Ci0jZGVmaW5lIFVTRV9MTElOVF9FTUJFRERFRF9PUENPREVfSUQgMQotI2VuZGlmCi0KLQotI2lm
IFBMQVRGT1JNKENPQ09BKQotI2lmIEVOQUJMRShXRUJHTCkKLQotLyogVVNFX0FOR0xFPTEgdXNl
cyBBTkdMRSBmb3IgdGhlIFdlYkdMIGJhY2tlbmQuCi0gICBJdCByZXBsYWNlcyBVU0VfT1BFTkdM
LCBVU0VfT1BFTkdMX0VTIGFuZCBVU0VfRUdMLiAqLwotI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBM
QVRGT1JNKE1BQ0NBVEFMWVNUKSAmJiBfX2hhc19pbmNsdWRlKDxPcGVuR0wvT3BlbkdMLmg+KSkK
LSNkZWZpbmUgVVNFX09QRU5HTCAxCi0jZGVmaW5lIFVTRV9PUEVOR0xfRVMgMAotI2RlZmluZSBV
U0VfQU5HTEUgMAotI2Vsc2UKLSNkZWZpbmUgVVNFX09QRU5HTCAwCi0jZGVmaW5lIFVTRV9PUEVO
R0xfRVMgMQotI2RlZmluZSBVU0VfQU5HTEUgMAotI2VuZGlmCi0KLSNpZm5kZWYgR0xfU0lMRU5D
RV9ERVBSRUNBVElPTgotI2RlZmluZSBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9OIDEKLSNlbmRpZgot
Ci0jaWYgVVNFKE9QRU5HTCkgJiYgIWRlZmluZWQoSEFWRV9PUEVOR0xfNCkKLSNkZWZpbmUgSEFW
RV9PUEVOR0xfNCAxCi0jZW5kaWYKLQotI2lmIFVTRShPUEVOR0xfRVMpICYmICFkZWZpbmVkKEhB
VkVfT1BFTkdMX0VTXzMpCi0jZGVmaW5lIEhBVkVfT1BFTkdMX0VTXzMgMQotI2VuZGlmCi0KLSNp
ZiBVU0VfQU5HTEUgJiYgKFVTRV9PUEVOR0wgfHwgVVNFX09QRU5HTF9FUykKLSNlcnJvciBVU0Vf
QU5HTEUgaXMgaW5jb21wYXRpYmxlIHdpdGggVVNFX09QRU5HTCBhbmQgVVNFX09QRU5HTF9FUwot
I2VuZGlmCi0KLSNlbmRpZiAvKiBFTkFCTEUoV0VCR0wpICovCi0jZW5kaWYgLyogUExBVEZPUk0o
Q09DT0EpICovCi0KLSNpZiBFTkFCTEUoV0VCR0wpCi0jaWYgIWRlZmluZWQoVVNFX0FOR0xFKQot
I2RlZmluZSBVU0VfQU5HTEUgMAotI2VuZGlmCi0KLSNpZiAoVVNFX0FOR0xFICYmIChVU0VfT1BF
TkdMIHx8IFVTRV9PUEVOR0xfRVMgfHwgKGRlZmluZWQoVVNFX0VHTCkgJiYgVVNFX0VHTCkpKSAm
JiAhVVNFKFRFWFRVUkVfTUFQUEVSKQotI2Vycm9yIFVTRV9BTkdMRSBpcyBpbmNvbXBhdGlibGUg
d2l0aCBVU0VfT1BFTkdMLCBVU0VfT1BFTkdMX0VTIGFuZCBVU0VfRUdMCi0jZW5kaWYKLSNlbmRp
ZgotCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBFTkFCTEUoR1JBUEhJQ1NfQ09OVEVYVF9H
TCkgJiYgIWRlZmluZWQoVVNFX1RFWFRVUkVfTUFQUEVSX0dMKQotI2RlZmluZSBVU0VfVEVYVFVS
RV9NQVBQRVJfR0wgMQotI2VuZGlmCi0KLS8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4g
b24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQg
dG8gYW4gRU5BQkxFIG1hY3JvLiAqLwotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoQUND
RVNTSUJJTElUWSkKLSNkZWZpbmUgVVNFX0FDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUyAxCi0j
ZW5kaWYKLQotCi0vKiBGSVhNRTogVGhlc2UgY2FsbGluZyBjb252ZW50aW9uIG1hY3JvcyBzaG91
bGQgbW92ZSB0byB0aGVpciBvd24gZmlsZS4gVGhleSBhcmUgYXQgdGhlIGJvdHRvbSBjdXJyZW50
bHkgYmVjYXVzZSB0aGV5IGRlcGVuZCBvbiBGZWF0dXJlRGVmaW5lcy5oICovCi0KLSNpZiBDUFUo
WDg2KSAmJiBDT01QSUxFUihNU1ZDKQotI2RlZmluZSBKU0NfSE9TVF9DQUxMIF9fZmFzdGNhbGwK
LSNlbGlmIENQVShYODYpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQotI2RlZmluZSBKU0Nf
SE9TVF9DQUxMIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCi0jZWxzZQotI2RlZmluZSBKU0Nf
SE9TVF9DQUxMCi0jZW5kaWYKLQotI2lmIENQVShYODYpICYmIE9TKFdJTkRPV1MpCi0jZGVmaW5l
IENBTExJTkdfQ09OVkVOVElPTl9JU19TVERDQUxMIDEKLSNpZm5kZWYgQ0RFQ0wKLSNpZiBDT01Q
SUxFUihNU1ZDKQotI2RlZmluZSBDREVDTCBfX2NkZWNsCi0jZWxzZQotI2RlZmluZSBDREVDTCBf
X2F0dHJpYnV0ZV9fICgoX19jZGVjbCkpCi0jZW5kaWYKLSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUg
Q0FMTElOR19DT05WRU5USU9OX0lTX1NURENBTEwgMAotI2VuZGlmCi0KLSNpZiBDUFUoWDg2KQot
I2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfRkFTVENBTExfQ0FMTElOR19DT05WRU5USU9O
IDEKLSNpZm5kZWYgRkFTVENBTEwKLSNpZiBDT01QSUxFUihNU1ZDKQotI2RlZmluZSBGQVNUQ0FM
TCBfX2Zhc3RjYWxsCi0jZWxzZQotI2RlZmluZSBGQVNUQ0FMTCAgX19hdHRyaWJ1dGVfXyAoKGZh
c3RjYWxsKSkKLSNlbmRpZgotI2VuZGlmCi0jZWxzZQotI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQ
UE9SVFNfRkFTVENBTExfQ0FMTElOR19DT05WRU5USU9OIDAKLSNlbmRpZgotCi0jaWYgRU5BQkxF
KEpJVCkgJiYgQ0FMTElOR19DT05WRU5USU9OX0lTX1NURENBTEwKLSNkZWZpbmUgSklUX09QRVJB
VElPTiBDREVDTAotI2Vsc2UKLSNkZWZpbmUgSklUX09QRVJBVElPTgotI2VuZGlmCg==
</data>
<flag name="review"
          id="403580"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>