<?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>96425</bug_id>
          
          <creation_ts>2012-09-11 14:29:35 -0700</creation_ts>
          <short_desc>Remove transient state regarding uknown pseudoelements from SelectorChecker.</short_desc>
          <delta_ts>2012-09-12 09:50:14 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>96445</dependson>
          <blocked>89879</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>717554</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-11 14:29:35 -0700</bug_when>
    <thetext>Remove transient state regarding uknown pseudoelements from SelectorChecker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717559</commentid>
    <comment_count>1</comment_count>
      <attachid>163440</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-11 14:35:38 -0700</bug_when>
    <thetext>Created attachment 163440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717564</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-11 14:39:21 -0700</bug_when>
    <thetext>I wonder if I should add SelectorCheckingResult that&apos;s returned by checkSelector and stash stuff in there instead of using by-ref parameters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717581</commentid>
    <comment_count>3</comment_count>
      <attachid>163440</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-11 14:51:44 -0700</bug_when>
    <thetext>Comment on attachment 163440
Patch

I think this is going to end up as part of some sort of CheckRequest object, insetad of a separate bool :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717582</commentid>
    <comment_count>4</comment_count>
      <attachid>163440</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-11 14:52:56 -0700</bug_when>
    <thetext>Comment on attachment 163440
Patch

But this is probably a step in teh right direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717611</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-11 15:24:26 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 163440 [details])
&gt; I think this is going to end up as part of some sort of CheckRequest object, insetad of a separate bool :)

CheckRequest or CheckResponse? Or maybe SelectorCheckingResults?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717614</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-11 15:26:11 -0700</bug_when>
    <thetext>They all sound good to me. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717633</commentid>
    <comment_count>7</comment_count>
      <attachid>163440</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-11 15:40:43 -0700</bug_when>
    <thetext>Comment on attachment 163440
Patch

I will do this in the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717697</commentid>
    <comment_count>8</comment_count>
      <attachid>163440</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 16:20:57 -0700</bug_when>
    <thetext>Comment on attachment 163440
Patch

Rejecting attachment 163440 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
olved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;, &apos;--force-update&apos;]&quot; exit_code: 9
refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Full output: http://queues.webkit.org/results/13820554</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718446</commentid>
    <comment_count>9</comment_count>
      <attachid>163647</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-12 09:23:37 -0700</bug_when>
    <thetext>Created attachment 163647
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718470</commentid>
    <comment_count>10</comment_count>
      <attachid>163647</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 09:50:11 -0700</bug_when>
    <thetext>Comment on attachment 163647
Patch for landing

Clearing flags on attachment: 163647

Committed r128329: &lt;http://trac.webkit.org/changeset/128329&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718471</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 09:50:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163440</attachid>
            <date>2012-09-11 14:35:38 -0700</date>
            <delta_ts>2012-09-12 09:23:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96425-20120911143512.patch</filename>
            <type>text/plain</type>
            <size>14564</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzEyYTc2NTJjYjZiMjJj
