<?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>109760</bug_id>
          
          <creation_ts>2013-02-13 15:45:36 -0800</creation_ts>
          <short_desc>HTMLTokenScanner should be (mostly!) thread-safe</short_desc>
          <delta_ts>2013-02-13 19:33:41 -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>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>
          
          <blocked>106127</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>832430</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-13 15:45:36 -0800</bug_when>
    <thetext>HTMLTokenScanner should be (mostly!) thread-safe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832436</commentid>
    <comment_count>1</comment_count>
      <attachid>188201</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-13 15:47:50 -0800</bug_when>
    <thetext>Created attachment 188201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832447</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-13 15:55:51 -0800</bug_when>
    <thetext>This patch will need to be re-based slightly since one of the early patches changed some of these names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832475</commentid>
    <comment_count>3</comment_count>
      <attachid>188201</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-13 16:14:32 -0800</bug_when>
    <thetext>Comment on attachment 188201
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832514</commentid>
    <comment_count>4</comment_count>
      <attachid>188201</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 16:40:41 -0800</bug_when>
    <thetext>Comment on attachment 188201
Patch

Rejecting attachment 188201 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;--bot-id=gce-cq-04&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 188201, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
eeded at 218 with fuzz 2 (offset -131 lines).
10 out of 11 hunks FAILED -- saving rejects to file Source/WebCore/html/parser/HTMLPreloadScanner.cpp.rej
patching file Source/WebCore/html/parser/HTMLPreloadScanner.h
Hunk #2 FAILED at 48.
1 out of 2 hunks FAILED -- saving rejects to file Source/WebCore/html/parser/HTMLPreloadScanner.h.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Eric Seidel&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/16530379</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832639</commentid>
    <comment_count>5</comment_count>
      <attachid>188246</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-13 18:22:27 -0800</bug_when>
    <thetext>Created attachment 188246
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832668</commentid>
    <comment_count>6</comment_count>
      <attachid>188246</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 19:33:38 -0800</bug_when>
    <thetext>Comment on attachment 188246
Patch for landing

Clearing flags on attachment: 188246

Committed r142843: &lt;http://trac.webkit.org/changeset/142843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832669</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 19:33:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188201</attachid>
            <date>2013-02-13 15:47:50 -0800</date>
            <delta_ts>2013-02-13 18:22:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109760-20130213154418.patch</filename>
            <type>text/plain</type>
            <size>9526</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTVkYzA0NDRkNjE2OTJh
