<?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>74695</bug_id>
          
          <creation_ts>2011-12-16 00:56:22 -0800</creation_ts>
          <short_desc>DFG OSR exit may get confused about where in the scratch buffer it stored a value</short_desc>
          <delta_ts>2011-12-16 16:10:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>522615</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-16 00:56:22 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522616</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-16 00:56:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/10591909&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522623</commentid>
    <comment_count>2</comment_count>
      <attachid>119583</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-16 01:11:38 -0800</bug_when>
    <thetext>Created attachment 119583
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522628</commentid>
    <comment_count>3</comment_count>
      <attachid>119583</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-12-16 01:28:41 -0800</bug_when>
    <thetext>Comment on attachment 119583
the patch

Attachment 119583 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10905625</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522632</commentid>
    <comment_count>4</comment_count>
      <attachid>119586</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-16 01:38:35 -0800</bug_when>
    <thetext>Created attachment 119586
the patch

Fix build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523135</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-16 16:10:14 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/103127</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119583</attachid>
            <date>2011-12-16 01:11:38 -0800</date>
            <delta_ts>2011-12-16 01:38:35 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>fixpoisonosr_patch_1.diff</filename>
            <type>text/plain</type>
            <size>19373</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTAzMDQ0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDExLTEyLTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIE9TUiBleGl0IG1heSBnZXQgY29uZnVzZWQgYWJvdXQgd2hlcmUgaW4gdGhlIHNjcmF0Y2gg