ZjE3Y2NiZWUwZWZjYWIyZTE4OTRhNGU1OC4uZDI5YzkxYzM1Mjg0OTk2MDBhYzQ4MzRmMjFiYzMw
YWUyZDhkODA3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTExICBEaW1p
dHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHRy
YW5zaWVudCBzdGF0ZSByZWdhcmRpbmcgdWtub3duIHBzZXVkb2VsZW1lbnRzIGZyb20gU2VsZWN0
b3JDaGVja2VyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTY0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgZmFjdCB0aGF0IGFuIHVua25vd24gcHNldWRvZWxlbWVudCB3YXMgZm91bmQgd2hlbiBj
aGVja2luZyBzZWxlY3RvciB3YXMgc3RvcmVkIGFzIGV4dHJhIHN0YXRlIG9uIFNlbGVjdG9yQ2hl
Y2tlci4gVGhhdCdzIGJhZCwKKyAgICAgICAgYmVjYXVzZSB0aGlzIHN0YXRlIGlzIGF0IG9kZHMg
d2l0aCB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBpbnN0YW5jZSBhbmQgaGFkIHRvIGJlIGV4cGxpY2l0
bHkgcmVzZXQgcHJpb3IgdG8gZWFjaCBjaGVja2luZy4gVG8gYWRkcmVzcworICAgICAgICB0aGlz
LCBJIG1hZGUgY2hlY2tTZWxlY3RvciByZXBvcnQgdGhlIHZhbHVlIGFzIGl0cyByZXN1bHQgKGJ5
LXJlZiBwYXJhbWV0ZXIsIGFjdHVhbGx5KS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFj
dG9yaW5nIG9ubHkuIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBjc3Mv
U2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6
U2VsZWN0b3JDaGVja2VyKTogUmVtb3ZlZCB0aGUgbm93LXVubmVkZWQgc3RhdGUgaW5pdGlhbGl6
YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0b3Ip
OiBDaGFuZ2VkIHRvIHRha2UgZXh0cmEgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IpOiBEaXR0
by4KKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmg6CisgICAgICAgIChTZWxlY3RvckNo
ZWNrZXIpOiBDaGFuZ2VkIGRlY2xzIGFjY29yZGluZ2x5LgorICAgICAgICAqIGNzcy9TdHlsZVJl
c29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OlN0eWxlUmVzb2x2
ZXIpOiBBZGRlZCBzdGF0ZSB0byBTdHlsZVJlc29sdmVyLgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVSZXNvbHZlcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KTogQ2hhbmdlZCB0byB1c2Ug
b3duIHN0YXRlLCByYXRoZXIgdGhhbiBTdHlsZUNoZWNrZXIncyBzdGF0ZS4KKyAgICAgICAgKiBj
c3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAoU3R5bGVSZXNvbHZlcik6IE1vdmVkIHN0YXRl
IGhlcmUgZnJvbSBTdHlsZUNoZWNrZXIuCisKIDIwMTItMDktMTEgIFN0ZXBoZW4gV2hpdGUgIDxz
ZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW3NraWFdIFN3aXRjaCBGRUNvbXBv
bmVudFRyYW5zZmVyIGZpbHRlciB0byB1c2Ugc2tpYSdzIFNrQ29sb3JGaWx0ZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggOWEzMmQ2MDgwYzQwMGY1NDhiZjkxYTQ3
YjdiYTViNDc4ZjIwYzRmZC4uNDg1ZDZjYzYxNzY3MjcwNGRiMmQ2ZWYxNWUyY2MxMDU5Y2UwYWEy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKQEAgLTcxLDcgKzcxLDYg
QEAgU2VsZWN0b3JDaGVja2VyOjpTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqIGRvY3VtZW50LCBi
b29sIHN0cmljdFBhcnNpbmcpCiAgICAgLCBtX2RvY3VtZW50SXNIVE1MKGRvY3VtZW50LT5pc0hU
TUxEb2N1bWVudCgpKQogICAgICwgbV9tb2RlKFJlc29sdmluZ1N0eWxlKQogICAgICwgbV9wc2V1
ZG9TdHlsZShOT1BTRVVETykKLSAgICAsIG1faGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKGZhbHNl
KQogewogfQogCkBAIC0yNjgsNyArMjY3LDggQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNr
U2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWVudCogZWxlbWVudCwgYm9vbCBpc0YKICAg
ICB9CiAKICAgICBQc2V1ZG9JZCBkeW5hbWljUHNldWRvID0gTk9QU0VVRE87Ci0gICAgcmV0dXJu
IGNoZWNrU2VsZWN0b3IoU2VsZWN0b3JDaGVja2luZ0NvbnRleHQoc2VsLCBlbGVtZW50LCBTZWxl
Y3RvckNoZWNrZXI6OlZpc2l0ZWRNYXRjaERpc2FibGVkKSwgZHluYW1pY1BzZXVkbykgPT0gU2Vs
ZWN0b3JNYXRjaGVzOworICAgIGJvb2wgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzID0gZmFsc2U7
CisgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3IoU2VsZWN0b3JDaGVja2luZ0NvbnRleHQoc2VsLCBl
bGVtZW50LCBTZWxlY3RvckNoZWNrZXI6OlZpc2l0ZWRNYXRjaERpc2FibGVkKSwgZHluYW1pY1Bz
ZXVkbywgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKSA9PSBTZWxlY3Rvck1hdGNoZXM7CiB9CiAK
IG5hbWVzcGFjZSB7CkBAIC00MzksMTAgKzQzOSwxMCBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6
aXNGYXN0Q2hlY2thYmxlU2VsZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKQogLy8g
KiBTZWxlY3RvckZhaWxzTG9jYWxseSAgICAgLSB0aGUgc2VsZWN0b3IgZmFpbHMgZm9yIHRoZSBl
bGVtZW50IGUKIC8vICogU2VsZWN0b3JGYWlsc0FsbFNpYmxpbmdzIC0gdGhlIHNlbGVjdG9yIGZh
aWxzIGZvciBlIGFuZCBhbnkgc2libGluZyBvZiBlCiAvLyAqIFNlbGVjdG9yRmFpbHNDb21wbGV0
ZWx5ICAtIHRoZSBzZWxlY3RvciBmYWlscyBmb3IgZSBhbmQgYW55IHNpYmxpbmcgb3IgYW5jZXN0
b3Igb2YgZQotU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6
Y2hlY2tTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgUHNl
dWRvSWQmIGR5bmFtaWNQc2V1ZG8pIGNvbnN0CitTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yTWF0
Y2ggU2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdD
b250ZXh0JiBjb250ZXh0LCBQc2V1ZG9JZCYgZHluYW1pY1BzZXVkbywgYm9vbCYgaGFzVW5rbm93
blBzZXVkb0VsZW1lbnRzKSBjb25zdAogewogICAgIC8vIGZpcnN0IHNlbGVjdG9yIGhhcyB0byBt
YXRjaAotICAgIGlmICghY2hlY2tPbmVTZWxlY3Rvcihjb250ZXh0LCBkeW5hbWljUHNldWRvKSkK
KyAgICBpZiAoIWNoZWNrT25lU2VsZWN0b3IoY29udGV4dCwgZHluYW1pY1BzZXVkbywgaGFzVW5r
bm93blBzZXVkb0VsZW1lbnRzKSkKICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNMb2NhbGx5
OwogCiAgICAgLy8gVGhlIHJlc3Qgb2YgdGhlIHNlbGVjdG9ycyBoYXMgdG8gbWF0Y2gKQEAgLTQ3
Nyw3ICs0NzcsNyBAQCBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yTWF0Y2ggU2VsZWN0b3JDaGVj
a2VyOjpjaGVja1NlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hlYwogICAgICAgICBuZXh0Q29udGV4
dC5lbGVtZW50U3R5bGUgPSAwOwogICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50UGFyZW50U3R5
bGUgPSAwOwogICAgICAgICBmb3IgKDsgbmV4dENvbnRleHQuZWxlbWVudDsgbmV4dENvbnRleHQu
ZWxlbWVudCA9IG5leHRDb250ZXh0LmVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkgewotICAgICAg
ICAgICAgU2VsZWN0b3JNYXRjaCBtYXRjaCA9IGNoZWNrU2VsZWN0b3IobmV4dENvbnRleHQsIGR5
bmFtaWNQc2V1ZG8pOworICAgICAgICAgICAgU2VsZWN0b3JNYXRjaCBtYXRjaCA9IGNoZWNrU2Vs
ZWN0b3IobmV4dENvbnRleHQsIGR5bmFtaWNQc2V1ZG8sIGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50
cyk7CiAgICAgICAgICAgICBpZiAobWF0Y2ggPT0gU2VsZWN0b3JNYXRjaGVzIHx8IG1hdGNoID09
IFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5KQogICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaDsK
ICAgICAgICAgICAgIGlmIChuZXh0Q29udGV4dC5lbGVtZW50ID09IG5leHRDb250ZXh0LnNjb3Bl
KQpAQCAtNDkyLDcgKzQ5Miw3IEBAIFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaCBTZWxl
Y3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVjCiAgICAgICAgIG5l
eHRDb250ZXh0LmlzU3ViU2VsZWN0b3IgPSBmYWxzZTsKICAgICAgICAgbmV4dENvbnRleHQuZWxl
bWVudFN0eWxlID0gMDsKICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudFBhcmVudFN0eWxlID0g
MDsKLSAgICAgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3IobmV4dENvbnRleHQsIGR5bmFtaWNQc2V1
ZG8pOworICAgICAgICByZXR1cm4gY2hlY2tTZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1pY1Bz
ZXVkbywgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKTsKIAogICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OkRpcmVjdEFkamFjZW50OgogICAgICAgICBpZiAobV9tb2RlID09IFJlc29sdmluZ1N0eWxlICYm
IGNvbnRleHQuZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7CkBAIC01MDYsNyArNTA2LDcgQEAg
U2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxl
Y3Rvcihjb25zdCBTZWxlY3RvckNoZWMKICAgICAgICAgbmV4dENvbnRleHQuaXNTdWJTZWxlY3Rv
ciA9IGZhbHNlOwogICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50U3R5bGUgPSAwOwogICAgICAg
ICBuZXh0Q29udGV4dC5lbGVtZW50UGFyZW50U3R5bGUgPSAwOwotICAgICAgICByZXR1cm4gY2hl
Y2tTZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1pY1BzZXVkbyk7CisgICAgICAgIHJldHVybiBj
aGVja1NlbGVjdG9yKG5leHRDb250ZXh0LCBkeW5hbWljUHNldWRvLCBoYXNVbmtub3duUHNldWRv
RWxlbWVudHMpOwogCiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6SW5kaXJlY3RBZGphY2VudDoKICAg
ICAgICAgaWYgKG1fbW9kZSA9PSBSZXNvbHZpbmdTdHlsZSAmJiBjb250ZXh0LmVsZW1lbnQtPnBh
cmVudEVsZW1lbnQoKSkgewpAQCAtNTE5LDcgKzUxOSw3IEBAIFNlbGVjdG9yQ2hlY2tlcjo6U2Vs
ZWN0b3JNYXRjaCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JD
aGVjCiAgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnRTdHlsZSA9IDA7CiAgICAgICAgIG5leHRD
b250ZXh0LmVsZW1lbnRQYXJlbnRTdHlsZSA9IDA7CiAgICAgICAgIGZvciAoOyBuZXh0Q29udGV4
dC5lbGVtZW50OyBuZXh0Q29udGV4dC5lbGVtZW50ID0gbmV4dENvbnRleHQuZWxlbWVudC0+cHJl
dmlvdXNFbGVtZW50U2libGluZygpKSB7Ci0gICAgICAgICAgICBTZWxlY3Rvck1hdGNoIG1hdGNo
ID0gY2hlY2tTZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1pY1BzZXVkbyk7CisgICAgICAgICAg
ICBTZWxlY3Rvck1hdGNoIG1hdGNoID0gY2hlY2tTZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1p
Y1BzZXVkbywgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKTsKICAgICAgICAgICAgIGlmIChtYXRj
aCA9PSBTZWxlY3Rvck1hdGNoZXMgfHwgbWF0Y2ggPT0gU2VsZWN0b3JGYWlsc0FsbFNpYmxpbmdz
IHx8IG1hdGNoID09IFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5KQogICAgICAgICAgICAgICAgIHJl
dHVybiBtYXRjaDsKICAgICAgICAgfTsKQEAgLTUzMyw3ICs1MzMsNyBAQCBTZWxlY3RvckNoZWNr
ZXI6OlNlbGVjdG9yTWF0Y2ggU2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKGNvbnN0IFNl
bGVjdG9yQ2hlYwogICAgICAgICAgICAgICYmICEoKFJlbmRlclNjcm9sbGJhcjo6c2Nyb2xsYmFy
Rm9yU3R5bGVSZXNvbHZlKCkgfHwgZHluYW1pY1BzZXVkbyA9PSBTQ1JPTExCQVJfQ09STkVSIHx8
IGR5bmFtaWNQc2V1ZG8gPT0gUkVTSVpFUikgJiYgbmV4dENvbnRleHQuc2VsZWN0b3ItPm1fbWF0
Y2ggPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzKSkKICAgICAgICAgICAgIHJldHVybiBTZWxl
Y3RvckZhaWxzQ29tcGxldGVseTsKICAgICAgICAgbmV4dENvbnRleHQuaXNTdWJTZWxlY3RvciA9
IHRydWU7Ci0gICAgICAgIHJldHVybiBjaGVja1NlbGVjdG9yKG5leHRDb250ZXh0LCBkeW5hbWlj
UHNldWRvKTsKKyAgICAgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3IobmV4dENvbnRleHQsIGR5bmFt
aWNQc2V1ZG8sIGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cyk7CiAKICAgICBjYXNlIENTU1NlbGVj
dG9yOjpTaGFkb3dEZXNjZW5kYW50OgogICAgICAgICB7CkBAIC01NDcsNyArNTQ3LDcgQEAgU2Vs
ZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3Rv
cihjb25zdCBTZWxlY3RvckNoZWMKICAgICAgICAgICAgIG5leHRDb250ZXh0LmlzU3ViU2VsZWN0
b3IgPSBmYWxzZTsKICAgICAgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnRTdHlsZSA9IDA7CiAg
ICAgICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50UGFyZW50U3R5bGUgPSAwOwotICAgICAgICAg
ICAgcmV0dXJuIGNoZWNrU2VsZWN0b3IobmV4dENvbnRleHQsIGR5bmFtaWNQc2V1ZG8pOworICAg
ICAgICAgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3IobmV4dENvbnRleHQsIGR5bmFtaWNQc2V1ZG8s
IGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cyk7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTcwMSw3
ICs3MDEsNyBAQCBzdGF0aWMgYm9vbCBhbnlBdHRyaWJ1dGVNYXRjaGVzKEVsZW1lbnQqIGVsZW1l
bnQsIENTU1NlbGVjdG9yOjpNYXRjaCBtYXRjaCwgY29ucwogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JD
aGVja2luZ0NvbnRleHQmIGNvbnRleHQsIFBzZXVkb0lkJiBkeW5hbWljUHNldWRvKSBjb25zdAor
Ym9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVj
a2luZ0NvbnRleHQmIGNvbnRleHQsIFBzZXVkb0lkJiBkeW5hbWljUHNldWRvLCBib29sJiBoYXNV
bmtub3duUHNldWRvRWxlbWVudHMpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogY29uc3QgJiBlbGVt
ZW50ID0gY29udGV4dC5lbGVtZW50OwogICAgIENTU1NlbGVjdG9yKiBjb25zdCAmIHNlbGVjdG9y
ID0gY29udGV4dC5zZWxlY3RvcjsKQEAgLTc0OCw3ICs3NDgsNyBAQCBib29sIFNlbGVjdG9yQ2hl
Y2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29u
dGV4dCwgUAogICAgICAgICAgICAgICAgIC8vIFdlIHNlbGVjdCBiZXR3ZWVuIDp2aXNpdGVkIGFu
ZCA6bGluayB3aGVuIGFwcGx5aW5nLiBXZSBkb24ndCBrbm93IHdoaWNoIG9uZSBhcHBsaWVkIChv
ciBub3QpIHlldC4KICAgICAgICAgICAgICAgICBpZiAoc3ViQ29udGV4dC5zZWxlY3Rvci0+cHNl
dWRvVHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9WaXNpdGVkIHx8IChzdWJDb250ZXh0LnNl
bGVjdG9yLT5wc2V1ZG9UeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0xpbmsgJiYgc3ViQ29u
dGV4dC52aXNpdGVkTWF0Y2hUeXBlID09IFZpc2l0ZWRNYXRjaEVuYWJsZWQpKQogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgICBpZiAoIWNoZWNrT25lU2Vs
ZWN0b3Ioc3ViQ29udGV4dCwgZHluYW1pY1BzZXVkbykpCisgICAgICAgICAgICAgICAgaWYgKCFj
aGVja09uZVNlbGVjdG9yKHN1YkNvbnRleHQsIGR5bmFtaWNQc2V1ZG8sIGhhc1Vua25vd25Qc2V1
ZG9FbGVtZW50cykpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAg
ICAgfQogICAgICAgICB9IGVsc2UgaWYgKGR5bmFtaWNQc2V1ZG8gIT0gTk9QU0VVRE8gJiYgKFJl
bmRlclNjcm9sbGJhcjo6c2Nyb2xsYmFyRm9yU3R5bGVSZXNvbHZlKCkgfHwgZHluYW1pY1BzZXVk
byA9PSBTQ1JPTExCQVJfQ09STkVSIHx8IGR5bmFtaWNQc2V1ZG8gPT0gUkVTSVpFUikpIHsKQEAg
LTk5OCw3ICs5OTgsNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihj
b25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgUAogICAgICAgICAgICAgICAg
IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0IHN1YkNvbnRleHQoY29udGV4dCk7CiAgICAgICAgICAg
ICAgICAgc3ViQ29udGV4dC5pc1N1YlNlbGVjdG9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBm
b3IgKHN1YkNvbnRleHQuc2VsZWN0b3IgPSBzZWxlY3Rvci0+c2VsZWN0b3JMaXN0KCktPmZpcnN0
KCk7IHN1YkNvbnRleHQuc2VsZWN0b3I7IHN1YkNvbnRleHQuc2VsZWN0b3IgPSBDU1NTZWxlY3Rv
ckxpc3Q6Om5leHQoc3ViQ29udGV4dC5zZWxlY3RvcikpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKGNoZWNrU2VsZWN0b3Ioc3ViQ29udGV4dCwgZHluYW1pY1BzZXVkbykgPT0gU2VsZWN0b3JN
YXRjaGVzKQorICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2tTZWxlY3RvcihzdWJDb250ZXh0
LCBkeW5hbWljUHNldWRvLCBoYXNVbmtub3duUHNldWRvRWxlbWVudHMpID09IFNlbGVjdG9yTWF0
Y2hlcykKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KQEAgLTExNzgsNyArMTE3OCw3IEBAIGJvb2wgU2VsZWN0b3JD
aGVja2VyOjpjaGVja09uZVNlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBj
b250ZXh0LCBQCiAgICAgfQogICAgIGlmIChzZWxlY3Rvci0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rv
cjo6UHNldWRvRWxlbWVudCkgewogICAgICAgICBpZiAoc2VsZWN0b3ItPmlzVW5rbm93blBzZXVk
b0VsZW1lbnQoKSkgewotICAgICAgICAgICAgbV9oYXNVbmtub3duUHNldWRvRWxlbWVudHMgPSB0
cnVlOworICAgICAgICAgICAgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzID0gdHJ1ZTsKICAgICAg
ICAgICAgIHJldHVybiBlbGVtZW50LT5zaGFkb3dQc2V1ZG9JZCgpID09IHNlbGVjdG9yLT52YWx1
ZSgpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaAppbmRleCBj
ZTcyMTNiODAxODc2MTc2MDNhOGQwNjFmZmE1YzI4Mjc2MmRmYzYyLi5lYjZmZmI5Y2I1Y2I2NDJk
OTI3M2U2MmRlMzg3OWRkNDVkMTZjMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tl
ci5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgYm9vbCBjaGVja1Nl
bGVjdG9yKENTU1NlbGVjdG9yKiwgRWxlbWVudCosIGJvb2wgaXNGYXN0Q2hlY2thYmxlU2VsZWN0
b3IgPSBmYWxzZSkgY29uc3Q7Ci0gICAgU2VsZWN0b3JNYXRjaCBjaGVja1NlbGVjdG9yKGNvbnN0
IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiwgUHNldWRvSWQmKSBjb25zdDsKKyAgICBTZWxlY3Rv
ck1hdGNoIGNoZWNrU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmLCBQc2V1
ZG9JZCYsIGJvb2wmIGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cykgY29uc3Q7CiAgICAgc3RhdGlj
IGJvb2wgaXNGYXN0Q2hlY2thYmxlU2VsZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3IqKTsKICAgICBi
b29sIGZhc3RDaGVja1NlbGVjdG9yKGNvbnN0IENTU1NlbGVjdG9yKiwgY29uc3QgRWxlbWVudCop
IGNvbnN0OwogCkBAIC0xMDMsOSArMTAzLDYgQEAgcHVibGljOgogICAgIFBzZXVkb0lkIHBzZXVk
b1N0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9wc2V1ZG9TdHlsZTsgfQogICAgIHZvaWQgc2V0UHNl
dWRvU3R5bGUoUHNldWRvSWQgcHNldWRvSWQpIHsgbV9wc2V1ZG9TdHlsZSA9IHBzZXVkb0lkOyB9
CiAKLSAgICBib29sIGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1f
aGFzVW5rbm93blBzZXVkb0VsZW1lbnRzOyB9Ci0gICAgdm9pZCBjbGVhckhhc1Vua25vd25Qc2V1
ZG9FbGVtZW50cygpIHsgbV9oYXNVbmtub3duUHNldWRvRWxlbWVudHMgPSBmYWxzZTsgfQotCiAg
ICAgc3RhdGljIGJvb2wgdGFnTWF0Y2hlcyhjb25zdCBFbGVtZW50KiwgY29uc3QgQ1NTU2VsZWN0
b3IqKTsKICAgICBzdGF0aWMgYm9vbCBhdHRyaWJ1dGVOYW1lTWF0Y2hlcyhjb25zdCBBdHRyaWJ1
dGUqLCBjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgc3RhdGljIGJvb2wgaXNDb21tb25Qc2V1
ZG9DbGFzc1NlbGVjdG9yKGNvbnN0IENTU1NlbGVjdG9yKik7CkBAIC0xMjEsNyArMTE4LDcgQEAg
cHVibGljOgogICAgIHN0YXRpYyBib29sIGVsZW1lbnRNYXRjaGVzU2VsZWN0b3JTY29wZXMoY29u
c3QgU3R5bGVkRWxlbWVudCosIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBpZFNj
b3BlcywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4mIGNsYXNzU2NvcGVzKTsKIAog
cHJpdmF0ZToKLSAgICBib29sIGNoZWNrT25lU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2lu
Z0NvbnRleHQmLCBQc2V1ZG9JZCYpIGNvbnN0OworICAgIGJvb2wgY2hlY2tPbmVTZWxlY3Rvcihj
b25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYsIFBzZXVkb0lkJiwgYm9vbCYgaGFzVW5rbm93
blBzZXVkb0VsZW1lbnRzKSBjb25zdDsKICAgICBib29sIGNoZWNrU2Nyb2xsYmFyUHNldWRvQ2xh
c3MoQ1NTU2VsZWN0b3IqLCBQc2V1ZG9JZCYgZHluYW1pY1BzZXVkbykgY29uc3Q7CiAgICAgc3Rh
dGljIGJvb2wgaXNGcmFtZUZvY3VzZWQoY29uc3QgRWxlbWVudCopOwogCkBAIC0xMzgsNyArMTM1
LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZG9jdW1lbnRJc0hUTUw7CiAgICAgTW9kZSBtX21v
ZGU7CiAgICAgUHNldWRvSWQgbV9wc2V1ZG9TdHlsZTsKLSAgICBtdXRhYmxlIGJvb2wgbV9oYXNV
bmtub3duUHNldWRvRWxlbWVudHM7CiAgICAgbXV0YWJsZSBIYXNoU2V0PExpbmtIYXNoLCBMaW5r
SGFzaEhhc2g+IG1fbGlua3NDaGVja2VkRm9yVmlzaXRlZFN0YXRlOwogCiAgICAgc3RydWN0IFBh
cmVudFN0YWNrRnJhbWUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGRk
ODc3Mzc3MWYxZjg3N2MwY2YzOWJmOTQ0ZmU2YTIwYjA2NTE2MWMuLjNjMDAwZjIzZjQzNmY0NGZi
MzhkMzVjODZkZDAwYmY0ZDA0YTY2OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAKQEAgLTM3OSw2ICszNzksNyBAQCBTdHlsZVJlc29sdmVyOjpTdHlsZVJlc29sdmVyKERvY3Vt
ZW50KiBkb2N1bWVudCwgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX21h
dGNoQXV0aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBt
X3NhbWVPcmlnaW5Pbmx5KGZhbHNlKQogICAgICwgbV9kaXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9p
bnQoZmFsc2UpCisgICAgLCBtX2hhc1Vua25vd25Qc2V1ZG9FbGVtZW50cyhmYWxzZSkKICAgICAs
IG1fZm9udFNlbGVjdG9yKENTU0ZvbnRTZWxlY3Rvcjo6Y3JlYXRlKGRvY3VtZW50KSkKICAgICAs
IG1fYXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxlKHRydWUpCiAgICAgLCBtX2FwcGx5UHJvcGVy
dHlUb1Zpc2l0ZWRMaW5rU3R5bGUoZmFsc2UpCkBAIC0xMTAxLDcgKzExMDIsNyBAQCB2b2lkIFN0
eWxlUmVzb2x2ZXI6OmNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChjb25zdCBWZWN0b3I8UnVs
ZURhdGE+KiBydWxlcywgaQogI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCiAgICAgICAgICAgICAg
ICAgJiYgKCFvcHRpb25zLnNjb3BlIHx8IG9wdGlvbnMuc2NvcGUtPnRyZWVTY29wZSgpICE9IHRy
ZWVTY29wZSkKICNlbmRpZgotICAgICAgICAgICAgICAgICYmICFtX2NoZWNrZXIuaGFzVW5rbm93
blBzZXVkb0VsZW1lbnRzKCkpIHsKKyAgICAgICAgICAgICAgICAmJiAhbV9oYXNVbmtub3duUHNl
dWRvRWxlbWVudHMpIHsKIAogICAgICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkTWF0Y2hSdWxlKGNvb2tpZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwpAQCAtMjM5OSw3ICsyNDAwLDcgQEAgUGFzc1JlZlB0cjxDU1NSdWxlTGlzdD4gU3R5bGVSZXNv
bHZlcjo6cHNldWRvU3R5bGVSdWxlc0ZvckVsZW1lbnQoRWxlbWVudCogZSwgUHMKIGlubGluZSBi
b29sIFN0eWxlUmVzb2x2ZXI6OmNoZWNrU2VsZWN0b3IoY29uc3QgUnVsZURhdGEmIHJ1bGVEYXRh
LCBjb25zdCBDb250YWluZXJOb2RlKiBzY29wZSkKIHsKICAgICBtX2R5bmFtaWNQc2V1ZG8gPSBO
T1BTRVVETzsKLSAgICBtX2NoZWNrZXIuY2xlYXJIYXNVbmtub3duUHNldWRvRWxlbWVudHMoKTsK
KyAgICBtX2hhc1Vua25vd25Qc2V1ZG9FbGVtZW50cyA9IGZhbHNlOwogCiAgICAgaWYgKHJ1bGVE
YXRhLmhhc0Zhc3RDaGVja2FibGVTZWxlY3RvcigpKSB7CiAgICAgICAgIC8vIFdlIGtub3cgdGhp
cyBzZWxlY3RvciBkb2VzIG5vdCBpbmNsdWRlIGFueSBwc2V1ZG8gZWxlbWVudHMuCkBAIC0yNDIy
LDcgKzI0MjMsNyBAQCBpbmxpbmUgYm9vbCBTdHlsZVJlc29sdmVyOjpjaGVja1NlbGVjdG9yKGNv
bnN0IFJ1bGVEYXRhJiBydWxlRGF0YSwgY29uc3QgQ29udGFpbgogICAgIGNvbnRleHQuZWxlbWVu
dFN0eWxlID0gc3R5bGUoKTsKICAgICBjb250ZXh0LmVsZW1lbnRQYXJlbnRTdHlsZSA9IG1fcGFy
ZW50Tm9kZSA/IG1fcGFyZW50Tm9kZS0+cmVuZGVyU3R5bGUoKSA6IDA7CiAgICAgY29udGV4dC5z
Y29wZSA9IHNjb3BlOwotICAgIFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaCBtYXRjaCA9
IG1fY2hlY2tlci5jaGVja1NlbGVjdG9yKGNvbnRleHQsIG1fZHluYW1pY1BzZXVkbyk7CisgICAg
U2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIG1hdGNoID0gbV9jaGVja2VyLmNoZWNrU2Vs
ZWN0b3IoY29udGV4dCwgbV9keW5hbWljUHNldWRvLCBtX2hhc1Vua25vd25Qc2V1ZG9FbGVtZW50
cyk7CiAgICAgaWYgKG1hdGNoICE9IFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaGVzKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKG1fY2hlY2tlci5wc2V1ZG9TdHlsZSgpICE9
IE5PUFNFVURPICYmIG1fY2hlY2tlci5wc2V1ZG9TdHlsZSgpICE9IG1fZHluYW1pY1BzZXVkbykK
QEAgLTI0MzUsNyArMjQzNiw3IEBAIGJvb2wgU3R5bGVSZXNvbHZlcjo6Y2hlY2tSZWdpb25TZWxl
Y3RvcihDU1NTZWxlY3RvciogcmVnaW9uU2VsZWN0b3IsIEVsZW1lbnQqIHJlCiAgICAgaWYgKCFy
ZWdpb25TZWxlY3RvciB8fCAhcmVnaW9uRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgbV9jaGVja2VyLmNsZWFySGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKCk7CisgICAgbV9o
YXNVbmtub3duUHNldWRvRWxlbWVudHMgPSBmYWxzZTsKICAgICBtX2NoZWNrZXIuc2V0UHNldWRv
U3R5bGUoTk9QU0VVRE8pOwogCiAgICAgZm9yIChDU1NTZWxlY3RvciogcyA9IHJlZ2lvblNlbGVj
dG9yOyBzOyBzID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHMpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJl
c29sdmVyLmgKaW5kZXggZmU2OTczOTBjNzYwYzZlYjNiN2E5MGI1NWFkMTNiMmVjOGNlZGJiMC4u
ZWQ3MDA1NzY0ZWY0YTIwNDJkMWQ0ODNlZDc4ODMyMGQyOGZmZGRhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5oCkBAIC00OTksNiArNDk5LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
bWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzOwogICAgIGJvb2wgbV9zYW1lT3JpZ2luT25seTsKICAg
ICBib29sIG1fZGlzdHJpYnV0ZWRUb0luc2VydGlvblBvaW50OworICAgIGJvb2wgbV9oYXNVbmtu
b3duUHNldWRvRWxlbWVudHM7CiAKICAgICBSZWZQdHI8Q1NTRm9udFNlbGVjdG9yPiBtX2ZvbnRT
ZWxlY3RvcjsKICAgICBWZWN0b3I8T3duUHRyPE1lZGlhUXVlcnlSZXN1bHQ+ID4gbV92aWV3cG9y
dERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163647</attachid>
            <date>2012-09-12 09:23:37 -0700</date>
            <delta_ts>2012-09-12 09:50:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-96425-20120912092311.patch</filename>
            <type>text/plain</type>
            <size>14548</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjIxN2FiMTJkMmY0N2Iw