NzQxMWZlZDk0MDg1NTE5ZTc1ZTFmYzQ4Yi4uMGNkYjNkY2VmZGVhNzE4ZjIxMGZiNWE0MmVkNjhm
YjI1OWRmNWE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDEzLTAyLTEzICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgSFRNTFRva2VuU2Nhbm5lciBz
aG91bGQgYmUgKG1vc3RseSEpIHRocmVhZC1zYWZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk3NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBidWxrIG9mIEhUTUxU
b2tlblNjYW5uZXIgdGhyZWFkLXNhZmUuICBUaGUgb25lCisgICAgICAgIHJlbWFpbmluZyB3YXJ0
IGlzIHByb2Nlc3NQb3NzaWJsZUJhc2VUYWcgYmVjYXVzZSBpdCB3YW50cyB0byBncnViCisgICAg
ICAgIGFyb3VuZCBpbiB0aGUgYmFzZSB0YWcncyBhdHRyaWJ1dGVzLiBJIGhhdmUgYSBwbGFuIGZv
ciB0aGF0LCBidXQgaXQncworICAgICAgICBnb2luZyB0byBuZWVkIHRvIHdhaXQgZm9yIHRoZSBu
ZXh0IHBhdGNoLgorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmlzU3RhcnRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6aXNT
dGFydE9yRW5kVGFnKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlblNjYW5uZXI6OmlkZW50
aWZpZXJGb3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRva2VuU2Nhbm5lcjo6aW5pdGl0YXRv
ckZvcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5TY2FubmVyOjpTdGFydFRhZ1NjYW5u
ZXI6OlN0YXJ0VGFnU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5TY2FubmVy
OjpTdGFydFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGVzKToKKyAgICAgICAgKEhUTUxUb2tl
blNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5T
Y2FubmVyOjpwcm9jZXNzUG9zc2libGVUZW1wbGF0ZVRhZyk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVG9rZW5TY2FubmVyOjpwcm9jZXNzUG9zc2libGVTdHlsZVRhZyk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MVG9rZW5TY2FubmVyOjpwcm9jZXNzUG9zc2libGVCYXNlVGFnKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxUb2tlblNjYW5uZXI6OnNjYW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFByZWxvYWRTY2FubmVyOjpzY2FuKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorCisyMDEzLTAyLTEzICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKICAgICAgICAgRmFjdG9yIEhUTUxUb2tlblNjYW5uZXIg
b3V0IG9mIEhUTUxQcmVsb2FkU2Nhbm5lcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NzU0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCmluZGV4IDkwODBjZTBiNjY1MDU1ZTRkZDQzYzdi
ZWY3NDAwODc4ZjE4ZWJhZTguLjRhMGJjM2VkMTAxOTliODkwNDA5MzBkOGIzZWYzZmMzODQzNWRi
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2Fu
bmVyLmNwcApAQCAtNDMsMjUgKzQzLDE3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKIAotc3RhdGljIGJvb2wgaXNTdGFydFRhZyhjb25zdCBIVE1M
VG9rZW4mIHRva2VuKQorc3RhdGljIGJvb2wgaXNTdGFydFRhZyhIVE1MVG9rZW46OlR5cGUgdHlw
ZSkKIHsKLSAgICByZXR1cm4gdG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6U3RhcnRUYWc7Cisg
ICAgcmV0dXJuIHR5cGUgPT0gSFRNTFRva2VuOjpTdGFydFRhZzsKIH0KIAotc3RhdGljIGJvb2wg
aXNTdGFydE9yRW5kVGFnKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCitzdGF0aWMgYm9vbCBpc1N0
YXJ0T3JFbmRUYWcoSFRNTFRva2VuOjpUeXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIHRva2VuLnR5
cGUoKSA9PSBIVE1MVG9rZW46OkVuZFRhZyB8fCBpc1N0YXJ0VGFnKHRva2VuKTsKKyAgICByZXR1
cm4gdHlwZSA9PSBIVE1MVG9rZW46OkVuZFRhZyB8fCBpc1N0YXJ0VGFnKHR5cGUpOwogfQogCi1l
bnVtIEhUTUxUYWdJZGVudGlmaWVyIHsKLSAgICBJbWdUYWdJZCwKLSAgICBJbnB1dFRhZ0lkLAot
ICAgIExpbmtUYWdJZCwKLSAgICBTY3JpcHRUYWdJZCwKLSAgICBVbmtub3duVGFnSWQsCi19Owot
Ci1zdGF0aWMgSFRNTFRhZ0lkZW50aWZpZXIgaWRlbnRpZmllckZvcihjb25zdCBBdG9taWNTdHJp
bmcmIHRhZ05hbWUpCitIVE1MVG9rZW5TY2FubmVyOjpUYWdJZCBIVE1MVG9rZW5TY2FubmVyOjpp
ZGVudGlmaWVyRm9yKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKIHsKICAgICBpZiAodGFn
TmFtZSA9PSBpbWdUYWcpCiAgICAgICAgIHJldHVybiBJbWdUYWdJZDsKQEAgLTcxLDEwICs2Mywx
NiBAQCBzdGF0aWMgSFRNTFRhZ0lkZW50aWZpZXIgaWRlbnRpZmllckZvcihjb25zdCBBdG9taWNT
dHJpbmcmIHRhZ05hbWUpCiAgICAgICAgIHJldHVybiBMaW5rVGFnSWQ7CiAgICAgaWYgKHRhZ05h
bWUgPT0gc2NyaXB0VGFnKQogICAgICAgICByZXR1cm4gU2NyaXB0VGFnSWQ7CisgICAgaWYgKHRh
Z05hbWUgPT0gc3R5bGVUYWcpCisgICAgICAgIHJldHVybiBTdHlsZVRhZ0lkOworICAgIGlmICh0
YWdOYW1lID09IGJhc2VUYWcpCisgICAgICAgIHJldHVybiBCYXNlVGFnSWQ7CisgICAgaWYgKHRh
Z05hbWUgPT0gdGVtcGxhdGVUYWcpCisgICAgICAgIHJldHVybiBUZW1wbGF0ZVRhZ0lkOwogICAg
IHJldHVybiBVbmtub3duVGFnSWQ7CiB9CiAKLXN0YXRpYyBTdHJpbmcgaW5pdGl0YXRvckZvcihI
VE1MVGFnSWRlbnRpZmllciB0YWdJZCkKK1N0cmluZyBIVE1MVG9rZW5TY2FubmVyOjppbml0aXRh
dG9yRm9yKFRhZ0lkIHRhZ0lkKQogewogICAgIHN3aXRjaCAodGFnSWQpIHsKICAgICBjYXNlIElt
Z1RhZ0lkOgpAQCAtODYsNiArODQsOSBAQCBzdGF0aWMgU3RyaW5nIGluaXRpdGF0b3JGb3IoSFRN
TFRhZ0lkZW50aWZpZXIgdGFnSWQpCiAgICAgY2FzZSBTY3JpcHRUYWdJZDoKICAgICAgICAgcmV0
dXJuICJzY3JpcHQiOwogICAgIGNhc2UgVW5rbm93blRhZ0lkOgorICAgIGNhc2UgU3R5bGVUYWdJ
ZDoKKyAgICBjYXNlIEJhc2VUYWdJZDoKKyAgICBjYXNlIFRlbXBsYXRlVGFnSWQ6CiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gInVua25vd24iOwogICAgIH0K
QEAgLTkzLDkgKzk0LDkgQEAgc3RhdGljIFN0cmluZyBpbml0aXRhdG9yRm9yKEhUTUxUYWdJZGVu
dGlmaWVyIHRhZ0lkKQogICAgIHJldHVybiAidW5rbm93biI7CiB9CiAKLWNsYXNzIFN0YXJ0VGFn
U2Nhbm5lciB7CitjbGFzcyBIVE1MVG9rZW5TY2FubmVyOjpTdGFydFRhZ1NjYW5uZXIgewogcHVi
bGljOgotICAgIGV4cGxpY2l0IFN0YXJ0VGFnU2Nhbm5lcihIVE1MVGFnSWRlbnRpZmllciB0YWdJ
ZCkKKyAgICBleHBsaWNpdCBTdGFydFRhZ1NjYW5uZXIoVGFnSWQgdGFnSWQpCiAgICAgICAgIDog
bV90YWdJZCh0YWdJZCkKICAgICAgICAgLCBtX2xpbmtJc1N0eWxlU2hlZXQoZmFsc2UpCiAgICAg
ICAgICwgbV9saW5rTWVkaWFBdHRyaWJ1dGVJc1NjcmVlbih0cnVlKQpAQCAtMTA1LDcgKzEwNiw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcHJvY2Vzc0F0dHJpYnV0ZXMoY29uc3QgSFRNTFRva2Vu
OjpBdHRyaWJ1dGVMaXN0JiBhdHRyaWJ1dGVzKQogICAgIHsKLSAgICAgICAgaWYgKG1fdGFnSWQg
PT0gVW5rbm93blRhZ0lkKQorICAgICAgICBpZiAobV90YWdJZCA+PSBVbmtub3duVGFnSWQpCiAg
ICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgZm9yIChIVE1MVG9rZW46OkF0dHJpYnV0ZUxp
c3Q6OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBhdHRyaWJ1dGVzLmJlZ2luKCk7IGl0ZXIgIT0gYXR0
cmlidXRlcy5lbmQoKTsgKytpdGVyKSB7CkBAIC0yMTksNyArMjIwLDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuIG1fY3Jvc3NPcmlnaW5Nb2RlLmlzTnVsbCgpIHx8IGVxdWFsSWdub3JpbmdD
YXNlKG1fY3Jvc3NPcmlnaW5Nb2RlLCAidXNlLWNyZWRlbnRpYWxzIik7CiAgICAgfQogCi0gICAg
SFRNTFRhZ0lkZW50aWZpZXIgbV90YWdJZDsKKyAgICBUYWdJZCBtX3RhZ0lkOwogICAgIFN0cmlu
ZyBtX3VybFRvTG9hZDsKICAgICBTdHJpbmcgbV9jaGFyc2V0OwogICAgIFN0cmluZyBtX2Nyb3Nz
T3JpZ2luTW9kZTsKQEAgLTI0MiwxMCArMjQzLDEwIEBAIEhUTUxUb2tlblNjYW5uZXI6On5IVE1M
VG9rZW5TY2FubmVyKCkKIH0KIAogI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotYm9vbCBI
VE1MVG9rZW5TY2FubmVyOjpwcm9jZXNzUG9zc2libGVUZW1wbGF0ZVRhZyhjb25zdCBBdG9taWNT
dHJpbmcmIHRhZ05hbWUsIGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCitib29sIEhUTUxUb2tlblNj
YW5uZXI6OnByb2Nlc3NQb3NzaWJsZVRlbXBsYXRlVGFnKFRhZ0lkIHRhZ0lkLCBIVE1MVG9rZW46
OlR5cGUgdHlwZSkKIHsKLSAgICBpZiAoaXNTdGFydE9yRW5kVGFnKHRva2VuKSAmJiB0YWdOYW1l
ID09IHRlbXBsYXRlVGFnKSB7Ci0gICAgICAgIGlmIChpc1N0YXJ0VGFnKHRva2VuKSkKKyAgICBp
ZiAoaXNTdGFydE9yRW5kVGFnKHR5cGUpICYmIHRhZ0lkID09IFRlbXBsYXRlVGFnSWQpIHsKKyAg
ICAgICAgaWYgKGlzU3RhcnRUYWcodHlwZSkpCiAgICAgICAgICAgICBtX3RlbXBsYXRlQ291bnQr
KzsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV90ZW1wbGF0ZUNvdW50LS07CkBAIC0yNTYs
MTMgKzI1NywxMyBAQCBib29sIEhUTUxUb2tlblNjYW5uZXI6OnByb2Nlc3NQb3NzaWJsZVRlbXBs
YXRlVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgYwogfQogI2VuZGlmCiAKLWJvb2wg
SFRNTFRva2VuU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmxlU3R5bGVUYWcoY29uc3QgQXRvbWljU3Ry
aW5nJiB0YWdOYW1lLCBjb25zdCBIVE1MVG9rZW4mIHRva2VuKQorYm9vbCBIVE1MVG9rZW5TY2Fu
bmVyOjpwcm9jZXNzUG9zc2libGVTdHlsZVRhZyhUYWdJZCB0YWdJZCwgSFRNTFRva2VuOjpUeXBl
IHR5cGUpCiB7Ci0gICAgQVNTRVJUKGlzU3RhcnRPckVuZFRhZyh0b2tlbikpOwotICAgIGlmICh0
YWdOYW1lICE9IHN0eWxlVGFnKQorICAgIEFTU0VSVChpc1N0YXJ0T3JFbmRUYWcodHlwZSkpOwor
ICAgIGlmICh0YWdJZCAhPSBTdHlsZVRhZ0lkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBtX2luU3R5bGUgPSBpc1N0YXJ0VGFnKHRva2VuKTsKKyAgICBtX2luU3R5bGUgPSBpc1N0YXJ0
VGFnKHR5cGUpOwogCiAgICAgaWYgKCFtX2luU3R5bGUpCiAgICAgICAgIG1fY3NzU2Nhbm5lci5y
ZXNldCgpOwpAQCAtMjcwLDEwICsyNzEsMTAgQEAgYm9vbCBIVE1MVG9rZW5TY2FubmVyOjpwcm9j
ZXNzUG9zc2libGVTdHlsZVRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUsIGNvbnMKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBIVE1MVG9rZW5TY2FubmVyOjpwcm9jZXNzUG9zc2li
bGVCYXNlVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRNTFRva2VuJiB0
b2tlbikKK2Jvb2wgSFRNTFRva2VuU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmxlQmFzZVRhZyhUYWdJ
ZCB0YWdJZCwgY29uc3QgSFRNTFRva2VuJiB0b2tlbikKIHsKLSAgICBBU1NFUlQoaXNTdGFydFRh
Zyh0b2tlbikpOwotICAgIGlmICh0YWdOYW1lICE9IGJhc2VUYWcpCisgICAgQVNTRVJUKGlzU3Rh
cnRUYWcodG9rZW4udHlwZSgpKSk7CisgICAgaWYgKHRhZ0lkICE9IEJhc2VUYWdJZCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gVGhlIGZpcnN0IDxiYXNlPiBlbGVtZW50IGlzIHRo
ZSBvbmUgdGhhdCB3aW5zLgpAQCAtMzAxLDIyICszMDIsMjQgQEAgdm9pZCBIVE1MVG9rZW5TY2Fu
bmVyOjpzY2FuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4sIFZlY3RvcjxPd25QdHI8UHJlbG9hZFJl
cXVlc3QKICAgICAgICAgcmV0dXJuIG1fY3NzU2Nhbm5lci5zY2FuKGNoYXJhY3RlcnMuYmVnaW4o
KSwgY2hhcmFjdGVycy5lbmQoKSwgcmVxdWVzdHMpOwogICAgIH0KIAotICAgIGlmICghaXNTdGFy
dE9yRW5kVGFnKHRva2VuKSkKKyAgICBpZiAoIWlzU3RhcnRPckVuZFRhZyh0b2tlbi50eXBlKCkp
KQogICAgICAgICByZXR1cm47CiAKICAgICBBdG9taWNTdHJpbmcgdGFnTmFtZSh0b2tlbi5uYW1l
KCkpOworICAgIFRhZ0lkIHRhZ0lkID0gaWRlbnRpZmllckZvcih0YWdOYW1lKTsKKwogI2lmIEVO
QUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgIGlmIChwcm9jZXNzUG9zc2libGVUZW1wbGF0ZVRh
Zyh0YWdOYW1lLCB0b2tlbikpCisgICAgaWYgKHByb2Nlc3NQb3NzaWJsZVRlbXBsYXRlVGFnKHRh
Z0lkLCB0b2tlbi50eXBlKCkpKQogICAgICAgICByZXR1cm47CiAjZW5kaWYKLSAgICBpZiAocHJv
Y2Vzc1Bvc3NpYmxlU3R5bGVUYWcodGFnTmFtZSwgdG9rZW4pKQorICAgIGlmIChwcm9jZXNzUG9z
c2libGVTdHlsZVRhZyh0YWdJZCwgdG9rZW4udHlwZSgpKSkKICAgICAgICAgcmV0dXJuOwotICAg
IGlmICghaXNTdGFydFRhZyh0b2tlbikpCisgICAgaWYgKCFpc1N0YXJ0VGFnKHRva2VuLnR5cGUo
KSkpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAocHJvY2Vzc1Bvc3NpYmxlQmFzZVRhZyh0YWdO
YW1lLCB0b2tlbikpCisgICAgaWYgKHByb2Nlc3NQb3NzaWJsZUJhc2VUYWcodGFnSWQsIHRva2Vu
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgU3RhcnRUYWdTY2FubmVyIHNjYW5uZXIoaWRlbnRp
ZmllckZvcih0YWdOYW1lKSk7CisgICAgU3RhcnRUYWdTY2FubmVyIHNjYW5uZXIodGFnSWQpOwog
ICAgIHNjYW5uZXIucHJvY2Vzc0F0dHJpYnV0ZXModG9rZW4uYXR0cmlidXRlcygpKTsKICAgICBP
d25QdHI8UHJlbG9hZFJlcXVlc3Q+IHJlcXVlc3QgPSAgc2Nhbm5lci5jcmVhdGVQcmVsb2FkUmVx
dWVzdChtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMKTsKICAgICBpZiAocmVxdWVzdCkKQEAgLTM0
OSw3ICszNTIsNyBAQCB2b2lkIEhUTUxQcmVsb2FkU2Nhbm5lcjo6c2NhbihIVE1MUmVzb3VyY2VQ
cmVsb2FkZXIqIHByZWxvYWRlciwgY29uc3QgS1VSTCYgc3RhcgogICAgIC8vIE5vdGU6IG1fdG9r
ZW4gaXMgb25seSB1c2VkIGZyb20gdGhpcyBmdW5jdGlvbiBhbmQgZm9yIHRoZSBtYWluIHRocmVh
ZC4KICAgICAvLyBBbGwgb3RoZXIgZnVuY3Rpb25zIGFyZSBwYXNzZWQgYSB0b2tlbi4KICAgICB3
aGlsZSAobV90b2tlbml6ZXItPm5leHRUb2tlbihtX3NvdXJjZSwgbV90b2tlbikpIHsKLSAgICAg
ICAgaWYgKGlzU3RhcnRUYWcobV90b2tlbikpCisgICAgICAgIGlmIChpc1N0YXJ0VGFnKG1fdG9r
ZW4udHlwZSgpKSkKICAgICAgICAgICAgIG1fdG9rZW5pemVyLT51cGRhdGVTdGF0ZUZvcihBdG9t
aWNTdHJpbmcobV90b2tlbi5uYW1lKCkpKTsKICAgICAgICAgbV9zY2FubmVyLnNjYW4obV90b2tl
biwgcmVxdWVzdHMpOwogICAgICAgICBtX3Rva2VuLmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCmluZGV4IDJjMzE2YWU3MmE2MWUw
NGY3MmJiMjA5Yjk1NDFhMDE2YzQ4MWM5YjUuLjZlOGU5OGM4OTI1ODgxZDRiZTViYzJkNGU0NDZh
ZThjYTU2N2U3OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
cmVsb2FkU2Nhbm5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVs
b2FkU2Nhbm5lci5oCkBAIC0zNCw3ICszNCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEhUTUxQYXJzZXJPcHRpb25zOwotY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2Vu
aXplcjsKIGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIApAQCAtNDksMTQgKzQ4LDMxIEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFByZWRpY3RlZEJhc2VFbGVtZW50VVJMKGNvbnN0IEtVUkwmIHVybCkg
eyBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMID0gdXJsOyB9CiAKIHByaXZhdGU6Ci0gICAgYm9v
bCBwcm9jZXNzU3R5bGVDaGFyYWN0ZXJzKGNvbnN0IEhUTUxUb2tlbiYpOworICAgIGVudW0gVGFn
SWQgeworICAgICAgICAvLyBUaGVzZSB0YWdzIGFyZSBzY2FubmVkIGJ5IHRoZSBTdGFydFRhZ1Nj
YW5uZXIuCisgICAgICAgIEltZ1RhZ0lkLAorICAgICAgICBJbnB1dFRhZ0lkLAorICAgICAgICBM
aW5rVGFnSWQsCisgICAgICAgIFNjcmlwdFRhZ0lkLAorCisgICAgICAgIC8vIFRoZXNlIHRhZ3Mg
YXJlIG5vdCBzY2FubmVkIGJ5IHRoZSBTdGFydFRhZ1NjYW5uZXIuCisgICAgICAgIFVua25vd25U
YWdJZCwKKyAgICAgICAgU3R5bGVUYWdJZCwKKyAgICAgICAgQmFzZVRhZ0lkLAorICAgICAgICBU
ZW1wbGF0ZVRhZ0lkLAorICAgIH07CisKKyAgICBjbGFzcyBTdGFydFRhZ1NjYW5uZXI7CisKKyAg
ICBzdGF0aWMgVGFnSWQgaWRlbnRpZmllckZvcihjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUp
OworICAgIHN0YXRpYyBTdHJpbmcgaW5pdGl0YXRvckZvcihUYWdJZCk7CiAKICNpZiBFTkFCTEUo
VEVNUExBVEVfRUxFTUVOVCkKLSAgICBib29sIHByb2Nlc3NQb3NzaWJsZVRlbXBsYXRlVGFnKGNv
bnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRNTFRva2VuJik7CisgICAgYm9vbCBw
cm9jZXNzUG9zc2libGVUZW1wbGF0ZVRhZyhUYWdJZCwgSFRNTFRva2VuOjpUeXBlKTsKICNlbmRp
ZgogCi0gICAgYm9vbCBwcm9jZXNzUG9zc2libGVTdHlsZVRhZyhjb25zdCBBdG9taWNTdHJpbmcm
IHRhZ05hbWUsIGNvbnN0IEhUTUxUb2tlbiYpOwotICAgIGJvb2wgcHJvY2Vzc1Bvc3NpYmxlQmFz
ZVRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUsIGNvbnN0IEhUTUxUb2tlbiYpOworICAg
IGJvb2wgcHJvY2Vzc1Bvc3NpYmxlU3R5bGVUYWcoVGFnSWQsIEhUTUxUb2tlbjo6VHlwZSk7Cisg
ICAgYm9vbCBwcm9jZXNzUG9zc2libGVCYXNlVGFnKFRhZ0lkLCBjb25zdCBIVE1MVG9rZW4mKTsK
IAogICAgIENTU1ByZWxvYWRTY2FubmVyIG1fY3NzU2Nhbm5lcjsKICAgICBLVVJMIG1fZG9jdW1l
bnRVUkw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188246</attachid>
            <date>2013-02-13 18:22:27 -0800</date>
            <delta_ts>2013-02-13 19:33:38 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-109760-20130213181855.patch</filename>
            <type>text/plain</type>
            <size>9019</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0Mjg0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAyLTEzICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVG9rZW5QcmVsb2FkU2Nhbm5lciBz