YnVmZmVyIGl0IHN0b3JlZCBhIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03NDY5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorICAgICAgICAKKyAgICAgICAgVGhlIGNvZGUgdGhhdCByZWFkcyBmcm9tIHRoZSBzY3Jh
dGNoIGJ1ZmZlciBub3cgZXhwbGljaXRseSBrbm93cyB3aGljaCBsb2NhdGlvbnMgdG8KKyAgICAg
ICAgcmVhZCBmcm9tLiBObyBuZXcgdGVzdHMsIHNpbmNlIHRoaXMgcGF0Y2ggY292ZXJzIGEgY2Fz
ZSBzbyB1bmNvbW1vbiB0aGF0IEkgZG9uJ3Qga25vdworICAgICAgICBob3cgdG8gbWFrZSBhIHRl
c3QgZm9yIGl0LgorCisgICAgICAgICogZGZnL0RGR09TUkV4aXRDb21waWxlci5oOgorICAgICAg
ICAoSlNDOjpERkc6Ok9TUkV4aXRDb21waWxlcjo6YmFkSW5kZXgpOgorICAgICAgICAoSlNDOjpE
Rkc6Ok9TUkV4aXRDb21waWxlcjo6aW5pdGlhbGl6ZVBvaXNvbmVkKToKKyAgICAgICAgKEpTQzo6
REZHOjpPU1JFeGl0Q29tcGlsZXI6OnBvaXNvbkluZGV4KToKKyAgICAgICAgKiBkZmcvREZHT1NS
RXhpdENvbXBpbGVyMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6Ok9TUkV4aXRDb21waWxl
cjo6Y29tcGlsZUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdCk6CisKIDIw
MTEtMTItMTUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIEZpeCAnbWFrZSBkaXN0JyBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIEdUSysgcmVsZWFzZS4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENv
bXBpbGVyMzJfNjQuY3BwCShyZXZpc2lvbiAxMDMwNDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI3
LDcgKzIyNyw5IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAg
ICAvLyAgICBOb3RlIHRoYXQgR1BScyBkbyBub3QgaGF2ZSBhIGZhc3QgY2hhbmdlIChsaWtlIGhh
dmVGUFJzKSBiZWNhdXNlIHdlIGV4cGVjdCB0aGF0CiAgICAgLy8gICAgbW9zdCBPU1IgZmFpbHVy
ZSBwb2ludHMgd2lsbCBoYXZlIGF0IGxlYXN0IG9uZSBHUFIgdGhhdCBuZWVkcyB0byBiZSBkdW1w
ZWQuCiAgICAgCi0gICAgdW5zaWduZWQgc2NyYXRjaEluZGV4ID0gMDsKKyAgICBpbml0aWFsaXpl
UG9pc29uZWQoZXhpdC5tX3ZhcmlhYmxlcy5zaXplKCkpOworICAgIHVuc2lnbmVkIGN1cnJlbnRQ
b2lzb25JbmRleCA9IDA7CisgICAgCiAgICAgZm9yIChpbnQgaW5kZXggPSAwOyBpbmRleCA8IGV4
aXQubnVtYmVyT2ZSZWNvdmVyaWVzKCk7ICsraW5kZXgpIHsKICAgICAgICAgY29uc3QgVmFsdWVS
ZWNvdmVyeSYgcmVjb3ZlcnkgPSBleGl0LnZhbHVlUmVjb3ZlcnkoaW5kZXgpOwogICAgICAgICBp
bnQgb3BlcmFuZCA9IGV4aXQub3BlcmFuZEZvckluZGV4KGluZGV4KTsKQEAgLTIzNSw5ICsyMzcs
MTEgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICBj
YXNlIEluR1BSOgogICAgICAgICBjYXNlIFVuYm94ZWRJbnQzMkluR1BSOgogICAgICAgICBjYXNl
IFVuYm94ZWRCb29sZWFuSW5HUFI6Ci0gICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGlu
ZGV4KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGlu
ZGV4KV0pCi0gICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihyZWNvdmVyeS5ncHIoKSwgcmVp
bnRlcnByZXRfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIHNjcmF0Y2hJbmRleCsrKSArIE9C
SkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpOwot
ICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGluZGV4
KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4
KV0pIHsKKyAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZTMyKHJlY292ZXJ5LmdwcigpLCByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihzY3JhdGNoQnVmZmVyICsgY3VycmVudFBvaXNvbkluZGV4KSAr
IE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkp
OworICAgICAgICAgICAgICAgIG1fcG9pc29uU2NyYXRjaEluZGljZXNbZXhpdC52YXJpYWJsZUZv
ckluZGV4KGluZGV4KV0gPSBjdXJyZW50UG9pc29uSW5kZXg7CisgICAgICAgICAgICAgICAgY3Vy
cmVudFBvaXNvbkluZGV4Kys7CisgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
IHVpbnQzMl90IHRhZyA9IEpTVmFsdWU6OkVtcHR5VmFsdWVUYWc7CiAgICAgICAgICAgICAgICAg
aWYgKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IEluR1BSKQogICAgICAgICAgICAgICAgICAgICB0
YWcgPSBKU1ZhbHVlOjpDZWxsVGFnOwpAQCAtMjUxLDkgKzI1NSwxMCBAQCB2b2lkIE9TUkV4aXRD
b21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBJblBhaXI6CiAgICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGluZGV4KSAmJiBw
b2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0pIHsK
LSAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZTMyKHJlY292ZXJ5LnRhZ0dQUigpLCByZWludGVy
cHJldF9jYXN0PGNoYXIqPihzY3JhdGNoQnVmZmVyICsgc2NyYXRjaEluZGV4KSArIE9CSkVDVF9P
RkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSk7Ci0gICAgICAgICAg
ICAgICAgbV9qaXQuc3RvcmUzMihyZWNvdmVyeS5wYXlsb2FkR1BSKCksIHJlaW50ZXJwcmV0X2Nh
c3Q8Y2hhcio+KHNjcmF0Y2hCdWZmZXIgKyBzY3JhdGNoSW5kZXgpICsgT0JKRUNUX09GRlNFVE9G
KEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSk7Ci0gICAgICAgICAgICAg
ICAgc2NyYXRjaEluZGV4Kys7CisgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihyZWNvdmVy
eS50YWdHUFIoKSwgcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIGN1cnJl
bnRQb2lzb25JbmRleCkgKyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwg
YXNCaXRzLnRhZykpOworICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIocmVjb3ZlcnkucGF5
bG9hZEdQUigpLCByZWludGVycHJldF9jYXN0PGNoYXIqPihzY3JhdGNoQnVmZmVyICsgY3VycmVu
dFBvaXNvbkluZGV4KSArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBh
c0JpdHMucGF5bG9hZCkpOworICAgICAgICAgICAgICAgIG1fcG9pc29uU2NyYXRjaEluZGljZXNb
ZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0gPSBjdXJyZW50UG9pc29uSW5kZXg7CisgICAg
ICAgICAgICAgICAgY3VycmVudFBvaXNvbkluZGV4Kys7CiAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIocmVjb3ZlcnkudGFnR1BSKCksIEFzc2VtYmx5
SGVscGVyczo6dGFnRm9yKChWaXJ0dWFsUmVnaXN0ZXIpb3BlcmFuZCkpOwogICAgICAgICAgICAg
ICAgIG1faml0LnN0b3JlMzIocmVjb3ZlcnkucGF5bG9hZEdQUigpLCBBc3NlbWJseUhlbHBlcnM6
OnBheWxvYWRGb3IoKFZpcnR1YWxSZWdpc3RlcilvcGVyYW5kKSk7CkBAIC0yNzUsNyArMjgwLDcg
QEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICAgICAg
bV9qaXQuY29udmVydEludDMyVG9Eb3VibGUocmVjb3ZlcnkuZ3ByKCksIEZQUkluZm86OmZwUmVn
VDApOwogICAgICAgICAgICAgbV9qaXQuYWRkRG91YmxlKEFzc2VtYmx5SGVscGVyczo6QWJzb2x1
dGVBZGRyZXNzKCZBc3NlbWJseUhlbHBlcnM6OnR3b1RvVGhlMzIpLCBGUFJJbmZvOjpmcFJlZ1Qw
KTsKICAgICAgICAgICAgIGlmIChleGl0LmlzVmFyaWFibGUoaW5kZXgpICYmIHBvaXNvbmVkVmly
dHVhbFJlZ2lzdGVyc1tleGl0LnZhcmlhYmxlRm9ySW5kZXgoaW5kZXgpXSkgewotICAgICAgICAg
ICAgICAgIG1faml0Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKHNjcmF0Y2hC
dWZmZXIgKyBzY3JhdGNoSW5kZXgpLCBhZGRyZXNzR1BSKTsKKyAgICAgICAgICAgICAgICBtX2pp
dC5tb3ZlKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbVB0cihzY3JhdGNoQnVmZmVyICsgY3Vy
cmVudFBvaXNvbkluZGV4KSwgYWRkcmVzc0dQUik7CiAgICAgICAgICAgICAgICAgbV9qaXQuc3Rv
cmVEb3VibGUoRlBSSW5mbzo6ZnBSZWdUMCwgYWRkcmVzc0dQUik7CiAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZURvdWJsZShGUFJJbmZvOjpmcFJlZ1QwLCBB
c3NlbWJseUhlbHBlcnM6OmFkZHJlc3NGb3IoKFZpcnR1YWxSZWdpc3RlcilvcGVyYW5kKSk7CkBA
IC0yODUsOCArMjkwLDggQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0
IAogICAgICAgICAgICAgcG9zaXRpdmUubGluaygmbV9qaXQpOwogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGluZGV4KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdp
c3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0pIHsKLSAgICAgICAgICAgICAgICBt
X2ppdC5zdG9yZTMyKHJlY292ZXJ5LmdwcigpLCByZWludGVycHJldF9jYXN0PGNoYXIqPihzY3Jh
dGNoQnVmZmVyICsgc2NyYXRjaEluZGV4KSArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVE
ZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpOwotICAgICAgICAgICAgICAgIG1faml0LnN0b3Jl
MzIoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpLCByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihzY3JhdGNoQnVmZmVyICsgc2NyYXRjaEluZGV4KSArIE9CSkVD
VF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSk7CisgICAgICAg
ICAgICAgICAgbV9qaXQuc3RvcmUzMihyZWNvdmVyeS5ncHIoKSwgcmVpbnRlcnByZXRfY2FzdDxj
aGFyKj4oc2NyYXRjaEJ1ZmZlciArIGN1cnJlbnRQb2lzb25JbmRleCkgKyBPQkpFQ1RfT0ZGU0VU
T0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnBheWxvYWQpKTsKKyAgICAgICAgICAg
ICAgICBtX2ppdC5zdG9yZTMyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6
OkludDMyVGFnKSwgcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIGN1cnJl
bnRQb2lzb25JbmRleCkgKyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwg
YXNCaXRzLnRhZykpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBtX2pp
dC5zdG9yZTMyKHJlY292ZXJ5LmdwcigpLCBBc3NlbWJseUhlbHBlcnM6OnBheWxvYWRGb3IoKFZp
cnR1YWxSZWdpc3RlcilvcGVyYW5kKSk7CiAgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihB
c3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMihKU1ZhbHVlOjpJbnQzMlRhZyksIEFzc2VtYmx5
SGVscGVyczo6dGFnRm9yKChWaXJ0dWFsUmVnaXN0ZXIpb3BlcmFuZCkpOwpAQCAtMjk4LDggKzMw
MywxMCBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAgICAgICAg
ICAgICBtX2ppdC5sb2FkRG91YmxlKGFkZHJlc3NHUFIsIEZQUkluZm86OmZwUmVnVDApOwogICAg
ICAgICAgICAgbV9qaXQubG9hZFB0cihteVNjcmF0Y2gsIGFkZHJlc3NHUFIpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGlu
ZGV4KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGlu
ZGV4KV0pCi0gICAgICAgICAgICAgICAgc2NyYXRjaEluZGV4Kys7CisgICAgICAgICAgICBpZiAo
ZXhpdC5pc1ZhcmlhYmxlKGluZGV4KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52
YXJpYWJsZUZvckluZGV4KGluZGV4KV0pIHsKKyAgICAgICAgICAgICAgICBtX3BvaXNvblNjcmF0
Y2hJbmRpY2VzW2V4aXQudmFyaWFibGVGb3JJbmRleChpbmRleCldID0gY3VycmVudFBvaXNvbklu
ZGV4OworICAgICAgICAgICAgICAgIGN1cnJlbnRQb2lzb25JbmRleCsrOworICAgICAgICAgICAg
fQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgZGVmYXVsdDoKQEAgLTMw
NywyOSArMzE0LDI3IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAK
ICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICAvLyBBdCB0aGlzIHBvaW50IGFsbCBHUFJzIGFy
ZSBhdmFpbGFibGUgZm9yIHNjcmF0Y2ggdXNlLgotICAgIAorICAgIC8vIDcpIER1bXAgYWxsIGRv
dWJsZXMgaW50byB0aGUgcmVnaXN0ZXIgZmlsZSwgb3IgdG8gdGhlIHNjcmF0Y2ggc3RvcmFnZSBp
ZiB0aGUKKyAgICAvLyAgICBkZXN0aW5hdGlvbiB2aXJ0dWFsIHJlZ2lzdGVyIGlzIHBvaXNvbmVk
LgogICAgIGlmIChoYXZlRlBScykgewotICAgICAgICAvLyA3KSBCb3ggYWxsIGRvdWJsZXMgKHJl
bGllcyBvbiB0aGVyZSBiZWluZyBtb3JlIEdQUnMgdGhhbiBGUFJzKQotICAgICAgICAvLyAgICBG
b3IgSlNWYWx1ZTMyXzY0LCBubyBuZWVkIHRvIGJveCBkb3VibGVzLgotICAgICAgICAKLSAgICAg
ICAgLy8gOCkgRHVtcCBhbGwgZG91YmxlcyBpbnRvIHRoZSByZWdpc3RlciBmaWxlLCBvciB0byB0
aGUgc2NyYXRjaCBzdG9yYWdlIGlmCi0gICAgICAgIC8vICAgIHRoZSBkZXN0aW5hdGlvbiB2aXJ0
dWFsIHJlZ2lzdGVyIGlzIHBvaXNvbmVkLgotICAgICAgICAKICAgICAgICAgZm9yIChpbnQgaW5k
ZXggPSAwOyBpbmRleCA8IGV4aXQubnVtYmVyT2ZSZWNvdmVyaWVzKCk7ICsraW5kZXgpIHsKICAg
ICAgICAgICAgIGNvbnN0IFZhbHVlUmVjb3ZlcnkmIHJlY292ZXJ5ID0gZXhpdC52YWx1ZVJlY292
ZXJ5KGluZGV4KTsKICAgICAgICAgICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSAhPSBJbkZQ
UikKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGlmIChleGl0LmlzVmFy
aWFibGUoaW5kZXgpICYmIHBvaXNvbmVkVmlydHVhbFJlZ2lzdGVyc1tleGl0LnZhcmlhYmxlRm9y
SW5kZXgoaW5kZXgpXSkKLSAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZURvdWJsZShyZWNvdmVy
eS5mcHIoKSwgc2NyYXRjaEJ1ZmZlciArIHNjcmF0Y2hJbmRleCsrKTsKLSAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIGlmIChleGl0LmlzVmFyaWFibGUoaW5kZXgpICYmIHBvaXNvbmVkVmly
dHVhbFJlZ2lzdGVyc1tleGl0LnZhcmlhYmxlRm9ySW5kZXgoaW5kZXgpXSkgeworICAgICAgICAg
ICAgICAgIG1faml0LnN0b3JlRG91YmxlKHJlY292ZXJ5LmZwcigpLCBzY3JhdGNoQnVmZmVyICsg
Y3VycmVudFBvaXNvbkluZGV4KTsKKyAgICAgICAgICAgICAgICBtX3BvaXNvblNjcmF0Y2hJbmRp
Y2VzW2V4aXQudmFyaWFibGVGb3JJbmRleChpbmRleCldID0gY3VycmVudFBvaXNvbkluZGV4Owor
ICAgICAgICAgICAgICAgIGN1cnJlbnRQb2lzb25JbmRleCsrOworICAgICAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmVEb3VibGUocmVjb3ZlcnkuZnByKCksIEFzc2Vt
Ymx5SGVscGVyczo6YWRkcmVzc0ZvcigoVmlydHVhbFJlZ2lzdGVyKWV4aXQub3BlcmFuZEZvcklu
ZGV4KGluZGV4KSkpOwogICAgICAgICB9CiAgICAgfQogICAgIAorICAgIC8vIEF0IHRoaXMgcG9p
bnQgYWxsIEdQUnMgYXJlIGF2YWlsYWJsZSBmb3Igc2NyYXRjaCB1c2UuCisgICAgCiAgICAgQVNT
RVJUKHNjcmF0Y2hJbmRleCA9PSBudW1iZXJPZlBvaXNvbmVkVmlydHVhbFJlZ2lzdGVycyk7CiAg
ICAgCi0gICAgLy8gOSkgUmVzaHVmZmxlIGRpc3BsYWNlZCB2aXJ0dWFsIHJlZ2lzdGVycy4gT3B0
aW1pemUgZm9yIHRoZSBjYXNlIHRoYXQKKyAgICAvLyA4KSBSZXNodWZmbGUgZGlzcGxhY2VkIHZp
cnR1YWwgcmVnaXN0ZXJzLiBPcHRpbWl6ZSBmb3IgdGhlIGNhc2UgdGhhdAogICAgIC8vICAgIHRo
ZSBudW1iZXIgb2YgZGlzcGxhY2VkIHZpcnR1YWwgcmVnaXN0ZXJzIGlzIG5vdCBtb3JlIHRoYW4g
dGhlIG51bWJlcgogICAgIC8vICAgIG9mIGF2YWlsYWJsZSBwaHlzaWNhbCByZWdpc3RlcnMuCiAg
ICAgCkBAIC0zNzMsNiArMzc4LDcgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0
KGNvbnN0IAogICAgICAgICAgICAgLy8gbG9jYXRpb24gaW4gbWVtb3J5LCBhbmQgdGhlbiB0cmFu
c2ZlcnJpbmcgZnJvbSB0aGF0IHNjcmF0Y2ggbG9jYXRpb24KICAgICAgICAgICAgIC8vIHRvIHRo
ZWlyIG5ldyAob2xkIEpJVCkgbG9jYXRpb25zLgogICAgICAgICAKKyAgICAgICAgICAgIHVuc2ln
bmVkIHNjcmF0Y2hJbmRleCA9IG51bWJlck9mUG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJzOwogICAg
ICAgICAgICAgZm9yIChpbnQgaW5kZXggPSAwOyBpbmRleCA8IGV4aXQubnVtYmVyT2ZSZWNvdmVy
aWVzKCk7ICsraW5kZXgpIHsKICAgICAgICAgICAgICAgICBjb25zdCBWYWx1ZVJlY292ZXJ5JiBy
ZWNvdmVyeSA9IGV4aXQudmFsdWVSZWNvdmVyeShpbmRleCk7CiAgICAgICAgICAgICAgICAgaWYg
KHJlY292ZXJ5LnRlY2huaXF1ZSgpICE9IERpc3BsYWNlZEluUmVnaXN0ZXJGaWxlKQpAQCAtNDAw
LDkgKzQwNiw4IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAg
ICAgICAgfQogICAgIH0KICAgICAKLSAgICAvLyAxMCkgRHVtcCBhbGwgcG9pc29uZWQgdmlydHVh
bCByZWdpc3RlcnMuCisgICAgLy8gOSkgRHVtcCBhbGwgcG9pc29uZWQgdmlydHVhbCByZWdpc3Rl
cnMuCiAgICAgCi0gICAgc2NyYXRjaEluZGV4ID0gMDsKICAgICBpZiAobnVtYmVyT2ZQb2lzb25l
ZFZpcnR1YWxSZWdpc3RlcnMpIHsKICAgICAgICAgZm9yIChpbnQgdmlydHVhbFJlZ2lzdGVyID0g
MDsgdmlydHVhbFJlZ2lzdGVyIDwgKGludClleGl0Lm1fdmFyaWFibGVzLnNpemUoKTsgKyt2aXJ0
dWFsUmVnaXN0ZXIpIHsKICAgICAgICAgICAgIGlmICghcG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJz
W3ZpcnR1YWxSZWdpc3Rlcl0pCkBAIC00MTMsNyArNDE4LDcgQEAgdm9pZCBPU1JFeGl0Q29tcGls
ZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICAgICAgY2FzZSBJbkdQUjoKICAgICAgICAg
ICAgIGNhc2UgVW5ib3hlZEludDMySW5HUFI6CiAgICAgICAgICAgICBjYXNlIFVuYm94ZWRCb29s
ZWFuSW5HUFI6IHsKLSAgICAgICAgICAgICAgICBtX2ppdC5sb2FkMzIocmVpbnRlcnByZXRfY2Fz
dDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIHNjcmF0Y2hJbmRleCsrKSArIE9CSkVDVF9PRkZTRVRP
RihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCksIEdQUkluZm86OnJlZ1Qw
KTsKKyAgICAgICAgICAgICAgICBtX2ppdC5sb2FkMzIocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4o
c2NyYXRjaEJ1ZmZlciArIHBvaXNvbkluZGV4KHZpcnR1YWxSZWdpc3RlcikpICsgT0JKRUNUX09G
RlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSwgR1BSSW5mbzo6
cmVnVDApOwogICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIoR1BSSW5mbzo6cmVnVDAsIEFz
c2VtYmx5SGVscGVyczo6cGF5bG9hZEZvcigoVmlydHVhbFJlZ2lzdGVyKXZpcnR1YWxSZWdpc3Rl
cikpOwogICAgICAgICAgICAgICAgIHVpbnQzMl90IHRhZyA9IEpTVmFsdWU6OkVtcHR5VmFsdWVU
YWc7CiAgICAgICAgICAgICAgICAgaWYgKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IEluR1BSKQpA
QCAtNDI5LDExICs0MzQsMTEgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNv
bnN0IAogICAgICAgICAgICAgY2FzZSBJbkZQUjoKICAgICAgICAgICAgIGNhc2UgSW5QYWlyOgog
ICAgICAgICAgICAgY2FzZSBVSW50MzJJbkdQUjoKLSAgICAgICAgICAgICAgICBtX2ppdC5sb2Fk
MzIocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIHNjcmF0Y2hJbmRleCkg
KyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnBheWxvYWQp
LCBHUFJJbmZvOjpyZWdUMCk7Ci0gICAgICAgICAgICAgICAgbV9qaXQubG9hZDMyKHJlaW50ZXJw
cmV0X2Nhc3Q8Y2hhcio+KHNjcmF0Y2hCdWZmZXIgKyBzY3JhdGNoSW5kZXgpICsgT0JKRUNUX09G
RlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpLCBHUFJJbmZvOjpyZWdU
MSk7CisgICAgICAgICAgICBjYXNlIEluTWVtb3J5OgorICAgICAgICAgICAgICAgIG1faml0Lmxv
YWQzMihyZWludGVycHJldF9jYXN0PGNoYXIqPihzY3JhdGNoQnVmZmVyICsgcG9pc29uSW5kZXgo
dmlydHVhbFJlZ2lzdGVyKSkgKyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRv
ciwgYXNCaXRzLnBheWxvYWQpLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgICAgICAgICAgbV9q
aXQubG9hZDMyKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHNjcmF0Y2hCdWZmZXIgKyBwb2lzb25J
bmRleCh2aXJ0dWFsUmVnaXN0ZXIpKSArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNj
cmlwdG9yLCBhc0JpdHMudGFnKSwgR1BSSW5mbzo6cmVnVDEpOwogICAgICAgICAgICAgICAgIG1f
aml0LnN0b3JlMzIoR1BSSW5mbzo6cmVnVDAsIEFzc2VtYmx5SGVscGVyczo6cGF5bG9hZEZvcigo
VmlydHVhbFJlZ2lzdGVyKXZpcnR1YWxSZWdpc3RlcikpOwogICAgICAgICAgICAgICAgIG1faml0
LnN0b3JlMzIoR1BSSW5mbzo6cmVnVDEsIEFzc2VtYmx5SGVscGVyczo6dGFnRm9yKChWaXJ0dWFs
UmVnaXN0ZXIpdmlydHVhbFJlZ2lzdGVyKSk7Ci0gICAgICAgICAgICAgICAgc2NyYXRjaEluZGV4
Kys7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICBkZWZhdWx0OgpAQCAtNDQxLDkgKzQ0Niw4IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21w
aWxlRXhpdChjb25zdCAKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KLSAgICBBU1NF
UlQoc2NyYXRjaEluZGV4ID09IG51bWJlck9mUG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJzKTsKICAg
ICAKLSAgICAvLyAxMSkgRHVtcCBhbGwgY29uc3RhbnRzLiBPcHRpbWl6ZSBmb3IgVW5kZWZpbmVk
LCBzaW5jZSB0aGF0J3MgYSBjb25zdGFudCB3ZSBzZWUKKyAgICAvLyAxMCkgRHVtcCBhbGwgY29u
c3RhbnRzLiBPcHRpbWl6ZSBmb3IgVW5kZWZpbmVkLCBzaW5jZSB0aGF0J3MgYSBjb25zdGFudCB3
ZSBzZWUKICAgICAvLyAgICAgb2Z0ZW4uCiAKICAgICBpZiAoaGF2ZUNvbnN0YW50cykgewpAQCAt
NDY2LDcgKzQ3MCw3IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAK
ICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICAvLyAxMikgQWRqdXN0IHRoZSBvbGQgSklUJ3Mg
ZXhlY3V0ZSBjb3VudGVyLiBTaW5jZSB3ZSBhcmUgZXhpdGluZyBPU1IsIHdlIGtub3cKKyAgICAv
LyAxMSkgQWRqdXN0IHRoZSBvbGQgSklUJ3MgZXhlY3V0ZSBjb3VudGVyLiBTaW5jZSB3ZSBhcmUg
ZXhpdGluZyBPU1IsIHdlIGtub3cKICAgICAvLyAgICAgdGhhdCBhbGwgbmV3IGNhbGxzIGludG8g
dGhpcyBjb2RlIHdpbGwgZ28gdG8gdGhlIG5ldyBKSVQsIHNvIHRoZSBleGVjdXRlCiAgICAgLy8g
ICAgIGNvdW50ZXIgb25seSBhZmZlY3RzIGNhbGwgZnJhbWVzIHRoYXQgcGVyZm9ybWVkIE9TUiBl
eGl0IGFuZCBjYWxsIGZyYW1lcwogICAgIC8vICAgICB0aGF0IHdlcmUgc3RpbGwgZXhlY3V0aW5n
IHRoZSBvbGQgSklUIGF0IHRoZSB0aW1lIG9mIGFub3RoZXIgY2FsbCBmcmFtZSdzCkBAIC01MzEs
MTQgKzUzNSwxNCBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAg
ICAgCiAgICAgZG9uZUFkanVzdGluZy5saW5rKCZtX2ppdCk7CiAgICAgCi0gICAgLy8gMTMpIExv
YWQgdGhlIHJlc3VsdCBvZiB0aGUgbGFzdCBieXRlY29kZSBvcGVyYXRpb24gaW50byByZWdUMC4K
KyAgICAvLyAxMikgTG9hZCB0aGUgcmVzdWx0IG9mIHRoZSBsYXN0IGJ5dGVjb2RlIG9wZXJhdGlv
biBpbnRvIHJlZ1QwLgogICAgIAogICAgIGlmIChleGl0Lm1fbGFzdFNldE9wZXJhbmQgIT0gc3Rk
OjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSkgewogICAgICAgICBtX2ppdC5sb2FkMzIoQXNz
ZW1ibHlIZWxwZXJzOjpwYXlsb2FkRm9yKChWaXJ0dWFsUmVnaXN0ZXIpZXhpdC5tX2xhc3RTZXRP
cGVyYW5kKSwgR1BSSW5mbzo6Y2FjaGVkUmVzdWx0UmVnaXN0ZXIpOwogICAgICAgICBtX2ppdC5s
b2FkMzIoQXNzZW1ibHlIZWxwZXJzOjp0YWdGb3IoKFZpcnR1YWxSZWdpc3RlcilleGl0Lm1fbGFz
dFNldE9wZXJhbmQpLCBHUFJJbmZvOjpjYWNoZWRSZXN1bHRSZWdpc3RlcjIpOwogICAgIH0KICAg
ICAKLSAgICAvLyAxNCkgRml4IGNhbGwgZnJhbWUgKHMpLgorICAgIC8vIDEzKSBGaXggY2FsbCBm
cmFtZSAocykuCiAgICAgCiAgICAgQVNTRVJUKG1faml0LmJhc2VsaW5lQ29kZUJsb2NrKCktPmdl
dEpJVFR5cGUoKSA9PSBKSVRDb2RlOjpCYXNlbGluZUpJVCk7CiAgICAgbV9qaXQuc3RvcmVQdHIo
QXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG1faml0LmJhc2VsaW5lQ29kZUJsb2NrKCkp
LCBBc3NlbWJseUhlbHBlcnM6OmFkZHJlc3NGb3IoKFZpcnR1YWxSZWdpc3RlcilSZWdpc3RlckZp
bGU6OkNvZGVCbG9jaykpOwpAQCAtNTc4LDcgKzU4Miw3IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVy
Ojpjb21waWxlRXhpdChjb25zdCAKICAgICBpZiAoZXhpdC5tX2NvZGVPcmlnaW4uaW5saW5lQ2Fs
bEZyYW1lKQogICAgICAgICBtX2ppdC5hZGRQdHIoQXNzZW1ibHlIZWxwZXJzOjpJbW0zMihleGl0
Lm1fY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJhbWUtPnN0YWNrT2Zmc2V0ICogc2l6ZW9mKEVuY29k
ZWRKU1ZhbHVlKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKIAotICAgIC8vIDE1KSBK
dW1wIGludG8gdGhlIGNvcnJlc3BvbmRpbmcgYmFzZWxpbmUgSklUIGNvZGUuCisgICAgLy8gMTQp
IEp1bXAgaW50byB0aGUgY29ycmVzcG9uZGluZyBiYXNlbGluZSBKSVQgY29kZS4KICAgICAKICAg
ICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrID0gbV9qaXQuYmFzZWxpbmVDb2RlQmxvY2tG
b3IoZXhpdC5tX2NvZGVPcmlnaW4pOwogICAgIFZlY3RvcjxCeXRlY29kZUFuZE1hY2hpbmVPZmZz
ZXQ+JiBkZWNvZGVkQ29kZU1hcCA9IG1faml0LmRlY29kZWRDb2RlTWFwRm9yKGJhc2VsaW5lQ29k
ZUJsb2NrKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBp
bGVyNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdENvbXBpbGVyNjQuY3BwCShyZXZpc2lvbiAxMDMwNDApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcy
LDcgKzI3Miw5IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAg
ICAvLyAgICBOb3RlIHRoYXQgR1BScyBkbyBub3QgaGF2ZSBhIGZhc3QgY2hhbmdlIChsaWtlIGhh
dmVGUFJzKSBiZWNhdXNlIHdlIGV4cGVjdCB0aGF0CiAgICAgLy8gICAgbW9zdCBPU1IgZmFpbHVy
ZSBwb2ludHMgd2lsbCBoYXZlIGF0IGxlYXN0IG9uZSBHUFIgdGhhdCBuZWVkcyB0byBiZSBkdW1w
ZWQuCiAgICAgCi0gICAgdW5zaWduZWQgc2NyYXRjaEluZGV4ID0gMDsKKyAgICBpbml0aWFsaXpl
UG9pc29uZWQoZXhpdC5tX3ZhcmlhYmxlcy5zaXplKCkpOworICAgIHVuc2lnbmVkIGN1cnJlbnRQ
b2lzb25JbmRleCA9IDA7CisgICAgCiAgICAgZm9yIChpbnQgaW5kZXggPSAwOyBpbmRleCA8IGV4
aXQubnVtYmVyT2ZSZWNvdmVyaWVzKCk7ICsraW5kZXgpIHsKICAgICAgICAgY29uc3QgVmFsdWVS
ZWNvdmVyeSYgcmVjb3ZlcnkgPSBleGl0LnZhbHVlUmVjb3ZlcnkoaW5kZXgpOwogICAgICAgICBp
bnQgb3BlcmFuZCA9IGV4aXQub3BlcmFuZEZvckluZGV4KGluZGV4KTsKQEAgLTI4MCw5ICsyODIs
MTEgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICBj
YXNlIEluR1BSOgogICAgICAgICBjYXNlIFVuYm94ZWRJbnQzMkluR1BSOgogICAgICAgICBjYXNl
IFVJbnQzMkluR1BSOgotICAgICAgICAgICAgaWYgKGV4aXQuaXNWYXJpYWJsZShpbmRleCkgJiYg
cG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJzW2V4aXQudmFyaWFibGVGb3JJbmRleChpbmRleCldKQot
ICAgICAgICAgICAgICAgIG1faml0LnN0b3JlUHRyKHJlY292ZXJ5LmdwcigpLCBzY3JhdGNoQnVm
ZmVyICsgc2NyYXRjaEluZGV4KyspOwotICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYg
KGV4aXQuaXNWYXJpYWJsZShpbmRleCkgJiYgcG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJzW2V4aXQu
dmFyaWFibGVGb3JJbmRleChpbmRleCldKSB7CisgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmVQ
dHIocmVjb3ZlcnkuZ3ByKCksIHNjcmF0Y2hCdWZmZXIgKyBjdXJyZW50UG9pc29uSW5kZXgpOwor
ICAgICAgICAgICAgICAgIG1fcG9pc29uU2NyYXRjaEluZGljZXNbZXhpdC52YXJpYWJsZUZvcklu
ZGV4KGluZGV4KV0gPSBjdXJyZW50UG9pc29uSW5kZXg7CisgICAgICAgICAgICAgICAgY3VycmVu
dFBvaXNvbkluZGV4Kys7CisgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBtX2pp
dC5zdG9yZVB0cihyZWNvdmVyeS5ncHIoKSwgQXNzZW1ibHlIZWxwZXJzOjphZGRyZXNzRm9yKChW
aXJ0dWFsUmVnaXN0ZXIpb3BlcmFuZCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRl
ZmF1bHQ6CkBAIC0zMTIsOSArMzE2LDExIEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxl
RXhpdChjb25zdCAKICAgICAgICAgICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSAhPSBJbkZQ
UikKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIEdQUlJlZyBncHIgPSBH
UFJJbmZvOjp0b1JlZ2lzdGVyKEZQUkluZm86OnRvSW5kZXgocmVjb3ZlcnkuZnByKCkpKTsKLSAg
ICAgICAgICAgIGlmIChleGl0LmlzVmFyaWFibGUoaW5kZXgpICYmIHBvaXNvbmVkVmlydHVhbFJl
Z2lzdGVyc1tleGl0LnZhcmlhYmxlRm9ySW5kZXgoaW5kZXgpXSkKLSAgICAgICAgICAgICAgICBt
X2ppdC5zdG9yZVB0cihncHIsIHNjcmF0Y2hCdWZmZXIgKyBzY3JhdGNoSW5kZXgrKyk7Ci0gICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGluZGV4KSAmJiBw
b2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0pIHsK
KyAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZVB0cihncHIsIHNjcmF0Y2hCdWZmZXIgKyBjdXJy
ZW50UG9pc29uSW5kZXgpOworICAgICAgICAgICAgICAgIG1fcG9pc29uU2NyYXRjaEluZGljZXNb
ZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0gPSBjdXJyZW50UG9pc29uSW5kZXg7CisgICAg
ICAgICAgICAgICAgY3VycmVudFBvaXNvbkluZGV4Kys7CisgICAgICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgICAgICBtX2ppdC5zdG9yZVB0cihncHIsIEFzc2VtYmx5SGVscGVyczo6YWRkcmVz
c0ZvcigoVmlydHVhbFJlZ2lzdGVyKWV4aXQub3BlcmFuZEZvckluZGV4KGluZGV4KSkpOwogICAg
ICAgICB9CiAgICAgfQpAQCAtMzMzLDcgKzMzOSw3IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpj
b21waWxlRXhpdChjb25zdCAKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBBU1NFUlQoc2Ny
YXRjaEluZGV4ID09IG51bWJlck9mUG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJzKTsKKyAgICBBU1NF
UlQoY3VycmVudFBvaXNvbkluZGV4ID09IG51bWJlck9mUG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJz
KTsKICAgICAKICAgICAvLyAxMCkgUmVzaHVmZmxlIGRpc3BsYWNlZCB2aXJ0dWFsIHJlZ2lzdGVy
cy4gT3B0aW1pemUgZm9yIHRoZSBjYXNlIHRoYXQKICAgICAvLyAgICB0aGUgbnVtYmVyIG9mIGRp
c3BsYWNlZCB2aXJ0dWFsIHJlZ2lzdGVycyBpcyBub3QgbW9yZSB0aGFuIHRoZSBudW1iZXIKQEAg
LTQwMyw2ICs0MDksNyBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3Qg
CiAgICAgICAgICAgICAvLyBsb2NhdGlvbiBpbiBtZW1vcnksIGFuZCB0aGVuIHRyYW5zZmVycmlu
ZyBmcm9tIHRoYXQgc2NyYXRjaCBsb2NhdGlvbgogICAgICAgICAgICAgLy8gdG8gdGhlaXIgbmV3
IChvbGQgSklUKSBsb2NhdGlvbnMuCiAgICAgICAgIAorICAgICAgICAgICAgdW5zaWduZWQgc2Ny
YXRjaEluZGV4ID0gbnVtYmVyT2ZQb2lzb25lZFZpcnR1YWxSZWdpc3RlcnM7CiAgICAgICAgICAg
ICBmb3IgKGludCBpbmRleCA9IDA7IGluZGV4IDwgZXhpdC5udW1iZXJPZlJlY292ZXJpZXMoKTsg
KytpbmRleCkgewogICAgICAgICAgICAgICAgIGNvbnN0IFZhbHVlUmVjb3ZlcnkmIHJlY292ZXJ5
ID0gZXhpdC52YWx1ZVJlY292ZXJ5KGluZGV4KTsKICAgICAgICAgICAgICAgICAKQEAgLTQ1Myw3
ICs0NjAsNiBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAgICAg
CiAgICAgLy8gMTEpIER1bXAgYWxsIHBvaXNvbmVkIHZpcnR1YWwgcmVnaXN0ZXJzLgogICAgIAot
ICAgIHNjcmF0Y2hJbmRleCA9IDA7CiAgICAgaWYgKG51bWJlck9mUG9pc29uZWRWaXJ0dWFsUmVn
aXN0ZXJzKSB7CiAgICAgICAgIGZvciAoaW50IHZpcnR1YWxSZWdpc3RlciA9IDA7IHZpcnR1YWxS
ZWdpc3RlciA8IChpbnQpZXhpdC5tX3ZhcmlhYmxlcy5zaXplKCk7ICsrdmlydHVhbFJlZ2lzdGVy
KSB7CiAgICAgICAgICAgICBpZiAoIXBvaXNvbmVkVmlydHVhbFJlZ2lzdGVyc1t2aXJ0dWFsUmVn
aXN0ZXJdKQpAQCAtNDY1LDcgKzQ3MSw3IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxl
RXhpdChjb25zdCAKICAgICAgICAgICAgIGNhc2UgVW5ib3hlZEludDMySW5HUFI6CiAgICAgICAg
ICAgICBjYXNlIFVJbnQzMkluR1BSOgogICAgICAgICAgICAgY2FzZSBJbkZQUjoKLSAgICAgICAg
ICAgICAgICBtX2ppdC5sb2FkUHRyKHNjcmF0Y2hCdWZmZXIgKyBzY3JhdGNoSW5kZXgrKywgR1BS
SW5mbzo6cmVnVDApOworICAgICAgICAgICAgICAgIG1faml0LmxvYWRQdHIoc2NyYXRjaEJ1ZmZl
ciArIHBvaXNvbkluZGV4KHZpcnR1YWxSZWdpc3RlciksIEdQUkluZm86OnJlZ1QwKTsKICAgICAg
ICAgICAgICAgICBtX2ppdC5zdG9yZVB0cihHUFJJbmZvOjpyZWdUMCwgQXNzZW1ibHlIZWxwZXJz
OjphZGRyZXNzRm9yKChWaXJ0dWFsUmVnaXN0ZXIpdmlydHVhbFJlZ2lzdGVyKSk7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgCkBAIC00NzQsNyArNDgwLDYgQEAgdm9p
ZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQotICAgIEFTU0VSVChzY3JhdGNoSW5kZXggPT0gbnVtYmVyT2ZQb2lzb25l
ZFZpcnR1YWxSZWdpc3RlcnMpOwogICAgIAogICAgIC8vIDEyKSBEdW1wIGFsbCBjb25zdGFudHMu
IE9wdGltaXplIGZvciBVbmRlZmluZWQsIHNpbmNlIHRoYXQncyBhIGNvbnN0YW50IHdlIHNlZQog
ICAgIC8vICAgICBvZnRlbi4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdENvbXBpbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JFeGl0Q29tcGlsZXIuaAkocmV2aXNpb24gMTAzMDQwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyAr
NTAsMjggQEAgcHVibGljOgogICAgIHZvaWQgY29tcGlsZUV4aXQoY29uc3QgT1NSRXhpdCYsIFNw
ZWN1bGF0aW9uUmVjb3ZlcnkqKTsKIAogcHJpdmF0ZToKKyNpZiAhQVNTRVJUX0RJU0FCTEVECisg
ICAgc3RhdGljIHVuc2lnbmVkIGJhZEluZGV4KCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KC0xKTsgfTsKKyNlbmRpZgorICAgIAorICAgIHZvaWQgaW5pdGlhbGl6ZVBvaXNvbmVkKHVu
c2lnbmVkIHNpemUpCisgICAgeworI2lmIEFTU0VSVF9ESVNBQkxFRAorICAgICAgICBtX3BvaXNv
blNjcmF0Y2hJbmRpY2VzLnJlc2l6ZShzaXplKTsKKyNlbHNlCisgICAgICAgIG1fcG9pc29uU2Ny
YXRjaEluZGljZXMuZmlsbChiYWRJbmRleCgpLCBzaXplKTsKKyNlbmRpZgorICAgIH0KKyAgICAK
KyAgICB1bnNpZ25lZCBwb2lzb25JbmRleCh1bnNpZ25lZCBpbmRleCkKKyAgICB7CisgICAgICAg
IHVuc2lnbmVkIHJlc3VsdCA9IG1fcG9pc29uU2NyYXRjaEluZGljZXNbaW5kZXhdOworICAgICAg
ICBBU1NFUlQocmVzdWx0ICE9IGJhZEluZGV4KCkpOworICAgICAgICByZXR1cm4gcmVzdWx0Owor
ICAgIH0KKyAgICAKICAgICBBc3NlbWJseUhlbHBlcnMmIG1faml0OworICAgIFZlY3Rvcjx1bnNp
Z25lZD4gbV9wb2lzb25TY3JhdGNoSW5kaWNlczsKIH07CiAKIGV4dGVybiAiQyIgewo=
</data>
<flag name="commit-queue"
          id="119662"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119586</attachid>
            <date>2011-12-16 01:38:35 -0800</date>
            <delta_ts>2011-12-16 09:14:41 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>fixpoisonosr_patch_1.diff</filename>
            <type>text/plain</type>
            <size>19345</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTAzMDQ0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDExLTEyLTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIE9TUiBleGl0IG1heSBnZXQgY29uZnVzZWQgYWJvdXQgd2hlcmUgaW4gdGhlIHNjcmF0Y2gg
