<?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>115939</bug_id>
          
          <creation_ts>2013-05-10 15:11:24 -0700</creation_ts>
          <short_desc>fourthTier: FTL should support CompareEqConstant</short_desc>
          <delta_ts>2013-05-10 15:22:03 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>112840</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>887638</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-10 15:11:24 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887639</commentid>
    <comment_count>1</comment_count>
      <attachid>201430</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-10 15:12:49 -0700</bug_when>
    <thetext>Created attachment 201430
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887640</commentid>
    <comment_count>2</comment_count>
      <attachid>201430</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-05-10 15:21:21 -0700</bug_when>
    <thetext>Comment on attachment 201430
the patch

r=me too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887641</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-10 15:22:03 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/149908</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201430</attachid>
            <date>2013-05-10 15:12:49 -0700</date>
            <delta_ts>2013-05-10 15:21:21 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>22346</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ5OTA3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBA
CisyMDEzLTA1LTEwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogRlRMIHNob3VsZCBzdXBwb3J0IENvbXBhcmVFcUNvbnN0YW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU5MzkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoZSBtb3N0
IGludGVyZXN0aW5nIHBhcnQgb2YgdGhpcyBwYXRjaCBpcyB0aGUgd2F5IEkgbWFrZSBpdCBlYXNp
ZXIgdG8gZGVhbCB3aXRoCisgICAgICAgIHRoZSBpbnB1dHMgdG8gUGhpIGZ1bmN0aW9ucy4gVGhp
cyBhZGRzIHRoZSBub3Rpb24gb2YgVmFsdWVGcm9tQmxvY2ssIHdoaWNoIHlvdQorICAgICAgICBj
YW4gZ2V0IGJ5IGRvaW5nIG1fb3V0LmFuY2hvcih2YWx1ZSkuIFlvdSBjYW4gYnVpbGQgdXAgYSB2
ZWN0b3Igb2YgdGhlc2UsIGFuZCB0aGVuCisgICAgICAgIHBhc3MgdGhlbSB0byBtX291dC5waGko
dHlwZSwgdmVjdG9yKSBpbiBvbmUgZ28uCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGZ0bC9GVExBYmJyZXZpYXRlZFR5cGVz
Lmg6IEFkZGVkLgorICAgICAgICAoRlRMKToKKyAgICAgICAgKiBmdGwvRlRMQWJicmV2aWF0aW9u
cy5oOgorICAgICAgICAoRlRMKToKKyAgICAgICAgKEpTQzo6RlRMOjphZGRJbmNvbWluZyk6Cisg
ICAgICAgIChKU0M6OkZUTDo6YnVpbGRQaGkpOgorICAgICAgICAqIGZ0bC9GVExBYnN0cmFjdEhl
YXBSZXBvc2l0b3J5Lmg6CisgICAgICAgIChGVEwpOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmls
aXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0
bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xM
Vk06OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29t
cGlsZUNvbXBhcmVFcUNvbnN0YW50KToKKyAgICAgICAgKExvd2VyREZHVG9MTFZNKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6bG93RG91YmxlKToKKyAgICAgICAgKEpTQzo6
RlRMOjpMb3dlckRGR1RvTExWTTo6bWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnRJZklz
U3RpbGxWYWxpZCk6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgorICAgICAgICAoSlNDOjpG
VEw6Ok91dHB1dDo6cGhpKToKKyAgICAgICAgKE91dHB1dCk6CisgICAgICAgIChKU0M6OkZUTDo6
T3V0cHV0OjphbmNob3IpOgorICAgICAgICAqIGZ0bC9GVExWYWx1ZUZyb21CbG9jay5oOiBBZGRl
ZC4KKyAgICAgICAgKEZUTCk6CisgICAgICAgIChWYWx1ZUZyb21CbG9jayk6CisgICAgICAgIChK
U0M6OkZUTDo6VmFsdWVGcm9tQmxvY2s6OlZhbHVlRnJvbUJsb2NrKToKKyAgICAgICAgKEpTQzo6
RlRMOjpWYWx1ZUZyb21CbG9jazo6dmFsdWUpOgorICAgICAgICAoSlNDOjpGVEw6OlZhbHVlRnJv
bUJsb2NrOjpibG9jayk6CisKIDIwMTMtMDUtMTAgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxl
LmNvbT4KIAogICAgICAgICBmb3VydGhUaWVyOiBGVEwgc2hvdWxkIHN1cHBvcnQgQ29tcGFyZVN0
cmljdEVxCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTQ5ODk2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTMxNiw2ICszMTYsOCBAQAogCQkwRkQ4MkU1
NjE0MURBRjA4MDAxNzlDOTQgLyogREZHT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODJFNTIxNDFEQUVERTAwMTc5Qzk0IC8qIERG
R09TUkVudHJ5LmNwcCAqLzsgfTsKIAkJMEZEODJFNTcxNDFEQUYxMDAwMTc5Qzk0IC8qIERGR09T
UkVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkQ4MkU1MzE0MURBRURFMDAxNzlDOTQgLyogREZHT1NSRW50cnkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkQ4MkU4NjE0MUYzRkYxMDAxNzlD
OTQgLyogU3BlY3VsYXRlZFR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZEODJFODQxNDFGM0ZEQTAwMTc5Qzk0IC8qIFNwZWN1bGF0ZWRUeXBl
LmNwcCAqLzsgfTsKKwkJMEZEQjJDQzkxNzNEQTUyMDAwN0IzQzFCIC8qIEZUTEFiYnJldmlhdGVk
VHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
REIyQ0M3MTczREE1MUUwMDdCM0MxQiAvKiBGVExBYmJyZXZpYXRlZFR5cGVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEZEQjJDQ0ExNzNEQTUy
MzAwN0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkRCMkNDODE3M0RBNTFFMDA3QjNDMUIgLyogRlRMVmFs
dWVGcm9tQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwRkREQkZCNTE2NjZFRUQ4MDBDNTVGRUYgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRh
RHVtcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkREQkZCMjE2NjZFRUQ1MDBDNTVGRUYgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRhRHVtcC5jcHAg
Ki87IH07CiAJCTBGRERCRkI2MTY2NkVFREEwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0Rh
dGFEdW1wLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkREQkZCMzE2NjZFRUQ1MDBDNTVGRUYgLyogREZHVmFyaWFibGVBY2Nlc3NEYXRhRHVtcC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGRTIyOEVE
MTQzNkFCMjcwMDE5NkM0OCAvKiBPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkUyMjhFQjE0MzZBQjIzMDAxOTZDNDggLyogT3B0aW9ucy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMzAy
LDYgKzEzMDQsOCBAQAogCQkwRkQ4MkU1MjE0MURBRURFMDAxNzlDOTQgLyogREZHT1NSRW50cnku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHT1NSRW50cnkuY3Bw
OyBwYXRoID0gZGZnL0RGR09TUkVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZEODJFNTMxNDFEQUVERTAwMTc5Qzk0IC8qIERGR09TUkVudHJ5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR09TUkVudHJ5Lmg7IHBhdGggPSBkZmcvREZHT1NSRW50
cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZEODJFODQxNDFGM0ZEQTAwMTc5
Qzk0IC8qIFNwZWN1bGF0ZWRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNwZWN1bGF0ZWRUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZEQjJDQzcxNzNEQTUxRTAwN0IzQzFCIC8qIEZUTEFiYnJldmlhdGVkVHlwZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRlRMQWJicmV2aWF0ZWRUeXBlcy5oOyBwYXRoID0gZnRsL0ZUTEFiYnJldmlhdGVk
VHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZEQjJDQzgxNzNEQTUxRTAw
N0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFZhbHVlRnJv
bUJsb2NrLmg7IHBhdGggPSBmdGwvRlRMVmFsdWVGcm9tQmxvY2suaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEZEREJGQjIxNjY2RUVENTAwQzU1RkVGIC8qIERGR1ZhcmlhYmxlQWNj
ZXNzRGF0YUR1bXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZH
VmFyaWFibGVBY2Nlc3NEYXRhRHVtcC5jcHA7IHBhdGggPSBkZmcvREZHVmFyaWFibGVBY2Nlc3NE
YXRhRHVtcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRERCRkIzMTY2NkVF
RDUwMEM1NUZFRiAvKiBERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR1ZhcmlhYmxlQWNjZXNzRGF0YUR1bXAuaDsgcGF0aCA9IGRm
Zy9ERkdWYXJpYWJsZUFjY2Vzc0RhdGFEdW1wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGRTIyOEVBMTQzNkFCMjMwMDE5NkM0OCAvKiBPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9wdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjEwNSw2ICsyMTA5LDcgQEAKIAkJMEZFQTA5RkMxNzA1MTM3RjAwQkI3MjJD
IC8qIGZ0bCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJ
MEZEQjJDQzcxNzNEQTUxRTAwN0IzQzFCIC8qIEZUTEFiYnJldmlhdGVkVHlwZXMuaCAqLywKIAkJ
CQkwRkVBMDlGRDE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQWJicmV2aWF0aW9ucy5oICovLAogCQkJ
CTBGRUEwQTE3MTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXAuY3BwICovLAogCQkJ
CTBGRUEwQTE4MTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXAuaCAqLywKQEAgLTIx
NTEsNiArMjE1Niw3IEBACiAJCQkJMEZFQTBBMUIxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTFR5cGVk
UG9pbnRlci5oICovLAogCQkJCTBGMjM1QkNEMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZv
cm1hdC5jcHAgKi8sCiAJCQkJMEYyMzVCQ0UxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlRm9y
bWF0LmggKi8sCisJCQkJMEZEQjJDQzgxNzNEQTUxRTAwN0IzQzFCIC8qIEZUTFZhbHVlRnJvbUJs
b2NrLmggKi8sCiAJCQkJMEYyMzVCQ0YxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlU291cmNl
LmNwcCAqLywKIAkJCQkwRjIzNUJEMDE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3VyY2Uu
aCAqLywKIAkJCQkwRjZFNUMxODE3MjRBRjNEMDA1QzU3NEYgLyogV2ViS2l0TExWTUxpYnJhcnlB
bmNob3IuY3BwICovLApAQCAtMzQyNyw2ICszNDMzLDcgQEAKIAkJCQkwRjkxOUQwRDE1N0VFMEEy
MDA0QTRFN0QgLyogSlNTeW1ib2xUYWJsZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMx
OEM0MkEwRTE2RjVDRDAwQjM0NDYwIC8qIEpTVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjUw
N0QyOUUwRTg3MUU1RTAwRDdEODk2IC8qIEpTVHlwZUluZm8uaCBpbiBIZWFkZXJzICovLAorCQkJ
CTBGREIyQ0NBMTczREE1MjMwMDdCM0MxQiAvKiBGVExWYWx1ZUZyb21CbG9jay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODZFM0M2MTIxNjdCQUJENzAwNkQ3NjBBIC8qIEpTVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGNzAyNUFBMTcxNEIwRkMwMDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGls
ZXJDb21tb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDJDMEUxNkY1Q0QwMEIzNDQ2MCAv
KiBKU1ZhbHVlUmVmLmggaW4gSGVhZGVycyAqLywKQEAgLTM1NDEsNiArMzU0OCw3IEBACiAJCQkJ
MEZGNzI5QkUxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyRXhlY3V0aW9uQ291bnRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEZGNzI5QkYxNjZBRDM2MDAwMEY1QkEzIC8qIFByb2ZpbGVyT3Jp
Z2luLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkY3MjlDMDE2NkFEMzYwMDAwRjVCQTMgLyogUHJv
ZmlsZXJPcmlnaW5TdGFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZEQjJDQzkxNzNEQTUyMDAw
N0IzQzFCIC8qIEZUTEFiYnJldmlhdGVkVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQjEw
NThDMTY3NTQ4MzMwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGQjEwNThFMTY3NTQ4M0EwMEY4QUI2RSAvKiBQcm9maWxlck9TUkV4aXRTaXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjIzNUJFNjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMVmFsdWVTb3Vy
Y2UuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExB
YmJyZXZpYXRlZFR5cGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
Zm5kZWYgRlRMQWJicmV2aWF0ZWRUeXBlc19oCisjZGVmaW5lIEZUTEFiYnJldmlhdGVkVHlwZXNf
aAorCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisKKyNpZiBFTkFCTEUoRlRMX0pJVCkKKwor
I2luY2x1ZGUgIkZUTExMVk1IZWFkZXJzLmgiCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
RlRMIHsKKwordHlwZWRlZiBMTFZNQmFzaWNCbG9ja1JlZiBMQmFzaWNCbG9jazsKK3R5cGVkZWYg
TExWTUJ1aWxkZXJSZWYgTEJ1aWxkZXI7Cit0eXBlZGVmIExMVk1DYWxsQ29udiBMQ2FsbENvbnY7
Cit0eXBlZGVmIExMVk1JbnRQcmVkaWNhdGUgTEludFByZWRpY2F0ZTsKK3R5cGVkZWYgTExWTVJl
YWxQcmVkaWNhdGUgTFJlYWxQcmVkaWNhdGU7Cit0eXBlZGVmIExMVk1MaW5rYWdlIExMaW5rYWdl
OwordHlwZWRlZiBMTFZNTW9kdWxlUmVmIExNb2R1bGU7Cit0eXBlZGVmIExMVk1UeXBlUmVmIExU
eXBlOwordHlwZWRlZiBMTFZNVmFsdWVSZWYgTFZhbHVlOworCit9IH0gLy8gbmFtZXNwYWNlIEpT
Qzo6RlRMCisKKyNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKKworI2VuZGlmIC8vIEZUTEFiYnJl
dmlhdGVkVHlwZXNfaAorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJl
dmlhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFi
YnJldmlhdGlvbnMuaAkocmV2aXNpb24gMTQ5ODk2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYmJyZXZpYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDggQEAK
IAogI2lmIEVOQUJMRShGVExfSklUKQogCi0jaW5jbHVkZSAiRlRMTExWTUhlYWRlcnMuaCIKKyNp
bmNsdWRlICJGVExBYmJyZXZpYXRlZFR5cGVzLmgiCisjaW5jbHVkZSAiRlRMVmFsdWVGcm9tQmxv
Y2suaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCkBAIC00MywxNiArNDQs
NiBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAjZXJyb3IgIlRoZSBGVEwgYmFj
a2VuZCBhc3N1bWVzIHRoYXQgcG9pbnRlcnMgYXJlIDY0LWJpdC4iCiAjZW5kaWYKIAotdHlwZWRl
ZiBMTFZNQmFzaWNCbG9ja1JlZiBMQmFzaWNCbG9jazsKLXR5cGVkZWYgTExWTUJ1aWxkZXJSZWYg
TEJ1aWxkZXI7Ci10eXBlZGVmIExMVk1DYWxsQ29udiBMQ2FsbENvbnY7Ci10eXBlZGVmIExMVk1J
bnRQcmVkaWNhdGUgTEludFByZWRpY2F0ZTsKLXR5cGVkZWYgTExWTVJlYWxQcmVkaWNhdGUgTFJl
YWxQcmVkaWNhdGU7Ci10eXBlZGVmIExMVk1MaW5rYWdlIExMaW5rYWdlOwotdHlwZWRlZiBMTFZN
TW9kdWxlUmVmIExNb2R1bGU7Ci10eXBlZGVmIExMVk1UeXBlUmVmIExUeXBlOwotdHlwZWRlZiBM
TFZNVmFsdWVSZWYgTFZhbHVlOwotCiBzdGF0aWMgaW5saW5lIExUeXBlIHZvaWRUeXBlKCkgeyBy
ZXR1cm4gTExWTVZvaWRUeXBlKCk7IH0KIHN0YXRpYyBpbmxpbmUgTFR5cGUgaW50MVR5cGUoKSB7
IHJldHVybiBMTFZNSW50MVR5cGUoKTsgfQogc3RhdGljIGlubGluZSBMVHlwZSBpbnQ4VHlwZSgp
IHsgcmV0dXJuIExMVk1JbnQ4VHlwZSgpOyB9CkBAIC0xNDksMzQgKzE0MCwyOSBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgYWRkSW5jb21pbmcoTFZhbHVlIHBoCiB7CiAgICAgTExWTUFkZEluY29taW5n
KHBoaSwgY29uc3RfY2FzdDxMVmFsdWUqPih2YWx1ZXMpLCBjb25zdF9jYXN0PExCYXNpY0Jsb2Nr
Kj4oYmxvY2tzKSwgbnVtUHJlZGVjZXNzb3JzKTsKIH0KLXRlbXBsYXRlPHR5cGVuYW1lIFZhbHVl
VmVjdG9yVHlwZSwgdHlwZW5hbWUgQmxvY2tWZWN0b3JUeXBlPgotc3RhdGljIGlubGluZSB2b2lk
IGFkZEluY29taW5nKExWYWx1ZSBwaGksIGNvbnN0IFZhbHVlVmVjdG9yVHlwZSYgdmFsdWVzLCBj
b25zdCBCbG9ja1ZlY3RvclR5cGUmIGJsb2NrcykKLXsKLSAgICBBU1NFUlQodmFsdWVzLnNpemUo
KSA9PSBibG9ja3Muc2l6ZSgpKTsKLSAgICBhZGRJbmNvbWluZyhwaGksIHZhbHVlcy5iZWdpbigp
LCBibG9ja3MuYmVnaW4oKSwgdmFsdWVzLnNpemUoKSk7Ci19Ci1zdGF0aWMgaW5saW5lIHZvaWQg
YWRkSW5jb21pbmcoTFZhbHVlIHBoaSwgTFZhbHVlIHZhbHVlMSwgTEJhc2ljQmxvY2sgYmxvY2sx
KQorc3RhdGljIGlubGluZSB2b2lkIGFkZEluY29taW5nKExWYWx1ZSBwaGksIFZhbHVlRnJvbUJs
b2NrIHZhbHVlMSkKIHsKLSAgICBhZGRJbmNvbWluZyhwaGksICZ2YWx1ZTEsICZibG9jazEsIDEp
OworICAgIExWYWx1ZSB2YWx1ZSA9IHZhbHVlMS52YWx1ZSgpOworICAgIExCYXNpY0Jsb2NrIGJs
b2NrID0gdmFsdWUxLmJsb2NrKCk7CisgICAgYWRkSW5jb21pbmcocGhpLCAmdmFsdWUsICZibG9j
aywgMSk7CiB9Ci1zdGF0aWMgaW5saW5lIHZvaWQgYWRkSW5jb21pbmcoTFZhbHVlIHBoaSwgTFZh
bHVlIHZhbHVlMSwgTEJhc2ljQmxvY2sgYmxvY2sxLCBMVmFsdWUgdmFsdWUyLCBMQmFzaWNCbG9j
ayBibG9jazIpCitzdGF0aWMgaW5saW5lIHZvaWQgYWRkSW5jb21pbmcoTFZhbHVlIHBoaSwgVmFs
dWVGcm9tQmxvY2sgdmFsdWUxLCBWYWx1ZUZyb21CbG9jayB2YWx1ZTIpCiB7Ci0gICAgTFZhbHVl
IHZhbHVlc1tdID0geyB2YWx1ZTEsIHZhbHVlMiB9OwotICAgIExCYXNpY0Jsb2NrIGJsb2Nrc1td
ID0geyBibG9jazEsIGJsb2NrMiB9OworICAgIExWYWx1ZSB2YWx1ZXNbXSA9IHsgdmFsdWUxLnZh
bHVlKCksIHZhbHVlMi52YWx1ZSgpIH07CisgICAgTEJhc2ljQmxvY2sgYmxvY2tzW10gPSB7IHZh
bHVlMS5ibG9jaygpLCB2YWx1ZTIuYmxvY2soKSB9OwogICAgIGFkZEluY29taW5nKHBoaSwgdmFs
dWVzLCBibG9ja3MsIDIpOwogfQotc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRQaGkoTEJ1aWxk
ZXIgYnVpbGRlciwgTFR5cGUgdHlwZSwgTFZhbHVlIHZhbHVlMSwgTEJhc2ljQmxvY2sgYmxvY2sx
KQorc3RhdGljIGlubGluZSBMVmFsdWUgYnVpbGRQaGkoTEJ1aWxkZXIgYnVpbGRlciwgTFR5cGUg
dHlwZSwgVmFsdWVGcm9tQmxvY2sgdmFsdWUxKQogewogICAgIExWYWx1ZSByZXN1bHQgPSBidWls
ZFBoaShidWlsZGVyLCB0eXBlKTsKLSAgICBhZGRJbmNvbWluZyhyZXN1bHQsIHZhbHVlMSwgYmxv
Y2sxKTsKKyAgICBhZGRJbmNvbWluZyhyZXN1bHQsIHZhbHVlMSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGJ1aWxkUGhpKAotICAgIExCdWlsZGVyIGJ1aWxk
ZXIsIExUeXBlIHR5cGUsIExWYWx1ZSB2YWx1ZTEsIExCYXNpY0Jsb2NrIGJsb2NrMSwgTFZhbHVl
IHZhbHVlMiwKLSAgICBMQmFzaWNCbG9jayBibG9jazIpCisgICAgTEJ1aWxkZXIgYnVpbGRlciwg
TFR5cGUgdHlwZSwgVmFsdWVGcm9tQmxvY2sgdmFsdWUxLCBWYWx1ZUZyb21CbG9jayB2YWx1ZTIp
CiB7CiAgICAgTFZhbHVlIHJlc3VsdCA9IGJ1aWxkUGhpKGJ1aWxkZXIsIHR5cGUpOwotICAgIGFk
ZEluY29taW5nKHJlc3VsdCwgdmFsdWUxLCBibG9jazEsIHZhbHVlMiwgYmxvY2syKTsKKyAgICBh
ZGRJbmNvbWluZyhyZXN1bHQsIHZhbHVlMSwgdmFsdWUyKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9z
aXRvcnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuaAkocmV2aXNpb24gMTQ5ODk2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3Jv
KEpTQ2VsbF9zdHJ1Y3R1cmUsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpIFwKICAgICBtYWNy
byhKU09iamVjdF9idXR0ZXJmbHksIEpTT2JqZWN0OjpidXR0ZXJmbHlPZmZzZXQoKSkgXAogICAg
IG1hY3JvKEJ1dHRlcmZseV9wdWJsaWNMZW5ndGgsIEJ1dHRlcmZseTo6b2Zmc2V0T2ZQdWJsaWNM
ZW5ndGgoKSkgXAorICAgIG1hY3JvKFN0cnVjdHVyZV9nbG9iYWxPYmplY3QsIFN0cnVjdHVyZTo6
Z2xvYmFsT2JqZWN0T2Zmc2V0KCkpIFwKICAgICBtYWNybyhTdHJ1Y3R1cmVfdHlwZUluZm9GbGFn
cywgU3RydWN0dXJlOjp0eXBlSW5mb0ZsYWdzT2Zmc2V0KCkpCiAKICNkZWZpbmUgRk9SX0VBQ0hf
SU5ERVhFRF9BQlNUUkFDVF9IRUFQKG1hY3JvKSBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCShyZXZpc2lvbiAxNDk5MDApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwMCw2ICsxMDAsNyBAQCBib29sIGNhbkNvbXBpbGUoR3JhcGgmIGdyYXBoKQogICAgICAg
ICAgICAgY2FzZSBBcml0aE5lZ2F0ZToKICAgICAgICAgICAgIGNhc2UgVUludDMyVG9OdW1iZXI6
CiAgICAgICAgICAgICBjYXNlIEludDMyVG9Eb3VibGU6CisgICAgICAgICAgICBjYXNlIENvbXBh
cmVFcUNvbnN0YW50OgogICAgICAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBPSy4KICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgR2V0QXJyYXlMZW5ndGg6CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkocmV2
aXNpb24gMTQ5OTAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
TExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2NCw2ICszNjQsOSBAQCBwcml2YXRlOgogICAg
ICAgICBjYXNlIENvbXBhcmVFcToKICAgICAgICAgICAgIGNvbXBpbGVDb21wYXJlRXEoKTsKICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENvbXBhcmVFcUNvbnN0YW50OgorICAgICAg
ICAgICAgY29tcGlsZUNvbXBhcmVFcUNvbnN0YW50KCk7CisgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBDb21wYXJlU3RyaWN0RXE6CiAgICAgICAgICAgICBjb21waWxlQ29tcGFyZVN0
cmljdEVxKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTk2NSw2ICs5NjgsNjIgQEAgcHJpdmF0
ZToKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAgICAgCisg
ICAgdm9pZCBjb21waWxlQ29tcGFyZUVxQ29uc3RhbnQoKQorICAgIHsKKyAgICAgICAgQVNTRVJU
KG1fZ3JhcGgudmFsdWVPZkpTQ29uc3RhbnQobV9ub2RlLT5jaGlsZDIoKS5ub2RlKCkpLmlzTnVs
bCgpKTsKKyAgICAgICAgCisgICAgICAgIGJvb2wgdmFsaWRXYXRjaHBvaW50ID0gbWFzcXVlcmFk
ZXNBc1VuZGVmaW5lZFdhdGNocG9pbnRJZklzU3RpbGxWYWxpZCgpOworICAgICAgICAKKyAgICAg
ICAgTFZhbHVlIHZhbHVlID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
CisgICAgICAgIExCYXNpY0Jsb2NrIGNlbGxDYXNlID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJD
b21wYXJlRXFDb25zdGFudCBjZWxsIGNhc2UiKSk7CisgICAgICAgIExCYXNpY0Jsb2NrIHByaW1p
dGl2ZUNhc2UgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkNvbXBhcmVFcUNvbnN0YW50IHByaW1p
dGl2ZSBjYXNlIikpOworICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVX
X0JMT0NLKG1fb3V0LCAoIkNvbXBhcmVFcUNvbnN0YW50IGNvbnRpbnVhdGlvbiIpKTsKKyAgICAg
ICAgCisgICAgICAgIG1fb3V0LmJyYW5jaChpc05vdENlbGwodmFsdWUpLCBwcmltaXRpdmVDYXNl
LCBjZWxsQ2FzZSk7CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1f
b3V0LmFwcGVuZFRvKGNlbGxDYXNlLCBwcmltaXRpdmVDYXNlKTsKKyAgICAgICAgCisgICAgICAg
IFZlY3RvcjxWYWx1ZUZyb21CbG9jaywgMz4gcmVzdWx0czsKKyAgICAgICAgCisgICAgICAgIGlm
ICh2YWxpZFdhdGNocG9pbnQpIHsKKyAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKG1fb3V0LmFu
Y2hvcihtX291dC5ib29sZWFuRmFsc2UpKTsKKyAgICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGlu
dWF0aW9uKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIExCYXNpY0Jsb2NrIG1hc3F1
ZXJhZGVzQ2FzZSA9CisgICAgICAgICAgICAgICAgRlRMX05FV19CTE9DSyhtX291dCwgKCJDb21w
YXJlRXFDb25zdGFudCBtYXNxdWVyYWRlcyBjYXNlIikpOworICAgICAgICAgICAgICAgIAorICAg
ICAgICAgICAgTFZhbHVlIHN0cnVjdHVyZSA9IG1fb3V0LmxvYWRQdHIodmFsdWUsIG1faGVhcHMu
SlNDZWxsX3N0cnVjdHVyZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJlc3VsdHMuYXBw
ZW5kKG1fb3V0LmFuY2hvcihtX291dC5ib29sZWFuRmFsc2UpKTsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgbV9vdXQuYnJhbmNoKAorICAgICAgICAgICAgICAgIG1fb3V0LnRlc3ROb25aZXJv
OCgKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQubG9hZDgoc3RydWN0dXJlLCBtX2hlYXBzLlN0
cnVjdHVyZV90eXBlSW5mb0ZsYWdzKSwKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQuY29uc3RJ
bnQ4KE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQpKSwKKyAgICAgICAgICAgICAgICBtYXNxdWVyYWRl
c0Nhc2UsIGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fb3V0LmFw
cGVuZFRvKG1hc3F1ZXJhZGVzQ2FzZSwgcHJpbWl0aXZlQ2FzZSk7CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgICAgICBt
X291dC5lcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIobV9ncmFw
aC5nbG9iYWxPYmplY3RGb3IobV9ub2RlLT5jb2RlT3JpZ2luKSksCisgICAgICAgICAgICAgICAg
ICAgIG1fb3V0LmxvYWRQdHIoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9nbG9iYWxPYmpl
Y3QpKSkpOworICAgICAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICB9
CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhwcmltaXRpdmVDYXNlLCBjb250aW51
YXRpb24pOworICAgICAgICAKKyAgICAgICAgcmVzdWx0cy5hcHBlbmQobV9vdXQuYW5jaG9yKG1f
b3V0LmVxdWFsKAorICAgICAgICAgICAgbV9vdXQuYml0QW5kKHZhbHVlLCBtX291dC5jb25zdElu
dDY0KH5UYWdCaXRVbmRlZmluZWQpKSwKKyAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50NjQoVmFs
dWVOdWxsKSkpKTsKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAK
KyAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAg
IAorICAgICAgICBtX2Jvb2xlYW5WYWx1ZXMuYWRkKG1fbm9kZSwgbV9vdXQucGhpKG1fb3V0LmJv
b2xlYW4sIHJlc3VsdHMpKTsKKyAgICB9CisgICAgCiAgICAgdm9pZCBjb21waWxlQ29tcGFyZVN0
cmljdEVxKCkKICAgICB7CiAgICAgICAgIGlmIChtX25vZGUtPmlzQmluYXJ5VXNlS2luZChJbnQz
MlVzZSkpIHsKQEAgLTEyNjQsOCArMTMyMyw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oaW50Q2FzZSwg
ZG91YmxlQ2FzZSk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIExWYWx1ZSBpbnRUb0RvdWJs
ZSA9IG1fb3V0LmludFRvRG91YmxlKHVuYm94SW50MzIoYm94ZWRSZXN1bHQpKTsKLSAgICAgICAg
ICAgIExCYXNpY0Jsb2NrIGludFRvRG91YmxlQmxvY2sgPSBtX291dC5tX2Jsb2NrOworICAgICAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgaW50VG9Eb3VibGUgPSBtX291dC5hbmNob3IoCisgICAgICAg
ICAgICAgICAgbV9vdXQuaW50VG9Eb3VibGUodW5ib3hJbnQzMihib3hlZFJlc3VsdCkpKTsKICAg
ICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgICAgIAogICAgICAg
ICAgICAgbV9vdXQuYXBwZW5kVG8oZG91YmxlQ2FzZSwgY29udGludWF0aW9uKTsKQEAgLTEyNzMs
MTYgKzEzMzIsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIEZUTF9UWVBFX0NIRUNLKAogICAg
ICAgICAgICAgICAgIGpzVmFsdWVWYWx1ZShib3hlZFJlc3VsdCksIGVkZ2UsIFNwZWNOdW1iZXIs
IGlzQ2VsbE9yTWlzYyhib3hlZFJlc3VsdCkpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBM
VmFsdWUgdW5ib3hlZERvdWJsZSA9IHVuYm94RG91YmxlKGJveGVkUmVzdWx0KTsKLSAgICAgICAg
ICAgIExCYXNpY0Jsb2NrIHVuYm94ZWREb3VibGVCbG9jayA9IG1fb3V0Lm1fYmxvY2s7CisgICAg
ICAgICAgICBWYWx1ZUZyb21CbG9jayB1bmJveGVkRG91YmxlID0gbV9vdXQuYW5jaG9yKHVuYm94
RG91YmxlKGJveGVkUmVzdWx0KSk7CiAgICAgICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlv
bik7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlv
biwgbGFzdE5leHQpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBMVmFsdWUgcmVzdWx0ID0g
bV9vdXQucGhpKAotICAgICAgICAgICAgICAgIG1fb3V0LmRvdWJsZVR5cGUsCi0gICAgICAgICAg
ICAgICAgaW50VG9Eb3VibGUsIGludFRvRG91YmxlQmxvY2ssCi0gICAgICAgICAgICAgICAgdW5i
b3hlZERvdWJsZSwgdW5ib3hlZERvdWJsZUJsb2NrKTsKKyAgICAgICAgICAgIExWYWx1ZSByZXN1
bHQgPSBtX291dC5waGkobV9vdXQuZG91YmxlVHlwZSwgaW50VG9Eb3VibGUsIHVuYm94ZWREb3Vi
bGUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBtX2RvdWJsZVZhbHVlcy5hZGQoZWRnZS5u
b2RlKCksIHJlc3VsdCk7CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTQ4NCwxMyAr
MTUzOSwxNCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV9ncmFwaC5tYXNxdWVyYWRlc0Fz
VW5kZWZpbmVkV2F0Y2hwb2ludElzU3RpbGxWYWxpZChtX25vZGUtPmNvZGVPcmlnaW4pOwogICAg
IH0KICAgICAKLSAgICB2b2lkIG1hc3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50SWZJc1N0
aWxsVmFsaWQoKQorICAgIGJvb2wgbWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnRJZklz
U3RpbGxWYWxpZCgpCiAgICAgewogICAgICAgICBpZiAoIW1hc3F1ZXJhZGVzQXNVbmRlZmluZWRX
YXRjaHBvaW50SXNTdGlsbFZhbGlkKCkpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAogICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IG1h
c3F1ZXJhZGVzLWFzLXVuZGVmaW5lZCB3YXRjaHBvaW50cy4KICAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzY0NworICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAgICAgCiAgICAgYm9vbCBpc0xpdmUoTm9kZSogbm9kZSkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAkocmV2aXNpb24gMTQ5ODk2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDEz
ICsxMTMsMjEgQEAgcHVibGljOgogICAgIExWYWx1ZSBjb25zdERvdWJsZShkb3VibGUgdmFsdWUp
IHsgcmV0dXJuIGNvbnN0UmVhbChkb3VibGVUeXBlLCB2YWx1ZSk7IH0KICAgICAKICAgICBMVmFs
dWUgcGhpKExUeXBlIHR5cGUpIHsgcmV0dXJuIGJ1aWxkUGhpKG1fYnVpbGRlciwgdHlwZSk7IH0K
LSAgICBMVmFsdWUgcGhpKExUeXBlIHR5cGUsIExWYWx1ZSB2YWx1ZTEsIExCYXNpY0Jsb2NrIGJs
b2NrMSkKKyAgICBMVmFsdWUgcGhpKExUeXBlIHR5cGUsIFZhbHVlRnJvbUJsb2NrIHZhbHVlMSkK
ICAgICB7Ci0gICAgICAgIHJldHVybiBidWlsZFBoaShtX2J1aWxkZXIsIHR5cGUsIHZhbHVlMSwg
YmxvY2sxKTsKKyAgICAgICAgcmV0dXJuIGJ1aWxkUGhpKG1fYnVpbGRlciwgdHlwZSwgdmFsdWUx
KTsKICAgICB9Ci0gICAgTFZhbHVlIHBoaShMVHlwZSB0eXBlLCBMVmFsdWUgdmFsdWUxLCBMQmFz
aWNCbG9jayBibG9jazEsIExWYWx1ZSB2YWx1ZTIsIExCYXNpY0Jsb2NrIGJsb2NrMikKKyAgICBM
VmFsdWUgcGhpKExUeXBlIHR5cGUsIFZhbHVlRnJvbUJsb2NrIHZhbHVlMSwgVmFsdWVGcm9tQmxv
Y2sgdmFsdWUyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGJ1aWxkUGhpKG1fYnVpbGRlciwgdHlw
ZSwgdmFsdWUxLCBibG9jazEsIHZhbHVlMiwgYmxvY2syKTsKKyAgICAgICAgcmV0dXJuIGJ1aWxk
UGhpKG1fYnVpbGRlciwgdHlwZSwgdmFsdWUxLCB2YWx1ZTIpOworICAgIH0KKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBWZWN0b3JUeXBlPgorICAgIExWYWx1ZSBwaGkoTFR5cGUgdHlwZSwgY29uc3Qg
VmVjdG9yVHlwZSYgdmVjdG9yKQorICAgIHsKKyAgICAgICAgTFZhbHVlIHJlc3VsdCA9IHBoaSh0
eXBlKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZlY3Rvci5zaXplKCk7ICsr
aSkKKyAgICAgICAgICAgIGFkZEluY29taW5nKHJlc3VsdCwgdmVjdG9yW2ldKTsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCiAgICAgTFZhbHVlIGFkZChMVmFsdWUgbGVmdCwg
TFZhbHVlIHJpZ2h0KSB7IHJldHVybiBidWlsZEFkZChtX2J1aWxkZXIsIGxlZnQsIHJpZ2h0KTsg
fQpAQCAtMzExLDYgKzMxOSwxMSBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCB1bnJlYWNoYWJs
ZSgpIHsgYnVpbGRVbnJlYWNoYWJsZShtX2J1aWxkZXIpOyB9CiAgICAgCisgICAgVmFsdWVGcm9t
QmxvY2sgYW5jaG9yKExWYWx1ZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBWYWx1ZUZy
b21CbG9jayh2YWx1ZSwgbV9ibG9jayk7CisgICAgfQorICAgIAogICAgIExWYWx1ZSBtX2Z1bmN0
aW9uOwogICAgIEFic3RyYWN0SGVhcFJlcG9zaXRvcnkqIG1faGVhcHM7CiAgICAgTEJ1aWxkZXIg
bV9idWlsZGVyOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExWYWx1ZUZyb21C
bG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMVmFsdWVG
cm9tQmxvY2suaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
VmFsdWVGcm9tQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRlRMVmFsdWVG
cm9tQmxvY2tfaAorI2RlZmluZSBGVExWYWx1ZUZyb21CbG9ja19oCisKKyNpbmNsdWRlIDx3dGYv
UGxhdGZvcm0uaD4KKworI2lmIEVOQUJMRShGVExfSklUKQorCisjaW5jbHVkZSAiRlRMQWJicmV2
aWF0ZWRUeXBlcy5oIgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisKK2NsYXNz
IFZhbHVlRnJvbUJsb2NrIHsKK3B1YmxpYzoKKyAgICBWYWx1ZUZyb21CbG9jayhMVmFsdWUgdmFs
dWUsIExCYXNpY0Jsb2NrIGJsb2NrKQorICAgICAgICA6IG1fdmFsdWUodmFsdWUpCisgICAgICAg
ICwgbV9ibG9jayhibG9jaykKKyAgICB7CisgICAgfQorCisgICAgTFZhbHVlIHZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV92YWx1ZTsgfQorICAgIExCYXNpY0Jsb2NrIGJsb2NrKCkgY29uc3QgeyBy
ZXR1cm4gbV9ibG9jazsgfQorCitwcml2YXRlOgorICAgIExWYWx1ZSBtX3ZhbHVlOworICAgIExC
YXNpY0Jsb2NrIG1fYmxvY2s7Cit9OworCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCisKKyNl
bmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKKworI2VuZGlmIC8vIEZUTFZhbHVlRnJvbUJsb2NrX2gK
Kwo=
</data>
<flag name="review"
          id="222748"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>