<?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>230804</bug_id>
          
          <creation_ts>2021-09-26 02:05:29 -0700</creation_ts>
          <short_desc>The DFG/FTL need to be aware that Proxy&apos;s can produce &quot;function&quot; for typeof and might be callable</short_desc>
          <delta_ts>2021-09-30 13:38:06 -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 Local Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Lukas Bernhard">lukas.bernhard</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>product-security</cc>
    
    <cc>saam</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>1797282</commentid>
    <comment_count>0</comment_count>
    <who name="Lukas Bernhard">lukas.bernhard</who>
    <bug_when>2021-09-26 02:05:29 -0700</bug_when>
    <thetext>Differential testing identifies the following samples to trigger a miscomputation in FTL.
Tested on 29c8d02c3b11c096cc67d89e5cfe8c16be42b3b7 (Fri Sep 24 09:39:18 2021 +0000)

./Release/bin/jsc --validateOptions=true --useConcurrentJIT=false --useConcurrentGC=false --thresholdForJITSoon=10 --thresholdForJITAfterWarmUp=10 --thresholdForOptimizeAfterWarmUp=100 --thresholdForOptimizeAfterLongWarmUp=100 --thresholdForOptimizeSoon=100 --thresholdForFTLOptimizeAfterWarmUp=1000 --thresholdForFTLOptimizeSoon=1000 --validateBCE=true --useFTLJIT=true diff.js

function main() {
    let v162;
    const v25 = {__proto__:&quot;name&quot;};
    
    for (let v113 = 0; v113 &lt; 255; v113++) {
        const v141 = new Proxy(Object,v25);
        const v145 = v141[&quot;bind&quot;]();
        // when running with FTL, the previous line raises a JS exception:
        // TypeError: |this| is not a function inside Function.prototype.bind
        // without FTL or in v8 this doesn&apos;t throw.

    }   
}
main();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797283</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-26 02:05:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/83543951&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798713</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-29 17:58:48 -0700</bug_when>
    <thetext>*** Bug 231002 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798715</commentid>
    <comment_count>3</comment_count>
      <attachid>439687</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-29 18:17:57 -0700</bug_when>
    <thetext>Created attachment 439687
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798718</commentid>
    <comment_count>4</comment_count>
      <attachid>439689</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-29 18:25:38 -0700</bug_when>
    <thetext>Created attachment 439689
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798751</commentid>
    <comment_count>5</comment_count>
      <attachid>439689</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-29 21:36:31 -0700</bug_when>
    <thetext>Comment on attachment 439689
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799013</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-30 13:38:04 -0700</bug_when>
    <thetext>Committed r283332 (242353@main): &lt;https://commits.webkit.org/242353@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439689.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439687</attachid>
            <date>2021-09-29 18:17:57 -0700</date>
            <delta_ts>2021-09-29 18:25:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>8420</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODMyOTEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIzIEBACisyMDIxLTA5LTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFRoZSBERkcvRlRMIG5lZWQgdG8gYmUgYXdhcmUgdGhhdCBQcm94eSdz
