<?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>204808</bug_id>
          
          <creation_ts>2019-12-03 12:34:11 -0800</creation_ts>
          <short_desc>[JSC] Remove WebAssemblyToJSCallee</short_desc>
          <delta_ts>2019-12-03 17:43:22 -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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1595121</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-03 12:34:11 -0800</bug_when>
    <thetext>[JSC] Remove WebAssemblyToJSCallee</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595124</commentid>
    <comment_count>1</comment_count>
      <attachid>384736</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-03 12:36:13 -0800</bug_when>
    <thetext>Created attachment 384736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595126</commentid>
    <comment_count>2</comment_count>
      <attachid>384738</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-03 12:37:55 -0800</bug_when>
    <thetext>Created attachment 384738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595176</commentid>
    <comment_count>3</comment_count>
      <attachid>384755</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-03 13:49:12 -0800</bug_when>
    <thetext>Created attachment 384755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595196</commentid>
    <comment_count>4</comment_count>
      <attachid>384755</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-12-03 14:39:50 -0800</bug_when>
    <thetext>Comment on attachment 384755
Patch

Nice! r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595291</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-03 17:40:09 -0800</bug_when>
    <thetext>Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595292</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-03 17:42:55 -0800</bug_when>
    <thetext>Committed r253075: &lt;https://trac.webkit.org/changeset/253075&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595293</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-03 17:43:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/57610008&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384736</attachid>
            <date>2019-12-03 12:36:13 -0800</date>
            <delta_ts>2019-12-03 12:37:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204808-20191203123612.patch</filename>
            <type>text/plain</type>
            <size>35799</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NDY2ZjVlYjI5MTEzYzMyODBmOGQ2NjMyMGQxMDQ0NTEwM2IwMjdmLi4wMWRkNmZiMDhjN2Q4M2Yx