aG91bGQgYmUgKG1vc3RseSEpIHRocmVhZC1zYWZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk3NjAKKworICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IFNlaWRlbC4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBidWxrIG9mIFRva2VuUHJl
bG9hZFNjYW5uZXIgdGhyZWFkLXNhZmUuICBUaGUgb25lCisgICAgICAgIHJlbWFpbmluZyB3YXJ0
IGlzIHByb2Nlc3NQb3NzaWJsZUJhc2VUYWcgYmVjYXVzZSBpdCB3YW50cyB0byBncnViCisgICAg
ICAgIGFyb3VuZCBpbiB0aGUgYmFzZSB0YWcncyBhdHRyaWJ1dGVzLiBJIGhhdmUgYSBwbGFuIGZv
ciB0aGF0LCBidXQgaXQncworICAgICAgICBnb2luZyB0byBuZWVkIHRvIHdhaXQgZm9yIHRoZSBu
ZXh0IHBhdGNoLgorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmlzU3RhcnRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6aXNT
dGFydE9yRW5kVGFnKToKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6Omlk
ZW50aWZpZXJGb3IpOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6aW5p
dGl0YXRvckZvcik6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpTdGFy
dFRhZ1NjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblBy
ZWxvYWRTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXI6OnByb2Nlc3NBdHRyaWJ1dGVzKToKKyAgICAg
ICAgKFRva2VuUHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcik6CisgICAgICAgIChXZWJD
b3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpwcm9jZXNzUG9zc2libGVUZW1wbGF0ZVRhZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpwcm9jZXNzUG9zc2libGVTdHls
ZVRhZyk6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpwcm9jZXNzUG9z
c2libGVCYXNlVGFnKToKKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OnNj
YW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByZWxvYWRTY2FubmVyOjpzY2FuKToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorCiAyMDEzLTAyLTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgU3RhcnRUYWdTY2FubmVyIHNob3VsZCBiZSB0aHJlYWQtc2FmZQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCShyZXZpc2lv
biAxNDI4NDApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MywyNSArNDMsMTcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgYm9vbCBpc1N0YXJ0
VGFnKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCitzdGF0aWMgYm9vbCBpc1N0YXJ0VGFnKEhUTUxU
b2tlbjo6VHlwZSB0eXBlKQogewotICAgIHJldHVybiB0b2tlbi50eXBlKCkgPT0gSFRNTFRva2Vu
OjpTdGFydFRhZzsKKyAgICByZXR1cm4gdHlwZSA9PSBIVE1MVG9rZW46OlN0YXJ0VGFnOwogfQog
Ci1zdGF0aWMgYm9vbCBpc1N0YXJ0T3JFbmRUYWcoY29uc3QgSFRNTFRva2VuJiB0b2tlbikKK3N0
YXRpYyBib29sIGlzU3RhcnRPckVuZFRhZyhIVE1MVG9rZW46OlR5cGUgdHlwZSkKIHsKLSAgICBy
ZXR1cm4gdG9rZW4udHlwZSgpID09IEhUTUxUb2tlbjo6RW5kVGFnIHx8IGlzU3RhcnRUYWcodG9r
ZW4pOworICAgIHJldHVybiB0eXBlID09IEhUTUxUb2tlbjo6RW5kVGFnIHx8IGlzU3RhcnRUYWco
dHlwZSk7CiB9CiAKLWVudW0gSFRNTFRhZ0lkZW50aWZpZXIgewotICAgIEltZ1RhZ0lkLAotICAg
IElucHV0VGFnSWQsCi0gICAgTGlua1RhZ0lkLAotICAgIFNjcmlwdFRhZ0lkLAotICAgIFVua25v
d25UYWdJZCwKLX07Ci0KLXN0YXRpYyBIVE1MVGFnSWRlbnRpZmllciBpZGVudGlmaWVyRm9yKGNv
bnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKK1Rva2VuUHJlbG9hZFNjYW5uZXI6OlRhZ0lkIFRv
a2VuUHJlbG9hZFNjYW5uZXI6OmlkZW50aWZpZXJGb3IoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdO
YW1lKQogewogICAgIGlmICh0YWdOYW1lID09IGltZ1RhZykKICAgICAgICAgcmV0dXJuIEltZ1Rh
Z0lkOwpAQCAtNzEsMTAgKzYzLDE2IEBAIHN0YXRpYyBIVE1MVGFnSWRlbnRpZmllciBpZGVudGlm
aWVyRm9yKGMKICAgICAgICAgcmV0dXJuIExpbmtUYWdJZDsKICAgICBpZiAodGFnTmFtZSA9PSBz
Y3JpcHRUYWcpCiAgICAgICAgIHJldHVybiBTY3JpcHRUYWdJZDsKKyAgICBpZiAodGFnTmFtZSA9
PSBzdHlsZVRhZykKKyAgICAgICAgcmV0dXJuIFN0eWxlVGFnSWQ7CisgICAgaWYgKHRhZ05hbWUg
PT0gYmFzZVRhZykKKyAgICAgICAgcmV0dXJuIEJhc2VUYWdJZDsKKyAgICBpZiAodGFnTmFtZSA9
PSB0ZW1wbGF0ZVRhZykKKyAgICAgICAgcmV0dXJuIFRlbXBsYXRlVGFnSWQ7CiAgICAgcmV0dXJu
IFVua25vd25UYWdJZDsKIH0KIAotc3RhdGljIFN0cmluZyBpbml0aXRhdG9yRm9yKEhUTUxUYWdJ
ZGVudGlmaWVyIHRhZ0lkKQorU3RyaW5nIFRva2VuUHJlbG9hZFNjYW5uZXI6OmluaXRpdGF0b3JG
b3IoVGFnSWQgdGFnSWQpCiB7CiAgICAgc3dpdGNoICh0YWdJZCkgewogICAgIGNhc2UgSW1nVGFn
SWQ6CkBAIC04Niw2ICs4NCw5IEBAIHN0YXRpYyBTdHJpbmcgaW5pdGl0YXRvckZvcihIVE1MVGFn
SWRlbnQKICAgICBjYXNlIFNjcmlwdFRhZ0lkOgogICAgICAgICByZXR1cm4gInNjcmlwdCI7CiAg
ICAgY2FzZSBVbmtub3duVGFnSWQ6CisgICAgY2FzZSBTdHlsZVRhZ0lkOgorICAgIGNhc2UgQmFz
ZVRhZ0lkOgorICAgIGNhc2UgVGVtcGxhdGVUYWdJZDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIHJldHVybiAidW5rbm93biI7CiAgICAgfQpAQCAtOTMsOSArOTQsOSBA
QCBzdGF0aWMgU3RyaW5nIGluaXRpdGF0b3JGb3IoSFRNTFRhZ0lkZW50CiAgICAgcmV0dXJuICJ1
bmtub3duIjsKIH0KIAotY2xhc3MgU3RhcnRUYWdTY2FubmVyIHsKK2NsYXNzIFRva2VuUHJlbG9h
ZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgU3RhcnRU
YWdTY2FubmVyKEhUTUxUYWdJZGVudGlmaWVyIHRhZ0lkKQorICAgIGV4cGxpY2l0IFN0YXJ0VGFn
U2Nhbm5lcihUYWdJZCB0YWdJZCkKICAgICAgICAgOiBtX3RhZ0lkKHRhZ0lkKQogICAgICAgICAs
IG1fbGlua0lzU3R5bGVTaGVldChmYWxzZSkKICAgICAgICAgLCBtX2xpbmtNZWRpYUF0dHJpYnV0
ZUlzU2NyZWVuKHRydWUpCkBAIC0xMDcsNyArMTA4LDcgQEAgcHVibGljOgogICAgIHsKICAgICAg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgICAgICBpZiAobV90YWdJZCA9PSBVbmtu
b3duVGFnSWQpCisgICAgICAgIGlmIChtX3RhZ0lkID49IFVua25vd25UYWdJZCkKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICBmb3IgKEhUTUxUb2tlbjo6QXR0cmlidXRlTGlzdDo6Y29u
c3RfaXRlcmF0b3IgaXRlciA9IGF0dHJpYnV0ZXMuYmVnaW4oKTsgaXRlciAhPSBhdHRyaWJ1dGVz
LmVuZCgpOyArK2l0ZXIpIHsKQEAgLTIyMSw3ICsyMjIsNyBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gbV9jcm9zc09yaWdpbk1vZGUuaXNOdWxsKCkgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobV9j
cm9zc09yaWdpbk1vZGUsICJ1c2UtY3JlZGVudGlhbHMiKTsKICAgICB9CiAKLSAgICBIVE1MVGFn
SWRlbnRpZmllciBtX3RhZ0lkOworICAgIFRhZ0lkIG1fdGFnSWQ7CiAgICAgU3RyaW5nIG1fdXJs
VG9Mb2FkOwogICAgIFN0cmluZyBtX2NoYXJzZXQ7CiAgICAgU3RyaW5nIG1fY3Jvc3NPcmlnaW5N
b2RlOwpAQCAtMjQ0LDEwICsyNDUsMTAgQEAgVG9rZW5QcmVsb2FkU2Nhbm5lcjo6flRva2VuUHJl
bG9hZFNjYW5uZQogfQogCiAjaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCi1ib29sIFRva2Vu
UHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NQb3NzaWJsZVRlbXBsYXRlVGFnKGNvbnN0IEF0b21pY1N0
cmluZyYgdGFnTmFtZSwgY29uc3QgSFRNTFRva2VuJiB0b2tlbikKK2Jvb2wgVG9rZW5QcmVsb2Fk
U2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmxlVGVtcGxhdGVUYWcoVGFnSWQgdGFnSWQsIEhUTUxUb2tl
bjo6VHlwZSB0eXBlKQogewotICAgIGlmIChpc1N0YXJ0T3JFbmRUYWcodG9rZW4pICYmIHRhZ05h
bWUgPT0gdGVtcGxhdGVUYWcpIHsKLSAgICAgICAgaWYgKGlzU3RhcnRUYWcodG9rZW4pKQorICAg
IGlmIChpc1N0YXJ0T3JFbmRUYWcodHlwZSkgJiYgdGFnSWQgPT0gVGVtcGxhdGVUYWdJZCkgewor
ICAgICAgICBpZiAoaXNTdGFydFRhZyh0eXBlKSkKICAgICAgICAgICAgIG1fdGVtcGxhdGVDb3Vu
dCsrOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3RlbXBsYXRlQ291bnQtLTsKQEAgLTI1
OCwxMyArMjU5LDEzIEBAIGJvb2wgVG9rZW5QcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmwK
IH0KICNlbmRpZgogCi1ib29sIFRva2VuUHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NQb3NzaWJsZVN0
eWxlVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRNTFRva2VuJiB0b2tl
bikKK2Jvb2wgVG9rZW5QcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmxlU3R5bGVUYWcoVGFn
SWQgdGFnSWQsIEhUTUxUb2tlbjo6VHlwZSB0eXBlKQogewotICAgIEFTU0VSVChpc1N0YXJ0T3JF
bmRUYWcodG9rZW4pKTsKLSAgICBpZiAodGFnTmFtZSAhPSBzdHlsZVRhZykKKyAgICBBU1NFUlQo
aXNTdGFydE9yRW5kVGFnKHR5cGUpKTsKKyAgICBpZiAodGFnSWQgIT0gU3R5bGVUYWdJZCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV9pblN0eWxlID0gaXNTdGFydFRhZyh0b2tlbik7
CisgICAgbV9pblN0eWxlID0gaXNTdGFydFRhZyh0eXBlKTsKIAogICAgIGlmICghbV9pblN0eWxl
KQogICAgICAgICBtX2Nzc1NjYW5uZXIucmVzZXQoKTsKQEAgLTI3MiwxMCArMjczLDEwIEBAIGJv
b2wgVG9rZW5QcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmwKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotYm9vbCBUb2tlblByZWxvYWRTY2FubmVyOjpwcm9jZXNzUG9zc2libGVCYXNlVGFnKGNv
bnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRNTFRva2VuJiB0b2tlbikKK2Jvb2wg
VG9rZW5QcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmxlQmFzZVRhZyhUYWdJZCB0YWdJZCwg
Y29uc3QgSFRNTFRva2VuJiB0b2tlbikKIHsKLSAgICBBU1NFUlQoaXNTdGFydFRhZyh0b2tlbikp
OwotICAgIGlmICh0YWdOYW1lICE9IGJhc2VUYWcpCisgICAgQVNTRVJUKGlzU3RhcnRUYWcodG9r
ZW4udHlwZSgpKSk7CisgICAgaWYgKHRhZ0lkICE9IEJhc2VUYWdJZCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgLy8gVGhlIGZpcnN0IDxiYXNlPiBlbGVtZW50IGlzIHRoZSBvbmUgdGhh
dCB3aW5zLgpAQCAtMzAzLDIyICszMDQsMjQgQEAgdm9pZCBUb2tlblByZWxvYWRTY2FubmVyOjpz
Y2FuKGNvbnN0IEhUTQogICAgICAgICByZXR1cm4gbV9jc3NTY2FubmVyLnNjYW4oY2hhcmFjdGVy
cy5iZWdpbigpLCBjaGFyYWN0ZXJzLmVuZCgpLCByZXF1ZXN0cyk7CiAgICAgfQogCi0gICAgaWYg
KCFpc1N0YXJ0T3JFbmRUYWcodG9rZW4pKQorICAgIGlmICghaXNTdGFydE9yRW5kVGFnKHRva2Vu
LnR5cGUoKSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIEF0b21pY1N0cmluZyB0YWdOYW1lKHRv
a2VuLm5hbWUoKSk7CisgICAgVGFnSWQgdGFnSWQgPSBpZGVudGlmaWVyRm9yKHRhZ05hbWUpOwor
CiAjaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCi0gICAgaWYgKHByb2Nlc3NQb3NzaWJsZVRl
bXBsYXRlVGFnKHRhZ05hbWUsIHRva2VuKSkKKyAgICBpZiAocHJvY2Vzc1Bvc3NpYmxlVGVtcGxh
dGVUYWcodGFnSWQsIHRva2VuLnR5cGUoKSkpCiAgICAgICAgIHJldHVybjsKICNlbmRpZgotICAg
IGlmIChwcm9jZXNzUG9zc2libGVTdHlsZVRhZyh0YWdOYW1lLCB0b2tlbikpCisgICAgaWYgKHBy
b2Nlc3NQb3NzaWJsZVN0eWxlVGFnKHRhZ0lkLCB0b2tlbi50eXBlKCkpKQogICAgICAgICByZXR1
cm47Ci0gICAgaWYgKCFpc1N0YXJ0VGFnKHRva2VuKSkKKyAgICBpZiAoIWlzU3RhcnRUYWcodG9r
ZW4udHlwZSgpKSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmIChwcm9jZXNzUG9zc2libGVCYXNl
VGFnKHRhZ05hbWUsIHRva2VuKSkKKyAgICBpZiAocHJvY2Vzc1Bvc3NpYmxlQmFzZVRhZyh0YWdJ
ZCwgdG9rZW4pKQogICAgICAgICByZXR1cm47CiAKLSAgICBTdGFydFRhZ1NjYW5uZXIgc2Nhbm5l
cihpZGVudGlmaWVyRm9yKHRhZ05hbWUpKTsKKyAgICBTdGFydFRhZ1NjYW5uZXIgc2Nhbm5lcih0
YWdJZCk7CiAgICAgc2Nhbm5lci5wcm9jZXNzQXR0cmlidXRlcyh0b2tlbi5hdHRyaWJ1dGVzKCkp
OwogICAgIE93blB0cjxQcmVsb2FkUmVxdWVzdD4gcmVxdWVzdCA9ICBzY2FubmVyLmNyZWF0ZVBy
ZWxvYWRSZXF1ZXN0KG1fcHJlZGljdGVkQmFzZUVsZW1lbnRVUkwpOwogICAgIGlmIChyZXF1ZXN0
KQpAQCAtMzUwLDcgKzM1Myw3IEBAIHZvaWQgSFRNTFByZWxvYWRTY2FubmVyOjpzY2FuKEhUTUxS
ZXNvdXIKIAogICAgIFZlY3RvcjxPd25QdHI8UHJlbG9hZFJlcXVlc3Q+ID4gcmVxdWVzdHM7CiAg
ICAgd2hpbGUgKG1fdG9rZW5pemVyLT5uZXh0VG9rZW4obV9zb3VyY2UsIG1fdG9rZW4pKSB7Ci0g
ICAgICAgIGlmIChpc1N0YXJ0VGFnKG1fdG9rZW4pKQorICAgICAgICBpZiAoaXNTdGFydFRhZyht
X3Rva2VuLnR5cGUoKSkpCiAgICAgICAgICAgICBtX3Rva2VuaXplci0+dXBkYXRlU3RhdGVGb3Io
QXRvbWljU3RyaW5nKG1fdG9rZW4ubmFtZSgpKSk7CiAgICAgICAgIG1fc2Nhbm5lci5zY2FuKG1f
dG9rZW4sIHJlcXVlc3RzKTsKICAgICAgICAgbV90b2tlbi5jbGVhcigpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgJKHJldmlzaW9u
IDE0MjgzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5l
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEhUTUxQYXJzZXJPcHRpb25zOwotY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRN
TFRva2VuaXplcjsKIGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIApAQCAtNDksMTQgKzQ4LDMxIEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFByZWRpY3RlZEJhc2VFbGVtZW50VVJMKGNvbnN0IEtVUkwm
IHVybCkgeyBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMID0gdXJsOyB9CiAKIHByaXZhdGU6Ci0g
ICAgYm9vbCBwcm9jZXNzU3R5bGVDaGFyYWN0ZXJzKGNvbnN0IEhUTUxUb2tlbiYpOworICAgIGVu
dW0gVGFnSWQgeworICAgICAgICAvLyBUaGVzZSB0YWdzIGFyZSBzY2FubmVkIGJ5IHRoZSBTdGFy
dFRhZ1NjYW5uZXIuCisgICAgICAgIEltZ1RhZ0lkLAorICAgICAgICBJbnB1dFRhZ0lkLAorICAg
ICAgICBMaW5rVGFnSWQsCisgICAgICAgIFNjcmlwdFRhZ0lkLAorCisgICAgICAgIC8vIFRoZXNl
IHRhZ3MgYXJlIG5vdCBzY2FubmVkIGJ5IHRoZSBTdGFydFRhZ1NjYW5uZXIuCisgICAgICAgIFVu
a25vd25UYWdJZCwKKyAgICAgICAgU3R5bGVUYWdJZCwKKyAgICAgICAgQmFzZVRhZ0lkLAorICAg
ICAgICBUZW1wbGF0ZVRhZ0lkLAorICAgIH07CisKKyAgICBjbGFzcyBTdGFydFRhZ1NjYW5uZXI7
CisKKyAgICBzdGF0aWMgVGFnSWQgaWRlbnRpZmllckZvcihjb25zdCBBdG9taWNTdHJpbmcmIHRh
Z05hbWUpOworICAgIHN0YXRpYyBTdHJpbmcgaW5pdGl0YXRvckZvcihUYWdJZCk7CiAKICNpZiBF
TkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICBib29sIHByb2Nlc3NQb3NzaWJsZVRlbXBsYXRl
VGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRNTFRva2VuJik7CisgICAg
Ym9vbCBwcm9jZXNzUG9zc2libGVUZW1wbGF0ZVRhZyhUYWdJZCwgSFRNTFRva2VuOjpUeXBlKTsK
ICNlbmRpZgogCi0gICAgYm9vbCBwcm9jZXNzUG9zc2libGVTdHlsZVRhZyhjb25zdCBBdG9taWNT
dHJpbmcmIHRhZ05hbWUsIGNvbnN0IEhUTUxUb2tlbiYpOwotICAgIGJvb2wgcHJvY2Vzc1Bvc3Np
YmxlQmFzZVRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUsIGNvbnN0IEhUTUxUb2tlbiYp
OworICAgIGJvb2wgcHJvY2Vzc1Bvc3NpYmxlU3R5bGVUYWcoVGFnSWQsIEhUTUxUb2tlbjo6VHlw
ZSk7CisgICAgYm9vbCBwcm9jZXNzUG9zc2libGVCYXNlVGFnKFRhZ0lkLCBjb25zdCBIVE1MVG9r
ZW4mKTsKIAogICAgIENTU1ByZWxvYWRTY2FubmVyIG1fY3NzU2Nhbm5lcjsKICAgICBLVVJMIG1f
ZG9jdW1lbnRVUkw7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>