IGNhbiBwcm9kdWNlICJmdW5jdGlvbiIgZm9yIHR5cGVvZiBhbmQgbWlnaHQgYmUgY2FsbGFibGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDgwNAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODM1NDM5NTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYWktdHlwZW9mLW5lZWRzLXRvLWJl
LWF3YXJlLW9mLXByb3h5LTIuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAg
KGJ1aWx0aW4udm0uY3JlYXRlQnVpbHRpbik6CisgICAgICAgIChidWlsdGluMi52bS5jcmVhdGVC
dWlsdGluKToKKyAgICAgICAgKGxldC5wLm5ldy5Qcm94eSk6CisgICAgICAgICogc3RyZXNzL2Fp
LXR5cGVvZi1uZWVkcy10by1iZS1hd2FyZS1vZi1wcm94eS5qczogQWRkZWQuCisgICAgICAgIChh
c3NlcnQpOgorICAgICAgICAoYnVpbHRpbi52bS5jcmVhdGVCdWlsdGluKToKKyAgICAgICAgKGxl
dC5wLm5ldy5Qcm94eSk6CisgICAgICAgICogc3RyZXNzL2lzLWNhbGxhYmxlLWluLWZ0bC1uZWVk
cy10by1iZS1hd2FyZS1vZi1wcm94eS5qczogQWRkZWQuCisgICAgICAgIChtYWluKToKKwogMjAy
MS0wOS0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBXZSBu
ZWVkIHRvIGxvYWQgdGhlIGJhc2VsaW5lIEpJVCdzIGNvbnN0YW50IHBvb2wgcmVnaXN0ZXIgYWZ0
ZXIgT1NSIGV4aXQgdG8gY2hlY2twb2ludHMgaWYgd2UgcmV0dXJuIHRvIGJhc2VsaW5lIGNvZGUK
SW5kZXg6IEpTVGVzdHMvc3RyZXNzL2FpLXR5cGVvZi1uZWVkcy10by1iZS1hd2FyZS1vZi1wcm94
eS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2FpLXR5cGVvZi1uZWVkcy10by1i
ZS1hd2FyZS1vZi1wcm94eS0yLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2Fp
LXR5cGVvZi1uZWVkcy10by1iZS1hd2FyZS1vZi1wcm94eS0yLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjkgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3I7Cit9CisKK3ZhciBidWlsdGluID0gJHZtLmNyZWF0ZUJ1aWx0aW4o
YChmdW5jdGlvbiAoYSkgeworICAgIGlmIChAaXNQcm94eU9iamVjdChhKSkgeworICAgICAgICBp
ZiAodHlwZW9mIGEgPT09ICJvYmplY3QiKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKyAgICByZXR1cm4gdHJ1ZTsKK30pYCk7CisKK25vSW5saW5lKGJ1aWx0aW4pOworCit2YXIg
YnVpbHRpbjIgPSAkdm0uY3JlYXRlQnVpbHRpbihgKGZ1bmN0aW9uIChhKSB7CisgICAgaWYgKEBp
c1Byb3h5T2JqZWN0KGEpKSB7CisgICAgICAgIGlmICh0eXBlb2YgYSA9PT0gImZ1bmN0aW9uIikK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9KWAp
Oworbm9JbmxpbmUoYnVpbHRpbjIpOworCitsZXQgcCA9IG5ldyBQcm94eShmdW5jdGlvbigpe30s
IHt9KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGFzc2VydChidWls
dGluKHApID09PSB0cnVlKTsKKyAgICBhc3NlcnQoYnVpbHRpbjIocCkgPT09IHRydWUpOworfQpJ
bmRleDogSlNUZXN0cy9zdHJlc3MvYWktdHlwZW9mLW5lZWRzLXRvLWJlLWF3YXJlLW9mLXByb3h5
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2FpLXR5cGVvZi1uZWVkcy10by1iZS1h
d2FyZS1vZi1wcm94eS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9haS10eXBl
b2YtbmVlZHMtdG8tYmUtYXdhcmUtb2YtcHJveHkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93
IG5ldyBFcnJvcjsKK30KKwordmFyIGJ1aWx0aW4gPSAkdm0uY3JlYXRlQnVpbHRpbihgKGZ1bmN0
aW9uIChhKSB7CisgICAgaWYgKEBpc1Byb3h5T2JqZWN0KGEpKQorICAgICAgICByZXR1cm4gdHlw
ZW9mIGE7Cit9KWApOworCitub0lubGluZShidWlsdGluKTsKKworbGV0IHAgPSBuZXcgUHJveHko
ZnVuY3Rpb24oKXt9LCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpCisgICAg
YXNzZXJ0KGJ1aWx0aW4ocCkgPT09ICJmdW5jdGlvbiIpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
aXMtY2FsbGFibGUtaW4tZnRsLW5lZWRzLXRvLWJlLWF3YXJlLW9mLXByb3h5LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2lzLWNhbGxhYmxlLWluLWZ0bC1uZWVkcy10by1iZS1hd2Fy
ZS1vZi1wcm94eS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9pcy1jYWxsYWJs
ZS1pbi1mdGwtbmVlZHMtdG8tYmUtYXdhcmUtb2YtcHJveHkuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxNCBAQAorZnVuY3Rpb24gbWFpbigpIHsKKyAgICBsZXQgdjE2MjsKKyAgICBjb25z
dCB2MjUgPSB7X19wcm90b19fOiJuYW1lIn07CisgICAgCisgICAgZm9yIChsZXQgdjExMyA9IDA7
IHYxMTMgPCAyNTU7IHYxMTMrKykgeworICAgICAgICBjb25zdCB2MTQxID0gbmV3IFByb3h5KE9i
amVjdCx2MjUpOworICAgICAgICBjb25zdCB2MTQ1ID0gdjE0MVsiYmluZCJdKCk7CisgICAgICAg
IC8vIHdoZW4gcnVubmluZyB3aXRoIEZUTCwgdGhlIHByZXZpb3VzIGxpbmUgcmFpc2VzIGEgSlMg
ZXhjZXB0aW9uOgorICAgICAgICAvLyBUeXBlRXJyb3I6IHx0aGlzfCBpcyBub3QgYSBmdW5jdGlv
biBpbnNpZGUgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQKKyAgICAgICAgLy8gd2l0aG91dCBGVEwg
b3IgaW4gdjggdGhpcyBkb2Vzbid0IHRocm93LgorCisgICAgfSAgIAorfQorbWFpbigpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODMyODEpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIw
MjEtMDktMjkgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgVGhl
IERGRy9GVEwgbmVlZCB0byBiZSBhd2FyZSB0aGF0IFByb3h5J3MgY2FuIHByb2R1Y2UgImZ1bmN0
aW9uIiBmb3IgdHlwZW9mIGFuZCBtaWdodCBiZSBjYWxsYWJsZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwODA0CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84MzU0Mzk1MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIGEgY291cGxlIGJ1Z3M6CisgICAgICAgIC0gV2Ugd2Vy
ZSBjb25zdGFudCBmb2xkaW5nIHR5cGVvZiBvbiBQcm94eU9iamVjdCB0byAib2JqZWN0IgorICAg
ICAgICAgIGV2ZW4gd2hlbiBQcm94eU9iamVjdCBtaWdodCBwcm9kdWNlIGEgY2FsbGFibGUgUHJv
eHksIGFuZCBoZW5jZSwKKyAgICAgICAgICBzaG91bGQgcHJvZHVjZSAiZnVuY3Rpb24iLiBUaGlz
IHdhcyBhIGJ1ZyBpbiBBSS4KKyAgICAgICAgLSBUaGlzIGFsc28gZml4ZXMgYSBzaW1pbGFyIGJ1
ZyBpbiBJc0NhbGxhYmxlJ3MgaW1wbGVtZW50YXRpb24gaW4KKyAgICAgICAgICB0aGUgRlRMIHdo
ZXJlIHdlIGFzc3VtZWQgdGhhdCBQcm94eU9iamVjdCdzIHR5cGUgY2FuJ3QgYmUgY2FsbGFibGUu
CisKKyAgICAgICAgKiBieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oOgorICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpM
b3dlckRGR1RvQjM6OmNvbXBpbGVDb21wYXJlU3RyaWN0RXEpOgorCiAyMDIxLTA5LTI5ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gUmVtb3ZlIENv
ZGVCbG9jazo6bV9sbGludEV4ZWN1dGVDb3VudGVyCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaAkocmV2aXNpb24gMjgzMjgxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTExNiw2ICsxMTYsOCBAQCBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBl
IFNwZWNIZWFwCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCeXRlY29kZVRv
cCAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjSGVhcFRvcCB8IFNwZWNFbXB0eTsgLy8gSXQg
Y2FuIGJlIGFueSBvZiB0aGUgYWJvdmUsIGV4Y2VwdCBmb3IgU3BlY0ludDUyT25seSBhbmQgU3Bl
Y0RvdWJsZUltcHVyZU5hTi4gQ29ycmVzcG9uZHMgdG8gd2hhdCBjb3VsZCBiZSBmb3VuZCBpbiBh
IGJ5dGVjb2RlIGxvY2FsLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRnVs
bFRvcCAgICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0J5dGVjb2RlVG9wIHwgU3BlY0Z1
bGxOdW1iZXI7IC8vIEl0IGNhbiBiZSBhbnl0aGluZyB0aGF0IGJ5dGVjb2RlIGNvdWxkIHNlZSBw
bHVzIGV4b3RpYyBlbmNvZGluZ3Mgb2YgbnVtYmVycy4KIAorc3RhdGljIGNvbnN0ZXhwciBTcGVj
dWxhdGVkVHlwZSBTcGVjVHlwZW9mTWlnaHRCZUZ1bmN0aW9uICAgICAgICAgICAgID0gU3BlY0Z1
bmN0aW9uIHwgU3BlY09iamVjdE90aGVyIHwgU3BlY1Byb3h5T2JqZWN0OyAvLyBJZiB5b3UgZG9u
J3Qgc2VlIHRoZXNlIHR5cGVzLCB5b3UgY2FuJ3QgYmUgY2FsbGFibGUsIGFuZCB5b3UgY2FuJ3Qg
aGF2ZSB0eXBlb2YgcHJvZHVjZSAiZnVuY3Rpb24iLiBJbnZlcnNlIGlzIG5vdCB0cnVlLCBob3dl
dmVyLiBJZiB5b3Ugb25seSBzZWUgdGhlc2UgdHlwZXMsIHlvdSBtYXkgcHJvZHVjZSBtb3JlIHRo
aW5ncyB0aGFuICJmdW5jdGlvbiIgaW4gdHlwZW9mLCBhbmQgeW91IG1pZ2h0IG5vdCBiZSBjYWxs
YWJsZS4KKwogLy8gU3BlY0NlbGxDaGVjayBpcyB0aGUgdHlwZSBzZXQgcmVwcmVzZW50aW5nIHRo
ZSB2YWx1ZXMgdGhhdCBjYW4gZmxvdyB0aHJvdWdoIGEgY2VsbCBjaGVjay4KIC8vIE9uIDY0LWJp
dCBwbGF0Zm9ybXMsIHRoZSBlbXB0eSB2YWx1ZSBwYXNzZXMgYSBjZWxsIGNoZWNrLiBBbHNvLCB+
U3BlY0NlbGxDaGVjayBpcyB0aGUgdHlwZQogLy8gc2V0IHRoYXQgcmVwcmVzZW50aW5nIHRoZSB2
YWx1ZXMgdGhhdCBmbG93IHRocm91Z2ggd2hlbiB0ZXN0aW5nIHRoYXQgc29tZXRoaW5nIGlzIG5v
dCBhIGNlbGwuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXJJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCShyZXZpc2lvbiAyODMyODEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE2MTksNyArMTYxOSw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnBy
ZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAgICAgIC8vIElzIHRoZSBjaGlsZCdzIHR5cGUg
YW4gb2JqZWN0IHRoYXQgaXNuJ3QgYW4gb3RoZXItb2JqZWN0IChpLmUuIG9iamVjdCB0aGF0IGNv
dWxkCiAgICAgICAgICAgICAvLyBoYXZlIG1hc3F1YXJlZGVzLWFzLXVuZGVmaW5lZCB0cmFwcykg
YW5kIGlzbid0IGEgZnVuY3Rpb24/IFRoZW46IHdlIHNob3VsZCBmb2xkCiAgICAgICAgICAgICAv
LyB0aGlzIHRvIHRydWUuCi0gICAgICAgICAgICBpZiAoIShjaGlsZC5tX3R5cGUgJiB+KFNwZWNP
YmplY3QgLSBTcGVjT2JqZWN0T3RoZXIgLSBTcGVjRnVuY3Rpb24pKSkgeworICAgICAgICAgICAg
aWYgKCEoY2hpbGQubV90eXBlICYgfihTcGVjT2JqZWN0IC0gU3BlY1R5cGVvZk1pZ2h0QmVGdW5j
dGlvbikpKSB7CiAgICAgICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKHRy
dWUpKTsKICAgICAgICAgICAgICAgICBjb25zdGFudFdhc1NldCA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgYnJlYWs7CkBAIC0xNzMyLDcgKzE3MzIsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0
ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICghKGNoaWxkLm1fdHlwZSAmIChTcGVjRnVu
Y3Rpb24gfCBTcGVjT2JqZWN0T3RoZXIgfCBTcGVjUHJveHlPYmplY3QpKSkgeworICAgICAgICAg
ICAgaWYgKCEoY2hpbGQubV90eXBlICYgU3BlY1R5cGVvZk1pZ2h0QmVGdW5jdGlvbikpIHsKICAg
ICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jvb2xlYW4oZmFsc2UpKTsKICAgICAg
ICAgICAgICAgICBjb25zdGFudFdhc1NldCA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7
CkBAIC0xODExLDcgKzE4MTEsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RT
dGF0ZVR5CiAKICAgICAgICAgLy8gRklYTUU6IFdlIGNvdWxkIHVzZSB0aGUgbWFzcXVlcmFkZXMt
YXMtdW5kZWZpbmVkIHdhdGNocG9pbnQgaGVyZS4KICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDQ1NgotICAgICAgICBpZiAoIShhYnN0cmFjdENo
aWxkLm1fdHlwZSAmIH4oU3BlY09iamVjdCAtIFNwZWNPYmplY3RPdGhlciAtIFNwZWNGdW5jdGlv
bikpKSB7CisgICAgICAgIGlmICghKGFic3RyYWN0Q2hpbGQubV90eXBlICYgfihTcGVjT2JqZWN0
IC0gU3BlY1R5cGVvZk1pZ2h0QmVGdW5jdGlvbikpKSB7CiAgICAgICAgICAgICBzZXRDb25zdGFu
dChub2RlLCAqbV9ncmFwaC5mcmVlemUobV92bS5zbWFsbFN0cmluZ3Mub2JqZWN0U3RyaW5nKCkp
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyODMyODEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE5NTQxLDcgKzE5NTQxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAgIExW
YWx1ZSBpc0V4b3RpY0ZvclR5cGVvZihMVmFsdWUgY2VsbCwgU3BlY3VsYXRlZFR5cGUgdHlwZSA9
IFNwZWNGdWxsVG9wKQogICAgIHsKLSAgICAgICAgaWYgKCEodHlwZSAmIFNwZWNPYmplY3RPdGhl
cikpCisgICAgICAgIGlmICghKHR5cGUgJiAoU3BlY09iamVjdE90aGVyIHwgU3BlY1Byb3h5T2Jq
ZWN0KSkpCiAgICAgICAgICAgICByZXR1cm4gbV9vdXQuYm9vbGVhbkZhbHNlOwogICAgICAgICBy
ZXR1cm4gbV9vdXQudGVzdE5vblplcm8zMigKICAgICAgICAgICAgIG1fb3V0LmxvYWQ4WmVyb0V4
dDMyKGNlbGwsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvRmxhZ3MpLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439689</attachid>
            <date>2021-09-29 18:25:38 -0700</date>
            <delta_ts>2021-09-30 13:38:05 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>8824</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODMyOTEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIzIEBACisyMDIxLTA5LTI5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFRoZSBERkcvRlRMIG5lZWQgdG8gYmUgYXdhcmUgdGhhdCBQcm94eSdz
