<?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>71169</bug_id>
          
          <creation_ts>2011-10-28 18:42:39 -0700</creation_ts>
          <short_desc>DOMURL should keep its own state rather than storing it on ScriptExecutionContext</short_desc>
          <delta_ts>2011-10-30 22:32:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>492861</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-28 18:42:39 -0700</bug_when>
    <thetext>DOMURL should keep its own state rather than storing it on ScriptExecutionContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492865</commentid>
    <comment_count>1</comment_count>
      <attachid>112961</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-28 18:44:32 -0700</bug_when>
    <thetext>Created attachment 112961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492890</commentid>
    <comment_count>2</comment_count>
      <attachid>112961</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-28 21:41:24 -0700</bug_when>
    <thetext>Comment on attachment 112961
Patch

Makes sense to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492895</commentid>
    <comment_count>3</comment_count>
      <attachid>112961</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-28 22:29:11 -0700</bug_when>
    <thetext>Comment on attachment 112961
Patch

Rejecting attachment 112961 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:
:String&amp;)&apos;:
Source/WebCore/html/DOMURL.cpp:120: error: &apos;isMainThread&apos; was not declared in this scope
make: *** [out/Debug/obj.target/webcore_html/Source/WebCore/html/DOMURL.o] Error 1
make: *** Waiting for unfinished jobs....

Failed to run &quot;[&apos;Tools/Scripts/build-webkit&apos;, &apos;--debug&apos;, &apos;--chromium&apos;, &apos;--update-chromium&apos;]&quot; exit_code: 2
ainThread&apos; was not declared in this scope
make: *** [out/Debug/obj.target/webcore_html/Source/WebCore/html/DOMURL.o] Error 1
make: *** Waiting for unfinished jobs....

Full output: http://queues.webkit.org/results/10242263</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492912</commentid>
    <comment_count>4</comment_count>
      <attachid>112967</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-29 00:51:34 -0700</bug_when>
    <thetext>Created attachment 112967
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492925</commentid>
    <comment_count>5</comment_count>
      <attachid>112967</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-29 02:10:48 -0700</bug_when>
    <thetext>Comment on attachment 112967
Patch for landing

Clearing flags on attachment: 112967

Committed r98802: &lt;http://trac.webkit.org/changeset/98802&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492926</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-29 02:10:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493151</commentid>
    <comment_count>7</comment_count>
      <attachid>112967</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-10-30 22:28:23 -0700</bug_when>
    <thetext>Comment on attachment 112967
Patch for landing

View in context: https://bugs.webkit.org/attachment.cgi?id=112967&amp;action=review

&gt; Source/WebCore/html/DOMURL.cpp:66
&gt; +    for (HashSet&lt;String&gt;::iterator iter = m_publicStreamURLs.begin(); iter != publicStreamURLsEnd; ++iter)
&gt; +        MediaStreamRegistry::registry().unregisterMediaStreamURL(KURL(ParsedURLString, *iter));

It&apos;s going to ASSERT(isMainThread()). Is DOMURL really main thread only (and why does it have NoStaticTables in IDL in that case)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493153</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-30 22:32:06 -0700</bug_when>
    <thetext>This patch doesn&apos;t change anything about how this code works.  You probably want to file a new bug and CC the person who added the ASSERT.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112961</attachid>
            <date>2011-10-28 18:44:32 -0700</date>
            <delta_ts>2011-10-29 00:51:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71169-20111028184431.patch</filename>
            <type>text/plain</type>
            <size>10532</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4NzkxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTAtMjggIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBET01VUkwgc2hvdWxkIGtlZXAgaXRz