MjlhZmQ3MzM5YWNkYzhhNjA2OTI5ODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAxOS0xMi0wMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSBXZWJBc3NlbWJseVRvSlNDYWxsZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgwOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZHJvcHMg
V2ViQXNzZW1ibHlUb0pTQ2FsbGVlLiBJdCB3YXMgb3JpZ2luYWxseSByZXF1aXJlZCB0byBwdXQg
c21hbGwgY2VsbCB0byByZXRyaWV2ZSBWTSBmcm9tIGNhbGxlZS4KKyAgICAgICAgQnV0IG5vdyB0
aGlzIGxpbWl0YXRpb24gaXMgcmVtb3ZlZC4gV2UgY2FuIGp1c3QgcHV0IEpTV2ViQXNzZW1ibHlN
b2R1bGUgaW4gY2FsbGVlIHBsYWNlIGluc3RlYWQuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAg
ICAgICAqIGludGVycHJldGVyL0NhbGxGcmFtZS5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFt
ZTo6aXNBbnlXYXNtQ2FsbGVlKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9TdGFja1Zpc2l0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpTdGFja1Zpc2l0b3I6OkZyYW1lOjpjYWxsZWVTYXZlUmVnaXN0
ZXJzRm9yVW53aW5kaW5nKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChK
U0M6OndlYkFzc2VtYmx5T3duZXIpOgorICAgICAgICAoSlNDOjpsaW5rRm9yKToKKyAgICAgICAg
KEpTQzo6bGlua1BvbHltb3JwaGljQ2FsbCk6CisgICAgICAgICogcnVudGltZS9KU0Nhc3QuaDoK
KyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgICogcnVudGltZS9KU0NlbGxJ
bmxpbmVzLmg6CisgICAgICAgIChKU0M6OmlzV2ViQXNzZW1ibHlNb2R1bGUpOgorICAgICAgICAo
SlNDOjppc1dlYkFzc2VtYmx5VG9KU0NhbGxlZSk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0
KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OndlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uU3RydWN0dXJlIGNvbnN0KToKKyAgICAgICAg
KEpTQzo6SlNHbG9iYWxPYmplY3Q6OndlYkFzc2VtYmx5VG9KU0NhbGxlZVN0cnVjdHVyZSBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9KU1R5cGUuY3BwOgorICAgICAgICAoV1RG
OjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZS5oOgorICAgICAgICAq
IHdhc20vV2FzbU9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpvcGVyYXRpb25X
YXNtVG9KU0V4Y2VwdGlvbik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFu
Y2UuY3BwOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjp2aXNpdENoaWxkcmVu
KToKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oOgorICAgICAgICAq
IHdhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNz
ZW1ibHlNb2R1bGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJs
eU1vZHVsZTo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlNb2R1
bGU6OmNhbGxlZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TW9kdWxlLmg6CisgICAgICAgICogd2FzbS9qcy9XYXNtVG9KUy5jcHA6CisgICAgICAgIChK
U0M6Oldhc206OmhhbmRsZUJhZEk2NFVzZSk6CisgICAgICAgIChKU0M6Oldhc206Ondhc21Ub0pT
KToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseVRvSlNDYWxsZWUuaDogUmVtb3ZlZC4KKwog
MjAxOS0xMi0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBQ
cm9wZXJ0eVNsb3Qgc2hvdWxkIG5vdCBoYXZlIEN1c3RvbXMgaGF2ZSBhIFByb3BlcnR5T2Zmc2V0
IG9mIHplcm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDllNzlhOGVkMjgzYWFk
NjU0Mzg4OTlhYjFlZjQ1NTIwODc5OWI0YS4uZDRmZTYzMzkyYmYwMGQyZWNhNzk2Zjk2YzkyOWM2
ZDRlNmJmYmZmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2MTAsNyArMTYx
MCw2IEBACiAJCUFEODZBOTNFMUFBNEQ4OEQwMDJGRTc3RiAvKiBXZWFrR0NNYXBJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRDg2QTkzRDFB
QTREODdDMDAyRkU3N0YgLyogV2Vha0dDTWFwSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUFEOEZGMzk4MUVCNUJEQjIwMDg3RkY4MiAv
KiBXYXNtSW5kZXhPck5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFEOEZGMzk1MUVCNUJEODUwMDg3RkY4MiAvKiBXYXNtSW5kZXhPck5hbWUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBRDlFODUy
RjFFOEEwQzdDMDA4REUzOUUgLyogSlNXZWJBc3NlbWJseUNvZGVCbG9jay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUQ5RTg1MkUxRThBMEM2RTAwOERF
MzlFIC8qIEpTV2ViQXNzZW1ibHlDb2RlQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlBREJDNTRENTFERjhFQTJCMDA1QkY3MzggLyogV2Vi
QXNzZW1ibHlUb0pTQ2FsbGVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBREJDNTREMzFERjhFQTAwMDA1QkY3MzggLyogV2ViQXNzZW1ibHlUb0pTQ2Fs
bGVlLmggKi87IH07CiAJCUFERDhGQTQ2MUVCMzA3OTcwMERGNTQyRiAvKiBXYXNtTmFtZVNlY3Rp
b25QYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFERDhGQTQzMUVCMzA3NzEwMERGNTQyRiAvKiBXYXNtTmFtZVNlY3Rpb25QYXJzZXIuaCAqLzsg
fTsKIAkJQURFODAyOTkxRTA4RjFERTAwNThERTc4IC8qIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFERTgwMjk0
MUUwOEYxQzkwMDU4REU3OCAvKiBKU1dlYkFzc2VtYmx5TGlua0Vycm9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQURFODAyOUExRTA4RjFERTAw
NThERTc4IC8qIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFERTgwMjk1MUUwOEYxQzkwMDU4REU3
OCAvKiBXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQ2ODEsOCArNDY4MCw2IEBACiAJCUFE
OEZGMzk2MUVCNUJEODUwMDg3RkY4MiAvKiBXYXNtSW5kZXhPck5hbWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2FzbUluZGV4T3JOYW1lLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUQ5RTg1MkUxRThBMEM2RTAwOERFMzlFIC8qIEpTV2ViQXNz
ZW1ibHlDb2RlQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNXZWJB
c3NlbWJseUNvZGVCbG9jay5oOyBwYXRoID0ganMvSlNXZWJBc3NlbWJseUNvZGVCbG9jay5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBREI2RjY3QzFFMTVENzUwMDA4MkYzODQgLyog
V2FzbVBhZ2VDb3VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
YXNtUGFnZUNvdW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQURCQzU0RDIx
REY4RUEwMDAwNUJGNzM4IC8qIFdlYkFzc2VtYmx5VG9KU0NhbGxlZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBc3NlbWJseVRvSlNDYWxsZWUuY3BwOyBwYXRo
ID0ganMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJQURCQzU0RDMxREY4RUEwMDAwNUJGNzM4IC8qIFdlYkFzc2VtYmx5VG9KU0NhbGxlZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBc3NlbWJseVRvSlNDYWxsZWUu
aDsgcGF0aCA9IGpzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBREQwOUFFRTFGNUY2MjNGMDAxMzEzQzIgLyogV2FzbVRvSlMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gV2FzbVRvSlMuaDsgcGF0aCA9IGpzL1dhc21Ub0pTLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFERDA5QUVGMUY1RjYyM0YwMDEzMTNDMiAvKiBXYXNtVG9KUy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBXYXNtVG9KUy5jcHA7IHBhdGggPSBqcy9XYXNtVG9KUy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFERDA5QUYyMUY2MjQ4MjkwMDEzMTNDMiAv
KiBKU1dlYkFzc2VtYmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTV2ViQXNzZW1ibHkuY3Bw
OyBwYXRoID0ganMvSlNXZWJBc3NlbWJseS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC04NjYyLDggKzg2NTksNiBAQAogCQkJCUFEMkZDQkMxMURCNThEQTQwMEIzRTczNiAvKiBX
ZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuaCAqLywKIAkJCQlBRDJGQ0JDMjFEQjU4REE0MDBC
M0U3MzYgLyogV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5jcHAgKi8sCiAJCQkJQUQyRkNCQzMx
REI1OERBNDAwQjNFNzM2IC8qIFdlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuaCAqLywKLQkJCQlB
REJDNTREMjFERjhFQTAwMDA1QkY3MzggLyogV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmNwcCAqLywK
LQkJCQlBREJDNTREMzFERjhFQTAwMDA1QkY3MzggLyogV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmgg
Ki8sCiAJCQkJNTJGNkMzNUIxRTcxRUIwODAwODFGNENDIC8qIFdlYkFzc2VtYmx5V3JhcHBlckZ1
bmN0aW9uLmNwcCAqLywKIAkJCQk1MkY2QzM1QzFFNzFFQjA4MDA4MUY0Q0MgLyogV2ViQXNzZW1i
bHlXcmFwcGVyRnVuY3Rpb24uaCAqLywKIAkJCSk7CkBAIC05Mzg5LDYgKzkzODQsOCBAQAogCQkJ
CTBGQjEwNTg2MTY3NTQ4MTIwMEY4QUI2RSAvKiBFeGl0S2luZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEYwQjgzQUIxNEJDRjVCQjAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5nZUluZm8uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGRUMzQzU3MUYzM0E0NTMwMEY1OUI2QyAvKiBGYXN0TWFsbG9jQWxp
Z25lZE1lbW9yeUFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VDRkFEMzcyMzcyREFE
NDAwMjkxNTk5IC8qIEZpbGVCYXNlZEZ1enplckFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlD
RTIwQkQwNTIzN0QzRTIzMDA0NkU1MjAgLyogRmlsZUJhc2VkRnV6emVyQWdlbnRCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBN0E4QUYzODE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQzMkFycmF5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0E4QUYzOTE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQ2
NEFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjI0RTU0MzE3RUE5RjU5MDBBQkIyMTcgLyog
RlBSSW5mby5oIGluIEhlYWRlcnMgKi8sCkBAIC05NDU1LDYgKzk0NTIsNyBAQAogCQkJCTYyRDJE
MzkwMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlvblJhcmVEYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQlGRUEwQzQwMzFDREQ3RDFEMDA0ODE5OTEgLyogRnVuY3Rpb25XaGl0ZWxpc3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUzM0E5NDk3MjI1NTMyMzMwMEQ0MkIwNiAvKiBGdXp6ZXJBZ2VudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQ0VDRkFEMzYyMzcyREFEMDAwMjkxNTk5IC8qIEZ1enplclBy
ZWRpY3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkyQUFDRTYzRDE4Q0E1QTAzMDBFRDAxOTEg
LyogR0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JFMkNBRTE0RTk4
NUFBMDAwNTkzQUQgLyogR0NBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjc2NkQz
MDE1QThEQ0UyMDA4RjM2M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAq
LywKQEAgLTk2MDYsNyArOTYwNCw2IEBACiAJCQkJQTE4MTkzRTQxQjRFMENEQjAwRkMxMDI5IC8q
IEludGxDb2xsYXRvclByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDZF
MUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1
Y3Rvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0UyMEJEMDUyMzdEM0UyMzAwNDZFNTIwIC8qIEZp
bGVCYXNlZEZ1enplckFnZW50QmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzUxQjRE
QzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZv
cm1hdFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzYxQjREQzFDNjAwRDY5
ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLApA
QCAtOTkwMyw3ICs5OTAwLDYgQEAKIAkJCQkwRjdDNUZCODFEODg4QTBDMDA0NEY1RTIgLyogTWFy
a2VkQmxvY2tJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDE0NDhDQjEzQTE3NkVDMDBG
NUJBMUEgLyogTWFya2VkQmxvY2tTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0RDJGM0RCMTM5
RjRCRTIwMDQ5MTAzMSAvKiBNYXJrZWRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0UyMEJE
MDcyMzdEM0U0ODAwNDZFNTIwIC8qIFByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6ZXJBZ2VudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY3REYxMzUxRTI5NzBEQzAwOTU5NTFCIC8qIE1hcmtlZFNw
YWNlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY2NjBFMzgxRTA1MTdCQjAwMzE0NjJD
IC8qIE1hcmtpbmdDb25zdHJhaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjY2MEUzQTFFMDUx
N0MxMDAzMTQ2MkMgLyogTWFya2luZ0NvbnN0cmFpbnRTZXQuaCBpbiBIZWFkZXJzICovLApAQCAt
OTk4Miw2ICs5OTc4LDcgQEAKIAkJCQkwRjA3MEE0QjFENTQzQTk4MDA2RTcyMzIgLyogUHJlY2lz
ZUFsbG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOTgyMDYxMTZCRkUzODMwMDI0MEQw
MiAvKiBQcmVjaXNlSnVtcFRhcmdldHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzQTQyMTQzMUQ2
RjU4OTMwMDA3QzYxNyAvKiBQcmVjaXNlSnVtcFRhcmdldHNJbmxpbmVzLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRTIwQkQwNzIzN0QzRTQ4MDA0NkU1MjAgLyogUHJlZGljdGlvbkZpbGVDcmVhdGlu
Z0Z1enplckFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkJCNzNCODFERUYzQUFFMDAyQzAw
OUUgLyogUHJldmVudENvbGxlY3Rpb25TY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU2M0RE
NTQxRUE5QjYxRTAwMTAzQTY5IC8qIFByaW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2ODkx
NkIwMTU1RjI4NjMwMENCMkI5QSAvKiBQcml2YXRlTmFtZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
MDAyMCw3ICsxMDAxNyw2IEBACiAJCQkJNTM0RTAzNTYxRTUzQkVERTAwMjEzRjY0IC8qIFByb3h5
YWJsZUFjY2Vzc0Nhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTc5QjAwQ0JEMUM2QUIwN0UwMDg4
QzY1RCAvKiBQcm94eUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk3OUIwMENCRjFD
NkFCMDdFMDA4OEM2NUQgLyogUHJveHlPYmplY3QuaCBpbiBIZWFkZXJzICovLAotCQkJCUNFQ0ZB
RDM3MjM3MkRBRDQwMDI5MTU5OSAvKiBGaWxlQmFzZWRGdXp6ZXJBZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNzkxNjBEQkUxQzhFM0VDODAwOEMwODVBIC8qIFByb3h5UmV2b2tlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjU3ODBBMjE4RkUxRTk4MDAxRTcyRDkgLyogUHVyZU5hTi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYxNUNEMjMxQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5o
IGluIEhlYWRlcnMgKi8sCkBAIC0xMDA5OSw3ICsxMDA5NSw2IEBACiAJCQkJRkUzMDIyRDMxRTNE
NzNBNTAwQkFDNDkzIC8qIFNpZ2lsbENyYXNoQW5hbHl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGNEQ4Qzc4MUZDQTNDRkEwMDFEMzJBQyAvKiBTaW1wbGVNYXJraW5nQ29uc3RyYWludC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEYyQjY3MDUxN0I2QjVBQjAwQTdBRTNGIC8qIFNpbXBsZVR5cGVk
QXJyYXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlDRUNGQUQzNjIzNzJEQUQwMDAy
OTE1OTkgLyogRnV6emVyUHJlZGljdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0QkE3OEYx
MTNBQUI4OEYwMDVCN0MyQyAvKiBTbG90VmlzaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIx
NjBGRTcxNUY3RTk1RTAwOTQyREZDIC8qIFNsb3RWaXNpdG9ySW5saW5lcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTcwOUYyRjAxN0EwQUMwNDAwNTEyRTk4IC8qIFNsb3dQYXRoQ2FsbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0xMDMyOSw3ICsxMDMyNCw2IEBACiAJCQkJQUQyRkNDMjAxREI1OUNCMjAw
QjNFNzM2IC8qIFdlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUFEMkZDQkZGMURCNThEQUQwMEIzRTczNiAvKiBXZWJBc3NlbWJseVRhYmxlUHJvdG90
eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDJGQ0MyMTFEQjU5Q0IyMDBCM0U3MzYgLyogV2Vi
QXNzZW1ibHlUYWJsZVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAotCQkJCUFEQkM1NEQ1
MURGOEVBMkIwMDVCRjczOCAvKiBXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUyRjZDMzVFMUU3MUVCMDgwMDgxRjRDQyAvKiBXZWJBc3NlbWJseVdyYXBwZXJGdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0N0EwRTE2RjVDRDAwQjM0NDYwIC8qIFdl
YktpdEF2YWlsYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlEQTAwQTYxQkQ1OTkzMTAw
RjQ1NzVDIC8qIHdrYnVpbHRpbnMucHkgaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA4ZDcwNmM5NTIxY2I3ZGI2OWQyYTg1NzhhZDRhNDJlZDMyODUwZWRlLi5h
MDA2ZTVhMTExNGMwODU5NzI2YzE2NDE2NjRhMjFmMzQyMjhiYWRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L1NvdXJjZXMudHh0CkBAIC0xMDcxLDcgKzEwNzEsNiBAQCB3YXNtL2pzL1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yQ29uc3RydWN0b3IuY3BwCiB3YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9y
UHJvdG90eXBlLmNwcAogd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuY3BwCiB3
YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuY3BwCi13YXNtL2pzL1dlYkFzc2VtYmx5
VG9KU0NhbGxlZS5jcHAKIHdhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uY3BwCiAK
IHlhcnIvUmVndWxhckV4cHJlc3Npb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9DYWxsRnJhbWUuY3BwCmluZGV4IDZiZjQ1N2Y0NDcxYjJjZmQ2NWU2MzM5ZDMz
YjU2MDM2YTdmM2UxZGIuLmY2Mzk0YWM3MTA3MTI1YjdjYWIyMWFkMmI5MTEzYzA3OTUzNmE2MDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuY3Bw
CkBAIC0xOTcsNyArMTk3LDcgQEAgYm9vbCBDYWxsRnJhbWU6OmlzQW55V2FzbUNhbGxlZSgpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgQVNTRVJUKGNhbGxlZS5pc0NlbGwoKSk7Ci0gICAg
aWYgKCEhY2FsbGVlLnJhd1B0cigpICYmIGlzV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKGNhbGxlZS5h
c0NlbGwoKSkpCisgICAgaWYgKCEhY2FsbGVlLnJhd1B0cigpICYmIGlzV2ViQXNzZW1ibHlNb2R1
bGUoY2FsbGVlLmFzQ2VsbCgpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zp
c2l0b3IuY3BwCmluZGV4IGNkYmRmN2RiOThjZmNlZGE5NWZkNGQ4OGQzZTJjOWFlZmNiZmEzNWUu
LmQ3MWE1OTcxZGRjOGYwZjVlYTY3OGQ1ZmNlNDhlMzk2ZTIyYTg3NTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCkBAIC0yNjQs
NyArMjY0LDcgQEAgT3B0aW9uYWw8UmVnaXN0ZXJBdE9mZnNldExpc3Q+IFN0YWNrVmlzaXRvcjo6
RnJhbWU6OmNhbGxlZVNhdmVSZWdpc3RlcnNGb3JVbndpbmQKICNpZiBFTkFCTEUoV0VCQVNTRU1C
TFkpCiAgICAgaWYgKGlzV2FzbUZyYW1lKCkpIHsKICAgICAgICAgaWYgKGNhbGxlZSgpLmlzQ2Vs
bCgpKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc1dlYkFzc2VtYmx5VG9KU0NhbGxl
ZShjYWxsZWUoKS5hc0NlbGwoKSkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNXZWJB
c3NlbWJseU1vZHVsZShjYWxsZWUoKS5hc0NlbGwoKSkpOwogICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICAgICAgfQogICAgICAgICBXYXNtOjpDYWxsZWUqIHdhc21DYWxsZWUg
PSBjYWxsZWUoKS5hc1dhc21DYWxsZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2gu
Y3BwCmluZGV4IGYxYTI5MTQ0OWMxNzczNzZhMGNjZGEwYmIwYTZiMzk0YmNiOTY0ZGYuLmMwMGFl
M2E2MmJkNjFiZmViZGRiYTQ4ZTE2NDkyYTk3ZjBiNWY3YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZXBhdGNoLmNwcApAQCAtNjQsNyArNjQsNiBAQAogI2luY2x1ZGUgIlN1cGVyU2FtcGxl
ci5oIgogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogI2luY2x1ZGUgIldlYkFzc2VtYmx5
RnVuY3Rpb24uaCIKLSNpbmNsdWRlICJXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCIKICNpbmNsdWRl
IDx3dGYvQ29tbWFQcmludGVyLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3REdW1wLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CkBAIC05MjEsNyArOTIwLDcgQEAgc3RhdGljIEpT
Q2VsbCogd2ViQXNzZW1ibHlPd25lcihKU0NlbGwqIGNhbGxlZSkKIHsKICNpZiBFTkFCTEUoV0VC
QVNTRU1CTFkpCiAgICAgLy8gRWFjaCBXZWJBc3NlbWJseS5JbnN0YW5jZSBzaGFyZXMgdGhlIHN0
dWJzIGZyb20gdGhlaXIgV2ViQXNzZW1ibHkuTW9kdWxlLCB3aGljaCBhcmUgdGhlcmVmb3JlIHRo
ZSBhcHByb3ByaWF0ZSBvd25lci4KLSAgICByZXR1cm4ganNDYXN0PFdlYkFzc2VtYmx5VG9KU0Nh
bGxlZSo+KGNhbGxlZSktPm1vZHVsZSgpOworICAgIHJldHVybiBqc0Nhc3Q8SlNXZWJBc3NlbWJs
eU1vZHVsZSo+KGNhbGxlZSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShjYWxsZWUpOwogICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC05NDMsNyArOTQyLDcgQEAgdm9pZCBs
aW5rRm9yKAogICAgIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrID0gY2FsbGVyRnJhbWUtPmNv
ZGVCbG9jaygpOwogCiAgICAgLy8gV2ViQXNzZW1ibHkgLT4gSlMgc3R1YnMgZG9uJ3QgaGF2ZSBh
IHZhbGlkIENvZGVCbG9jay4KLSAgICBKU0NlbGwqIG93bmVyID0gaXNXZWJBc3NlbWJseVRvSlND
YWxsZWUoY2FsbGVyRnJhbWUtPmNhbGxlZSgpLmFzQ2VsbCgpKSA/IHdlYkFzc2VtYmx5T3duZXIo
Y2FsbGVyRnJhbWUtPmNhbGxlZSgpLmFzQ2VsbCgpKSA6IGNhbGxlckNvZGVCbG9jazsKKyAgICBK
U0NlbGwqIG93bmVyID0gaXNXZWJBc3NlbWJseU1vZHVsZShjYWxsZXJGcmFtZS0+Y2FsbGVlKCku
YXNDZWxsKCkpID8gd2ViQXNzZW1ibHlPd25lcihjYWxsZXJGcmFtZS0+Y2FsbGVlKCkuYXNDZWxs
KCkpIDogY2FsbGVyQ29kZUJsb2NrOwogICAgIEFTU0VSVChvd25lcik7CiAKICAgICBBU1NFUlQo
IWNhbGxMaW5rSW5mby5pc0xpbmtlZCgpKTsKQEAgLTEwNzQsNyArMTA3Myw3IEBAIHZvaWQgbGlu
a1BvbHltb3JwaGljQ2FsbChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgQ2FsCiAgICAgQVNTRVJUKGNhbGxlckZyYW1lLT5jYWxsZWUoKS5pc0NlbGwo
KSk7CiAKICAgICBDb2RlQmxvY2sqIGNhbGxlckNvZGVCbG9jayA9IGNhbGxlckZyYW1lLT5jb2Rl
QmxvY2soKTsKLSAgICBib29sIGlzV2ViQXNzZW1ibHkgPSBpc1dlYkFzc2VtYmx5VG9KU0NhbGxl
ZShjYWxsZXJGcmFtZS0+Y2FsbGVlKCkuYXNDZWxsKCkpOworICAgIGJvb2wgaXNXZWJBc3NlbWJs
eSA9IGlzV2ViQXNzZW1ibHlNb2R1bGUoY2FsbGVyRnJhbWUtPmNhbGxlZSgpLmFzQ2VsbCgpKTsK
IAogICAgIC8vIFdlYkFzc2VtYmx5IC0+IEpTIHN0dWJzIGRvbid0IGhhdmUgYSB2YWxpZCBDb2Rl
QmxvY2suCiAgICAgSlNDZWxsKiBvd25lciA9IGlzV2ViQXNzZW1ibHkgPyB3ZWJBc3NlbWJseU93
bmVyKGNhbGxlckZyYW1lLT5jYWxsZWUoKS5hc0NlbGwoKSkgOiBjYWxsZXJDb2RlQmxvY2s7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCmluZGV4IDMzMjA0NmRmYTg3ZjI5NGM2
ZmIxMTdlY2QzOTA3OWEyMmI0OTA0NWMuLjkxNjdjNmE3MGRhZmJkYTc1Y2E3YTUwNDI3ZTNmZjky
NmQ1MTE2ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Fz
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCkBAIC02Myw3
ICs2Myw3IEBAIGlubGluZSBUbyBqc0Nhc3QoSlNWYWx1ZSBmcm9tKQogICAgIG1hY3JvKE51bWJl
ck9iamVjdCwgSlNUeXBlOjpOdW1iZXJPYmplY3RUeXBlLCBKU1R5cGU6Ok51bWJlck9iamVjdFR5
cGUpIFwKICAgICBtYWNybyhQcm94eU9iamVjdCwgSlNUeXBlOjpQcm94eU9iamVjdFR5cGUsIEpT
VHlwZTo6UHJveHlPYmplY3RUeXBlKSBcCiAgICAgbWFjcm8oUmVnRXhwT2JqZWN0LCBKU1R5cGU6
OlJlZ0V4cE9iamVjdFR5cGUsIEpTVHlwZTo6UmVnRXhwT2JqZWN0VHlwZSkgXAotICAgIG1hY3Jv
KFdlYkFzc2VtYmx5VG9KU0NhbGxlZSwgSlNUeXBlOjpXZWJBc3NlbWJseVRvSlNDYWxsZWVUeXBl
LCBKU1R5cGU6OldlYkFzc2VtYmx5VG9KU0NhbGxlZVR5cGUpIFwKKyAgICBtYWNybyhKU1dlYkFz
c2VtYmx5TW9kdWxlLCBKU1R5cGU6OldlYkFzc2VtYmx5TW9kdWxlVHlwZSwgSlNUeXBlOjpXZWJB
c3NlbWJseU1vZHVsZVR5cGUpIFwKICAgICBtYWNybyhEaXJlY3RBcmd1bWVudHMsIEpTVHlwZTo6
RGlyZWN0QXJndW1lbnRzVHlwZSwgSlNUeXBlOjpEaXJlY3RBcmd1bWVudHNUeXBlKSBcCiAgICAg
bWFjcm8oU2NvcGVkQXJndW1lbnRzLCBKU1R5cGU6OlNjb3BlZEFyZ3VtZW50c1R5cGUsIEpTVHlw
ZTo6U2NvcGVkQXJndW1lbnRzVHlwZSkgXAogICAgIG1hY3JvKENsb25lZEFyZ3VtZW50cywgSlNU
eXBlOjpDbG9uZWRBcmd1bWVudHNUeXBlLCBKU1R5cGU6OkNsb25lZEFyZ3VtZW50c1R5cGUpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IGIwYmE1OGI0NTA3
Nzg4N2Y4M2UwMWMyYzgzNTlhNjUzYjg5MjdlNzIuLjI3MTM1MmIyMTc0NzAzNTZkZjQwM2ZkZDlj
ZGU2MGRlZjg4ODE2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQ2VsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNw
cApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNP
YmplY3QuaCIKICNpbmNsdWRlICJOdW1iZXJPYmplY3QuaCIKLSNpbmNsdWRlICJXZWJBc3NlbWJs
eVRvSlNDYWxsZWUuaCIKICNpbmNsdWRlIDx3dGYvTG9ja0FsZ29yaXRobUlubGluZXMuaD4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGxJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGxJbmxpbmVzLmgKaW5kZXggMWE2NDIwZDQ0YjIwYzk5YjdmMTUwZDFkODIxYmY4
MDZjNzBmNzE5MC4uZTk4Y2U4ODE1MTEyYTg0NGYyMTY0MDZmOTZhYjhiN2JlNzlhYTIxMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsSW5saW5lcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbElubGluZXMuaApAQCAtNDIy
LDkgKzQyMiw5IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU0NlbGw6OnB1dElubGluZShKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUKICAgICByZXR1cm4gcHV0TWV0aG9k
KHRoaXMsIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiB9CiAKLWlu
bGluZSBib29sIGlzV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKGNvbnN0IEpTQ2VsbCogY2VsbCkKK2lu
bGluZSBib29sIGlzV2ViQXNzZW1ibHlNb2R1bGUoY29uc3QgSlNDZWxsKiBjZWxsKQogewotICAg
IHJldHVybiBjZWxsLT50eXBlKCkgPT0gV2ViQXNzZW1ibHlUb0pTQ2FsbGVlVHlwZTsKKyAgICBy
ZXR1cm4gY2VsbC0+dHlwZSgpID09IFdlYkFzc2VtYmx5TW9kdWxlVHlwZTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKaW5kZXggYmM4M2I3MWMzYmNiMzhmNmQ2NTYwN2EyNWQ5OWExYjhmMWQwMmNk
Zi4uNjgyN2I1ZDgxZjA2ZjE2MjliNzZjNDJjN2VlOGZjMjI3ZWYyMzQyNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMjAyLDcg
KzIwMiw2IEBACiAjaW5jbHVkZSAiV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuaCIK
ICNpbmNsdWRlICJXZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJXZWJB
c3NlbWJseVRhYmxlUHJvdG90eXBlLmgiCi0jaW5jbHVkZSAiV2ViQXNzZW1ibHlUb0pTQ2FsbGVl
LmgiCiAjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlci5oPgogCiAjaWYgRU5BQkxFKElOVEwpCkBA
IC0xMTkyLDEwICsxMTkxLDYgQEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFt
ZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUKICAgICAgICAgICAg
IFtdIChjb25zdCBJbml0aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7CiAgICAgICAgICAgICAg
ICAgaW5pdC5zZXQoV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZShp
bml0LnZtLCBpbml0Lm93bmVyLCBpbml0Lm93bmVyLT5tX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgp
KSk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgbV93ZWJBc3NlbWJseVRvSlNDYWxsZWVTdHJ1
Y3R1cmUuaW5pdExhdGVyKAotICAgICAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVj
dHVyZT4mIGluaXQpIHsKLSAgICAgICAgICAgICAgICBpbml0LnNldChXZWJBc3NlbWJseVRvSlND
YWxsZWU6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBpbml0Lm93bmVyLCBqc051bGwoKSkpOwot
ICAgICAgICAgICAgfSk7CiAgICAgICAgIGF1dG8qIHdlYkFzc2VtYmx5ID0gSlNXZWJBc3NlbWJs
eTo6Y3JlYXRlKHZtLCB0aGlzLCBKU1dlYkFzc2VtYmx5OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRo
aXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CiAgICAgICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiV2ViQXNzZW1ibHkiKSwg
d2ViQXNzZW1ibHksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pKTsKIApAQCAtMTg0Nyw3ICsxODQyLDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlz
aXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHRoaXNP
YmplY3QtPm1fd2ViQXNzZW1ibHlGdW5jdGlvblN0cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKICAg
ICB0aGlzT2JqZWN0LT5tX2pzVG9XYXNtSUNDYWxsZWVTdHJ1Y3R1cmUudmlzaXQodmlzaXRvcik7
CiAgICAgdGhpc09iamVjdC0+bV93ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblN0cnVjdHVyZS52
aXNpdCh2aXNpdG9yKTsKLSAgICB0aGlzT2JqZWN0LT5tX3dlYkFzc2VtYmx5VG9KU0NhbGxlZVN0
cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKICAgICBGT1JfRUFDSF9XRUJBU1NFTUJMWV9DT05TVFJV
Q1RPUl9UWVBFKFZJU0lUX0xBWllfVFlQRSkKICNlbmRpZiAvLyBFTkFCTEUoV0VCQVNTRU1CTFkp
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmlu
ZGV4IDc3OWUzZTk1M2M2NDM3YTU3ZmEwZDVkMzI2NTMzYzE1MDNkZmEyMDEuLjc0MmQ3MGQ3MzE3
MGMyYzM3N2YzZDJiNWY1NmUzYjNjMTQ0YzM3ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNDAxLDcgKzQwMSw2IEBAIGNsYXNzIEpT
R2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIExh
enlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX3dlYkFzc2VtYmx5RnVuY3Rp
b25TdHJ1Y3R1cmU7CiAgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+
IG1fanNUb1dhc21JQ0NhbGxlZVN0cnVjdHVyZTsKICAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxP
YmplY3QsIFN0cnVjdHVyZT4gbV93ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblN0cnVjdHVyZTsK
LSAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIFN0cnVjdHVyZT4gbV93ZWJBc3NlbWJs
eVRvSlNDYWxsZWVTdHJ1Y3R1cmU7CiAgICAgRk9SX0VBQ0hfV0VCQVNTRU1CTFlfQ09OU1RSVUNU
T1JfVFlQRShERUZJTkVfU1RPUkFHRV9GT1JfTEFaWV9UWVBFKQogI2VuZGlmIC8vIEVOQUJMRShX
RUJBU1NFTUJMWSkKIApAQCAtNzY1LDcgKzc2NCw2IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDog
cHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIFN0cnVjdHVyZSogd2ViQXNz
ZW1ibHlGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViQXNzZW1ibHlGdW5j
dGlvblN0cnVjdHVyZS5nZXQodGhpcyk7IH0KICAgICBTdHJ1Y3R1cmUqIGpzVG9XYXNtSUNDYWxs
ZWVTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2pzVG9XYXNtSUNDYWxsZWVTdHJ1Y3R1cmUu
Z2V0KHRoaXMpOyB9CiAgICAgU3RydWN0dXJlKiB3ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KHRoaXMpOyB9Ci0gICAgU3RydWN0dXJlKiB3ZWJBc3NlbWJseVRvSlNDYWxsZWVT
dHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3dlYkFzc2VtYmx5VG9KU0NhbGxlZVN0cnVjdHVy
ZS5nZXQodGhpcyk7IH0KICNlbmRpZiAvLyBFTkFCTEUoV0VCQVNTRU1CTFkpCiAjaWYgRU5BQkxF
KElOVEwpCiAgICAgU3RydWN0dXJlKiBjb2xsYXRvclN0cnVjdHVyZSgpIHsgcmV0dXJuIG1fY29s
bGF0b3JTdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNUeXBlLmNwcAppbmRleCAxNmRjOWI5MWY0ZmM0MzEyODY0MzY0NmVjNmQwMzlhZWNhZGY3YzE1
Li41MTYyZWI0NGJiOTc4YTFmNWFlNzIwN2Y1NDBhOTAyMDRlMDUxYTk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIHBy
aW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpKU1R5cGUgdHlwZSkKICAgICBDQVNF
KEpTU2V0VHlwZSkKICAgICBDQVNFKEpTV2Vha01hcFR5cGUpCiAgICAgQ0FTRShKU1dlYWtTZXRU
eXBlKQotICAgIENBU0UoV2ViQXNzZW1ibHlUb0pTQ2FsbGVlVHlwZSkKKyAgICBDQVNFKFdlYkFz
c2VtYmx5TW9kdWxlVHlwZSkKICAgICBDQVNFKFN0cmluZ09iamVjdFR5cGUpCiAgICAgQ0FTRShN
YXhKU1R5cGUpCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuaAppbmRl
eCA4MGJkMzRjYjYyMjFhYWZiZTk2YWYxMDQ2NTMyYTY3ZDc3MzJlYzdjLi42ZTc1MDZiYWRmNzIx
ZTJhMjM5M2I4YWYzMzcyMDc0ZWNjNDhkOTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1R5cGUuaApAQCAtMTE2LDcgKzExNiw3IEBAIGVudW0gSlNUeXBlIDogdWludDhfdCB7CiAg
ICAgSlNTZXRUeXBlLAogICAgIEpTV2Vha01hcFR5cGUsCiAgICAgSlNXZWFrU2V0VHlwZSwKLSAg
ICBXZWJBc3NlbWJseVRvSlNDYWxsZWVUeXBlLAorICAgIFdlYkFzc2VtYmx5TW9kdWxlVHlwZSwK
ICAgICBTdHJpbmdPYmplY3RUeXBlLAogCiAgICAgTGFzdEpTQ09iamVjdFR5cGUgPSBTdHJpbmdP
YmplY3RUeXBlLCAvLyBUaGlzIGlzIHRoZSBsYXN0ICJKU0MiIE9iamVjdCB0eXBlLiBBZnRlciB0
aGlzLCB3ZSBoYXZlIGVtYmVkZGVyJ3MgKGUuZy4sIFdlYkNvcmUpIGV4dGVuZGVkIG9iamVjdCB0
eXBlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25zLmNwcApp
bmRleCBmY2VmNDhmNzVkZmVkODVmOGZiY2Q0MGI3MDE5NTE3NzRlNzI2ZDUzLi5iOGI1YzkwZTk3
YWZmMzAxNWVkNDg3MWFhMzM5NjkzNjY3YjNkMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwCkBAIC03NDMsNyArNzQzLDcgQEAgdm9pZCogSklU
X09QRVJBVElPTiBvcGVyYXRpb25XYXNtVG9KU0V4Y2VwdGlvbihDYWxsRnJhbWUqIGNhbGxGcmFt
ZSwgV2FzbTo6RXhjZXAKICAgICAvLyBmb3IgZXhjZXB0aW9ucyBmaXJzdCBsb2FkIGNhbGxGcmFt
ZUZvckNhdGNoIGluZm8gY2FsbCBmcmFtZSByZWdpc3RlciBiZWZvcmUganVtcGluZwogICAgIC8v
IHRvIHRoZSBleGNlcHRpb24gaGFuZGxlci4gSWYgd2UgZGlkIHRoaXMsIHdlIGNvdWxkIHJlbW92
ZSB0aGlzIHRlcnJpYmxlIGhhY2suCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MDQ0MAotICAgIGJpdHdpc2VfY2FzdDx1aW50NjRfdCo+KGNhbGxGcmFt
ZSlbQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlXSA9IGJpdHdpc2VfY2FzdDx1aW50NjRfdD4oaW5zdGFu
Y2UtPndlYkFzc2VtYmx5VG9KU0NhbGxlZSgpKTsKKyAgICBiaXR3aXNlX2Nhc3Q8dWludDY0X3Qq
PihjYWxsRnJhbWUpW0NhbGxGcmFtZVNsb3Q6OmNhbGxlZV0gPSBiaXR3aXNlX2Nhc3Q8dWludDY0
X3Q+KGluc3RhbmNlLT5tb2R1bGUoKSk7CiAgICAgcmV0dXJuIHZtLnRhcmdldE1hY2hpbmVQQ0Zv
clRocm93OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9K
U1dlYkFzc2VtYmx5SW5zdGFuY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
SlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcAppbmRleCA4ODU4YjE0ZDI1NDY3OTRhN2E0ZDRiZWVh
ZDczNDM0NzEyMjk5OTdmLi4wODllYTFmNWJlYWI5ODhjYzQ3MmJkMTA2ZjgzNzY5MjYwNzAyOWE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
SW5zdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlJbnN0YW5jZS5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJKU1dlYkFzc2Vt
Ymx5TWVtb3J5LmgiCiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJseU1vZHVsZS5oIgogI2luY2x1ZGUg
IldlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmgiCi0jaW5jbHVkZSAiV2ViQXNzZW1ibHlUb0pTQ2Fs
bGVlLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
QEAgLTY3LDcgKzY2LDYgQEAgdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlLAogCiAgICAgbV9tb2R1bGUu
c2V0KHZtLCB0aGlzLCBtb2R1bGUpOwogICAgIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0LnNldCh2
bSwgdGhpcywgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKLSAgICBtX2NhbGxlZS5zZXQodm0sIHRo
aXMsIG1vZHVsZS0+Y2FsbGVlKCkpOwogCiAgICAgdm0uaGVhcC5yZXBvcnRFeHRyYU1lbW9yeUFs
bG9jYXRlZChtX2luc3RhbmNlLT5leHRyYU1lbW9yeUFsbG9jYXRlZCgpKTsKIH0KQEAgLTg5LDcg
Kzg3LDYgQEAgdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX21lbW9yeSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRoaXNPYmplY3Qt
Pmluc3RhbmNlKCkubW9kdWxlKCkubW9kdWxlSW5mb3JtYXRpb24oKS50YWJsZUNvdW50KCk7ICsr
aSkKICAgICAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV90YWJsZXNbaV0pOwotICAg
IHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FsbGVlKTsKICAgICB2aXNpdG9yLnJlcG9y
dEV4dHJhTWVtb3J5VmlzaXRlZCh0aGlzT2JqZWN0LT5tX2luc3RhbmNlLT5leHRyYU1lbW9yeUFs
bG9jYXRlZCgpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGhpc09iamVjdC0+aW5z
dGFuY2UoKS5udW1JbXBvcnRGdW5jdGlvbnMoKTsgKytpKQogICAgICAgICB2aXNpdG9yLmFwcGVu
ZCgqdGhpc09iamVjdC0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8SlNP
YmplY3Q+PihpKSk7IC8vIFRoaXMgYWxzbyBrZWVwcyB0aGUgZnVuY3Rpb25zJyBKU1dlYkFzc2Vt
Ymx5SW5zdGFuY2UgYWxpdmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCmluZGV4IGQwZTBmNmQxOTM2MzQzNWE1OGVkNjI5
ZWEwOTA0ZDE1NzQyMGQwNDYuLmE3ZmY0ZWFkMDVkYTZjZWQzY2Q3ZWJlNTQ2NGI5NjZjZTM1MmE2
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHlJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlJbnN0YW5jZS5oCkBAIC00MCw3ICs0MCw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFz
cyBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDsKIGNsYXNzIEpTV2ViQXNzZW1ibHlNb2R1bGU7Ci1j
bGFzcyBXZWJBc3NlbWJseVRvSlNDYWxsZWU7CiAKIG5hbWVzcGFjZSBXYXNtIHsKIGNsYXNzIENv
ZGVCbG9jazsKQEAgLTYxLDcgKzYwLDYgQEAgY2xhc3MgSlNXZWJBc3NlbWJseUluc3RhbmNlIGZp
bmFsIDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKICAgICAKICAgICBXYXNtOjpJbnN0
YW5jZSYgaW5zdGFuY2UoKSB7IHJldHVybiBtX2luc3RhbmNlLmdldCgpOyB9CiAgICAgSlNNb2R1
bGVOYW1lc3BhY2VPYmplY3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCgpIHsgcmV0dXJuIG1fbW9k
dWxlTmFtZXNwYWNlT2JqZWN0LmdldCgpOyB9Ci0gICAgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKiB3
ZWJBc3NlbWJseVRvSlNDYWxsZWUoKSB7IHJldHVybiBtX2NhbGxlZS5nZXQoKTsgfQogCiAgICAg
SlNXZWJBc3NlbWJseU1lbW9yeSogbWVtb3J5KCkgeyByZXR1cm4gbV9tZW1vcnkuZ2V0KCk7IH0K
ICAgICB2b2lkIHNldE1lbW9yeShWTSYgdm0sIEpTV2ViQXNzZW1ibHlNZW1vcnkqIHZhbHVlKSB7
CkBAIC04NCw4ICs4Miw4IEBAIGNsYXNzIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSBmaW5hbCA6IHB1
YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CiAgICAgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9k
dWxlKCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGUuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzaXpl
X3Qgb2Zmc2V0T2ZJbnN0YW5jZSgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1dlYkFzc2Vt
Ymx5SW5zdGFuY2UsIG1faW5zdGFuY2UpOyB9CisgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZk1v
ZHVsZSgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1dlYkFzc2VtYmx5SW5zdGFuY2UsIG1f
bW9kdWxlKTsgfQogICAgIHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZHbG9iYWxPYmplY3QoKSB7IHJl
dHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2dsb2JhbE9iamVj
dCk7IH0KLSAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mQ2FsbGVlKCkgeyByZXR1cm4gT0JKRUNU
X09GRlNFVE9GKEpTV2ViQXNzZW1ibHlJbnN0YW5jZSwgbV9jYWxsZWUpOyB9CiAgICAgc3RhdGlj
IHNpemVfdCBvZmZzZXRPZlZNKCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpTV2ViQXNzZW1i
bHlJbnN0YW5jZSwgbV92bSk7IH0KIAogcHJvdGVjdGVkOgpAQCAtMTA0LDcgKzEwMiw2IEBAIGNs
YXNzIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSBmaW5hbCA6IHB1YmxpYyBKU0Rlc3RydWN0aWJsZU9i
amVjdCB7CiAgICAgV3JpdGVCYXJyaWVyPEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0PiBtX21vZHVs
ZU5hbWVzcGFjZU9iamVjdDsKICAgICBXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1lbW9yeT4g
bV9tZW1vcnk7CiAgICAgVmVjdG9yPFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5VGFibGU+PiBt
X3RhYmxlczsKLSAgICBXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVlPiBtX2NhbGxl
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmNwcAppbmRleCA3NjdmZDU5ZTE2ZGVi
ZTYxMDIyMjViZjcxZTExNGIzZjk1ZTliMGE1Li42M2EwNzgyNDZjMTAxNTFhN2M2ZTJmZTJkZTdi
OWVjNTgwYjI1OTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9K
U1dlYkFzc2VtYmx5TW9kdWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5TW9kdWxlLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIldh
c21NZW1vcnkuaCIKICNpbmNsdWRlICJXYXNtTW9kdWxlLmgiCiAjaW5jbHVkZSAiV2FzbVBsYW4u
aCIKLSNpbmNsdWRlICJXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCIKICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtODYsNyArODUsNiBAQCB2b2lkIEpT
V2ViQXNzZW1ibHlNb2R1bGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKICAgICB9CiAKICAgICBt
X2V4cG9ydFN5bWJvbFRhYmxlLnNldCh2bSwgdGhpcywgZXhwb3J0U3ltYm9sVGFibGUpOwotICAg
IG1fY2FsbGVlLnNldCh2bSwgdGhpcywgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCh2bSktPndlYkFzc2VtYmx5VG9KU0NhbGxlZVN0cnVjdHVyZSgpLCB0aGlz
KSk7CiB9CiAKIHZvaWQgSlNXZWJBc3NlbWJseU1vZHVsZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwp
CkBAIC0xMTAsMTEgKzEwOCw2IEBAIFdhc206OlNpZ25hdHVyZUluZGV4IEpTV2ViQXNzZW1ibHlN
b2R1bGU6OnNpZ25hdHVyZUluZGV4RnJvbUZ1bmN0aW9uSW5kZXhTcGFjZSh1CiAgICAgcmV0dXJu
IG1fbW9kdWxlLT5zaWduYXR1cmVJbmRleEZyb21GdW5jdGlvbkluZGV4U3BhY2UoZnVuY3Rpb25J
bmRleFNwYWNlKTsKIH0KIAotV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKiBKU1dlYkFzc2VtYmx5TW9k
dWxlOjpjYWxsZWUoKSBjb25zdAotewotICAgIHJldHVybiBtX2NhbGxlZS5nZXQoKTsKLX0KLQog
SlNXZWJBc3NlbWJseUNvZGVCbG9jayogSlNXZWJBc3NlbWJseU1vZHVsZTo6Y29kZUJsb2NrKFdh
c206Ok1lbW9yeU1vZGUgbW9kZSkKIHsKICAgICByZXR1cm4gbV9jb2RlQmxvY2tzW3N0YXRpY19j
YXN0PHNpemVfdD4obW9kZSldLmdldCgpOwpAQCAtMTM3LDcgKzEzMCw2IEBAIHZvaWQgSlNXZWJB
c3NlbWJseU1vZHVsZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQogCiAgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2V4cG9ydFN5bWJvbFRhYmxlKTsKLSAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhbGxlZSk7CiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IFdhc206Ok51bWJlck9mTWVtb3J5TW9kZXM7ICsraSkKICAgICAgICAgdmlz
aXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jb2RlQmxvY2tzW2ldKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuaAppbmRleCBi
MTEyNmY4NGRiM2YyMWU3ZmM5ZjIyY2UzYTRhNzZmZGM3ZTZlZGVjLi5mNTQxNGVkZjBlNzA4ODk4
ZjFlN2FjZDg3YjBiNzdjZmU3NTRmOGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oCkBAIC02Miw3ICs2Miw2IEBAIGNsYXNz
IEpTV2ViQXNzZW1ibHlNb2R1bGUgZmluYWwgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmplY3Qg
ewogICAgIGNvbnN0IFdhc206Ok1vZHVsZUluZm9ybWF0aW9uJiBtb2R1bGVJbmZvcm1hdGlvbigp
IGNvbnN0OwogICAgIFN5bWJvbFRhYmxlKiBleHBvcnRTeW1ib2xUYWJsZSgpIGNvbnN0OwogICAg
IFdhc206OlNpZ25hdHVyZUluZGV4IHNpZ25hdHVyZUluZGV4RnJvbUZ1bmN0aW9uSW5kZXhTcGFj
ZSh1bnNpZ25lZCBmdW5jdGlvbkluZGV4U3BhY2UpIGNvbnN0OwotICAgIFdlYkFzc2VtYmx5VG9K
U0NhbGxlZSogY2FsbGVlKCkgY29uc3Q7CiAKICAgICBKU1dlYkFzc2VtYmx5Q29kZUJsb2NrKiBj
b2RlQmxvY2soV2FzbTo6TWVtb3J5TW9kZSBtb2RlKTsKICAgICB2b2lkIHNldENvZGVCbG9jayhW
TSYsIFdhc206Ok1lbW9yeU1vZGUsIEpTV2ViQXNzZW1ibHlDb2RlQmxvY2sqKTsKQEAgLTgwLDcg
Kzc5LDYgQEAgY2xhc3MgSlNXZWJBc3NlbWJseU1vZHVsZSBmaW5hbCA6IHB1YmxpYyBKU0Rlc3Ry
dWN0aWJsZU9iamVjdCB7CiAgICAgUmVmPFdhc206Ok1vZHVsZT4gbV9tb2R1bGU7CiAgICAgV3Jp
dGVCYXJyaWVyPFN5bWJvbFRhYmxlPiBtX2V4cG9ydFN5bWJvbFRhYmxlOwogICAgIFdyaXRlQmFy
cmllcjxKU1dlYkFzc2VtYmx5Q29kZUJsb2NrPiBtX2NvZGVCbG9ja3NbV2FzbTo6TnVtYmVyT2ZN
ZW1vcnlNb2Rlc107Ci0gICAgV3JpdGVCYXJyaWVyPFdlYkFzc2VtYmx5VG9KU0NhbGxlZT4gbV9j
YWxsZWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dhc21Ub0pTLmNwcAppbmRleCAyN2E1N2MyODBmNDFlOTViNzg2ZTQxMGRiODExYjA1
NzZiMGY1ZmVlLi5iMjY3ZDUxZTQ5NGRiNTIzN2ZmYzdlZGFjMjczZWJiY2UyZGUxYzFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCkBAIC02Nyw3ICs2Nyw3
IEBAIHN0YXRpYyBFeHBlY3RlZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWY8V2FzbUVudHJ5UHRyVGFn
PiwgQmluZGluZ0ZhaWx1cmU+IGhhbmRsZUJhCiAKICAgICAvLyBTdG9yZSBDYWxsZWUuCiAgICAg
aml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OmFyZ3VtZW50R1BSMCwg
SW5zdGFuY2U6Om9mZnNldE9mT3duZXIoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAg
aml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OmFyZ3VtZW50R1BSMCwg
SlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRPZkNhbGxlZSgpKSwgR1BSSW5mbzo6YXJndW1l
bnRHUFIxKTsKKyAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6
YXJndW1lbnRHUFIwLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9mTW9kdWxlKCkpLCBH
UFJJbmZvOjphcmd1bWVudEdQUjEpOwogICAgIGppdC5wcmVwYXJlQ2FsbE9wZXJhdGlvbih2bSk7
CiAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmFyZ3VtZW50R1BSMSwgSklUOjpBZGRyZXNzKEdQ
UkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWVTbG90OjpjYWxsZWUgKiBzdGF0aWNf
Y2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKSk7CiAKQEAgLTI1NCw3ICsyNTQsNyBAQCBFeHBl
Y3RlZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWY8V2FzbUVudHJ5UHRyVGFnPiwgQmluZGluZ0ZhaWx1
cmU+IHdhc21Ub0pTKFZNJiB2bQogCiAgICAgaml0LmxvYWRXYXNtQ29udGV4dEluc3RhbmNlKEdQ
UkluZm86OmFyZ3VtZW50R1BSMCk7CiAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKEdQUkluZm86OmFyZ3VtZW50R1BSMCwgSW5zdGFuY2U6Om9mZnNldE9mT3duZXIoKSksIEdQ
UkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKEdQUkluZm86OmFyZ3VtZW50R1BSMCwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRP
ZkNhbGxlZSgpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKyAgICBqaXQubG9hZFB0cihDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKU1dlYkFzc2VtYmx5SW5z
dGFuY2U6Om9mZnNldE9mTW9kdWxlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOwogICAgIGpp
dC5zdG9yZVB0cihHUFJJbmZvOjphcmd1bWVudEdQUjAsIEpJVDo6QWRkcmVzcyhHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlICogc3RhdGljX2Nhc3Q8aW50
PihzaXplb2YoUmVnaXN0ZXIpKSkpOwogCiAgICAgR1BSUmVnIGltcG9ydEpTQ2VsbEdQUlJlZyA9
IEdQUkluZm86OnJlZ1QwOyAvLyBDYWxsZWUgbmVlZHMgdG8gYmUgaW4gcmVnVDAgZm9yIHNsb3cg
cGF0aCBiZWxvdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5VG9KU0NhbGxlZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVRvSlNDYWxsZWUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
ZTFhMDE4ZDAxYWQ5YjA3ZTkwMGIzZmNlOTQyNTkxMjQxYmM0ODAwLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkFzc2VtYmx5VG9KU0NhbGxlZS5oIgotCi0jaWYg
RU5BQkxFKFdFQkFTU0VNQkxZKQotCi0jaW5jbHVkZSAiSlNDSW5saW5lcy5oIgotI2luY2x1ZGUg
IkpTV2ViQXNzZW1ibHlNb2R1bGUuaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci0KLWNvbnN0IENsYXNz
SW5mbyBXZWJBc3NlbWJseVRvSlNDYWxsZWU6OnNfaW5mbyA9IHsgIldlYkFzc2VtYmx5VG9KU0Nh
bGxlZSIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFC
TEUoV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKSB9OwotCi1XZWJBc3NlbWJseVRvSlNDYWxsZWUqIFdl
YkFzc2VtYmx5VG9KU0NhbGxlZTo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEpTV2ViQXNzZW1ibHlNb2R1bGUqIG1vZHVsZSkKLXsKLSAgICBXZWJBc3NlbWJseVRvSlNDYWxs
ZWUqIGNhbGxlZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFdlYkFzc2VtYmx5VG9KU0Nh
bGxlZT4odm0uaGVhcCkpIFdlYkFzc2VtYmx5VG9KU0NhbGxlZSh2bSwgc3RydWN0dXJlKTsKLSAg
ICBjYWxsZWUtPmZpbmlzaENyZWF0aW9uKHZtLCBtb2R1bGUpOwotICAgIHJldHVybiBjYWxsZWU7
Ci19Ci0KLVN0cnVjdHVyZSogV2ViQXNzZW1ibHlUb0pTQ2FsbGVlOjpjcmVhdGVTdHJ1Y3R1cmUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkK
LXsKLSAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhXZWJBc3NlbWJseVRvSlNDYWxsZWVUeXBlLCBTdHJ1Y3R1cmVGbGFncyks
IGluZm8oKSk7Ci19Ci0KLVdlYkFzc2VtYmx5VG9KU0NhbGxlZTo6V2ViQXNzZW1ibHlUb0pTQ2Fs
bGVlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBzdHJ1Y3R1
cmUpCi17Ci19Ci0KLXZvaWQgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIEpTV2ViQXNzZW1ibHlNb2R1bGUqIG1vZHVsZSkKLXsKLSAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSk7Ci0gICAgbV9tb2R1bGUuc2V0KHZtLCB0aGlzLCBtb2R1bGUpOwotfQotCi12
b2lkIFdlYkFzc2VtYmx5VG9KU0NhbGxlZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQotewotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8V2Vi
QXNzZW1ibHlUb0pTQ2FsbGVlKj4oY2VsbCk7Ci0gICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklU
Uyh0aGlzT2JqZWN0LCBpbmZvKCkpOwotCi0gICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2Jq
ZWN0LCB2aXNpdG9yKTsKLSAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX21vZHVsZSk7
Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIEpTQwotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQkFTU0VNQkxZ
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlU
b0pTQ2FsbGVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRv
SlNDYWxsZWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ViZjAwMThjMjI0ZmNm
YzA3ZGU3MGU1NzlmMzQ2YWUwMmQyZDBhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJs
eVRvSlNDYWxsZWUuaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0j
aWYgRU5BQkxFKFdFQkFTU0VNQkxZKQotCi0jaW5jbHVkZSAiSlNPYmplY3QuaCIKLQotbmFtZXNw
YWNlIEpTQyB7Ci0KLWNsYXNzIEpTV2ViQXNzZW1ibHlNb2R1bGU7Ci0KLWNsYXNzIFdlYkFzc2Vt
Ymx5VG9KU0NhbGxlZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKLXB1YmxpYzoK
LSAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKLSAgICBzdGF0aWMgY29uc3RleHBy
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7Ci0KLSAgICBz
dGF0aWMgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqLCBKU1dl
YkFzc2VtYmx5TW9kdWxlKik7Ci0gICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJl
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKLQotICAgIERFQ0xBUkVfRVhQT1JUX0lO
Rk87Ci0KLSAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9y
Jik7Ci0KLSAgICBKU1dlYkFzc2VtYmx5TW9kdWxlKiBtb2R1bGUoKSB7IHJldHVybiBtX21vZHVs
ZS5nZXQoKTsgfQotCi1wcml2YXRlOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU1dl
YkFzc2VtYmx5TW9kdWxlKik7Ci0gICAgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKFZNJiwgU3RydWN0
dXJlKik7Ci0KLSAgICBXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1vZHVsZT4gbV9tb2R1bGU7
Ci19OwotCi19IC8vIG5hbWVzcGFjZSBKU0MKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJBU1NFTUJM
WSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384738</attachid>
            <date>2019-12-03 12:37:55 -0800</date>
            <delta_ts>2019-12-03 13:49:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204808-20191203123755.patch</filename>
            <type>text/plain</type>
            <size>36035</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NDY2ZjVlYjI5MTEzYzMyODBmOGQ2NjMyMGQxMDQ0NTEwM2IwMjdmLi4wMWRkNmZiMDhjN2Q4M2Yx
