<?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>222694</bug_id>
          
          <creation_ts>2021-03-03 15:32:22 -0800</creation_ts>
          <short_desc>Don&apos;t trust parsing information to tell us if we&apos;ve emitted op_call_eval</short_desc>
          <delta_ts>2021-04-12 23:14:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1735562</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-03-03 15:32:22 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735572</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-03-03 15:48:32 -0800</bug_when>
    <thetext>rdar://74778016</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735969</commentid>
    <comment_count>2</comment_count>
      <attachid>422272</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-03-04 12:14:38 -0800</bug_when>
    <thetext>Created attachment 422272
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735972</commentid>
    <comment_count>3</comment_count>
      <attachid>422272</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-04 12:19:42 -0800</bug_when>
    <thetext>Comment on attachment 422272
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736091</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-04 16:18:29 -0800</bug_when>
    <thetext>Committed r273931: &lt;https://commits.webkit.org/r273931&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422272.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749547</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-12 23:14:05 -0700</bug_when>
    <thetext>*** Bug 222671 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422272</attachid>
            <date>2021-03-04 12:14:38 -0800</date>
            <delta_ts>2021-03-04 16:18:30 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>29197</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNzM5MTEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE0IEBACisyMDIxLTAzLTA0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIERvbid0IHRydXN0IHBhcnNpbmcgaW5mb3JtYXRpb24gdG8gdGVsbCB1