IG93biBzdGF0ZSByYXRoZXIgdGhhbiBzdG9yaW5nIGl0IG9uIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTY5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCB1bnR3aXN0cyB0aGlzIGNvZGUuICBJIHRoaW5rIHRoaXMgY29kZSB3YXMgb3JpZ2luYWxs
eQorICAgICAgICB0d2lzdGVkIGJlY2F1c2UgdGhlc2UgQVBJcyBtb3ZlZCBvbnRvIERPTVVSTCBh
ZnRlciB0aGV5IHdlcmUgZmlyc3QKKyAgICAgICAgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBk
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6CisgICAgICAgICogZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVXcml0ZXIu
aDoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01VUkw6
OmNvbnRleHREZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVVJMOjpjcmVhdGVPYmpl
Y3RVUkwpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVVJMOjpyZXZva2VPYmplY3RVUkwpOgorICAg
ICAgICAqIGh0bWwvRE9NVVJMLmg6CisKIDIwMTEtMTAtMjggIEFkYW0gS2xlaW4gIDxhZGFta0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBTdXBwb3J0IGF0dHJp
YnV0ZU9sZFZhbHVlIGZvciBhdHRyaWJ1dGUgbXV0YXRpb25zCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCShyZXZpc2lvbiA5ODc4NykKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjgsMTEgKzI4LDggQEAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJCbG9iLmgiCi0j
aW5jbHVkZSAiQmxvYlVSTC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgog
I2luY2x1ZGUgIkRPTVRpbWVyLmgiCi0jaW5jbHVkZSAiRE9NVVJMLmgiCiAjaW5jbHVkZSAiRGF0
YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKICNpbmNsdWRlICJEYXRhYmFzZVRo
cmVhZC5oIgpAQCAtNDQsNyArNDEsNiBAQAogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgog
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKLSNpbmNs
dWRlICJUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiV29ya2VyQ29udGV4dC5o
IgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CkBAIC01MiwxNCArNDgsMTAgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBVU0Uo
SlNDKQorLy8gRklYTUU6IFRoaXMgaXMgYSBsYXllcmluZyB2aW9sYXRpb24uCiAjaW5jbHVkZSAi
SlNET01XaW5kb3cuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSNpbmNs
dWRlICJNZWRpYVN0cmVhbS5oIgotI2luY2x1ZGUgIk1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKLSNl
bmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFByb2Nlc3NNZXNzYWdlc1Nvb25U
YXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpAQCAtMTI5LDE4ICsx
MjEsNiBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uCiAgICAgICAg
IG1fZmlsZVRocmVhZCA9IDA7CiAgICAgfQogI2VuZGlmCi0KLSNpZiBFTkFCTEUoQkxPQikKLSAg
ICBIYXNoU2V0PFN0cmluZz46Oml0ZXJhdG9yIHB1YmxpY0Jsb2JVUkxzRW5kID0gbV9wdWJsaWNC
bG9iVVJMcy5lbmQoKTsKLSAgICBmb3IgKEhhc2hTZXQ8U3RyaW5nPjo6aXRlcmF0b3IgaXRlciA9
IG1fcHVibGljQmxvYlVSTHMuYmVnaW4oKTsgaXRlciAhPSBwdWJsaWNCbG9iVVJMc0VuZDsgKytp
dGVyKQotICAgICAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyQmxvYlVSTChL
VVJMKFBhcnNlZFVSTFN0cmluZywgKml0ZXIpKTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKLSAgICBIYXNoU2V0PFN0cmluZz46Oml0ZXJhdG9yIHB1YmxpY1N0cmVhbVVSTHNF
bmQgPSBtX3B1YmxpY1N0cmVhbVVSTHMuZW5kKCk7Ci0gICAgZm9yIChIYXNoU2V0PFN0cmluZz46
Oml0ZXJhdG9yIGl0ZXIgPSBtX3B1YmxpY1N0cmVhbVVSTHMuYmVnaW4oKTsgaXRlciAhPSBwdWJs
aWNTdHJlYW1VUkxzRW5kOyArK2l0ZXIpCi0gICAgICAgIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJl
Z2lzdHJ5KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKEtVUkwoUGFyc2VkVVJMU3RyaW5nLCAq
aXRlcikpOwotI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQpAQCAtMzg3LDU0
ICszNjcsNiBAQCBET01UaW1lciogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmluZFRpCiAgICAg
cmV0dXJuIG1fdGltZW91dHMuZ2V0KHRpbWVvdXRJZCk7CiB9CiAKLSNpZiBFTkFCTEUoQkxPQikK
LQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi1LVVJMIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OmNyZWF0ZVB1YmxpY0Jsb2JVUkwoTWVkaWFTdHJlYW0qIHN0cmVhbSkKLXsKLSAgICBpZiAoIXN0
cmVhbSkKLSAgICAgICAgcmV0dXJuIEtVUkwoKTsKLQotICAgIEtVUkwgcHVibGljVVJMID0gQmxv
YlVSTDo6Y3JlYXRlUHVibGljVVJMKHNlY3VyaXR5T3JpZ2luKCkpOwotCi0gICAgLy8gU2luY2Ug
V2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIFN0cmVhbSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24g
dGhlIG1haW4gdGhyZWFkLgotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgTWVkaWFT
dHJlYW1SZWdpc3RyeTo6cmVnaXN0cnkoKS5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKHB1YmxpY1VS
TCwgc3RyZWFtKTsKLSAgICBtX3B1YmxpY1N0cmVhbVVSTHMuYWRkKHB1YmxpY1VSTC5zdHJpbmco
KSk7Ci0gICAgcmV0dXJuIHB1YmxpY1VSTDsKLX0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQotCi1LVVJMIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNyZWF0ZVB1YmxpY0Jsb2JVUkwo
QmxvYiogYmxvYikKLXsKLSAgICBpZiAoIWJsb2IpCi0gICAgICAgIHJldHVybiBLVVJMKCk7Ci0g
ICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVhdGVQdWJsaWNVUkwoc2VjdXJpdHlPcmln
aW4oKSk7Ci0gICAgaWYgKHB1YmxpY1VSTC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBLVVJM
KCk7Ci0gICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKHB1YmxpY1VS
TCwgYmxvYi0+dXJsKCkpOwotICAgIG1fcHVibGljQmxvYlVSTHMuYWRkKHB1YmxpY1VSTC5zdHJp
bmcoKSk7Ci0gICAgcmV0dXJuIHB1YmxpY1VSTDsKLX0KLQotdm9pZCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpyZXZva2VQdWJsaWNCbG9iVVJMKGNvbnN0IEtVUkwmIHVybCkKLXsKLSAgICBpZiAo
bV9wdWJsaWNCbG9iVVJMcy5jb250YWlucyh1cmwuc3RyaW5nKCkpKSB7Ci0gICAgICAgIFRocmVh
ZGFibGVCbG9iUmVnaXN0cnk6OnVucmVnaXN0ZXJCbG9iVVJMKHVybCk7Ci0gICAgICAgIG1fcHVi
bGljQmxvYlVSTHMucmVtb3ZlKHVybC5zdHJpbmcoKSk7Ci0gICAgfQotI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCi0gICAgaWYgKG1fcHVibGljU3RyZWFtVVJMcy5jb250YWlucyh1cmwuc3RyaW5n
KCkpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBtYWtlIHN1cmUgb2YgdGhpcyBhc3NlcnRpb24gYmVs
b3cuIFJhaXNlIGEgc3BlYyBxdWVzdGlvbiBpZiByZXF1aXJlZC4KLSAgICAgICAgLy8gU2luY2Ug
V2ViV29ya2VycyBjYW5ub3Qgb2J0YWluIFN0cmVhbSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24g
dGhlIG1haW4gdGhyZWFkLgotICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotICAgICAg
ICBNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpyZWdpc3RyeSgpLnVucmVnaXN0ZXJNZWRpYVN0cmVhbVVS
TCh1cmwpOwotICAgICAgICBtX3B1YmxpY1N0cmVhbVVSTHMucmVtb3ZlKHVybC5zdHJpbmcoKSk7
Ci0gICAgfQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCi19Ci0jZW5kaWYgLy8gRU5B
QkxFKEJMT0IpCi0KICNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQogRmls
ZVRocmVhZCogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmlsZVRocmVhZCgpCiB7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgJKHJldmlzaW9uIDk4
Nzg3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDcsMTAgKzQ3LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBCbG9iOwogY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5OwogY2xhc3MgRE9NVGltZXI7
Ci1jbGFzcyBET01VUkw7CiBjbGFzcyBFdmVudExpc3RlbmVyOwogY2xhc3MgRXZlbnRRdWV1ZTsK
IGNsYXNzIEV2ZW50VGFyZ2V0OwpAQCAtNjgsMTAgKzY2LDYgQEAgY2xhc3MgRGF0YWJhc2VUaHJl
YWQ7CiBjbGFzcyBGaWxlVGhyZWFkOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQotY2xhc3MgTWVkaWFTdHJlYW07Ci0jZW5kaWYKLQogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCB7CiBwdWJsaWM6CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwpAQCAtMTUzLDE0
ICsxNDcsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVUaW1lb3V0KGludCB0aW1lb3V0SWQp
OwogICAgIERPTVRpbWVyKiBmaW5kVGltZW91dChpbnQgdGltZW91dElkKTsKIAotI2lmIEVOQUJM
RShCTE9CKQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgS1VSTCBjcmVhdGVQdWJsaWNC
bG9iVVJMKE1lZGlhU3RyZWFtKik7Ci0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAg
ICBLVVJMIGNyZWF0ZVB1YmxpY0Jsb2JVUkwoQmxvYiopOwotICAgIHZvaWQgcmV2b2tlUHVibGlj
QmxvYlVSTChjb25zdCBLVVJMJik7Ci0jZW5kaWYgLy8gRU5BQkxFKEJMT0IpCi0KICNpZiBVU0Uo
SlNDKQogICAgIEpTQzo6SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKCk7CiAjZW5kaWYKQEAgLTIw
NiwxMSArMTkyLDYgQEAgcHJpdmF0ZToKICAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBET01UaW1l
cio+IFRpbWVvdXRNYXA7CiAgICAgVGltZW91dE1hcCBtX3RpbWVvdXRzOwogCi0jaWYgRU5BQkxF
KEJMT0IpCi0gICAgSGFzaFNldDxTdHJpbmc+IG1fcHVibGljQmxvYlVSTHM7Ci0gICAgSGFzaFNl
dDxTdHJpbmc+IG1fcHVibGljU3RyZWFtVVJMczsKLSNlbmRpZgotCiAgICAgdmlydHVhbCB2b2lk
IHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVm
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpID0gMDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlV3JpdGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlV3JpdGVyLmgJKHJldmlzaW9uIDk4Nzc1KQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlV3JpdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBCbG9iOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IAogY2xhc3MgRmlsZVdyaXRlciA6IHB1YmxpYyBGaWxlV3JpdGVyQmFzZSwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0LCBwdWJsaWMgQXN5bmNGaWxlV3JpdGVyQ2xp
ZW50IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAJKHJldmlzaW9uIDk4Nzg3KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw4ICsyOSwx
NiBAQAogCiAjaW5jbHVkZSAiRE9NVVJMLmgiCiAKKyNpbmNsdWRlICJCbG9iLmgiCisjaW5jbHVk
ZSAiQmxvYlVSTC5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCisjaW5jbHVkZSAiVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oIgorCisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKKyNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgorI2luY2x1ZGUg
Ik1lZGlhU3RyZWFtUmVnaXN0cnkuaCIKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTQzLDI3ICs1MSw3NyBAQCBET01VUkw6On5ET01VUkwoKQogewogfQogCit2b2lkIERPTVVS
TDo6Y29udGV4dERlc3Ryb3llZCgpCit7CisgICAgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXI6
OmNvbnRleHREZXN0cm95ZWQoKTsKKworICAgIEhhc2hTZXQ8U3RyaW5nPjo6aXRlcmF0b3IgcHVi
bGljQmxvYlVSTHNFbmQgPSBtX3B1YmxpY0Jsb2JVUkxzLmVuZCgpOworICAgIGZvciAoSGFzaFNl
dDxTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gbV9wdWJsaWNCbG9iVVJMcy5iZWdpbigpOyBpdGVy
ICE9IHB1YmxpY0Jsb2JVUkxzRW5kOyArK2l0ZXIpCisgICAgICAgIFRocmVhZGFibGVCbG9iUmVn
aXN0cnk6OnVucmVnaXN0ZXJCbG9iVVJMKEtVUkwoUGFyc2VkVVJMU3RyaW5nLCAqaXRlcikpOwor
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBIYXNoU2V0PFN0cmluZz46Oml0ZXJhdG9y
IHB1YmxpY1N0cmVhbVVSTHNFbmQgPSBtX3B1YmxpY1N0cmVhbVVSTHMuZW5kKCk7CisgICAgZm9y
IChIYXNoU2V0PFN0cmluZz46Oml0ZXJhdG9yIGl0ZXIgPSBtX3B1YmxpY1N0cmVhbVVSTHMuYmVn
aW4oKTsgaXRlciAhPSBwdWJsaWNTdHJlYW1VUkxzRW5kOyArK2l0ZXIpCisgICAgICAgIE1lZGlh
U3RyZWFtUmVnaXN0cnk6OnJlZ2lzdHJ5KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKEtVUkwo
UGFyc2VkVVJMU3RyaW5nLCAqaXRlcikpOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQogU3RyaW5nIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKE1lZGlhU3RyZWFtKiBzdHJl
YW0pCiB7Ci0gICAgaWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgaWYgKCFtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQgfHwgIXN0cmVhbSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygp
OworCisgICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVhdGVQdWJsaWNVUkwoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpKTsKKyAgICBpZiAocHVibGljVVJM
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIHJldHVybiBtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQtPmNyZWF0ZVB1YmxpY0Jsb2JVUkwoc3RyZWFtKS5zdHJpbmcoKTsK
KworICAgIC8vIFNpbmNlIFdlYldvcmtlcnMgY2Fubm90IG9idGFpbiBTdHJlYW0gb2JqZWN0cywg
d2Ugc2hvdWxkIGJlIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOworCisgICAgTWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0cnkoKS5yZWdpc3Rlck1lZGlh
U3RyZWFtVVJMKHB1YmxpY1VSTCwgc3RyZWFtKTsKKyAgICBtX3B1YmxpY1N0cmVhbVVSTHMuYWRk
KHB1YmxpY1VSTC5zdHJpbmcoKSk7CisKKyAgICByZXR1cm4gcHVibGljVVJMLnN0cmluZygpOwog
fQogI2VuZGlmCiAKIFN0cmluZyBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChCbG9iKiBibG9iKQog
ewotICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQorICAgIGlmICghbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0IHx8ICFibG9iKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAg
cmV0dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+Y3JlYXRlUHVibGljQmxvYlVSTChibG9i
KS5zdHJpbmcoKTsKKworICAgIEtVUkwgcHVibGljVVJMID0gQmxvYlVSTDo6Y3JlYXRlUHVibGlj
VVJMKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7CisgICAgaWYg
KHB1YmxpY1VSTC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIFRo
cmVhZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTChwdWJsaWNVUkwsIGJsb2ItPnVy
bCgpKTsKKyAgICBtX3B1YmxpY0Jsb2JVUkxzLmFkZChwdWJsaWNVUkwuc3RyaW5nKCkpOworCisg
ICAgcmV0dXJuIHB1YmxpY1VSTC5zdHJpbmcoKTsKIH0KIAogdm9pZCBET01VUkw6OnJldm9rZU9i
amVjdFVSTChjb25zdCBTdHJpbmcmIHVybFN0cmluZykKIHsKICAgICBpZiAoIW1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkKICAgICAgICAgcmV0dXJuOwotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC0+cmV2b2tlUHVibGljQmxvYlVSTChLVVJMKEtVUkwoKSwgdXJsU3RyaW5nKSk7CisKKyAg
ICBLVVJMIHVybChLVVJMKCksIHVybFN0cmluZyk7CisKKyAgICBpZiAobV9wdWJsaWNCbG9iVVJM
cy5jb250YWlucyh1cmwuc3RyaW5nKCkpKSB7CisgICAgICAgIFRocmVhZGFibGVCbG9iUmVnaXN0
cnk6OnVucmVnaXN0ZXJCbG9iVVJMKHVybCk7CisgICAgICAgIG1fcHVibGljQmxvYlVSTHMucmVt
b3ZlKHVybC5zdHJpbmcoKSk7CisgICAgfQorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAg
ICBpZiAobV9wdWJsaWNTdHJlYW1VUkxzLmNvbnRhaW5zKHVybC5zdHJpbmcoKSkpIHsKKyAgICAg
ICAgLy8gRklYTUU6IG1ha2Ugc3VyZSBvZiB0aGlzIGFzc2VydGlvbiBiZWxvdy4gUmFpc2UgYSBz
cGVjIHF1ZXN0aW9uIGlmIHJlcXVpcmVkLgorICAgICAgICAvLyBTaW5jZSBXZWJXb3JrZXJzIGNh
bm5vdCBvYnRhaW4gU3RyZWFtIG9iamVjdHMsIHdlIHNob3VsZCBiZSBvbiB0aGUgbWFpbiB0aHJl
YWQuCisgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgICAgIE1lZGlhU3RyZWFt
UmVnaXN0cnk6OnJlZ2lzdHJ5KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKHVybCk7CisgICAg
ICAgIG1fcHVibGljU3RyZWFtVVJMcy5yZW1vdmUodXJsLnN0cmluZygpKTsKKyAgICB9CisjZW5k
aWYKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCShy
ZXZpc2lvbiA5ODc4NykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAK
QEAgLTUyLDYgKzUzLDEzIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBET01V
UkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworCisgICAgdmlydHVhbCB2b2lkIGNvbnRleHRE
ZXN0cm95ZWQoKTsKKworICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3B1YmxpY0Jsb2JVUkxzOworI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgSGFzaFNldDxTdHJpbmc+IG1fcHVibGljU3RyZWFt
VVJMczsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112967</attachid>
            <date>2011-10-29 00:51:34 -0700</date>
            <delta_ts>2011-10-30 22:28:23 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-71169-20111029005133.patch</filename>
            <type>text/plain</type>
            <size>10530</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4Nzk5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTAtMjkgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBET01VUkwgc2hvdWxkIGtlZXAgaXRz