MjlhZmQ3MzM5YWNkYzhhNjA2OTI5ODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAxOS0xMi0wMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSBXZWJBc3NlbWJseVRvSlNDYWxsZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgwOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZHJvcHMg
V2ViQXNzZW1ibHlUb0pTQ2FsbGVlLiBJdCB3YXMgb3JpZ2luYWxseSByZXF1aXJlZCB0byBwdXQg
c21hbGwgY2VsbCB0byByZXRyaWV2ZSBWTSBmcm9tIGNhbGxlZS4KKyAgICAgICAgQnV0IG5vdyB0
aGlzIGxpbWl0YXRpb24gaXMgcmVtb3ZlZC4gV2UgY2FuIGp1c3QgcHV0IEpTV2ViQXNzZW1ibHlN
b2R1bGUgaW4gY2FsbGVlIHBsYWNlIGluc3RlYWQuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAg
ICAgICAqIGludGVycHJldGVyL0NhbGxGcmFtZS5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFt
ZTo6aXNBbnlXYXNtQ2FsbGVlKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9TdGFja1Zpc2l0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpTdGFja1Zpc2l0b3I6OkZyYW1lOjpjYWxsZWVTYXZlUmVnaXN0
ZXJzRm9yVW53aW5kaW5nKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChK
U0M6OndlYkFzc2VtYmx5T3duZXIpOgorICAgICAgICAoSlNDOjpsaW5rRm9yKToKKyAgICAgICAg
KEpTQzo6bGlua1BvbHltb3JwaGljQ2FsbCk6CisgICAgICAgICogcnVudGltZS9KU0Nhc3QuaDoK
KyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgICogcnVudGltZS9KU0NlbGxJ
bmxpbmVzLmg6CisgICAgICAgIChKU0M6OmlzV2ViQXNzZW1ibHlNb2R1bGUpOgorICAgICAgICAo
SlNDOjppc1dlYkFzc2VtYmx5VG9KU0NhbGxlZSk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0
KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OndlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uU3RydWN0dXJlIGNvbnN0KToKKyAgICAgICAg
KEpTQzo6SlNHbG9iYWxPYmplY3Q6OndlYkFzc2VtYmx5VG9KU0NhbGxlZVN0cnVjdHVyZSBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9KU1R5cGUuY3BwOgorICAgICAgICAoV1RG
OjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZS5oOgorICAgICAgICAq
IHdhc20vV2FzbU9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpvcGVyYXRpb25X
YXNtVG9KU0V4Y2VwdGlvbik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFu
Y2UuY3BwOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjp2aXNpdENoaWxkcmVu
KToKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oOgorICAgICAgICAq
IHdhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNz
ZW1ibHlNb2R1bGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJs
eU1vZHVsZTo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlNb2R1
bGU6OmNhbGxlZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TW9kdWxlLmg6CisgICAgICAgICogd2FzbS9qcy9XYXNtVG9KUy5jcHA6CisgICAgICAgIChK
U0M6Oldhc206OmhhbmRsZUJhZEk2NFVzZSk6CisgICAgICAgIChKU0M6Oldhc206Ondhc21Ub0pT
KToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseVRvSlNDYWxsZWUuaDogUmVtb3ZlZC4KKwog
MjAxOS0xMi0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBQ
cm9wZXJ0eVNsb3Qgc2hvdWxkIG5vdCBoYXZlIEN1c3RvbXMgaGF2ZSBhIFByb3BlcnR5T2Zmc2V0
IG9mIHplcm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDllNzlhOGVkMjgzYWFk
NjU0Mzg4OTlhYjFlZjQ1NTIwODc5OWI0YS4uZDRmZTYzMzkyYmYwMGQyZWNhNzk2Zjk2YzkyOWM2
ZDRlNmJmYmZmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2MTAsNyArMTYx
MCw2IEBACiAJCUFEODZBOTNFMUFBNEQ4OEQwMDJGRTc3RiAvKiBXZWFrR0NNYXBJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRDg2QTkzRDFB
QTREODdDMDAyRkU3N0YgLyogV2Vha0dDTWFwSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUFEOEZGMzk4MUVCNUJEQjIwMDg3RkY4MiAv
KiBXYXNtSW5kZXhPck5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFEOEZGMzk1MUVCNUJEODUwMDg3RkY4MiAvKiBXYXNtSW5kZXhPck5hbWUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBRDlFODUy
RjFFOEEwQzdDMDA4REUzOUUgLyogSlNXZWJBc3NlbWJseUNvZGVCbG9jay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUQ5RTg1MkUxRThBMEM2RTAwOERF
MzlFIC8qIEpTV2ViQXNzZW1ibHlDb2RlQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlBREJDNTRENTFERjhFQTJCMDA1QkY3MzggLyogV2Vi
QXNzZW1ibHlUb0pTQ2FsbGVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBREJDNTREMzFERjhFQTAwMDA1QkY3MzggLyogV2ViQXNzZW1ibHlUb0pTQ2Fs
bGVlLmggKi87IH07CiAJCUFERDhGQTQ2MUVCMzA3OTcwMERGNTQyRiAvKiBXYXNtTmFtZVNlY3Rp
b25QYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFERDhGQTQzMUVCMzA3NzEwMERGNTQyRiAvKiBXYXNtTmFtZVNlY3Rpb25QYXJzZXIuaCAqLzsg
fTsKIAkJQURFODAyOTkxRTA4RjFERTAwNThERTc4IC8qIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFERTgwMjk0
MUUwOEYxQzkwMDU4REU3OCAvKiBKU1dlYkFzc2VtYmx5TGlua0Vycm9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQURFODAyOUExRTA4RjFERTAw
NThERTc4IC8qIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFERTgwMjk1MUUwOEYxQzkwMDU4REU3
OCAvKiBXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQ2ODEsOCArNDY4MCw2IEBACiAJCUFE
OEZGMzk2MUVCNUJEODUwMDg3RkY4MiAvKiBXYXNtSW5kZXhPck5hbWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2FzbUluZGV4T3JOYW1lLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUQ5RTg1MkUxRThBMEM2RTAwOERFMzlFIC8qIEpTV2ViQXNz
ZW1ibHlDb2RlQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNXZWJB
c3NlbWJseUNvZGVCbG9jay5oOyBwYXRoID0ganMvSlNXZWJBc3NlbWJseUNvZGVCbG9jay5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBREI2RjY3QzFFMTVENzUwMDA4MkYzODQgLyog
V2FzbVBhZ2VDb3VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
YXNtUGFnZUNvdW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQURCQzU0RDIx
REY4RUEwMDAwNUJGNzM4IC8qIFdlYkFzc2VtYmx5VG9KU0NhbGxlZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBc3NlbWJseVRvSlNDYWxsZWUuY3BwOyBwYXRo
ID0ganMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJQURCQzU0RDMxREY4RUEwMDAwNUJGNzM4IC8qIFdlYkFzc2VtYmx5VG9KU0NhbGxlZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBc3NlbWJseVRvSlNDYWxsZWUu
aDsgcGF0aCA9IGpzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBREQwOUFFRTFGNUY2MjNGMDAxMzEzQzIgLyogV2FzbVRvSlMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gV2FzbVRvSlMuaDsgcGF0aCA9IGpzL1dhc21Ub0pTLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFERDA5QUVGMUY1RjYyM0YwMDEzMTNDMiAvKiBXYXNtVG9KUy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBXYXNtVG9KUy5jcHA7IHBhdGggPSBqcy9XYXNtVG9KUy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFERDA5QUYyMUY2MjQ4MjkwMDEzMTNDMiAv
KiBKU1dlYkFzc2VtYmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTV2ViQXNzZW1ibHkuY3Bw
OyBwYXRoID0ganMvSlNXZWJBc3NlbWJseS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC04NjYyLDggKzg2NTksNiBAQAogCQkJCUFEMkZDQkMxMURCNThEQTQwMEIzRTczNiAvKiBX
ZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuaCAqLywKIAkJCQlBRDJGQ0JDMjFEQjU4REE0MDBC
M0U3MzYgLyogV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5jcHAgKi8sCiAJCQkJQUQyRkNCQzMx
REI1OERBNDAwQjNFNzM2IC8qIFdlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuaCAqLywKLQkJCQlB
REJDNTREMjFERjhFQTAwMDA1QkY3MzggLyogV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmNwcCAqLywK
LQkJCQlBREJDNTREMzFERjhFQTAwMDA1QkY3MzggLyogV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmgg
Ki8sCiAJCQkJNTJGNkMzNUIxRTcxRUIwODAwODFGNENDIC8qIFdlYkFzc2VtYmx5V3JhcHBlckZ1
bmN0aW9uLmNwcCAqLywKIAkJCQk1MkY2QzM1QzFFNzFFQjA4MDA4MUY0Q0MgLyogV2ViQXNzZW1i
bHlXcmFwcGVyRnVuY3Rpb24uaCAqLywKIAkJCSk7CkBAIC05Mzg5LDYgKzkzODQsOCBAQAogCQkJ
CTBGQjEwNTg2MTY3NTQ4MTIwMEY4QUI2RSAvKiBFeGl0S2luZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEYwQjgzQUIxNEJDRjVCQjAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5nZUluZm8uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGRUMzQzU3MUYzM0E0NTMwMEY1OUI2QyAvKiBGYXN0TWFsbG9jQWxp
Z25lZE1lbW9yeUFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VDRkFEMzcyMzcyREFE
NDAwMjkxNTk5IC8qIEZpbGVCYXNlZEZ1enplckFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlD
RTIwQkQwNTIzN0QzRTIzMDA0NkU1MjAgLyogRmlsZUJhc2VkRnV6emVyQWdlbnRCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBN0E4QUYzODE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQzMkFycmF5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0E4QUYzOTE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQ2
NEFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjI0RTU0MzE3RUE5RjU5MDBBQkIyMTcgLyog
RlBSSW5mby5oIGluIEhlYWRlcnMgKi8sCkBAIC05NDU1LDYgKzk0NTIsNyBAQAogCQkJCTYyRDJE
MzkwMUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlvblJhcmVEYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQlGRUEwQzQwMzFDREQ3RDFEMDA0ODE5OTEgLyogRnVuY3Rpb25XaGl0ZWxpc3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUzM0E5NDk3MjI1NTMyMzMwMEQ0MkIwNiAvKiBGdXp6ZXJBZ2VudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQ0VDRkFEMzYyMzcyREFEMDAwMjkxNTk5IC8qIEZ1enplclBy
ZWRpY3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkyQUFDRTYzRDE4Q0E1QTAzMDBFRDAxOTEg
LyogR0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JFMkNBRTE0RTk4
NUFBMDAwNTkzQUQgLyogR0NBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjc2NkQz
MDE1QThEQ0UyMDA4RjM2M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAq
LywKQEAgLTk2MDYsNyArOTYwNCw2IEBACiAJCQkJQTE4MTkzRTQxQjRFMENEQjAwRkMxMDI5IC8q
IEludGxDb2xsYXRvclByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDZF
MUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1
Y3Rvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0UyMEJEMDUyMzdEM0UyMzAwNDZFNTIwIC8qIEZp
bGVCYXNlZEZ1enplckFnZW50QmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzUxQjRE
QzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZv
cm1hdFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzYxQjREQzFDNjAwRDY5
ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLApA
QCAtOTkwMyw3ICs5OTAwLDYgQEAKIAkJCQkwRjdDNUZCODFEODg4QTBDMDA0NEY1RTIgLyogTWFy
a2VkQmxvY2tJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDE0NDhDQjEzQTE3NkVDMDBG
NUJBMUEgLyogTWFya2VkQmxvY2tTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0RDJGM0RCMTM5
RjRCRTIwMDQ5MTAzMSAvKiBNYXJrZWRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0UyMEJE
MDcyMzdEM0U0ODAwNDZFNTIwIC8qIFByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6ZXJBZ2VudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY3REYxMzUxRTI5NzBEQzAwOTU5NTFCIC8qIE1hcmtlZFNw
YWNlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY2NjBFMzgxRTA1MTdCQjAwMzE0NjJD
IC8qIE1hcmtpbmdDb25zdHJhaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjY2MEUzQTFFMDUx
N0MxMDAzMTQ2MkMgLyogTWFya2luZ0NvbnN0cmFpbnRTZXQuaCBpbiBIZWFkZXJzICovLApAQCAt
OTk4Miw2ICs5OTc4LDcgQEAKIAkJCQkwRjA3MEE0QjFENTQzQTk4MDA2RTcyMzIgLyogUHJlY2lz
ZUFsbG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOTgyMDYxMTZCRkUzODMwMDI0MEQw
MiAvKiBQcmVjaXNlSnVtcFRhcmdldHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzQTQyMTQzMUQ2
RjU4OTMwMDA3QzYxNyAvKiBQcmVjaXNlSnVtcFRhcmdldHNJbmxpbmVzLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRTIwQkQwNzIzN0QzRTQ4MDA0NkU1MjAgLyogUHJlZGljdGlvbkZpbGVDcmVhdGlu
Z0Z1enplckFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkJCNzNCODFERUYzQUFFMDAyQzAw
OUUgLyogUHJldmVudENvbGxlY3Rpb25TY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU2M0RE
NTQxRUE5QjYxRTAwMTAzQTY5IC8qIFByaW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2ODkx
NkIwMTU1RjI4NjMwMENCMkI5QSAvKiBQcml2YXRlTmFtZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
MDAyMCw3ICsxMDAxNyw2IEBACiAJCQkJNTM0RTAzNTYxRTUzQkVERTAwMjEzRjY0IC8qIFByb3h5
YWJsZUFjY2Vzc0Nhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTc5QjAwQ0JEMUM2QUIwN0UwMDg4
QzY1RCAvKiBQcm94eUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk3OUIwMENCRjFD
NkFCMDdFMDA4OEM2NUQgLyogUHJveHlPYmplY3QuaCBpbiBIZWFkZXJzICovLAotCQkJCUNFQ0ZB
RDM3MjM3MkRBRDQwMDI5MTU5OSAvKiBGaWxlQmFzZWRGdXp6ZXJBZ2VudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNzkxNjBEQkUxQzhFM0VDODAwOEMwODVBIC8qIFByb3h5UmV2b2tlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjU3ODBBMjE4RkUxRTk4MDAxRTcyRDkgLyogUHVyZU5hTi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYxNUNEMjMxQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5o
IGluIEhlYWRlcnMgKi8sCkBAIC0xMDA5OSw3ICsxMDA5NSw2IEBACiAJCQkJRkUzMDIyRDMxRTNE
NzNBNTAwQkFDNDkzIC8qIFNpZ2lsbENyYXNoQW5hbHl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGNEQ4Qzc4MUZDQTNDRkEwMDFEMzJBQyAvKiBTaW1wbGVNYXJraW5nQ29uc3RyYWludC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEYyQjY3MDUxN0I2QjVBQjAwQTdBRTNGIC8qIFNpbXBsZVR5cGVk
QXJyYXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlDRUNGQUQzNjIzNzJEQUQwMDAy
OTE1OTkgLyogRnV6emVyUHJlZGljdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0QkE3OEYx
MTNBQUI4OEYwMDVCN0MyQyAvKiBTbG90VmlzaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIx
NjBGRTcxNUY3RTk1RTAwOTQyREZDIC8qIFNsb3RWaXNpdG9ySW5saW5lcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTcwOUYyRjAxN0EwQUMwNDAwNTEyRTk4IC8qIFNsb3dQYXRoQ2FsbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0xMDMyOSw3ICsxMDMyNCw2IEBACiAJCQkJQUQyRkNDMjAxREI1OUNCMjAw
QjNFNzM2IC8qIFdlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUFEMkZDQkZGMURCNThEQUQwMEIzRTczNiAvKiBXZWJBc3NlbWJseVRhYmxlUHJvdG90
eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDJGQ0MyMTFEQjU5Q0IyMDBCM0U3MzYgLyogV2Vi
QXNzZW1ibHlUYWJsZVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAotCQkJCUFEQkM1NEQ1
MURGOEVBMkIwMDVCRjczOCAvKiBXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUyRjZDMzVFMUU3MUVCMDgwMDgxRjRDQyAvKiBXZWJBc3NlbWJseVdyYXBwZXJGdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0N0EwRTE2RjVDRDAwQjM0NDYwIC8qIFdl
YktpdEF2YWlsYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlEQTAwQTYxQkQ1OTkzMTAw
RjQ1NzVDIC8qIHdrYnVpbHRpbnMucHkgaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA4ZDcwNmM5NTIxY2I3ZGI2OWQyYTg1NzhhZDRhNDJlZDMyODUwZWRlLi5h
MDA2ZTVhMTExNGMwODU5NzI2YzE2NDE2NjRhMjFmMzQyMjhiYWRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L1NvdXJjZXMudHh0CkBAIC0xMDcxLDcgKzEwNzEsNiBAQCB3YXNtL2pzL1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yQ29uc3RydWN0b3IuY3BwCiB3YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9y
UHJvdG90eXBlLmNwcAogd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuY3BwCiB3
YXNtL2pzL1dlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuY3BwCi13YXNtL2pzL1dlYkFzc2VtYmx5
VG9KU0NhbGxlZS5jcHAKIHdhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uY3BwCiAK
IHlhcnIvUmVndWxhckV4cHJlc3Npb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9DYWxsRnJhbWUuY3BwCmluZGV4IDZiZjQ1N2Y0NDcxYjJjZmQ2NWU2MzM5ZDMz
YjU2MDM2YTdmM2UxZGIuLmY2Mzk0YWM3MTA3MTI1YjdjYWIyMWFkMmI5MTEzYzA3OTUzNmE2MDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuY3Bw
CkBAIC0xOTcsNyArMTk3LDcgQEAgYm9vbCBDYWxsRnJhbWU6OmlzQW55V2FzbUNhbGxlZSgpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgQVNTRVJUKGNhbGxlZS5pc0NlbGwoKSk7Ci0gICAg
aWYgKCEhY2FsbGVlLnJhd1B0cigpICYmIGlzV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKGNhbGxlZS5h
c0NlbGwoKSkpCisgICAgaWYgKCEhY2FsbGVlLnJhd1B0cigpICYmIGlzV2ViQXNzZW1ibHlNb2R1
bGUoY2FsbGVlLmFzQ2VsbCgpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zp
c2l0b3IuY3BwCmluZGV4IGNkYmRmN2RiOThjZmNlZGE5NWZkNGQ4OGQzZTJjOWFlZmNiZmEzNWUu
LmQ3MWE1OTcxZGRjOGYwZjVlYTY3OGQ1ZmNlNDhlMzk2ZTIyYTg3NTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCkBAIC0yNjQs
NyArMjY0LDcgQEAgT3B0aW9uYWw8UmVnaXN0ZXJBdE9mZnNldExpc3Q+IFN0YWNrVmlzaXRvcjo6
RnJhbWU6OmNhbGxlZVNhdmVSZWdpc3RlcnNGb3JVbndpbmQKICNpZiBFTkFCTEUoV0VCQVNTRU1C
TFkpCiAgICAgaWYgKGlzV2FzbUZyYW1lKCkpIHsKICAgICAgICAgaWYgKGNhbGxlZSgpLmlzQ2Vs
bCgpKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc1dlYkFzc2VtYmx5VG9KU0NhbGxl
ZShjYWxsZWUoKS5hc0NlbGwoKSkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNXZWJB
c3NlbWJseU1vZHVsZShjYWxsZWUoKS5hc0NlbGwoKSkpOwogICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICAgICAgfQogICAgICAgICBXYXNtOjpDYWxsZWUqIHdhc21DYWxsZWUg
PSBjYWxsZWUoKS5hc1dhc21DYWxsZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2gu
Y3BwCmluZGV4IGYxYTI5MTQ0OWMxNzczNzZhMGNjZGEwYmIwYTZiMzk0YmNiOTY0ZGYuLmMwMGFl
M2E2MmJkNjFiZmViZGRiYTQ4ZTE2NDkyYTk3ZjBiNWY3YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZXBhdGNoLmNwcApAQCAtNjQsNyArNjQsNiBAQAogI2luY2x1ZGUgIlN1cGVyU2FtcGxl
ci5oIgogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogI2luY2x1ZGUgIldlYkFzc2VtYmx5
RnVuY3Rpb24uaCIKLSNpbmNsdWRlICJXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCIKICNpbmNsdWRl
IDx3dGYvQ29tbWFQcmludGVyLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3REdW1wLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CkBAIC05MjEsNyArOTIwLDcgQEAgc3RhdGljIEpT
Q2VsbCogd2ViQXNzZW1ibHlPd25lcihKU0NlbGwqIGNhbGxlZSkKIHsKICNpZiBFTkFCTEUoV0VC
QVNTRU1CTFkpCiAgICAgLy8gRWFjaCBXZWJBc3NlbWJseS5JbnN0YW5jZSBzaGFyZXMgdGhlIHN0
dWJzIGZyb20gdGhlaXIgV2ViQXNzZW1ibHkuTW9kdWxlLCB3aGljaCBhcmUgdGhlcmVmb3JlIHRo
ZSBhcHByb3ByaWF0ZSBvd25lci4KLSAgICByZXR1cm4ganNDYXN0PFdlYkFzc2VtYmx5VG9KU0Nh
bGxlZSo+KGNhbGxlZSktPm1vZHVsZSgpOworICAgIHJldHVybiBqc0Nhc3Q8SlNXZWJBc3NlbWJs
eU1vZHVsZSo+KGNhbGxlZSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShjYWxsZWUpOwogICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC05NDMsNyArOTQyLDcgQEAgdm9pZCBs
aW5rRm9yKAogICAgIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrID0gY2FsbGVyRnJhbWUtPmNv
ZGVCbG9jaygpOwogCiAgICAgLy8gV2ViQXNzZW1ibHkgLT4gSlMgc3R1YnMgZG9uJ3QgaGF2ZSBh
IHZhbGlkIENvZGVCbG9jay4KLSAgICBKU0NlbGwqIG93bmVyID0gaXNXZWJBc3NlbWJseVRvSlND
YWxsZWUoY2FsbGVyRnJhbWUtPmNhbGxlZSgpLmFzQ2VsbCgpKSA/IHdlYkFzc2VtYmx5T3duZXIo
Y2FsbGVyRnJhbWUtPmNhbGxlZSgpLmFzQ2VsbCgpKSA6IGNhbGxlckNvZGVCbG9jazsKKyAgICBK
U0NlbGwqIG93bmVyID0gaXNXZWJBc3NlbWJseU1vZHVsZShjYWxsZXJGcmFtZS0+Y2FsbGVlKCku
YXNDZWxsKCkpID8gd2ViQXNzZW1ibHlPd25lcihjYWxsZXJGcmFtZS0+Y2FsbGVlKCkuYXNDZWxs
KCkpIDogY2FsbGVyQ29kZUJsb2NrOwogICAgIEFTU0VSVChvd25lcik7CiAKICAgICBBU1NFUlQo
IWNhbGxMaW5rSW5mby5pc0xpbmtlZCgpKTsKQEAgLTEwNzQsNyArMTA3Myw3IEBAIHZvaWQgbGlu
a1BvbHltb3JwaGljQ2FsbChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgQ2FsCiAgICAgQVNTRVJUKGNhbGxlckZyYW1lLT5jYWxsZWUoKS5pc0NlbGwo
KSk7CiAKICAgICBDb2RlQmxvY2sqIGNhbGxlckNvZGVCbG9jayA9IGNhbGxlckZyYW1lLT5jb2Rl
QmxvY2soKTsKLSAgICBib29sIGlzV2ViQXNzZW1ibHkgPSBpc1dlYkFzc2VtYmx5VG9KU0NhbGxl
ZShjYWxsZXJGcmFtZS0+Y2FsbGVlKCkuYXNDZWxsKCkpOworICAgIGJvb2wgaXNXZWJBc3NlbWJs
eSA9IGlzV2ViQXNzZW1ibHlNb2R1bGUoY2FsbGVyRnJhbWUtPmNhbGxlZSgpLmFzQ2VsbCgpKTsK
IAogICAgIC8vIFdlYkFzc2VtYmx5IC0+IEpTIHN0dWJzIGRvbid0IGhhdmUgYSB2YWxpZCBDb2Rl
QmxvY2suCiAgICAgSlNDZWxsKiBvd25lciA9IGlzV2ViQXNzZW1ibHkgPyB3ZWJBc3NlbWJseU93
bmVyKGNhbGxlckZyYW1lLT5jYWxsZWUoKS5hc0NlbGwoKSkgOiBjYWxsZXJDb2RlQmxvY2s7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCmluZGV4IDMzMjA0NmRmYTg3ZjI5NGM2
ZmIxMTdlY2QzOTA3OWEyMmI0OTA0NWMuLjkxNjdjNmE3MGRhZmJkYTc1Y2E3YTUwNDI3ZTNmZjky
NmQ1MTE2ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Fz
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCkBAIC02Myw3
ICs2Myw3IEBAIGlubGluZSBUbyBqc0Nhc3QoSlNWYWx1ZSBmcm9tKQogICAgIG1hY3JvKE51bWJl
ck9iamVjdCwgSlNUeXBlOjpOdW1iZXJPYmplY3RUeXBlLCBKU1R5cGU6Ok51bWJlck9iamVjdFR5
cGUpIFwKICAgICBtYWNybyhQcm94eU9iamVjdCwgSlNUeXBlOjpQcm94eU9iamVjdFR5cGUsIEpT
VHlwZTo6UHJveHlPYmplY3RUeXBlKSBcCiAgICAgbWFjcm8oUmVnRXhwT2JqZWN0LCBKU1R5cGU6
OlJlZ0V4cE9iamVjdFR5cGUsIEpTVHlwZTo6UmVnRXhwT2JqZWN0VHlwZSkgXAotICAgIG1hY3Jv
KFdlYkFzc2VtYmx5VG9KU0NhbGxlZSwgSlNUeXBlOjpXZWJBc3NlbWJseVRvSlNDYWxsZWVUeXBl
LCBKU1R5cGU6OldlYkFzc2VtYmx5VG9KU0NhbGxlZVR5cGUpIFwKKyAgICBtYWNybyhKU1dlYkFz
c2VtYmx5TW9kdWxlLCBKU1R5cGU6OldlYkFzc2VtYmx5TW9kdWxlVHlwZSwgSlNUeXBlOjpXZWJB
c3NlbWJseU1vZHVsZVR5cGUpIFwKICAgICBtYWNybyhEaXJlY3RBcmd1bWVudHMsIEpTVHlwZTo6
RGlyZWN0QXJndW1lbnRzVHlwZSwgSlNUeXBlOjpEaXJlY3RBcmd1bWVudHNUeXBlKSBcCiAgICAg
bWFjcm8oU2NvcGVkQXJndW1lbnRzLCBKU1R5cGU6OlNjb3BlZEFyZ3VtZW50c1R5cGUsIEpTVHlw
ZTo6U2NvcGVkQXJndW1lbnRzVHlwZSkgXAogICAgIG1hY3JvKENsb25lZEFyZ3VtZW50cywgSlNU
eXBlOjpDbG9uZWRBcmd1bWVudHNUeXBlLCBKU1R5cGU6OkNsb25lZEFyZ3VtZW50c1R5cGUpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IGIwYmE1OGI0NTA3
Nzg4N2Y4M2UwMWMyYzgzNTlhNjUzYjg5MjdlNzIuLjI3MTM1MmIyMTc0NzAzNTZkZjQwM2ZkZDlj
ZGU2MGRlZjg4ODE2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQ2VsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNw
cApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNP
YmplY3QuaCIKICNpbmNsdWRlICJOdW1iZXJPYmplY3QuaCIKLSNpbmNsdWRlICJXZWJBc3NlbWJs
eVRvSlNDYWxsZWUuaCIKICNpbmNsdWRlIDx3dGYvTG9ja0FsZ29yaXRobUlubGluZXMuaD4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGxJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGxJbmxpbmVzLmgKaW5kZXggMWE2NDIwZDQ0YjIwYzk5YjdmMTUwZDFkODIxYmY4
MDZjNzBmNzE5MC4uZTk4Y2U4ODE1MTEyYTg0NGYyMTY0MDZmOTZhYjhiN2JlNzlhYTIxMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsSW5saW5lcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbElubGluZXMuaApAQCAtNDIy
LDkgKzQyMiw5IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU0NlbGw6OnB1dElubGluZShKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUKICAgICByZXR1cm4gcHV0TWV0aG9k
KHRoaXMsIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiB9CiAKLWlu
bGluZSBib29sIGlzV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKGNvbnN0IEpTQ2VsbCogY2VsbCkKK2lu
bGluZSBib29sIGlzV2ViQXNzZW1ibHlNb2R1bGUoY29uc3QgSlNDZWxsKiBjZWxsKQogewotICAg
IHJldHVybiBjZWxsLT50eXBlKCkgPT0gV2ViQXNzZW1ibHlUb0pTQ2FsbGVlVHlwZTsKKyAgICBy
ZXR1cm4gY2VsbC0+dHlwZSgpID09IFdlYkFzc2VtYmx5TW9kdWxlVHlwZTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKaW5kZXggYmM4M2I3MWMzYmNiMzhmNmQ2NTYwN2EyNWQ5OWExYjhmMWQwMmNk
Zi4uNjgyN2I1ZDgxZjA2ZjE2MjliNzZjNDJjN2VlOGZjMjI3ZWYyMzQyNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMjAyLDcg
KzIwMiw2IEBACiAjaW5jbHVkZSAiV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuaCIK
ICNpbmNsdWRlICJXZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJXZWJB
c3NlbWJseVRhYmxlUHJvdG90eXBlLmgiCi0jaW5jbHVkZSAiV2ViQXNzZW1ibHlUb0pTQ2FsbGVl
LmgiCiAjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlci5oPgogCiAjaWYgRU5BQkxFKElOVEwpCkBA
IC0xMTkyLDEwICsxMTkxLDYgQEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFt
ZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUKICAgICAgICAgICAg
IFtdIChjb25zdCBJbml0aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7CiAgICAgICAgICAgICAg
ICAgaW5pdC5zZXQoV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZShp
bml0LnZtLCBpbml0Lm93bmVyLCBpbml0Lm93bmVyLT5tX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgp
KSk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgbV93ZWJBc3NlbWJseVRvSlNDYWxsZWVTdHJ1
Y3R1cmUuaW5pdExhdGVyKAotICAgICAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVj
dHVyZT4mIGluaXQpIHsKLSAgICAgICAgICAgICAgICBpbml0LnNldChXZWJBc3NlbWJseVRvSlND
YWxsZWU6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBpbml0Lm93bmVyLCBqc051bGwoKSkpOwot
ICAgICAgICAgICAgfSk7CiAgICAgICAgIGF1dG8qIHdlYkFzc2VtYmx5ID0gSlNXZWJBc3NlbWJs
eTo6Y3JlYXRlKHZtLCB0aGlzLCBKU1dlYkFzc2VtYmx5OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRo
aXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CiAgICAgICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiV2ViQXNzZW1ibHkiKSwg
d2ViQXNzZW1ibHksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pKTsKIApAQCAtMTg0Nyw3ICsxODQyLDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlz
aXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHRoaXNP
YmplY3QtPm1fd2ViQXNzZW1ibHlGdW5jdGlvblN0cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKICAg
ICB0aGlzT2JqZWN0LT5tX2pzVG9XYXNtSUNDYWxsZWVTdHJ1Y3R1cmUudmlzaXQodmlzaXRvcik7
CiAgICAgdGhpc09iamVjdC0+bV93ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblN0cnVjdHVyZS52
aXNpdCh2aXNpdG9yKTsKLSAgICB0aGlzT2JqZWN0LT5tX3dlYkFzc2VtYmx5VG9KU0NhbGxlZVN0
cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKICAgICBGT1JfRUFDSF9XRUJBU1NFTUJMWV9DT05TVFJV
Q1RPUl9UWVBFKFZJU0lUX0xBWllfVFlQRSkKICNlbmRpZiAvLyBFTkFCTEUoV0VCQVNTRU1CTFkp
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmlu
ZGV4IDc3OWUzZTk1M2M2NDM3YTU3ZmEwZDVkMzI2NTMzYzE1MDNkZmEyMDEuLjc0MmQ3MGQ3MzE3
MGMyYzM3N2YzZDJiNWY1NmUzYjNjMTQ0YzM3ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNDAxLDcgKzQwMSw2IEBAIGNsYXNzIEpT
R2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIExh
enlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX3dlYkFzc2VtYmx5RnVuY3Rp
b25TdHJ1Y3R1cmU7CiAgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+
IG1fanNUb1dhc21JQ0NhbGxlZVN0cnVjdHVyZTsKICAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxP
YmplY3QsIFN0cnVjdHVyZT4gbV93ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblN0cnVjdHVyZTsK
LSAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIFN0cnVjdHVyZT4gbV93ZWJBc3NlbWJs
eVRvSlNDYWxsZWVTdHJ1Y3R1cmU7CiAgICAgRk9SX0VBQ0hfV0VCQVNTRU1CTFlfQ09OU1RSVUNU
T1JfVFlQRShERUZJTkVfU1RPUkFHRV9GT1JfTEFaWV9UWVBFKQogI2VuZGlmIC8vIEVOQUJMRShX
RUJBU1NFTUJMWSkKIApAQCAtNzY1LDcgKzc2NCw2IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDog
cHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIFN0cnVjdHVyZSogd2ViQXNz
ZW1ibHlGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViQXNzZW1ibHlGdW5j
dGlvblN0cnVjdHVyZS5nZXQodGhpcyk7IH0KICAgICBTdHJ1Y3R1cmUqIGpzVG9XYXNtSUNDYWxs
ZWVTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2pzVG9XYXNtSUNDYWxsZWVTdHJ1Y3R1cmUu
Z2V0KHRoaXMpOyB9CiAgICAgU3RydWN0dXJlKiB3ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KHRoaXMpOyB9Ci0gICAgU3RydWN0dXJlKiB3ZWJBc3NlbWJseVRvSlNDYWxsZWVT
dHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3dlYkFzc2VtYmx5VG9KU0NhbGxlZVN0cnVjdHVy
ZS5nZXQodGhpcyk7IH0KICNlbmRpZiAvLyBFTkFCTEUoV0VCQVNTRU1CTFkpCiAjaWYgRU5BQkxF
KElOVEwpCiAgICAgU3RydWN0dXJlKiBjb2xsYXRvclN0cnVjdHVyZSgpIHsgcmV0dXJuIG1fY29s
bGF0b3JTdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNUeXBlLmNwcAppbmRleCAxNmRjOWI5MWY0ZmM0MzEyODY0MzY0NmVjNmQwMzlhZWNhZGY3YzE1
Li41MTYyZWI0NGJiOTc4YTFmNWFlNzIwN2Y1NDBhOTAyMDRlMDUxYTk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIHBy
aW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpKU1R5cGUgdHlwZSkKICAgICBDQVNF
KEpTU2V0VHlwZSkKICAgICBDQVNFKEpTV2Vha01hcFR5cGUpCiAgICAgQ0FTRShKU1dlYWtTZXRU
eXBlKQotICAgIENBU0UoV2ViQXNzZW1ibHlUb0pTQ2FsbGVlVHlwZSkKKyAgICBDQVNFKFdlYkFz
c2VtYmx5TW9kdWxlVHlwZSkKICAgICBDQVNFKFN0cmluZ09iamVjdFR5cGUpCiAgICAgQ0FTRShN
YXhKU1R5cGUpCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuaAppbmRl
eCA4MGJkMzRjYjYyMjFhYWZiZTk2YWYxMDQ2NTMyYTY3ZDc3MzJlYzdjLi42ZTc1MDZiYWRmNzIx
ZTJhMjM5M2I4YWYzMzcyMDc0ZWNjNDhkOTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1R5cGUuaApAQCAtMTE2LDcgKzExNiw3IEBAIGVudW0gSlNUeXBlIDogdWludDhfdCB7CiAg
ICAgSlNTZXRUeXBlLAogICAgIEpTV2Vha01hcFR5cGUsCiAgICAgSlNXZWFrU2V0VHlwZSwKLSAg
ICBXZWJBc3NlbWJseVRvSlNDYWxsZWVUeXBlLAorICAgIFdlYkFzc2VtYmx5TW9kdWxlVHlwZSwK
ICAgICBTdHJpbmdPYmplY3RUeXBlLAogCiAgICAgTGFzdEpTQ09iamVjdFR5cGUgPSBTdHJpbmdP
YmplY3RUeXBlLCAvLyBUaGlzIGlzIHRoZSBsYXN0ICJKU0MiIE9iamVjdCB0eXBlLiBBZnRlciB0
aGlzLCB3ZSBoYXZlIGVtYmVkZGVyJ3MgKGUuZy4sIFdlYkNvcmUpIGV4dGVuZGVkIG9iamVjdCB0
eXBlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25zLmNwcApp
bmRleCBmY2VmNDhmNzVkZmVkODVmOGZiY2Q0MGI3MDE5NTE3NzRlNzI2ZDUzLi5iOGI1YzkwZTk3
YWZmMzAxNWVkNDg3MWFhMzM5NjkzNjY3YjNkMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwCkBAIC03NDMsNyArNzQzLDcgQEAgdm9pZCogSklU
X09QRVJBVElPTiBvcGVyYXRpb25XYXNtVG9KU0V4Y2VwdGlvbihDYWxsRnJhbWUqIGNhbGxGcmFt
ZSwgV2FzbTo6RXhjZXAKICAgICAvLyBmb3IgZXhjZXB0aW9ucyBmaXJzdCBsb2FkIGNhbGxGcmFt
ZUZvckNhdGNoIGluZm8gY2FsbCBmcmFtZSByZWdpc3RlciBiZWZvcmUganVtcGluZwogICAgIC8v
IHRvIHRoZSBleGNlcHRpb24gaGFuZGxlci4gSWYgd2UgZGlkIHRoaXMsIHdlIGNvdWxkIHJlbW92
ZSB0aGlzIHRlcnJpYmxlIGhhY2suCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MDQ0MAotICAgIGJpdHdpc2VfY2FzdDx1aW50NjRfdCo+KGNhbGxGcmFt
ZSlbQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlXSA9IGJpdHdpc2VfY2FzdDx1aW50NjRfdD4oaW5zdGFu
Y2UtPndlYkFzc2VtYmx5VG9KU0NhbGxlZSgpKTsKKyAgICBiaXR3aXNlX2Nhc3Q8dWludDY0X3Qq
PihjYWxsRnJhbWUpW0NhbGxGcmFtZVNsb3Q6OmNhbGxlZV0gPSBiaXR3aXNlX2Nhc3Q8dWludDY0
X3Q+KGluc3RhbmNlLT5tb2R1bGUoKSk7CiAgICAgcmV0dXJuIHZtLnRhcmdldE1hY2hpbmVQQ0Zv
clRocm93OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9K
U1dlYkFzc2VtYmx5SW5zdGFuY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
SlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcAppbmRleCA4ODU4YjE0ZDI1NDY3OTRhN2E0ZDRiZWVh
ZDczNDM0NzEyMjk5OTdmLi4wODllYTFmNWJlYWI5ODhjYzQ3MmJkMTA2ZjgzNzY5MjYwNzAyOWE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
SW5zdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlJbnN0YW5jZS5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJKU1dlYkFzc2Vt
Ymx5TWVtb3J5LmgiCiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJseU1vZHVsZS5oIgogI2luY2x1ZGUg
IldlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmgiCi0jaW5jbHVkZSAiV2ViQXNzZW1ibHlUb0pTQ2Fs
bGVlLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
QEAgLTY3LDcgKzY2LDYgQEAgdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlLAogCiAgICAgbV9tb2R1bGUu
c2V0KHZtLCB0aGlzLCBtb2R1bGUpOwogICAgIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0LnNldCh2
bSwgdGhpcywgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKLSAgICBtX2NhbGxlZS5zZXQodm0sIHRo
aXMsIG1vZHVsZS0+Y2FsbGVlKCkpOwogCiAgICAgdm0uaGVhcC5yZXBvcnRFeHRyYU1lbW9yeUFs
bG9jYXRlZChtX2luc3RhbmNlLT5leHRyYU1lbW9yeUFsbG9jYXRlZCgpKTsKIH0KQEAgLTg5LDcg
Kzg3LDYgQEAgdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX21lbW9yeSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRoaXNPYmplY3Qt
Pmluc3RhbmNlKCkubW9kdWxlKCkubW9kdWxlSW5mb3JtYXRpb24oKS50YWJsZUNvdW50KCk7ICsr
aSkKICAgICAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV90YWJsZXNbaV0pOwotICAg
IHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FsbGVlKTsKICAgICB2aXNpdG9yLnJlcG9y
dEV4dHJhTWVtb3J5VmlzaXRlZCh0aGlzT2JqZWN0LT5tX2luc3RhbmNlLT5leHRyYU1lbW9yeUFs
bG9jYXRlZCgpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGhpc09iamVjdC0+aW5z
dGFuY2UoKS5udW1JbXBvcnRGdW5jdGlvbnMoKTsgKytpKQogICAgICAgICB2aXNpdG9yLmFwcGVu
ZCgqdGhpc09iamVjdC0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8SlNP
YmplY3Q+PihpKSk7IC8vIFRoaXMgYWxzbyBrZWVwcyB0aGUgZnVuY3Rpb25zJyBKU1dlYkFzc2Vt
Ymx5SW5zdGFuY2UgYWxpdmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCmluZGV4IGQwZTBmNmQxOTM2MzQzNWE1OGVkNjI5
ZWEwOTA0ZDE1NzQyMGQwNDYuLmE3ZmY0ZWFkMDVkYTZjZWQzY2Q3ZWJlNTQ2NGI5NjZjZTM1MmE2
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHlJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlJbnN0YW5jZS5oCkBAIC00MCw3ICs0MCw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFz
cyBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDsKIGNsYXNzIEpTV2ViQXNzZW1ibHlNb2R1bGU7Ci1j
bGFzcyBXZWJBc3NlbWJseVRvSlNDYWxsZWU7CiAKIG5hbWVzcGFjZSBXYXNtIHsKIGNsYXNzIENv
ZGVCbG9jazsKQEAgLTYxLDcgKzYwLDYgQEAgY2xhc3MgSlNXZWJBc3NlbWJseUluc3RhbmNlIGZp
bmFsIDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKICAgICAKICAgICBXYXNtOjpJbnN0
YW5jZSYgaW5zdGFuY2UoKSB7IHJldHVybiBtX2luc3RhbmNlLmdldCgpOyB9CiAgICAgSlNNb2R1
bGVOYW1lc3BhY2VPYmplY3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCgpIHsgcmV0dXJuIG1fbW9k
dWxlTmFtZXNwYWNlT2JqZWN0LmdldCgpOyB9Ci0gICAgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKiB3
ZWJBc3NlbWJseVRvSlNDYWxsZWUoKSB7IHJldHVybiBtX2NhbGxlZS5nZXQoKTsgfQogCiAgICAg
SlNXZWJBc3NlbWJseU1lbW9yeSogbWVtb3J5KCkgeyByZXR1cm4gbV9tZW1vcnkuZ2V0KCk7IH0K
ICAgICB2b2lkIHNldE1lbW9yeShWTSYgdm0sIEpTV2ViQXNzZW1ibHlNZW1vcnkqIHZhbHVlKSB7
CkBAIC04NCw4ICs4Miw4IEBAIGNsYXNzIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSBmaW5hbCA6IHB1
YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CiAgICAgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9k
dWxlKCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGUuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzaXpl
X3Qgb2Zmc2V0T2ZJbnN0YW5jZSgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1dlYkFzc2Vt
Ymx5SW5zdGFuY2UsIG1faW5zdGFuY2UpOyB9CisgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZk1v
ZHVsZSgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1dlYkFzc2VtYmx5SW5zdGFuY2UsIG1f
bW9kdWxlKTsgfQogICAgIHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZHbG9iYWxPYmplY3QoKSB7IHJl
dHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2dsb2JhbE9iamVj
dCk7IH0KLSAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mQ2FsbGVlKCkgeyByZXR1cm4gT0JKRUNU
X09GRlNFVE9GKEpTV2ViQXNzZW1ibHlJbnN0YW5jZSwgbV9jYWxsZWUpOyB9CiAgICAgc3RhdGlj
IHNpemVfdCBvZmZzZXRPZlZNKCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpTV2ViQXNzZW1i
bHlJbnN0YW5jZSwgbV92bSk7IH0KIAogcHJvdGVjdGVkOgpAQCAtMTA0LDcgKzEwMiw2IEBAIGNs
YXNzIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSBmaW5hbCA6IHB1YmxpYyBKU0Rlc3RydWN0aWJsZU9i
amVjdCB7CiAgICAgV3JpdGVCYXJyaWVyPEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0PiBtX21vZHVs
ZU5hbWVzcGFjZU9iamVjdDsKICAgICBXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1lbW9yeT4g
bV9tZW1vcnk7CiAgICAgVmVjdG9yPFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5VGFibGU+PiBt
X3RhYmxlczsKLSAgICBXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVlPiBtX2NhbGxl
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmNwcAppbmRleCA3NjdmZDU5ZTE2ZGVi
ZTYxMDIyMjViZjcxZTExNGIzZjk1ZTliMGE1Li42M2EwNzgyNDZjMTAxNTFhN2M2ZTJmZTJkZTdi
OWVjNTgwYjI1OTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9K
U1dlYkFzc2VtYmx5TW9kdWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5TW9kdWxlLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIldh
c21NZW1vcnkuaCIKICNpbmNsdWRlICJXYXNtTW9kdWxlLmgiCiAjaW5jbHVkZSAiV2FzbVBsYW4u
aCIKLSNpbmNsdWRlICJXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCIKICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtODYsNyArODUsNiBAQCB2b2lkIEpT
V2ViQXNzZW1ibHlNb2R1bGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKICAgICB9CiAKICAgICBt
X2V4cG9ydFN5bWJvbFRhYmxlLnNldCh2bSwgdGhpcywgZXhwb3J0U3ltYm9sVGFibGUpOwotICAg
IG1fY2FsbGVlLnNldCh2bSwgdGhpcywgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCh2bSktPndlYkFzc2VtYmx5VG9KU0NhbGxlZVN0cnVjdHVyZSgpLCB0aGlz
KSk7CiB9CiAKIHZvaWQgSlNXZWJBc3NlbWJseU1vZHVsZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwp
CkBAIC0xMTAsMTEgKzEwOCw2IEBAIFdhc206OlNpZ25hdHVyZUluZGV4IEpTV2ViQXNzZW1ibHlN
b2R1bGU6OnNpZ25hdHVyZUluZGV4RnJvbUZ1bmN0aW9uSW5kZXhTcGFjZSh1CiAgICAgcmV0dXJu
IG1fbW9kdWxlLT5zaWduYXR1cmVJbmRleEZyb21GdW5jdGlvbkluZGV4U3BhY2UoZnVuY3Rpb25J
bmRleFNwYWNlKTsKIH0KIAotV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKiBKU1dlYkFzc2VtYmx5TW9k
dWxlOjpjYWxsZWUoKSBjb25zdAotewotICAgIHJldHVybiBtX2NhbGxlZS5nZXQoKTsKLX0KLQog
SlNXZWJBc3NlbWJseUNvZGVCbG9jayogSlNXZWJBc3NlbWJseU1vZHVsZTo6Y29kZUJsb2NrKFdh
c206Ok1lbW9yeU1vZGUgbW9kZSkKIHsKICAgICByZXR1cm4gbV9jb2RlQmxvY2tzW3N0YXRpY19j
YXN0PHNpemVfdD4obW9kZSldLmdldCgpOwpAQCAtMTM3LDcgKzEzMCw2IEBAIHZvaWQgSlNXZWJB
c3NlbWJseU1vZHVsZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQogCiAgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2V4cG9ydFN5bWJvbFRhYmxlKTsKLSAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhbGxlZSk7CiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IFdhc206Ok51bWJlck9mTWVtb3J5TW9kZXM7ICsraSkKICAgICAgICAgdmlz
aXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jb2RlQmxvY2tzW2ldKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuaAppbmRleCBi
MTEyNmY4NGRiM2YyMWU3ZmM5ZjIyY2UzYTRhNzZmZGM3ZTZlZGVjLi4xMTA3MzJiNDRjODg4NDJm
NzgxZmFkY2VhMTMzYjQ3MTI0NWM3YmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oCkBAIC00OCw3ICs0OCw2IEBAIHVzaW5n
IFNpZ25hdHVyZUluZGV4ID0gdWludDY0X3Q7CiBjbGFzcyBTeW1ib2xUYWJsZTsKIGNsYXNzIEpT
V2ViQXNzZW1ibHlDb2RlQmxvY2s7CiBjbGFzcyBKU1dlYkFzc2VtYmx5TWVtb3J5OwotY2xhc3Mg
V2ViQXNzZW1ibHlUb0pTQ2FsbGVlOwogCiBjbGFzcyBKU1dlYkFzc2VtYmx5TW9kdWxlIGZpbmFs
IDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKIHB1YmxpYzoKQEAgLTYyLDcgKzYxLDYg
QEAgY2xhc3MgSlNXZWJBc3NlbWJseU1vZHVsZSBmaW5hbCA6IHB1YmxpYyBKU0Rlc3RydWN0aWJs
ZU9iamVjdCB7CiAgICAgY29uc3QgV2FzbTo6TW9kdWxlSW5mb3JtYXRpb24mIG1vZHVsZUluZm9y
bWF0aW9uKCkgY29uc3Q7CiAgICAgU3ltYm9sVGFibGUqIGV4cG9ydFN5bWJvbFRhYmxlKCkgY29u
c3Q7CiAgICAgV2FzbTo6U2lnbmF0dXJlSW5kZXggc2lnbmF0dXJlSW5kZXhGcm9tRnVuY3Rpb25J
bmRleFNwYWNlKHVuc2lnbmVkIGZ1bmN0aW9uSW5kZXhTcGFjZSkgY29uc3Q7Ci0gICAgV2ViQXNz
ZW1ibHlUb0pTQ2FsbGVlKiBjYWxsZWUoKSBjb25zdDsKIAogICAgIEpTV2ViQXNzZW1ibHlDb2Rl
QmxvY2sqIGNvZGVCbG9jayhXYXNtOjpNZW1vcnlNb2RlIG1vZGUpOwogICAgIHZvaWQgc2V0Q29k
ZUJsb2NrKFZNJiwgV2FzbTo6TWVtb3J5TW9kZSwgSlNXZWJBc3NlbWJseUNvZGVCbG9jayopOwpA
QCAtODAsNyArNzgsNiBAQCBjbGFzcyBKU1dlYkFzc2VtYmx5TW9kdWxlIGZpbmFsIDogcHVibGlj
IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKICAgICBSZWY8V2FzbTo6TW9kdWxlPiBtX21vZHVsZTsK
ICAgICBXcml0ZUJhcnJpZXI8U3ltYm9sVGFibGU+IG1fZXhwb3J0U3ltYm9sVGFibGU7CiAgICAg
V3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+IG1fY29kZUJsb2Nrc1tXYXNtOjpO
dW1iZXJPZk1lbW9yeU1vZGVzXTsKLSAgICBXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2Fs
bGVlPiBtX2NhbGxlZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCmluZGV4IDI3YTU3YzI4MGY0MWU5NWI3ODZlNDEw
ZGI4MTFiMDU3NmIwZjVmZWUuLmIyNjdkNTFlNDk0ZGI1MjM3ZmZjN2VkYWMyNzNlYmJjZTJkZTFj
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAKQEAgLTY3
LDcgKzY3LDcgQEAgc3RhdGljIEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50
cnlQdHJUYWc+LCBCaW5kaW5nRmFpbHVyZT4gaGFuZGxlQmEKIAogICAgIC8vIFN0b3JlIENhbGxl
ZS4KICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1l
bnRHUFIwLCBJbnN0YW5jZTo6b2Zmc2V0T2ZPd25lcigpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIw
KTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1l
bnRHUFIwLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9mQ2FsbGVlKCkpLCBHUFJJbmZv
Ojphcmd1bWVudEdQUjEpOworICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhH
UFJJbmZvOjphcmd1bWVudEdQUjAsIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6b2Zmc2V0T2ZNb2R1
bGUoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CiAgICAgaml0LnByZXBhcmVDYWxsT3BlcmF0
aW9uKHZtKTsKICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBKSVQ6OkFk
ZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxGcmFtZVNsb3Q6OmNhbGxlZSAq
IHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKIApAQCAtMjU0LDcgKzI1NCw3
IEBAIEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxXYXNtRW50cnlQdHJUYWc+LCBCaW5k
aW5nRmFpbHVyZT4gd2FzbVRvSlMoVk0mIHZtCiAKICAgICBqaXQubG9hZFdhc21Db250ZXh0SW5z
dGFuY2UoR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBJbnN0YW5jZTo6b2Zmc2V0T2ZPd25l
cigpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6
Om9mZnNldE9mQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgIGppdC5sb2Fk
UHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjAsIEpTV2ViQXNz
ZW1ibHlJbnN0YW5jZTo6b2Zmc2V0T2ZNb2R1bGUoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7
CiAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmFyZ3VtZW50R1BSMCwgSklUOjpBZGRyZXNzKEdQ
UkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWVTbG90OjpjYWxsZWUgKiBzdGF0aWNf
Y2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKSk7CiAKICAgICBHUFJSZWcgaW1wb3J0SlNDZWxs
R1BSUmVnID0gR1BSSW5mbzo6cmVnVDA7IC8vIENhbGxlZSBuZWVkcyB0byBiZSBpbiByZWdUMCBm
b3Igc2xvdyBwYXRoIGJlbG93LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGZlMWEwMThkMDFhZDliMDdlOTAwYjNmY2U5NDI1OTEyNDFiYzQ4MDAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDcyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmgi
Ci0KLSNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCi0KLSNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCi0j
aW5jbHVkZSAiSlNXZWJBc3NlbWJseU1vZHVsZS5oIgotCi1uYW1lc3BhY2UgSlNDIHsKLQotY29u
c3QgQ2xhc3NJbmZvIFdlYkFzc2VtYmx5VG9KU0NhbGxlZTo6c19pbmZvID0geyAiV2ViQXNzZW1i
bHlUb0pTQ2FsbGVlIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01F
VEhPRF9UQUJMRShXZWJBc3NlbWJseVRvSlNDYWxsZWUpIH07Ci0KLVdlYkFzc2VtYmx5VG9KU0Nh
bGxlZSogV2ViQXNzZW1ibHlUb0pTQ2FsbGVlOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlKQotewotICAgIFdlYkFzc2VtYmx5
VG9KU0NhbGxlZSogY2FsbGVlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8V2ViQXNzZW1i
bHlUb0pTQ2FsbGVlPih2bS5oZWFwKSkgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKHZtLCBzdHJ1Y3R1
cmUpOwotICAgIGNhbGxlZS0+ZmluaXNoQ3JlYXRpb24odm0sIG1vZHVsZSk7Ci0gICAgcmV0dXJu
IGNhbGxlZTsKLX0KLQotU3RydWN0dXJlKiBXZWJBc3NlbWJseVRvSlNDYWxsZWU6OmNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJv
dG90eXBlKQotewotICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIFR5cGVJbmZvKFdlYkFzc2VtYmx5VG9KU0NhbGxlZVR5cGUsIFN0cnVjdHVy
ZUZsYWdzKSwgaW5mbygpKTsKLX0KLQotV2ViQXNzZW1ibHlUb0pTQ2FsbGVlOjpXZWJBc3NlbWJs
eVRvSlNDYWxsZWUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0s
IHN0cnVjdHVyZSkKLXsKLX0KLQotdm9pZCBXZWJBc3NlbWJseVRvSlNDYWxsZWU6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlKQotewotICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICBtX21vZHVsZS5zZXQodm0sIHRoaXMsIG1vZHVsZSk7
Ci19Ci0KLXZvaWQgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCog
Y2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCi17Ci0gICAgYXV0byogdGhpc09iamVjdCA9IGpz
Q2FzdDxXZWJBc3NlbWJseVRvSlNDYWxsZWUqPihjZWxsKTsKLSAgICBBU1NFUlRfR0NfT0JKRUNU
X0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7Ci0KLSAgICBCYXNlOjp2aXNpdENoaWxkcmVu
KHRoaXNPYmplY3QsIHZpc2l0b3IpOwotICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1f
bW9kdWxlKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgSlNDCi0KLSNlbmRpZiAvLyBFTkFCTEUoV0VC
QVNTRU1CTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseVRvSlNDYWxsZWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5VG9KU0NhbGxlZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZWJmMDAx
OGMyMjRmY2ZjMDdkZTcwZTU3OWYzNDZhZTAyZDJkMGFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5VG9KU0NhbGxlZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBv
bmNlCi0KLSNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCi0KLSNpbmNsdWRlICJKU09iamVjdC5oIgot
Ci1uYW1lc3BhY2UgSlNDIHsKLQotY2xhc3MgSlNXZWJBc3NlbWJseU1vZHVsZTsKLQotY2xhc3Mg
V2ViQXNzZW1ibHlUb0pTQ2FsbGVlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3Qgewot
cHVibGljOgotICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwotICAgIHN0YXRpYyBj
b25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsK
LQotICAgIHN0YXRpYyBXZWJBc3NlbWJseVRvSlNDYWxsZWUqIGNyZWF0ZShWTSYsIFN0cnVjdHVy
ZSosIEpTV2ViQXNzZW1ibHlNb2R1bGUqKTsKLSAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwotCi0gICAgREVDTEFSRV9F
WFBPUlRfSU5GTzsKLQotICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xv
dFZpc2l0b3ImKTsKLQotICAgIEpTV2ViQXNzZW1ibHlNb2R1bGUqIG1vZHVsZSgpIHsgcmV0dXJu
IG1fbW9kdWxlLmdldCgpOyB9Ci0KLXByaXZhdGU6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTV2ViQXNzZW1ibHlNb2R1bGUqKTsKLSAgICBXZWJBc3NlbWJseVRvSlNDYWxsZWUoVk0m
LCBTdHJ1Y3R1cmUqKTsKLQotICAgIFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5TW9kdWxlPiBt
X21vZHVsZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIEpTQwotCi0jZW5kaWYgLy8gRU5BQkxFKFdF
QkFTU0VNQkxZKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384755</attachid>
            <date>2019-12-03 13:49:12 -0800</date>
            <delta_ts>2019-12-03 14:39:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204808-20191203134911.patch</filename>
            <type>text/plain</type>
            <size>36529</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NDY2ZjVlYjI5MTEzYzMyODBmOGQ2NjMyMGQxMDQ0NTEwM2IwMjdmLi4xYzQxNzVhMGY4OTRhNDk5
