<?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>131424</bug_id>
          
          <creation_ts>2014-04-08 20:23:35 -0700</creation_ts>
          <short_desc>DFG::FixupPhase should insert conversion nodes after the rest of fixup so that we know how the types settled</short_desc>
          <delta_ts>2014-04-12 11:23:17 -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>131423</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>atrick</cc>
    
    <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>juergen</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>999043</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-04-08 20:23:35 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000121</commentid>
    <comment_count>1</comment_count>
      <attachid>229182</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-04-11 17:15:22 -0700</bug_when>
    <thetext>Created attachment 229182
the path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000156</commentid>
    <comment_count>2</comment_count>
      <attachid>229182</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-04-11 19:40:25 -0700</bug_when>
    <thetext>Comment on attachment 229182
the path

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000197</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-04-12 11:23:17 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/167182</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229182</attachid>
            <date>2014-04-11 17:15:22 -0700</date>
            <delta_ts>2014-04-11 19:40:25 -0700</delta_ts>
            <desc>the path</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>19090</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY3MTcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBA
CisyMDE0LTA0LTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHOjpGaXh1cFBoYXNlIHNob3VsZCBpbnNlcnQgY29udmVyc2lvbiBub2RlcyBhZnRlciB0aGUg
cmVzdCBvZiBmaXh1cCBzbyB0aGF0IHdlIGtub3cgaG93IHRoZSB0eXBlcyBzZXR0bGVkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MjQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoaXMg
ZGVmZXJzIHR5cGUgY29udmVyc2lvbiBpbmplY3Rpb24gdW50aWwgd2UndmUgZGVjaWRlZCBvbiB0
eXBlcy4gVGhpcyBtYWtlcyB0aGUKKyAgICAgICAgcHJvY2VzcyBvZiBkZWNpZGluZyB0eXBlcyBh
IGJpdCBtb3JlIGZsZXhpYmxlIC0gZm9yIGV4YW1wbGUgd2UgY2FuIG5hdHVyYWxseSBmaXhwb2lu
dAorICAgICAgICBhbmQgY2hhbmdlIG91ciBtaW5kcy4gT25seSB3aGVuIHRoaW5ncyBhcmUgc2V0
dGxlZCBkbyB3ZSBhY3R1YWxseSBpbnNlcnQgY29udmVyc2lvbnMuCisgICAgICAgIAorICAgICAg
ICBUaGlzIGlzIGEgbmVjZXNzYXJ5IHByZXJlcXVpc2l0ZSBmb3Iga2VlcGluZyBkb3VibGUsIGlu
dDUyLCBhbmQgSlNWYWx1ZSBkYXRhIGZsb3cKKyAgICAgICAgc2VwYXJhdGUuIEEgU2V0TG9jYWwv
R2V0TG9jYWwgd2lsbCBhcHBlYXIgdG8gYmUgSlNWYWx1ZSB1bnRpbCB3ZSBmaXhwb2ludCBhbmQg
cmVhbGl6ZQorICAgICAgICB0aGF0IHRoZXJlIGFyZSB0eXBlZCB1c2VzLiBJZiB3ZSB3ZXJlIGVh
Z2VybHkgaW5zZXJ0aW5nIHR5cGUgY29udmVyc2lvbnMgdGhlbiB3ZSB3b3VsZAorICAgICAgICBm
aXJzdCBpbnNlcnQgYSB0by9mcm9tLUpTVmFsdWUgY29udmVyc2lvbiBpbiBzb21lIGNhc2VzIG9u
bHkgdG8gdGhlbiByZXBsYWNlIGl0IGJ5CisgICAgICAgIHRoZSBvdGhlciBjb252ZXJzaW9ucy4g
SXQncyBwcm9iYWJseSB0cml2aWFsIHRvIHJlbW92ZSB0aG9zZSByZWR1bmRhbnQgY29udmVyc2lv
bnMgbGF0ZXIKKyAgICAgICAgYnV0IEkgdGhpbmsgaXQncyBiZXR0ZXIgaWYgd2UgZG9uJ3QgaW5z
ZXJ0IHRoZW0gdG8gYmVnaW4gd2l0aC4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVPcmlnaW4u
aDoKKyAgICAgICAgKEpTQzo6Q29kZU9yaWdpbjo6b3BlcmF0b3IhKToKKyAgICAgICAgKiBkZmcv
REZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6cnVuKToK
KyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cEJsb2NrKToKKyAgICAgICAgKEpT
Qzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVw
UGhhc2U6OmZpeHVwU2V0TG9jYWxzSW5CbG9jayk6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQ
aGFzZTo6Zml4RWRnZSk6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4SW50RWRn
ZSk6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6aW5qZWN0VHlwZUNvbnZlcnNpb25z
SW5CbG9jayk6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6aW5qZWN0VHlwZUNvbnZl
cnNpb25zRm9yRWRnZSk6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6YWRkUmVxdWly
ZWRQaGFudG9tKToKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjphZGRQaGFudG9tc0lm
TmVjZXNzYXJ5KToKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpjbGVhclBoYW50b21z
QXRFbmQpOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6Om9ic2VydmVVbnR5cGVkRWRn
ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBVbnR5cGVk
U2V0TG9jYWxzSW5CbG9jayk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFz
ZTo6aW5qZWN0SW50MzJUb0RvdWJsZU5vZGUpOiBEZWxldGVkLgorCiAyMDE0LTA0LTExICBHYXZp
biBCYXJyYWNsb3VnaCAgPGJhcmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJvbGxvdXQg
LSBSZXdyaXRlIEZ1bmN0aW9uLmJpbmQgYXMgYSBidWlsdGluCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgJKHJldmlzaW9uIDE2NzExMSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgJKHdvcmtpbmcgY29weSkK
QEAgLTc1LDYgKzc1LDcgQEAgc3RydWN0IENvZGVPcmlnaW4gewogICAgIH0KICAgICAKICAgICBi
b29sIGlzU2V0KCkgY29uc3QgeyByZXR1cm4gYnl0ZWNvZGVJbmRleCAhPSBpbnZhbGlkQnl0ZWNv
ZGVJbmRleDsgfQorICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4gIWlzU2V0KCk7
IH0KICAgICAKICAgICBib29sIGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QKICAgICB7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAJKHJl
dmlzaW9uIDE2NzExMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAgICAgICB9
CiAgICAgICAgIAogICAgICAgICBmb3IgKEJsb2NrSW5kZXggYmxvY2tJbmRleCA9IDA7IGJsb2Nr
SW5kZXggPCBtX2dyYXBoLm51bUJsb2NrcygpOyArK2Jsb2NrSW5kZXgpCi0gICAgICAgICAgICBm
aXh1cFVudHlwZWRTZXRMb2NhbHNJbkJsb2NrKG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCkpOwor
ICAgICAgICAgICAgaW5qZWN0VHlwZUNvbnZlcnNpb25zSW5CbG9jayhtX2dyYXBoLmJsb2NrKGJs
b2NrSW5kZXgpKTsKICAgICAgICAgCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTc5
LDggKzc5LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIG1fYmxvY2sgPSBibG9jazsKICAgICAgICAg
Zm9yIChtX2luZGV4SW5CbG9jayA9IDA7IG1faW5kZXhJbkJsb2NrIDwgYmxvY2stPnNpemUoKTsg
KyttX2luZGV4SW5CbG9jaykgewogICAgICAgICAgICAgbV9jdXJyZW50Tm9kZSA9IGJsb2NrLT5h
dChtX2luZGV4SW5CbG9jayk7CisgICAgICAgICAgICBhZGRQaGFudG9tc0lmTmVjZXNzYXJ5KCk7
CiAgICAgICAgICAgICBmaXh1cE5vZGUobV9jdXJyZW50Tm9kZSk7CiAgICAgICAgIH0KKyAgICAg
ICAgY2xlYXJQaGFudG9tc0F0RW5kKCk7CiAgICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUo
YmxvY2spOwogICAgIH0KICAgICAKQEAgLTI0NCwxMSArMjQ2LDggQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgICAgICAgICAgICAgIG5vZGUtPnNldEFyaXRoTW9kZShBcml0aDo6Q2hlY2tPdmVyZmxv
d0FuZE5lZ2F0aXZlWmVybyk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBFZGdlIGNoaWxkMSA9IG5vZGUtPmNoaWxkMSgpOwot
ICAgICAgICAgICAgICAgIEVkZ2UgY2hpbGQyID0gbm9kZS0+Y2hpbGQyKCk7Ci0gICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgaW5qZWN0SW50MzJUb0RvdWJsZU5vZGUobm9kZS0+Y2hp
bGQxKCkpOwotICAgICAgICAgICAgICAgIGluamVjdEludDMyVG9Eb3VibGVOb2RlKG5vZGUtPmNo
aWxkMigpKTsKKyAgICAgICAgICAgICAgICBmaXhFZGdlPE51bWJlclVzZT4obm9kZS0+Y2hpbGQx
KCkpOworICAgICAgICAgICAgICAgIGZpeEVkZ2U8TnVtYmVyVXNlPihub2RlLT5jaGlsZDIoKSk7
CiAKICAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIGRvIHJlZidpbmcgb24gdGhl
IGNoaWxkcmVuIGJlY2F1c2Ugd2UncmUgc3RlYWxpbmcgdGhlbSBmcm9tCiAgICAgICAgICAgICAg
ICAgLy8gdGhlIG9yaWdpbmFsIGRpdmlzaW9uLgpAQCAtMjYxLDggKzI2MCw2IEBAIHByaXZhdGU6
CiAgICAgICAgICAgICAgICAgICAgIG5vZGUtPnNldEFyaXRoTW9kZShBcml0aDo6Q2hlY2tPdmVy
Zmxvdyk7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBub2RlLT5z
ZXRBcml0aE1vZGUoQXJpdGg6OkNoZWNrT3ZlcmZsb3dBbmROZWdhdGl2ZVplcm8pOwotICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUobV9p
bmRleEluQmxvY2sgKyAxLCBTcGVjTm9uZSwgUGhhbnRvbSwgbm9kZS0+b3JpZ2luLCBjaGlsZDEs
IGNoaWxkMik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBmaXhFZGdlPE51bWJlclVzZT4obm9kZS0+Y2hpbGQxKCkpOwpAQCAtMTA3MCwzNCArMTA2
Nyw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsKICNlbmRpZgogICAgICAgICB9Ci0g
ICAgICAgIAotICAgICAgICBpZiAoIW5vZGUtPmNvbnRhaW5zTW92SGludCgpKQotICAgICAgICAg
ICAgREZHX05PREVfRE9fVE9fQ0hJTERSRU4obV9ncmFwaCwgbm9kZSwgb2JzZXJ2ZVVudHlwZWRF
ZGdlKTsKLSAgICAgICAgCi0gICAgICAgIGlmIChub2RlLT5pc1Rlcm1pbmFsKCkpIHsKLSAgICAg
ICAgICAgIC8vIFRlcm1pbmFsIG5vZGVzIGRvbid0IG5lZWQgcG9zdC1waGFudG9tcywgYW5kIGlu
c2VydGluZyB0aGVtIHdvdWxkIHZpb2xhdGUKLSAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IHJl
cXVpcmVtZW50IHRoYXQgYSB0ZXJtaW5hbCBpcyB0aGUgbGFzdCB0aGluZyBpbiBhIGJsb2NrLiBX
ZQotICAgICAgICAgICAgLy8gc2hvdWxkIGV2ZW50dWFsbHkgY2hhbmdlIHRoYXQgcmVxdWlyZW1l
bnQgYnV0IGV2ZW4gaWYgd2UgZGlkLCB0aGlzIHdvdWxkCi0gICAgICAgICAgICAvLyBzdGlsbCBi
ZSBhIHZhbGlkIG9wdGltaXphdGlvbi4gQWxsIHRlcm1pbmFscyBhY2NlcHQganVzdCBvbmUgaW5w
dXQsIGFuZAotICAgICAgICAgICAgLy8gaWYgdGhhdCBpbnB1dCBpcyBhIGNvbnZlcnNpb24gbm9k
ZSB0aGVuIG5vIGZ1cnRoZXIgc3BlY3VsYXRpb25zIHdpbGwgYmUKLSAgICAgICAgICAgIC8vIHBl
cmZvcm1lZC4KLSAgICAgICAgICAgIC8vIEZJWE1FOiBHZXQgcmlkIG9mIHRoaXMgYnkgYWxsb3dp
bmcgUGhhbnRvbXMgYWZ0ZXIgdGVybWluYWxzLgotICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjc3OAotICAgICAgICAgICAgbV9yZXF1aXJl
ZFBoYW50b21zLnJlc2l6ZSgwKTsKLSAgICAgICAgLy8gU2luY2UgU3RvcmVCYXJyaWVycyBhcmUg
cmVjdXJzaXZlbHkgZml4ZWQgdXAgc28gdGhhdCB0aGVpciBjaGlsZHJlbiBsb29rIAotICAgICAg
ICAvLyBpZGVudGljYWwgdG8gdGhhdCBvZiB0aGUgbm9kZSB0aGV5J3JlIGJhcnJpZXItaW5nLCB3
ZSBuZWVkIHRvIGF2b2lkIGFkZGluZwotICAgICAgICAvLyBhbnkgUGhhbnRvbXMgd2hlbiBwcm9j
ZXNzaW5nIHRoZW0gYmVjYXVzZSB0aGlzIHdvdWxkIGludmFsaWRhdGUgdGhlIAotICAgICAgICAv
LyBJbnNlcnRpb25TZXQncyBpbnZhcmlhbnQgb2YgaW5zZXJ0aW5nIHRoaW5ncyBpbiBhIG1vbm90
b25pY2FsbHkgaW5jcmVhc2luZwotICAgICAgICAvLyBvcmRlci4gVGhpcyBzaG91bGQgYmUgb2th
eSBhbnl3YXlzIGJlY2F1c2UgU3RvcmVCYXJyaWVycyBjYW4ndCBleGl0LiAKLSAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICBhZGRQaGFudG9tc0lmTmVjZXNzYXJ5KCk7Ci0gICAgfQotICAgIAot
ICAgIHZvaWQgb2JzZXJ2ZVVudHlwZWRFZGdlKE5vZGUqLCBFZGdlJiBlZGdlKQotICAgIHsKLSAg
ICAgICAgaWYgKGVkZ2UudXNlS2luZCgpICE9IFVudHlwZWRVc2UpCi0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIGZpeEVkZ2U8VW50eXBlZFVzZT4oZWRnZSk7CiAgICAgfQogICAgIAogICAg
IHRlbXBsYXRlPFVzZUtpbmQgdXNlS2luZD4KQEAgLTEzNzYsMjYgKzEzNDUsNiBAQCBwcml2YXRl
OgogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBhZGRQaGFudG9tc0lm
TmVjZXNzYXJ5KCk7Ci0gICAgICAgIH0KLSAgICAgICAgbV9pbnNlcnRpb25TZXQuZXhlY3V0ZShi
bG9jayk7Ci0gICAgfQotICAgIAotICAgIHZvaWQgZml4dXBVbnR5cGVkU2V0TG9jYWxzSW5CbG9j
ayhCYXNpY0Jsb2NrKiBibG9jaykKLSAgICB7Ci0gICAgICAgIGlmICghYmxvY2spCi0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIEFTU0VSVChibG9jay0+aXNSZWFjaGFibGUpOwotICAgICAg
ICBtX2Jsb2NrID0gYmxvY2s7Ci0gICAgICAgIGZvciAobV9pbmRleEluQmxvY2sgPSAwOyBtX2lu
ZGV4SW5CbG9jayA8IGJsb2NrLT5zaXplKCk7ICsrbV9pbmRleEluQmxvY2spIHsKLSAgICAgICAg
ICAgIE5vZGUqIG5vZGUgPSBtX2N1cnJlbnROb2RlID0gYmxvY2stPmF0KG1faW5kZXhJbkJsb2Nr
KTsKLSAgICAgICAgICAgIGlmIChub2RlLT5vcCgpICE9IFNldExvY2FsKQotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAobm9kZS0+Y2hpbGQx
KCkudXNlS2luZCgpID09IFVudHlwZWRVc2UpIHsKLSAgICAgICAgICAgICAgICBmaXhFZGdlPFVu
dHlwZWRVc2U+KG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgICAgICAgICBhZGRQaGFudG9tc0lm
TmVjZXNzYXJ5KCk7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgbV9pbnNlcnRp
b25TZXQuZXhlY3V0ZShibG9jayk7CiAgICAgfQpAQCAtMTU0Niw5MiArMTQ5NSwxMCBAQCBwcml2
YXRlOgogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIC8vIFNldCB0aGUgdXNlIGtpbmQgb2Yg
dGhlIGVkZ2UgYW5kIHBlcmZvcm0gYW55IGFjdGlvbnMgdGhhdCBuZWVkIHRvIGJlIGRvbmUgZm9y
Ci0gICAgLy8gdGhhdCB1c2Uga2luZCwgbGlrZSBpbnNlcnRpbmcgaW50ZXJtZWRpYXRlIGNvbnZl
cnNpb24gbm9kZXMuIE5ldmVyIGNhbGwgdGhpcwotICAgIC8vIHdpdGggdXNlS2luZCA9IFVudHlw
ZWRVc2UgZXhwbGljaXRseTsgZWRnZXMgaGF2ZSBVbnR5cGVkVXNlIGltcGxpY2l0bHkgYW5kIGFu
eQotICAgIC8vIGVkZ2UgdGhhdCBzdXJ2aXZlcyBmaXh1cCBhbmQgc3RpbGwgaGFzIFVudHlwZWRV
c2Ugd2lsbCBoYXZlIHRoaXMgbWV0aG9kIGNhbGxlZAotICAgIC8vIGZyb20gb2JzZXJ2ZVVudHlw
ZWRFZGdlKCkuIEFsc28sIG1ha2Ugc3VyZSB0aGF0IGlmIHlvdSBkbyBjaGFuZ2UgdGhlIHR5cGUg
b2YgYW4KLSAgICAvLyBlZGdlLCB5b3UgZWl0aGVyIGNhbGwgZml4RWRnZSgpIG9yIHBlcmZvcm0g
dGhlIGVxdWl2YWxlbnQgZnVuY3Rpb25hbGl0eQotICAgIC8vIHlvdXJzZWxmLiBPYnZpb3VzbHks
IHlvdSBzaG91bGQgaGF2ZSBhIHJlYWxseSBnb29kIHJlYXNvbiBpZiB5b3UgZG8gdGhlIGxhdHRl
ci4KICAgICB0ZW1wbGF0ZTxVc2VLaW5kIHVzZUtpbmQ+CiAgICAgdm9pZCBmaXhFZGdlKEVkZ2Um
IGVkZ2UpCiAgICAgewotICAgICAgICBpZiAoaXNEb3VibGUodXNlS2luZCkpIHsKLSAgICAgICAg
ICAgIGlmIChlZGdlLT5zaG91bGRTcGVjdWxhdGVJbnQzMkZvckFyaXRobWV0aWMoKSkgewotICAg
ICAgICAgICAgICAgIGluamVjdEludDMyVG9Eb3VibGVOb2RlKGVkZ2UsIHVzZUtpbmQpOwotICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgaWYgKGVuYWJsZUludDUyKCkgJiYgZWRnZS0+c2hvdWxkU3BlY3VsYXRlTWFjaGluZUlu
dCgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gTWFrZSBhbGwgZG91YmxlIHVzZXMgb2YgaW50NTIg
dmFsdWVzIGhhdmUgYW4gaW50ZXJtZWRpYXRlIEludDUyVG9Eb3VibGUuCi0gICAgICAgICAgICAg
ICAgLy8gVGhpcyBpcyBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIEludDUyVG9WYWx1ZSAoc2VlIGJl
bG93KSBleGNlcHQgdGhhdAotICAgICAgICAgICAgICAgIC8vIEludDhUb0RvdWJsZSB3aWxsIGNv
bnZlcnQgaW50NTIncyB0aGF0IGZpdCBpbiBhbiBpbnQzMiBpbnRvIGEgZG91YmxlCi0gICAgICAg
ICAgICAgICAgLy8gcmF0aGVyIHRoYW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIGJveGVkIGludDMyIGxp
a2UgSW50NTJUb1ZhbHVlIGRvZXMuCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAg
bV9yZXF1aXJlZFBoYW50b21zLmFwcGVuZChlZGdlLm5vZGUoKSk7Ci0gICAgICAgICAgICAgICAg
Tm9kZSogcmVzdWx0ID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKLSAgICAgICAgICAgICAg
ICAgICAgbV9pbmRleEluQmxvY2ssIFNwZWNJbnQ1MkFzRG91YmxlLCBJbnQ1MlRvRG91YmxlLAot
ICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnROb2RlLT5vcmlnaW4sIEVkZ2UoZWRnZS5ub2Rl
KCksIE51bWJlclVzZSkpOwotICAgICAgICAgICAgICAgIGVkZ2UgPSBFZGdlKHJlc3VsdCwgdXNl
S2luZCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgICAgIAotICAgICAgICBpZiAoZW5hYmxlSW50NTIoKSAmJiB1c2VLaW5kICE9IE1hY2hp
bmVJbnRVc2UKLSAgICAgICAgICAgICYmIGVkZ2UtPnNob3VsZFNwZWN1bGF0ZU1hY2hpbmVJbnQo
KSAmJiAhZWRnZS0+c2hvdWxkU3BlY3VsYXRlSW50MzIoKSkgewotICAgICAgICAgICAgLy8gV2Ug
bWFrZSBhbGwgbm9uLWludDUyIHVzZXMgb2YgaW50NTIgdmFsdWVzIGhhdmUgYW4gaW50ZXJtZWRp
YXRlIEludDUyVG9WYWx1ZQotICAgICAgICAgICAgLy8gbm9kZSB0byBlbnN1cmUgdGhhdCB3ZSBo
YW5kbGUgdGhpcyBwcm9wZXJseToKLSAgICAgICAgICAgIC8vCi0gICAgICAgICAgICAvLyBhOiBT
b21lSW50NTIKLSAgICAgICAgICAgIC8vIGI6IEFyaXRoQWRkKEBhLCAuLi4pCi0gICAgICAgICAg
ICAvLyBjOiBDYWxsKC4uLiwgQGEpCi0gICAgICAgICAgICAvLyBkOiBBcml0aEFkZChAYSwgLi4u
KQotICAgICAgICAgICAgLy8KLSAgICAgICAgICAgIC8vIFdpdGhvdXQgYW4gaW50ZXJtZWRpYXRl
IG5vZGUgYW5kIGp1c3QgbGFiZWxpbmcgdGhlIHVzZXMsIHdlIHdpbGwgZ2V0OgotICAgICAgICAg
ICAgLy8KLSAgICAgICAgICAgIC8vIGE6IFNvbWVJbnQ1MgotICAgICAgICAgICAgLy8gYjogQXJp
dGhBZGQoSW50NTI6QGEsIC4uLikKLSAgICAgICAgICAgIC8vIGM6IENhbGwoLi4uLCBVbnR5cGVk
OkBhKQotICAgICAgICAgICAgLy8gZDogQXJpdGhBZGQoSW50NTI6QGEsIC4uLikKLSAgICAgICAg
ICAgIC8vCi0gICAgICAgICAgICAvLyBBbmQgbm93IHRoZSBjLT5VbnR5cGVkOkBhIGVkZ2Ugd2ls
bCBib3ggdGhlIHZhbHVlIG9mIEBhIGludG8gYSBkb3VibGUuIFRoaXMKLSAgICAgICAgICAgIC8v
IGlzIGJhZCwgYmVjYXVzZSBub3cgdGhlIGQtPkludDUyOkBhIGVkZ2Ugd2lsbCBlaXRoZXIgaGF2
ZSB0byBkbyBkb3VibGUtdG8taW50Ci0gICAgICAgICAgICAvLyBjb252ZXJzaW9ucywgb3Igd2ls
bCBoYXZlIHRvIE9TUiBleGl0IHVuY29uZGl0aW9uYWxseS4gQWx0ZXJuYXRpdmVseSB3ZSBjb3Vs
ZAotICAgICAgICAgICAgLy8gaGF2ZSB0aGUgYy0+VW50eXBlZDpAYSBlZGdlIGJveCB0aGUgdmFs
dWUgYnkgY29weWluZyByYXRoZXIgdGhhbiBpbi1wbGFjZS4KLSAgICAgICAgICAgIC8vIEJ1dCB0
aGVzZSBib3hpbmdzIGFyZSBhbHNvIGNvc3RseSBzbyB0aGlzIHdvdWxkbid0IGJlIGdyZWF0Lgot
ICAgICAgICAgICAgLy8KLSAgICAgICAgICAgIC8vIFRoZSBzb2x1dGlvbiB3ZSB1c2UgaXMgdG8g
YWx3YXlzIGhhdmUgbm9uLUludDUyIHVzZXMgb2YgcHJlZGljdGVkIEludDUyJ3MgdXNlCi0gICAg
ICAgICAgICAvLyBhbiBpbnRlcnZlbmluZyBJbnQ1MlRvVmFsdWUgbm9kZToKLSAgICAgICAgICAg
IC8vCi0gICAgICAgICAgICAvLyBhOiBTb21lSW50NTIKLSAgICAgICAgICAgIC8vIGI6IEFyaXRo
QWRkKEludDUyOkBhLCAuLi4pCi0gICAgICAgICAgICAvLyB4OiBJbnQ1MlRvVmFsdWUoSW50NTI6
QGEpCi0gICAgICAgICAgICAvLyBjOiBDYWxsKC4uLiwgVW50eXBlZDpAeCkKLSAgICAgICAgICAg
IC8vIGQ6IEFyaXRoQWRkKEludDUyOkBhLCAuLi4pCi0gICAgICAgICAgICAvLwotICAgICAgICAg
ICAgLy8gTm90ZSB0aGF0IGV2ZW4gaWYgd2UgaGFkIG11bHRpcGxlIG5vbi1pbnQ1MiB1c2VzIG9m
IEBhLCB0aGUgbXVsdGlwbGUKLSAgICAgICAgICAgIC8vIEludDUyVG9WYWx1ZSdzIHdvdWxkIGdl
dCBDU0UnZCB0b2dldGhlci4gU28gdGhlIGJveGluZyB3b3VsZCBvbmx5IGhhcHBlbiBvbmNlLgot
ICAgICAgICAgICAgLy8gQXQgdGhlIHNhbWUgdGltZSwgQGEgd291bGQgY29udGludWUgdG8gYmUg
cmVwcmVzZW50ZWQgYXMgYSBuYXRpdmUgaW50NTIuCi0gICAgICAgICAgICAvLwotICAgICAgICAg
ICAgLy8gQW4gYWx0ZXJuYXRpdmUgd291bGQgaGF2ZSBiZWVuIHRvIGluc2VydCBUb05hdGl2ZUlu
dDUyIG5vZGVzIG9uIGludDUyIHVzZXMgb2YKLSAgICAgICAgICAgIC8vIGludDUyJ3MuIFRoaXMg
d291bGQgaGF2ZSBoYW5kbGVkIHRoZSBhYm92ZSBleGFtcGxlIGJ1dCB3b3VsZCBmYWxsIG92ZXIg
Zm9yOgotICAgICAgICAgICAgLy8KLSAgICAgICAgICAgIC8vIGE6IFNvbWVJbnQ1MgotICAgICAg
ICAgICAgLy8gYjogQ2FsbCguLi4sIEBhKQotICAgICAgICAgICAgLy8gYzogQXJpdGhBZGQoQGEs
IC4uLikKLSAgICAgICAgICAgIC8vCi0gICAgICAgICAgICAvLyBCdXQgdGhlIHNvbHV0aW9uIHdl
IHVzZSBoYW5kbGVzIHRoZSBhYm92ZSBncmFjZWZ1bGx5LgotICAgICAgICAgICAgCi0gICAgICAg
ICAgICBtX3JlcXVpcmVkUGhhbnRvbXMuYXBwZW5kKGVkZ2Uubm9kZSgpKTsKLSAgICAgICAgICAg
IE5vZGUqIHJlc3VsdCA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCi0gICAgICAgICAgICAg
ICAgbV9pbmRleEluQmxvY2ssIFNwZWNJbnQ1MiwgSW50NTJUb1ZhbHVlLAotICAgICAgICAgICAg
ICAgIG1fY3VycmVudE5vZGUtPm9yaWdpbiwgRWRnZShlZGdlLm5vZGUoKSwgVW50eXBlZFVzZSkp
OwotICAgICAgICAgICAgZWRnZSA9IEVkZ2UocmVzdWx0LCB1c2VLaW5kKTsKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAKICAgICAgICAgb2JzZXJ2ZVVzZUtpbmRPbk5v
ZGU8dXNlS2luZD4oZWRnZS5ub2RlKCkpOwotICAgICAgICAKICAgICAgICAgZWRnZS5zZXRVc2VL
aW5kKHVzZUtpbmQpOwogICAgIH0KICAgICAKQEAgLTE2NjQsMTggKzE1MzEsNyBAQCBwcml2YXRl
OgogICAgICAgICBvYnNlcnZlVXNlS2luZE9uTm9kZShub2RlLCB1c2VLaW5kKTsKICAgICAgICAg
CiAgICAgICAgIGVkZ2UgPSBFZGdlKG5ld05vZGUsIEtub3duSW50MzJVc2UpOwotICAgICAgICBt
X3JlcXVpcmVkUGhhbnRvbXMuYXBwZW5kKG5vZGUpOwotICAgIH0KLSAgICAKLSAgICB2b2lkIGlu
amVjdEludDMyVG9Eb3VibGVOb2RlKEVkZ2UmIGVkZ2UsIFVzZUtpbmQgdXNlS2luZCA9IE51bWJl
clVzZSkKLSAgICB7Ci0gICAgICAgIG1fcmVxdWlyZWRQaGFudG9tcy5hcHBlbmQoZWRnZS5ub2Rl
KCkpOwotICAgICAgICAKLSAgICAgICAgTm9kZSogcmVzdWx0ID0gbV9pbnNlcnRpb25TZXQuaW5z
ZXJ0Tm9kZSgKLSAgICAgICAgICAgIG1faW5kZXhJbkJsb2NrLCBTcGVjSW50NTJBc0RvdWJsZSwg
SW50MzJUb0RvdWJsZSwKLSAgICAgICAgICAgIG1fY3VycmVudE5vZGUtPm9yaWdpbiwgRWRnZShl
ZGdlLm5vZGUoKSwgTnVtYmVyVXNlKSk7Ci0gICAgICAgIAotICAgICAgICBlZGdlID0gRWRnZShy
ZXN1bHQsIHVzZUtpbmQpOworICAgICAgICBhZGRSZXF1aXJlZFBoYW50b20obm9kZSk7CiAgICAg
fQogICAgIAogICAgIHZvaWQgdHJ1bmNhdGVDb25zdGFudFRvSW50MzIoRWRnZSYgZWRnZSkKQEAg
LTE4NTgsMjUgKzE3MTQsMTYzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KICAgICAKKyAgICB2b2lkIGluamVjdFR5cGVDb252ZXJzaW9uc0luQmxvY2soQmFzaWNCbG9j
ayogYmxvY2spCisgICAgeworICAgICAgICBpZiAoIWJsb2NrKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICBBU1NFUlQoYmxvY2stPmlzUmVhY2hhYmxlKTsKKyAgICAgICAgbV9ibG9jayA9
IGJsb2NrOworICAgICAgICBmb3IgKG1faW5kZXhJbkJsb2NrID0gMDsgbV9pbmRleEluQmxvY2sg
PCBibG9jay0+c2l6ZSgpOyArK21faW5kZXhJbkJsb2NrKSB7CisgICAgICAgICAgICBtX2N1cnJl
bnROb2RlID0gYmxvY2stPmF0KG1faW5kZXhJbkJsb2NrKTsKKyAgICAgICAgICAgIGFkZFBoYW50
b21zSWZOZWNlc3NhcnkoKTsKKyAgICAgICAgICAgIGlmIChtX2N1cnJlbnROb2RlLT5jb250YWlu
c01vdkhpbnQoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIERGR19O
T0RFX0RPX1RPX0NISUxEUkVOKG1fZ3JhcGgsIG1fY3VycmVudE5vZGUsIGluamVjdFR5cGVDb252
ZXJzaW9uc0ZvckVkZ2UpOworICAgICAgICB9CisgICAgICAgIGNsZWFyUGhhbnRvbXNBdEVuZCgp
OworICAgICAgICBtX2luc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKKyAgICB9CisgICAgCisg
ICAgdm9pZCBpbmplY3RUeXBlQ29udmVyc2lvbnNGb3JFZGdlKE5vZGUqIG5vZGUsIEVkZ2UmIGVk
Z2UpCisgICAgeworICAgICAgICBBU1NFUlQobm9kZSA9PSBtX2N1cnJlbnROb2RlKTsKKyAgICAg
ICAgCisgICAgICAgIGlmIChpc0RvdWJsZShlZGdlLnVzZUtpbmQoKSkpIHsKKyAgICAgICAgICAg
IGlmIChlZGdlLT5zaG91bGRTcGVjdWxhdGVJbnQzMkZvckFyaXRobWV0aWMoKSkgeworICAgICAg
ICAgICAgICAgIGFkZFJlcXVpcmVkUGhhbnRvbShlZGdlLm5vZGUoKSk7CisgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICAgICAgTm9kZSogcmVzdWx0ID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0
Tm9kZSgKKyAgICAgICAgICAgICAgICAgICAgbV9pbmRleEluQmxvY2ssIFNwZWNJbnQ1MkFzRG91
YmxlLCBJbnQzMlRvRG91YmxlLAorICAgICAgICAgICAgICAgICAgICBub2RlLT5vcmlnaW4sIEVk
Z2UoZWRnZS5ub2RlKCksIE51bWJlclVzZSkpOworICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgICAgIGVkZ2Uuc2V0Tm9kZShyZXN1bHQpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGVuYWJsZUludDUyKCkg
JiYgZWRnZS0+c2hvdWxkU3BlY3VsYXRlTWFjaGluZUludCgpKSB7CisgICAgICAgICAgICAgICAg
Ly8gTWFrZSBhbGwgZG91YmxlIHVzZXMgb2YgaW50NTIgdmFsdWVzIGhhdmUgYW4gaW50ZXJtZWRp
YXRlIEludDUyVG9Eb3VibGUuCisgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBmb3IgdGhlIHNh
bWUgcmVhc29uIGFzIEludDUyVG9WYWx1ZSAoc2VlIGJlbG93KSBleGNlcHQgdGhhdAorICAgICAg
ICAgICAgICAgIC8vIEludDhUb0RvdWJsZSB3aWxsIGNvbnZlcnQgaW50NTIncyB0aGF0IGZpdCBp
biBhbiBpbnQzMiBpbnRvIGEgZG91YmxlCisgICAgICAgICAgICAgICAgLy8gcmF0aGVyIHRoYW4g
dHJ5aW5nIHRvIGNyZWF0ZSBhIGJveGVkIGludDMyIGxpa2UgSW50NTJUb1ZhbHVlIGRvZXMuCisg
ICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgYWRkUmVxdWlyZWRQaGFudG9tKGVkZ2Uu
bm9kZSgpKTsKKyAgICAgICAgICAgICAgICBOb2RlKiByZXN1bHQgPSBtX2luc2VydGlvblNldC5p
bnNlcnROb2RlKAorICAgICAgICAgICAgICAgICAgICBtX2luZGV4SW5CbG9jaywgU3BlY0ludDUy
QXNEb3VibGUsIEludDUyVG9Eb3VibGUsCisgICAgICAgICAgICAgICAgICAgIG5vZGUtPm9yaWdp
biwgRWRnZShlZGdlLm5vZGUoKSwgTnVtYmVyVXNlKSk7CisgICAgICAgICAgICAgICAgZWRnZS5z
ZXROb2RlKHJlc3VsdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAoZW5hYmxlSW50NTIoKSAmJiBlZGdlLnVz
ZUtpbmQoKSAhPSBNYWNoaW5lSW50VXNlCisgICAgICAgICAgICAmJiBlZGdlLT5zaG91bGRTcGVj
dWxhdGVNYWNoaW5lSW50KCkgJiYgIWVkZ2UtPnNob3VsZFNwZWN1bGF0ZUludDMyKCkpIHsKKyAg
ICAgICAgICAgIC8vIFdlIG1ha2UgYWxsIG5vbi1pbnQ1MiB1c2VzIG9mIGludDUyIHZhbHVlcyBo
YXZlIGFuIGludGVybWVkaWF0ZSBJbnQ1MlRvVmFsdWUKKyAgICAgICAgICAgIC8vIG5vZGUgdG8g
ZW5zdXJlIHRoYXQgd2UgaGFuZGxlIHRoaXMgcHJvcGVybHk6CisgICAgICAgICAgICAvLworICAg
ICAgICAgICAgLy8gYTogU29tZUludDUyCisgICAgICAgICAgICAvLyBiOiBBcml0aEFkZChAYSwg
Li4uKQorICAgICAgICAgICAgLy8gYzogQ2FsbCguLi4sIEBhKQorICAgICAgICAgICAgLy8gZDog
QXJpdGhBZGQoQGEsIC4uLikKKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAvLyBXaXRob3V0
IGFuIGludGVybWVkaWF0ZSBub2RlIGFuZCBqdXN0IGxhYmVsaW5nIHRoZSB1c2VzLCB3ZSB3aWxs
IGdldDoKKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAvLyBhOiBTb21lSW50NTIKKyAgICAg
ICAgICAgIC8vIGI6IEFyaXRoQWRkKEludDUyOkBhLCAuLi4pCisgICAgICAgICAgICAvLyBjOiBD
YWxsKC4uLiwgVW50eXBlZDpAYSkKKyAgICAgICAgICAgIC8vIGQ6IEFyaXRoQWRkKEludDUyOkBh
LCAuLi4pCisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8gQW5kIG5vdyB0aGUgYy0+VW50
eXBlZDpAYSBlZGdlIHdpbGwgYm94IHRoZSB2YWx1ZSBvZiBAYSBpbnRvIGEgZG91YmxlLiBUaGlz
CisgICAgICAgICAgICAvLyBpcyBiYWQsIGJlY2F1c2Ugbm93IHRoZSBkLT5JbnQ1MjpAYSBlZGdl
IHdpbGwgZWl0aGVyIGhhdmUgdG8gZG8gZG91YmxlLXRvLWludAorICAgICAgICAgICAgLy8gY29u
dmVyc2lvbnMsIG9yIHdpbGwgaGF2ZSB0byBPU1IgZXhpdCB1bmNvbmRpdGlvbmFsbHkuIEFsdGVy
bmF0aXZlbHkgd2UgY291bGQKKyAgICAgICAgICAgIC8vIGhhdmUgdGhlIGMtPlVudHlwZWQ6QGEg
ZWRnZSBib3ggdGhlIHZhbHVlIGJ5IGNvcHlpbmcgcmF0aGVyIHRoYW4gaW4tcGxhY2UuCisgICAg
ICAgICAgICAvLyBCdXQgdGhlc2UgYm94aW5ncyBhcmUgYWxzbyBjb3N0bHkgc28gdGhpcyB3b3Vs
ZG4ndCBiZSBncmVhdC4KKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAvLyBUaGUgc29sdXRp
b24gd2UgdXNlIGlzIHRvIGFsd2F5cyBoYXZlIG5vbi1JbnQ1MiB1c2VzIG9mIHByZWRpY3RlZCBJ
bnQ1MidzIHVzZQorICAgICAgICAgICAgLy8gYW4gaW50ZXJ2ZW5pbmcgSW50NTJUb1ZhbHVlIG5v
ZGU6CisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8gYTogU29tZUludDUyCisgICAgICAg
ICAgICAvLyBiOiBBcml0aEFkZChJbnQ1MjpAYSwgLi4uKQorICAgICAgICAgICAgLy8geDogSW50
NTJUb1ZhbHVlKEludDUyOkBhKQorICAgICAgICAgICAgLy8gYzogQ2FsbCguLi4sIFVudHlwZWQ6
QHgpCisgICAgICAgICAgICAvLyBkOiBBcml0aEFkZChJbnQ1MjpAYSwgLi4uKQorICAgICAgICAg
ICAgLy8KKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBldmVuIGlmIHdlIGhhZCBtdWx0aXBsZSBu
b24taW50NTIgdXNlcyBvZiBAYSwgdGhlIG11bHRpcGxlCisgICAgICAgICAgICAvLyBJbnQ1MlRv
VmFsdWUncyB3b3VsZCBnZXQgQ1NFJ2QgdG9nZXRoZXIuIFNvIHRoZSBib3hpbmcgd291bGQgb25s
eSBoYXBwZW4gb25jZS4KKyAgICAgICAgICAgIC8vIEF0IHRoZSBzYW1lIHRpbWUsIEBhIHdvdWxk
IGNvbnRpbnVlIHRvIGJlIHJlcHJlc2VudGVkIGFzIGEgbmF0aXZlIGludDUyLgorICAgICAgICAg
ICAgLy8KKyAgICAgICAgICAgIC8vIEFuIGFsdGVybmF0aXZlIHdvdWxkIGhhdmUgYmVlbiB0byBp
bnNlcnQgVG9OYXRpdmVJbnQ1MiBub2RlcyBvbiBpbnQ1MiB1c2VzIG9mCisgICAgICAgICAgICAv
LyBpbnQ1MidzLiBUaGlzIHdvdWxkIGhhdmUgaGFuZGxlZCB0aGUgYWJvdmUgZXhhbXBsZSBidXQg
d291bGQgZmFsbCBvdmVyIGZvcjoKKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAvLyBhOiBT
b21lSW50NTIKKyAgICAgICAgICAgIC8vIGI6IENhbGwoLi4uLCBAYSkKKyAgICAgICAgICAgIC8v
IGM6IEFyaXRoQWRkKEBhLCAuLi4pCisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8gQnV0
IHRoZSBzb2x1dGlvbiB3ZSB1c2UgaGFuZGxlcyB0aGUgYWJvdmUgZ3JhY2VmdWxseS4KKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgYWRkUmVxdWlyZWRQaGFudG9tKGVkZ2Uubm9kZSgpKTsKKyAg
ICAgICAgICAgIE5vZGUqIHJlc3VsdCA9IG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCisgICAg
ICAgICAgICAgICAgbV9pbmRleEluQmxvY2ssIFNwZWNJbnQ1MiwgSW50NTJUb1ZhbHVlLAorICAg
ICAgICAgICAgICAgIG5vZGUtPm9yaWdpbiwgRWRnZShlZGdlLm5vZGUoKSwgVW50eXBlZFVzZSkp
OworICAgICAgICAgICAgZWRnZS5zZXROb2RlKHJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgdm9pZCBhZGRSZXF1aXJlZFBoYW50b20oTm9k
ZSogbm9kZSkKKyAgICB7CisgICAgICAgIGlmICghbV9jb2RlT3JpZ2luT2ZQaGFudG9tcykgewor
ICAgICAgICAgICAgQVNTRVJUKG1fcmVxdWlyZWRQaGFudG9tcy5pc0VtcHR5KCkpOworICAgICAg
ICAgICAgbV9jb2RlT3JpZ2luT2ZQaGFudG9tcyA9IG1fY3VycmVudE5vZGUtPm9yaWdpbi5mb3JF
eGl0OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKCFtX3JlcXVpcmVkUGhh
bnRvbXMuaXNFbXB0eSgpKTsKKyAgICAgICAgICAgIEFTU0VSVChtX2NvZGVPcmlnaW5PZlBoYW50
b21zID09IG1fY3VycmVudE5vZGUtPm9yaWdpbi5mb3JFeGl0KTsKKyAgICAgICAgfQorICAgICAg
ICAKKyAgICAgICAgbV9yZXF1aXJlZFBoYW50b21zLmFwcGVuZChub2RlKTsKKyAgICB9CisKICAg
ICB2b2lkIGFkZFBoYW50b21zSWZOZWNlc3NhcnkoKQogICAgIHsKICAgICAgICAgaWYgKG1fcmVx
dWlyZWRQaGFudG9tcy5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAor
ICAgICAgICBSRUxFQVNFX0FTU0VSVCghIW1fY29kZU9yaWdpbk9mUGhhbnRvbXMpOworICAgICAg
ICAKKyAgICAgICAgaWYgKG1fY3VycmVudE5vZGUtPm9yaWdpbi5mb3JFeGl0ID09IG1fY29kZU9y
aWdpbk9mUGhhbnRvbXMpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIAogICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSBtX3JlcXVpcmVkUGhhbnRvbXMuc2l6ZSgpOyBpLS07KSB7CiAgICAg
ICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAotICAgICAgICAgICAgICAgIG1faW5k
ZXhJbkJsb2NrICsgMSwgU3BlY05vbmUsIFBoYW50b20sIG1fY3VycmVudE5vZGUtPm9yaWdpbiwK
KyAgICAgICAgICAgICAgICBtX2luZGV4SW5CbG9jaywgU3BlY05vbmUsIFBoYW50b20sIE5vZGVP
cmlnaW4obV9jb2RlT3JpZ2luT2ZQaGFudG9tcyksCiAgICAgICAgICAgICAgICAgRWRnZShtX3Jl
cXVpcmVkUGhhbnRvbXNbaV0sIFVudHlwZWRVc2UpKTsKICAgICAgICAgfQogICAgICAgICAKICAg
ICAgICAgbV9yZXF1aXJlZFBoYW50b21zLnJlc2l6ZSgwKTsKKyAgICAgICAgbV9jb2RlT3JpZ2lu
T2ZQaGFudG9tcyA9IENvZGVPcmlnaW4oKTsKICAgICB9Ci0KKyAgICAKKyAgICB2b2lkIGNsZWFy
UGhhbnRvbXNBdEVuZCgpCisgICAgeworICAgICAgICAvLyBUZXJtaW5hbCBub2RlcyBkb24ndCBu
ZWVkIHBvc3QtcGhhbnRvbXMsIGFuZCBpbnNlcnRpbmcgdGhlbSB3b3VsZCB2aW9sYXRlCisgICAg
ICAgIC8vIHRoZSBjdXJyZW50IHJlcXVpcmVtZW50IHRoYXQgYSB0ZXJtaW5hbCBpcyB0aGUgbGFz
dCB0aGluZyBpbiBhIGJsb2NrLiBXZQorICAgICAgICAvLyBzaG91bGQgZXZlbnR1YWxseSBjaGFu
Z2UgdGhhdCByZXF1aXJlbWVudCBidXQgZXZlbiBpZiB3ZSBkaWQsIHRoaXMgd291bGQKKyAgICAg
ICAgLy8gc3RpbGwgYmUgYSB2YWxpZCBvcHRpbWl6YXRpb24uIEFsbCB0ZXJtaW5hbHMgYWNjZXB0
IGp1c3Qgb25lIGlucHV0LCBhbmQKKyAgICAgICAgLy8gaWYgdGhhdCBpbnB1dCBpcyBhIGNvbnZl
cnNpb24gbm9kZSB0aGVuIG5vIGZ1cnRoZXIgc3BlY3VsYXRpb25zIHdpbGwgYmUKKyAgICAgICAg
Ly8gcGVyZm9ybWVkLgorICAgICAgICAKKyAgICAgICAgLy8gRklYTUU6IEdldCByaWQgb2YgdGhp
cyBieSBhbGxvd2luZyBQaGFudG9tcyBhZnRlciB0ZXJtaW5hbHMuCisgICAgICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY3NzgKKyAgICAgICAgCisgICAg
ICAgIG1fcmVxdWlyZWRQaGFudG9tcy5yZXNpemUoMCk7CisgICAgICAgIG1fY29kZU9yaWdpbk9m
UGhhbnRvbXMgPSBDb2RlT3JpZ2luKCk7CisgICAgfQorICAgIAogICAgIEJhc2ljQmxvY2sqIG1f
YmxvY2s7CiAgICAgdW5zaWduZWQgbV9pbmRleEluQmxvY2s7CiAgICAgTm9kZSogbV9jdXJyZW50
Tm9kZTsKICAgICBJbnNlcnRpb25TZXQgbV9pbnNlcnRpb25TZXQ7CiAgICAgYm9vbCBtX3Byb2Zp
dGFiaWxpdHlDaGFuZ2VkOworICAgIENvZGVPcmlnaW4gbV9jb2RlT3JpZ2luT2ZQaGFudG9tczsK
ICAgICBWZWN0b3I8Tm9kZSosIDM+IG1fcmVxdWlyZWRQaGFudG9tczsKIH07CiAgICAgCg==
</data>
<flag name="review"
          id="253551"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>