IGNhbiBwcm9kdWNlICJmdW5jdGlvbiIgZm9yIHR5cGVvZiBhbmQgbWlnaHQgYmUgY2FsbGFibGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDgwNAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODM1NDM5NTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYWktdHlwZW9mLW5lZWRzLXRvLWJl
LWF3YXJlLW9mLXByb3h5LTIuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAg
KGJ1aWx0aW4udm0uY3JlYXRlQnVpbHRpbik6CisgICAgICAgIChidWlsdGluMi52bS5jcmVhdGVC
dWlsdGluKToKKyAgICAgICAgKGxldC5wLm5ldy5Qcm94eSk6CisgICAgICAgICogc3RyZXNzL2Fp
LXR5cGVvZi1uZWVkcy10by1iZS1hd2FyZS1vZi1wcm94eS5qczogQWRkZWQuCisgICAgICAgIChh
c3NlcnQpOgorICAgICAgICAoYnVpbHRpbi52bS5jcmVhdGVCdWlsdGluKToKKyAgICAgICAgKGxl
dC5wLm5ldy5Qcm94eSk6CisgICAgICAgICogc3RyZXNzL2lzLWNhbGxhYmxlLWluLWZ0bC1uZWVk
cy10by1iZS1hd2FyZS1vZi1wcm94eS5qczogQWRkZWQuCisgICAgICAgIChtYWluKToKKwogMjAy
MS0wOS0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBXZSBu
ZWVkIHRvIGxvYWQgdGhlIGJhc2VsaW5lIEpJVCdzIGNvbnN0YW50IHBvb2wgcmVnaXN0ZXIgYWZ0
ZXIgT1NSIGV4aXQgdG8gY2hlY2twb2ludHMgaWYgd2UgcmV0dXJuIHRvIGJhc2VsaW5lIGNvZGUK
SW5kZXg6IEpTVGVzdHMvc3RyZXNzL2FpLXR5cGVvZi1uZWVkcy10by1iZS1hd2FyZS1vZi1wcm94
eS0yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2FpLXR5cGVvZi1uZWVkcy10by1i
ZS1hd2FyZS1vZi1wcm94eS0yLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2Fp
LXR5cGVvZi1uZWVkcy10by1iZS1hd2FyZS1vZi1wcm94eS0yLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjkgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3I7Cit9CisKK3ZhciBidWlsdGluID0gJHZtLmNyZWF0ZUJ1aWx0aW4o
YChmdW5jdGlvbiAoYSkgeworICAgIGlmIChAaXNQcm94eU9iamVjdChhKSkgeworICAgICAgICBp
ZiAodHlwZW9mIGEgPT09ICJvYmplY3QiKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKyAgICByZXR1cm4gdHJ1ZTsKK30pYCk7CisKK25vSW5saW5lKGJ1aWx0aW4pOworCit2YXIg
YnVpbHRpbjIgPSAkdm0uY3JlYXRlQnVpbHRpbihgKGZ1bmN0aW9uIChhKSB7CisgICAgaWYgKEBp
c1Byb3h5T2JqZWN0KGEpKSB7CisgICAgICAgIGlmICh0eXBlb2YgYSA9PT0gImZ1bmN0aW9uIikK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9KWAp
Oworbm9JbmxpbmUoYnVpbHRpbjIpOworCitsZXQgcCA9IG5ldyBQcm94eShmdW5jdGlvbigpe30s
IHt9KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGFzc2VydChidWls
dGluKHApID09PSB0cnVlKTsKKyAgICBhc3NlcnQoYnVpbHRpbjIocCkgPT09IHRydWUpOworfQpJ
bmRleDogSlNUZXN0cy9zdHJlc3MvYWktdHlwZW9mLW5lZWRzLXRvLWJlLWF3YXJlLW9mLXByb3h5
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2FpLXR5cGVvZi1uZWVkcy10by1iZS1h
d2FyZS1vZi1wcm94eS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9haS10eXBl
b2YtbmVlZHMtdG8tYmUtYXdhcmUtb2YtcHJveHkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93
IG5ldyBFcnJvcjsKK30KKwordmFyIGJ1aWx0aW4gPSAkdm0uY3JlYXRlQnVpbHRpbihgKGZ1bmN0
aW9uIChhKSB7CisgICAgaWYgKEBpc1Byb3h5T2JqZWN0KGEpKQorICAgICAgICByZXR1cm4gdHlw
ZW9mIGE7Cit9KWApOworCitub0lubGluZShidWlsdGluKTsKKworbGV0IHAgPSBuZXcgUHJveHko
ZnVuY3Rpb24oKXt9LCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpCisgICAg
YXNzZXJ0KGJ1aWx0aW4ocCkgPT09ICJmdW5jdGlvbiIpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
aXMtY2FsbGFibGUtaW4tZnRsLW5lZWRzLXRvLWJlLWF3YXJlLW9mLXByb3h5LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2lzLWNhbGxhYmxlLWluLWZ0bC1uZWVkcy10by1iZS1hd2Fy
ZS1vZi1wcm94eS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9pcy1jYWxsYWJs
ZS1pbi1mdGwtbmVlZHMtdG8tYmUtYXdhcmUtb2YtcHJveHkuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxNiBAQAorLy9AIHJ1bkRlZmF1bHQoIi0tdmFsaWRhdGVPcHRpb25zPXRydWUgLS11
c2VDb25jdXJyZW50SklUPWZhbHNlIiwgIi0tdXNlQ29uY3VycmVudEdDPWZhbHNlIiwgIi0tdGhy
ZXNob2xkRm9ySklUU29vbj0xMCIsICItLXRocmVzaG9sZEZvckpJVEFmdGVyV2FybVVwPTEwIiwg
Ii0tdGhyZXNob2xkRm9yT3B0aW1pemVBZnRlcldhcm1VcD0xMDAiLCAiLS10aHJlc2hvbGRGb3JP
cHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcD0xMDAiLCAiLS10aHJlc2hvbGRGb3JPcHRpbWl6ZVNvb249
MTAwIiwgIi0tdGhyZXNob2xkRm9yRlRMT3B0aW1pemVBZnRlcldhcm1VcD0xMDAwIiwgIi0tdGhy
ZXNob2xkRm9yRlRMT3B0aW1pemVTb29uPTEwMDAiLCAiLS12YWxpZGF0ZUJDRT10cnVlIiwgIi0t
dXNlRlRMSklUPXRydWUiKQorCitmdW5jdGlvbiBtYWluKCkgeworICAgIGxldCB2MTYyOworICAg
IGNvbnN0IHYyNSA9IHtfX3Byb3RvX186Im5hbWUifTsKKyAgICAKKyAgICBmb3IgKGxldCB2MTEz
ID0gMDsgdjExMyA8IDI1NTsgdjExMysrKSB7CisgICAgICAgIGNvbnN0IHYxNDEgPSBuZXcgUHJv
eHkoT2JqZWN0LHYyNSk7CisgICAgICAgIGNvbnN0IHYxNDUgPSB2MTQxWyJiaW5kIl0oKTsKKyAg
ICAgICAgLy8gd2hlbiBydW5uaW5nIHdpdGggRlRMLCB0aGUgcHJldmlvdXMgbGluZSByYWlzZXMg
YSBKUyBleGNlcHRpb246CisgICAgICAgIC8vIFR5cGVFcnJvcjogfHRoaXN8IGlzIG5vdCBhIGZ1
bmN0aW9uIGluc2lkZSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZAorICAgICAgICAvLyB3aXRob3V0
IEZUTCBvciBpbiB2OCB0aGlzIGRvZXNuJ3QgdGhyb3cuCisKKyAgICB9ICAgCit9CittYWluKCk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4MzI4MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBA
QAorMjAyMS0wOS0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAg
ICBUaGUgREZHL0ZUTCBuZWVkIHRvIGJlIGF3YXJlIHRoYXQgUHJveHkncyBjYW4gcHJvZHVjZSAi
ZnVuY3Rpb24iIGZvciB0eXBlb2YgYW5kIG1pZ2h0IGJlIGNhbGxhYmxlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA4MDQKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzgzNTQzOTUxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgYSBjb3VwbGUgYnVnczoKKyAgICAgICAgLSBX
ZSB3ZXJlIGNvbnN0YW50IGZvbGRpbmcgdHlwZW9mIG9uIFByb3h5T2JqZWN0IHRvICJvYmplY3Qi
CisgICAgICAgICAgZXZlbiB3aGVuIFByb3h5T2JqZWN0IG1pZ2h0IHByb2R1Y2UgYSBjYWxsYWJs
ZSBQcm94eSwgYW5kIGhlbmNlLAorICAgICAgICAgIHNob3VsZCBwcm9kdWNlICJmdW5jdGlvbiIu
IFRoaXMgd2FzIGEgYnVnIGluIEFJLgorICAgICAgICAtIFRoaXMgYWxzbyBmaXhlcyBhIHNpbWls
YXIgYnVnIGluIElzQ2FsbGFibGUncyBpbXBsZW1lbnRhdGlvbiBpbgorICAgICAgICAgIHRoZSBG
VEwgd2hlcmUgd2UgYXNzdW1lZCB0aGF0IFByb3h5T2JqZWN0J3MgdHlwZSBjYW4ndCBiZSBjYWxs
YWJsZS4KKworICAgICAgICAqIGJ5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmg6CisgICAgICAgICog
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToK
KyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUNvbXBhcmVTdHJpY3RFcSk6CisKIDIwMjEtMDktMjkg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBSZW1v
dmUgQ29kZUJsb2NrOjptX2xsaW50RXhlY3V0ZUNvdW50ZXIKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oCShyZXZpc2lvbiAyODMyODEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTE2LDYgKzExNiw4IEBAIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY0hlYXAKIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0J5dGVj
b2RlVG9wICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNIZWFwVG9wIHwgU3BlY0VtcHR5OyAv
LyBJdCBjYW4gYmUgYW55IG9mIHRoZSBhYm92ZSwgZXhjZXB0IGZvciBTcGVjSW50NTJPbmx5IGFu
ZCBTcGVjRG91YmxlSW1wdXJlTmFOLiBDb3JyZXNwb25kcyB0byB3aGF0IGNvdWxkIGJlIGZvdW5k
IGluIGEgYnl0ZWNvZGUgbG9jYWwuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNw
ZWNGdWxsVG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjQnl0ZWNvZGVUb3AgfCBT
cGVjRnVsbE51bWJlcjsgLy8gSXQgY2FuIGJlIGFueXRoaW5nIHRoYXQgYnl0ZWNvZGUgY291bGQg
c2VlIHBsdXMgZXhvdGljIGVuY29kaW5ncyBvZiBudW1iZXJzLgogCitzdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNUeXBlb2ZNaWdodEJlRnVuY3Rpb24gICAgICAgICAgICAgPSBT
cGVjRnVuY3Rpb24gfCBTcGVjT2JqZWN0T3RoZXIgfCBTcGVjUHJveHlPYmplY3Q7IC8vIElmIHlv
dSBkb24ndCBzZWUgdGhlc2UgdHlwZXMsIHlvdSBjYW4ndCBiZSBjYWxsYWJsZSwgYW5kIHlvdSBj
YW4ndCBoYXZlIHR5cGVvZiBwcm9kdWNlICJmdW5jdGlvbiIuIEludmVyc2UgaXMgbm90IHRydWUs
IGhvd2V2ZXIuIElmIHlvdSBvbmx5IHNlZSB0aGVzZSB0eXBlcywgeW91IG1heSBwcm9kdWNlIG1v
cmUgdGhpbmdzIHRoYW4gImZ1bmN0aW9uIiBpbiB0eXBlb2YsIGFuZCB5b3UgbWlnaHQgbm90IGJl
IGNhbGxhYmxlLgorCiAvLyBTcGVjQ2VsbENoZWNrIGlzIHRoZSB0eXBlIHNldCByZXByZXNlbnRp
bmcgdGhlIHZhbHVlcyB0aGF0IGNhbiBmbG93IHRocm91Z2ggYSBjZWxsIGNoZWNrLgogLy8gT24g
NjQtYml0IHBsYXRmb3JtcywgdGhlIGVtcHR5IHZhbHVlIHBhc3NlcyBhIGNlbGwgY2hlY2suIEFs
c28sIH5TcGVjQ2VsbENoZWNrIGlzIHRoZSB0eXBlCiAvLyBzZXQgdGhhdCByZXByZXNlbnRpbmcg
dGhlIHZhbHVlcyB0aGF0IGZsb3cgdGhyb3VnaCB3aGVuIHRlc3RpbmcgdGhhdCBzb21ldGhpbmcg
aXMgbm90IGEgY2VsbC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHJldmlzaW9uIDI4MzI4MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTYxOSw3ICsxNjE5LDcgQEAgYm9vbCBBYnN0cmFjdElu
dGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAgICAgICAgLy8gSXMgdGhlIGNoaWxkJ3Mg
dHlwZSBhbiBvYmplY3QgdGhhdCBpc24ndCBhbiBvdGhlci1vYmplY3QgKGkuZS4gb2JqZWN0IHRo
YXQgY291bGQKICAgICAgICAgICAgIC8vIGhhdmUgbWFzcXVhcmVkZXMtYXMtdW5kZWZpbmVkIHRy
YXBzKSBhbmQgaXNuJ3QgYSBmdW5jdGlvbj8gVGhlbjogd2Ugc2hvdWxkIGZvbGQKICAgICAgICAg
ICAgIC8vIHRoaXMgdG8gdHJ1ZS4KLSAgICAgICAgICAgIGlmICghKGNoaWxkLm1fdHlwZSAmIH4o
U3BlY09iamVjdCAtIFNwZWNPYmplY3RPdGhlciAtIFNwZWNGdW5jdGlvbikpKSB7CisgICAgICAg
ICAgICBpZiAoIShjaGlsZC5tX3R5cGUgJiB+KFNwZWNPYmplY3QgLSBTcGVjVHlwZW9mTWlnaHRC
ZUZ1bmN0aW9uKSkpIHsKICAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jvb2xl
YW4odHJ1ZSkpOwogICAgICAgICAgICAgICAgIGNvbnN0YW50V2FzU2V0ID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICBicmVhazsKQEAgLTE3MzIsNyArMTczMiw3IEBAIGJvb2wgQWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCEoY2hpbGQubV90eXBlICYgKFNw
ZWNGdW5jdGlvbiB8IFNwZWNPYmplY3RPdGhlciB8IFNwZWNQcm94eU9iamVjdCkpKSB7CisgICAg
ICAgICAgICBpZiAoIShjaGlsZC5tX3R5cGUgJiBTcGVjVHlwZW9mTWlnaHRCZUZ1bmN0aW9uKSkg
ewogICAgICAgICAgICAgICAgIHNldENvbnN0YW50KG5vZGUsIGpzQm9vbGVhbihmYWxzZSkpOwog
ICAgICAgICAgICAgICAgIGNvbnN0YW50V2FzU2V0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBi
cmVhazsKQEAgLTE4MTEsNyArMTgxMSw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0
cmFjdFN0YXRlVHkKIAogICAgICAgICAvLyBGSVhNRTogV2UgY291bGQgdXNlIHRoZSBtYXNxdWVy
YWRlcy1hcy11bmRlZmluZWQgd2F0Y2hwb2ludCBoZXJlLgogICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDU2Ci0gICAgICAgIGlmICghKGFic3Ry
YWN0Q2hpbGQubV90eXBlICYgfihTcGVjT2JqZWN0IC0gU3BlY09iamVjdE90aGVyIC0gU3BlY0Z1
bmN0aW9uKSkpIHsKKyAgICAgICAgaWYgKCEoYWJzdHJhY3RDaGlsZC5tX3R5cGUgJiB+KFNwZWNP
YmplY3QgLSBTcGVjVHlwZW9mTWlnaHRCZUZ1bmN0aW9uKSkpIHsKICAgICAgICAgICAgIHNldENv
bnN0YW50KG5vZGUsICptX2dyYXBoLmZyZWV6ZShtX3ZtLnNtYWxsU3RyaW5ncy5vYmplY3RTdHJp
bmcoKSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDI4MzI4MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTk1NDEsNyArMTk1NDEsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgCiAg
ICAgTFZhbHVlIGlzRXhvdGljRm9yVHlwZW9mKExWYWx1ZSBjZWxsLCBTcGVjdWxhdGVkVHlwZSB0
eXBlID0gU3BlY0Z1bGxUb3ApCiAgICAgewotICAgICAgICBpZiAoISh0eXBlICYgU3BlY09iamVj
dE90aGVyKSkKKyAgICAgICAgaWYgKCEodHlwZSAmIChTcGVjT2JqZWN0T3RoZXIgfCBTcGVjUHJv
eHlPYmplY3QpKSkKICAgICAgICAgICAgIHJldHVybiBtX291dC5ib29sZWFuRmFsc2U7CiAgICAg
ICAgIHJldHVybiBtX291dC50ZXN0Tm9uWmVybzMyKAogICAgICAgICAgICAgbV9vdXQubG9hZDha
ZXJvRXh0MzIoY2VsbCwgbV9oZWFwcy5KU0NlbGxfdHlwZUluZm9GbGFncyksCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>