MzE2NWZhZWM0Nzg0YzhhOTVkZjc2ZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NSBAQAorMjAxOS0xMi0wMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSBXZWJBc3NlbWJseVRvSlNDYWxsZWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgwOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZHJvcHMg
V2ViQXNzZW1ibHlUb0pTQ2FsbGVlLiBJdCB3YXMgb3JpZ2luYWxseSByZXF1aXJlZCB0byBwdXQg
c21hbGwgY2VsbCB0byByZXRyaWV2ZSBWTSBmcm9tIGNhbGxlZS4KKyAgICAgICAgQnV0IG5vdyB0
aGlzIGxpbWl0YXRpb24gaXMgcmVtb3ZlZC4gV2UgY2FuIGp1c3QgcHV0IEpTV2ViQXNzZW1ibHlN
b2R1bGUgaW4gY2FsbGVlIHBsYWNlIGluc3RlYWQuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAg
ICAgICAqIGludGVycHJldGVyL0NhbGxGcmFtZS5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFt
ZTo6aXNBbnlXYXNtQ2FsbGVlKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9TdGFja1Zpc2l0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpTdGFja1Zpc2l0b3I6OkZyYW1lOjpjYWxsZWVTYXZlUmVnaXN0
ZXJzRm9yVW53aW5kaW5nKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChK
U0M6OndlYkFzc2VtYmx5T3duZXIpOgorICAgICAgICAoSlNDOjpsaW5rRm9yKToKKyAgICAgICAg
KEpTQzo6bGlua1BvbHltb3JwaGljQ2FsbCk6CisgICAgICAgICogcnVudGltZS9KU0Nhc3QuaDoK
KyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgICogcnVudGltZS9KU0NlbGxJ
bmxpbmVzLmg6CisgICAgICAgIChKU0M6OmlzV2ViQXNzZW1ibHlNb2R1bGUpOgorICAgICAgICAo
SlNDOjppc1dlYkFzc2VtYmx5VG9KU0NhbGxlZSk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0
KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OndlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uU3RydWN0dXJlIGNvbnN0KToKKyAgICAgICAg
KEpTQzo6SlNHbG9iYWxPYmplY3Q6OndlYkFzc2VtYmx5VG9KU0NhbGxlZVN0cnVjdHVyZSBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9KU1R5cGUuY3BwOgorICAgICAgICAoV1RG
OjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZS5oOgorICAgICAgICAq
IHdhc20vV2FzbU9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpvcGVyYXRpb25X
YXNtVG9KU0V4Y2VwdGlvbik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFu
Y2UuY3BwOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjp2aXNpdENoaWxkcmVu
KToKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oOgorICAgICAgICAq
IHdhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNz
ZW1ibHlNb2R1bGU6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1i
bHlNb2R1bGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseU1v
ZHVsZTo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlNb2R1bGU6
OmNhbGxlZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5
TW9kdWxlLmg6CisgICAgICAgICogd2FzbS9qcy9XYXNtVG9KUy5jcHA6CisgICAgICAgIChKU0M6
Oldhc206OmhhbmRsZUJhZEk2NFVzZSk6CisgICAgICAgIChKU0M6Oldhc206Ondhc21Ub0pTKToK
KyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseVRvSlNDYWxsZWUuaDogUmVtb3ZlZC4KKwogMjAx
OS0xMi0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm9w
ZXJ0eVNsb3Qgc2hvdWxkIG5vdCBoYXZlIEN1c3RvbXMgaGF2ZSBhIFByb3BlcnR5T2Zmc2V0IG9m
IHplcm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDllNzlhOGVkMjgzYWFkNjU0
Mzg4OTlhYjFlZjQ1NTIwODc5OWI0YS4uZDRmZTYzMzkyYmYwMGQyZWNhNzk2Zjk2YzkyOWM2ZDRl
NmJmYmZmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2MTAsNyArMTYxMCw2
IEBACiAJCUFEODZBOTNFMUFBNEQ4OEQwMDJGRTc3RiAvKiBXZWFrR0NNYXBJbmxpbmVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRDg2QTkzRDFBQTRE
ODdDMDAyRkU3N0YgLyogV2Vha0dDTWFwSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUFEOEZGMzk4MUVCNUJEQjIwMDg3RkY4MiAvKiBX
YXNtSW5kZXhPck5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFEOEZGMzk1MUVCNUJEODUwMDg3RkY4MiAvKiBXYXNtSW5kZXhPck5hbWUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBRDlFODUyRjFF
OEEwQzdDMDA4REUzOUUgLyogSlNXZWJBc3NlbWJseUNvZGVCbG9jay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUQ5RTg1MkUxRThBMEM2RTAwOERFMzlF
IC8qIEpTV2ViQXNzZW1ibHlDb2RlQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQlBREJDNTRENTFERjhFQTJCMDA1QkY3MzggLyogV2ViQXNz
ZW1ibHlUb0pTQ2FsbGVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBREJDNTREMzFERjhFQTAwMDA1QkY3MzggLyogV2ViQXNzZW1ibHlUb0pTQ2FsbGVl
LmggKi87IH07CiAJCUFERDhGQTQ2MUVCMzA3OTcwMERGNTQyRiAvKiBXYXNtTmFtZVNlY3Rpb25Q
YXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFE
RDhGQTQzMUVCMzA3NzEwMERGNTQyRiAvKiBXYXNtTmFtZVNlY3Rpb25QYXJzZXIuaCAqLzsgfTsK
IAkJQURFODAyOTkxRTA4RjFERTAwNThERTc4IC8qIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFERTgwMjk0MUUw
OEYxQzkwMDU4REU3OCAvKiBKU1dlYkFzc2VtYmx5TGlua0Vycm9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQURFODAyOUExRTA4RjFERTAwNThE
RTc4IC8qIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFERTgwMjk1MUUwOEYxQzkwMDU4REU3OCAv
KiBXZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQ2ODEsOCArNDY4MCw2IEBACiAJCUFEOEZG
Mzk2MUVCNUJEODUwMDg3RkY4MiAvKiBXYXNtSW5kZXhPck5hbWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2FzbUluZGV4T3JOYW1lLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUQ5RTg1MkUxRThBMEM2RTAwOERFMzlFIC8qIEpTV2ViQXNzZW1i
bHlDb2RlQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNXZWJBc3Nl
bWJseUNvZGVCbG9jay5oOyBwYXRoID0ganMvSlNXZWJBc3NlbWJseUNvZGVCbG9jay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBREI2RjY3QzFFMTVENzUwMDA4MkYzODQgLyogV2Fz
bVBhZ2VDb3VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXYXNt
UGFnZUNvdW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQURCQzU0RDIxREY4
RUEwMDAwNUJGNzM4IC8qIFdlYkFzc2VtYmx5VG9KU0NhbGxlZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBc3NlbWJseVRvSlNDYWxsZWUuY3BwOyBwYXRoID0g
anMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQURCQzU0RDMxREY4RUEwMDAwNUJGNzM4IC8qIFdlYkFzc2VtYmx5VG9KU0NhbGxlZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJBc3NlbWJseVRvSlNDYWxsZWUuaDsg
cGF0aCA9IGpzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBREQwOUFFRTFGNUY2MjNGMDAxMzEzQzIgLyogV2FzbVRvSlMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV2FzbVRvSlMuaDsgcGF0aCA9IGpzL1dhc21Ub0pTLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUFERDA5QUVGMUY1RjYyM0YwMDEzMTNDMiAvKiBXYXNtVG9KUy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBXYXNtVG9KUy5jcHA7IHBhdGggPSBqcy9XYXNtVG9KUy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFERDA5QUYyMUY2MjQ4MjkwMDEzMTNDMiAvKiBK
U1dlYkFzc2VtYmx5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTV2ViQXNzZW1ibHkuY3BwOyBw
YXRoID0ganMvSlNXZWJBc3NlbWJseS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC04NjYyLDggKzg2NTksNiBAQAogCQkJCUFEMkZDQkMxMURCNThEQTQwMEIzRTczNiAvKiBXZWJB
c3NlbWJseVRhYmxlQ29uc3RydWN0b3IuaCAqLywKIAkJCQlBRDJGQ0JDMjFEQjU4REE0MDBCM0U3
MzYgLyogV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5jcHAgKi8sCiAJCQkJQUQyRkNCQzMxREI1
OERBNDAwQjNFNzM2IC8qIFdlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuaCAqLywKLQkJCQlBREJD
NTREMjFERjhFQTAwMDA1QkY3MzggLyogV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmNwcCAqLywKLQkJ
CQlBREJDNTREMzFERjhFQTAwMDA1QkY3MzggLyogV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmggKi8s
CiAJCQkJNTJGNkMzNUIxRTcxRUIwODAwODFGNENDIC8qIFdlYkFzc2VtYmx5V3JhcHBlckZ1bmN0
aW9uLmNwcCAqLywKIAkJCQk1MkY2QzM1QzFFNzFFQjA4MDA4MUY0Q0MgLyogV2ViQXNzZW1ibHlX
cmFwcGVyRnVuY3Rpb24uaCAqLywKIAkJCSk7CkBAIC05Mzg5LDYgKzkzODQsOCBAQAogCQkJCTBG
QjEwNTg2MTY3NTQ4MTIwMEY4QUI2RSAvKiBFeGl0S2luZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEYwQjgzQUIxNEJDRjVCQjAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5nZUluZm8uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGRUMzQzU3MUYzM0E0NTMwMEY1OUI2QyAvKiBGYXN0TWFsbG9jQWxpZ25l
ZE1lbW9yeUFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VDRkFEMzcyMzcyREFENDAw
MjkxNTk5IC8qIEZpbGVCYXNlZEZ1enplckFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTIw
QkQwNTIzN0QzRTIzMDA0NkU1MjAgLyogRmlsZUJhc2VkRnV6emVyQWdlbnRCYXNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBN0E4QUYzODE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQzMkFycmF5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBN0E4QUYzOTE3QURCNUYzMDA1QUIxNzQgLyogRmxvYXQ2NEFy
cmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjI0RTU0MzE3RUE5RjU5MDBBQkIyMTcgLyogRlBS
SW5mby5oIGluIEhlYWRlcnMgKi8sCkBAIC05NDU1LDYgKzk0NTIsNyBAQAogCQkJCTYyRDJEMzkw
MUFERjEwM0YwMDAyMDZDMSAvKiBGdW5jdGlvblJhcmVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGRUEwQzQwMzFDREQ3RDFEMDA0ODE5OTEgLyogRnVuY3Rpb25XaGl0ZWxpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUzM0E5NDk3MjI1NTMyMzMwMEQ0MkIwNiAvKiBGdXp6ZXJBZ2VudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQ0VDRkFEMzYyMzcyREFEMDAwMjkxNTk5IC8qIEZ1enplclByZWRp
Y3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkyQUFDRTYzRDE4Q0E1QTAzMDBFRDAxOTEgLyog
R0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JFMkNBRTE0RTk4NUFB
MDAwNTkzQUQgLyogR0NBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjc2NkQzMDE1
QThEQ0UyMDA4RjM2M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAqLywK
QEAgLTk2MDYsNyArOTYwNCw2IEBACiAJCQkJQTE4MTkzRTQxQjRFMENEQjAwRkMxMDI5IC8qIElu
dGxDb2xsYXRvclByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDZFMUI0
REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rv
ci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0UyMEJEMDUyMzdEM0UyMzAwNDZFNTIwIC8qIEZpbGVC
YXNlZEZ1enplckFnZW50QmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzUxQjREQzFD
NjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1h
dFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzYxQjREQzFDNjAwRDY5ODQ5
IC8qIEludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLApAQCAt
OTkwMyw3ICs5OTAwLDYgQEAKIAkJCQkwRjdDNUZCODFEODg4QTBDMDA0NEY1RTIgLyogTWFya2Vk
QmxvY2tJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDE0NDhDQjEzQTE3NkVDMDBGNUJB
MUEgLyogTWFya2VkQmxvY2tTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0RDJGM0RCMTM5RjRC
RTIwMDQ5MTAzMSAvKiBNYXJrZWRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQ0UyMEJEMDcy
MzdEM0U0ODAwNDZFNTIwIC8qIFByZWRpY3Rpb25GaWxlQ3JlYXRpbmdGdXp6ZXJBZ2VudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY3REYxMzUxRTI5NzBEQzAwOTU5NTFCIC8qIE1hcmtlZFNwYWNl
SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY2NjBFMzgxRTA1MTdCQjAwMzE0NjJDIC8q
IE1hcmtpbmdDb25zdHJhaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjY2MEUzQTFFMDUxN0Mx
MDAzMTQ2MkMgLyogTWFya2luZ0NvbnN0cmFpbnRTZXQuaCBpbiBIZWFkZXJzICovLApAQCAtOTk4
Miw2ICs5OTc4LDcgQEAKIAkJCQkwRjA3MEE0QjFENTQzQTk4MDA2RTcyMzIgLyogUHJlY2lzZUFs
bG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOTgyMDYxMTZCRkUzODMwMDI0MEQwMiAv
KiBQcmVjaXNlSnVtcFRhcmdldHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzQTQyMTQzMUQ2RjU4
OTMwMDA3QzYxNyAvKiBQcmVjaXNlSnVtcFRhcmdldHNJbmxpbmVzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlDRTIwQkQwNzIzN0QzRTQ4MDA0NkU1MjAgLyogUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1
enplckFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkJCNzNCODFERUYzQUFFMDAyQzAwOUUg
LyogUHJldmVudENvbGxlY3Rpb25TY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU2M0RENTQx
RUE5QjYxRTAwMTAzQTY5IC8qIFByaW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2ODkxNkIw
MTU1RjI4NjMwMENCMkI5QSAvKiBQcml2YXRlTmFtZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDAy
MCw3ICsxMDAxNyw2IEBACiAJCQkJNTM0RTAzNTYxRTUzQkVERTAwMjEzRjY0IC8qIFByb3h5YWJs
ZUFjY2Vzc0Nhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTc5QjAwQ0JEMUM2QUIwN0UwMDg4QzY1
RCAvKiBQcm94eUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk3OUIwMENCRjFDNkFC
MDdFMDA4OEM2NUQgLyogUHJveHlPYmplY3QuaCBpbiBIZWFkZXJzICovLAotCQkJCUNFQ0ZBRDM3
MjM3MkRBRDQwMDI5MTU5OSAvKiBGaWxlQmFzZWRGdXp6ZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNzkxNjBEQkUxQzhFM0VDODAwOEMwODVBIC8qIFByb3h5UmV2b2tlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjU3ODBBMjE4RkUxRTk4MDAxRTcyRDkgLyogUHVyZU5hTi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEYxNUNEMjMxQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0xMDA5OSw3ICsxMDA5NSw2IEBACiAJCQkJRkUzMDIyRDMxRTNENzNB
NTAwQkFDNDkzIC8qIFNpZ2lsbENyYXNoQW5hbHl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
NEQ4Qzc4MUZDQTNDRkEwMDFEMzJBQyAvKiBTaW1wbGVNYXJraW5nQ29uc3RyYWludC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYyQjY3MDUxN0I2QjVBQjAwQTdBRTNGIC8qIFNpbXBsZVR5cGVkQXJy
YXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlDRUNGQUQzNjIzNzJEQUQwMDAyOTE1
OTkgLyogRnV6emVyUHJlZGljdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0QkE3OEYxMTNB
QUI4OEYwMDVCN0MyQyAvKiBTbG90VmlzaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzIxNjBG
RTcxNUY3RTk1RTAwOTQyREZDIC8qIFNsb3RWaXNpdG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTcwOUYyRjAxN0EwQUMwNDAwNTEyRTk4IC8qIFNsb3dQYXRoQ2FsbC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0xMDMyOSw3ICsxMDMyNCw2IEBACiAJCQkJQUQyRkNDMjAxREI1OUNCMjAwQjNF
NzM2IC8qIFdlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUFEMkZDQkZGMURCNThEQUQwMEIzRTczNiAvKiBXZWJBc3NlbWJseVRhYmxlUHJvdG90eXBl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDJGQ0MyMTFEQjU5Q0IyMDBCM0U3MzYgLyogV2ViQXNz
ZW1ibHlUYWJsZVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAotCQkJCUFEQkM1NEQ1MURG
OEVBMkIwMDVCRjczOCAvKiBXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUyRjZDMzVFMUU3MUVCMDgwMDgxRjRDQyAvKiBXZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0N0EwRTE2RjVDRDAwQjM0NDYwIC8qIFdlYktp
dEF2YWlsYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlEQTAwQTYxQkQ1OTkzMTAwRjQ1
NzVDIC8qIHdrYnVpbHRpbnMucHkgaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2Vz
LnR4dAppbmRleCA4ZDcwNmM5NTIxY2I3ZGI2OWQyYTg1NzhhZDRhNDJlZDMyODUwZWRlLi5hMDA2
ZTVhMTExNGMwODU5NzI2YzE2NDE2NjRhMjFmMzQyMjhiYWRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1Nv
dXJjZXMudHh0CkBAIC0xMDcxLDcgKzEwNzEsNiBAQCB3YXNtL2pzL1dlYkFzc2VtYmx5UnVudGlt
ZUVycm9yQ29uc3RydWN0b3IuY3BwCiB3YXNtL2pzL1dlYkFzc2VtYmx5UnVudGltZUVycm9yUHJv
dG90eXBlLmNwcAogd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuY3BwCiB3YXNt
L2pzL1dlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuY3BwCi13YXNtL2pzL1dlYkFzc2VtYmx5VG9K
U0NhbGxlZS5jcHAKIHdhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uY3BwCiAKIHlh
cnIvUmVndWxhckV4cHJlc3Npb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9DYWxsRnJhbWUuY3BwCmluZGV4IDZiZjQ1N2Y0NDcxYjJjZmQ2NWU2MzM5ZDMzYjU2
MDM2YTdmM2UxZGIuLmY2Mzk0YWM3MTA3MTI1YjdjYWIyMWFkMmI5MTEzYzA3OTUzNmE2MDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuY3BwCkBA
IC0xOTcsNyArMTk3LDcgQEAgYm9vbCBDYWxsRnJhbWU6OmlzQW55V2FzbUNhbGxlZSgpCiAgICAg
ICAgIHJldHVybiB0cnVlOwogCiAgICAgQVNTRVJUKGNhbGxlZS5pc0NlbGwoKSk7Ci0gICAgaWYg
KCEhY2FsbGVlLnJhd1B0cigpICYmIGlzV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKGNhbGxlZS5hc0Nl
bGwoKSkpCisgICAgaWYgKCEhY2FsbGVlLnJhd1B0cigpICYmIGlzV2ViQXNzZW1ibHlNb2R1bGUo
Y2FsbGVlLmFzQ2VsbCgpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tW
aXNpdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0
b3IuY3BwCmluZGV4IGNkYmRmN2RiOThjZmNlZGE5NWZkNGQ4OGQzZTJjOWFlZmNiZmEzNWUuLmQ3
MWE1OTcxZGRjOGYwZjVlYTY3OGQ1ZmNlNDhlMzk2ZTIyYTg3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCkBAIC0yNjQsNyAr
MjY0LDcgQEAgT3B0aW9uYWw8UmVnaXN0ZXJBdE9mZnNldExpc3Q+IFN0YWNrVmlzaXRvcjo6RnJh
bWU6OmNhbGxlZVNhdmVSZWdpc3RlcnNGb3JVbndpbmQKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkp
CiAgICAgaWYgKGlzV2FzbUZyYW1lKCkpIHsKICAgICAgICAgaWYgKGNhbGxlZSgpLmlzQ2VsbCgp
KSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc1dlYkFzc2VtYmx5VG9KU0NhbGxlZShj
YWxsZWUoKS5hc0NlbGwoKSkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNXZWJBc3Nl
bWJseU1vZHVsZShjYWxsZWUoKS5hc0NlbGwoKSkpOwogICAgICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKICAgICAgICAgfQogICAgICAgICBXYXNtOjpDYWxsZWUqIHdhc21DYWxsZWUgPSBj
YWxsZWUoKS5hc1dhc21DYWxsZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvUmVwYXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3Bw
CmluZGV4IGYxYTI5MTQ0OWMxNzczNzZhMGNjZGEwYmIwYTZiMzk0YmNiOTY0ZGYuLmMwMGFlM2E2
MmJkNjFiZmViZGRiYTQ4ZTE2NDkyYTk3ZjBiNWY3YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZXBhdGNoLmNwcApAQCAtNjQsNyArNjQsNiBAQAogI2luY2x1ZGUgIlN1cGVyU2FtcGxlci5o
IgogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogI2luY2x1ZGUgIldlYkFzc2VtYmx5RnVu
Y3Rpb24uaCIKLSNpbmNsdWRlICJXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCIKICNpbmNsdWRlIDx3
dGYvQ29tbWFQcmludGVyLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3REdW1wLmg+CiAjaW5jbHVkZSA8
d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CkBAIC05MjEsNyArOTIwLDcgQEAgc3RhdGljIEpTQ2Vs
bCogd2ViQXNzZW1ibHlPd25lcihKU0NlbGwqIGNhbGxlZSkKIHsKICNpZiBFTkFCTEUoV0VCQVNT
RU1CTFkpCiAgICAgLy8gRWFjaCBXZWJBc3NlbWJseS5JbnN0YW5jZSBzaGFyZXMgdGhlIHN0dWJz
IGZyb20gdGhlaXIgV2ViQXNzZW1ibHkuTW9kdWxlLCB3aGljaCBhcmUgdGhlcmVmb3JlIHRoZSBh
cHByb3ByaWF0ZSBvd25lci4KLSAgICByZXR1cm4ganNDYXN0PFdlYkFzc2VtYmx5VG9KU0NhbGxl
ZSo+KGNhbGxlZSktPm1vZHVsZSgpOworICAgIHJldHVybiBqc0Nhc3Q8SlNXZWJBc3NlbWJseU1v
ZHVsZSo+KGNhbGxlZSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShjYWxsZWUpOwogICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC05NDMsNyArOTQyLDcgQEAgdm9pZCBsaW5r
Rm9yKAogICAgIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrID0gY2FsbGVyRnJhbWUtPmNvZGVC
bG9jaygpOwogCiAgICAgLy8gV2ViQXNzZW1ibHkgLT4gSlMgc3R1YnMgZG9uJ3QgaGF2ZSBhIHZh
bGlkIENvZGVCbG9jay4KLSAgICBKU0NlbGwqIG93bmVyID0gaXNXZWJBc3NlbWJseVRvSlNDYWxs
ZWUoY2FsbGVyRnJhbWUtPmNhbGxlZSgpLmFzQ2VsbCgpKSA/IHdlYkFzc2VtYmx5T3duZXIoY2Fs
bGVyRnJhbWUtPmNhbGxlZSgpLmFzQ2VsbCgpKSA6IGNhbGxlckNvZGVCbG9jazsKKyAgICBKU0Nl
bGwqIG93bmVyID0gaXNXZWJBc3NlbWJseU1vZHVsZShjYWxsZXJGcmFtZS0+Y2FsbGVlKCkuYXND
ZWxsKCkpID8gd2ViQXNzZW1ibHlPd25lcihjYWxsZXJGcmFtZS0+Y2FsbGVlKCkuYXNDZWxsKCkp
IDogY2FsbGVyQ29kZUJsb2NrOwogICAgIEFTU0VSVChvd25lcik7CiAKICAgICBBU1NFUlQoIWNh
bGxMaW5rSW5mby5pc0xpbmtlZCgpKTsKQEAgLTEwNzQsNyArMTA3Myw3IEBAIHZvaWQgbGlua1Bv
bHltb3JwaGljQ2FsbChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgQ2FsCiAgICAgQVNTRVJUKGNhbGxlckZyYW1lLT5jYWxsZWUoKS5pc0NlbGwoKSk7
CiAKICAgICBDb2RlQmxvY2sqIGNhbGxlckNvZGVCbG9jayA9IGNhbGxlckZyYW1lLT5jb2RlQmxv
Y2soKTsKLSAgICBib29sIGlzV2ViQXNzZW1ibHkgPSBpc1dlYkFzc2VtYmx5VG9KU0NhbGxlZShj
YWxsZXJGcmFtZS0+Y2FsbGVlKCkuYXNDZWxsKCkpOworICAgIGJvb2wgaXNXZWJBc3NlbWJseSA9
IGlzV2ViQXNzZW1ibHlNb2R1bGUoY2FsbGVyRnJhbWUtPmNhbGxlZSgpLmFzQ2VsbCgpKTsKIAog
ICAgIC8vIFdlYkFzc2VtYmx5IC0+IEpTIHN0dWJzIGRvbid0IGhhdmUgYSB2YWxpZCBDb2RlQmxv
Y2suCiAgICAgSlNDZWxsKiBvd25lciA9IGlzV2ViQXNzZW1ibHkgPyB3ZWJBc3NlbWJseU93bmVy
KGNhbGxlckZyYW1lLT5jYWxsZWUoKS5hc0NlbGwoKSkgOiBjYWxsZXJDb2RlQmxvY2s7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCmluZGV4IDMzMjA0NmRmYTg3ZjI5NGM2ZmIx
MTdlY2QzOTA3OWEyMmI0OTA0NWMuLjkxNjdjNmE3MGRhZmJkYTc1Y2E3YTUwNDI3ZTNmZjkyNmQ1
MTE2ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCkBAIC02Myw3ICs2
Myw3IEBAIGlubGluZSBUbyBqc0Nhc3QoSlNWYWx1ZSBmcm9tKQogICAgIG1hY3JvKE51bWJlck9i
amVjdCwgSlNUeXBlOjpOdW1iZXJPYmplY3RUeXBlLCBKU1R5cGU6Ok51bWJlck9iamVjdFR5cGUp
IFwKICAgICBtYWNybyhQcm94eU9iamVjdCwgSlNUeXBlOjpQcm94eU9iamVjdFR5cGUsIEpTVHlw
ZTo6UHJveHlPYmplY3RUeXBlKSBcCiAgICAgbWFjcm8oUmVnRXhwT2JqZWN0LCBKU1R5cGU6OlJl
Z0V4cE9iamVjdFR5cGUsIEpTVHlwZTo6UmVnRXhwT2JqZWN0VHlwZSkgXAotICAgIG1hY3JvKFdl
YkFzc2VtYmx5VG9KU0NhbGxlZSwgSlNUeXBlOjpXZWJBc3NlbWJseVRvSlNDYWxsZWVUeXBlLCBK
U1R5cGU6OldlYkFzc2VtYmx5VG9KU0NhbGxlZVR5cGUpIFwKKyAgICBtYWNybyhKU1dlYkFzc2Vt
Ymx5TW9kdWxlLCBKU1R5cGU6OldlYkFzc2VtYmx5TW9kdWxlVHlwZSwgSlNUeXBlOjpXZWJBc3Nl
bWJseU1vZHVsZVR5cGUpIFwKICAgICBtYWNybyhEaXJlY3RBcmd1bWVudHMsIEpTVHlwZTo6RGly
ZWN0QXJndW1lbnRzVHlwZSwgSlNUeXBlOjpEaXJlY3RBcmd1bWVudHNUeXBlKSBcCiAgICAgbWFj
cm8oU2NvcGVkQXJndW1lbnRzLCBKU1R5cGU6OlNjb3BlZEFyZ3VtZW50c1R5cGUsIEpTVHlwZTo6
U2NvcGVkQXJndW1lbnRzVHlwZSkgXAogICAgIG1hY3JvKENsb25lZEFyZ3VtZW50cywgSlNUeXBl
OjpDbG9uZWRBcmd1bWVudHNUeXBlLCBKU1R5cGU6OkNsb25lZEFyZ3VtZW50c1R5cGUpIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IGIwYmE1OGI0NTA3Nzg4
N2Y4M2UwMWMyYzgzNTlhNjUzYjg5MjdlNzIuLjI3MTM1MmIyMTc0NzAzNTZkZjQwM2ZkZDljZGU2
MGRlZjg4ODE2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q2VsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNPYmpl
Y3QuaCIKICNpbmNsdWRlICJOdW1iZXJPYmplY3QuaCIKLSNpbmNsdWRlICJXZWJBc3NlbWJseVRv
SlNDYWxsZWUuaCIKICNpbmNsdWRlIDx3dGYvTG9ja0FsZ29yaXRobUlubGluZXMuaD4KICNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGxJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NlbGxJbmxpbmVzLmgKaW5kZXggMWE2NDIwZDQ0YjIwYzk5YjdmMTUwZDFkODIxYmY4MDZj
NzBmNzE5MC4uZTk4Y2U4ODE1MTEyYTg0NGYyMTY0MDZmOTZhYjhiN2JlNzlhYTIxMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsSW5saW5lcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbElubGluZXMuaApAQCAtNDIyLDkg
KzQyMiw5IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU0NlbGw6OnB1dElubGluZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUKICAgICByZXR1cm4gcHV0TWV0aG9kKHRo
aXMsIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiB9CiAKLWlubGlu
ZSBib29sIGlzV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKGNvbnN0IEpTQ2VsbCogY2VsbCkKK2lubGlu
ZSBib29sIGlzV2ViQXNzZW1ibHlNb2R1bGUoY29uc3QgSlNDZWxsKiBjZWxsKQogewotICAgIHJl
dHVybiBjZWxsLT50eXBlKCkgPT0gV2ViQXNzZW1ibHlUb0pTQ2FsbGVlVHlwZTsKKyAgICByZXR1
cm4gY2VsbC0+dHlwZSgpID09IFdlYkFzc2VtYmx5TW9kdWxlVHlwZTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5jcHAKaW5kZXggYmM4M2I3MWMzYmNiMzhmNmQ2NTYwN2EyNWQ5OWExYjhmMWQwMmNkZi4u
NjgyN2I1ZDgxZjA2ZjE2MjliNzZjNDJjN2VlOGZjMjI3ZWYyMzQyNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMjAyLDcgKzIw
Miw2IEBACiAjaW5jbHVkZSAiV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUuaCIKICNp
bmNsdWRlICJXZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJXZWJBc3Nl
bWJseVRhYmxlUHJvdG90eXBlLmgiCi0jaW5jbHVkZSAiV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmgi
CiAjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlci5oPgogCiAjaWYgRU5BQkxFKElOVEwpCkBAIC0x
MTkyLDEwICsxMTkxLDYgQEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAj
IyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUKICAgICAgICAgICAgIFtd
IChjb25zdCBJbml0aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7CiAgICAgICAgICAgICAgICAg
aW5pdC5zZXQoV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZShpbml0
LnZtLCBpbml0Lm93bmVyLCBpbml0Lm93bmVyLT5tX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7
CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgbV93ZWJBc3NlbWJseVRvSlNDYWxsZWVTdHJ1Y3R1
cmUuaW5pdExhdGVyKAotICAgICAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVjdHVy
ZT4mIGluaXQpIHsKLSAgICAgICAgICAgICAgICBpbml0LnNldChXZWJBc3NlbWJseVRvSlNDYWxs
ZWU6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBpbml0Lm93bmVyLCBqc051bGwoKSkpOwotICAg
ICAgICAgICAgfSk7CiAgICAgICAgIGF1dG8qIHdlYkFzc2VtYmx5ID0gSlNXZWJBc3NlbWJseTo6
Y3JlYXRlKHZtLCB0aGlzLCBKU1dlYkFzc2VtYmx5OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMs
IG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CiAgICAgICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiV2ViQXNzZW1ibHkiKSwgd2Vi
QXNzZW1ibHksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pKTsKIApAQCAtMTg0Nyw3ICsxODQyLDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRD
aGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHRoaXNPYmpl
Y3QtPm1fd2ViQXNzZW1ibHlGdW5jdGlvblN0cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKICAgICB0
aGlzT2JqZWN0LT5tX2pzVG9XYXNtSUNDYWxsZWVTdHJ1Y3R1cmUudmlzaXQodmlzaXRvcik7CiAg
ICAgdGhpc09iamVjdC0+bV93ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblN0cnVjdHVyZS52aXNp
dCh2aXNpdG9yKTsKLSAgICB0aGlzT2JqZWN0LT5tX3dlYkFzc2VtYmx5VG9KU0NhbGxlZVN0cnVj
dHVyZS52aXNpdCh2aXNpdG9yKTsKICAgICBGT1JfRUFDSF9XRUJBU1NFTUJMWV9DT05TVFJVQ1RP
Ul9UWVBFKFZJU0lUX0xBWllfVFlQRSkKICNlbmRpZiAvLyBFTkFCTEUoV0VCQVNTRU1CTFkpCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4
IDc3OWUzZTk1M2M2NDM3YTU3ZmEwZDVkMzI2NTMzYzE1MDNkZmEyMDEuLjc0MmQ3MGQ3MzE3MGMy
YzM3N2YzZDJiNWY1NmUzYjNjMTQ0YzM3ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNDAxLDcgKzQwMSw2IEBAIGNsYXNzIEpTR2xv
YmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIExhenlQ
cm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX3dlYkFzc2VtYmx5RnVuY3Rpb25T
dHJ1Y3R1cmU7CiAgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+IG1f
anNUb1dhc21JQ0NhbGxlZVN0cnVjdHVyZTsKICAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZT4gbV93ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblN0cnVjdHVyZTsKLSAg
ICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIFN0cnVjdHVyZT4gbV93ZWJBc3NlbWJseVRv
SlNDYWxsZWVTdHJ1Y3R1cmU7CiAgICAgRk9SX0VBQ0hfV0VCQVNTRU1CTFlfQ09OU1RSVUNUT1Jf
VFlQRShERUZJTkVfU1RPUkFHRV9GT1JfTEFaWV9UWVBFKQogI2VuZGlmIC8vIEVOQUJMRShXRUJB
U1NFTUJMWSkKIApAQCAtNzY1LDcgKzc2NCw2IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVi
bGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIFN0cnVjdHVyZSogd2ViQXNzZW1i
bHlGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViQXNzZW1ibHlGdW5jdGlv
blN0cnVjdHVyZS5nZXQodGhpcyk7IH0KICAgICBTdHJ1Y3R1cmUqIGpzVG9XYXNtSUNDYWxsZWVT
dHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2pzVG9XYXNtSUNDYWxsZWVTdHJ1Y3R1cmUuZ2V0
KHRoaXMpOyB9CiAgICAgU3RydWN0dXJlKiB3ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblN0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb25TdHJ1Y3R1
cmUuZ2V0KHRoaXMpOyB9Ci0gICAgU3RydWN0dXJlKiB3ZWJBc3NlbWJseVRvSlNDYWxsZWVTdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3dlYkFzc2VtYmx5VG9KU0NhbGxlZVN0cnVjdHVyZS5n
ZXQodGhpcyk7IH0KICNlbmRpZiAvLyBFTkFCTEUoV0VCQVNTRU1CTFkpCiAjaWYgRU5BQkxFKElO
VEwpCiAgICAgU3RydWN0dXJlKiBjb2xsYXRvclN0cnVjdHVyZSgpIHsgcmV0dXJuIG1fY29sbGF0
b3JTdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNU
eXBlLmNwcAppbmRleCAxNmRjOWI5MWY0ZmM0MzEyODY0MzY0NmVjNmQwMzlhZWNhZGY3YzE1Li41
MTYyZWI0NGJiOTc4YTFmNWFlNzIwN2Y1NDBhOTAyMDRlMDUxYTk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIHByaW50
SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpKU1R5cGUgdHlwZSkKICAgICBDQVNFKEpT
U2V0VHlwZSkKICAgICBDQVNFKEpTV2Vha01hcFR5cGUpCiAgICAgQ0FTRShKU1dlYWtTZXRUeXBl
KQotICAgIENBU0UoV2ViQXNzZW1ibHlUb0pTQ2FsbGVlVHlwZSkKKyAgICBDQVNFKFdlYkFzc2Vt
Ymx5TW9kdWxlVHlwZSkKICAgICBDQVNFKFN0cmluZ09iamVjdFR5cGUpCiAgICAgQ0FTRShNYXhK
U1R5cGUpCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuaAppbmRleCA4
MGJkMzRjYjYyMjFhYWZiZTk2YWYxMDQ2NTMyYTY3ZDc3MzJlYzdjLi42ZTc1MDZiYWRmNzIxZTJh
MjM5M2I4YWYzMzcyMDc0ZWNjNDhkOTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1R5cGUuaApAQCAtMTE2LDcgKzExNiw3IEBAIGVudW0gSlNUeXBlIDogdWludDhfdCB7CiAgICAg
SlNTZXRUeXBlLAogICAgIEpTV2Vha01hcFR5cGUsCiAgICAgSlNXZWFrU2V0VHlwZSwKLSAgICBX
ZWJBc3NlbWJseVRvSlNDYWxsZWVUeXBlLAorICAgIFdlYkFzc2VtYmx5TW9kdWxlVHlwZSwKICAg
ICBTdHJpbmdPYmplY3RUeXBlLAogCiAgICAgTGFzdEpTQ09iamVjdFR5cGUgPSBTdHJpbmdPYmpl
Y3RUeXBlLCAvLyBUaGlzIGlzIHRoZSBsYXN0ICJKU0MiIE9iamVjdCB0eXBlLiBBZnRlciB0aGlz
LCB3ZSBoYXZlIGVtYmVkZGVyJ3MgKGUuZy4sIFdlYkNvcmUpIGV4dGVuZGVkIG9iamVjdCB0eXBl
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25z
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25zLmNwcAppbmRl
eCBmY2VmNDhmNzVkZmVkODVmOGZiY2Q0MGI3MDE5NTE3NzRlNzI2ZDUzLi5iOGI1YzkwZTk3YWZm
MzAxNWVkNDg3MWFhMzM5NjkzNjY3YjNkMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwCkBAIC03NDMsNyArNzQzLDcgQEAgdm9pZCogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25XYXNtVG9KU0V4Y2VwdGlvbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwg
V2FzbTo6RXhjZXAKICAgICAvLyBmb3IgZXhjZXB0aW9ucyBmaXJzdCBsb2FkIGNhbGxGcmFtZUZv
ckNhdGNoIGluZm8gY2FsbCBmcmFtZSByZWdpc3RlciBiZWZvcmUganVtcGluZwogICAgIC8vIHRv
IHRoZSBleGNlcHRpb24gaGFuZGxlci4gSWYgd2UgZGlkIHRoaXMsIHdlIGNvdWxkIHJlbW92ZSB0
aGlzIHRlcnJpYmxlIGhhY2suCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3MDQ0MAotICAgIGJpdHdpc2VfY2FzdDx1aW50NjRfdCo+KGNhbGxGcmFtZSlb
Q2FsbEZyYW1lU2xvdDo6Y2FsbGVlXSA9IGJpdHdpc2VfY2FzdDx1aW50NjRfdD4oaW5zdGFuY2Ut
PndlYkFzc2VtYmx5VG9KU0NhbGxlZSgpKTsKKyAgICBiaXR3aXNlX2Nhc3Q8dWludDY0X3QqPihj
YWxsRnJhbWUpW0NhbGxGcmFtZVNsb3Q6OmNhbGxlZV0gPSBiaXR3aXNlX2Nhc3Q8dWludDY0X3Q+
KGluc3RhbmNlLT5tb2R1bGUoKSk7CiAgICAgcmV0dXJuIHZtLnRhcmdldE1hY2hpbmVQQ0ZvclRo
cm93OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5SW5zdGFuY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseUluc3RhbmNlLmNwcAppbmRleCA4ODU4YjE0ZDI1NDY3OTRhN2E0ZDRiZWVhZDcz
NDM0NzEyMjk5OTdmLi4wODllYTFmNWJlYWI5ODhjYzQ3MmJkMTA2ZjgzNzY5MjYwNzAyOWE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5z
dGFuY2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHlJbnN0YW5jZS5jcHAKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJKU1dlYkFzc2VtYmx5
TWVtb3J5LmgiCiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJseU1vZHVsZS5oIgogI2luY2x1ZGUgIldl
YkFzc2VtYmx5TW9kdWxlUmVjb3JkLmgiCi0jaW5jbHVkZSAiV2ViQXNzZW1ibHlUb0pTQ2FsbGVl
LmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAg
LTY3LDcgKzY2LDYgQEAgdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlLAogCiAgICAgbV9tb2R1bGUuc2V0
KHZtLCB0aGlzLCBtb2R1bGUpOwogICAgIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0LnNldCh2bSwg
dGhpcywgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKLSAgICBtX2NhbGxlZS5zZXQodm0sIHRoaXMs
IG1vZHVsZS0+Y2FsbGVlKCkpOwogCiAgICAgdm0uaGVhcC5yZXBvcnRFeHRyYU1lbW9yeUFsbG9j
YXRlZChtX2luc3RhbmNlLT5leHRyYU1lbW9yeUFsbG9jYXRlZCgpKTsKIH0KQEAgLTg5LDcgKzg3
LDYgQEAgdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBj
ZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0
LT5tX21lbW9yeSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRoaXNPYmplY3QtPmlu
c3RhbmNlKCkubW9kdWxlKCkubW9kdWxlSW5mb3JtYXRpb24oKS50YWJsZUNvdW50KCk7ICsraSkK
ICAgICAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV90YWJsZXNbaV0pOwotICAgIHZp
c2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FsbGVlKTsKICAgICB2aXNpdG9yLnJlcG9ydEV4
dHJhTWVtb3J5VmlzaXRlZCh0aGlzT2JqZWN0LT5tX2luc3RhbmNlLT5leHRyYU1lbW9yeUFsbG9j
YXRlZCgpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGhpc09iamVjdC0+aW5zdGFu
Y2UoKS5udW1JbXBvcnRGdW5jdGlvbnMoKTsgKytpKQogICAgICAgICB2aXNpdG9yLmFwcGVuZCgq
dGhpc09iamVjdC0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8SlNPYmpl
Y3Q+PihpKSk7IC8vIFRoaXMgYWxzbyBrZWVwcyB0aGUgZnVuY3Rpb25zJyBKU1dlYkFzc2VtYmx5
SW5zdGFuY2UgYWxpdmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCmluZGV4IGQwZTBmNmQxOTM2MzQzNWE1OGVkNjI5ZWEw
OTA0ZDE1NzQyMGQwNDYuLmE3ZmY0ZWFkMDVkYTZjZWQzY2Q3ZWJlNTQ2NGI5NjZjZTM1MmE2Y2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJ
bnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHlJbnN0YW5jZS5oCkBAIC00MCw3ICs0MCw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBK
U01vZHVsZU5hbWVzcGFjZU9iamVjdDsKIGNsYXNzIEpTV2ViQXNzZW1ibHlNb2R1bGU7Ci1jbGFz
cyBXZWJBc3NlbWJseVRvSlNDYWxsZWU7CiAKIG5hbWVzcGFjZSBXYXNtIHsKIGNsYXNzIENvZGVC
bG9jazsKQEAgLTYxLDcgKzYwLDYgQEAgY2xhc3MgSlNXZWJBc3NlbWJseUluc3RhbmNlIGZpbmFs
IDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKICAgICAKICAgICBXYXNtOjpJbnN0YW5j
ZSYgaW5zdGFuY2UoKSB7IHJldHVybiBtX2luc3RhbmNlLmdldCgpOyB9CiAgICAgSlNNb2R1bGVO
YW1lc3BhY2VPYmplY3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCgpIHsgcmV0dXJuIG1fbW9kdWxl
TmFtZXNwYWNlT2JqZWN0LmdldCgpOyB9Ci0gICAgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKiB3ZWJB
c3NlbWJseVRvSlNDYWxsZWUoKSB7IHJldHVybiBtX2NhbGxlZS5nZXQoKTsgfQogCiAgICAgSlNX
ZWJBc3NlbWJseU1lbW9yeSogbWVtb3J5KCkgeyByZXR1cm4gbV9tZW1vcnkuZ2V0KCk7IH0KICAg
ICB2b2lkIHNldE1lbW9yeShWTSYgdm0sIEpTV2ViQXNzZW1ibHlNZW1vcnkqIHZhbHVlKSB7CkBA
IC04NCw4ICs4Miw4IEBAIGNsYXNzIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSBmaW5hbCA6IHB1Ymxp
YyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CiAgICAgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxl
KCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGUuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzaXplX3Qg
b2Zmc2V0T2ZJbnN0YW5jZSgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1dlYkFzc2VtYmx5
SW5zdGFuY2UsIG1faW5zdGFuY2UpOyB9CisgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZk1vZHVs
ZSgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1dlYkFzc2VtYmx5SW5zdGFuY2UsIG1fbW9k
dWxlKTsgfQogICAgIHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZHbG9iYWxPYmplY3QoKSB7IHJldHVy
biBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2dsb2JhbE9iamVjdCk7
IH0KLSAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mQ2FsbGVlKCkgeyByZXR1cm4gT0JKRUNUX09G
RlNFVE9GKEpTV2ViQXNzZW1ibHlJbnN0YW5jZSwgbV9jYWxsZWUpOyB9CiAgICAgc3RhdGljIHNp
emVfdCBvZmZzZXRPZlZNKCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpTV2ViQXNzZW1ibHlJ
bnN0YW5jZSwgbV92bSk7IH0KIAogcHJvdGVjdGVkOgpAQCAtMTA0LDcgKzEwMiw2IEBAIGNsYXNz
IEpTV2ViQXNzZW1ibHlJbnN0YW5jZSBmaW5hbCA6IHB1YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVj
dCB7CiAgICAgV3JpdGVCYXJyaWVyPEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0PiBtX21vZHVsZU5h
bWVzcGFjZU9iamVjdDsKICAgICBXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1lbW9yeT4gbV9t
ZW1vcnk7CiAgICAgVmVjdG9yPFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5VGFibGU+PiBtX3Rh
YmxlczsKLSAgICBXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVlPiBtX2NhbGxlZTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmNwcAppbmRleCA3NjdmZDU5ZTE2ZGViZTYx
MDIyMjViZjcxZTExNGIzZjk1ZTliMGE1Li41ZTI2NmNkNTRhZTBjYmJiMjQ4Y2JmYjRlZDk2MDVm
OGNkY2I4OTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5TW9kdWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9K
U1dlYkFzc2VtYmx5TW9kdWxlLmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIldhc21N
ZW1vcnkuaCIKICNpbmNsdWRlICJXYXNtTW9kdWxlLmgiCiAjaW5jbHVkZSAiV2FzbVBsYW4uaCIK
LSNpbmNsdWRlICJXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGli
RXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNjEsNyArNjAsNyBAQCBKU1dlYkFzc2Vt
Ymx5TW9kdWxlKiBKU1dlYkFzc2VtYmx5TW9kdWxlOjpjcmVhdGVTdHViKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsbwogCiBTdHJ1Y3R1cmUqIEpTV2ViQXNzZW1ibHlNb2R1bGU6OmNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJv
dG90eXBlKQogewotICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygp
KTsKKyAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhXZWJBc3NlbWJseU1vZHVsZVR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5m
bygpKTsKIH0KIAogCkBAIC04Niw3ICs4NSw2IEBAIHZvaWQgSlNXZWJBc3NlbWJseU1vZHVsZTo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIH0KIAogICAgIG1fZXhwb3J0U3ltYm9sVGFibGUu
c2V0KHZtLCB0aGlzLCBleHBvcnRTeW1ib2xUYWJsZSk7Ci0gICAgbV9jYWxsZWUuc2V0KHZtLCB0
aGlzLCBXZWJBc3NlbWJseVRvSlNDYWxsZWU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKS0+
d2ViQXNzZW1ibHlUb0pTQ2FsbGVlU3RydWN0dXJlKCksIHRoaXMpKTsKIH0KIAogdm9pZCBKU1dl
YkFzc2VtYmx5TW9kdWxlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKQEAgLTExMCwxMSArMTA4LDYg
QEAgV2FzbTo6U2lnbmF0dXJlSW5kZXggSlNXZWJBc3NlbWJseU1vZHVsZTo6c2lnbmF0dXJlSW5k
ZXhGcm9tRnVuY3Rpb25JbmRleFNwYWNlKHUKICAgICByZXR1cm4gbV9tb2R1bGUtPnNpZ25hdHVy
ZUluZGV4RnJvbUZ1bmN0aW9uSW5kZXhTcGFjZShmdW5jdGlvbkluZGV4U3BhY2UpOwogfQogCi1X
ZWJBc3NlbWJseVRvSlNDYWxsZWUqIEpTV2ViQXNzZW1ibHlNb2R1bGU6OmNhbGxlZSgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fY2FsbGVlLmdldCgpOwotfQotCiBKU1dlYkFzc2VtYmx5Q29kZUJs
b2NrKiBKU1dlYkFzc2VtYmx5TW9kdWxlOjpjb2RlQmxvY2soV2FzbTo6TWVtb3J5TW9kZSBtb2Rl
KQogewogICAgIHJldHVybiBtX2NvZGVCbG9ja3Nbc3RhdGljX2Nhc3Q8c2l6ZV90Pihtb2RlKV0u
Z2V0KCk7CkBAIC0xMzcsNyArMTMwLDYgQEAgdm9pZCBKU1dlYkFzc2VtYmx5TW9kdWxlOjp2aXNp
dENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAKICAgICBCYXNl
Ojp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5k
KHRoaXNPYmplY3QtPm1fZXhwb3J0U3ltYm9sVGFibGUpOwotICAgIHZpc2l0b3IuYXBwZW5kKHRo
aXNPYmplY3QtPm1fY2FsbGVlKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgV2FzbTo6
TnVtYmVyT2ZNZW1vcnlNb2RlczsgKytpKQogICAgICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX2NvZGVCbG9ja3NbaV0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oCmluZGV4IGIxMTI2Zjg0ZGIzZjIxZTdmYzlm
MjJjZTNhNGE3NmZkYzdlNmVkZWMuLjExMDczMmI0NGM4ODg0MmY3ODFmYWRjZWExMzNiNDcxMjQ1
YzdiYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlNb2R1bGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5TW9kdWxlLmgKQEAgLTQ4LDcgKzQ4LDYgQEAgdXNpbmcgU2lnbmF0dXJlSW5kZXggPSB1
aW50NjRfdDsKIGNsYXNzIFN5bWJvbFRhYmxlOwogY2xhc3MgSlNXZWJBc3NlbWJseUNvZGVCbG9j
azsKIGNsYXNzIEpTV2ViQXNzZW1ibHlNZW1vcnk7Ci1jbGFzcyBXZWJBc3NlbWJseVRvSlNDYWxs
ZWU7CiAKIGNsYXNzIEpTV2ViQXNzZW1ibHlNb2R1bGUgZmluYWwgOiBwdWJsaWMgSlNEZXN0cnVj
dGlibGVPYmplY3QgewogcHVibGljOgpAQCAtNjIsNyArNjEsNiBAQCBjbGFzcyBKU1dlYkFzc2Vt
Ymx5TW9kdWxlIGZpbmFsIDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKICAgICBjb25z
dCBXYXNtOjpNb2R1bGVJbmZvcm1hdGlvbiYgbW9kdWxlSW5mb3JtYXRpb24oKSBjb25zdDsKICAg
ICBTeW1ib2xUYWJsZSogZXhwb3J0U3ltYm9sVGFibGUoKSBjb25zdDsKICAgICBXYXNtOjpTaWdu
YXR1cmVJbmRleCBzaWduYXR1cmVJbmRleEZyb21GdW5jdGlvbkluZGV4U3BhY2UodW5zaWduZWQg
ZnVuY3Rpb25JbmRleFNwYWNlKSBjb25zdDsKLSAgICBXZWJBc3NlbWJseVRvSlNDYWxsZWUqIGNh
bGxlZSgpIGNvbnN0OwogCiAgICAgSlNXZWJBc3NlbWJseUNvZGVCbG9jayogY29kZUJsb2NrKFdh
c206Ok1lbW9yeU1vZGUgbW9kZSk7CiAgICAgdm9pZCBzZXRDb2RlQmxvY2soVk0mLCBXYXNtOjpN
ZW1vcnlNb2RlLCBKU1dlYkFzc2VtYmx5Q29kZUJsb2NrKik7CkBAIC04MCw3ICs3OCw2IEBAIGNs
YXNzIEpTV2ViQXNzZW1ibHlNb2R1bGUgZmluYWwgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmpl
Y3QgewogICAgIFJlZjxXYXNtOjpNb2R1bGU+IG1fbW9kdWxlOwogICAgIFdyaXRlQmFycmllcjxT
eW1ib2xUYWJsZT4gbV9leHBvcnRTeW1ib2xUYWJsZTsKICAgICBXcml0ZUJhcnJpZXI8SlNXZWJB
c3NlbWJseUNvZGVCbG9jaz4gbV9jb2RlQmxvY2tzW1dhc206Ok51bWJlck9mTWVtb3J5TW9kZXNd
OwotICAgIFdyaXRlQmFycmllcjxXZWJBc3NlbWJseVRvSlNDYWxsZWU+IG1fY2FsbGVlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNt
VG9KUy5jcHAKaW5kZXggMjdhNTdjMjgwZjQxZTk1Yjc4NmU0MTBkYjgxMWIwNTc2YjBmNWZlZS4u
YjI2N2Q1MWU0OTRkYjUyMzdmZmM3ZWRhYzI3M2ViYmNlMmRlMWMxZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMg
RXhwZWN0ZWQ8TWFjcm9Bc3NlbWJsZXJDb2RlUmVmPFdhc21FbnRyeVB0clRhZz4sIEJpbmRpbmdG
YWlsdXJlPiBoYW5kbGVCYQogCiAgICAgLy8gU3RvcmUgQ2FsbGVlLgogICAgIGppdC5sb2FkUHRy
KENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjAsIEluc3RhbmNlOjpv
ZmZzZXRPZk93bmVyKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOwotICAgIGppdC5sb2FkUHRy
KENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjAsIEpTV2ViQXNzZW1i
bHlJbnN0YW5jZTo6b2Zmc2V0T2ZDYWxsZWUoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7Cisg
ICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OmFyZ3VtZW50R1BS
MCwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRPZk1vZHVsZSgpKSwgR1BSSW5mbzo6YXJn
dW1lbnRHUFIxKTsKICAgICBqaXQucHJlcGFyZUNhbGxPcGVyYXRpb24odm0pOwogICAgIGppdC5z
dG9yZVB0cihHUFJJbmZvOjphcmd1bWVudEdQUjEsIEpJVDo6QWRkcmVzcyhHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlICogc3RhdGljX2Nhc3Q8aW50Pihz
aXplb2YoUmVnaXN0ZXIpKSkpOwogCkBAIC0yNTQsNyArMjU0LDcgQEAgRXhwZWN0ZWQ8TWFjcm9B
c3NlbWJsZXJDb2RlUmVmPFdhc21FbnRyeVB0clRhZz4sIEJpbmRpbmdGYWlsdXJlPiB3YXNtVG9K
UyhWTSYgdm0KIAogICAgIGppdC5sb2FkV2FzbUNvbnRleHRJbnN0YW5jZShHUFJJbmZvOjphcmd1
bWVudEdQUjApOwogICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZv
Ojphcmd1bWVudEdQUjAsIEluc3RhbmNlOjpvZmZzZXRPZk93bmVyKCkpLCBHUFJJbmZvOjphcmd1
bWVudEdQUjApOwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZv
Ojphcmd1bWVudEdQUjAsIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6b2Zmc2V0T2ZDYWxsZWUoKSks
IEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CisgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKEdQUkluZm86OmFyZ3VtZW50R1BSMCwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZz
ZXRPZk1vZHVsZSgpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICBqaXQuc3RvcmVQdHIo
R1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKSVQ6OkFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVn
aXN0ZXIsIENhbGxGcmFtZVNsb3Q6OmNhbGxlZSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJl
Z2lzdGVyKSkpKTsKIAogICAgIEdQUlJlZyBpbXBvcnRKU0NlbGxHUFJSZWcgPSBHUFJJbmZvOjpy
ZWdUMDsgLy8gQ2FsbGVlIG5lZWRzIHRvIGJlIGluIHJlZ1QwIGZvciBzbG93IHBhdGggYmVsb3cu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRv
SlNDYWxsZWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlU
b0pTQ2FsbGVlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmUxYTAxOGQwMWFk
OWIwN2U5MDBiM2ZjZTk0MjU5MTI0MWJjNDgwMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseVRvSlNDYWxsZWUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzIgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcu
aCIKLSNpbmNsdWRlICJXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCIKLQotI2lmIEVOQUJMRShXRUJB
U1NFTUJMWSkKLQotI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKLSNpbmNsdWRlICJKU1dlYkFzc2Vt
Ymx5TW9kdWxlLmgiCi0KLW5hbWVzcGFjZSBKU0MgewotCi1jb25zdCBDbGFzc0luZm8gV2ViQXNz
ZW1ibHlUb0pTQ2FsbGVlOjpzX2luZm8gPSB7ICJXZWJBc3NlbWJseVRvSlNDYWxsZWUiLCAmQmFz
ZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFdlYkFzc2Vt
Ymx5VG9KU0NhbGxlZSkgfTsKLQotV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKiBXZWJBc3NlbWJseVRv
SlNDYWxsZWU6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1dlYkFzc2Vt
Ymx5TW9kdWxlKiBtb2R1bGUpCi17Ci0gICAgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKiBjYWxsZWUg
PSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxXZWJBc3NlbWJseVRvSlNDYWxsZWU+KHZtLmhl
YXApKSBXZWJBc3NlbWJseVRvSlNDYWxsZWUodm0sIHN0cnVjdHVyZSk7Ci0gICAgY2FsbGVlLT5m
aW5pc2hDcmVhdGlvbih2bSwgbW9kdWxlKTsKLSAgICByZXR1cm4gY2FsbGVlOwotfQotCi1TdHJ1
Y3R1cmUqIFdlYkFzc2VtYmx5VG9KU0NhbGxlZTo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCi17Ci0gICAgcmV0
dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUlu
Zm8oV2ViQXNzZW1ibHlUb0pTQ2FsbGVlVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwot
fQotCi1XZWJBc3NlbWJseVRvSlNDYWxsZWU6OldlYkFzc2VtYmx5VG9KU0NhbGxlZShWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQotewotfQot
Ci12b2lkIFdlYkFzc2VtYmx5VG9KU0NhbGxlZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1dl
YkFzc2VtYmx5TW9kdWxlKiBtb2R1bGUpCi17Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OwotICAgIG1fbW9kdWxlLnNldCh2bSwgdGhpcywgbW9kdWxlKTsKLX0KLQotdm9pZCBXZWJBc3Nl
bWJseVRvSlNDYWxsZWU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYg
dmlzaXRvcikKLXsKLSAgICBhdXRvKiB0aGlzT2JqZWN0ID0ganNDYXN0PFdlYkFzc2VtYmx5VG9K
U0NhbGxlZSo+KGNlbGwpOwotICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVj
dCwgaW5mbygpKTsKLQotICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRv
cik7Ci0gICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9tb2R1bGUpOwotfQotCi19IC8v
IG5hbWVzcGFjZSBKU0MKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJBU1NFTUJMWSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlYmYwMDE4YzIyNGZjZmMwN2RlNzBlNTc5
ZjM0NmFlMDJkMmQwYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVl
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE2LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShX
RUJBU1NFTUJMWSkKLQotI2luY2x1ZGUgIkpTT2JqZWN0LmgiCi0KLW5hbWVzcGFjZSBKU0Mgewot
Ci1jbGFzcyBKU1dlYkFzc2VtYmx5TW9kdWxlOwotCi1jbGFzcyBXZWJBc3NlbWJseVRvSlNDYWxs
ZWUgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgdXNpbmcg
QmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBT
dHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwotCi0gICAgc3RhdGljIFdlYkFz
c2VtYmx5VG9KU0NhbGxlZSogY3JlYXRlKFZNJiwgU3RydWN0dXJlKiwgSlNXZWJBc3NlbWJseU1v
ZHVsZSopOwotICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSk7Ci0KLSAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwotCi0gICAg
c3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwotCi0gICAg
SlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlKCkgeyByZXR1cm4gbV9tb2R1bGUuZ2V0KCk7IH0K
LQotcHJpdmF0ZToKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNXZWJBc3NlbWJseU1v
ZHVsZSopOwotICAgIFdlYkFzc2VtYmx5VG9KU0NhbGxlZShWTSYsIFN0cnVjdHVyZSopOwotCi0g
ICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlNb2R1bGU+IG1fbW9kdWxlOwotfTsKLQotfSAv
LyBuYW1lc3BhY2UgSlNDCi0KLSNlbmRpZiAvLyBFTkFCTEUoV0VCQVNTRU1CTFkpCg==
</data>
<flag name="review"
          id="400559"
          type_id="1"
          status="+"
          setter="tzagallo"
    />
          </attachment>
      

    </bug>

</bugzilla>