<?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>65910</bug_id>
          
          <creation_ts>2011-08-09 05:00:28 -0700</creation_ts>
          <short_desc>JavaMethodJobject is no longer needed by V8</short_desc>
          <delta_ts>2011-08-09 07:19:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Steve Block">steveblock</assigned_to>
          <cc>steveblock</cc>
    
    <cc>tonyg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>448519</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-08-09 05:00:28 -0700</bug_when>
    <thetext>After http://trac.webkit.org/changeset/92659, JavaMethodJobject is not used by V8. We can therefore remove the JavaScript engine-independent interface JavaMethod and move the implementation to WebCore/bridge/jni/jsc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448557</commentid>
    <comment_count>1</comment_count>
      <attachid>103354</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-08-09 06:41:20 -0700</bug_when>
    <thetext>Created attachment 103354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448575</commentid>
    <comment_count>2</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-08-09 07:19:15 -0700</bug_when>
    <thetext>Committed r92681: &lt;http://trac.webkit.org/changeset/92681&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103354</attachid>
            <date>2011-08-09 06:41:20 -0700</date>
            <delta_ts>2011-08-09 07:10:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65910-20110809144119.patch</filename>
            <type>text/plain</type>
            <size>38954</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI2NzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlY2JiMGI4NWI4NGE2Mzkw