cyBpZiB3ZSd2ZSBlbWl0dGVkIG9wX2NhbGxfZXZhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjk0CisgICAgICAgIHJkYXI6Ly83NDc3ODAxNgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNz
L2V2YWwtbGl2ZW5lc3Mtc2hvdWxkLW5vdC1jb21lLWZyb20tcGFyc2VyLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGZvbyk6CisKIDIwMjEtMDMtMDMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbSlNDXSBVcGRhdGUgdGVzdDI2MgpJbmRleDogSlNUZXN0cy9zdHJl
c3MvZXZhbC1saXZlbmVzcy1zaG91bGQtbm90LWNvbWUtZnJvbS1wYXJzZXIuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy9zdHJlc3MvZXZhbC1saXZlbmVzcy1zaG91bGQtbm90LWNvbWUtZnJvbS1w
YXJzZXIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvZXZhbC1saXZlbmVzcy1z
aG91bGQtbm90LWNvbWUtZnJvbS1wYXJzZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MiBAQAorLy9AIHJ1bkRlZmF1bHQoIi0tdmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNlPTEiLCAiLS12
YWxpZGF0ZUZUTE9TUkV4aXRMaXZlbmVzcz0xIiwgIi0tdXNlQ29uY3VycmVudEpJVD0wIiwgIi0t
aml0UG9saWN5U2NhbGU9MCIsICItLW1heGltdW1GdW5jdGlvbkZvckNhbGxJbmxpbmVDYW5kaWRh
dGVCeXRlY29kZUNvc3Q9MzAwIikKKworZnVuY3Rpb24gZm9vKGEwLCBhMSkgeworICAgIGlmIChh
MCkgeworICAgICAgICBmb3IgKGxldCBpPTA7IGk8MTAwOyBpKyspIHsKKyAgICAgICAgICAgIGZv
byhhMSk7CisgICAgICAgICAgICBldmFsKC4uLltdKTsKKyAgICAgICAgfQorICAgIH0KK30KKwor
Zm9vKDEsIDEpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzM3NTMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNzAgQEAKKzIwMjEtMDMtMDQgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgRG9uJ3QgdHJ1c3QgcGFyc2luZyBpbmZvcm1hdGlvbiB0byB0ZWxsIHVzIGlm
IHdlJ3ZlIGVtaXR0ZWQgb3BfY2FsbF9ldmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI2OTQKKyAgICAgICAgcmRhcjovLzc0Nzc4MDE2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gdGhlIERGRywg
b3BfY2FsbF9ldmFsIGNhbid0IGJlIGlubGluZWQuIE5vdCBpbmxpbmluZyBpcyByZXF1aXJlZCBm
b3IgaG93CisgICAgICAgIGV2YWwgaXMgY3VycmVudGx5IGltcGxlbWVudGVkIGluIHRoZSBERkcu
IEZvciBDb2RlQmxvY2tzIHdpdGggZXZhbCBpbiB0aGVtLAorICAgICAgICB0aGUgc2NvcGUgcmVn
aXN0ZXIgaXMgYWxzbyBhbGl2ZSBldmVyeXdoZXJlLgorICAgICAgICAKKyAgICAgICAgV2hlbiBk
b2luZyBzcHJlYWQgb2YgYXJndW1lbnRzIGluIGV2YWwsIHdlIGVuZCB1cCBlbWl0dGluZyBhIGNh
bGwgdmFyYXJncworICAgICAgICBpbnN0ZWFkIG9mIGEgZGlyZWN0IGV2YWwuIFRoaXMgc2VlbXMg
bGlrZSBhIHNwZWMgYnVnOgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIyNjcxCisgICAgICAgIAorICAgICAgICBIb3dldmVyLCB0aGlzIGxlYWRzIHRv
IHNvbWV0aGluZyB0aGF0IGhhZCBldmFsIHRleHR1YWxseSBpbiBpdCBsZWFkaW5nIHRvCisgICAg
ICAgIHVzIHJlcG9ydGluZyB0aGUgc2NvcGUgcmVnaXN0ZXIgaXMgYWx3YXlzIGFsaXZlLCBldmVu
IGlmIG9wX2NhbGxfZXZhbCBpc24ndAorICAgICAgICBpbiB0aGUgYnl0ZWNvZGUgc3RyZWFtLiBU
aGlzIGxlYWRzIHRvIGEgdmFsaWRhdGlvbiBlcnJvciwgc2luY2UgdGhlIERGRworICAgICAgICBp
c24ndCBhY3R1YWxseSBrZWVwaW5nIHRoaXMgc2NvcGUgcmVnaXN0ZXIgYWxpdmUgZXZlcnl3aGVy
ZSwgYmVjYXVzZQorICAgICAgICBvcF9jYWxsX2V2YWwgaXNuJ3QgaW4gdGhlIGJ5dGVjb2RlIHN0
cmVhbS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBieSBoYXZpbmcg
YSBiaXQgaW5kaWNhdGluZyBpZiBvcF9jYWxsX2V2YWwgaXMgaW4KKyAgICAgICAgdGhlIGJ5dGVj
b2RlIHN0cmVhbSBvciBub3QuCisKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZVVzZURlZi5o
OgorICAgICAgICAoSlNDOjpjb21wdXRlVXNlc0ZvckJ5dGVjb2RlSW5kZXgpOgorICAgICAgICAq
IGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnVzZXNDYWxs
RXZhbCBjb25zdCk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6dXNlc0V2YWwgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIGJ5dGVjb2RlL0V4ZWN1dGFibGVJbmZvLmg6CisgICAgICAgIChK
U0M6OkV4ZWN1dGFibGVJbmZvOjpFeGVjdXRhYmxlSW5mbyk6CisgICAgICAgIChKU0M6OkV4ZWN1
dGFibGVJbmZvOjp1c2VzRXZhbCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYnl0ZWNvZGUv
VW5saW5rZWRDb2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtlZENvZGVCbG9jazo6
VW5saW5rZWRDb2RlQmxvY2spOgorICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2VkQ29kZUJsb2Nr
Lmg6CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrOjp1c2VzQ2FsbEV2YWwgY29uc3Qp
OgorICAgICAgICAoSlNDOjpVbmxpbmtlZENvZGVCbG9jazo6c2V0VXNlc0NhbGxFdmFsKToKKyAg
ICAgICAgKEpTQzo6VW5saW5rZWRDb2RlQmxvY2s6OnVzZXNFdmFsIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBieXRlY29kZS9VbmxpbmtlZENvZGVCbG9ja0dlbmVyYXRvci5oOgorICAgICAg
ICAoSlNDOjpVbmxpbmtlZENvZGVCbG9ja0dlbmVyYXRvcjo6dXNlc0NhbGxFdmFsIGNvbnN0KToK
KyAgICAgICAgKEpTQzo6VW5saW5rZWRDb2RlQmxvY2tHZW5lcmF0b3I6OnNldFVzZXNDYWxsRXZh
bCk6CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrR2VuZXJhdG9yOjp1c2VzRXZhbCBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpnZW5lcmF0ZVVubGlua2VkRnVuY3Rpb25Db2RlQmxv
Y2spOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAg
ICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcik6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0Q2FsbCk6CisgICAgICAgIChKU0M6OkJ5dGVj
b2RlR2VuZXJhdG9yOjppc1RoaXNVc2VkSW5Jbm5lckFycm93RnVuY3Rpb24pOgorICAgICAgICAo
SlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6aXNOZXdUYXJnZXRVc2VkSW5Jbm5lckFycm93RnVuY3Rp
b24pOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6aXNTdXBlclVzZWRJbklubmVy
QXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjppc1N1cGVy
Q2FsbFVzZWRJbklubmVyQXJyb3dGdW5jdGlvbik6CisgICAgICAgICogZGZnL0RGR0dyYXBoLmg6
CisgICAgICAgICogcnVudGltZS9DYWNoZWRUeXBlcy5jcHA6CisgICAgICAgIChKU0M6OkNhY2hl
ZENvZGVCbG9jazo6dXNlc0NhbGxFdmFsIGNvbnN0KToKKyAgICAgICAgKEpTQzo6VW5saW5rZWRD
b2RlQmxvY2s6OlVubGlua2VkQ29kZUJsb2NrKToKKyAgICAgICAgKEpTQzo6Q2FjaGVkQ29kZUJs
b2NrPENvZGVCbG9ja1R5cGU+OjplbmNvZGUpOgorICAgICAgICAoSlNDOjpDYWNoZWRDb2RlQmxv
Y2s6OnVzZXNFdmFsIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0NvZGVDYWNo
ZS5jcHA6CisgICAgICAgIChKU0M6OmdlbmVyYXRlVW5saW5rZWRDb2RlQmxvY2tJbXBsKToKKyAg
ICAgICAgKiBydW50aW1lL0V2YWxFeGVjdXRhYmxlLmg6CisgICAgICAgIChKU0M6OkV2YWxFeGVj
dXRhYmxlOjpleGVjdXRhYmxlSW5mbyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGlt
ZS9Nb2R1bGVQcm9ncmFtRXhlY3V0YWJsZS5oOgorICAgICAgICAqIHJ1bnRpbWUvUHJvZ3JhbUV4
ZWN1dGFibGUuaDoKKyAgICAgICAgKiBydW50aW1lL1NjcmlwdEV4ZWN1dGFibGUuaDoKKyAgICAg
ICAgKEpTQzo6U2NyaXB0RXhlY3V0YWJsZTo6dXNlc0V2YWwgY29uc3QpOiBEZWxldGVkLgorCiAy
MDIxLTAzLTAyICBCSiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0g
UkVHUkVTU0lPTihyMjcyNzUyKTogZml4IHNvbWUgaW50ZXJuYWwgYnVpbGRzIHRoYXQgdXNlIFdU
RlN0cmluZzo6V1RGU3RyaW5nKE5TU3RyaW5nICopCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAkocmV2aXNpb24gMjczNjk1KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDcgKzM5LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQmxvY2ssIHR5cGVuYW1l
IEZ1bmN0bwogdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlSW5kZXgoQmxvY2sqIGNvZGVCbG9j
aywgY29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCBDaGVja3BvaW50IGNoZWNrcG9pbnQs
IGNvbnN0IEZ1bmN0b3ImIGZ1bmN0b3IpCiB7CiAgICAgT3Bjb2RlSUQgb3Bjb2RlSUQgPSBpbnN0
cnVjdGlvbi0+b3Bjb2RlSUQoKTsKLSAgICBpZiAob3Bjb2RlSUQgIT0gb3BfZW50ZXIgJiYgKGNv
ZGVCbG9jay0+d2FzQ29tcGlsZWRXaXRoRGVidWdnaW5nT3Bjb2RlcygpIHx8IGNvZGVCbG9jay0+
dXNlc0V2YWwoKSkgJiYgY29kZUJsb2NrLT5zY29wZVJlZ2lzdGVyKCkuaXNWYWxpZCgpKQorICAg
IGlmIChvcGNvZGVJRCAhPSBvcF9lbnRlciAmJiAoY29kZUJsb2NrLT53YXNDb21waWxlZFdpdGhE
ZWJ1Z2dpbmdPcGNvZGVzKCkgfHwgY29kZUJsb2NrLT51c2VzQ2FsbEV2YWwoKSkgJiYgY29kZUJs
b2NrLT5zY29wZVJlZ2lzdGVyKCkuaXNWYWxpZCgpKQogICAgICAgICBmdW5jdG9yKGNvZGVCbG9j
ay0+c2NvcGVSZWdpc3RlcigpKTsKIAogICAgIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVJbmRleElt
cGwoY29kZUJsb2NrLT5zY29wZVJlZ2lzdGVyKCksIGluc3RydWN0aW9uLCBjaGVja3BvaW50LCBz
Y29wZWRMYW1iZGE8dm9pZChWaXJ0dWFsUmVnaXN0ZXIpPihmdW5jdG9yKSk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCShyZXZpc2lvbiAyNzM2OTUp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2NCw3ICs0NjQsNyBAQCBwdWJsaWM6CiAKICAgICBWaXJ0dWFsUmVnaXN0ZXIg
dGhpc1JlZ2lzdGVyKCkgY29uc3QgeyByZXR1cm4gbV91bmxpbmtlZENvZGUtPnRoaXNSZWdpc3Rl
cigpOyB9CiAKLSAgICBib29sIHVzZXNFdmFsKCkgY29uc3QgeyByZXR1cm4gbV91bmxpbmtlZENv
ZGUtPnVzZXNFdmFsKCk7IH0KKyAgICBib29sIHVzZXNDYWxsRXZhbCgpIGNvbnN0IHsgcmV0dXJu
IG1fdW5saW5rZWRDb2RlLT51c2VzQ2FsbEV2YWwoKTsgfQogCiAgICAgdm9pZCBzZXRTY29wZVJl
Z2lzdGVyKFZpcnR1YWxSZWdpc3RlciBzY29wZVJlZ2lzdGVyKQogICAgIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGVjdXRhYmxlSW5mby5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGVjdXRhYmxlSW5mby5oCShyZXZpc2lv
biAyNzM2OTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhlY3V0YWJsZUlu
Zm8uaAkod29ya2luZyBjb3B5KQpAQCAtMzYsOSArMzYsOCBAQCBlbnVtIGNsYXNzIE5lZWRzQ2xh
c3NGaWVsZEluaXRpYWxpemVyIDogCiAvLyBGSVhNRTogVGhlc2UgZmxhZ3MsIFBhcnNlck1vZGVz
IGFuZCBwcm9wYWdhdGlvbiB0byBYWFhDb2RlQmxvY2tzIHNob3VsZCBiZSByZW9yZ2FuaXplZC4K
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE1NDcKIHN0cnVj
dCBFeGVjdXRhYmxlSW5mbyB7Ci0gICAgRXhlY3V0YWJsZUluZm8oYm9vbCB1c2VzRXZhbCwgYm9v
bCBpc0NvbnN0cnVjdG9yLCBQcml2YXRlQnJhbmRSZXF1aXJlbWVudCBwcml2YXRlQnJhbmRSZXF1
aXJlbWVudCwgYm9vbCBpc0J1aWx0aW5GdW5jdGlvbiwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVj
dG9yS2luZCwgSlNQYXJzZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUsIFN1cGVyQmluZGluZyBzdXBl
ckJpbmRpbmcsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIERlcml2ZWRDb250ZXh0VHlwZSBk
ZXJpdmVkQ29udGV4dFR5cGUsIE5lZWRzQ2xhc3NGaWVsZEluaXRpYWxpemVyIG5lZWRzQ2xhc3NG
aWVsZEluaXRpYWxpemVyLCBib29sIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQsIGJvb2wgaXNDbGFz
c0NvbnRleHQsIEV2YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUpCi0gICAgICAgIDogbV91
c2VzRXZhbCh1c2VzRXZhbCkKLSAgICAgICAgLCBtX2lzQ29uc3RydWN0b3IoaXNDb25zdHJ1Y3Rv
cikKKyAgICBFeGVjdXRhYmxlSW5mbyhib29sIGlzQ29uc3RydWN0b3IsIFByaXZhdGVCcmFuZFJl
cXVpcmVtZW50IHByaXZhdGVCcmFuZFJlcXVpcmVtZW50LCBib29sIGlzQnVpbHRpbkZ1bmN0aW9u
LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBKU1BhcnNlclNjcmlwdE1vZGUgc2Ny
aXB0TW9kZSwgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZywgU291cmNlUGFyc2VNb2RlIHBhcnNl
TW9kZSwgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwgTmVlZHNDbGFzc0Zp
ZWxkSW5pdGlhbGl6ZXIgbmVlZHNDbGFzc0ZpZWxkSW5pdGlhbGl6ZXIsIGJvb2wgaXNBcnJvd0Z1
bmN0aW9uQ29udGV4dCwgYm9vbCBpc0NsYXNzQ29udGV4dCwgRXZhbENvbnRleHRUeXBlIGV2YWxD
b250ZXh0VHlwZSkKKyAgICAgICAgOiBtX2lzQ29uc3RydWN0b3IoaXNDb25zdHJ1Y3RvcikKICAg
ICAgICAgLCBtX3ByaXZhdGVCcmFuZFJlcXVpcmVtZW50KHN0YXRpY19jYXN0PHVuc2lnbmVkPihw
cml2YXRlQnJhbmRSZXF1aXJlbWVudCkpCiAgICAgICAgICwgbV9pc0J1aWx0aW5GdW5jdGlvbihp
c0J1aWx0aW5GdW5jdGlvbikKICAgICAgICAgLCBtX2NvbnN0cnVjdG9yS2luZChzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oY29uc3RydWN0b3JLaW5kKSkKQEAgLTU2LDcgKzU1LDYgQEAgc3RydWN0IEV4
ZWN1dGFibGVJbmZvIHsKICAgICAgICAgQVNTRVJUKG1fc2NyaXB0TW9kZSA9PSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oc2NyaXB0TW9kZSkpOwogICAgIH0KIAotICAgIGJvb2wgdXNlc0V2YWwoKSBj
b25zdCB7IHJldHVybiBtX3VzZXNFdmFsOyB9CiAgICAgYm9vbCBpc0NvbnN0cnVjdG9yKCkgY29u
c3QgeyByZXR1cm4gbV9pc0NvbnN0cnVjdG9yOyB9CiAgICAgUHJpdmF0ZUJyYW5kUmVxdWlyZW1l
bnQgcHJpdmF0ZUJyYW5kUmVxdWlyZW1lbnQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxQ
cml2YXRlQnJhbmRSZXF1aXJlbWVudD4obV9wcml2YXRlQnJhbmRSZXF1aXJlbWVudCk7IH0KICAg
ICBib29sIGlzQnVpbHRpbkZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pc0J1aWx0aW5GdW5j
dGlvbjsgfQpAQCAtNzEsNyArNjksNiBAQCBzdHJ1Y3QgRXhlY3V0YWJsZUluZm8gewogICAgIE5l
ZWRzQ2xhc3NGaWVsZEluaXRpYWxpemVyIG5lZWRzQ2xhc3NGaWVsZEluaXRpYWxpemVyKCkgY29u
c3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8TmVlZHNDbGFzc0ZpZWxkSW5pdGlhbGl6ZXI+KG1fbmVl
ZHNDbGFzc0ZpZWxkSW5pdGlhbGl6ZXIpOyB9CiAKIHByaXZhdGU6Ci0gICAgdW5zaWduZWQgbV91
c2VzRXZhbCA6IDE7CiAgICAgdW5zaWduZWQgbV9pc0NvbnN0cnVjdG9yIDogMTsKICAgICB1bnNp
Z25lZCBtX3ByaXZhdGVCcmFuZFJlcXVpcmVtZW50IDogMTsKICAgICB1bnNpZ25lZCBtX2lzQnVp
bHRpbkZ1bmN0aW9uIDogMTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9V
bmxpbmtlZENvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjczNjk1KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBjb25zdCBDbGFzc0luZm8gVW5saW5rZWRDb2RlQmxv
Y2s6OnNfaW5mCiAKIFVubGlua2VkQ29kZUJsb2NrOjpVbmxpbmtlZENvZGVCbG9jayhWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBDb2RlVHlwZSBjb2RlVHlwZSwgY29uc3QgRXhlY3V0YWJs
ZUluZm8mIGluZm8sIE9wdGlvblNldDxDb2RlR2VuZXJhdGlvbk1vZGU+IGNvZGVHZW5lcmF0aW9u
TW9kZSkKICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKLSAgICAsIG1fdXNlc0V2YWwoaW5mby51
c2VzRXZhbCgpKQorICAgICwgbV91c2VzQ2FsbEV2YWwoZmFsc2UpCiAgICAgLCBtX2lzQ29uc3Ry
dWN0b3IoaW5mby5pc0NvbnN0cnVjdG9yKCkpCiAgICAgLCBtX2hhc0NhcHR1cmVkVmFyaWFibGVz
KGZhbHNlKQogICAgICwgbV9pc0J1aWx0aW5GdW5jdGlvbihpbmZvLmlzQnVpbHRpbkZ1bmN0aW9u
KCkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxv
Y2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5r
ZWRDb2RlQmxvY2suaAkocmV2aXNpb24gMjczNjk1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw3ICsx
MjIsOCBAQCBwdWJsaWM6CiAgICAgZW51bSB7IENhbGxGdW5jdGlvbiwgQXBwbHlGdW5jdGlvbiB9
OwogCiAgICAgYm9vbCBpc0NvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbnN0cnVj
dG9yOyB9Ci0gICAgYm9vbCB1c2VzRXZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc0V2YWw7IH0K
KyAgICBib29sIHVzZXNDYWxsRXZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc0NhbGxFdmFsOyB9
CisgICAgdm9pZCBzZXRVc2VzQ2FsbEV2YWwoKSB7IG1fdXNlc0NhbGxFdmFsID0gdHJ1ZTsgfQog
ICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUoKSBjb25zdCB7IHJldHVybiBtX3BhcnNlTW9k
ZTsgfQogICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gaXNBcnJvd0Z1
bmN0aW9uUGFyc2VNb2RlKHBhcnNlTW9kZSgpKTsgfQogICAgIERlcml2ZWRDb250ZXh0VHlwZSBk
ZXJpdmVkQ29udGV4dFR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxEZXJpdmVkQ29u
dGV4dFR5cGU+KG1fZGVyaXZlZENvbnRleHRUeXBlKTsgfQpAQCAtMzM5LDcgKzM0MCw3IEBAIHBy
aXZhdGU6CiAgICAgVmlydHVhbFJlZ2lzdGVyIG1fdGhpc1JlZ2lzdGVyOwogICAgIFZpcnR1YWxS
ZWdpc3RlciBtX3Njb3BlUmVnaXN0ZXI7CiAKLSAgICB1bnNpZ25lZCBtX3VzZXNFdmFsIDogMTsK
KyAgICB1bnNpZ25lZCBtX3VzZXNDYWxsRXZhbCA6IDE7CiAgICAgdW5zaWduZWQgbV9pc0NvbnN0
cnVjdG9yIDogMTsKICAgICB1bnNpZ25lZCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzIDogMTsKICAg
ICB1bnNpZ25lZCBtX2lzQnVpbHRpbkZ1bmN0aW9uIDogMTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9ja0dlbmVyYXRvci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9ja0dlbmVy
YXRvci5oCShyZXZpc2lvbiAyNzM2OTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvVW5saW5rZWRDb2RlQmxvY2tHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsNyAr
NTEsOCBAQCBwdWJsaWM6CiAgICAgSlNQYXJzZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUoKSBjb25z
dCB7IHJldHVybiBtX2NvZGVCbG9jay0+c2NyaXB0TW9kZSgpOyB9CiAgICAgTmVlZHNDbGFzc0Zp
ZWxkSW5pdGlhbGl6ZXIgbmVlZHNDbGFzc0ZpZWxkSW5pdGlhbGl6ZXIoKSBjb25zdCB7IHJldHVy
biBtX2NvZGVCbG9jay0+bmVlZHNDbGFzc0ZpZWxkSW5pdGlhbGl6ZXIoKTsgfQogICAgIFByaXZh
dGVCcmFuZFJlcXVpcmVtZW50IHByaXZhdGVCcmFuZFJlcXVpcmVtZW50KCkgY29uc3QgeyByZXR1
cm4gbV9jb2RlQmxvY2stPnByaXZhdGVCcmFuZFJlcXVpcmVtZW50KCk7IH0KLSAgICBib29sIHVz
ZXNFdmFsKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlQmxvY2stPnVzZXNFdmFsKCk7IH0KKyAgICBi
b29sIHVzZXNDYWxsRXZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZUJsb2NrLT51c2VzQ2FsbEV2
YWwoKTsgfQorICAgIHZvaWQgc2V0VXNlc0NhbGxFdmFsKCkgeyByZXR1cm4gbV9jb2RlQmxvY2st
PnNldFVzZXNDYWxsRXZhbCgpOyB9CiAgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY29kZUJsb2NrLT5wYXJzZU1vZGUoKTsgfQogICAgIGJvb2wgaXNBcnJv
d0Z1bmN0aW9uKCkgeyByZXR1cm4gbV9jb2RlQmxvY2stPmlzQXJyb3dGdW5jdGlvbigpOyB9CiAg
ICAgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY29kZUJsb2NrLT5kZXJpdmVkQ29udGV4dFR5cGUoKTsgfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGUuY3BwCShyZXZpc2lvbiAyNzM2OTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC03MCw3ICs3MCw3IEBAIHN0YXRpYyBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrKiBnZW5lcmEK
IAogICAgIGJvb2wgaXNDbGFzc0NvbnRleHQgPSBleGVjdXRhYmxlLT5zdXBlckJpbmRpbmcoKSA9
PSBTdXBlckJpbmRpbmc6Ok5lZWRlZCB8fCBleGVjdXRhYmxlLT5wYXJzZU1vZGUoKSA9PSBTb3Vy
Y2VQYXJzZU1vZGU6OkNsYXNzRmllbGRJbml0aWFsaXplck1vZGU7CiAKLSAgICBVbmxpbmtlZEZ1
bmN0aW9uQ29kZUJsb2NrKiByZXN1bHQgPSBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrOjpjcmVh
dGUodm0sIEZ1bmN0aW9uQ29kZSwgRXhlY3V0YWJsZUluZm8oZnVuY3Rpb24tPnVzZXNFdmFsKCks
IGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCwgZXhlY3V0YWJsZS0+cHJpdmF0ZUJyYW5kUmVxdWly
ZW1lbnQoKSwgZnVuY3Rpb25LaW5kID09IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uLCBleGVjdXRh
YmxlLT5jb25zdHJ1Y3RvcktpbmQoKSwgc2NyaXB0TW9kZSwgZXhlY3V0YWJsZS0+c3VwZXJCaW5k
aW5nKCksIHBhcnNlTW9kZSwgZXhlY3V0YWJsZS0+ZGVyaXZlZENvbnRleHRUeXBlKCksIGV4ZWN1
dGFibGUtPm5lZWRzQ2xhc3NGaWVsZEluaXRpYWxpemVyKCksIGZhbHNlLCBpc0NsYXNzQ29udGV4
dCwgRXZhbENvbnRleHRUeXBlOjpGdW5jdGlvbkV2YWxDb250ZXh0KSwgY29kZUdlbmVyYXRpb25N
b2RlKTsKKyAgICBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrKiByZXN1bHQgPSBVbmxpbmtlZEZ1
bmN0aW9uQ29kZUJsb2NrOjpjcmVhdGUodm0sIEZ1bmN0aW9uQ29kZSwgRXhlY3V0YWJsZUluZm8o
a2luZCA9PSBDb2RlRm9yQ29uc3RydWN0LCBleGVjdXRhYmxlLT5wcml2YXRlQnJhbmRSZXF1aXJl
bWVudCgpLCBmdW5jdGlvbktpbmQgPT0gVW5saW5rZWRCdWlsdGluRnVuY3Rpb24sIGV4ZWN1dGFi
bGUtPmNvbnN0cnVjdG9yS2luZCgpLCBzY3JpcHRNb2RlLCBleGVjdXRhYmxlLT5zdXBlckJpbmRp
bmcoKSwgcGFyc2VNb2RlLCBleGVjdXRhYmxlLT5kZXJpdmVkQ29udGV4dFR5cGUoKSwgZXhlY3V0
YWJsZS0+bmVlZHNDbGFzc0ZpZWxkSW5pdGlhbGl6ZXIoKSwgZmFsc2UsIGlzQ2xhc3NDb250ZXh0
LCBFdmFsQ29udGV4dFR5cGU6OkZ1bmN0aW9uRXZhbENvbnRleHQpLCBjb2RlR2VuZXJhdGlvbk1v
ZGUpOwogCiAgICAgYXV0byBwYXJlbnRTY29wZVREWlZhcmlhYmxlcyA9IGV4ZWN1dGFibGUtPnBh
cmVudFNjb3BlVERaVmFyaWFibGVzKCk7CiAgICAgUHJpdmF0ZU5hbWVFbnZpcm9ubWVudCBwYXJl
bnRQcml2YXRlTmFtZUVudmlyb25tZW50ID0gZXhlY3V0YWJsZS0+cGFyZW50UHJpdmF0ZU5hbWVF
bnZpcm9ubWVudCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDI3MzY5NSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDcsNyArMzQ3LDcgQEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5
dGVjb2RlR2VuZXJhdG9yKFZNJgogICAgICwgbV91c2VzRXhjZXB0aW9ucyhmYWxzZSkKICAgICAs
IG1fZXhwcmVzc2lvblRvb0RlZXAoZmFsc2UpCiAgICAgLCBtX2lzQnVpbHRpbkZ1bmN0aW9uKGNv
ZGVCbG9jay0+aXNCdWlsdGluRnVuY3Rpb24oKSkKLSAgICAsIG1fdXNlc05vblN0cmljdEV2YWwo
Y29kZUJsb2NrLT51c2VzRXZhbCgpICYmICFlY21hTW9kZS5pc1N0cmljdCgpKQorICAgICwgbV91
c2VzTm9uU3RyaWN0RXZhbChmdW5jdGlvbk5vZGUtPnVzZXNFdmFsKCkgJiYgIWVjbWFNb2RlLmlz
U3RyaWN0KCkpCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBiZSBhYmxlIHRvIGhhdmUgdGFpbCBj
YWxsIGVsaW1pbmF0aW9uIHdpdGggdGhlIHByb2ZpbGVyCiAgICAgLy8gZW5hYmxlZC4gVGhpcyBp
cyBjdXJyZW50bHkgbm90IHBvc3NpYmxlIGJlY2F1c2UgdGhlIHByb2ZpbGVyIGV4cGVjdHMKICAg
ICAvLyBvcF93aWxsX2NhbGwgLyBvcF9kaWRfY2FsbCBwYWlycyBiZWZvcmUgYW5kIGFmdGVyIGEg
Y2FsbCwgd2hpY2ggYXJlIG5vdApAQCAtMzc5LDExICszNzksMTEgQEAgQnl0ZWNvZGVHZW5lcmF0
b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFZNJgogCiAgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSA9IGNvZGVCbG9jay0+cGFyc2VNb2RlKCk7CiAKLSAgICBib29sIGNvbnRhaW5zQXJyb3dPckV2
YWxCdXROb3RJbkFycm93QmxvY2sgPSAoKGZ1bmN0aW9uTm9kZS0+dXNlc0Fycm93RnVuY3Rpb24o
KSAmJiBmdW5jdGlvbk5vZGUtPmRvQW55SW5uZXJBcnJvd0Z1bmN0aW9uc1VzZUFueUZlYXR1cmUo
KSkgfHwgZnVuY3Rpb25Ob2RlLT51c2VzRXZhbCgpKSAmJiAhbV9jb2RlQmxvY2stPmlzQXJyb3dG
dW5jdGlvbigpOworICAgIGJvb2wgY29udGFpbnNBcnJvd09yRXZhbEJ1dE5vdEluQXJyb3dCbG9j
ayA9ICgoZnVuY3Rpb25Ob2RlLT51c2VzQXJyb3dGdW5jdGlvbigpICYmIGZ1bmN0aW9uTm9kZS0+
ZG9BbnlJbm5lckFycm93RnVuY3Rpb25zVXNlQW55RmVhdHVyZSgpKSB8fCB1c2VzRXZhbCgpKSAm
JiAhbV9jb2RlQmxvY2stPmlzQXJyb3dGdW5jdGlvbigpOwogICAgIGJvb2wgc2hvdWxkQ2FwdHVy
ZVNvbWVPZlRoZVRoaW5ncyA9IHNob3VsZEVtaXREZWJ1Z0hvb2tzKCkgfHwgZnVuY3Rpb25Ob2Rl
LT5uZWVkc0FjdGl2YXRpb24oKSB8fCBjb250YWluc0Fycm93T3JFdmFsQnV0Tm90SW5BcnJvd0Js
b2NrOwogCi0gICAgYm9vbCBzaG91bGRDYXB0dXJlQWxsT2ZUaGVUaGluZ3MgPSBzaG91bGRFbWl0
RGVidWdIb29rcygpIHx8IGNvZGVCbG9jay0+dXNlc0V2YWwoKTsKLSAgICBib29sIG5lZWRzQXJn
dW1lbnRzID0gKChmdW5jdGlvbk5vZGUtPnVzZXNBcmd1bWVudHMoKSAmJiAhY29kZUJsb2NrLT5p
c0Fycm93RnVuY3Rpb24oKSkgfHwgY29kZUJsb2NrLT51c2VzRXZhbCgpIHx8IChmdW5jdGlvbk5v
ZGUtPnVzZXNBcnJvd0Z1bmN0aW9uKCkgJiYgIWNvZGVCbG9jay0+aXNBcnJvd0Z1bmN0aW9uKCkg
JiYgaXNBcmd1bWVudHNVc2VkSW5Jbm5lckFycm93RnVuY3Rpb24oKSkpICYmIHBhcnNlTW9kZSAh
PSBTb3VyY2VQYXJzZU1vZGU6OkNsYXNzRmllbGRJbml0aWFsaXplck1vZGU7CisgICAgYm9vbCBz
aG91bGRDYXB0dXJlQWxsT2ZUaGVUaGluZ3MgPSBzaG91bGRFbWl0RGVidWdIb29rcygpIHx8IHVz
ZXNFdmFsKCk7CisgICAgYm9vbCBuZWVkc0FyZ3VtZW50cyA9ICgoZnVuY3Rpb25Ob2RlLT51c2Vz
QXJndW1lbnRzKCkgJiYgIWNvZGVCbG9jay0+aXNBcnJvd0Z1bmN0aW9uKCkpIHx8IHVzZXNFdmFs
KCkgfHwgKGZ1bmN0aW9uTm9kZS0+dXNlc0Fycm93RnVuY3Rpb24oKSAmJiAhY29kZUJsb2NrLT5p
c0Fycm93RnVuY3Rpb24oKSAmJiBpc0FyZ3VtZW50c1VzZWRJbklubmVyQXJyb3dGdW5jdGlvbigp
KSkgJiYgcGFyc2VNb2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6Q2xhc3NGaWVsZEluaXRpYWxpemVy
TW9kZTsKIAogICAgIGlmIChpc0dlbmVyYXRvck9yQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUo
cGFyc2VNb2RlKSkgewogICAgICAgICBtX2lzQXN5bmMgPSB0cnVlOwpAQCAtNDQ1LDcgKzQ0NSw3
IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihWTSYKICAgICBpZiAoZnVu
Y3Rpb25OYW1lSXNJblNjb3BlKGZ1bmN0aW9uTm9kZS0+aWRlbnQoKSwgZnVuY3Rpb25Ob2RlLT5m
dW5jdGlvbk1vZGUoKSkpIHsKICAgICAgICAgQVNTRVJUKHBhcnNlTW9kZSAhPSBTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKTsKICAgICAgICAgQVNTRVJUKCFpc0FzeW5jRnVuY3Rp
b25Cb2R5UGFyc2VNb2RlKHBhcnNlTW9kZSkpOwotICAgICAgICBib29sIGlzRHluYW1pY1Njb3Bl
ID0gZnVuY3Rpb25OYW1lU2NvcGVJc0R5bmFtaWMoY29kZUJsb2NrLT51c2VzRXZhbCgpLCBlY21h
TW9kZS5pc1N0cmljdCgpKTsKKyAgICAgICAgYm9vbCBpc0R5bmFtaWNTY29wZSA9IGZ1bmN0aW9u
TmFtZVNjb3BlSXNEeW5hbWljKHVzZXNFdmFsKCksIGVjbWFNb2RlLmlzU3RyaWN0KCkpOwogICAg
ICAgICBib29sIGlzRnVuY3Rpb25OYW1lQ2FwdHVyZWQgPSBjYXB0dXJlcyhmdW5jdGlvbk5vZGUt
PmlkZW50KCkuaW1wbCgpKTsKICAgICAgICAgYm9vbCBtYXJrQXNDYXB0dXJlZCA9IGlzRHluYW1p
Y1Njb3BlIHx8IGlzRnVuY3Rpb25OYW1lQ2FwdHVyZWQ7CiAgICAgICAgIGVtaXRQdXNoRnVuY3Rp
b25OYW1lU2NvcGUoZnVuY3Rpb25Ob2RlLT5pZGVudCgpLCAmbV9jYWxsZWVSZWdpc3RlciwgbWFy
a0FzQ2FwdHVyZWQpOwpAQCAtNjQyLDcgKzY0Miw3IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRl
Y29kZUdlbmVyYXRvcihWTSYKICAgICB9CiAKIAotICAgIGlmIChmdW5jdGlvbk5vZGUtPm5lZWRz
TmV3VGFyZ2V0UmVnaXN0ZXJGb3JUaGlzU2NvcGUoKSB8fCBpc05ld1RhcmdldFVzZWRJbklubmVy
QXJyb3dGdW5jdGlvbigpIHx8IGNvZGVCbG9jay0+dXNlc0V2YWwoKSkKKyAgICBpZiAoZnVuY3Rp
b25Ob2RlLT5uZWVkc05ld1RhcmdldFJlZ2lzdGVyRm9yVGhpc1Njb3BlKCkgfHwgaXNOZXdUYXJn
ZXRVc2VkSW5Jbm5lckFycm93RnVuY3Rpb24oKSB8fCB1c2VzRXZhbCgpKQogICAgICAgICBtX25l
d1RhcmdldFJlZ2lzdGVyID0gYWRkVmFyKCk7CiAKICAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgewpA
QCAtNzI0LDcgKzcyNCw3IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihW
TSYKICAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvbnN0cnVjdG9yS2luZCgpKSB7CiAgICAgICAg
ICAgICAgICAgY2FzZSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU6IHsKICAgICAgICAgICAgICAgICAg
ICAgYm9vbCBzaG91bGRFbWl0VG9UaGlzID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChmdW5jdGlvbk5vZGUtPnVzZXNUaGlzKCkgfHwgY29kZUJsb2NrLT51c2VzRXZhbCgpIHx8IG1f
c2NvcGVOb2RlLT5kb0FueUlubmVyQXJyb3dGdW5jdGlvbnNVc2VUaGlzKCkgfHwgbV9zY29wZU5v
ZGUtPmRvQW55SW5uZXJBcnJvd0Z1bmN0aW9uc1VzZUV2YWwoKSkKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGZ1bmN0aW9uTm9kZS0+dXNlc1RoaXMoKSB8fCB1c2VzRXZhbCgpIHx8IG1fc2NvcGVO
b2RlLT5kb0FueUlubmVyQXJyb3dGdW5jdGlvbnNVc2VUaGlzKCkgfHwgbV9zY29wZU5vZGUtPmRv
QW55SW5uZXJBcnJvd0Z1bmN0aW9uc1VzZUV2YWwoKSkKICAgICAgICAgICAgICAgICAgICAgICAg
IHNob3VsZEVtaXRUb1RoaXMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgo
ZnVuY3Rpb25Ob2RlLT51c2VzU3VwZXJQcm9wZXJ0eSgpIHx8IG1fc2NvcGVOb2RlLT5kb0FueUlu
bmVyQXJyb3dGdW5jdGlvbnNVc2VTdXBlclByb3BlcnR5KCkpICYmICFlY21hTW9kZS5pc1N0cmlj
dCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBtdXN0IGVtaXQgdG9fdGhpcyB3
aGVuIHdlJ3JlIG5vdCBpbiBzdHJpY3QgbW9kZSBiZWNhdXNlIHdlCkBAIC04NTUsNyArODU1LDcg
QEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFZNJgogICAgICwgbV91c2Vz
RXhjZXB0aW9ucyhmYWxzZSkKICAgICAsIG1fZXhwcmVzc2lvblRvb0RlZXAoZmFsc2UpCiAgICAg
LCBtX2lzQnVpbHRpbkZ1bmN0aW9uKGZhbHNlKQotICAgICwgbV91c2VzTm9uU3RyaWN0RXZhbChj
b2RlQmxvY2stPnVzZXNFdmFsKCkgJiYgIWVjbWFNb2RlLmlzU3RyaWN0KCkpCisgICAgLCBtX3Vz
ZXNOb25TdHJpY3RFdmFsKGV2YWxOb2RlLT51c2VzRXZhbCgpICYmICFlY21hTW9kZS5pc1N0cmlj
dCgpKQogICAgICwgbV9pblRhaWxQb3NpdGlvbihmYWxzZSkKICAgICAsIG1fbmVlZHNUb1VwZGF0
ZUFycm93RnVuY3Rpb25Db250ZXh0KGV2YWxOb2RlLT51c2VzQXJyb3dGdW5jdGlvbigpIHx8IGV2
YWxOb2RlLT51c2VzRXZhbCgpKQogICAgICwgbV9lY21hTW9kZShlY21hTW9kZSkKQEAgLTkzMSw3
ICs5MzEsNyBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IoVk0mCiAgICAg
bW9kdWxlRW52aXJvbm1lbnRTeW1ib2xUYWJsZS0+c2V0VXNlc05vblN0cmljdEV2YWwobV91c2Vz
Tm9uU3RyaWN0RXZhbCk7CiAgICAgbW9kdWxlRW52aXJvbm1lbnRTeW1ib2xUYWJsZS0+c2V0U2Nv
cGVUeXBlKFN5bWJvbFRhYmxlOjpTY29wZVR5cGU6OkxleGljYWxTY29wZSk7CiAKLSAgICBib29s
IHNob3VsZENhcHR1cmVBbGxPZlRoZVRoaW5ncyA9IHNob3VsZEVtaXREZWJ1Z0hvb2tzKCkgfHwg
Y29kZUJsb2NrLT51c2VzRXZhbCgpOworICAgIGJvb2wgc2hvdWxkQ2FwdHVyZUFsbE9mVGhlVGhp
bmdzID0gc2hvdWxkRW1pdERlYnVnSG9va3MoKSB8fCB1c2VzRXZhbCgpOwogICAgIGlmIChzaG91
bGRDYXB0dXJlQWxsT2ZUaGVUaGluZ3MpCiAgICAgICAgIG1vZHVsZVByb2dyYW1Ob2RlLT52YXJE
ZWNsYXJhdGlvbnMoKS5tYXJrQWxsVmFyaWFibGVzQXNDYXB0dXJlZCgpOwogCkBAIC0zNDUwLDkg
KzM0NTAsMTAgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRDYWxsKAogICAg
IC8vIEVtaXQgY2FsbC4KICAgICBBU1NFUlQoZHN0KTsKICAgICBBU1NFUlQoZHN0ICE9IGlnbm9y
ZWRSZXN1bHQoKSk7Ci0gICAgaWYgY29uc3RleHByIChvcGNvZGVJRCA9PSBvcF9jYWxsX2V2YWwp
CisgICAgaWYgY29uc3RleHByIChvcGNvZGVJRCA9PSBvcF9jYWxsX2V2YWwpIHsKKyAgICAgICAg
bV9jb2RlQmxvY2stPnNldFVzZXNDYWxsRXZhbCgpOwogICAgICAgICBDYWxsT3A6OmVtaXQodGhp
cywgZHN0LCBmdW5jLCBjYWxsQXJndW1lbnRzLmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKCks
IGNhbGxBcmd1bWVudHMuc3RhY2tPZmZzZXQoKSwgZWNtYU1vZGUoKSk7Ci0gICAgZWxzZQorICAg
IH0gZWxzZQogICAgICAgICBDYWxsT3A6OmVtaXQodGhpcywgZHN0LCBmdW5jLCBjYWxsQXJndW1l
bnRzLmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKCksIGNhbGxBcmd1bWVudHMuc3RhY2tPZmZz
ZXQoKSk7CiAgICAgCiAgICAgaWYgKGV4cGVjdGVkRnVuY3Rpb24gIT0gTm9FeHBlY3RlZEZ1bmN0
aW9uKQpAQCAtNDYzMiw3ICs0NjMzLDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6
OmVuc3VyZVRoaQogICAgIAogYm9vbCBCeXRlY29kZUdlbmVyYXRvcjo6aXNUaGlzVXNlZEluSW5u
ZXJBcnJvd0Z1bmN0aW9uKCkKIHsKLSAgICByZXR1cm4gbV9zY29wZU5vZGUtPmRvQW55SW5uZXJB
cnJvd0Z1bmN0aW9uc1VzZVRoaXMoKSB8fCBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5lckFycm93RnVu
Y3Rpb25zVXNlU3VwZXJQcm9wZXJ0eSgpIHx8IG1fc2NvcGVOb2RlLT5kb0FueUlubmVyQXJyb3dG
dW5jdGlvbnNVc2VTdXBlckNhbGwoKSB8fCBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5lckFycm93RnVu
Y3Rpb25zVXNlRXZhbCgpIHx8IG1fY29kZUJsb2NrLT51c2VzRXZhbCgpOworICAgIHJldHVybiBt
X3Njb3BlTm9kZS0+ZG9BbnlJbm5lckFycm93RnVuY3Rpb25zVXNlVGhpcygpIHx8IG1fc2NvcGVO
b2RlLT5kb0FueUlubmVyQXJyb3dGdW5jdGlvbnNVc2VTdXBlclByb3BlcnR5KCkgfHwgbV9zY29w
ZU5vZGUtPmRvQW55SW5uZXJBcnJvd0Z1bmN0aW9uc1VzZVN1cGVyQ2FsbCgpIHx8IG1fc2NvcGVO
b2RlLT5kb0FueUlubmVyQXJyb3dGdW5jdGlvbnNVc2VFdmFsKCkgfHwgdXNlc0V2YWwoKTsKIH0K
ICAgICAKIGJvb2wgQnl0ZWNvZGVHZW5lcmF0b3I6OmlzQXJndW1lbnRzVXNlZEluSW5uZXJBcnJv
d0Z1bmN0aW9uKCkKQEAgLTQ2NDIsMTcgKzQ2NDMsMTcgQEAgYm9vbCBCeXRlY29kZUdlbmVyYXRv
cjo6aXNBcmd1bWVudHNVc2VkSQogCiBib29sIEJ5dGVjb2RlR2VuZXJhdG9yOjppc05ld1Rhcmdl
dFVzZWRJbklubmVyQXJyb3dGdW5jdGlvbigpCiB7Ci0gICAgcmV0dXJuIG1fc2NvcGVOb2RlLT5k
b0FueUlubmVyQXJyb3dGdW5jdGlvbnNVc2VOZXdUYXJnZXQoKSB8fCBtX3Njb3BlTm9kZS0+ZG9B
bnlJbm5lckFycm93RnVuY3Rpb25zVXNlU3VwZXJDYWxsKCkgfHwgbV9zY29wZU5vZGUtPmRvQW55
SW5uZXJBcnJvd0Z1bmN0aW9uc1VzZUV2YWwoKSB8fCBtX2NvZGVCbG9jay0+dXNlc0V2YWwoKTsK
KyAgICByZXR1cm4gbV9zY29wZU5vZGUtPmRvQW55SW5uZXJBcnJvd0Z1bmN0aW9uc1VzZU5ld1Rh
cmdldCgpIHx8IG1fc2NvcGVOb2RlLT5kb0FueUlubmVyQXJyb3dGdW5jdGlvbnNVc2VTdXBlckNh
bGwoKSB8fCBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5lckFycm93RnVuY3Rpb25zVXNlRXZhbCgpIHx8
IHVzZXNFdmFsKCk7CiB9CiAKIGJvb2wgQnl0ZWNvZGVHZW5lcmF0b3I6OmlzU3VwZXJVc2VkSW5J
bm5lckFycm93RnVuY3Rpb24oKQogewotICAgIHJldHVybiBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5l
ckFycm93RnVuY3Rpb25zVXNlU3VwZXJDYWxsKCkgfHwgbV9zY29wZU5vZGUtPmRvQW55SW5uZXJB
cnJvd0Z1bmN0aW9uc1VzZVN1cGVyUHJvcGVydHkoKSB8fCBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5l
ckFycm93RnVuY3Rpb25zVXNlRXZhbCgpIHx8IG1fY29kZUJsb2NrLT51c2VzRXZhbCgpOworICAg
IHJldHVybiBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5lckFycm93RnVuY3Rpb25zVXNlU3VwZXJDYWxs
KCkgfHwgbV9zY29wZU5vZGUtPmRvQW55SW5uZXJBcnJvd0Z1bmN0aW9uc1VzZVN1cGVyUHJvcGVy
dHkoKSB8fCBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5lckFycm93RnVuY3Rpb25zVXNlRXZhbCgpIHx8
IHVzZXNFdmFsKCk7CiB9CiAKIGJvb2wgQnl0ZWNvZGVHZW5lcmF0b3I6OmlzU3VwZXJDYWxsVXNl
ZEluSW5uZXJBcnJvd0Z1bmN0aW9uKCkKIHsKLSAgICByZXR1cm4gbV9zY29wZU5vZGUtPmRvQW55
SW5uZXJBcnJvd0Z1bmN0aW9uc1VzZVN1cGVyQ2FsbCgpIHx8IG1fc2NvcGVOb2RlLT5kb0FueUlu
bmVyQXJyb3dGdW5jdGlvbnNVc2VFdmFsKCkgfHwgbV9jb2RlQmxvY2stPnVzZXNFdmFsKCk7Cisg
ICAgcmV0dXJuIG1fc2NvcGVOb2RlLT5kb0FueUlubmVyQXJyb3dGdW5jdGlvbnNVc2VTdXBlckNh
bGwoKSB8fCBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5lckFycm93RnVuY3Rpb25zVXNlRXZhbCgpIHx8
IHVzZXNFdmFsKCk7CiB9CiAgICAgCiB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0TmV3
VGFyZ2V0VG9BcnJvd0Z1bmN0aW9uQ29udGV4dFNjb3BlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHR3JhcGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0dyYXBoLmgJKHJldmlzaW9uIDI3MzY5NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHR3JhcGguaAkod29ya2luZyBjb3B5KQpAQCAtMTAzNiw4ICsxMDM2LDggQEAg
cHVibGljOgogICAgIH0KICAgICBib29sIHdpbGxDYXRjaEV4Y2VwdGlvbkluTWFjaGluZUZyYW1l
KENvZGVPcmlnaW4sIENvZGVPcmlnaW4mIG9wQ2F0Y2hPcmlnaW5PdXQsIEhhbmRsZXJJbmZvKiYg
Y2F0Y2hIYW5kbGVyT3V0KTsKICAgICAKLSAgICBib29sIG5lZWRzU2NvcGVSZWdpc3RlcigpIGNv
bnN0IHsgcmV0dXJuIG1faGFzRGVidWdnZXJFbmFibGVkIHx8IG1fY29kZUJsb2NrLT51c2VzRXZh
bCgpOyB9Ci0gICAgYm9vbCBuZWVkc0ZsdXNoZWRUaGlzKCkgY29uc3QgeyByZXR1cm4gbV9jb2Rl
QmxvY2stPnVzZXNFdmFsKCk7IH0KKyAgICBib29sIG5lZWRzU2NvcGVSZWdpc3RlcigpIGNvbnN0
IHsgcmV0dXJuIG1faGFzRGVidWdnZXJFbmFibGVkIHx8IG1fY29kZUJsb2NrLT51c2VzQ2FsbEV2
YWwoKTsgfQorICAgIGJvb2wgbmVlZHNGbHVzaGVkVGhpcygpIGNvbnN0IHsgcmV0dXJuIG1fY29k
ZUJsb2NrLT51c2VzQ2FsbEV2YWwoKTsgfQogCiAgICAgdm9pZCBjbGVhckNQU0NGR0RhdGEoKTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2FjaGVkVHlwZXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NhY2hlZFR5cGVzLmNw
cAkocmV2aXNpb24gMjczNjk1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2Fj
aGVkVHlwZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTA0LDcgKzE5MDQsNyBAQCBwdWJsaWM6
CiAKICAgICBSZWY8VW5saW5rZWRNZXRhZGF0YVRhYmxlPiBtZXRhZGF0YShEZWNvZGVyJiBkZWNv
ZGVyKSBjb25zdCB7IHJldHVybiBtX21ldGFkYXRhLmRlY29kZShkZWNvZGVyKTsgfQogCi0gICAg
dW5zaWduZWQgdXNlc0V2YWwoKSBjb25zdCB7IHJldHVybiBtX3VzZXNFdmFsOyB9CisgICAgdW5z
aWduZWQgdXNlc0NhbGxFdmFsKCkgY29uc3QgeyByZXR1cm4gbV91c2VzQ2FsbEV2YWw7IH0KICAg
ICB1bnNpZ25lZCBpc0NvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbnN0cnVjdG9y
OyB9CiAgICAgdW5zaWduZWQgaGFzQ2FwdHVyZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBt
X2hhc0NhcHR1cmVkVmFyaWFibGVzOyB9CiAgICAgdW5zaWduZWQgaXNCdWlsdGluRnVuY3Rpb24o
KSBjb25zdCB7IHJldHVybiBtX2lzQnVpbHRpbkZ1bmN0aW9uOyB9CkBAIC0xOTM1LDcgKzE5MzUs
NyBAQCBwcml2YXRlOgogICAgIFZpcnR1YWxSZWdpc3RlciBtX3RoaXNSZWdpc3RlcjsKICAgICBW
aXJ0dWFsUmVnaXN0ZXIgbV9zY29wZVJlZ2lzdGVyOwogCi0gICAgdW5zaWduZWQgbV91c2VzRXZh
bCA6IDE7CisgICAgdW5zaWduZWQgbV91c2VzQ2FsbEV2YWwgOiAxOwogICAgIHVuc2lnbmVkIG1f
aXNDb25zdHJ1Y3RvciA6IDE7CiAgICAgdW5zaWduZWQgbV9oYXNDYXB0dXJlZFZhcmlhYmxlcyA6
IDE7CiAgICAgdW5zaWduZWQgbV9pc0J1aWx0aW5GdW5jdGlvbiA6IDE7CkBAIC0yMTMwLDcgKzIx
MzAsNyBAQCBBTFdBWVNfSU5MSU5FIFVubGlua2VkQ29kZUJsb2NrOjpVbmxpbmtlCiAgICAgLCBt
X3RoaXNSZWdpc3RlcihjYWNoZWRDb2RlQmxvY2sudGhpc1JlZ2lzdGVyKCkpCiAgICAgLCBtX3Nj
b3BlUmVnaXN0ZXIoY2FjaGVkQ29kZUJsb2NrLnNjb3BlUmVnaXN0ZXIoKSkKIAotICAgICwgbV91
c2VzRXZhbChjYWNoZWRDb2RlQmxvY2sudXNlc0V2YWwoKSkKKyAgICAsIG1fdXNlc0NhbGxFdmFs
KGNhY2hlZENvZGVCbG9jay51c2VzQ2FsbEV2YWwoKSkKICAgICAsIG1faXNDb25zdHJ1Y3Rvcihj
YWNoZWRDb2RlQmxvY2suaXNDb25zdHJ1Y3RvcigpKQogICAgICwgbV9oYXNDYXB0dXJlZFZhcmlh
YmxlcyhjYWNoZWRDb2RlQmxvY2suaGFzQ2FwdHVyZWRWYXJpYWJsZXMoKSkKICAgICAsIG1faXNC
dWlsdGluRnVuY3Rpb24oY2FjaGVkQ29kZUJsb2NrLmlzQnVpbHRpbkZ1bmN0aW9uKCkpCkBAIC0y
MzE3LDcgKzIzMTcsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgQ2FjaGVkQ29kZUJsb2NrPENvZGVC
CiB7CiAgICAgbV90aGlzUmVnaXN0ZXIgPSBjb2RlQmxvY2subV90aGlzUmVnaXN0ZXI7CiAgICAg
bV9zY29wZVJlZ2lzdGVyID0gY29kZUJsb2NrLm1fc2NvcGVSZWdpc3RlcjsKLSAgICBtX3VzZXNF
dmFsID0gY29kZUJsb2NrLm1fdXNlc0V2YWw7CisgICAgbV91c2VzQ2FsbEV2YWwgPSBjb2RlQmxv
Y2subV91c2VzQ2FsbEV2YWw7CiAgICAgbV9pc0NvbnN0cnVjdG9yID0gY29kZUJsb2NrLm1faXND
b25zdHJ1Y3RvcjsKICAgICBtX2hhc0NhcHR1cmVkVmFyaWFibGVzID0gY29kZUJsb2NrLm1faGFz
Q2FwdHVyZWRWYXJpYWJsZXM7CiAgICAgbV9pc0J1aWx0aW5GdW5jdGlvbiA9IGNvZGVCbG9jay5t
X2lzQnVpbHRpbkZ1bmN0aW9uOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29kZUNhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db2RlQ2FjaGUuY3BwCShyZXZpc2lvbiAyNzM2OTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5MSw2IEBA
IFVubGlua2VkQ29kZUJsb2NrVHlwZSogZ2VuZXJhdGVVbmxpbmtlZEMKICAgICBpZiAoZXhlY3V0
YWJsZSkKICAgICAgICAgZXhlY3V0YWJsZS0+cmVjb3JkUGFyc2Uocm9vdE5vZGUtPmZlYXR1cmVz
KCkgfCBhcnJvd0NvbnRleHRGZWF0dXJlLCByb290Tm9kZS0+aGFzQ2FwdHVyZWRWYXJpYWJsZXMo
KSwgcm9vdE5vZGUtPmxhc3RMaW5lKCksIGVuZENvbHVtbik7CiAKLSAgICBib29sIHVzZXNFdmFs
ID0gcm9vdE5vZGUtPmZlYXR1cmVzKCkgJiBFdmFsRmVhdHVyZTsKICAgICBFQ01BTW9kZSBlY21h
TW9kZSA9IHJvb3ROb2RlLT5mZWF0dXJlcygpICYgU3RyaWN0TW9kZUZlYXR1cmUgPyBFQ01BTW9k
ZTo6c3RyaWN0KCkgOiBFQ01BTW9kZTo6c2xvcHB5KCk7CiAgICAgTmVlZHNDbGFzc0ZpZWxkSW5p
dGlhbGl6ZXIgbmVlZHNDbGFzc0ZpZWxkSW5pdGlhbGl6ZXIgPSBOZWVkc0NsYXNzRmllbGRJbml0
aWFsaXplcjo6Tm87CiAgICAgUHJpdmF0ZUJyYW5kUmVxdWlyZW1lbnQgcHJpdmF0ZUJyYW5kUmVx
dWlyZW1lbnQgPSBQcml2YXRlQnJhbmRSZXF1aXJlbWVudDo6Tm9uZTsKQEAgLTk5LDcgKzk4LDcg
QEAgVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBnZW5lcmF0ZVVubGlua2VkQwogICAgICAgICBuZWVk
c0NsYXNzRmllbGRJbml0aWFsaXplciA9IGV4ZWN1dGFibGUtPm5lZWRzQ2xhc3NGaWVsZEluaXRp
YWxpemVyKCk7CiAgICAgICAgIHByaXZhdGVCcmFuZFJlcXVpcmVtZW50ID0gZXhlY3V0YWJsZS0+
cHJpdmF0ZUJyYW5kUmVxdWlyZW1lbnQoKTsKICAgICB9Ci0gICAgRXhlY3V0YWJsZUluZm8gZXhl
Y3V0YWJsZUluZm8odXNlc0V2YWwsIGZhbHNlLCBwcml2YXRlQnJhbmRSZXF1aXJlbWVudCwgZmFs
c2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgc2NyaXB0TW9kZSwgU3VwZXJCaW5kaW5nOjpOb3RO
ZWVkZWQsIENhY2hlVHlwZXM8VW5saW5rZWRDb2RlQmxvY2tUeXBlPjo6cGFyc2VNb2RlLCBkZXJp
dmVkQ29udGV4dFR5cGUsIG5lZWRzQ2xhc3NGaWVsZEluaXRpYWxpemVyLCBpc0Fycm93RnVuY3Rp
b25Db250ZXh0LCBmYWxzZSwgZXZhbENvbnRleHRUeXBlKTsKKyAgICBFeGVjdXRhYmxlSW5mbyBl
eGVjdXRhYmxlSW5mbyhmYWxzZSwgcHJpdmF0ZUJyYW5kUmVxdWlyZW1lbnQsIGZhbHNlLCBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmUsIHNjcmlwdE1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBD
YWNoZVR5cGVzPFVubGlua2VkQ29kZUJsb2NrVHlwZT46OnBhcnNlTW9kZSwgZGVyaXZlZENvbnRl
eHRUeXBlLCBuZWVkc0NsYXNzRmllbGRJbml0aWFsaXplciwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4
dCwgZmFsc2UsIGV2YWxDb250ZXh0VHlwZSk7CiAKICAgICBVbmxpbmtlZENvZGVCbG9ja1R5cGUq
IHVubGlua2VkQ29kZUJsb2NrID0gVW5saW5rZWRDb2RlQmxvY2tUeXBlOjpjcmVhdGUodm0sIGV4
ZWN1dGFibGVJbmZvLCBjb2RlR2VuZXJhdGlvbk1vZGUpOwogICAgIHVubGlua2VkQ29kZUJsb2Nr
LT5yZWNvcmRQYXJzZShyb290Tm9kZS0+ZmVhdHVyZXMoKSwgcm9vdE5vZGUtPmhhc0NhcHR1cmVk
VmFyaWFibGVzKCksIGxpbmVDb3VudCwgdW5saW5rZWRFbmRDb2x1bW4pOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXZhbEV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FdmFsRXhlY3V0YWJsZS5oCShyZXZpc2lvbiAy
NzM2OTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FdmFsRXhlY3V0YWJsZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Miw4ICs2Miw2IEBAIHB1YmxpYzoKIAogICAgIERFQ0xBUkVf
SU5GTzsKIAotICAgIEV4ZWN1dGFibGVJbmZvIGV4ZWN1dGFibGVJbmZvKCkgY29uc3QgeyByZXR1
cm4gRXhlY3V0YWJsZUluZm8odXNlc0V2YWwoKSwgZmFsc2UsIFByaXZhdGVCcmFuZFJlcXVpcmVt
ZW50OjpOb25lLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBKU1BhcnNlclNjcmlwdE1v
ZGU6OkNsYXNzaWMsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBTb3VyY2VQYXJzZU1vZGU6OlBy
b2dyYW1Nb2RlLCBkZXJpdmVkQ29udGV4dFR5cGUoKSwgbmVlZHNDbGFzc0ZpZWxkSW5pdGlhbGl6
ZXIoKSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgpLCBmYWxzZSwgZXZhbENvbnRleHRUeXBlKCkp
OyB9Ci0KICAgICB1bnNpZ25lZCBudW1WYXJpYWJsZXMoKSB7IHJldHVybiBtX3VubGlua2VkRXZh
bENvZGVCbG9jay0+bnVtVmFyaWFibGVzKCk7IH0KICAgICB1bnNpZ25lZCBudW1GdW5jdGlvbkhv
aXN0aW5nQ2FuZGlkYXRlcygpIHsgcmV0dXJuIG1fdW5saW5rZWRFdmFsQ29kZUJsb2NrLT5udW1G
dW5jdGlvbkhvaXN0aW5nQ2FuZGlkYXRlcygpOyB9CiAgICAgdW5zaWduZWQgbnVtVG9wTGV2ZWxG
dW5jdGlvbkRlY2xzKCkgeyByZXR1cm4gbV91bmxpbmtlZEV2YWxDb2RlQmxvY2stPm51bWJlck9m
RnVuY3Rpb25EZWNscygpOyB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
b2R1bGVQcm9ncmFtRXhlY3V0YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01vZHVsZVByb2dyYW1FeGVjdXRhYmxlLmgJKHJldmlzaW9uIDI3MzY5NSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01vZHVsZVByb2dyYW1FeGVjdXRhYmxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDggKzYzLDYgQEAgcHVibGljOgogCiAgICAgREVDTEFS
RV9JTkZPOwogCi0gICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUluZm8oKSBjb25zdCB7IHJl
dHVybiBFeGVjdXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBmYWxzZSwgUHJpdmF0ZUJyYW5kUmVxdWly
ZW1lbnQ6Ok5vbmUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyU2NyaXB0
TW9kZTo6TW9kdWxlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgU291cmNlUGFyc2VNb2RlOjpN
b2R1bGVFdmFsdWF0ZU1vZGUsIGRlcml2ZWRDb250ZXh0VHlwZSgpLCBOZWVkc0NsYXNzRmllbGRJ
bml0aWFsaXplcjo6Tm8sIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQoKSwgZmFsc2UsIEV2YWxDb250
ZXh0VHlwZTo6Tm9uZSk7IH0KLQogICAgIFVubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jayog
dW5saW5rZWRNb2R1bGVQcm9ncmFtQ29kZUJsb2NrKCkgeyByZXR1cm4gbV91bmxpbmtlZE1vZHVs
ZVByb2dyYW1Db2RlQmxvY2suZ2V0KCk7IH0KICAgICBib29sIGlzQXN5bmMoKSBjb25zdCB7IHJl
dHVybiBmZWF0dXJlcygpICYgQXdhaXRGZWF0dXJlOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb2dyYW1FeGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvZ3JhbUV4ZWN1dGFibGUuaAkocmV2aXNpb24gMjcz
Njk1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvZ3JhbUV4ZWN1dGFibGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNzEsOCArNzEsNiBAQCBwdWJsaWM6CiAgICAgICAgIAogICAg
IERFQ0xBUkVfSU5GTzsKIAotICAgIEV4ZWN1dGFibGVJbmZvIGV4ZWN1dGFibGVJbmZvKCkgY29u
c3QgeyByZXR1cm4gRXhlY3V0YWJsZUluZm8odXNlc0V2YWwoKSwgZmFsc2UsIFByaXZhdGVCcmFu
ZFJlcXVpcmVtZW50OjpOb25lLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBKU1BhcnNl
clNjcmlwdE1vZGU6OkNsYXNzaWMsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBTb3VyY2VQYXJz
ZU1vZGU6OlByb2dyYW1Nb2RlLCBkZXJpdmVkQ29udGV4dFR5cGUoKSwgTmVlZHNDbGFzc0ZpZWxk
SW5pdGlhbGl6ZXI6Ok5vLCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KCksIGZhbHNlLCBFdmFsQ29u
dGV4dFR5cGU6Ok5vbmUpOyB9Ci0KICAgICBUZW1wbGF0ZU9iamVjdE1hcCYgZW5zdXJlVGVtcGxh
dGVPYmplY3RNYXAoVk0mKTsKIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1NjcmlwdEV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY3JpcHRFeGVjdXRhYmxlLmgJKHJldmlzaW9uIDI3MzY5NSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NjcmlwdEV4ZWN1dGFibGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsNyArNTgsNiBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdHlwZVByb2Zp
bGluZ1N0YXJ0T2Zmc2V0KFZNJikgY29uc3Q7CiAgICAgdW5zaWduZWQgdHlwZVByb2ZpbGluZ0Vu
ZE9mZnNldChWTSYpIGNvbnN0OwogCi0gICAgYm9vbCB1c2VzRXZhbCgpIGNvbnN0IHsgcmV0dXJu
IG1fZmVhdHVyZXMgJiBFdmFsRmVhdHVyZTsgfQogICAgIGJvb2wgdXNlc0FyZ3VtZW50cygpIGNv
bnN0IHsgcmV0dXJuIG1fZmVhdHVyZXMgJiBBcmd1bWVudHNGZWF0dXJlOyB9CiAgICAgYm9vbCBp
c0Fycm93RnVuY3Rpb25Db250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9pc0Fycm93RnVuY3Rpb25D
b250ZXh0OyB9CiAgICAgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSgpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PERlcml2ZWRDb250ZXh0VHlwZT4obV9kZXJpdmVkQ29u
dGV4dFR5cGUpOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>