<?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>205457</bug_id>
          
          <creation_ts>2019-12-19 09:29:57 -0800</creation_ts>
          <short_desc>REGRESSION (r253530): Incorrect colors in Dark Mode</short_desc>
          <delta_ts>2019-12-19 13:20:41 -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>WebKit Misc.</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="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1600313</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-19 09:29:57 -0800</bug_when>
    <thetext>The commit https://trac.webkit.org/changeset/253530/webkit caused incorrect colors to be used in Dark Mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600316</commentid>
    <comment_count>1</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-19 09:32:19 -0800</bug_when>
    <thetext>rdar://problem/58062688</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600325</commentid>
    <comment_count>2</comment_count>
      <attachid>386112</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-19 09:35:04 -0800</bug_when>
    <thetext>Created attachment 386112
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600461</commentid>
    <comment_count>3</comment_count>
      <attachid>386112</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-19 13:20:40 -0800</bug_when>
    <thetext>Comment on attachment 386112
Patch

Clearing flags on attachment: 386112

Committed r253784: &lt;https://trac.webkit.org/changeset/253784&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600462</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-19 13:20:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386112</attachid>
            <date>2019-12-19 09:35:04 -0800</date>
            <delta_ts>2019-12-19 13:20:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205457-20191219093502.patch</filename>
            <type>text/plain</type>
            <size>24720</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1Mzc1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEyLTE5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjUz
NTMwKTogSW5jb3JyZWN0IGNvbG9ycyBpbiBEYXJrIE1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTQ1NworCisgICAgICAgIFVucmV2aWV3ZWQg
cm9sbG91dCBvZiByMjUzNTMwLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIHJlbmRlcmluZy9DU1NWYWx1ZUtleS5oOiBSZW1vdmVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpz
eXN0ZW1Db2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpjc3NWYWx1ZUlEU2VsZWN0b3JM
aXN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnN5c3RlbUNvbG9yRnJvbUNTU1ZhbHVl
SUQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Z2xvYmFsQ1NTVmFsdWVUb1N5c3RlbUNv
bG9yTWFwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpnZXRP
ckNyZWF0ZUNTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZUlPUzo6c2V0Q1NTVmFsdWVUb1N5c3RlbUNvbG9yTWFwKTogRGVsZXRl
ZC4KKwogMjAxOS0xMi0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3NraXAtd2FpdGluZy1pbnN0YWxsZWQuaHR0cHMuaHRtbCBpcyBmbGFreQpJbmRl
eDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gMjUzNzU2KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00Nzk3LDcgKzQ3OTcsNiBAQAogCQlF
M0IyRjBFRDFEN0Y0Q0EzMDBCMEM5RDEgLyogTG9hZGFibGVTY3JpcHQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQjJGMEU3MUQ3RjM1RUMwMEIwQzlE
MSAvKiBMb2FkYWJsZVNjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUzQjJGMEVFMUQ3RjRDQTkwMEIwQzlEMSAvKiBMb2FkYWJsZVNjcmlw
dENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTNCMkYwRTgxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxlU2NyaXB0Q2xpZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNCMkYwRjAxRDdG
NENCNTAwQjBDOUQxIC8qIExvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCMkYwRTQxRDdGMzVFQzAwQjBDOUQxIC8q
IExvYWRhYmxlQ2xhc3NpY1NjcmlwdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCUUzQkJDMjQ3MjM4MzU1MjYwMDZFQzM5RiAvKiBDU1NWYWx1ZUtl
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCQkMy
NDUyMzgzNTUxQTAwNkVDMzlGIC8qIENTU1ZhbHVlS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNDOTlBMDkxREMzRDQxQzAwNzk0QUQzIC8q
IERPTUpJVENoZWNrRE9NLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFM0M5OUEwODFEQzNENDE3MDA3OTRBRDMgLyogRE9NSklUQ2hlY2tET00uaCAqLzsg
fTsKIAkJRTNDOUFFQ0IyMTEzMTQ5OTAwNDE5QjkyIC8qIEpTTWljcm90YXNrQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzlBRUM5MjEx
MzE0NzQwMDQxOUI5MiAvKiBKU01pY3JvdGFza0NhbGxiYWNrLmggKi87IH07CiAJCUUzRTRFMkE4
MUUzQjE3MTAwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNFNEUyQTYxRTNC
MTZGQzAwMjNCQjhBIC8qIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE1MTMwLDcgKzE1
MTI5LDYgQEAKIAkJRTNCMkYwRTgxRDdGMzVFQzAwQjBDOUQxIC8qIExvYWRhYmxlU2NyaXB0Q2xp
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvYWRhYmxlU2NyaXB0Q2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQjJGMEU5MUQ3RjNEM0MwMEIw
QzlEMSAvKiBMb2FkYWJsZVNjcmlwdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBMb2FkYWJsZVNjcmlwdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzQjdDMDYyMURDMzQxNUEwMDFGQjBCOCAvKiBKU0RvY3VtZW50RE9NSklULmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRG9jdW1lbnRET01KSVQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFM0JCQzI0NTIzODM1NTFBMDA2RUMzOUYgLyogQ1NT
VmFsdWVLZXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTVmFsdWVLZXku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCQzgyNzMyMjUzMDIyMTAwNTI3NkRF
IC8qIE5vZGVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vZGVMaXN0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNCRjE5RTEyMkFGMkY1NTAwOUM5OTI2IC8qIFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0JG
MTlFMzIyQUYyRkE1MDA5Qzk5MjYgLyogT3ZlcmNvbnN0cmFpbmVkRXJyb3JFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBPdmVyY29uc3RyYWluZWRFcnJvckV2ZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3NjUxLDcgKzI3NjQ5LDYgQEAKIAkJCQk5MzkyRjE0QjBB
RDE4NjFCMDA2OTFCRDQgLyogQ291bnRlck5vZGUuaCAqLywKIAkJCQkwRjUzRkI4MTIxM0IxQkI4
MDBDNDBEMzQgLyogQ1NTRmlsdGVyLmNwcCAqLywKIAkJCQkwRjUzRkI4MzIxM0IxQkI4MDBDNDBE
MzQgLyogQ1NTRmlsdGVyLmggKi8sCi0JCQkJRTNCQkMyNDUyMzgzNTUxQTAwNkVDMzlGIC8qIENT
U1ZhbHVlS2V5LmggKi8sCiAJCQkJQThDRkY2Q0EwQTE1NjFDRDAwMEE0MjM0IC8qIEVsbGlwc2lz
Qm94LmNwcCAqLywKIAkJCQlBOENGRjZCRDBBMTU2MTE4MDAwQTQyMzQgLyogRWxsaXBzaXNCb3gu
aCAqLywKIAkJCQlFNEE4RDIxNTIyNTc4REEwMDBBODQ2M0MgLyogRXZlbnRSZWdpb24uY3BwICov
LApAQCAtMjk1MzMsNyArMjk1MzAsNiBAQAogCQkJCUREN0NERjI1MEEyM0NGOTgwMDA2OTkyOCAv
KiBDU1NVbmtub3duUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3RDhGRjAxQkQwM0I2NDAw
RkZFNTQwIC8qIENTU1Vuc2V0VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2Q0VFMEEx
OTg5Q0EwMDdGQjhDNSAvKiBDU1NWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTNCQkMyNDcy
MzgzNTUyNjAwNkVDMzlGIC8qIENTU1ZhbHVlS2V5LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTY1
ODE1MTA5RDEzMDQzMDAwRTYxRDcgLyogQ1NTVmFsdWVLZXl3b3Jkcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTgwRTZDRTkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1ZhbHVlTGlzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTQ5QkQ5RkExMzFGRDJFRDAwM0M1NkYwIC8qIENTU1ZhbHVlUG9vbC5oIGlu
IEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ1NTVmFsdWVLZXku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ1NTVmFsdWVLZXkuaAko
cmV2aXNpb24gMjUzNzU2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NTU1ZhbHVlS2V5
LmgJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLXN0cnVjdCBDU1NWYWx1ZUtleSB7Ci0KLSAgICB1bnNpZ25lZCBoYXNoKCkgY29uc3Q7
Ci0KLSAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29u
c3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPENTU1ZhbHVl
S2V5PiBkZWNvZGUoRGVjb2RlciYpOwotCi0gICAgdW5zaWduZWQgY3NzVmFsdWVJRDsKLSAgICBi
b29sIHVzZURhcmtBcHBlYXJhbmNlOwotICAgIGJvb2wgdXNlRWxldmF0ZWRVc2VySW50ZXJmYWNl
TGV2ZWw7Ci19OwotCi1pbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENTU1ZhbHVlS2V5JiBh
LCBjb25zdCBDU1NWYWx1ZUtleSYgYikKLXsKLSAgICByZXR1cm4gYS5jc3NWYWx1ZUlEID09IGIu
Y3NzVmFsdWVJRCAmJiBhLnVzZURhcmtBcHBlYXJhbmNlID09IGIudXNlRGFya0FwcGVhcmFuY2Ug
JiYgYS51c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VMZXZlbCA9PSBiLnVzZUVsZXZhdGVkVXNlcklu
dGVyZmFjZUxldmVsOwotfQotCi10ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgotdm9pZCBDU1NWYWx1
ZUtleTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgZW5jb2RlciA8PCBj
c3NWYWx1ZUlEOwotICAgIGVuY29kZXIgPDwgdXNlRGFya0FwcGVhcmFuY2U7Ci0gICAgZW5jb2Rl
ciA8PCB1c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VMZXZlbDsKLX0KLQotdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4KLU9wdGlvbmFsPENTU1ZhbHVlS2V5PiBDU1NWYWx1ZUtleTo6ZGVjb2RlKERlY29k
ZXImIGRlY29kZXIpCi17Ci0gICAgT3B0aW9uYWw8dW5zaWduZWQ+IGNzc1ZhbHVlSUQ7Ci0gICAg
ZGVjb2RlciA+PiBjc3NWYWx1ZUlEOwotICAgIGlmICghY3NzVmFsdWVJRCkKLSAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKLSAgICBPcHRpb25hbDxib29sPiB1c2VEYXJrQXBwZWFyYW5jZTsK
LSAgICBkZWNvZGVyID4+IHVzZURhcmtBcHBlYXJhbmNlOwotICAgIGlmICghdXNlRGFya0FwcGVh
cmFuY2UpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgT3B0aW9uYWw8Ym9vbD4g
dXNlRWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWw7Ci0gICAgZGVjb2RlciA+PiB1c2VFbGV2YXRl
ZFVzZXJJbnRlcmZhY2VMZXZlbDsKLSAgICBpZiAoIXVzZUVsZXZhdGVkVXNlckludGVyZmFjZUxl
dmVsKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIHJldHVybiB7IHsgV1RGTW92
ZSgqY3NzVmFsdWVJRCksIFdURk1vdmUoKnVzZURhcmtBcHBlYXJhbmNlKSwgV1RGTW92ZSgqdXNl
RWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwpIH0gfTsKLX0KLQotaW5saW5lIHVuc2lnbmVkIENT
U1ZhbHVlS2V5OjpoYXNoKCkgY29uc3QKLXsKLSAgICByZXR1cm4gY3NzVmFsdWVJRDsKLX0KLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi1uYW1lc3BhY2UgV1RGIHsKLQotc3RydWN0IENTU1Zh
bHVlS2V5SGFzaCB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6Q1NT
VmFsdWVLZXkmIGtleSkgeyByZXR1cm4ga2V5Lmhhc2goKTsgfQotICAgIHN0YXRpYyBib29sIGVx
dWFsKGNvbnN0IFdlYkNvcmU6OkNTU1ZhbHVlS2V5JiBhLCBjb25zdCBXZWJDb3JlOjpDU1NWYWx1
ZUtleSYgYikgeyByZXR1cm4gYSA9PSBiOyB9Ci0gICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRv
Q29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwotfTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3Qg
SGFzaFRyYWl0czxXZWJDb3JlOjpDU1NWYWx1ZUtleT4gOiBHZW5lcmljSGFzaFRyYWl0czxXZWJD
b3JlOjpDU1NWYWx1ZUtleT4gewotICAgIHN0YXRpYyBXZWJDb3JlOjpDU1NWYWx1ZUtleSBlbXB0
eVZhbHVlKCkgeyByZXR1cm4gV2ViQ29yZTo6Q1NTVmFsdWVLZXkgeyBXZWJDb3JlOjpDU1NWYWx1
ZUludmFsaWQsIGZhbHNlLCBmYWxzZX07IH0KLSAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxl
dGVkVmFsdWUoV2ViQ29yZTo6Q1NTVmFsdWVLZXkmIHNsb3QpIHsgc2xvdCA9IFdlYkNvcmU6OkNT
U1ZhbHVlS2V5IHsgV2ViQ29yZTo6Q1NTVmFsdWVJbnZhbGlkLCB0cnVlLCB0cnVlfTt9Ci0gICAg
c3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6Q1NTVmFsdWVLZXkmIHNs
b3QpIHsgcmV0dXJuIHNsb3QuY3NzVmFsdWVJRCA9PSBXZWJDb3JlOjpDU1NWYWx1ZUludmFsaWQg
JiYgc2xvdC51c2VEYXJrQXBwZWFyYW5jZSAmJiBzbG90LnVzZUVsZXZhdGVkVXNlckludGVyZmFj
ZUxldmVsOyB9Ci19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpD
U1NWYWx1ZUtleT4gewotICAgIHR5cGVkZWYgQ1NTVmFsdWVLZXlIYXNoIEhhc2g7Ci19OwotCi19
IC8vIG5hbWVzcGFjZSBXVEYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5oCShyZXZpc2lvbiAyNTM3NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKIAotI2luY2x1ZGUgIkNTU1ZhbHVlS2V5LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyVGhlbWVDb2NvYS5oIgogCiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQpAQCAtNjAs
OSArNTksNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwYWludFN5c3RlbVByZXZpZXdCYWRnZShJbWFn
ZSYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwogI2VuZGlm
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgY29uc3QgSGFzaE1hcDxDU1NWYWx1ZUtleSwg
Q29sb3I+JiBnZXRPckNyZWF0ZUNTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCgpOwotICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldENTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcChIYXNoTWFw
PENTU1ZhbHVlS2V5LCBDb2xvcj4mJik7Ci0gICAgCiBwcm90ZWN0ZWQ6CiAgICAgTGVuZ3RoQm94
IHBvcHVwSW50ZXJuYWxQYWRkaW5nQm94KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
Lm1tCShyZXZpc2lvbiAyNTM3NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAKICNpbXBvcnQgIkJp
dG1hcEltYWdlLmgiCiAjaW1wb3J0ICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2ltcG9ydCAiQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oIgotI2ltcG9ydCAiQ1NTVmFsdWVLZXkuaCIKICNpbXBv
cnQgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbXBvcnQgIkNvbG9ySU9TLmgiCiAjaW1wb3J0ICJE
YXRlQ29tcG9uZW50cy5oIgpAQCAtMTQzMSwxMTMgKzE0MzAsNiBAQCBTdHJpbmcgUmVuZGVyVGhl
bWVJT1M6Om1lZGlhQ29udHJvbHNCYXNlCiAKICNlbmRpZiAvLyBFTkFCTEUoVklERU8pCiAKLXN0
cnVjdCBDU1NWYWx1ZUlEQW5kU2VsZWN0b3IgewotICAgIENTU1ZhbHVlSUQgY3NzVmFsdWVJRDsK
LSAgICBTRUwgc2VsZWN0b3I7Ci19OwotCi1zdGF0aWMgY29uc3QgVmVjdG9yPENTU1ZhbHVlSURB
bmRTZWxlY3Rvcj4mIGNzc1ZhbHVlSURTZWxlY3Rvckxpc3QoKQotewotICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxWZWN0b3I8Q1NTVmFsdWVJREFuZFNlbGVjdG9yPj4gY3NzVmFsdWVJRFNlbGVj
dG9yTGlzdDsKLQotICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBpbml0aWFsaXplT25jZTsKLSAg
ICBzdGQ6OmNhbGxfb25jZSgKLSAgICAgICAgaW5pdGlhbGl6ZU9uY2UsCi0gICAgICAgIFtdIHsK
LSAgICAgICAgY3NzVmFsdWVJRFNlbGVjdG9yTGlzdC5nZXQoKSA9IFZlY3RvcihzdGQ6OmluaXRp
YWxpemVyX2xpc3Q8Q1NTVmFsdWVJREFuZFNlbGVjdG9yPiB7Ci0jaWYgSEFWRShPU19EQVJLX01P
REVfU1VQUE9SVCkKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVUZXh0LCBAc2VsZWN0b3IobGFiZWxD
b2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUxhYmVsLCBAc2VsZWN0
b3IobGFiZWxDb2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUhlYWRl
clRleHQsIEBzZWxlY3RvcihsYWJlbENvbG9yKSB9LAotICAgICAgICAgICAgeyBDU1NWYWx1ZUFw
cGxlU3lzdGVtU2Vjb25kYXJ5TGFiZWwsIEBzZWxlY3RvcihzZWNvbmRhcnlMYWJlbENvbG9yKSB9
LAotICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtVGVydGlhcnlMYWJlbCwgQHNlbGVj
dG9yKHRlcnRpYXJ5TGFiZWxDb2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5
c3RlbVF1YXRlcm5hcnlMYWJlbCwgQHNlbGVjdG9yKHF1YXRlcm5hcnlMYWJlbENvbG9yKSB9LAot
ICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtUGxhY2Vob2xkZXJUZXh0LCBAc2VsZWN0
b3IocGxhY2Vob2xkZXJUZXh0Q29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVlV2Via2l0
Q29udHJvbEJhY2tncm91bmQsIEBzZWxlY3RvcihzeXN0ZW1CYWNrZ3JvdW5kQ29sb3IpIH0sCi0g
ICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1Db250cm9sQmFja2dyb3VuZCwgQHNlbGVj
dG9yKHN5c3RlbUJhY2tncm91bmRDb2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBs
ZVN5c3RlbVRleHRCYWNrZ3JvdW5kLCBAc2VsZWN0b3Ioc3lzdGVtQmFja2dyb3VuZENvbG9yKSB9
LAotICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtQmFja2dyb3VuZCwgQHNlbGVjdG9y
KHN5c3RlbUJhY2tncm91bmRDb2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5
c3RlbVNlY29uZGFyeUJhY2tncm91bmQsIEBzZWxlY3RvcihzZWNvbmRhcnlTeXN0ZW1CYWNrZ3Jv
dW5kQ29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1UZXJ0aWFyeUJh
Y2tncm91bmQsIEBzZWxlY3Rvcih0ZXJ0aWFyeVN5c3RlbUJhY2tncm91bmRDb2xvcikgfSwKLSAg
ICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUdyb3VwZWRCYWNrZ3JvdW5kLCBAc2VsZWN0
b3Ioc3lzdGVtR3JvdXBlZEJhY2tncm91bmRDb2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFs
dWVBcHBsZVN5c3RlbVNlY29uZGFyeUdyb3VwZWRCYWNrZ3JvdW5kLCBAc2VsZWN0b3Ioc2Vjb25k
YXJ5U3lzdGVtR3JvdXBlZEJhY2tncm91bmRDb2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFs
dWVBcHBsZVN5c3RlbVRlcnRpYXJ5R3JvdXBlZEJhY2tncm91bmQsIEBzZWxlY3Rvcih0ZXJ0aWFy
eVN5c3RlbUdyb3VwZWRCYWNrZ3JvdW5kQ29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVl
QXBwbGVTeXN0ZW1HcmlkLCBAc2VsZWN0b3Ioc2VwYXJhdG9yQ29sb3IpIH0sCi0gICAgICAgICAg
ICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1TZXBhcmF0b3IsIEBzZWxlY3RvcihzZXBhcmF0b3JDb2xv
cikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRhaW5lckJvcmRlciwg
QHNlbGVjdG9yKHNlcGFyYXRvckNvbG9yKSB9LAotICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxl
U3lzdGVtU2VsZWN0ZWRDb250ZW50QmFja2dyb3VuZCwgQHNlbGVjdG9yKHRhYmxlQ2VsbERlZmF1
bHRTZWxlY3Rpb25UaW50Q29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0
ZW1VbmVtcGhhc2l6ZWRTZWxlY3RlZENvbnRlbnRCYWNrZ3JvdW5kLCBAc2VsZWN0b3IodGFibGVD
ZWxsRGVmYXVsdFNlbGVjdGlvblRpbnRDb2xvcikgfSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVB
cHBsZVN5c3RlbUJyb3duLCBAc2VsZWN0b3Ioc3lzdGVtQnJvd25Db2xvcikgfSwKLSAgICAgICAg
ICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUluZGlnbywgQHNlbGVjdG9yKHN5c3RlbUluZGlnb0Nv
bG9yKSB9LAotI2VuZGlmCi0gICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1UZWFsLCBA
c2VsZWN0b3Ioc3lzdGVtVGVhbENvbG9yKSB9LAotICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxl
V2lyZWxlc3NQbGF5YmFja1RhcmdldEFjdGl2ZSwgQHNlbGVjdG9yKHN5c3RlbUJsdWVDb2xvcikg
fSwKLSAgICAgICAgICAgIHsgQ1NTVmFsdWVBcHBsZVN5c3RlbUJsdWUsIEBzZWxlY3RvcihzeXN0
ZW1CbHVlQ29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1HcmF5LCBA
c2VsZWN0b3Ioc3lzdGVtR3JheUNvbG9yKSB9LAotICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxl
U3lzdGVtR3JlZW4sIEBzZWxlY3RvcihzeXN0ZW1HcmVlbkNvbG9yKSB9LAotICAgICAgICAgICAg
eyBDU1NWYWx1ZUFwcGxlU3lzdGVtT3JhbmdlLCBAc2VsZWN0b3Ioc3lzdGVtT3JhbmdlQ29sb3Ip
IH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVlQXBwbGVTeXN0ZW1QaW5rLCBAc2VsZWN0b3Ioc3lz
dGVtUGlua0NvbG9yKSB9LAotICAgICAgICAgICAgeyBDU1NWYWx1ZUFwcGxlU3lzdGVtUHVycGxl
LCBAc2VsZWN0b3Ioc3lzdGVtUHVycGxlQ29sb3IpIH0sCi0gICAgICAgICAgICB7IENTU1ZhbHVl
QXBwbGVTeXN0ZW1SZWQsIEBzZWxlY3RvcihzeXN0ZW1SZWRDb2xvcikgfSwKLSAgICAgICAgICAg
IHsgQ1NTVmFsdWVBcHBsZVN5c3RlbVllbGxvdywgQHNlbGVjdG9yKHN5c3RlbVllbGxvd0NvbG9y
KSB9Ci0gICAgICAgIH0pOwotICAgIH0pOwotCi0gICAgcmV0dXJuIGNzc1ZhbHVlSURTZWxlY3Rv
ckxpc3Q7Ci19Ci0KLXN0YXRpYyBPcHRpb25hbDxDb2xvcj4gc3lzdGVtQ29sb3JGcm9tQ1NTVmFs
dWVJRChDU1NWYWx1ZUlEIGNzc1ZhbHVlSUQsIGJvb2wgdXNlRGFya0FwcGVhcmFuY2UsIGJvb2wg
dXNlRWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwpCi17Ci0gICAgTG9jYWxDdXJyZW50VHJhaXRD
b2xsZWN0aW9uIGxvY2FsVHJhaXRDb2xsZWN0aW9uKHVzZURhcmtBcHBlYXJhbmNlLCB1c2VFbGV2
YXRlZFVzZXJJbnRlcmZhY2VMZXZlbCk7Ci0KLSAgICBhdXRvIGNzc0NvbG9yVG9TZWxlY3RvciA9
IFtjc3NWYWx1ZUlEXSAoKSAtPiBTRUwgewotICAgICAgICBmb3IgKGF1dG8mIGNzc1ZhbHVlSURT
ZWxlY3RvciA6IGNzc1ZhbHVlSURTZWxlY3Rvckxpc3QoKSkgewotICAgICAgICAgICAgaWYgKGNz
c1ZhbHVlSURTZWxlY3Rvci5jc3NWYWx1ZUlEID09IGNzc1ZhbHVlSUQpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGNzc1ZhbHVlSURTZWxlY3Rvci5zZWxlY3RvcjsKLSAgICAgICAgfQotICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICB9OwotCi0gICAgaWYgKGF1dG8gc2VsZWN0b3IgPSBjc3ND
b2xvclRvU2VsZWN0b3IoKSkgewotICAgICAgICBpZiAoYXV0byBjb2xvciA9IHd0Zk9iakNNc2dT
ZW5kPFVJQ29sb3IgKj4oUEFMOjpnZXRVSUNvbG9yQ2xhc3MoKSwgc2VsZWN0b3IpKQotICAgICAg
ICAgICAgcmV0dXJuIENvbG9yKGNvbG9yLkNHQ29sb3IsIENvbG9yOjpTZW1hbnRpYyk7Ci0gICAg
fQotICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci19Ci0KLQotc3RhdGljIEhhc2hNYXA8Q1NTVmFs
dWVLZXksIENvbG9yPiYgZ2xvYmFsQ1NTVmFsdWVUb1N5c3RlbUNvbG9yTWFwKCkKLXsKLSAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxDU1NWYWx1ZUtleSwgQ29sb3I+PiBjb2xvck1h
cDsKLSAgICByZXR1cm4gY29sb3JNYXA7Ci19Ci0KLWNvbnN0IEhhc2hNYXA8Q1NTVmFsdWVLZXks
IENvbG9yPiYgUmVuZGVyVGhlbWVJT1M6OmdldE9yQ3JlYXRlQ1NTVmFsdWVUb1N5c3RlbUNvbG9y
TWFwKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxDU1NWYWx1ZUtleSwg
Q29sb3I+PiBtYXA7Ci0KLSAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7Ci0gICAg
c3RkOjpjYWxsX29uY2UoCi0gICAgICAgIG9uY2VGbGFnLAotICAgICAgICBbXSB7Ci0gICAgICAg
IGZvciAoYXV0byYgY3NzVmFsdWVJRFNlbGVjdG9yIDogY3NzVmFsdWVJRFNlbGVjdG9yTGlzdCgp
KSB7Ci0gICAgICAgICAgICBmb3IgKGJvb2wgdXNlRGFya0FwcGVhcmFuY2UgOiB7IGZhbHNlLCB0
cnVlIH0pIHsKLSAgICAgICAgICAgICAgICBmb3IgKGJvb2wgdXNlRWxldmF0ZWRVc2VySW50ZXJm
YWNlTGV2ZWwgOiB7IGZhbHNlLCB0cnVlIH0pIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGF1
dG8gY29sb3IgPSBzeXN0ZW1Db2xvckZyb21DU1NWYWx1ZUlEKGNzc1ZhbHVlSURTZWxlY3Rvci5j
c3NWYWx1ZUlELCB1c2VEYXJrQXBwZWFyYW5jZSwgdXNlRWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2
ZWwpKQotICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmdldCgpLmFkZChDU1NWYWx1ZUtleSB7
IGNzc1ZhbHVlSURTZWxlY3Rvci5jc3NWYWx1ZUlELCB1c2VEYXJrQXBwZWFyYW5jZSwgdXNlRWxl
dmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwgfSwgKmNvbG9yKTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9KTsKLQotICAgIHJldHVybiBtYXA7Ci19Ci0K
LXZvaWQgUmVuZGVyVGhlbWVJT1M6OnNldENTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcChIYXNoTWFw
PENTU1ZhbHVlS2V5LCBDb2xvcj4mJiBjb2xvck1hcCkKLXsKLSAgICBnbG9iYWxDU1NWYWx1ZVRv
U3lzdGVtQ29sb3JNYXAoKSA9IFdURk1vdmUoY29sb3JNYXApOwotfQotCiBDb2xvciBSZW5kZXJU
aGVtZUlPUzo6c3lzdGVtQ29sb3IoQ1NTVmFsdWVJRCBjc3NWYWx1ZUlELCBPcHRpb25TZXQ8U3R5
bGVDb2xvcjo6T3B0aW9ucz4gb3B0aW9ucykgY29uc3QKIHsKICAgICBjb25zdCBib29sIGZvclZp
c2l0ZWRMaW5rID0gb3B0aW9ucy5jb250YWlucyhTdHlsZUNvbG9yOjpPcHRpb25zOjpGb3JWaXNp
dGVkTGluayk7CkBAIC0xNTU0LDE1ICsxNDQ2LDc5IEBAIENvbG9yIFJlbmRlclRoZW1lSU9TOjpz
eXN0ZW1Db2xvcihDU1NWYWwKICAgICByZXR1cm4gY2FjaGUuc3lzdGVtU3R5bGVDb2xvcnMuZW5z
dXJlKGNzc1ZhbHVlSUQsIFt0aGlzLCBjc3NWYWx1ZUlELCBvcHRpb25zXSAoKSAtPiBDb2xvciB7
CiAgICAgICAgIGNvbnN0IGJvb2wgdXNlRGFya0FwcGVhcmFuY2UgPSBvcHRpb25zLmNvbnRhaW5z
KFN0eWxlQ29sb3I6Ok9wdGlvbnM6OlVzZURhcmtBcHBlYXJhbmNlKTsKICAgICAgICAgY29uc3Qg
Ym9vbCB1c2VFbGV2YXRlZFVzZXJJbnRlcmZhY2VMZXZlbCA9IG9wdGlvbnMuY29udGFpbnMoU3R5
bGVDb2xvcjo6T3B0aW9uczo6VXNlRWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwpOwotICAgICAg
ICBpZiAoIWdsb2JhbENTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCgpLmlzRW1wdHkoKSkgewotICAg
ICAgICAgICAgYXV0byBpdCA9IGdsb2JhbENTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCgpLmZpbmQo
Q1NTVmFsdWVLZXkgeyBjc3NWYWx1ZUlELCB1c2VEYXJrQXBwZWFyYW5jZSwgdXNlRWxldmF0ZWRV
c2VySW50ZXJmYWNlTGV2ZWwgfSk7Ci0gICAgICAgICAgICBpZiAoaXQgPT0gZ2xvYmFsQ1NTVmFs
dWVUb1N5c3RlbUNvbG9yTWFwKCkuZW5kKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFJlbmRl
clRoZW1lOjpzeXN0ZW1Db2xvcihjc3NWYWx1ZUlELCBvcHRpb25zKTsKLSAgICAgICAgICAgIHJl
dHVybiBpdC0+dmFsdWU7CisgICAgICAgIExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbiBsb2Nh
bFRyYWl0Q29sbGVjdGlvbih1c2VEYXJrQXBwZWFyYW5jZSwgdXNlRWxldmF0ZWRVc2VySW50ZXJm
YWNlTGV2ZWwpOworCisgICAgICAgIGF1dG8gY3NzQ29sb3JUb1NlbGVjdG9yID0gW2Nzc1ZhbHVl
SURdICgpIC0+IFNFTCB7CisgICAgICAgICAgICBzd2l0Y2ggKGNzc1ZhbHVlSUQpIHsKKyNpZiBI
QVZFKE9TX0RBUktfTU9ERV9TVVBQT1JUKQorICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZVRleHQ6
CisgICAgICAgICAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1MYWJlbDoKKyAgICAgICAgICAg
IGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbUhlYWRlclRleHQ6CisgICAgICAgICAgICAgICAgcmV0
dXJuIEBzZWxlY3RvcihsYWJlbENvbG9yKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBs
ZVN5c3RlbVNlY29uZGFyeUxhYmVsOgorICAgICAgICAgICAgICAgIHJldHVybiBAc2VsZWN0b3Io
c2Vjb25kYXJ5TGFiZWxDb2xvcik7CisgICAgICAgICAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0
ZW1UZXJ0aWFyeUxhYmVsOgorICAgICAgICAgICAgICAgIHJldHVybiBAc2VsZWN0b3IodGVydGlh
cnlMYWJlbENvbG9yKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbVF1YXRl
cm5hcnlMYWJlbDoKKyAgICAgICAgICAgICAgICByZXR1cm4gQHNlbGVjdG9yKHF1YXRlcm5hcnlM
YWJlbENvbG9yKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbVBsYWNlaG9s
ZGVyVGV4dDoKKyAgICAgICAgICAgICAgICByZXR1cm4gQHNlbGVjdG9yKHBsYWNlaG9sZGVyVGV4
dENvbG9yKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRDb250cm9sQmFja2dyb3Vu
ZDoKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbUNvbnRyb2xCYWNrZ3JvdW5k
OgorICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtVGV4dEJhY2tncm91bmQ6Cisg
ICAgICAgICAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1CYWNrZ3JvdW5kOgorICAgICAgICAg
ICAgICAgIHJldHVybiBAc2VsZWN0b3Ioc3lzdGVtQmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAg
ICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbVNlY29uZGFyeUJhY2tncm91bmQ6CisgICAgICAg
ICAgICAgICAgcmV0dXJuIEBzZWxlY3RvcihzZWNvbmRhcnlTeXN0ZW1CYWNrZ3JvdW5kQ29sb3Ip
OworICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtVGVydGlhcnlCYWNrZ3JvdW5k
OgorICAgICAgICAgICAgICAgIHJldHVybiBAc2VsZWN0b3IodGVydGlhcnlTeXN0ZW1CYWNrZ3Jv
dW5kQ29sb3IpOworICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtR3JvdXBlZEJh
Y2tncm91bmQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIEBzZWxlY3RvcihzeXN0ZW1Hcm91cGVk
QmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbVNl
Y29uZGFyeUdyb3VwZWRCYWNrZ3JvdW5kOgorICAgICAgICAgICAgICAgIHJldHVybiBAc2VsZWN0
b3Ioc2Vjb25kYXJ5U3lzdGVtR3JvdXBlZEJhY2tncm91bmRDb2xvcik7CisgICAgICAgICAgICBj
YXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1UZXJ0aWFyeUdyb3VwZWRCYWNrZ3JvdW5kOgorICAgICAg
ICAgICAgICAgIHJldHVybiBAc2VsZWN0b3IodGVydGlhcnlTeXN0ZW1Hcm91cGVkQmFja2dyb3Vu
ZENvbG9yKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbUdyaWQ6CisgICAg
ICAgICAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1TZXBhcmF0b3I6CisgICAgICAgICAgICBj
YXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1Db250YWluZXJCb3JkZXI6CisgICAgICAgICAgICAgICAg
cmV0dXJuIEBzZWxlY3RvcihzZXBhcmF0b3JDb2xvcik7CisgICAgICAgICAgICBjYXNlIENTU1Zh
bHVlQXBwbGVTeXN0ZW1TZWxlY3RlZENvbnRlbnRCYWNrZ3JvdW5kOgorICAgICAgICAgICAgY2Fz
ZSBDU1NWYWx1ZUFwcGxlU3lzdGVtVW5lbXBoYXNpemVkU2VsZWN0ZWRDb250ZW50QmFja2dyb3Vu
ZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gQHNlbGVjdG9yKHRhYmxlQ2VsbERlZmF1bHRTZWxl
Y3Rpb25UaW50Q29sb3IpOworICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtQnJv
d246CisgICAgICAgICAgICAgICAgcmV0dXJuIEBzZWxlY3RvcihzeXN0ZW1Ccm93bkNvbG9yKTsK
KyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbUluZGlnbzoKKyAgICAgICAgICAg
ICAgICByZXR1cm4gQHNlbGVjdG9yKHN5c3RlbUluZGlnb0NvbG9yKTsKKyNlbmRpZgorICAgICAg
ICAgICAgY2FzZSBDU1NWYWx1ZUFwcGxlU3lzdGVtVGVhbDoKKyAgICAgICAgICAgICAgICByZXR1
cm4gQHNlbGVjdG9yKHN5c3RlbVRlYWxDb2xvcik7CisgICAgICAgICAgICBjYXNlIENTU1ZhbHVl
QXBwbGVXaXJlbGVzc1BsYXliYWNrVGFyZ2V0QWN0aXZlOgorICAgICAgICAgICAgY2FzZSBDU1NW
YWx1ZUFwcGxlU3lzdGVtQmx1ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gQHNlbGVjdG9yKHN5
c3RlbUJsdWVDb2xvcik7CisgICAgICAgICAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0ZW1HcmF5
OgorICAgICAgICAgICAgICAgIHJldHVybiBAc2VsZWN0b3Ioc3lzdGVtR3JheUNvbG9yKTsKKyAg
ICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbUdyZWVuOgorICAgICAgICAgICAgICAg
IHJldHVybiBAc2VsZWN0b3Ioc3lzdGVtR3JlZW5Db2xvcik7CisgICAgICAgICAgICBjYXNlIENT
U1ZhbHVlQXBwbGVTeXN0ZW1PcmFuZ2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIEBzZWxlY3Rv
cihzeXN0ZW1PcmFuZ2VDb2xvcik7CisgICAgICAgICAgICBjYXNlIENTU1ZhbHVlQXBwbGVTeXN0
ZW1QaW5rOgorICAgICAgICAgICAgICAgIHJldHVybiBAc2VsZWN0b3Ioc3lzdGVtUGlua0NvbG9y
KTsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbVB1cnBsZToKKyAgICAgICAg
ICAgICAgICByZXR1cm4gQHNlbGVjdG9yKHN5c3RlbVB1cnBsZUNvbG9yKTsKKyAgICAgICAgICAg
IGNhc2UgQ1NTVmFsdWVBcHBsZVN5c3RlbVJlZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gQHNl
bGVjdG9yKHN5c3RlbVJlZENvbG9yKTsKKyAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVBcHBsZVN5
c3RlbVllbGxvdzoKKyAgICAgICAgICAgICAgICByZXR1cm4gQHNlbGVjdG9yKHN5c3RlbVllbGxv
d0NvbG9yKTsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKyAgICAgICAgaWYgKGF1dG8gc2Vs
ZWN0b3IgPSBjc3NDb2xvclRvU2VsZWN0b3IoKSkgeworICAgICAgICAgICAgaWYgKGF1dG8gY29s
b3IgPSB3dGZPYmpDTXNnU2VuZDxVSUNvbG9yICo+KFBBTDo6Z2V0VUlDb2xvckNsYXNzKCksIHNl
bGVjdG9yKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQ29sb3IoY29sb3IuQ0dDb2xvciwgQ29s
b3I6OlNlbWFudGljKTsKICAgICAgICAgfQotICAgICAgICBhdXRvIGNvbG9yID0gc3lzdGVtQ29s
b3JGcm9tQ1NTVmFsdWVJRChjc3NWYWx1ZUlELCB1c2VEYXJrQXBwZWFyYW5jZSwgdXNlRWxldmF0
ZWRVc2VySW50ZXJmYWNlTGV2ZWwpOwotICAgICAgICBpZiAoY29sb3IpCi0gICAgICAgICAgICBy
ZXR1cm4gKmNvbG9yOworCiAgICAgICAgIHJldHVybiBSZW5kZXJUaGVtZTo6c3lzdGVtQ29sb3Io
Y3NzVmFsdWVJRCwgb3B0aW9ucyk7CiAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwogfQpJbmRleDog
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI1Mzc1NikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTktMTItMTkgIFBlciBBcm5lIFZvbGxhbiAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNTM1MzApOiBJbmNv
cnJlY3QgY29sb3JzIGluIERhcmsgTW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDU3CisKKyAgICAgICAgVW5yZXZpZXdlZCByb2xsb3V0IG9m
IHIyNTM1MzAuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVu
Y29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
b2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNz
KToKKwogMjAxOS0xMi0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3NraXAtd2FpdGluZy1pbnN0YWxsZWQuaHR0cHMuaHRtbCBpcyBmbGFreQpJbmRl
eDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAJKHJldmlzaW9uIDI1Mzc1NikKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsMTAg
KzE3MSw2IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICAgICBl
bmNvZGVyIDw8IG5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKIAotI2lm
IFBMQVRGT1JNKElPUykKLSAgICBlbmNvZGVyIDw8IGNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcDsK
LSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBlbmNvZGVyIDw8IGN1cnJl
bnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZDsKICNlbmRpZgpAQCAtNDQ0LDE0ICs0NDAsNiBAQCBi
b29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgcGFyYW1ldGVycy5u
ZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqbmVTZXNzaW9uTWFuYWdl
ckV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykKLSAgICBPcHRp
b25hbDxIYXNoTWFwPFdlYkNvcmU6OkNTU1ZhbHVlS2V5LCBXZWJDb3JlOjpDb2xvcj4+IGNzc1Zh
bHVlVG9TeXN0ZW1Db2xvck1hcDsKLSAgICBkZWNvZGVyID4+IGNzc1ZhbHVlVG9TeXN0ZW1Db2xv
ck1hcDsKLSAgICBpZiAoIWNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIHBhcmFtZXRlcnMuY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFwID0gV1RGTW92
ZSgqY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFwKTsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuY3VycmVudFVzZXJJ
bnRlcmZhY2VJZGlvbUlzUGFkKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAko
cmV2aXNpb24gMjUzNzU2KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSwxMCArNTEsNiBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvU291cE5ldHdvcmtQcm94eVNldHRpbmdzLmg+CiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKElPUykKLSNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclRoZW1lSU9TLmg+Ci0jZW5kaWYK
LQogbmFtZXNwYWNlIEFQSSB7CiBjbGFzcyBEYXRhOwogfQpAQCAtMjEzLDEwICsyMDksNiBAQCBz
dHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgT3B0aW9uYWw8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShJT1MpCi0gICAgSGFzaE1hcDxXZWJDb3JlOjpDU1NWYWx1ZUtl
eSwgV2ViQ29yZTo6Q29sb3I+IGNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcDsKLSNlbmRpZgotCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBib29sIGN1cnJlbnRVc2VySW50ZXJmYWNlSWRp
b21Jc1BhZCB7IGZhbHNlIH07CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjUzNzU2
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtMzM5LDEwICszMzksNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29s
OjpwbGF0Zm9ybUluaXRpYWxpemVXCiAgICAgfQogI2VuZGlmCiAgICAgCi0jaWYgUExBVEZPUk0o
SU9TKQotICAgIHBhcmFtZXRlcnMuY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFwID0gUmVuZGVyVGhl
bWVJT1M6OmdldE9yQ3JlYXRlQ1NTVmFsdWVUb1N5c3RlbUNvbG9yTWFwKCk7Ci0jZW5kaWYKLSAg
ICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHBhcmFtZXRlcnMuY3VycmVudFVzZXJJ
bnRlcmZhY2VJZGlvbUlzUGFkID0gY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkKCk7CiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjUzNzU2KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjUxLDEwICsy
NTEsNiBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAgICAgICAg
IFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgqcGFyYW1ldGVycy5uZVNlc3Np
b25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKTsKICAgICBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZp
bHRlcjo6c2V0SGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5zaW9ucyhwYXJhbWV0ZXJzLm5lSGVscGVy
RXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkgJiYgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2Vy
RXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkpOwogI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1Mp
Ci0gICAgUmVuZGVyVGhlbWVJT1M6OnNldENTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcChXVEZNb3Zl
KHBhcmFtZXRlcnMuY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFwKSk7Ci0jZW5kaWYKIH0KIAogdm9p
ZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlBy
b2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykK
</data>

          </attachment>
      

    </bug>

</bugzilla>