YnVmZmVyIGl0IHN0b3JlZCBhIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03NDY5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorICAgICAgICAKKyAgICAgICAgVGhlIGNvZGUgdGhhdCByZWFkcyBmcm9tIHRoZSBzY3Jh
dGNoIGJ1ZmZlciBub3cgZXhwbGljaXRseSBrbm93cyB3aGljaCBsb2NhdGlvbnMgdG8KKyAgICAg
ICAgcmVhZCBmcm9tLiBObyBuZXcgdGVzdHMsIHNpbmNlIHRoaXMgcGF0Y2ggY292ZXJzIGEgY2Fz
ZSBzbyB1bmNvbW1vbiB0aGF0IEkgZG9uJ3Qga25vdworICAgICAgICBob3cgdG8gbWFrZSBhIHRl
c3QgZm9yIGl0LgorCisgICAgICAgICogZGZnL0RGR09TUkV4aXRDb21waWxlci5oOgorICAgICAg
ICAoSlNDOjpERkc6Ok9TUkV4aXRDb21waWxlcjo6YmFkSW5kZXgpOgorICAgICAgICAoSlNDOjpE
Rkc6Ok9TUkV4aXRDb21waWxlcjo6aW5pdGlhbGl6ZVBvaXNvbmVkKToKKyAgICAgICAgKEpTQzo6
REZHOjpPU1JFeGl0Q29tcGlsZXI6OnBvaXNvbkluZGV4KToKKyAgICAgICAgKiBkZmcvREZHT1NS
RXhpdENvbXBpbGVyMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6Ok9TUkV4aXRDb21waWxl
cjo6Y29tcGlsZUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdCk6CisKIDIw
MTEtMTItMTUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIEZpeCAnbWFrZSBkaXN0JyBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIEdUSysgcmVsZWFzZS4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENv
bXBpbGVyMzJfNjQuY3BwCShyZXZpc2lvbiAxMDMwNDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI3
LDcgKzIyNyw5IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAg
ICAvLyAgICBOb3RlIHRoYXQgR1BScyBkbyBub3QgaGF2ZSBhIGZhc3QgY2hhbmdlIChsaWtlIGhh
dmVGUFJzKSBiZWNhdXNlIHdlIGV4cGVjdCB0aGF0CiAgICAgLy8gICAgbW9zdCBPU1IgZmFpbHVy
ZSBwb2ludHMgd2lsbCBoYXZlIGF0IGxlYXN0IG9uZSBHUFIgdGhhdCBuZWVkcyB0byBiZSBkdW1w
ZWQuCiAgICAgCi0gICAgdW5zaWduZWQgc2NyYXRjaEluZGV4ID0gMDsKKyAgICBpbml0aWFsaXpl
UG9pc29uZWQoZXhpdC5tX3ZhcmlhYmxlcy5zaXplKCkpOworICAgIHVuc2lnbmVkIGN1cnJlbnRQ
b2lzb25JbmRleCA9IDA7CisgICAgCiAgICAgZm9yIChpbnQgaW5kZXggPSAwOyBpbmRleCA8IGV4
aXQubnVtYmVyT2ZSZWNvdmVyaWVzKCk7ICsraW5kZXgpIHsKICAgICAgICAgY29uc3QgVmFsdWVS
ZWNvdmVyeSYgcmVjb3ZlcnkgPSBleGl0LnZhbHVlUmVjb3ZlcnkoaW5kZXgpOwogICAgICAgICBp
bnQgb3BlcmFuZCA9IGV4aXQub3BlcmFuZEZvckluZGV4KGluZGV4KTsKQEAgLTIzNSw5ICsyMzcs
MTEgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICBj
YXNlIEluR1BSOgogICAgICAgICBjYXNlIFVuYm94ZWRJbnQzMkluR1BSOgogICAgICAgICBjYXNl
IFVuYm94ZWRCb29sZWFuSW5HUFI6Ci0gICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGlu
ZGV4KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGlu
ZGV4KV0pCi0gICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihyZWNvdmVyeS5ncHIoKSwgcmVp
bnRlcnByZXRfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIHNjcmF0Y2hJbmRleCsrKSArIE9C
SkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpOwot
ICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGluZGV4
KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4
KV0pIHsKKyAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZTMyKHJlY292ZXJ5LmdwcigpLCByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihzY3JhdGNoQnVmZmVyICsgY3VycmVudFBvaXNvbkluZGV4KSAr
IE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkp
OworICAgICAgICAgICAgICAgIG1fcG9pc29uU2NyYXRjaEluZGljZXNbZXhpdC52YXJpYWJsZUZv
ckluZGV4KGluZGV4KV0gPSBjdXJyZW50UG9pc29uSW5kZXg7CisgICAgICAgICAgICAgICAgY3Vy
cmVudFBvaXNvbkluZGV4Kys7CisgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
IHVpbnQzMl90IHRhZyA9IEpTVmFsdWU6OkVtcHR5VmFsdWVUYWc7CiAgICAgICAgICAgICAgICAg
aWYgKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IEluR1BSKQogICAgICAgICAgICAgICAgICAgICB0
YWcgPSBKU1ZhbHVlOjpDZWxsVGFnOwpAQCAtMjUxLDkgKzI1NSwxMCBAQCB2b2lkIE9TUkV4aXRD
b21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBJblBhaXI6CiAgICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGluZGV4KSAmJiBw
b2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0pIHsK
LSAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZTMyKHJlY292ZXJ5LnRhZ0dQUigpLCByZWludGVy
cHJldF9jYXN0PGNoYXIqPihzY3JhdGNoQnVmZmVyICsgc2NyYXRjaEluZGV4KSArIE9CSkVDVF9P
RkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSk7Ci0gICAgICAgICAg
ICAgICAgbV9qaXQuc3RvcmUzMihyZWNvdmVyeS5wYXlsb2FkR1BSKCksIHJlaW50ZXJwcmV0X2Nh
c3Q8Y2hhcio+KHNjcmF0Y2hCdWZmZXIgKyBzY3JhdGNoSW5kZXgpICsgT0JKRUNUX09GRlNFVE9G
KEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSk7Ci0gICAgICAgICAgICAg
ICAgc2NyYXRjaEluZGV4Kys7CisgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihyZWNvdmVy
eS50YWdHUFIoKSwgcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIGN1cnJl
bnRQb2lzb25JbmRleCkgKyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwg
YXNCaXRzLnRhZykpOworICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIocmVjb3ZlcnkucGF5
bG9hZEdQUigpLCByZWludGVycHJldF9jYXN0PGNoYXIqPihzY3JhdGNoQnVmZmVyICsgY3VycmVu
dFBvaXNvbkluZGV4KSArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBh
c0JpdHMucGF5bG9hZCkpOworICAgICAgICAgICAgICAgIG1fcG9pc29uU2NyYXRjaEluZGljZXNb
ZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0gPSBjdXJyZW50UG9pc29uSW5kZXg7CisgICAg
ICAgICAgICAgICAgY3VycmVudFBvaXNvbkluZGV4Kys7CiAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIocmVjb3ZlcnkudGFnR1BSKCksIEFzc2VtYmx5
SGVscGVyczo6dGFnRm9yKChWaXJ0dWFsUmVnaXN0ZXIpb3BlcmFuZCkpOwogICAgICAgICAgICAg
ICAgIG1faml0LnN0b3JlMzIocmVjb3ZlcnkucGF5bG9hZEdQUigpLCBBc3NlbWJseUhlbHBlcnM6
OnBheWxvYWRGb3IoKFZpcnR1YWxSZWdpc3RlcilvcGVyYW5kKSk7CkBAIC0yNzUsNyArMjgwLDcg
QEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICAgICAg
bV9qaXQuY29udmVydEludDMyVG9Eb3VibGUocmVjb3ZlcnkuZ3ByKCksIEZQUkluZm86OmZwUmVn
VDApOwogICAgICAgICAgICAgbV9qaXQuYWRkRG91YmxlKEFzc2VtYmx5SGVscGVyczo6QWJzb2x1
dGVBZGRyZXNzKCZBc3NlbWJseUhlbHBlcnM6OnR3b1RvVGhlMzIpLCBGUFJJbmZvOjpmcFJlZ1Qw
KTsKICAgICAgICAgICAgIGlmIChleGl0LmlzVmFyaWFibGUoaW5kZXgpICYmIHBvaXNvbmVkVmly
dHVhbFJlZ2lzdGVyc1tleGl0LnZhcmlhYmxlRm9ySW5kZXgoaW5kZXgpXSkgewotICAgICAgICAg
ICAgICAgIG1faml0Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKHNjcmF0Y2hC
dWZmZXIgKyBzY3JhdGNoSW5kZXgpLCBhZGRyZXNzR1BSKTsKKyAgICAgICAgICAgICAgICBtX2pp
dC5tb3ZlKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbVB0cihzY3JhdGNoQnVmZmVyICsgY3Vy
cmVudFBvaXNvbkluZGV4KSwgYWRkcmVzc0dQUik7CiAgICAgICAgICAgICAgICAgbV9qaXQuc3Rv
cmVEb3VibGUoRlBSSW5mbzo6ZnBSZWdUMCwgYWRkcmVzc0dQUik7CiAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZURvdWJsZShGUFJJbmZvOjpmcFJlZ1QwLCBB
c3NlbWJseUhlbHBlcnM6OmFkZHJlc3NGb3IoKFZpcnR1YWxSZWdpc3RlcilvcGVyYW5kKSk7CkBA
IC0yODUsOCArMjkwLDggQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0
IAogICAgICAgICAgICAgcG9zaXRpdmUubGluaygmbV9qaXQpOwogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGluZGV4KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdp
c3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0pIHsKLSAgICAgICAgICAgICAgICBt
X2ppdC5zdG9yZTMyKHJlY292ZXJ5LmdwcigpLCByZWludGVycHJldF9jYXN0PGNoYXIqPihzY3Jh
dGNoQnVmZmVyICsgc2NyYXRjaEluZGV4KSArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVE
ZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpOwotICAgICAgICAgICAgICAgIG1faml0LnN0b3Jl
MzIoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpLCByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihzY3JhdGNoQnVmZmVyICsgc2NyYXRjaEluZGV4KSArIE9CSkVD
VF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSk7CisgICAgICAg
ICAgICAgICAgbV9qaXQuc3RvcmUzMihyZWNvdmVyeS5ncHIoKSwgcmVpbnRlcnByZXRfY2FzdDxj
aGFyKj4oc2NyYXRjaEJ1ZmZlciArIGN1cnJlbnRQb2lzb25JbmRleCkgKyBPQkpFQ1RfT0ZGU0VU
T0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnBheWxvYWQpKTsKKyAgICAgICAgICAg
ICAgICBtX2ppdC5zdG9yZTMyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6
OkludDMyVGFnKSwgcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIGN1cnJl
bnRQb2lzb25JbmRleCkgKyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwg
YXNCaXRzLnRhZykpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBtX2pp
dC5zdG9yZTMyKHJlY292ZXJ5LmdwcigpLCBBc3NlbWJseUhlbHBlcnM6OnBheWxvYWRGb3IoKFZp
cnR1YWxSZWdpc3RlcilvcGVyYW5kKSk7CiAgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihB
c3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMihKU1ZhbHVlOjpJbnQzMlRhZyksIEFzc2VtYmx5
SGVscGVyczo6dGFnRm9yKChWaXJ0dWFsUmVnaXN0ZXIpb3BlcmFuZCkpOwpAQCAtMjk4LDggKzMw
MywxMCBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAgICAgICAg
ICAgICBtX2ppdC5sb2FkRG91YmxlKGFkZHJlc3NHUFIsIEZQUkluZm86OmZwUmVnVDApOwogICAg
ICAgICAgICAgbV9qaXQubG9hZFB0cihteVNjcmF0Y2gsIGFkZHJlc3NHUFIpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGlu
ZGV4KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGlu
ZGV4KV0pCi0gICAgICAgICAgICAgICAgc2NyYXRjaEluZGV4Kys7CisgICAgICAgICAgICBpZiAo
ZXhpdC5pc1ZhcmlhYmxlKGluZGV4KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52
YXJpYWJsZUZvckluZGV4KGluZGV4KV0pIHsKKyAgICAgICAgICAgICAgICBtX3BvaXNvblNjcmF0
Y2hJbmRpY2VzW2V4aXQudmFyaWFibGVGb3JJbmRleChpbmRleCldID0gY3VycmVudFBvaXNvbklu
ZGV4OworICAgICAgICAgICAgICAgIGN1cnJlbnRQb2lzb25JbmRleCsrOworICAgICAgICAgICAg
fQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgZGVmYXVsdDoKQEAgLTMw
NywyOSArMzE0LDI3IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAK
ICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICAvLyBBdCB0aGlzIHBvaW50IGFsbCBHUFJzIGFy
ZSBhdmFpbGFibGUgZm9yIHNjcmF0Y2ggdXNlLgotICAgIAorICAgIC8vIDcpIER1bXAgYWxsIGRv
dWJsZXMgaW50byB0aGUgcmVnaXN0ZXIgZmlsZSwgb3IgdG8gdGhlIHNjcmF0Y2ggc3RvcmFnZSBp
ZiB0aGUKKyAgICAvLyAgICBkZXN0aW5hdGlvbiB2aXJ0dWFsIHJlZ2lzdGVyIGlzIHBvaXNvbmVk
LgogICAgIGlmIChoYXZlRlBScykgewotICAgICAgICAvLyA3KSBCb3ggYWxsIGRvdWJsZXMgKHJl
bGllcyBvbiB0aGVyZSBiZWluZyBtb3JlIEdQUnMgdGhhbiBGUFJzKQotICAgICAgICAvLyAgICBG
b3IgSlNWYWx1ZTMyXzY0LCBubyBuZWVkIHRvIGJveCBkb3VibGVzLgotICAgICAgICAKLSAgICAg
ICAgLy8gOCkgRHVtcCBhbGwgZG91YmxlcyBpbnRvIHRoZSByZWdpc3RlciBmaWxlLCBvciB0byB0
aGUgc2NyYXRjaCBzdG9yYWdlIGlmCi0gICAgICAgIC8vICAgIHRoZSBkZXN0aW5hdGlvbiB2aXJ0
dWFsIHJlZ2lzdGVyIGlzIHBvaXNvbmVkLgotICAgICAgICAKICAgICAgICAgZm9yIChpbnQgaW5k
ZXggPSAwOyBpbmRleCA8IGV4aXQubnVtYmVyT2ZSZWNvdmVyaWVzKCk7ICsraW5kZXgpIHsKICAg
ICAgICAgICAgIGNvbnN0IFZhbHVlUmVjb3ZlcnkmIHJlY292ZXJ5ID0gZXhpdC52YWx1ZVJlY292
ZXJ5KGluZGV4KTsKICAgICAgICAgICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSAhPSBJbkZQ
UikKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGlmIChleGl0LmlzVmFy
aWFibGUoaW5kZXgpICYmIHBvaXNvbmVkVmlydHVhbFJlZ2lzdGVyc1tleGl0LnZhcmlhYmxlRm9y
SW5kZXgoaW5kZXgpXSkKLSAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZURvdWJsZShyZWNvdmVy
eS5mcHIoKSwgc2NyYXRjaEJ1ZmZlciArIHNjcmF0Y2hJbmRleCsrKTsKLSAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIGlmIChleGl0LmlzVmFyaWFibGUoaW5kZXgpICYmIHBvaXNvbmVkVmly
dHVhbFJlZ2lzdGVyc1tleGl0LnZhcmlhYmxlRm9ySW5kZXgoaW5kZXgpXSkgeworICAgICAgICAg
ICAgICAgIG1faml0LnN0b3JlRG91YmxlKHJlY292ZXJ5LmZwcigpLCBzY3JhdGNoQnVmZmVyICsg
Y3VycmVudFBvaXNvbkluZGV4KTsKKyAgICAgICAgICAgICAgICBtX3BvaXNvblNjcmF0Y2hJbmRp
Y2VzW2V4aXQudmFyaWFibGVGb3JJbmRleChpbmRleCldID0gY3VycmVudFBvaXNvbkluZGV4Owor
ICAgICAgICAgICAgICAgIGN1cnJlbnRQb2lzb25JbmRleCsrOworICAgICAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmVEb3VibGUocmVjb3ZlcnkuZnByKCksIEFzc2Vt
Ymx5SGVscGVyczo6YWRkcmVzc0ZvcigoVmlydHVhbFJlZ2lzdGVyKWV4aXQub3BlcmFuZEZvcklu
ZGV4KGluZGV4KSkpOwogICAgICAgICB9CiAgICAgfQogICAgIAorICAgIC8vIEF0IHRoaXMgcG9p
bnQgYWxsIEdQUnMgYXJlIGF2YWlsYWJsZSBmb3Igc2NyYXRjaCB1c2UuCisgICAgCiAgICAgQVNT
RVJUKHNjcmF0Y2hJbmRleCA9PSBudW1iZXJPZlBvaXNvbmVkVmlydHVhbFJlZ2lzdGVycyk7CiAg
ICAgCi0gICAgLy8gOSkgUmVzaHVmZmxlIGRpc3BsYWNlZCB2aXJ0dWFsIHJlZ2lzdGVycy4gT3B0
aW1pemUgZm9yIHRoZSBjYXNlIHRoYXQKKyAgICAvLyA4KSBSZXNodWZmbGUgZGlzcGxhY2VkIHZp
cnR1YWwgcmVnaXN0ZXJzLiBPcHRpbWl6ZSBmb3IgdGhlIGNhc2UgdGhhdAogICAgIC8vICAgIHRo
ZSBudW1iZXIgb2YgZGlzcGxhY2VkIHZpcnR1YWwgcmVnaXN0ZXJzIGlzIG5vdCBtb3JlIHRoYW4g
dGhlIG51bWJlcgogICAgIC8vICAgIG9mIGF2YWlsYWJsZSBwaHlzaWNhbCByZWdpc3RlcnMuCiAg
ICAgCkBAIC0zNzMsNiArMzc4LDcgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0
KGNvbnN0IAogICAgICAgICAgICAgLy8gbG9jYXRpb24gaW4gbWVtb3J5LCBhbmQgdGhlbiB0cmFu
c2ZlcnJpbmcgZnJvbSB0aGF0IHNjcmF0Y2ggbG9jYXRpb24KICAgICAgICAgICAgIC8vIHRvIHRo
ZWlyIG5ldyAob2xkIEpJVCkgbG9jYXRpb25zLgogICAgICAgICAKKyAgICAgICAgICAgIHVuc2ln
bmVkIHNjcmF0Y2hJbmRleCA9IG51bWJlck9mUG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJzOwogICAg
ICAgICAgICAgZm9yIChpbnQgaW5kZXggPSAwOyBpbmRleCA8IGV4aXQubnVtYmVyT2ZSZWNvdmVy
aWVzKCk7ICsraW5kZXgpIHsKICAgICAgICAgICAgICAgICBjb25zdCBWYWx1ZVJlY292ZXJ5JiBy
ZWNvdmVyeSA9IGV4aXQudmFsdWVSZWNvdmVyeShpbmRleCk7CiAgICAgICAgICAgICAgICAgaWYg
KHJlY292ZXJ5LnRlY2huaXF1ZSgpICE9IERpc3BsYWNlZEluUmVnaXN0ZXJGaWxlKQpAQCAtNDAw
LDkgKzQwNiw4IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAg
ICAgICAgfQogICAgIH0KICAgICAKLSAgICAvLyAxMCkgRHVtcCBhbGwgcG9pc29uZWQgdmlydHVh
bCByZWdpc3RlcnMuCisgICAgLy8gOSkgRHVtcCBhbGwgcG9pc29uZWQgdmlydHVhbCByZWdpc3Rl
cnMuCiAgICAgCi0gICAgc2NyYXRjaEluZGV4ID0gMDsKICAgICBpZiAobnVtYmVyT2ZQb2lzb25l
ZFZpcnR1YWxSZWdpc3RlcnMpIHsKICAgICAgICAgZm9yIChpbnQgdmlydHVhbFJlZ2lzdGVyID0g
MDsgdmlydHVhbFJlZ2lzdGVyIDwgKGludClleGl0Lm1fdmFyaWFibGVzLnNpemUoKTsgKyt2aXJ0
dWFsUmVnaXN0ZXIpIHsKICAgICAgICAgICAgIGlmICghcG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJz
W3ZpcnR1YWxSZWdpc3Rlcl0pCkBAIC00MTMsNyArNDE4LDcgQEAgdm9pZCBPU1JFeGl0Q29tcGls
ZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICAgICAgY2FzZSBJbkdQUjoKICAgICAgICAg
ICAgIGNhc2UgVW5ib3hlZEludDMySW5HUFI6CiAgICAgICAgICAgICBjYXNlIFVuYm94ZWRCb29s
ZWFuSW5HUFI6IHsKLSAgICAgICAgICAgICAgICBtX2ppdC5sb2FkMzIocmVpbnRlcnByZXRfY2Fz
dDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIHNjcmF0Y2hJbmRleCsrKSArIE9CSkVDVF9PRkZTRVRP
RihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCksIEdQUkluZm86OnJlZ1Qw
KTsKKyAgICAgICAgICAgICAgICBtX2ppdC5sb2FkMzIocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4o
c2NyYXRjaEJ1ZmZlciArIHBvaXNvbkluZGV4KHZpcnR1YWxSZWdpc3RlcikpICsgT0JKRUNUX09G
RlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSwgR1BSSW5mbzo6
cmVnVDApOwogICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIoR1BSSW5mbzo6cmVnVDAsIEFz
c2VtYmx5SGVscGVyczo6cGF5bG9hZEZvcigoVmlydHVhbFJlZ2lzdGVyKXZpcnR1YWxSZWdpc3Rl
cikpOwogICAgICAgICAgICAgICAgIHVpbnQzMl90IHRhZyA9IEpTVmFsdWU6OkVtcHR5VmFsdWVU
YWc7CiAgICAgICAgICAgICAgICAgaWYgKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IEluR1BSKQpA
QCAtNDI5LDExICs0MzQsMTAgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNv
bnN0IAogICAgICAgICAgICAgY2FzZSBJbkZQUjoKICAgICAgICAgICAgIGNhc2UgSW5QYWlyOgog
ICAgICAgICAgICAgY2FzZSBVSW50MzJJbkdQUjoKLSAgICAgICAgICAgICAgICBtX2ppdC5sb2Fk
MzIocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlciArIHNjcmF0Y2hJbmRleCkg
KyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnBheWxvYWQp
LCBHUFJJbmZvOjpyZWdUMCk7Ci0gICAgICAgICAgICAgICAgbV9qaXQubG9hZDMyKHJlaW50ZXJw
cmV0X2Nhc3Q8Y2hhcio+KHNjcmF0Y2hCdWZmZXIgKyBzY3JhdGNoSW5kZXgpICsgT0JKRUNUX09G
RlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpLCBHUFJJbmZvOjpyZWdU
MSk7CisgICAgICAgICAgICAgICAgbV9qaXQubG9hZDMyKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+
KHNjcmF0Y2hCdWZmZXIgKyBwb2lzb25JbmRleCh2aXJ0dWFsUmVnaXN0ZXIpKSArIE9CSkVDVF9P
RkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCksIEdQUkluZm86
OnJlZ1QwKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5sb2FkMzIocmVpbnRlcnByZXRfY2FzdDxj
aGFyKj4oc2NyYXRjaEJ1ZmZlciArIHBvaXNvbkluZGV4KHZpcnR1YWxSZWdpc3RlcikpICsgT0JK
RUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpLCBHUFJJbmZv
OjpyZWdUMSk7CiAgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihHUFJJbmZvOjpyZWdUMCwg
QXNzZW1ibHlIZWxwZXJzOjpwYXlsb2FkRm9yKChWaXJ0dWFsUmVnaXN0ZXIpdmlydHVhbFJlZ2lz
dGVyKSk7CiAgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihHUFJJbmZvOjpyZWdUMSwgQXNz
ZW1ibHlIZWxwZXJzOjp0YWdGb3IoKFZpcnR1YWxSZWdpc3Rlcil2aXJ0dWFsUmVnaXN0ZXIpKTsK
LSAgICAgICAgICAgICAgICBzY3JhdGNoSW5kZXgrKzsKICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGRlZmF1bHQ6CkBAIC00NDEsOSArNDQ1LDgg
QEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgfQotICAgIEFTU0VSVChzY3JhdGNoSW5kZXggPT0gbnVtYmVyT2ZQ
b2lzb25lZFZpcnR1YWxSZWdpc3RlcnMpOwogICAgIAotICAgIC8vIDExKSBEdW1wIGFsbCBjb25z
dGFudHMuIE9wdGltaXplIGZvciBVbmRlZmluZWQsIHNpbmNlIHRoYXQncyBhIGNvbnN0YW50IHdl
IHNlZQorICAgIC8vIDEwKSBEdW1wIGFsbCBjb25zdGFudHMuIE9wdGltaXplIGZvciBVbmRlZmlu
ZWQsIHNpbmNlIHRoYXQncyBhIGNvbnN0YW50IHdlIHNlZQogICAgIC8vICAgICBvZnRlbi4KIAog
ICAgIGlmIChoYXZlQ29uc3RhbnRzKSB7CkBAIC00NjYsNyArNDY5LDcgQEAgdm9pZCBPU1JFeGl0
Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICB9CiAgICAgfQogICAgIAotICAg
IC8vIDEyKSBBZGp1c3QgdGhlIG9sZCBKSVQncyBleGVjdXRlIGNvdW50ZXIuIFNpbmNlIHdlIGFy
ZSBleGl0aW5nIE9TUiwgd2Uga25vdworICAgIC8vIDExKSBBZGp1c3QgdGhlIG9sZCBKSVQncyBl
eGVjdXRlIGNvdW50ZXIuIFNpbmNlIHdlIGFyZSBleGl0aW5nIE9TUiwgd2Uga25vdwogICAgIC8v
ICAgICB0aGF0IGFsbCBuZXcgY2FsbHMgaW50byB0aGlzIGNvZGUgd2lsbCBnbyB0byB0aGUgbmV3
IEpJVCwgc28gdGhlIGV4ZWN1dGUKICAgICAvLyAgICAgY291bnRlciBvbmx5IGFmZmVjdHMgY2Fs
bCBmcmFtZXMgdGhhdCBwZXJmb3JtZWQgT1NSIGV4aXQgYW5kIGNhbGwgZnJhbWVzCiAgICAgLy8g
ICAgIHRoYXQgd2VyZSBzdGlsbCBleGVjdXRpbmcgdGhlIG9sZCBKSVQgYXQgdGhlIHRpbWUgb2Yg
YW5vdGhlciBjYWxsIGZyYW1lJ3MKQEAgLTUzMSwxNCArNTM0LDE0IEBAIHZvaWQgT1NSRXhpdENv
bXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAgICAKICAgICBkb25lQWRqdXN0aW5nLmxpbmso
Jm1faml0KTsKICAgICAKLSAgICAvLyAxMykgTG9hZCB0aGUgcmVzdWx0IG9mIHRoZSBsYXN0IGJ5
dGVjb2RlIG9wZXJhdGlvbiBpbnRvIHJlZ1QwLgorICAgIC8vIDEyKSBMb2FkIHRoZSByZXN1bHQg
b2YgdGhlIGxhc3QgYnl0ZWNvZGUgb3BlcmF0aW9uIGludG8gcmVnVDAuCiAgICAgCiAgICAgaWYg
KGV4aXQubV9sYXN0U2V0T3BlcmFuZCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgp
KSB7CiAgICAgICAgIG1faml0LmxvYWQzMihBc3NlbWJseUhlbHBlcnM6OnBheWxvYWRGb3IoKFZp
cnR1YWxSZWdpc3RlcilleGl0Lm1fbGFzdFNldE9wZXJhbmQpLCBHUFJJbmZvOjpjYWNoZWRSZXN1
bHRSZWdpc3Rlcik7CiAgICAgICAgIG1faml0LmxvYWQzMihBc3NlbWJseUhlbHBlcnM6OnRhZ0Zv
cigoVmlydHVhbFJlZ2lzdGVyKWV4aXQubV9sYXN0U2V0T3BlcmFuZCksIEdQUkluZm86OmNhY2hl
ZFJlc3VsdFJlZ2lzdGVyMik7CiAgICAgfQogICAgIAotICAgIC8vIDE0KSBGaXggY2FsbCBmcmFt
ZSAocykuCisgICAgLy8gMTMpIEZpeCBjYWxsIGZyYW1lIChzKS4KICAgICAKICAgICBBU1NFUlQo
bV9qaXQuYmFzZWxpbmVDb2RlQmxvY2soKS0+Z2V0SklUVHlwZSgpID09IEpJVENvZGU6OkJhc2Vs
aW5lSklUKTsKICAgICBtX2ppdC5zdG9yZVB0cihBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1Q
dHIobV9qaXQuYmFzZWxpbmVDb2RlQmxvY2soKSksIEFzc2VtYmx5SGVscGVyczo6YWRkcmVzc0Zv
cigoVmlydHVhbFJlZ2lzdGVyKVJlZ2lzdGVyRmlsZTo6Q29kZUJsb2NrKSk7CkBAIC01NzgsNyAr
NTgxLDcgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgIGlm
IChleGl0Lm1fY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJhbWUpCiAgICAgICAgIG1faml0LmFkZFB0
cihBc3NlbWJseUhlbHBlcnM6OkltbTMyKGV4aXQubV9jb2RlT3JpZ2luLmlubGluZUNhbGxGcmFt
ZS0+c3RhY2tPZmZzZXQgKiBzaXplb2YoRW5jb2RlZEpTVmFsdWUpKSwgR1BSSW5mbzo6Y2FsbEZy
YW1lUmVnaXN0ZXIpOwogCi0gICAgLy8gMTUpIEp1bXAgaW50byB0aGUgY29ycmVzcG9uZGluZyBi
YXNlbGluZSBKSVQgY29kZS4KKyAgICAvLyAxNCkgSnVtcCBpbnRvIHRoZSBjb3JyZXNwb25kaW5n
IGJhc2VsaW5lIEpJVCBjb2RlLgogICAgIAogICAgIENvZGVCbG9jayogYmFzZWxpbmVDb2RlQmxv
Y2sgPSBtX2ppdC5iYXNlbGluZUNvZGVCbG9ja0ZvcihleGl0Lm1fY29kZU9yaWdpbik7CiAgICAg
VmVjdG9yPEJ5dGVjb2RlQW5kTWFjaGluZU9mZnNldD4mIGRlY29kZWRDb2RlTWFwID0gbV9qaXQu
ZGVjb2RlZENvZGVNYXBGb3IoYmFzZWxpbmVDb2RlQmxvY2spOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAJKHJldmlzaW9u
IDEwMzA0MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVy
NjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzIsNyArMjcyLDkgQEAgdm9pZCBPU1JFeGl0Q29t
cGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgIC8vICAgIE5vdGUgdGhhdCBHUFJzIGRvIG5v
dCBoYXZlIGEgZmFzdCBjaGFuZ2UgKGxpa2UgaGF2ZUZQUnMpIGJlY2F1c2Ugd2UgZXhwZWN0IHRo
YXQKICAgICAvLyAgICBtb3N0IE9TUiBmYWlsdXJlIHBvaW50cyB3aWxsIGhhdmUgYXQgbGVhc3Qg
b25lIEdQUiB0aGF0IG5lZWRzIHRvIGJlIGR1bXBlZC4KICAgICAKLSAgICB1bnNpZ25lZCBzY3Jh
dGNoSW5kZXggPSAwOworICAgIGluaXRpYWxpemVQb2lzb25lZChleGl0Lm1fdmFyaWFibGVzLnNp
emUoKSk7CisgICAgdW5zaWduZWQgY3VycmVudFBvaXNvbkluZGV4ID0gMDsKKyAgICAKICAgICBm
b3IgKGludCBpbmRleCA9IDA7IGluZGV4IDwgZXhpdC5udW1iZXJPZlJlY292ZXJpZXMoKTsgKytp
bmRleCkgewogICAgICAgICBjb25zdCBWYWx1ZVJlY292ZXJ5JiByZWNvdmVyeSA9IGV4aXQudmFs
dWVSZWNvdmVyeShpbmRleCk7CiAgICAgICAgIGludCBvcGVyYW5kID0gZXhpdC5vcGVyYW5kRm9y
SW5kZXgoaW5kZXgpOwpAQCAtMjgwLDkgKzI4MiwxMSBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6
Y29tcGlsZUV4aXQoY29uc3QgCiAgICAgICAgIGNhc2UgSW5HUFI6CiAgICAgICAgIGNhc2UgVW5i
b3hlZEludDMySW5HUFI6CiAgICAgICAgIGNhc2UgVUludDMySW5HUFI6Ci0gICAgICAgICAgICBp
ZiAoZXhpdC5pc1ZhcmlhYmxlKGluZGV4KSAmJiBwb2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhp
dC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0pCi0gICAgICAgICAgICAgICAgbV9qaXQuc3RvcmVQ
dHIocmVjb3ZlcnkuZ3ByKCksIHNjcmF0Y2hCdWZmZXIgKyBzY3JhdGNoSW5kZXgrKyk7Ci0gICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiAoZXhpdC5pc1ZhcmlhYmxlKGluZGV4KSAmJiBw
b2lzb25lZFZpcnR1YWxSZWdpc3RlcnNbZXhpdC52YXJpYWJsZUZvckluZGV4KGluZGV4KV0pIHsK
KyAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZVB0cihyZWNvdmVyeS5ncHIoKSwgc2NyYXRjaEJ1
ZmZlciArIGN1cnJlbnRQb2lzb25JbmRleCk7CisgICAgICAgICAgICAgICAgbV9wb2lzb25TY3Jh
dGNoSW5kaWNlc1tleGl0LnZhcmlhYmxlRm9ySW5kZXgoaW5kZXgpXSA9IGN1cnJlbnRQb2lzb25J
bmRleDsKKyAgICAgICAgICAgICAgICBjdXJyZW50UG9pc29uSW5kZXgrKzsKKyAgICAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgICAgIG1faml0LnN0b3JlUHRyKHJlY292ZXJ5LmdwcigpLCBB
c3NlbWJseUhlbHBlcnM6OmFkZHJlc3NGb3IoKFZpcnR1YWxSZWdpc3RlcilvcGVyYW5kKSk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKQEAgLTMxMiw5ICszMTYsMTEgQEAg
dm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICAgICAgaWYg
KHJlY292ZXJ5LnRlY2huaXF1ZSgpICE9IEluRlBSKQogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgR1BSUmVnIGdwciA9IEdQUkluZm86OnRvUmVnaXN0ZXIoRlBSSW5mbzo6
dG9JbmRleChyZWNvdmVyeS5mcHIoKSkpOwotICAgICAgICAgICAgaWYgKGV4aXQuaXNWYXJpYWJs
ZShpbmRleCkgJiYgcG9pc29uZWRWaXJ0dWFsUmVnaXN0ZXJzW2V4aXQudmFyaWFibGVGb3JJbmRl
eChpbmRleCldKQotICAgICAgICAgICAgICAgIG1faml0LnN0b3JlUHRyKGdwciwgc2NyYXRjaEJ1
ZmZlciArIHNjcmF0Y2hJbmRleCsrKTsKLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlm
IChleGl0LmlzVmFyaWFibGUoaW5kZXgpICYmIHBvaXNvbmVkVmlydHVhbFJlZ2lzdGVyc1tleGl0
LnZhcmlhYmxlRm9ySW5kZXgoaW5kZXgpXSkgeworICAgICAgICAgICAgICAgIG1faml0LnN0b3Jl
UHRyKGdwciwgc2NyYXRjaEJ1ZmZlciArIGN1cnJlbnRQb2lzb25JbmRleCk7CisgICAgICAgICAg
ICAgICAgbV9wb2lzb25TY3JhdGNoSW5kaWNlc1tleGl0LnZhcmlhYmxlRm9ySW5kZXgoaW5kZXgp
XSA9IGN1cnJlbnRQb2lzb25JbmRleDsKKyAgICAgICAgICAgICAgICBjdXJyZW50UG9pc29uSW5k
ZXgrKzsKKyAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIG1faml0LnN0b3JlUHRy
KGdwciwgQXNzZW1ibHlIZWxwZXJzOjphZGRyZXNzRm9yKChWaXJ0dWFsUmVnaXN0ZXIpZXhpdC5v
cGVyYW5kRm9ySW5kZXgoaW5kZXgpKSk7CiAgICAgICAgIH0KICAgICB9CkBAIC0zMzMsNyArMzM5
LDcgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICB9
CiAgICAgfQogICAgIAotICAgIEFTU0VSVChzY3JhdGNoSW5kZXggPT0gbnVtYmVyT2ZQb2lzb25l
ZFZpcnR1YWxSZWdpc3RlcnMpOworICAgIEFTU0VSVChjdXJyZW50UG9pc29uSW5kZXggPT0gbnVt
YmVyT2ZQb2lzb25lZFZpcnR1YWxSZWdpc3RlcnMpOwogICAgIAogICAgIC8vIDEwKSBSZXNodWZm
bGUgZGlzcGxhY2VkIHZpcnR1YWwgcmVnaXN0ZXJzLiBPcHRpbWl6ZSBmb3IgdGhlIGNhc2UgdGhh
dAogICAgIC8vICAgIHRoZSBudW1iZXIgb2YgZGlzcGxhY2VkIHZpcnR1YWwgcmVnaXN0ZXJzIGlz
IG5vdCBtb3JlIHRoYW4gdGhlIG51bWJlcgpAQCAtNDAzLDYgKzQwOSw3IEBAIHZvaWQgT1NSRXhp
dENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAgICAgICAgICAgIC8vIGxvY2F0aW9uIGlu
IG1lbW9yeSwgYW5kIHRoZW4gdHJhbnNmZXJyaW5nIGZyb20gdGhhdCBzY3JhdGNoIGxvY2F0aW9u
CiAgICAgICAgICAgICAvLyB0byB0aGVpciBuZXcgKG9sZCBKSVQpIGxvY2F0aW9ucy4KICAgICAg
ICAgCisgICAgICAgICAgICB1bnNpZ25lZCBzY3JhdGNoSW5kZXggPSBudW1iZXJPZlBvaXNvbmVk
VmlydHVhbFJlZ2lzdGVyczsKICAgICAgICAgICAgIGZvciAoaW50IGluZGV4ID0gMDsgaW5kZXgg
PCBleGl0Lm51bWJlck9mUmVjb3ZlcmllcygpOyArK2luZGV4KSB7CiAgICAgICAgICAgICAgICAg
Y29uc3QgVmFsdWVSZWNvdmVyeSYgcmVjb3ZlcnkgPSBleGl0LnZhbHVlUmVjb3ZlcnkoaW5kZXgp
OwogICAgICAgICAgICAgICAgIApAQCAtNDUzLDcgKzQ2MCw2IEBAIHZvaWQgT1NSRXhpdENvbXBp
bGVyOjpjb21waWxlRXhpdChjb25zdCAKICAgICAKICAgICAvLyAxMSkgRHVtcCBhbGwgcG9pc29u
ZWQgdmlydHVhbCByZWdpc3RlcnMuCiAgICAgCi0gICAgc2NyYXRjaEluZGV4ID0gMDsKICAgICBp
ZiAobnVtYmVyT2ZQb2lzb25lZFZpcnR1YWxSZWdpc3RlcnMpIHsKICAgICAgICAgZm9yIChpbnQg
dmlydHVhbFJlZ2lzdGVyID0gMDsgdmlydHVhbFJlZ2lzdGVyIDwgKGludClleGl0Lm1fdmFyaWFi
bGVzLnNpemUoKTsgKyt2aXJ0dWFsUmVnaXN0ZXIpIHsKICAgICAgICAgICAgIGlmICghcG9pc29u
ZWRWaXJ0dWFsUmVnaXN0ZXJzW3ZpcnR1YWxSZWdpc3Rlcl0pCkBAIC00NjUsNyArNDcxLDcgQEAg
dm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICAgICAgY2Fz
ZSBVbmJveGVkSW50MzJJbkdQUjoKICAgICAgICAgICAgIGNhc2UgVUludDMySW5HUFI6CiAgICAg
ICAgICAgICBjYXNlIEluRlBSOgotICAgICAgICAgICAgICAgIG1faml0LmxvYWRQdHIoc2NyYXRj
aEJ1ZmZlciArIHNjcmF0Y2hJbmRleCsrLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgICAgICAg
ICAgbV9qaXQubG9hZFB0cihzY3JhdGNoQnVmZmVyICsgcG9pc29uSW5kZXgodmlydHVhbFJlZ2lz
dGVyKSwgR1BSSW5mbzo6cmVnVDApOwogICAgICAgICAgICAgICAgIG1faml0LnN0b3JlUHRyKEdQ
UkluZm86OnJlZ1QwLCBBc3NlbWJseUhlbHBlcnM6OmFkZHJlc3NGb3IoKFZpcnR1YWxSZWdpc3Rl
cil2aXJ0dWFsUmVnaXN0ZXIpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgICAKQEAgLTQ3NCw3ICs0ODAsNiBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4
aXQoY29uc3QgCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0gICAgQVNTRVJUKHNj
cmF0Y2hJbmRleCA9PSBudW1iZXJPZlBvaXNvbmVkVmlydHVhbFJlZ2lzdGVycyk7CiAgICAgCiAg
ICAgLy8gMTIpIER1bXAgYWxsIGNvbnN0YW50cy4gT3B0aW1pemUgZm9yIFVuZGVmaW5lZCwgc2lu
Y2UgdGhhdCdzIGEgY29uc3RhbnQgd2Ugc2VlCiAgICAgLy8gICAgIG9mdGVuLgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlci5oCShyZXZpc2lv
biAxMDMwNDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCwyOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
b21waWxlRXhpdChjb25zdCBPU1JFeGl0JiwgU3BlY3VsYXRpb25SZWNvdmVyeSopOwogCiBwcml2
YXRlOgorI2lmICFBU1NFUlRfRElTQUJMRUQKKyAgICBzdGF0aWMgdW5zaWduZWQgYmFkSW5kZXgo
KSB7IHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oLTEpOyB9OworI2VuZGlmCisgICAgCisg
ICAgdm9pZCBpbml0aWFsaXplUG9pc29uZWQodW5zaWduZWQgc2l6ZSkKKyAgICB7CisjaWYgQVNT
RVJUX0RJU0FCTEVECisgICAgICAgIG1fcG9pc29uU2NyYXRjaEluZGljZXMucmVzaXplKHNpemUp
OworI2Vsc2UKKyAgICAgICAgbV9wb2lzb25TY3JhdGNoSW5kaWNlcy5maWxsKGJhZEluZGV4KCks
IHNpemUpOworI2VuZGlmCisgICAgfQorICAgIAorICAgIHVuc2lnbmVkIHBvaXNvbkluZGV4KHVu
c2lnbmVkIGluZGV4KQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgcmVzdWx0ID0gbV9wb2lzb25T
Y3JhdGNoSW5kaWNlc1tpbmRleF07CisgICAgICAgIEFTU0VSVChyZXN1bHQgIT0gYmFkSW5kZXgo
KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIAogICAgIEFzc2VtYmx5SGVs
cGVycyYgbV9qaXQ7CisgICAgVmVjdG9yPHVuc2lnbmVkPiBtX3BvaXNvblNjcmF0Y2hJbmRpY2Vz
OwogfTsKIAogZXh0ZXJuICJDIiB7Cg==
</data>
<flag name="review"
          id="119664"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>