ZTllNTZiNGY2MzA1M2U4NmRmZDM4NTg5Li40NTk1YWQ1M2VkNDU5MWQ2ZGNmNGJmM2ZjYmRlNjNk
MWE2Nzk3OGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDgtMDkgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIEphdmFNZXRob2RKb2Jq
ZWN0IGlzIG5vIGxvbmdlciBuZWVkZWQgYnkgVjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlcyB0aGUgSmF2YU1ldGhvZCBpbnRlcmZhY2UgYW5k
IG1vdmVzIHRoZSBKYXZhTWV0aG9kSm9iamVjdAorICAgICAgICBpbXBsZW1lbnRhdGlvbiB0byBi
cmlkZ2Uvam5pL2pzYy9KYXZhTWV0aG9kSlNDLltjcHB8aF0uCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCByZWZhY3RvcmluZyBvbmx5LgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToK
KyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJyaWRnZS9qbmkvSmF2YU1ldGhvZC5oOiBSZW1vdmVk
LgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFDbGFzc0pTQy5jcHA6CisgICAgICAgIChK
YXZhQ2xhc3M6OkphdmFDbGFzcyk6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YUZpZWxk
SlNDLmg6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcDoKKyAg
ICAgICAgKiBicmlkZ2Uvam5pL2pzYy9KYXZhTWV0aG9kSlNDLmNwcDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSmF2YU1ldGhvZEpvYmplY3QuY3BwLgorICAgICAgICAo
SmF2YU1ldGhvZDo6SmF2YU1ldGhvZCk6CisgICAgICAgIChKYXZhTWV0aG9kOjp+SmF2YU1ldGhv
ZCk6CisgICAgICAgIChhcHBlbmRDbGFzc05hbWUpOgorICAgICAgICAoSmF2YU1ldGhvZDo6c2ln
bmF0dXJlKToKKyAgICAgICAgKiBicmlkZ2Uvam5pL2pzYy9KYXZhTWV0aG9kSlNDLmg6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0phdmFNZXRob2RKb2JqZWN0LmguCisg
ICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhTWV0aG9kOjpuYW1lKToKKyAgICAgICAgKEpTQzo6
QmluZGluZ3M6OkphdmFNZXRob2Q6OnJldHVyblR5cGVDbGFzc05hbWUpOgorICAgICAgICAoSlND
OjpCaW5kaW5nczo6SmF2YU1ldGhvZDo6cGFyYW1ldGVyQXQpOgorICAgICAgICAoSlNDOjpCaW5k
aW5nczo6SmF2YU1ldGhvZDo6cmV0dXJuVHlwZSk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpK
YXZhTWV0aG9kOjppc1N0YXRpYyk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpKYXZhTWV0aG9k
OjpudW1QYXJhbWV0ZXJzKToKKyAgICAgICAgKiBicmlkZ2Uvam5pL3Y4L0phdmFOUE9iamVjdFY4
LmNwcDoKKwogMjAxMS0wOC0wOSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBnZXQgcmlkIG9mIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6aW5zcGVjdG9yQWdlbnRzKCkgbWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQppbmRleCA2MWZiZGZiOGVmZjQ4ZTlkZjc4ZmMwOTk1ZDA5MjUyN2E5YTJkY2Y4Li5mM2NiYzNl
ZjdmNzY1MDgyYTc1MzZkMjdlOTNlNDA4ZjM1YmY5ZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTg4NCw5ICs4ODQsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYnJp
ZGdlL0lkZW50aWZpZXJSZXAuaCBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KTklVdGls
aXR5LmggXAotCVNvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSmF2YU1ldGhvZC5oIFwKLQlTb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvam5pL0phdmFNZXRob2RKb2JqZWN0LmNwcCBcCi0JU291cmNlL1dl
YkNvcmUvYnJpZGdlL2puaS9KYXZhTWV0aG9kSm9iamVjdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvam5pL0phdmFTdHJpbmcuaCBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KYXZh
VHlwZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9qc29iamVjdC5oIFwKQEAg
LTg5NCw2ICs4OTEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9qbmkvanNjL0phdmFDbGFzc0pTQy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5p
L2pzYy9KYXZhRmllbGRKU0MuaCBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2
YUluc3RhbmNlSlNDLmggXAorCVNvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFNZXRo
b2RKU0MuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhTWV0aG9kSlND
LmggXAogCVNvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdl
L25wYXBpLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDZmN2MyZWRiZWU4MGM5Nzc0ZGI5NTdkZjVh
OWZkMjZlOTA4YzBhMmYuLjZlNGNmYjg0MTQzYzk0YjQ2MGZhZTUwMWZiOThmZmExMWQyMDkwNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTIyMzIsOSArMjIzMiw2IEBACiAgICAgICAgICAgICAnYnJp
ZGdlL2MvY191dGlsaXR5LmNwcCcsCiAgICAgICAgICAgICAnYnJpZGdlL2MvY191dGlsaXR5Lmgn
LAogICAgICAgICAgICAgJ2JyaWRnZS9qbmkvSk5JVXRpbGl0eS5jcHAnLAotICAgICAgICAgICAg
J2JyaWRnZS9qbmkvSmF2YU1ldGhvZC5oJywKLSAgICAgICAgICAgICdicmlkZ2Uvam5pL0phdmFN
ZXRob2RKb2JqZWN0LmNwcCcsCi0gICAgICAgICAgICAnYnJpZGdlL2puaS9KYXZhTWV0aG9kSm9i
amVjdC5oJywKICAgICAgICAgICAgICdicmlkZ2Uvam5pL0phdmFTdHJpbmcuaCcsCiAgICAgICAg
ICAgICAnYnJpZGdlL2puaS9KYXZhVHlwZS5oJywKICAgICAgICAgICAgICdicmlkZ2Uvam5pL0pv
YmplY3RXcmFwcGVyLmNwcCcsCkBAIC0yMjUxLDYgKzIyNDgsOCBAQAogICAgICAgICAgICAgJ2Jy
aWRnZS9qbmkvanNjL0phdmFGaWVsZEpTQy5oJywKICAgICAgICAgICAgICdicmlkZ2Uvam5pL2pz
Yy9KYXZhSW5zdGFuY2VKU0MuY3BwJywKICAgICAgICAgICAgICdicmlkZ2Uvam5pL2pzYy9KYXZh
SW5zdGFuY2VKU0MuaCcsCisgICAgICAgICAgICAnYnJpZGdlL2puaS9qc2MvSmF2YU1ldGhvZEpT
Qy5jcHAnLAorICAgICAgICAgICAgJ2JyaWRnZS9qbmkvanNjL0phdmFNZXRob2RKU0MuaCcsCiAg
ICAgICAgICAgICAnYnJpZGdlL2puaS9qc2MvSmF2YVJ1bnRpbWVPYmplY3QuY3BwJywKICAgICAg
ICAgICAgICdicmlkZ2Uvam5pL2pzYy9KYXZhUnVudGltZU9iamVjdC5oJywKICAgICAgICAgICAg
ICdicmlkZ2Uvam5pL2pzYy9KYXZhU3RyaW5nSlNDLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZlZWRmNTA4NDkxMTMxNzk4
ZTE1ODhlZDJhOTA2YjFjM2MwZGJhY2MuLjdiZTc2OWI5Yzk0YTE5ZmFlZGI1MzFkOWE5ZjUzYmIx
MmMzYTU3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTE1MDMsNyArMTUwMyw2IEBACiAJCTU5MTNBMjQyMTNENDlFQkEwMEY1
QjA1QyAvKiBJZGVudGlmaWVyc0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTNBMjQwMTNENDlFQkEwMEY1QjA1QyAvKiBJZGVudGlmaWVy
c0ZhY3RvcnkuaCAqLzsgfTsKIAkJNTkzMDlBMTExMUY0QUU1ODAwMjUwNjAzIC8qIERldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1OTMwOUExMDExRjRBRTU4MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrLmNwcCAqLzsgfTsKIAkJNTkzMDlBMTMxMUY0QUU2QTAwMjUwNjAzIC8qIERl
dmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTkzMDlBMTIxMUY0QUU2QTAwMjUwNjAzIC8qIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCTU5M0QzRUFGMTMyNTMyOEMwMDU3RTdFRSAvKiBKYXZhTWV0aG9kLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTNEM0VBRTEzMjUz
MjhDMDA1N0U3RUUgLyogSmF2YU1ldGhvZC5oICovOyB9OwogCQk1OTNEM0VCMTEzMjUzMjk1MDA1
N0U3RUUgLyogSmF2YVN0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTkzRDNFQjAxMzI1MzI5NTAwNTdFN0VFIC8qIEphdmFTdHJpbmcuaCAqLzsg
fTsKIAkJNTk2OTUwODIxMzIxMDU5OTAwQzNFRDE4IC8qIEpvYmplY3RXcmFwcGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTY5NTA4MTEzMjEwNTk5
MDBDM0VEMTggLyogSm9iamVjdFdyYXBwZXIuaCAqLzsgfTsKIAkJNTk2OTUwODQxMzIxMDVBNTAw
QzNFRDE4IC8qIEpvYmplY3RXcmFwcGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU5Njk1MDgzMTMyMTA1QTUwMEMzRUQxOCAvKiBKb2JqZWN0V3Jh
cHBlci5jcHAgKi87IH07CkBAIC0xNTE1LDggKzE1MTQsNiBAQAogCQk1OThENzdERjEzMjU0MUZB
MDA3NjFCMjIgLyogSmF2YUFycmF5SlNDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1OThENzdERTEzMjU0MUZBMDA3NjFCMjIgLyogSmF2YUFycmF5SlND
LmggKi87IH07CiAJCTU5OEQ3N0UxMTMyNTQyMDQwMDc2MUIyMiAvKiBKYXZhRmllbGRKU0MuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk4RDc3RTAx
MzI1NDIwNDAwNzYxQjIyIC8qIEphdmFGaWVsZEpTQy5jcHAgKi87IH07CiAJCTU5OEQ3N0UzMTMy
NTQyMEUwMDc2MUIyMiAvKiBKYXZhRmllbGRKU0MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5OEQ3N0UyMTMyNTQyMEUwMDc2MUIyMiAvKiBKYXZhRmll
bGRKU0MuaCAqLzsgfTsKLQkJNTk5QzY3MUMxMzQzNDM4OTAwQzM0MjNDIC8qIEphdmFNZXRob2RK
b2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU5OUM2NzFCMTM0MzQzODkwMEMzNDIzQyAvKiBKYXZhTWV0aG9kSm9iamVjdC5jcHAgKi87IH07
Ci0JCTU5OUM2NzFFMTM0MzQzOTQwMEMzNDIzQyAvKiBKYXZhTWV0aG9kSm9iamVjdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk5QzY3MUQxMzQzNDM5
NDAwQzM0MjNDIC8qIEphdmFNZXRob2RKb2JqZWN0LmggKi87IH07CiAJCTU5OUU3NTkwMTEwNTVB
MUYwMEQ5MDRGQSAvKiBCcmlkZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU5OUU3NThGMTEwNTVBMUYwMEQ5MDRGQSAvKiBCcmlkZ2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OUE4NUVBMjExOUQ2
OEQ5MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUE4NUVBMTExOUQ2OEQ5MDBERUYxRUYg
LyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi87IH07CiAJCTU5QTg1RUE0MTE5RDY4RUMw
MERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUE4NUVBMzExOUQ2OEVDMDBERUYxRUYgLyogRGV2
aWNlT3JpZW50YXRpb25FdmVudC5oICovOyB9OwpAQCAtMTUzNiw2ICsxNTMzLDggQEAKIAkJNTlD
MjgwNDUxMzhEQzI0MTAwNzlCN0UyIC8qIFhNTEVycm9ycy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUMyODA0MzEzOERDMjQxMDA3OUI3RTIgLyog
WE1MRXJyb3JzLmNwcCAqLzsgfTsKIAkJNTlDMjgwNDYxMzhEQzI0MTAwNzlCN0UyIC8qIFhNTEVy
cm9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlD
MjgwNDQxMzhEQzI0MTAwNzlCN0UyIC8qIFhNTEVycm9ycy5oICovOyB9OwogCQk1OUQxQzEwNDEx
RUI1RENGMDBCNjM4QzggLyogRGV2aWNlT3JpZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlEMUMxMDMxMUVCNURDRjAwQjYzOEM4IC8q
IERldmljZU9yaWVudGF0aW9uLmNwcCAqLzsgfTsKKwkJNTlERTc5MDQxM0YxNkM3RjAwMDdGQ0RG
IC8qIEphdmFNZXRob2RKU0MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTlERTc5MDMxM0YxNkM3RjAwMDdGQ0RGIC8qIEphdmFNZXRob2RKU0MuY3Bw
ICovOyB9OworCQk1OURFNzkwNjEzRjE2QzhDMDAwN0ZDREYgLyogSmF2YU1ldGhvZEpTQy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlERTc5MDUxM0Yx
NkM4QzAwMDdGQ0RGIC8qIEphdmFNZXRob2RKU0MuaCAqLzsgfTsKIAkJNTlFNTYwQTcxMTA1MzM2
NjAwQUExMjU4IC8qIEphdmFDbGFzc0pTQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTlFNTYwQTYxMTA1MzM2NjAwQUExMjU4IC8qIEphdmFDbGFzc0pT
Qy5oICovOyB9OwogCQk1OUU1NjBBOTExMDUzMzZGMDBBQTEyNTggLyogSmF2YUNsYXNzSlNDLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5RTU2MEE4
MTEwNTMzNkYwMEFBMTI1OCAvKiBKYXZhQ2xhc3NKU0MuY3BwICovOyB9OwogCQk1OUVFMTIyQzEx
MDYwODA1MDA4ODUxMTYgLyogSk5JVXRpbGl0eVByaXZhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlFRTEyMkIxMTA2MDgwNTAwODg1MTE2IC8q
IEpOSVV0aWxpdHlQcml2YXRlLmNwcCAqLzsgfTsKQEAgLTgxMjEsNyArODEyMCw2IEBACiAJCTU5
MzA5QTEyMTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmg7IHBhdGggPSBtb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1OTNBQjY5NzEzNTVDRDkyMDBGQzgyMTEgLyogUG9zaXRp
b25DYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUG9zaXRpb25DYWxsYmFjay5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5M0FCNjk5MTM1NUNEQUUwMEZDODIx
MSAvKiBQb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBv
c2l0aW9uRXJyb3JDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU5
M0QzRUFFMTMyNTMyOEMwMDU3RTdFRSAvKiBKYXZhTWV0aG9kLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEphdmFNZXRob2QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTkzRDNFQjAxMzI1MzI5NTAwNTdFN0VFIC8qIEphdmFTdHJpbmcuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSmF2YVN0cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1OTU4RjFDQjEzNDM5MTdDMDA4MEIzMUYgLyogWE1MVmlld2VyLmNzcyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuY3NzOyBwYXRoID0gWE1MVmlld2VyLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTk1OEYxQ0MxMzQzOTE3QzAwODBCMzFGIC8qIFhNTFZpZXdlci5qcyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IFhNTFZpZXdlci5qczsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTgxMzUsOCArODEzMyw2IEBACiAJCTU5OEQ3N0RFMTMyNTQx
RkEwMDc2MUIyMiAvKiBKYXZhQXJyYXlKU0MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gSmF2YUFycmF5SlNDLmg7IHBhdGggPSBqc2MvSmF2YUFycmF5SlNDLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5OEQ3N0UwMTMyNTQyMDQwMDc2MUIyMiAvKiBKYXZhRmll
bGRKU0MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSmF2YUZpZWxk
SlNDLmNwcDsgcGF0aCA9IGpzYy9KYXZhRmllbGRKU0MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1OThENzdFMjEzMjU0MjBFMDA3NjFCMjIgLyogSmF2YUZpZWxkSlNDLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEphdmFGaWVsZEpTQy5oOyBwYXRoID0ganNj
L0phdmFGaWVsZEpTQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1OTlDNjcxQjEz
NDM0Mzg5MDBDMzQyM0MgLyogSmF2YU1ldGhvZEpvYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSmF2YU1ldGhvZEpvYmplY3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk1OTlDNjcxRDEzNDM0Mzk0MDBDMzQyM0MgLyogSmF2YU1ldGhvZEpv
YmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSmF2YU1ldGhvZEpvYmpl
Y3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTk5RTc1OEYxMTA1NUExRjAwRDkw
NEZBIC8qIEJyaWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBCcmlkZ2Uu
aDsgcGF0aCA9IGJyaWRnZS9CcmlkZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTlBODVFQTExMTlENjhEOTAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5QTg1RUEzMTE5RDY4RUMwMERF
RjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTgxNTcsNiArODE1Myw4IEBACiAJCTU5QzI4MDQzMTM4REMyNDEwMDc5QjdFMiAv
KiBYTUxFcnJvcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gWE1M
RXJyb3JzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTlDMjgwNDQxMzhEQzI0
MTAwNzlCN0UyIC8qIFhNTEVycm9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBYTUxFcnJvcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTlEMUMxMDMxMUVC
NURDRjAwQjYzOEM4IC8qIERldmljZU9yaWVudGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNTlERTc5MDMxM0YxNkM3RjAwMDdGQ0RGIC8qIEphdmFNZXRob2RKU0Mu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSmF2YU1ldGhvZEpTQy5j
cHA7IHBhdGggPSBqc2MvSmF2YU1ldGhvZEpTQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTU5REU3OTA1MTNGMTZDOEMwMDA3RkNERiAvKiBKYXZhTWV0aG9kSlNDLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEphdmFNZXRob2RKU0MuaDsgcGF0aCA9IGpzYy9K
YXZhTWV0aG9kSlNDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5RTU2MEE2MTEw
NTMzNjYwMEFBMTI1OCAvKiBKYXZhQ2xhc3NKU0MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gSmF2YUNsYXNzSlNDLmg7IHBhdGggPSBqc2MvSmF2YUNsYXNzSlNDLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5RTU2MEE4MTEwNTMzNkYwMEFBMTI1OCAvKiBKYXZh
Q2xhc3NKU0MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSmF2YUNs
YXNzSlNDLmNwcDsgcGF0aCA9IGpzYy9KYXZhQ2xhc3NKU0MuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1OUVFMTIyQjExMDYwODA1MDA4ODUxMTYgLyogSk5JVXRpbGl0eVByaXZh
dGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSk5JVXRpbGl0eVBy
aXZhdGUuY3BwOyBwYXRoID0ganNjL0pOSVV0aWxpdHlQcml2YXRlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjQ5LDkgKzEzMjQ3LDYgQEAKIAkJMUE1NjlDQ0UwRDdFMkI4
MjAwN0MzOTgzIC8qIGpuaSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCi0JCQkJNTkzRDNFQUUxMzI1MzI4QzAwNTdFN0VFIC8qIEphdmFNZXRob2QuaCAqLywKLQkJ
CQk1OTlDNjcxQjEzNDM0Mzg5MDBDMzQyM0MgLyogSmF2YU1ldGhvZEpvYmplY3QuY3BwICovLAot
CQkJCTU5OUM2NzFEMTM0MzQzOTQwMEMzNDIzQyAvKiBKYXZhTWV0aG9kSm9iamVjdC5oICovLAog
CQkJCTU5M0QzRUIwMTMyNTMyOTUwMDU3RTdFRSAvKiBKYXZhU3RyaW5nLmggKi8sCiAJCQkJNTlC
MEVFQTYxMzJBNkYyQTAwNDMzMUM3IC8qIEphdmFUeXBlLmggKi8sCiAJCQkJMUE1NjlDRDQwRDdF
MkI4MjAwN0MzOTgzIC8qIGpuaV9qc29iamVjdC5oICovLApAQCAtMTQyMzMsNiArMTQyMjgsOCBA
QAogCQk1OTlEMUUyRjEwQzk3RDRDMDBFMEVGMTIgLyoganNjICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1OURFNzkwNTEzRjE2QzhDMDAwN0ZDREYgLyog
SmF2YU1ldGhvZEpTQy5oICovLAorCQkJCTU5REU3OTAzMTNGMTZDN0YwMDA3RkNERiAvKiBKYXZh
TWV0aG9kSlNDLmNwcCAqLywKIAkJCQk1OThENzdEQzEzMjU0MUVFMDA3NjFCMjIgLyogSmF2YUFy
cmF5SlNDLmNwcCAqLywKIAkJCQk1OThENzdERTEzMjU0MUZBMDA3NjFCMjIgLyogSmF2YUFycmF5
SlNDLmggKi8sCiAJCQkJNTlFNTYwQTgxMTA1MzM2RjAwQUExMjU4IC8qIEphdmFDbGFzc0pTQy5j
cHAgKi8sCkBAIC0yMTc1NSw4ICsyMTc1Miw2IEBACiAJCQkJNTlFNTYwQTcxMTA1MzM2NjAwQUEx
MjU4IC8qIEphdmFDbGFzc0pTQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTk4RDc3RTMxMzI1NDIw
RTAwNzYxQjIyIC8qIEphdmFGaWVsZEpTQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTlBOUU3QjIx
MTA0NzU5NDAwREZCNEMxIC8qIEphdmFJbnN0YW5jZUpTQy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NTkzRDNFQUYxMzI1MzI4QzAwNTdFN0VFIC8qIEphdmFNZXRob2QuaCBpbiBIZWFkZXJzICovLAot
CQkJCTU5OUM2NzFFMTM0MzQzOTQwMEMzNDIzQyAvKiBKYXZhTWV0aG9kSm9iamVjdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTE2OTgyNjgxMTM0NjgwNzAwODk0MTE1IC8qIEphdmFSdW50aW1lT2Jq
ZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAzNjEyQjAyNjc2MDBDMUEzNTkgLyogSmF2
YVNjcmlwdEF1ZGlvTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM4MUJBMEEwRTk3MzQ4MzAw
MjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjMzNTcs
NiArMjMzNTIsNyBAQAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29k
ZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBY
U1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhEQ0Ug
LyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTU5REU3OTA2MTNGMTZDOEMwMDA3RkNE
RiAvKiBKYXZhTWV0aG9kSlNDLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI0NjcxLDcgKzI0NjY3LDYg
QEAKIAkJCQk1OUU1NjBBOTExMDUzMzZGMDBBQTEyNTggLyogSmF2YUNsYXNzSlNDLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTU5OEQ3N0UxMTMyNTQyMDQwMDc2MUIyMiAvKiBKYXZhRmllbGRKU0Mu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTlBOUU3QjAxMTA0NzU4ODAwREZCNEMxIC8qIEphdmFJ
bnN0YW5jZUpTQy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1OTlDNjcxQzEzNDM0Mzg5MDBDMzQy
M0MgLyogSmF2YU1ldGhvZEpvYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE2OTgyNjQx
MTM0NjdGMzAwODk0MTE1IC8qIEphdmFSdW50aW1lT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZEMzE2MDM1MTJCMDI2NzYwMEMxQTM1OSAvKiBKYXZhU2NyaXB0QXVkaW9Ob2RlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTFDODFCQTA5MEU5NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0
Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjYxNjUsNiArMjYxNjAsNyBAQAogCQkJ
CUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTU5REU3OTA0MTNGMTZDN0YwMDA3RkNERiAvKiBKYXZhTWV0
aG9kSlNDLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL2puaS9KYXZhTWV0aG9kLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0phdmFNZXRo
b2QuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTA2ODY5Mzc5ZDIyZmQ1ODQ5ZTIz
NTk0ZjZiYjE3OTAwNjJiMTRkYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0phdmFNZXRob2QuaAorKysgL2Rl
di9udWxsCkBAIC0xLDYxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQs
IDIwMDUsIDIwMDcsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICogQ29weXJpZ2h0IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIEphdmFNZXRob2RfaAotI2RlZmluZSBKYXZhTWV0aG9kX2gKLQotI2lmIEVOQUJM
RShKQVZBX0JSSURHRSkKLQotI2luY2x1ZGUgIkJyaWRnZS5oIgotI2luY2x1ZGUgIkphdmFUeXBl
LmgiCi0KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIEpTQyB7
Ci0KLW5hbWVzcGFjZSBCaW5kaW5ncyB7Ci0KLXR5cGVkZWYgY29uc3QgY2hhciogUnVudGltZVR5
cGU7Ci0KLWNsYXNzIEphdmFNZXRob2QgOiBwdWJsaWMgTWV0aG9kIHsKLXB1YmxpYzoKLSAgICB2
aXJ0dWFsIH5KYXZhTWV0aG9kKCkge30KLQotICAgIHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25z
dCA9IDA7Ci0gICAgdmlydHVhbCBSdW50aW1lVHlwZSByZXR1cm5UeXBlQ2xhc3NOYW1lKCkgY29u
c3QgPSAwOwotICAgIHZpcnR1YWwgU3RyaW5nIHBhcmFtZXRlckF0KGludCkgY29uc3QgPSAwOwot
ICAgIHZpcnR1YWwgY29uc3QgY2hhciogc2lnbmF0dXJlKCkgY29uc3QgPSAwOwotICAgIHZpcnR1
YWwgSmF2YVR5cGUgcmV0dXJuVHlwZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNT
dGF0aWMoKSBjb25zdCA9IDA7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBCaW5kaW5ncwotCi19IC8v
IG5hbWVzcGFjZSBKU0MKLQotI2VuZGlmIC8vIEVOQUJMRShKQVZBX0JSSURHRSkKLQotI2VuZGlm
IC8vIEphdmFNZXRob2RfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9K
YXZhTWV0aG9kSm9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0phdmFNZXRo
b2RKb2JqZWN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzNjYWU1NDgyOWJl
YTZhMTQ4YmZjOTBmODA3YWE1ZDRkMDhiMzU3OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0phdmFNZXRob2RK
b2JqZWN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE2NyArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA3LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQ
cm9qZWN0Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkphdmFNZXRob2RK
b2JqZWN0LmgiCi0KLSNpZiBFTkFCTEUoSkFWQV9CUklER0UpCi0KLSNpbmNsdWRlICJKYXZhU3Ry
aW5nLmgiCi0KLSNpZiBVU0UoSlNDKQotI2luY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4KLSNp
bmNsdWRlIDxydW50aW1lL1Njb3BlQ2hhaW4uaD4KLSNlbmRpZgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuaD4KLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLXVzaW5nIG5hbWVzcGFj
ZSBKU0M6OkJpbmRpbmdzOwotCi1KYXZhTWV0aG9kSm9iamVjdDo6SmF2YU1ldGhvZEpvYmplY3Qo
Sk5JRW52KiBlbnYsIGpvYmplY3QgYU1ldGhvZCkKLXsKLSAgICAvLyBHZXQgcmV0dXJuIHR5cGUg
bmFtZQotICAgIGpzdHJpbmcgcmV0dXJuVHlwZU5hbWUgPSAwOwotICAgIGlmIChqb2JqZWN0IHJl
dHVyblR5cGUgPSBjYWxsSk5JTWV0aG9kPGpvYmplY3Q+KGFNZXRob2QsICJnZXRSZXR1cm5UeXBl
IiwgIigpTGphdmEvbGFuZy9DbGFzczsiKSkgewotICAgICAgICAgICAgcmV0dXJuVHlwZU5hbWUg
PSBzdGF0aWNfY2FzdDxqc3RyaW5nPihjYWxsSk5JTWV0aG9kPGpvYmplY3Q+KHJldHVyblR5cGUs
ICJnZXROYW1lIiwgIigpTGphdmEvbGFuZy9TdHJpbmc7IikpOwotICAgICAgICBpZiAoIXJldHVy
blR5cGVOYW1lKQotICAgICAgICAgICAgcmV0dXJuVHlwZU5hbWUgPSBlbnYtPk5ld1N0cmluZ1VU
RigiPFVua25vd24+Iik7Ci0gICAgICAgIGVudi0+RGVsZXRlTG9jYWxSZWYocmV0dXJuVHlwZSk7
Ci0gICAgfQotICAgIG1fcmV0dXJuVHlwZUNsYXNzTmFtZSA9IEphdmFTdHJpbmcoZW52LCByZXR1
cm5UeXBlTmFtZSk7Ci0gICAgbV9yZXR1cm5UeXBlID0gamF2YVR5cGVGcm9tQ2xhc3NOYW1lKG1f
cmV0dXJuVHlwZUNsYXNzTmFtZS51dGY4KCkpOwotICAgIGVudi0+RGVsZXRlTG9jYWxSZWYocmV0
dXJuVHlwZU5hbWUpOwotCi0gICAgLy8gR2V0IG1ldGhvZCBuYW1lCi0gICAganN0cmluZyBtZXRo
b2ROYW1lID0gc3RhdGljX2Nhc3Q8anN0cmluZz4oY2FsbEpOSU1ldGhvZDxqb2JqZWN0PihhTWV0
aG9kLCAiZ2V0TmFtZSIsICIoKUxqYXZhL2xhbmcvU3RyaW5nOyIpKTsKLSAgICBpZiAoIW1ldGhv
ZE5hbWUpCi0gICAgICAgIG1ldGhvZE5hbWUgPSBlbnYtPk5ld1N0cmluZ1VURigiPFVua25vd24+
Iik7Ci0gICAgbV9uYW1lID0gSmF2YVN0cmluZyhlbnYsIG1ldGhvZE5hbWUpOwotICAgIGVudi0+
RGVsZXRlTG9jYWxSZWYobWV0aG9kTmFtZSk7Ci0KLSAgICAvLyBHZXQgcGFyYW1ldGVycwotICAg
IGlmIChqYXJyYXkganBhcmFtZXRlcnMgPSBzdGF0aWNfY2FzdDxqYXJyYXk+KGNhbGxKTklNZXRo
b2Q8am9iamVjdD4oYU1ldGhvZCwgImdldFBhcmFtZXRlclR5cGVzIiwgIigpW0xqYXZhL2xhbmcv
Q2xhc3M7IikpKSB7Ci0gICAgICAgIHVuc2lnbmVkIGludCBudW1QYXJhbXMgPSBlbnYtPkdldEFy
cmF5TGVuZ3RoKGpwYXJhbWV0ZXJzKTsKLQotICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0g
MDsgaSA8IG51bVBhcmFtczsgaSsrKSB7Ci0gICAgICAgICAgICBqb2JqZWN0IGFQYXJhbWV0ZXIg
PSBlbnYtPkdldE9iamVjdEFycmF5RWxlbWVudChzdGF0aWNfY2FzdDxqb2JqZWN0QXJyYXk+KGpw
YXJhbWV0ZXJzKSwgaSk7Ci0gICAgICAgICAgICBqc3RyaW5nIHBhcmFtZXRlck5hbWUgPSBzdGF0
aWNfY2FzdDxqc3RyaW5nPihjYWxsSk5JTWV0aG9kPGpvYmplY3Q+KGFQYXJhbWV0ZXIsICJnZXRO
YW1lIiwgIigpTGphdmEvbGFuZy9TdHJpbmc7IikpOwotICAgICAgICAgICAgaWYgKCFwYXJhbWV0
ZXJOYW1lKQotICAgICAgICAgICAgICAgIHBhcmFtZXRlck5hbWUgPSBlbnYtPk5ld1N0cmluZ1VU
RigiPFVua25vd24+Iik7Ci0gICAgICAgICAgICBtX3BhcmFtZXRlcnMuYXBwZW5kKEphdmFTdHJp
bmcoZW52LCBwYXJhbWV0ZXJOYW1lKS5pbXBsKCkpOwotICAgICAgICAgICAgZW52LT5EZWxldGVM
b2NhbFJlZihhUGFyYW1ldGVyKTsKLSAgICAgICAgICAgIGVudi0+RGVsZXRlTG9jYWxSZWYocGFy
YW1ldGVyTmFtZSk7Ci0gICAgICAgIH0KLSAgICAgICAgZW52LT5EZWxldGVMb2NhbFJlZihqcGFy
YW1ldGVycyk7Ci0gICAgfQotCi0gICAgLy8gQ3JlYXRlZCBsYXppbHkuCi0gICAgbV9zaWduYXR1
cmUgPSAwOwotCi0gICAgamNsYXNzIG1vZGlmaWVyQ2xhc3MgPSBlbnYtPkZpbmRDbGFzcygiamF2
YS9sYW5nL3JlZmxlY3QvTW9kaWZpZXIiKTsKLSAgICBpbnQgbW9kaWZpZXJzID0gY2FsbEpOSU1l
dGhvZDxqaW50PihhTWV0aG9kLCAiZ2V0TW9kaWZpZXJzIiwgIigpSSIpOwotICAgIG1faXNTdGF0
aWMgPSBzdGF0aWNfY2FzdDxib29sPihjYWxsSk5JU3RhdGljTWV0aG9kPGpib29sZWFuPihtb2Rp
ZmllckNsYXNzLCAiaXNTdGF0aWMiLCAiKEkpWiIsIG1vZGlmaWVycykpOwotICAgIGVudi0+RGVs
ZXRlTG9jYWxSZWYobW9kaWZpZXJDbGFzcyk7Ci19Ci0KLUphdmFNZXRob2RKb2JqZWN0Ojp+SmF2
YU1ldGhvZEpvYmplY3QoKQotewotICAgIGlmIChtX3NpZ25hdHVyZSkKLSAgICAgICAgZmFzdEZy
ZWUobV9zaWduYXR1cmUpOwotfQotCi0vLyBKTkkgbWV0aG9kIHNpZ25hdHVyZXMgdXNlICcvJyBi
ZXR3ZWVuIGNvbXBvbmVudHMgb2YgYSBjbGFzcyBuYW1lLCBidXQKLS8vIHdlIGdldCAnLicgYmV0
d2VlbiBjb21wb25lbnRzIGZyb20gdGhlIHJlZmxlY3Rpb24gQVBJLgotc3RhdGljIHZvaWQgYXBw
ZW5kQ2xhc3NOYW1lKFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIsIGNvbnN0IGNoYXIqIGNsYXNzTmFt
ZSkKLXsKLSNpZiBVU0UoSlNDKQotICAgIEFTU0VSVChKU0xvY2s6OmxvY2tDb3VudCgpID4gMCk7
Ci0jZW5kaWYKLQotICAgIGNoYXIqIGMgPSBmYXN0U3RyRHVwKGNsYXNzTmFtZSk7Ci0KLSAgICBj
aGFyKiByZXN1bHQgPSBjOwotICAgIHdoaWxlICgqYykgewotICAgICAgICBpZiAoKmMgPT0gJy4n
KQotICAgICAgICAgICAgKmMgPSAnLyc7Ci0gICAgICAgIGMrKzsKLSAgICB9Ci0KLSAgICBidWls
ZGVyLmFwcGVuZChyZXN1bHQpOwotCi0gICAgZmFzdEZyZWUocmVzdWx0KTsKLX0KLQotY29uc3Qg
Y2hhciogSmF2YU1ldGhvZEpvYmplY3Q6OnNpZ25hdHVyZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFt
X3NpZ25hdHVyZSkgewotI2lmIFVTRShKU0MpCi0gICAgICAgIEpTTG9jayBsb2NrKFNpbGVuY2VB
c3NlcnRpb25zT25seSk7Ci0jZW5kaWYKLQotICAgICAgICBTdHJpbmdCdWlsZGVyIHNpZ25hdHVy
ZUJ1aWxkZXI7Ci0gICAgICAgIHNpZ25hdHVyZUJ1aWxkZXIuYXBwZW5kKCcoJyk7Ci0gICAgICAg
IGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbV9wYXJhbWV0ZXJzLnNpemUoKTsgaSsrKSB7
Ci0gICAgICAgICAgICBDU3RyaW5nIGphdmFDbGFzc05hbWUgPSBwYXJhbWV0ZXJBdChpKS51dGY4
KCk7Ci0gICAgICAgICAgICBKYXZhVHlwZSB0eXBlID0gamF2YVR5cGVGcm9tQ2xhc3NOYW1lKGph
dmFDbGFzc05hbWUuZGF0YSgpKTsKLSAgICAgICAgICAgIGlmICh0eXBlID09IEphdmFUeXBlQXJy
YXkpCi0gICAgICAgICAgICAgICAgYXBwZW5kQ2xhc3NOYW1lKHNpZ25hdHVyZUJ1aWxkZXIsIGph
dmFDbGFzc05hbWUuZGF0YSgpKTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAg
IHNpZ25hdHVyZUJ1aWxkZXIuYXBwZW5kKHNpZ25hdHVyZUZyb21KYXZhVHlwZSh0eXBlKSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKHR5cGUgPT0gSmF2YVR5cGVPYmplY3QKLSNpZiBVU0UoVjgpCi0g
ICAgICAgICAgICAgICAgICAgIHx8IHR5cGUgPT0gSmF2YVR5cGVTdHJpbmcKLSNlbmRpZgotICAg
ICAgICAgICAgICAgICAgICApIHsKLSAgICAgICAgICAgICAgICAgICAgYXBwZW5kQ2xhc3NOYW1l
KHNpZ25hdHVyZUJ1aWxkZXIsIGphdmFDbGFzc05hbWUuZGF0YSgpKTsKLSAgICAgICAgICAgICAg
ICAgICAgc2lnbmF0dXJlQnVpbGRlci5hcHBlbmQoJzsnKTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgc2lnbmF0dXJlQnVpbGRlci5hcHBlbmQo
JyknKTsKLQotICAgICAgICBjb25zdCBjaGFyKiByZXR1cm5UeXBlID0gbV9yZXR1cm5UeXBlQ2xh
c3NOYW1lLnV0ZjgoKTsKLSAgICAgICAgaWYgKG1fcmV0dXJuVHlwZSA9PSBKYXZhVHlwZUFycmF5
KQotICAgICAgICAgICAgYXBwZW5kQ2xhc3NOYW1lKHNpZ25hdHVyZUJ1aWxkZXIsIHJldHVyblR5
cGUpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHNpZ25hdHVyZUJ1aWxkZXIuYXBwZW5k
KHNpZ25hdHVyZUZyb21KYXZhVHlwZShtX3JldHVyblR5cGUpKTsKLSAgICAgICAgICAgIGlmICht
X3JldHVyblR5cGUgPT0gSmF2YVR5cGVPYmplY3QKLSNpZiBVU0UoVjgpCi0gICAgICAgICAgICAg
ICAgfHwgbV9yZXR1cm5UeXBlID09IEphdmFUeXBlU3RyaW5nCi0jZW5kaWYKLSAgICAgICAgICAg
ICAgICApIHsKLSAgICAgICAgICAgICAgICBhcHBlbmRDbGFzc05hbWUoc2lnbmF0dXJlQnVpbGRl
ciwgcmV0dXJuVHlwZSk7Ci0gICAgICAgICAgICAgICAgc2lnbmF0dXJlQnVpbGRlci5hcHBlbmQo
JzsnKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIFN0cmluZyBzaWduYXR1
cmVTdHJpbmcgPSBzaWduYXR1cmVCdWlsZGVyLnRvU3RyaW5nKCk7Ci0gICAgICAgIG1fc2lnbmF0
dXJlID0gZmFzdFN0ckR1cChzaWduYXR1cmVTdHJpbmcudXRmOCgpLmRhdGEoKSk7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIG1fc2lnbmF0dXJlOwotfQotCi0jZW5kaWYgLy8gRU5BQkxFKEpBVkFfQlJJ
REdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KYXZhTWV0aG9kSm9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KYXZhTWV0aG9kSm9iamVjdC5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTQ4MmJhZDkzOWIxZjRlZTYxYmZiNmI3ZTJk
YTNkNmVjMjBmMjE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSmF2YU1ldGhvZEpvYmplY3QuaAorKysgL2Rl
di9udWxsCkBAIC0xLDcyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQs
IDIwMDUsIDIwMDcsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICogQ29weXJpZ2h0IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIEphdmFNZXRob2RKb2JqZWN0X2gKLSNkZWZpbmUgSmF2YU1ldGhvZEpvYmplY3Rf
aAotCi0jaWYgRU5BQkxFKEpBVkFfQlJJREdFKQotCi0jaW5jbHVkZSAiSmF2YU1ldGhvZC5oIgot
I2luY2x1ZGUgIkphdmFTdHJpbmcuaCIKLQotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
LQotbmFtZXNwYWNlIEpTQyB7Ci0KLW5hbWVzcGFjZSBCaW5kaW5ncyB7Ci0KLWNsYXNzIEphdmFN
ZXRob2RKb2JqZWN0IDogcHVibGljIEphdmFNZXRob2QgewotcHVibGljOgotICAgIEphdmFNZXRo
b2RKb2JqZWN0KEpOSUVudiosIGpvYmplY3QpOwotICAgIHZpcnR1YWwgfkphdmFNZXRob2RKb2Jq
ZWN0KCk7Ci0KLSAgICAvLyBKYXZhTWV0aG9kIGltcGxlbWVudGF0aW9uCi0gICAgdmlydHVhbCBT
dHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZS5pbXBsKCk7IH0KLSAgICB2aXJ0dWFs
IFJ1bnRpbWVUeXBlIHJldHVyblR5cGVDbGFzc05hbWUoKSBjb25zdCB7IHJldHVybiBtX3JldHVy
blR5cGVDbGFzc05hbWUudXRmOCgpOyB9Ci0gICAgdmlydHVhbCBTdHJpbmcgcGFyYW1ldGVyQXQo
aW50IGkpIGNvbnN0IHsgcmV0dXJuIG1fcGFyYW1ldGVyc1tpXTsgfQotICAgIHZpcnR1YWwgY29u
c3QgY2hhciogc2lnbmF0dXJlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBKYXZhVHlwZSByZXR1cm5U
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9yZXR1cm5UeXBlOyB9Ci0gICAgdmlydHVhbCBib29sIGlz
U3RhdGljKCkgY29uc3QgeyByZXR1cm4gbV9pc1N0YXRpYzsgfQotCi0gICAgLy8gTWV0aG9kIGlt
cGxlbWVudGF0aW9uCi0gICAgdmlydHVhbCBpbnQgbnVtUGFyYW1ldGVycygpIGNvbnN0IHsgcmV0
dXJuIG1fcGFyYW1ldGVycy5zaXplKCk7IH0KLQotcHJpdmF0ZToKLSAgICBWZWN0b3I8U3RyaW5n
PiBtX3BhcmFtZXRlcnM7Ci0gICAgSmF2YVN0cmluZyBtX25hbWU7Ci0gICAgbXV0YWJsZSBjaGFy
KiBtX3NpZ25hdHVyZTsKLSAgICBKYXZhU3RyaW5nIG1fcmV0dXJuVHlwZUNsYXNzTmFtZTsKLSAg
ICBKYXZhVHlwZSBtX3JldHVyblR5cGU7Ci0gICAgYm9vbCBtX2lzU3RhdGljOwotfTsKLQotfSAv
LyBuYW1lc3BhY2UgQmluZGluZ3MKLQotfSAvLyBuYW1lc3BhY2UgSlNDCi0KLSNlbmRpZiAvLyBF
TkFCTEUoSkFWQV9CUklER0UpCi0KLSNlbmRpZiAvLyBKYXZhTWV0aG9kSm9iamVjdF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhQ2xhc3NKU0MuY3BwIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUNsYXNzSlNDLmNwcAppbmRleCA0NGVh
MmI0NTRkMThkYWIzMzczY2I3YmZhNGQ3MTYzZTMzY2ViYTg0Li45NzU2ZTdkZjYwNWMwOTUzZThi
YjRlMjg1NGIxZTU0NDkxYTllZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
am5pL2pzYy9KYXZhQ2xhc3NKU0MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
anNjL0phdmFDbGFzc0pTQy5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkpTRE9N
V2luZG93LmgiCiAjaW5jbHVkZSAiSmF2YUZpZWxkSlNDLmgiCi0jaW5jbHVkZSAiSmF2YU1ldGhv
ZEpvYmplY3QuaCIKKyNpbmNsdWRlICJKYXZhTWV0aG9kSlNDLmgiCiAjaW5jbHVkZSA8cnVudGlt
ZS9JZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KIApAQCAtNzYsNyAr
NzYsNyBAQCBKYXZhQ2xhc3M6OkphdmFDbGFzcyhqb2JqZWN0IGFuSW5zdGFuY2UpCiAgICAgICAg
IGludCBudW1NZXRob2RzID0gZW52LT5HZXRBcnJheUxlbmd0aChtZXRob2RzKTsKICAgICAgICAg
Zm9yIChpID0gMDsgaSA8IG51bU1ldGhvZHM7IGkrKykgewogICAgICAgICAgICAgam9iamVjdCBh
Sk1ldGhvZCA9IGVudi0+R2V0T2JqZWN0QXJyYXlFbGVtZW50KChqb2JqZWN0QXJyYXkpbWV0aG9k
cywgaSk7Ci0gICAgICAgICAgICBKYXZhTWV0aG9kKiBhTWV0aG9kID0gbmV3IEphdmFNZXRob2RK
b2JqZWN0KGVudiwgYUpNZXRob2QpOyAvLyBkZWxldGVkIGluIHRoZSBKYXZhQ2xhc3MgZGVzdHJ1
Y3RvcgorICAgICAgICAgICAgSmF2YU1ldGhvZCogYU1ldGhvZCA9IG5ldyBKYXZhTWV0aG9kKGVu
diwgYUpNZXRob2QpOyAvLyBkZWxldGVkIGluIHRoZSBKYXZhQ2xhc3MgZGVzdHJ1Y3RvcgogICAg
ICAgICAgICAgTWV0aG9kTGlzdCogbWV0aG9kTGlzdDsKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUZpZWxkSlNDLmggYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhRmllbGRKU0MuaAppbmRleCA5Yjk1MTMyODY2ZDBhNmNj
ZGNkYjVmMjZjMzVhYmEwMWZiNGNjOTI2Li5lYjVmOGJiOWU0NTA2ZTVmYzdmODIzNWFmZGMxOTVk
ZDE5YzE3NjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZh
RmllbGRKU0MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhRmllbGRK
U0MuaApAQCAtMzEsNyArMzEsNyBAQAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCiAjaW5jbHVk
ZSAiSk5JVXRpbGl0eS5oIgotI2luY2x1ZGUgIkphdmFNZXRob2QuaCIKKyNpbmNsdWRlICJKYXZh
TWV0aG9kSlNDLmgiCiAjaW5jbHVkZSAiSmF2YVN0cmluZy5oIgogI2luY2x1ZGUgIkpvYmplY3RX
cmFwcGVyLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0ph
dmFJbnN0YW5jZUpTQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5z
dGFuY2VKU0MuY3BwCmluZGV4IDUxYzYwMTY3NGFhYjQxY2M0MzcxNzhkOTNkMTkxYzllMjg2OWEw
MWMuLmQ2Mjk4OTRlMDZkZjI3ZmU2MWQ1MzVkNTY1YWQ4MjI5NmJiMTdjMDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcApAQCAtMzMs
NyArMzMsNyBAQAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkphdmFBcnJh
eUpTQy5oIgogI2luY2x1ZGUgIkphdmFDbGFzc0pTQy5oIgotI2luY2x1ZGUgIkphdmFNZXRob2Qu
aCIKKyNpbmNsdWRlICJKYXZhTWV0aG9kSlNDLmgiCiAjaW5jbHVkZSAiSmF2YVN0cmluZy5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJqbmlfanNvYmplY3QuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFNZXRob2RKU0MuY3BwIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YU1ldGhvZEpTQy5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjAxYmVhYWM3N2VjZTU5ODg4NzRiZTU1NjkxZGZhNjY2YWY3YWJlMgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFNZXRob2RKU0MuY3BwCkBAIC0w
LDAgKzEsMTYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA3
LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDEw
LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkphdmFNZXRob2RKU0MuaCIKKworI2lmIEVOQUJMRShKQVZBX0JSSURH
RSkKKworI2luY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxydW50aW1lL1Nj
b3BlQ2hhaW4uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK3VzaW5n
IG5hbWVzcGFjZSBKU0M7Cit1c2luZyBuYW1lc3BhY2UgSlNDOjpCaW5kaW5nczsKKworSmF2YU1l
dGhvZDo6SmF2YU1ldGhvZChKTklFbnYqIGVudiwgam9iamVjdCBhTWV0aG9kKQoreworICAgIC8v
IEdldCByZXR1cm4gdHlwZSBuYW1lCisgICAganN0cmluZyByZXR1cm5UeXBlTmFtZSA9IDA7Cisg
ICAgaWYgKGpvYmplY3QgcmV0dXJuVHlwZSA9IGNhbGxKTklNZXRob2Q8am9iamVjdD4oYU1ldGhv
ZCwgImdldFJldHVyblR5cGUiLCAiKClMamF2YS9sYW5nL0NsYXNzOyIpKSB7CisgICAgICAgICAg
ICByZXR1cm5UeXBlTmFtZSA9IHN0YXRpY19jYXN0PGpzdHJpbmc+KGNhbGxKTklNZXRob2Q8am9i
amVjdD4ocmV0dXJuVHlwZSwgImdldE5hbWUiLCAiKClMamF2YS9sYW5nL1N0cmluZzsiKSk7Cisg
ICAgICAgIGlmICghcmV0dXJuVHlwZU5hbWUpCisgICAgICAgICAgICByZXR1cm5UeXBlTmFtZSA9
IGVudi0+TmV3U3RyaW5nVVRGKCI8VW5rbm93bj4iKTsKKyAgICAgICAgZW52LT5EZWxldGVMb2Nh
bFJlZihyZXR1cm5UeXBlKTsKKyAgICB9CisgICAgbV9yZXR1cm5UeXBlQ2xhc3NOYW1lID0gSmF2
YVN0cmluZyhlbnYsIHJldHVyblR5cGVOYW1lKTsKKyAgICBtX3JldHVyblR5cGUgPSBqYXZhVHlw
ZUZyb21DbGFzc05hbWUobV9yZXR1cm5UeXBlQ2xhc3NOYW1lLnV0ZjgoKSk7CisgICAgZW52LT5E
ZWxldGVMb2NhbFJlZihyZXR1cm5UeXBlTmFtZSk7CisKKyAgICAvLyBHZXQgbWV0aG9kIG5hbWUK
KyAgICBqc3RyaW5nIG1ldGhvZE5hbWUgPSBzdGF0aWNfY2FzdDxqc3RyaW5nPihjYWxsSk5JTWV0
aG9kPGpvYmplY3Q+KGFNZXRob2QsICJnZXROYW1lIiwgIigpTGphdmEvbGFuZy9TdHJpbmc7Iikp
OworICAgIGlmICghbWV0aG9kTmFtZSkKKyAgICAgICAgbWV0aG9kTmFtZSA9IGVudi0+TmV3U3Ry
aW5nVVRGKCI8VW5rbm93bj4iKTsKKyAgICBtX25hbWUgPSBKYXZhU3RyaW5nKGVudiwgbWV0aG9k
TmFtZSk7CisgICAgZW52LT5EZWxldGVMb2NhbFJlZihtZXRob2ROYW1lKTsKKworICAgIC8vIEdl
dCBwYXJhbWV0ZXJzCisgICAgaWYgKGphcnJheSBqcGFyYW1ldGVycyA9IHN0YXRpY19jYXN0PGph
cnJheT4oY2FsbEpOSU1ldGhvZDxqb2JqZWN0PihhTWV0aG9kLCAiZ2V0UGFyYW1ldGVyVHlwZXMi
LCAiKClbTGphdmEvbGFuZy9DbGFzczsiKSkpIHsKKyAgICAgICAgdW5zaWduZWQgaW50IG51bVBh
cmFtcyA9IGVudi0+R2V0QXJyYXlMZW5ndGgoanBhcmFtZXRlcnMpOworCisgICAgICAgIGZvciAo
dW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtUGFyYW1zOyBpKyspIHsKKyAgICAgICAgICAgIGpv
YmplY3QgYVBhcmFtZXRlciA9IGVudi0+R2V0T2JqZWN0QXJyYXlFbGVtZW50KHN0YXRpY19jYXN0
PGpvYmplY3RBcnJheT4oanBhcmFtZXRlcnMpLCBpKTsKKyAgICAgICAgICAgIGpzdHJpbmcgcGFy
YW1ldGVyTmFtZSA9IHN0YXRpY19jYXN0PGpzdHJpbmc+KGNhbGxKTklNZXRob2Q8am9iamVjdD4o
YVBhcmFtZXRlciwgImdldE5hbWUiLCAiKClMamF2YS9sYW5nL1N0cmluZzsiKSk7CisgICAgICAg
ICAgICBpZiAoIXBhcmFtZXRlck5hbWUpCisgICAgICAgICAgICAgICAgcGFyYW1ldGVyTmFtZSA9
IGVudi0+TmV3U3RyaW5nVVRGKCI8VW5rbm93bj4iKTsKKyAgICAgICAgICAgIG1fcGFyYW1ldGVy
cy5hcHBlbmQoSmF2YVN0cmluZyhlbnYsIHBhcmFtZXRlck5hbWUpLmltcGwoKSk7CisgICAgICAg
ICAgICBlbnYtPkRlbGV0ZUxvY2FsUmVmKGFQYXJhbWV0ZXIpOworICAgICAgICAgICAgZW52LT5E
ZWxldGVMb2NhbFJlZihwYXJhbWV0ZXJOYW1lKTsKKyAgICAgICAgfQorICAgICAgICBlbnYtPkRl
bGV0ZUxvY2FsUmVmKGpwYXJhbWV0ZXJzKTsKKyAgICB9CisKKyAgICAvLyBDcmVhdGVkIGxhemls
eS4KKyAgICBtX3NpZ25hdHVyZSA9IDA7CisKKyAgICBqY2xhc3MgbW9kaWZpZXJDbGFzcyA9IGVu
di0+RmluZENsYXNzKCJqYXZhL2xhbmcvcmVmbGVjdC9Nb2RpZmllciIpOworICAgIGludCBtb2Rp
ZmllcnMgPSBjYWxsSk5JTWV0aG9kPGppbnQ+KGFNZXRob2QsICJnZXRNb2RpZmllcnMiLCAiKClJ
Iik7CisgICAgbV9pc1N0YXRpYyA9IHN0YXRpY19jYXN0PGJvb2w+KGNhbGxKTklTdGF0aWNNZXRo
b2Q8amJvb2xlYW4+KG1vZGlmaWVyQ2xhc3MsICJpc1N0YXRpYyIsICIoSSlaIiwgbW9kaWZpZXJz
KSk7CisgICAgZW52LT5EZWxldGVMb2NhbFJlZihtb2RpZmllckNsYXNzKTsKK30KKworSmF2YU1l
dGhvZDo6fkphdmFNZXRob2QoKQoreworICAgIGlmIChtX3NpZ25hdHVyZSkKKyAgICAgICAgZmFz
dEZyZWUobV9zaWduYXR1cmUpOworfQorCisvLyBKTkkgbWV0aG9kIHNpZ25hdHVyZXMgdXNlICcv
JyBiZXR3ZWVuIGNvbXBvbmVudHMgb2YgYSBjbGFzcyBuYW1lLCBidXQKKy8vIHdlIGdldCAnLicg
YmV0d2VlbiBjb21wb25lbnRzIGZyb20gdGhlIHJlZmxlY3Rpb24gQVBJLgorc3RhdGljIHZvaWQg
YXBwZW5kQ2xhc3NOYW1lKFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIsIGNvbnN0IGNoYXIqIGNsYXNz
TmFtZSkKK3sKKyNpZiBVU0UoSlNDKQorICAgIEFTU0VSVChKU0xvY2s6OmxvY2tDb3VudCgpID4g
MCk7CisjZW5kaWYKKworICAgIGNoYXIqIGMgPSBmYXN0U3RyRHVwKGNsYXNzTmFtZSk7CisKKyAg
ICBjaGFyKiByZXN1bHQgPSBjOworICAgIHdoaWxlICgqYykgeworICAgICAgICBpZiAoKmMgPT0g
Jy4nKQorICAgICAgICAgICAgKmMgPSAnLyc7CisgICAgICAgIGMrKzsKKyAgICB9CisKKyAgICBi
dWlsZGVyLmFwcGVuZChyZXN1bHQpOworCisgICAgZmFzdEZyZWUocmVzdWx0KTsKK30KKworY29u
c3QgY2hhciogSmF2YU1ldGhvZDo6c2lnbmF0dXJlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fc2ln
bmF0dXJlKSB7CisjaWYgVVNFKEpTQykKKyAgICAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2Vy
dGlvbnNPbmx5KTsKKyNlbmRpZgorCisgICAgICAgIFN0cmluZ0J1aWxkZXIgc2lnbmF0dXJlQnVp
bGRlcjsKKyAgICAgICAgc2lnbmF0dXJlQnVpbGRlci5hcHBlbmQoJygnKTsKKyAgICAgICAgZm9y
ICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBtX3BhcmFtZXRlcnMuc2l6ZSgpOyBpKyspIHsKKyAg
ICAgICAgICAgIENTdHJpbmcgamF2YUNsYXNzTmFtZSA9IHBhcmFtZXRlckF0KGkpLnV0ZjgoKTsK
KyAgICAgICAgICAgIEphdmFUeXBlIHR5cGUgPSBqYXZhVHlwZUZyb21DbGFzc05hbWUoamF2YUNs
YXNzTmFtZS5kYXRhKCkpOworICAgICAgICAgICAgaWYgKHR5cGUgPT0gSmF2YVR5cGVBcnJheSkK
KyAgICAgICAgICAgICAgICBhcHBlbmRDbGFzc05hbWUoc2lnbmF0dXJlQnVpbGRlciwgamF2YUNs
YXNzTmFtZS5kYXRhKCkpOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgc2ln
bmF0dXJlQnVpbGRlci5hcHBlbmQoc2lnbmF0dXJlRnJvbUphdmFUeXBlKHR5cGUpKTsKKyAgICAg
ICAgICAgICAgICBpZiAodHlwZSA9PSBKYXZhVHlwZU9iamVjdAorI2lmIFVTRShWOCkKKyAgICAg
ICAgICAgICAgICAgICAgfHwgdHlwZSA9PSBKYXZhVHlwZVN0cmluZworI2VuZGlmCisgICAgICAg
ICAgICAgICAgICAgICkgeworICAgICAgICAgICAgICAgICAgICBhcHBlbmRDbGFzc05hbWUoc2ln
bmF0dXJlQnVpbGRlciwgamF2YUNsYXNzTmFtZS5kYXRhKCkpOworICAgICAgICAgICAgICAgICAg
ICBzaWduYXR1cmVCdWlsZGVyLmFwcGVuZCgnOycpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBzaWduYXR1cmVCdWlsZGVyLmFwcGVuZCgnKScp
OworCisgICAgICAgIGNvbnN0IGNoYXIqIHJldHVyblR5cGUgPSBtX3JldHVyblR5cGVDbGFzc05h
bWUudXRmOCgpOworICAgICAgICBpZiAobV9yZXR1cm5UeXBlID09IEphdmFUeXBlQXJyYXkpCisg
ICAgICAgICAgICBhcHBlbmRDbGFzc05hbWUoc2lnbmF0dXJlQnVpbGRlciwgcmV0dXJuVHlwZSk7
CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgc2lnbmF0dXJlQnVpbGRlci5hcHBlbmQoc2ln
bmF0dXJlRnJvbUphdmFUeXBlKG1fcmV0dXJuVHlwZSkpOworICAgICAgICAgICAgaWYgKG1fcmV0
dXJuVHlwZSA9PSBKYXZhVHlwZU9iamVjdAorI2lmIFVTRShWOCkKKyAgICAgICAgICAgICAgICB8
fCBtX3JldHVyblR5cGUgPT0gSmF2YVR5cGVTdHJpbmcKKyNlbmRpZgorICAgICAgICAgICAgICAg
ICkgeworICAgICAgICAgICAgICAgIGFwcGVuZENsYXNzTmFtZShzaWduYXR1cmVCdWlsZGVyLCBy
ZXR1cm5UeXBlKTsKKyAgICAgICAgICAgICAgICBzaWduYXR1cmVCdWlsZGVyLmFwcGVuZCgnOycp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgU3RyaW5nIHNpZ25hdHVyZVN0
cmluZyA9IHNpZ25hdHVyZUJ1aWxkZXIudG9TdHJpbmcoKTsKKyAgICAgICAgbV9zaWduYXR1cmUg
PSBmYXN0U3RyRHVwKHNpZ25hdHVyZVN0cmluZy51dGY4KCkuZGF0YSgpKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gbV9zaWduYXR1cmU7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSkFWQV9CUklER0Up
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhTWV0aG9kSlND
LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhTWV0aG9kSlNDLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGNkNTA2MmM0Y2I0OGNlMTY1NmU4ZDEyM2MxMDg2MmJiZWJiNDU5MQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFNZXRob2RKU0MuaApA
QCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAy
MDA3LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBKYXZhTWV0aG9kSlNDX2gKKyNkZWZpbmUgSmF2YU1ldGhvZEpTQ19oCisKKyNpZiBFTkFCTEUo
SkFWQV9CUklER0UpCisKKyNpbmNsdWRlICJCcmlkZ2UuaCIKKyNpbmNsdWRlICJKYXZhU3RyaW5n
LmgiCisjaW5jbHVkZSAiSmF2YVR5cGUuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK25hbWVzcGFj
ZSBCaW5kaW5ncyB7CisKK3R5cGVkZWYgY29uc3QgY2hhciogUnVudGltZVR5cGU7CisKK2NsYXNz
IEphdmFNZXRob2QgOiBwdWJsaWMgTWV0aG9kIHsKK3B1YmxpYzoKKyAgICBKYXZhTWV0aG9kKEpO
SUVudiosIGpvYmplY3QgYU1ldGhvZCk7CisgICAgfkphdmFNZXRob2QoKTsKKworICAgIGNvbnN0
IFN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lLmltcGwoKTsgfQorICAgIFJ1bnRp
bWVUeXBlIHJldHVyblR5cGVDbGFzc05hbWUoKSBjb25zdCB7IHJldHVybiBtX3JldHVyblR5cGVD
bGFzc05hbWUudXRmOCgpOyB9CisgICAgY29uc3QgU3RyaW5nIHBhcmFtZXRlckF0KGludCBpKSBj
b25zdCB7IHJldHVybiBtX3BhcmFtZXRlcnNbaV07IH0KKyAgICBjb25zdCBjaGFyKiBzaWduYXR1
cmUoKSBjb25zdDsKKyAgICBKYXZhVHlwZSByZXR1cm5UeXBlKCkgY29uc3QgeyByZXR1cm4gbV9y
ZXR1cm5UeXBlOyB9CisgICAgYm9vbCBpc1N0YXRpYygpIGNvbnN0IHsgcmV0dXJuIG1faXNTdGF0
aWM7IH0KKworICAgIC8vIE1ldGhvZCBpbXBsZW1lbnRhdGlvbgorICAgIGludCBudW1QYXJhbWV0
ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLnNpemUoKTsgfQorCitwcml2YXRlOgor
ICAgIFZlY3RvcjxXVEY6OlN0cmluZz4gbV9wYXJhbWV0ZXJzOworICAgIEphdmFTdHJpbmcgbV9u
YW1lOworICAgIG11dGFibGUgY2hhciogbV9zaWduYXR1cmU7CisgICAgSmF2YVN0cmluZyBtX3Jl
dHVyblR5cGVDbGFzc05hbWU7CisgICAgSmF2YVR5cGUgbV9yZXR1cm5UeXBlOworICAgIGJvb2wg
bV9pc1N0YXRpYzsKK307CisKK30gLy8gbmFtZXNwYWNlIEJpbmRpbmdzCisKK30gLy8gbmFtZXNw
YWNlIEpTQworCisjZW5kaWYgLy8gRU5BQkxFKEpBVkFfQlJJREdFKQorCisjZW5kaWYgLy8gSmF2
YU1ldGhvZEpTQ19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0ph
dmFOUE9iamVjdFY4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YU5QT2Jq
ZWN0VjguY3BwCmluZGV4IDkyYTVlYWI3NDk5NTM2YzQ1ZWFjNjJjYTBiMTI5NTk2MjU0MThjMDUu
Ljk4OGRmMmQ4NjJjYWIwZGMyNjMxMzlmMmEzYTcxMGVkYmI0YzVhNWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YU5QT2JqZWN0VjguY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YU5QT2JqZWN0VjguY3BwCkBAIC0zMyw3ICszMyw3
IEBACiAjaW5jbHVkZSAiSmF2YUNsYXNzVjguaCIKICNpbmNsdWRlICJKYXZhRmllbGRWOC5oIgog
I2luY2x1ZGUgIkphdmFJbnN0YW5jZVY4LmgiCi0jaW5jbHVkZSAiSmF2YU1ldGhvZC5oIgorI2lu
Y2x1ZGUgIkphdmFNZXRob2RWOC5oIgogI2luY2x1ZGUgIkphdmFWYWx1ZVY4LmgiCiAjaW5jbHVk
ZSAibnBydW50aW1lX2ltcGwuaCIKIAo=
</data>
<flag name="review"
          id="98944"
          type_id="1"
          status="+"
          setter="tonyg"
    />
          </attachment>
      

    </bug>

</bugzilla>