NzJiOTZiNmYwMGUyNDFiMjRhMGRhMTkzMi4uMWE0YWQ0M2ZlN2RlNmI5MmQ4NTMzNGRiMzU3YTMy
NGQ3YTkxNTE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTEyICBEaW1p
dHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHRy
YW5zaWVudCBzdGF0ZSByZWdhcmRpbmcgdWtub3duIHBzZXVkb2VsZW1lbnRzIGZyb20gU2VsZWN0
b3JDaGVja2VyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTY0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KKworICAgICAgICBU
aGUgZmFjdCB0aGF0IGFuIHVua25vd24gcHNldWRvZWxlbWVudCB3YXMgZm91bmQgd2hlbiBjaGVj
a2luZyBzZWxlY3RvciB3YXMgc3RvcmVkIGFzIGV4dHJhIHN0YXRlIG9uIFNlbGVjdG9yQ2hlY2tl
ci4gVGhhdCdzIGJhZCwKKyAgICAgICAgYmVjYXVzZSB0aGlzIHN0YXRlIGlzIGF0IG9kZHMgd2l0
aCB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBpbnN0YW5jZSBhbmQgaGFkIHRvIGJlIGV4cGxpY2l0bHkg
cmVzZXQgcHJpb3IgdG8gZWFjaCBjaGVja2luZy4gVG8gYWRkcmVzcworICAgICAgICB0aGlzLCBJ
IG1hZGUgY2hlY2tTZWxlY3RvciByZXBvcnQgdGhlIHZhbHVlIGFzIGl0cyByZXN1bHQgKGJ5LXJl
ZiBwYXJhbWV0ZXIsIGFjdHVhbGx5KS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9y
aW5nIG9ubHkuIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBjc3MvU2Vs
ZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6U2Vs
ZWN0b3JDaGVja2VyKTogUmVtb3ZlZCB0aGUgbm93LXVubmVkZWQgc3RhdGUgaW5pdGlhbGl6YXRp
b24uCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0b3IpOiBD
aGFuZ2VkIHRvIHRha2UgZXh0cmEgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IpOiBEaXR0by4K
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmg6CisgICAgICAgIChTZWxlY3RvckNoZWNr
ZXIpOiBDaGFuZ2VkIGRlY2xzIGFjY29yZGluZ2x5LgorICAgICAgICAqIGNzcy9TdHlsZVJlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OlN0eWxlUmVzb2x2ZXIp
OiBBZGRlZCBzdGF0ZSB0byBTdHlsZVJlc29sdmVyLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
ZXNvbHZlcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KTogQ2hhbmdlZCB0byB1c2Ugb3du
IHN0YXRlLCByYXRoZXIgdGhhbiBTdHlsZUNoZWNrZXIncyBzdGF0ZS4KKyAgICAgICAgKiBjc3Mv
U3R5bGVSZXNvbHZlci5oOgorICAgICAgICAoU3R5bGVSZXNvbHZlcik6IE1vdmVkIHN0YXRlIGhl
cmUgZnJvbSBTdHlsZUNoZWNrZXIuCisKIDIwMTItMDktMTIgIE1PUklUQSBIYWppbWUgIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgW1NoYWRvdyBET01dIFVucG9saXNoZWQgZWxlbWVu
dHMgc2hvdWxkIHJlamVjdCBhdXRob3Igc2hhZG93cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JD
aGVja2VyLmNwcAppbmRleCA5YTMyZDYwODBjNDAwZjU0OGJmOTFhNDdiN2JhNWI0NzhmMjBjNGZk
Li40ODVkNmNjNjE3NjcyNzA0ZGIyZDZlZjE1ZTJjYzEwNTljZTBhYTIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtNzEsNyArNzEsNiBAQCBTZWxlY3RvckNoZWNr
ZXI6OlNlbGVjdG9yQ2hlY2tlcihEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgc3RyaWN0UGFyc2lu
ZykKICAgICAsIG1fZG9jdW1lbnRJc0hUTUwoZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50KCkpCiAg
ICAgLCBtX21vZGUoUmVzb2x2aW5nU3R5bGUpCiAgICAgLCBtX3BzZXVkb1N0eWxlKE5PUFNFVURP
KQotICAgICwgbV9oYXNVbmtub3duUHNldWRvRWxlbWVudHMoZmFsc2UpCiB7CiB9CiAKQEAgLTI2
OCw3ICsyNjcsOCBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3RvcihDU1NTZWxl
Y3Rvciogc2VsLCBFbGVtZW50KiBlbGVtZW50LCBib29sIGlzRgogICAgIH0KIAogICAgIFBzZXVk
b0lkIGR5bmFtaWNQc2V1ZG8gPSBOT1BTRVVETzsKLSAgICByZXR1cm4gY2hlY2tTZWxlY3RvcihT
ZWxlY3RvckNoZWNraW5nQ29udGV4dChzZWwsIGVsZW1lbnQsIFNlbGVjdG9yQ2hlY2tlcjo6Vmlz
aXRlZE1hdGNoRGlzYWJsZWQpLCBkeW5hbWljUHNldWRvKSA9PSBTZWxlY3Rvck1hdGNoZXM7Cisg
ICAgYm9vbCBoYXNVbmtub3duUHNldWRvRWxlbWVudHMgPSBmYWxzZTsKKyAgICByZXR1cm4gY2hl
Y2tTZWxlY3RvcihTZWxlY3RvckNoZWNraW5nQ29udGV4dChzZWwsIGVsZW1lbnQsIFNlbGVjdG9y
Q2hlY2tlcjo6VmlzaXRlZE1hdGNoRGlzYWJsZWQpLCBkeW5hbWljUHNldWRvLCBoYXNVbmtub3du
UHNldWRvRWxlbWVudHMpID09IFNlbGVjdG9yTWF0Y2hlczsKIH0KIAogbmFtZXNwYWNlIHsKQEAg
LTQzOSwxMCArNDM5LDEwIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjppc0Zhc3RDaGVja2FibGVT
ZWxlY3Rvcihjb25zdCBDU1NTZWxlY3Rvciogc2VsZWN0b3IpCiAvLyAqIFNlbGVjdG9yRmFpbHNM
b2NhbGx5ICAgICAtIHRoZSBzZWxlY3RvciBmYWlscyBmb3IgdGhlIGVsZW1lbnQgZQogLy8gKiBT
ZWxlY3RvckZhaWxzQWxsU2libGluZ3MgLSB0aGUgc2VsZWN0b3IgZmFpbHMgZm9yIGUgYW5kIGFu
eSBzaWJsaW5nIG9mIGUKIC8vICogU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkgIC0gdGhlIHNlbGVj
dG9yIGZhaWxzIGZvciBlIGFuZCBhbnkgc2libGluZyBvciBhbmNlc3RvciBvZiBlCi1TZWxlY3Rv
ckNoZWNrZXI6OlNlbGVjdG9yTWF0Y2ggU2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKGNv
bnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250ZXh0LCBQc2V1ZG9JZCYgZHluYW1pY1Bz
ZXVkbykgY29uc3QKK1NlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaCBTZWxlY3RvckNoZWNr
ZXI6OmNoZWNrU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQs
IFBzZXVkb0lkJiBkeW5hbWljUHNldWRvLCBib29sJiBoYXNVbmtub3duUHNldWRvRWxlbWVudHMp
IGNvbnN0CiB7CiAgICAgLy8gZmlyc3Qgc2VsZWN0b3IgaGFzIHRvIG1hdGNoCi0gICAgaWYgKCFj
aGVja09uZVNlbGVjdG9yKGNvbnRleHQsIGR5bmFtaWNQc2V1ZG8pKQorICAgIGlmICghY2hlY2tP
bmVTZWxlY3Rvcihjb250ZXh0LCBkeW5hbWljUHNldWRvLCBoYXNVbmtub3duUHNldWRvRWxlbWVu
dHMpKQogICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0xvY2FsbHk7CiAKICAgICAvLyBUaGUg
cmVzdCBvZiB0aGUgc2VsZWN0b3JzIGhhcyB0byBtYXRjaApAQCAtNDc3LDcgKzQ3Nyw3IEBAIFNl
bGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0
b3IoY29uc3QgU2VsZWN0b3JDaGVjCiAgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnRTdHlsZSA9
IDA7CiAgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnRQYXJlbnRTdHlsZSA9IDA7CiAgICAgICAg
IGZvciAoOyBuZXh0Q29udGV4dC5lbGVtZW50OyBuZXh0Q29udGV4dC5lbGVtZW50ID0gbmV4dENv
bnRleHQuZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7Ci0gICAgICAgICAgICBTZWxlY3Rvck1h
dGNoIG1hdGNoID0gY2hlY2tTZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1pY1BzZXVkbyk7Cisg
ICAgICAgICAgICBTZWxlY3Rvck1hdGNoIG1hdGNoID0gY2hlY2tTZWxlY3RvcihuZXh0Q29udGV4
dCwgZHluYW1pY1BzZXVkbywgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKTsKICAgICAgICAgICAg
IGlmIChtYXRjaCA9PSBTZWxlY3Rvck1hdGNoZXMgfHwgbWF0Y2ggPT0gU2VsZWN0b3JGYWlsc0Nv
bXBsZXRlbHkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoOwogICAgICAgICAgICAgaWYg
KG5leHRDb250ZXh0LmVsZW1lbnQgPT0gbmV4dENvbnRleHQuc2NvcGUpCkBAIC00OTIsNyArNDky
LDcgQEAgU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hl
Y2tTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWMKICAgICAgICAgbmV4dENvbnRleHQuaXNTdWJT
ZWxlY3RvciA9IGZhbHNlOwogICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50U3R5bGUgPSAwOwog
ICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50UGFyZW50U3R5bGUgPSAwOwotICAgICAgICByZXR1
cm4gY2hlY2tTZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1pY1BzZXVkbyk7CisgICAgICAgIHJl
dHVybiBjaGVja1NlbGVjdG9yKG5leHRDb250ZXh0LCBkeW5hbWljUHNldWRvLCBoYXNVbmtub3du
UHNldWRvRWxlbWVudHMpOwogCiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGlyZWN0QWRqYWNlbnQ6
CiAgICAgICAgIGlmIChtX21vZGUgPT0gUmVzb2x2aW5nU3R5bGUgJiYgY29udGV4dC5lbGVtZW50
LT5wYXJlbnRFbGVtZW50KCkpIHsKQEAgLTUwNiw3ICs1MDYsNyBAQCBTZWxlY3RvckNoZWNrZXI6
OlNlbGVjdG9yTWF0Y2ggU2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKGNvbnN0IFNlbGVj
dG9yQ2hlYwogICAgICAgICBuZXh0Q29udGV4dC5pc1N1YlNlbGVjdG9yID0gZmFsc2U7CiAgICAg
ICAgIG5leHRDb250ZXh0LmVsZW1lbnRTdHlsZSA9IDA7CiAgICAgICAgIG5leHRDb250ZXh0LmVs
ZW1lbnRQYXJlbnRTdHlsZSA9IDA7Ci0gICAgICAgIHJldHVybiBjaGVja1NlbGVjdG9yKG5leHRD
b250ZXh0LCBkeW5hbWljUHNldWRvKTsKKyAgICAgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3IobmV4
dENvbnRleHQsIGR5bmFtaWNQc2V1ZG8sIGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cyk7CiAKICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpJbmRpcmVjdEFkamFjZW50OgogICAgICAgICBpZiAobV9tb2Rl
ID09IFJlc29sdmluZ1N0eWxlICYmIGNvbnRleHQuZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7
CkBAIC01MTksNyArNTE5LDcgQEAgU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVj
dG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWMKICAgICAgICAgbmV4
dENvbnRleHQuZWxlbWVudFN0eWxlID0gMDsKICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudFBh
cmVudFN0eWxlID0gMDsKICAgICAgICAgZm9yICg7IG5leHRDb250ZXh0LmVsZW1lbnQ7IG5leHRD
b250ZXh0LmVsZW1lbnQgPSBuZXh0Q29udGV4dC5lbGVtZW50LT5wcmV2aW91c0VsZW1lbnRTaWJs
aW5nKCkpIHsKLSAgICAgICAgICAgIFNlbGVjdG9yTWF0Y2ggbWF0Y2ggPSBjaGVja1NlbGVjdG9y
KG5leHRDb250ZXh0LCBkeW5hbWljUHNldWRvKTsKKyAgICAgICAgICAgIFNlbGVjdG9yTWF0Y2gg
bWF0Y2ggPSBjaGVja1NlbGVjdG9yKG5leHRDb250ZXh0LCBkeW5hbWljUHNldWRvLCBoYXNVbmtu
b3duUHNldWRvRWxlbWVudHMpOwogICAgICAgICAgICAgaWYgKG1hdGNoID09IFNlbGVjdG9yTWF0
Y2hlcyB8fCBtYXRjaCA9PSBTZWxlY3RvckZhaWxzQWxsU2libGluZ3MgfHwgbWF0Y2ggPT0gU2Vs
ZWN0b3JGYWlsc0NvbXBsZXRlbHkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoOwogICAg
ICAgICB9OwpAQCAtNTMzLDcgKzUzMyw3IEBAIFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRj
aCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVjCiAgICAg
ICAgICAgICAgJiYgISgoUmVuZGVyU2Nyb2xsYmFyOjpzY3JvbGxiYXJGb3JTdHlsZVJlc29sdmUo
KSB8fCBkeW5hbWljUHNldWRvID09IFNDUk9MTEJBUl9DT1JORVIgfHwgZHluYW1pY1BzZXVkbyA9
PSBSRVNJWkVSKSAmJiBuZXh0Q29udGV4dC5zZWxlY3Rvci0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rv
cjo6UHNldWRvQ2xhc3MpKQogICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0
ZWx5OwogICAgICAgICBuZXh0Q29udGV4dC5pc1N1YlNlbGVjdG9yID0gdHJ1ZTsKLSAgICAgICAg
cmV0dXJuIGNoZWNrU2VsZWN0b3IobmV4dENvbnRleHQsIGR5bmFtaWNQc2V1ZG8pOworICAgICAg
ICByZXR1cm4gY2hlY2tTZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1pY1BzZXVkbywgaGFzVW5r
bm93blBzZXVkb0VsZW1lbnRzKTsKIAogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2Nl
bmRhbnQ6CiAgICAgICAgIHsKQEAgLTU0Nyw3ICs1NDcsNyBAQCBTZWxlY3RvckNoZWNrZXI6OlNl
bGVjdG9yTWF0Y2ggU2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKGNvbnN0IFNlbGVjdG9y
Q2hlYwogICAgICAgICAgICAgbmV4dENvbnRleHQuaXNTdWJTZWxlY3RvciA9IGZhbHNlOwogICAg
ICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudFN0eWxlID0gMDsKICAgICAgICAgICAgIG5leHRD
b250ZXh0LmVsZW1lbnRQYXJlbnRTdHlsZSA9IDA7Ci0gICAgICAgICAgICByZXR1cm4gY2hlY2tT
ZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1pY1BzZXVkbyk7CisgICAgICAgICAgICByZXR1cm4g
Y2hlY2tTZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1pY1BzZXVkbywgaGFzVW5rbm93blBzZXVk
b0VsZW1lbnRzKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNzAxLDcgKzcwMSw3IEBAIHN0YXRp
YyBib29sIGFueUF0dHJpYnV0ZU1hdGNoZXMoRWxlbWVudCogZWxlbWVudCwgQ1NTU2VsZWN0b3I6
Ok1hdGNoIG1hdGNoLCBjb25zCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFNlbGVjdG9y
Q2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYg
Y29udGV4dCwgUHNldWRvSWQmIGR5bmFtaWNQc2V1ZG8pIGNvbnN0Citib29sIFNlbGVjdG9yQ2hl
Y2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29u
dGV4dCwgUHNldWRvSWQmIGR5bmFtaWNQc2V1ZG8sIGJvb2wmIGhhc1Vua25vd25Qc2V1ZG9FbGVt
ZW50cykgY29uc3QKIHsKICAgICBFbGVtZW50KiBjb25zdCAmIGVsZW1lbnQgPSBjb250ZXh0LmVs
ZW1lbnQ7CiAgICAgQ1NTU2VsZWN0b3IqIGNvbnN0ICYgc2VsZWN0b3IgPSBjb250ZXh0LnNlbGVj
dG9yOwpAQCAtNzQ4LDcgKzc0OCw3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNl
bGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250ZXh0LCBQCiAgICAgICAg
ICAgICAgICAgLy8gV2Ugc2VsZWN0IGJldHdlZW4gOnZpc2l0ZWQgYW5kIDpsaW5rIHdoZW4gYXBw
bHlpbmcuIFdlIGRvbid0IGtub3cgd2hpY2ggb25lIGFwcGxpZWQgKG9yIG5vdCkgeWV0LgogICAg
ICAgICAgICAgICAgIGlmIChzdWJDb250ZXh0LnNlbGVjdG9yLT5wc2V1ZG9UeXBlKCkgPT0gQ1NT
U2VsZWN0b3I6OlBzZXVkb1Zpc2l0ZWQgfHwgKHN1YkNvbnRleHQuc2VsZWN0b3ItPnBzZXVkb1R5
cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvTGluayAmJiBzdWJDb250ZXh0LnZpc2l0ZWRNYXRj
aFR5cGUgPT0gVmlzaXRlZE1hdGNoRW5hYmxlZCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgICAgICAgICAgICAgIGlmICghY2hlY2tPbmVTZWxlY3RvcihzdWJDb250ZXh0
LCBkeW5hbWljUHNldWRvKSkKKyAgICAgICAgICAgICAgICBpZiAoIWNoZWNrT25lU2VsZWN0b3Io
c3ViQ29udGV4dCwgZHluYW1pY1BzZXVkbywgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKSkKICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0g
ZWxzZSBpZiAoZHluYW1pY1BzZXVkbyAhPSBOT1BTRVVETyAmJiAoUmVuZGVyU2Nyb2xsYmFyOjpz
Y3JvbGxiYXJGb3JTdHlsZVJlc29sdmUoKSB8fCBkeW5hbWljUHNldWRvID09IFNDUk9MTEJBUl9D
T1JORVIgfHwgZHluYW1pY1BzZXVkbyA9PSBSRVNJWkVSKSkgewpAQCAtOTk4LDcgKzk5OCw3IEBA
IGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hl
Y2tpbmdDb250ZXh0JiBjb250ZXh0LCBQCiAgICAgICAgICAgICAgICAgU2VsZWN0b3JDaGVja2lu
Z0NvbnRleHQgc3ViQ29udGV4dChjb250ZXh0KTsKICAgICAgICAgICAgICAgICBzdWJDb250ZXh0
LmlzU3ViU2VsZWN0b3IgPSB0cnVlOwogICAgICAgICAgICAgICAgIGZvciAoc3ViQ29udGV4dC5z
ZWxlY3RvciA9IHNlbGVjdG9yLT5zZWxlY3Rvckxpc3QoKS0+Zmlyc3QoKTsgc3ViQ29udGV4dC5z
ZWxlY3Rvcjsgc3ViQ29udGV4dC5zZWxlY3RvciA9IENTU1NlbGVjdG9yTGlzdDo6bmV4dChzdWJD
b250ZXh0LnNlbGVjdG9yKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2tTZWxlY3Rv
cihzdWJDb250ZXh0LCBkeW5hbWljUHNldWRvKSA9PSBTZWxlY3Rvck1hdGNoZXMpCisgICAgICAg
ICAgICAgICAgICAgIGlmIChjaGVja1NlbGVjdG9yKHN1YkNvbnRleHQsIGR5bmFtaWNQc2V1ZG8s
IGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cykgPT0gU2VsZWN0b3JNYXRjaGVzKQogICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQpAQCAtMTE3OCw3ICsxMTc4LDcgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25l
U2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQsIFAKICAgICB9
CiAgICAgaWYgKHNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50
KSB7CiAgICAgICAgIGlmIChzZWxlY3Rvci0+aXNVbmtub3duUHNldWRvRWxlbWVudCgpKSB7Ci0g
ICAgICAgICAgICBtX2hhc1Vua25vd25Qc2V1ZG9FbGVtZW50cyA9IHRydWU7CisgICAgICAgICAg
ICBoYXNVbmtub3duUHNldWRvRWxlbWVudHMgPSB0cnVlOwogICAgICAgICAgICAgcmV0dXJuIGVs
ZW1lbnQtPnNoYWRvd1BzZXVkb0lkKCkgPT0gc2VsZWN0b3ItPnZhbHVlKCk7CiAgICAgICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCmluZGV4IGNlNzIxM2I4MDE4NzYxNzYw
M2E4ZDA2MWZmYTVjMjgyNzYyZGZjNjIuLmViNmZmYjljYjVjYjY0MmQ5MjczZTYyZGUzODc5ZGQ0
NWQxNmMxZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKQEAgLTc2LDcgKzc2
LDcgQEAgcHVibGljOgogICAgIH07CiAKICAgICBib29sIGNoZWNrU2VsZWN0b3IoQ1NTU2VsZWN0
b3IqLCBFbGVtZW50KiwgYm9vbCBpc0Zhc3RDaGVja2FibGVTZWxlY3RvciA9IGZhbHNlKSBjb25z
dDsKLSAgICBTZWxlY3Rvck1hdGNoIGNoZWNrU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2lu
Z0NvbnRleHQmLCBQc2V1ZG9JZCYpIGNvbnN0OworICAgIFNlbGVjdG9yTWF0Y2ggY2hlY2tTZWxl
Y3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYsIFBzZXVkb0lkJiwgYm9vbCYgaGFz
VW5rbm93blBzZXVkb0VsZW1lbnRzKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCBpc0Zhc3RDaGVj
a2FibGVTZWxlY3Rvcihjb25zdCBDU1NTZWxlY3RvciopOwogICAgIGJvb2wgZmFzdENoZWNrU2Vs
ZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3IqLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAKQEAgLTEw
Myw5ICsxMDMsNiBAQCBwdWJsaWM6CiAgICAgUHNldWRvSWQgcHNldWRvU3R5bGUoKSBjb25zdCB7
IHJldHVybiBtX3BzZXVkb1N0eWxlOyB9CiAgICAgdm9pZCBzZXRQc2V1ZG9TdHlsZShQc2V1ZG9J
ZCBwc2V1ZG9JZCkgeyBtX3BzZXVkb1N0eWxlID0gcHNldWRvSWQ7IH0KIAotICAgIGJvb2wgaGFz
VW5rbm93blBzZXVkb0VsZW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNVbmtub3duUHNldWRv
RWxlbWVudHM7IH0KLSAgICB2b2lkIGNsZWFySGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKCkgeyBt
X2hhc1Vua25vd25Qc2V1ZG9FbGVtZW50cyA9IGZhbHNlOyB9Ci0KICAgICBzdGF0aWMgYm9vbCB0
YWdNYXRjaGVzKGNvbnN0IEVsZW1lbnQqLCBjb25zdCBDU1NTZWxlY3RvciopOwogICAgIHN0YXRp
YyBib29sIGF0dHJpYnV0ZU5hbWVNYXRjaGVzKGNvbnN0IEF0dHJpYnV0ZSosIGNvbnN0IFF1YWxp
ZmllZE5hbWUmKTsKICAgICBzdGF0aWMgYm9vbCBpc0NvbW1vblBzZXVkb0NsYXNzU2VsZWN0b3Io
Y29uc3QgQ1NTU2VsZWN0b3IqKTsKQEAgLTEyMSw3ICsxMTgsNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIGJvb2wgZWxlbWVudE1hdGNoZXNTZWxlY3RvclNjb3Blcyhjb25zdCBTdHlsZWRFbGVtZW50
KiwgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4mIGlkU2NvcGVzLCBjb25zdCBIYXNo
U2V0PEF0b21pY1N0cmluZ0ltcGwqPiYgY2xhc3NTY29wZXMpOwogCiBwcml2YXRlOgotICAgIGJv
b2wgY2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYsIFBzZXVk
b0lkJikgY29uc3Q7CisgICAgYm9vbCBjaGVja09uZVNlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hl
Y2tpbmdDb250ZXh0JiwgUHNldWRvSWQmLCBib29sJiBoYXNVbmtub3duUHNldWRvRWxlbWVudHMp
IGNvbnN0OwogICAgIGJvb2wgY2hlY2tTY3JvbGxiYXJQc2V1ZG9DbGFzcyhDU1NTZWxlY3Rvcios
IFBzZXVkb0lkJiBkeW5hbWljUHNldWRvKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCBpc0ZyYW1l
Rm9jdXNlZChjb25zdCBFbGVtZW50Kik7CiAKQEAgLTEzOCw3ICsxMzUsNiBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9kb2N1bWVudElzSFRNTDsKICAgICBNb2RlIG1fbW9kZTsKICAgICBQc2V1ZG9J
ZCBtX3BzZXVkb1N0eWxlOwotICAgIG11dGFibGUgYm9vbCBtX2hhc1Vua25vd25Qc2V1ZG9FbGVt
ZW50czsKICAgICBtdXRhYmxlIEhhc2hTZXQ8TGlua0hhc2gsIExpbmtIYXNoSGFzaD4gbV9saW5r
c0NoZWNrZWRGb3JWaXNpdGVkU3RhdGU7CiAKICAgICBzdHJ1Y3QgUGFyZW50U3RhY2tGcmFtZSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggMTRlMGZkZDkzNWFhM2ExNjVj
MzBiZTViZDZmOWYwMWQyMGUyNGE2NS4uNjcxY2ZhNGViOWRjMzk3Nzg2ZTFlOWI5ZWNmOWMxY2Rj
N2M4N2NkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMzgwLDYgKzM4
MCw3IEBAIFN0eWxlUmVzb2x2ZXI6OlN0eWxlUmVzb2x2ZXIoRG9jdW1lbnQqIGRvY3VtZW50LCBi
b29sIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcykKICAgICAsIG1fbWF0Y2hBdXRob3JBbmRVc2Vy
U3R5bGVzKG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcykKICAgICAsIG1fc2FtZU9yaWdpbk9ubHko
ZmFsc2UpCiAgICAgLCBtX2Rpc3RyaWJ1dGVkVG9JbnNlcnRpb25Qb2ludChmYWxzZSkKKyAgICAs
IG1faGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKGZhbHNlKQogICAgICwgbV9mb250U2VsZWN0b3Io
Q1NTRm9udFNlbGVjdG9yOjpjcmVhdGUoZG9jdW1lbnQpKQogICAgICwgbV9hcHBseVByb3BlcnR5
VG9SZWd1bGFyU3R5bGUodHJ1ZSkKICAgICAsIG1fYXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtT
dHlsZShmYWxzZSkKQEAgLTExMDIsNyArMTEwMyw3IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6Y29s
bGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KGNvbnN0IFZlY3RvcjxSdWxlRGF0YT4qIHJ1bGVzLCBp
CiAjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKICAgICAgICAgICAgICAgICAmJiAoIW9wdGlvbnMu
c2NvcGUgfHwgb3B0aW9ucy5zY29wZS0+dHJlZVNjb3BlKCkgIT0gdHJlZVNjb3BlKQogI2VuZGlm
Ci0gICAgICAgICAgICAgICAgJiYgIW1fY2hlY2tlci5oYXNVbmtub3duUHNldWRvRWxlbWVudHMo
KSkgeworICAgICAgICAgICAgICAgICYmICFtX2hhc1Vua25vd25Qc2V1ZG9FbGVtZW50cykgewog
CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRNYXRjaFJ1bGUo
Y29va2llLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CkBAIC0yNDAwLDcgKzI0
MDEsNyBAQCBQYXNzUmVmUHRyPENTU1J1bGVMaXN0PiBTdHlsZVJlc29sdmVyOjpwc2V1ZG9TdHls
ZVJ1bGVzRm9yRWxlbWVudChFbGVtZW50KiBlLCBQcwogaW5saW5lIGJvb2wgU3R5bGVSZXNvbHZl
cjo6Y2hlY2tTZWxlY3Rvcihjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEsIGNvbnN0IENvbnRhaW5l
ck5vZGUqIHNjb3BlKQogewogICAgIG1fZHluYW1pY1BzZXVkbyA9IE5PUFNFVURPOwotICAgIG1f
Y2hlY2tlci5jbGVhckhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cygpOworICAgIG1faGFzVW5rbm93
blBzZXVkb0VsZW1lbnRzID0gZmFsc2U7CiAKICAgICBpZiAocnVsZURhdGEuaGFzRmFzdENoZWNr
YWJsZVNlbGVjdG9yKCkpIHsKICAgICAgICAgLy8gV2Uga25vdyB0aGlzIHNlbGVjdG9yIGRvZXMg
bm90IGluY2x1ZGUgYW55IHBzZXVkbyBlbGVtZW50cy4KQEAgLTI0MjMsNyArMjQyNCw3IEBAIGlu
bGluZSBib29sIFN0eWxlUmVzb2x2ZXI6OmNoZWNrU2VsZWN0b3IoY29uc3QgUnVsZURhdGEmIHJ1
bGVEYXRhLCBjb25zdCBDb250YWluCiAgICAgY29udGV4dC5lbGVtZW50U3R5bGUgPSBzdHlsZSgp
OwogICAgIGNvbnRleHQuZWxlbWVudFBhcmVudFN0eWxlID0gbV9wYXJlbnROb2RlID8gbV9wYXJl
bnROb2RlLT5yZW5kZXJTdHlsZSgpIDogMDsKICAgICBjb250ZXh0LnNjb3BlID0gc2NvcGU7Ci0g
ICAgU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIG1hdGNoID0gbV9jaGVja2VyLmNoZWNr
U2VsZWN0b3IoY29udGV4dCwgbV9keW5hbWljUHNldWRvKTsKKyAgICBTZWxlY3RvckNoZWNrZXI6
OlNlbGVjdG9yTWF0Y2ggbWF0Y2ggPSBtX2NoZWNrZXIuY2hlY2tTZWxlY3Rvcihjb250ZXh0LCBt
X2R5bmFtaWNQc2V1ZG8sIG1faGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKTsKICAgICBpZiAobWF0
Y2ggIT0gU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoZXMpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBpZiAobV9jaGVja2VyLnBzZXVkb1N0eWxlKCkgIT0gTk9QU0VVRE8gJiYgbV9j
aGVja2VyLnBzZXVkb1N0eWxlKCkgIT0gbV9keW5hbWljUHNldWRvKQpAQCAtMjQzNiw3ICsyNDM3
LDcgQEAgYm9vbCBTdHlsZVJlc29sdmVyOjpjaGVja1JlZ2lvblNlbGVjdG9yKENTU1NlbGVjdG9y
KiByZWdpb25TZWxlY3RvciwgRWxlbWVudCogcmUKICAgICBpZiAoIXJlZ2lvblNlbGVjdG9yIHx8
ICFyZWdpb25FbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX2NoZWNrZXIu
Y2xlYXJIYXNVbmtub3duUHNldWRvRWxlbWVudHMoKTsKKyAgICBtX2hhc1Vua25vd25Qc2V1ZG9F
bGVtZW50cyA9IGZhbHNlOwogICAgIG1fY2hlY2tlci5zZXRQc2V1ZG9TdHlsZShOT1BTRVVETyk7
CiAKICAgICBmb3IgKENTU1NlbGVjdG9yKiBzID0gcmVnaW9uU2VsZWN0b3I7IHM7IHMgPSBDU1NT
ZWxlY3Rvckxpc3Q6Om5leHQocykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAppbmRleCAx
NjFkYWM4ZWEyMmYyMzcwYjM4YjBjMTg1ODIyNmZlNDk2NjE0OTUzLi44Nzg1NzdhNDIxYWVmMTI5
OTZlYjZjZjVhNjAzNjM5Y2UxMDA2NGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgK
QEAgLTQ5Nyw2ICs0OTcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9tYXRjaEF1dGhvckFuZFVz
ZXJTdHlsZXM7CiAgICAgYm9vbCBtX3NhbWVPcmlnaW5Pbmx5OwogICAgIGJvb2wgbV9kaXN0cmli
dXRlZFRvSW5zZXJ0aW9uUG9pbnQ7CisgICAgYm9vbCBtX2hhc1Vua25vd25Qc2V1ZG9FbGVtZW50
czsKIAogICAgIFJlZlB0cjxDU1NGb250U2VsZWN0b3I+IG1fZm9udFNlbGVjdG9yOwogICAgIFZl
Y3RvcjxPd25QdHI8TWVkaWFRdWVyeVJlc3VsdD4gPiBtX3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFR
dWVyeVJlc3VsdHM7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>