IG93biBzdGF0ZSByYXRoZXIgdGhhbiBzdG9yaW5nIGl0IG9uIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTY5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgVGhpcyBwYXRj
aCB1bnR3aXN0cyB0aGlzIGNvZGUuICBJIHRoaW5rIHRoaXMgY29kZSB3YXMgb3JpZ2luYWxseQor
ICAgICAgICB0d2lzdGVkIGJlY2F1c2UgdGhlc2UgQVBJcyBtb3ZlZCBvbnRvIERPTVVSTCBhZnRl
ciB0aGV5IHdlcmUgZmlyc3QKKyAgICAgICAgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBkb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6CisgICAgICAgICogZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVXcml0ZXIuaDoK
KyAgICAgICAgKiBodG1sL0RPTVVSTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01VUkw6OmNv
bnRleHREZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVVJMOjpjcmVhdGVPYmplY3RV
UkwpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVVJMOjpyZXZva2VPYmplY3RVUkwpOgorICAgICAg
ICAqIGh0bWwvRE9NVVJMLmg6CisKIDIwMTEtMTAtMjkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5
ODc5NS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAJKHJldmlzaW9uIDk4Nzk5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMSArMjgsOCBAQAogI2luY2x1
ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVj
dC5oIgotI2luY2x1ZGUgIkJsb2IuaCIKLSNpbmNsdWRlICJCbG9iVVJMLmgiCiAjaW5jbHVkZSAi
Q29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRE9NVGltZXIuaCIKLSNpbmNsdWRl
ICJET01VUkwuaCIKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGFz
ay5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGhyZWFkLmgiCkBAIC00NCw3ICs0MSw2IEBACiAjaW5j
bHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgotI2luY2x1ZGUgIlRocmVhZGFibGVCbG9iUmVnaXN0cnkuaCIK
ICNpbmNsdWRlICJXb3JrZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAj
aW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTUyLDE0ICs0OCwxMCBAQAogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIAogI2lmIFVTRShKU0MpCisvLyBGSVhNRTogVGhpcyBpcyBhIGxheWVy
aW5nIHZpb2xhdGlvbi4KICNpbmNsdWRlICJKU0RPTVdpbmRvdy5oIgogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQotI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCi0jaW5jbHVkZSAi
TWVkaWFTdHJlYW1SZWdpc3RyeS5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgUHJvY2Vzc01lc3NhZ2VzU29vblRhc2sgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6VGFzayB7CkBAIC0xMjksMTggKzEyMSw2IEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
On5TY3JpcHRFeGVjdXRpb24KICAgICAgICAgbV9maWxlVGhyZWFkID0gMDsKICAgICB9CiAjZW5k
aWYKLQotI2lmIEVOQUJMRShCTE9CKQotICAgIEhhc2hTZXQ8U3RyaW5nPjo6aXRlcmF0b3IgcHVi
bGljQmxvYlVSTHNFbmQgPSBtX3B1YmxpY0Jsb2JVUkxzLmVuZCgpOwotICAgIGZvciAoSGFzaFNl
dDxTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gbV9wdWJsaWNCbG9iVVJMcy5iZWdpbigpOyBpdGVy
ICE9IHB1YmxpY0Jsb2JVUkxzRW5kOyArK2l0ZXIpCi0gICAgICAgIFRocmVhZGFibGVCbG9iUmVn
aXN0cnk6OnVucmVnaXN0ZXJCbG9iVVJMKEtVUkwoUGFyc2VkVVJMU3RyaW5nLCAqaXRlcikpOwot
I2VuZGlmCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIEhhc2hTZXQ8U3RyaW5nPjo6
aXRlcmF0b3IgcHVibGljU3RyZWFtVVJMc0VuZCA9IG1fcHVibGljU3RyZWFtVVJMcy5lbmQoKTsK
LSAgICBmb3IgKEhhc2hTZXQ8U3RyaW5nPjo6aXRlcmF0b3IgaXRlciA9IG1fcHVibGljU3RyZWFt
VVJMcy5iZWdpbigpOyBpdGVyICE9IHB1YmxpY1N0cmVhbVVSTHNFbmQ7ICsraXRlcikKLSAgICAg
ICAgTWVkaWFTdHJlYW1SZWdpc3RyeTo6cmVnaXN0cnkoKS51bnJlZ2lzdGVyTWVkaWFTdHJlYW1V
UkwoS1VSTChQYXJzZWRVUkxTdHJpbmcsICppdGVyKSk7Ci0jZW5kaWYKIH0KIAogI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCkBAIC0zODcsNTQgKzM2Nyw2IEBAIERPTVRpbWVyKiBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpmaW5kVGkKICAgICByZXR1cm4gbV90aW1lb3V0cy5nZXQodGltZW91dElk
KTsKIH0KIAotI2lmIEVOQUJMRShCTE9CKQotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLUtV
UkwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y3JlYXRlUHVibGljQmxvYlVSTChNZWRpYVN0cmVh
bSogc3RyZWFtKQotewotICAgIGlmICghc3RyZWFtKQotICAgICAgICByZXR1cm4gS1VSTCgpOwot
Ci0gICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVhdGVQdWJsaWNVUkwoc2VjdXJpdHlP
cmlnaW4oKSk7Ci0KLSAgICAvLyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBvYnRhaW4gU3RyZWFt
IG9iamVjdHMsIHdlIHNob3VsZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKLSAgICBNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpyZWdpc3RyeSgpLnJlZ2lz
dGVyTWVkaWFTdHJlYW1VUkwocHVibGljVVJMLCBzdHJlYW0pOwotICAgIG1fcHVibGljU3RyZWFt
VVJMcy5hZGQocHVibGljVVJMLnN0cmluZygpKTsKLSAgICByZXR1cm4gcHVibGljVVJMOwotfQot
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLUtVUkwgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6Y3JlYXRlUHVibGljQmxvYlVSTChCbG9iKiBibG9iKQotewotICAgIGlmICghYmxvYikK
LSAgICAgICAgcmV0dXJuIEtVUkwoKTsKLSAgICBLVVJMIHB1YmxpY1VSTCA9IEJsb2JVUkw6OmNy
ZWF0ZVB1YmxpY1VSTChzZWN1cml0eU9yaWdpbigpKTsKLSAgICBpZiAocHVibGljVVJMLmlzRW1w
dHkoKSkKLSAgICAgICAgcmV0dXJuIEtVUkwoKTsKLSAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5
OjpyZWdpc3RlckJsb2JVUkwocHVibGljVVJMLCBibG9iLT51cmwoKSk7Ci0gICAgbV9wdWJsaWNC
bG9iVVJMcy5hZGQocHVibGljVVJMLnN0cmluZygpKTsKLSAgICByZXR1cm4gcHVibGljVVJMOwot
fQotCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJldm9rZVB1YmxpY0Jsb2JVUkwoY29u
c3QgS1VSTCYgdXJsKQotewotICAgIGlmIChtX3B1YmxpY0Jsb2JVUkxzLmNvbnRhaW5zKHVybC5z
dHJpbmcoKSkpIHsKLSAgICAgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6dW5yZWdpc3RlckJs
b2JVUkwodXJsKTsKLSAgICAgICAgbV9wdWJsaWNCbG9iVVJMcy5yZW1vdmUodXJsLnN0cmluZygp
KTsKLSAgICB9Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBpZiAobV9wdWJsaWNTdHJl
YW1VUkxzLmNvbnRhaW5zKHVybC5zdHJpbmcoKSkpIHsKLSAgICAgICAgLy8gRklYTUU6IG1ha2Ug
c3VyZSBvZiB0aGlzIGFzc2VydGlvbiBiZWxvdy4gUmFpc2UgYSBzcGVjIHF1ZXN0aW9uIGlmIHJl
cXVpcmVkLgotICAgICAgICAvLyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBvYnRhaW4gU3RyZWFt
IG9iamVjdHMsIHdlIHNob3VsZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7Ci0gICAgICAgIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdHJ5
KCkudW5yZWdpc3Rlck1lZGlhU3RyZWFtVVJMKHVybCk7Ci0gICAgICAgIG1fcHVibGljU3RyZWFt
VVJMcy5yZW1vdmUodXJsLnN0cmluZygpKTsKLSAgICB9Ci0jZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NUUkVBTSkKLX0KLSNlbmRpZiAvLyBFTkFCTEUoQkxPQikKLQogI2lmIEVOQUJMRShCTE9CKSB8
fCBFTkFCTEUoRklMRV9TWVNURU0pCiBGaWxlVGhyZWFkKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OjpmaWxlVGhyZWFkKCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaAkocmV2aXNpb24gOTg3OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NywxMCArNDcsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEJsb2I7CiBjbGFzcyBDb250ZW50U2VjdXJp
dHlQb2xpY3k7CiBjbGFzcyBET01UaW1lcjsKLWNsYXNzIERPTVVSTDsKIGNsYXNzIEV2ZW50TGlz
dGVuZXI7CiBjbGFzcyBFdmVudFF1ZXVlOwogY2xhc3MgRXZlbnRUYXJnZXQ7CkBAIC02OCwxMCAr
NjYsNiBAQCBjbGFzcyBEYXRhYmFzZVRocmVhZDsKIGNsYXNzIEZpbGVUaHJlYWQ7CiAjZW5kaWYK
IAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi1jbGFzcyBNZWRpYVN0cmVhbTsKLSNlbmRpZgot
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHsKIHB1YmxpYzoKICAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KCk7CkBAIC0xNTMsMTQgKzE0Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
bW92ZVRpbWVvdXQoaW50IHRpbWVvdXRJZCk7CiAgICAgRE9NVGltZXIqIGZpbmRUaW1lb3V0KGlu
dCB0aW1lb3V0SWQpOwogCi0jaWYgRU5BQkxFKEJMT0IpCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKLSAgICBLVVJMIGNyZWF0ZVB1YmxpY0Jsb2JVUkwoTWVkaWFTdHJlYW0qKTsKLSNlbmRpZiAv
LyBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIEtVUkwgY3JlYXRlUHVibGljQmxvYlVSTChCbG9i
Kik7Ci0gICAgdm9pZCByZXZva2VQdWJsaWNCbG9iVVJMKGNvbnN0IEtVUkwmKTsKLSNlbmRpZiAv
LyBFTkFCTEUoQkxPQikKLQogI2lmIFVTRShKU0MpCiAgICAgSlNDOjpKU0dsb2JhbERhdGEqIGds
b2JhbERhdGEoKTsKICNlbmRpZgpAQCAtMjA2LDExICsxOTIsNiBAQCBwcml2YXRlOgogICAgIHR5
cGVkZWYgSGFzaE1hcDxpbnQsIERPTVRpbWVyKj4gVGltZW91dE1hcDsKICAgICBUaW1lb3V0TWFw
IG1fdGltZW91dHM7CiAKLSNpZiBFTkFCTEUoQkxPQikKLSAgICBIYXNoU2V0PFN0cmluZz4gbV9w
dWJsaWNCbG9iVVJMczsKLSAgICBIYXNoU2V0PFN0cmluZz4gbV9wdWJsaWNTdHJlYW1VUkxzOwot
I2VuZGlmCi0KICAgICB2aXJ0dWFsIHZvaWQgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgPSAwOwog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuaAkocmV2aXNpb24gOTg3OTkpCisr
KyBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
NDMsNiArNDMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEJsb2I7CiBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBGaWxlV3JpdGVyIDogcHVibGljIEZp
bGVXcml0ZXJCYXNlLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXQs
IHB1YmxpYyBBc3luY0ZpbGVXcml0ZXJDbGllbnQgewpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNw
cAkocmV2aXNpb24gOTg3OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDggKzI5LDE3IEBACiAKICNpbmNsdWRlICJET01VUkwuaCIKIAor
I2luY2x1ZGUgIkJsb2IuaCIKKyNpbmNsdWRlICJCbG9iVVJMLmgiCiAjaW5jbHVkZSAiS1VSTC5o
IgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJUaHJlYWRh
YmxlQmxvYlJlZ2lzdHJ5LmgiCisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlICJN
ZWRpYVN0cmVhbVJlZ2lzdHJ5LmgiCisjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC00MywyNyArNTIsNzcgQEAgRE9NVVJMOjp+RE9NVVJMKCkKIHsKIH0KIAordm9pZCBET01VUkw6
OmNvbnRleHREZXN0cm95ZWQoKQoreworICAgIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyOjpj
b250ZXh0RGVzdHJveWVkKCk7CisKKyAgICBIYXNoU2V0PFN0cmluZz46Oml0ZXJhdG9yIHB1Ymxp
Y0Jsb2JVUkxzRW5kID0gbV9wdWJsaWNCbG9iVVJMcy5lbmQoKTsKKyAgICBmb3IgKEhhc2hTZXQ8
U3RyaW5nPjo6aXRlcmF0b3IgaXRlciA9IG1fcHVibGljQmxvYlVSTHMuYmVnaW4oKTsgaXRlciAh
PSBwdWJsaWNCbG9iVVJMc0VuZDsgKytpdGVyKQorICAgICAgICBUaHJlYWRhYmxlQmxvYlJlZ2lz
dHJ5Ojp1bnJlZ2lzdGVyQmxvYlVSTChLVVJMKFBhcnNlZFVSTFN0cmluZywgKml0ZXIpKTsKKwor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgSGFzaFNldDxTdHJpbmc+OjppdGVyYXRvciBw
dWJsaWNTdHJlYW1VUkxzRW5kID0gbV9wdWJsaWNTdHJlYW1VUkxzLmVuZCgpOworICAgIGZvciAo
SGFzaFNldDxTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gbV9wdWJsaWNTdHJlYW1VUkxzLmJlZ2lu
KCk7IGl0ZXIgIT0gcHVibGljU3RyZWFtVVJMc0VuZDsgKytpdGVyKQorICAgICAgICBNZWRpYVN0
cmVhbVJlZ2lzdHJ5OjpyZWdpc3RyeSgpLnVucmVnaXN0ZXJNZWRpYVN0cmVhbVVSTChLVVJMKFBh
cnNlZFVSTFN0cmluZywgKml0ZXIpKTsKKyNlbmRpZgorfQorCiAjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKIFN0cmluZyBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChNZWRpYVN0cmVhbSogc3RyZWFt
KQogewotICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQorICAgIGlmICghbV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0IHx8ICFzdHJlYW0pCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
KworICAgIEtVUkwgcHVibGljVVJMID0gQmxvYlVSTDo6Y3JlYXRlUHVibGljVVJMKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7CisgICAgaWYgKHB1YmxpY1VSTC5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICByZXR1cm4gbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0LT5jcmVhdGVQdWJsaWNCbG9iVVJMKHN0cmVhbSkuc3RyaW5nKCk7CisK
KyAgICAvLyBTaW5jZSBXZWJXb3JrZXJzIGNhbm5vdCBvYnRhaW4gU3RyZWFtIG9iamVjdHMsIHdl
IHNob3VsZCBiZSBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKKworICAgIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnJlZ2lzdHJ5KCkucmVnaXN0ZXJNZWRpYVN0
cmVhbVVSTChwdWJsaWNVUkwsIHN0cmVhbSk7CisgICAgbV9wdWJsaWNTdHJlYW1VUkxzLmFkZChw
dWJsaWNVUkwuc3RyaW5nKCkpOworCisgICAgcmV0dXJuIHB1YmxpY1VSTC5zdHJpbmcoKTsKIH0K
ICNlbmRpZgogCiBTdHJpbmcgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoQmxvYiogYmxvYikKIHsK
LSAgICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKKyAgICBpZiAoIW1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCB8fCAhYmxvYikKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgIHJl
dHVybiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmNyZWF0ZVB1YmxpY0Jsb2JVUkwoYmxvYiku
c3RyaW5nKCk7CisKKyAgICBLVVJMIHB1YmxpY1VSTCA9IEJsb2JVUkw6OmNyZWF0ZVB1YmxpY1VS
TChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCkpOworICAgIGlmIChw
dWJsaWNVUkwuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICBUaHJl
YWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwocHVibGljVVJMLCBibG9iLT51cmwo
KSk7CisgICAgbV9wdWJsaWNCbG9iVVJMcy5hZGQocHVibGljVVJMLnN0cmluZygpKTsKKworICAg
IHJldHVybiBwdWJsaWNVUkwuc3RyaW5nKCk7CiB9CiAKIHZvaWQgRE9NVVJMOjpyZXZva2VPYmpl
Y3RVUkwoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCiB7CiAgICAgaWYgKCFtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQtPnJldm9rZVB1YmxpY0Jsb2JVUkwoS1VSTChLVVJMKCksIHVybFN0cmluZykpOworCisgICAg
S1VSTCB1cmwoS1VSTCgpLCB1cmxTdHJpbmcpOworCisgICAgaWYgKG1fcHVibGljQmxvYlVSTHMu
Y29udGFpbnModXJsLnN0cmluZygpKSkgeworICAgICAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5
Ojp1bnJlZ2lzdGVyQmxvYlVSTCh1cmwpOworICAgICAgICBtX3B1YmxpY0Jsb2JVUkxzLnJlbW92
ZSh1cmwuc3RyaW5nKCkpOworICAgIH0KKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAg
aWYgKG1fcHVibGljU3RyZWFtVVJMcy5jb250YWlucyh1cmwuc3RyaW5nKCkpKSB7CisgICAgICAg
IC8vIEZJWE1FOiBtYWtlIHN1cmUgb2YgdGhpcyBhc3NlcnRpb24gYmVsb3cuIFJhaXNlIGEgc3Bl
YyBxdWVzdGlvbiBpZiByZXF1aXJlZC4KKyAgICAgICAgLy8gU2luY2UgV2ViV29ya2VycyBjYW5u
b3Qgb2J0YWluIFN0cmVhbSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24gdGhlIG1haW4gdGhyZWFk
LgorICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgICAgICBNZWRpYVN0cmVhbVJl
Z2lzdHJ5OjpyZWdpc3RyeSgpLnVucmVnaXN0ZXJNZWRpYVN0cmVhbVVSTCh1cmwpOworICAgICAg
ICBtX3B1YmxpY1N0cmVhbVVSTHMucmVtb3ZlKHVybC5zdHJpbmcoKSk7CisgICAgfQorI2VuZGlm
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaAkocmV2
aXNpb24gOTg3OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBA
IC01Miw2ICs1MywxMyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgRE9NVVJM
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0RGVz
dHJveWVkKCk7CisKKyAgICBIYXNoU2V0PFN0cmluZz4gbV9wdWJsaWNCbG9iVVJMczsKKyNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQorICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3B1YmxpY1N0cmVhbVVS
THM7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>