<?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>93406</bug_id>
          
          <creation_ts>2012-08-07 16:01:54 -0700</creation_ts>
          <short_desc>Cap the number of SourceBuffers that may be added to a MediaSource</short_desc>
          <delta_ts>2012-08-13 09:46:15 -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>Media</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>90819</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anna Cavender">annacc</reporter>
          <assigned_to name="Anna Cavender">annacc</assigned_to>
          <cc>acolwell</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>689550</commentid>
    <comment_count>0</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-07 16:01:54 -0700</bug_when>
    <thetext>Make sure that no more SourceBuffer objects are added to a MediaSource than can fit into the sourceBuffers SourceBufferList (internally stored as a Vector).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690686</commentid>
    <comment_count>1</comment_count>
      <attachid>157282</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-08 13:44:15 -0700</bug_when>
    <thetext>Created attachment 157282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690700</commentid>
    <comment_count>2</comment_count>
      <attachid>157282</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-08-08 14:02:55 -0700</bug_when>
    <thetext>Comment on attachment 157282
Patch

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

I think enough should change here that I am marking it r- for now.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:101
&gt; +    // Ensure a unique id. Until m_nextSourceBufferId wraps around (very unlikely),
&gt; +    // this loop will exit after one check. If m_nextSourceBufferId does wrap,
&gt; +    // this loop may run as many times as the size of m_sourceBuffers, but in most
&gt; +    // cases that should be less than 10. We may want to investigate a more
&gt; +    // efficient approach if many more SourceBuffers are allowed in the future.
&gt; +    size_t oldSourceBufferId = m_nextSourceBufferId;

This is specialized and long enough that is should probably be in its own function.

Actually, it might make sense to make this a function of SourceBufferList.cpp instead of having some of the logic here and some there.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:102
&gt; +    while (m_sourceBuffers-&gt;contains(String::number(m_nextSourceBufferId++))) {

This seems wrong. You are searching for m_nextSourceBufferId, but you use (m_nextSourceBufferId+1) for the new buffer ID even if m_nextSourceBufferId doesn&apos;t exist in the vector.

&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:89
&gt; +bool SourceBufferList::contains(const String&amp; id) const
&gt; +{
&gt; +    for (size_t i = 0; i &lt; m_list.size(); ++i) {
&gt; +        if (m_list[i]-&gt;id() == id)
&gt; +            return true;
&gt; +    }
&gt; +    return false;
&gt; +}

Since you have to implement this, why not pass the ID as a size_t?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690872</commentid>
    <comment_count>3</comment_count>
      <attachid>157282</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-08 16:10:50 -0700</bug_when>
    <thetext>Comment on attachment 157282
Patch

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

Thanks Eric, revised patch on the way.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:101
&gt;&gt; +    size_t oldSourceBufferId = m_nextSourceBufferId;
&gt; 
&gt; This is specialized and long enough that is should probably be in its own function.
&gt; 
&gt; Actually, it might make sense to make this a function of SourceBufferList.cpp instead of having some of the logic here and some there.

OK, I&apos;ll give that a go.

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:102
&gt;&gt; +    while (m_sourceBuffers-&gt;contains(String::number(m_nextSourceBufferId++))) {
&gt; 
&gt; This seems wrong. You are searching for m_nextSourceBufferId, but you use (m_nextSourceBufferId+1) for the new buffer ID even if m_nextSourceBufferId doesn&apos;t exist in the vector.

Good catch, thanks.

&gt;&gt; Source/WebCore/Modules/mediasource/SourceBufferList.cpp:89
&gt;&gt; +}
&gt; 
&gt; Since you have to implement this, why not pass the ID as a size_t?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690879</commentid>
    <comment_count>4</comment_count>
      <attachid>157325</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-08 16:16:19 -0700</bug_when>
    <thetext>Created attachment 157325
revisions based on review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691213</commentid>
    <comment_count>5</comment_count>
      <attachid>157325</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 22:33:58 -0700</bug_when>
    <thetext>Comment on attachment 157325
revisions based on review

Rejecting attachment 157325 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:
code: 9
s/ChangeLog
Auto-merging LayoutTests/platform/chromium/TestExpectations
Failed to merge in the changes.
Patch failed at 0001 nested fragment parser test slow on Android

When you have resolved 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.

Full output: http://queues.webkit.org/results/13453914</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691738</commentid>
    <comment_count>6</comment_count>
      <attachid>157523</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-09 13:17:24 -0700</bug_when>
    <thetext>Created attachment 157523
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691933</commentid>
    <comment_count>7</comment_count>
      <attachid>157523</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-09 15:38:52 -0700</bug_when>
    <thetext>Comment on attachment 157523
Patch for landing

Rejecting attachment 157523 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: 1

ERROR: /mnt/git/webkit-commit-queue/Websites/webkit.org/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/13473123</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691963</commentid>
    <comment_count>8</comment_count>
      <attachid>157571</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-09 16:05:55 -0700</bug_when>
    <thetext>Created attachment 157571
no diff

Bugger, commit queue ate my patch and lost the r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693743</commentid>
    <comment_count>9</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-13 09:46:15 -0700</bug_when>
    <thetext>Committed r125424: &lt;http://trac.webkit.org/changeset/125424&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157282</attachid>
            <date>2012-08-08 13:44:15 -0700</date>
            <delta_ts>2012-08-08 16:16:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93406-20120808134349.patch</filename>
            <type>text/plain</type>
            <size>4996</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2U3YmRjNDVlNmZkYWEz
NWRhMzhhNTJkODk0ZmVmMjhmMzAyYzkxYi4uODk1MGJjZmY3OGVhOTA1ZjJhYWRmMjM0ZmQ4MDMw
ZGY5MDAxZGI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA4LTA4ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYXAgdGhlIG51bWJl
ciBvZiBTb3VyY2VCdWZmZXJzIHRoYXQgbWF5IGJlIGFkZGVkIHRvIGEgTWVkaWFTb3VyY2UuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzQwNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSB0
aGF0IG5vIG1vcmUgU291cmNlQnVmZmVyIG9iamVjdHMgYXJlIGFkZGVkIHRvIGEgTWVkaWFTb3Vy
Y2UKKyAgICAgICAgdGhhbiBjYW4gZml0IGludG8gdGhlIHNvdXJjZUJ1ZmZlcnMgU291cmNlQnVm
ZmVyTGlzdCAoaW50ZXJuYWxseSBzdG9yZWQKKyAgICAgICAgYXMgYSBWZWN0b3IpLiBBbHNvLCBt
YWtlIHN1cmUgdGhhdCBuZXcgU291cmNlQnVmZmVycyBhcmUgYWRkZWQgd2l0aCBhCisgICAgICAg
IHVuaXF1ZSBpZCBldmVuIGlmIHRoZSB2YXJpYWJsZSB3ZSBhcmUgdXNpbmcgdG8gZ2VuZXJhdGUg
aWQgd3JhcHMgYXJvdW5kLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gIEl0IHdvdWxkIG5vdCBi
ZSByZWFsaXN0aWMgdG8gYWRkIHNvIG1hbnkgU291cmNlQnVmZmVycyB0bworICAgICAgICB0ZXN0
IHRoZSBpZCB2YXJpYWJsZSB3cmFwcGluZy4gIEV4aXN0aW5nIHRlc3RzIHNob3VsZCBub3QgYmUg
YWZmZWN0ZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjphZGRTb3VyY2VCdWZmZXIpOiBTZWFy
Y2ggZm9yIGFuIGF2YWlsYWJsZSBpZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01l
ZGlhU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJM
aXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlckxpc3Q6OmNvbnRhaW5zKTog
Q2hlY2sgaWYgYSBTb3VyY2VCdWZmZXIgd2l0aCBhCisgICAgICAgICAgICBnaXZlbiBpZCBhbHJl
YWR5IGV4aXN0cyBpbiB0aGlzIFNvdXJjZUJ1ZmZlckxpc3QuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaDoKKyAgICAg
ICAgKFNvdXJjZUJ1ZmZlckxpc3QpOgorCiAyMDEyLTA4LTA4ICBMb8OvYyBZaHVlbCAgPGxvaWMu
eWh1ZWxAc29mdGF0aG9tZS5jb20+CiAKICAgICAgICAgW1F0XSBDb21waWxlIGVycm9ycyB3aXRo
IE9wZW5HTEVTMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01l
ZGlhU291cmNlLmNwcAppbmRleCA2Zjg0ZDk0Mzk5ZThlN2Y4MGQ2NjZlYmQxNzUzMWMwYjc1MGIy
ZGRmLi4zY2M3OWM5NTYxZDA2YjYxYzcyODZhNDcwMTdmMzA0YWJmYzNiYjMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcApAQCAt
OTMsOCArOTMsMjEgQEAgU291cmNlQnVmZmVyKiBNZWRpYVNvdXJjZTo6YWRkU291cmNlQnVmZmVy
KGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCisgICAgLy8gRW5zdXJlIGEgdW5pcXVlIGlkLiBVbnRpbCBtX25leHRTb3VyY2VC
dWZmZXJJZCB3cmFwcyBhcm91bmQgKHZlcnkgdW5saWtlbHkpLAorICAgIC8vIHRoaXMgbG9vcCB3
aWxsIGV4aXQgYWZ0ZXIgb25lIGNoZWNrLiBJZiBtX25leHRTb3VyY2VCdWZmZXJJZCBkb2VzIHdy
YXAsCisgICAgLy8gdGhpcyBsb29wIG1heSBydW4gYXMgbWFueSB0aW1lcyBhcyB0aGUgc2l6ZSBv
ZiBtX3NvdXJjZUJ1ZmZlcnMsIGJ1dCBpbiBtb3N0CisgICAgLy8gY2FzZXMgdGhhdCBzaG91bGQg
YmUgbGVzcyB0aGFuIDEwLiBXZSBtYXkgd2FudCB0byBpbnZlc3RpZ2F0ZSBhIG1vcmUKKyAgICAv
LyBlZmZpY2llbnQgYXBwcm9hY2ggaWYgbWFueSBtb3JlIFNvdXJjZUJ1ZmZlcnMgYXJlIGFsbG93
ZWQgaW4gdGhlIGZ1dHVyZS4KKyAgICBzaXplX3Qgb2xkU291cmNlQnVmZmVySWQgPSBtX25leHRT
b3VyY2VCdWZmZXJJZDsKKyAgICB3aGlsZSAobV9zb3VyY2VCdWZmZXJzLT5jb250YWlucyhTdHJp
bmc6Om51bWJlcihtX25leHRTb3VyY2VCdWZmZXJJZCsrKSkpIHsKKyAgICAgICAgaWYgKG9sZFNv
dXJjZUJ1ZmZlcklkID09IG1fbmV4dFNvdXJjZUJ1ZmZlcklkKSB7CisgICAgICAgICAgICBlYyA9
IFFVT1RBX0VYQ0VFREVEX0VSUjsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9Cisg
ICAgfQorCiAgICAgLy8gNS4gQ3JlYXRlIGEgbmV3IFNvdXJjZUJ1ZmZlciBvYmplY3QgYW5kIGFz
c29jaWF0ZWQgcmVzb3VyY2VzLgotICAgIFJlZlB0cjxTb3VyY2VCdWZmZXI+IGJ1ZmZlciA9IFNv
dXJjZUJ1ZmZlcjo6Y3JlYXRlKFN0cmluZzo6bnVtYmVyKCsrbV9uZXh0U291cmNlQnVmZmVySWQp
LCB0aGlzKTsKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIgPSBTb3VyY2VCdWZmZXI6
OmNyZWF0ZShTdHJpbmc6Om51bWJlcihtX25leHRTb3VyY2VCdWZmZXJJZCksIHRoaXMpOwogCiAg
ICAgc3dpdGNoIChtX3BsYXllci0+c291cmNlQWRkSWQoYnVmZmVyLT5pZCgpLCBjb250ZW50VHlw
ZS50eXBlKCksIGNvZGVjcykpIHsKICAgICBjYXNlIE1lZGlhUGxheWVyOjpPazoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaAppbmRleCA2NDZh
YzNhZTc3MDA2NjhlMDJlZDI5NTg4ZTRkZTdmODBkZjAyMzMxLi4yOGYxOTc1NGI4YTViYjE4NTk4
OTc5ZGQyNzE5NWJkMDU2MWJhNDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCkBAIC0xMDQsNyArMTA0LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJMaXN0PiBtX3NvdXJjZUJ1ZmZlcnM7CiAgICAgUmVmUHRy
PFNvdXJjZUJ1ZmZlckxpc3Q+IG1fYWN0aXZlU291cmNlQnVmZmVyczsKLSAgICBpbnQgbV9uZXh0
U291cmNlQnVmZmVySWQ7CisgICAgc2l6ZV90IG1fbmV4dFNvdXJjZUJ1ZmZlcklkOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKaW5kZXggNjYyYjQ2ZjBmYjY3YTg2
MTU3MjhmYjhhMzRkMGIyYmExNzYzMmVkMy4uYjVkNTMwOGJmMWEwNWQ4OWQ1ZmNhY2ZhZTNiMWMz
Y2I4ZjhjNGVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCkBAIC03OSw2ICs3OSwxNSBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlckxpc3Q6OmNsZWFyKCkKICAgICAgICAgcmVtb3ZlKG1fbGlzdFtpXS5nZXQoKSk7CiB9
CiAKK2Jvb2wgU291cmNlQnVmZmVyTGlzdDo6Y29udGFpbnMoY29uc3QgU3RyaW5nJiBpZCkgY29u
c3QKK3sKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgewor
ICAgICAgICBpZiAobV9saXN0W2ldLT5pZCgpID09IGlkKQorICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBTb3VyY2VCdWZmZXJMaXN0
OjpjcmVhdGVBbmRGaXJlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudE5hbWUpCiB7CiAg
ICAgUmVmUHRyPEV2ZW50PiBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwg
ZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlckxpc3QuaAppbmRleCA2ZjdmOWE3ODkyN2UxNjcxMjFiN2E2MzBmODhiOWY1MTc0
MTdjZWRhLi5mMWNiMDBiZDUyMTQ3YWM5NTQxZDlhYjU1MWVhN2FjMmUyYWZjNmNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxp
c3QuaApAQCAtNTUsNiArNTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxT
b3VyY2VCdWZmZXI+KTsKICAgICBib29sIHJlbW92ZShTb3VyY2VCdWZmZXIqKTsKICAgICB2b2lk
IGNsZWFyKCk7CisgICAgYm9vbCBjb250YWlucyhjb25zdCBTdHJpbmcmIGlkKSBjb25zdDsKIAog
ICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZFUlJJREU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157325</attachid>
            <date>2012-08-08 16:16:19 -0700</date>
            <delta_ts>2012-08-09 13:17:20 -0700</delta_ts>
            <desc>revisions based on review</desc>
            <filename>bug-93406-20120808161553.patch</filename>
            <type>text/plain</type>
            <size>6629</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MDgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY3NjJkMDM4MDNlYWE1
YTdlYzgxODRhM2Q0Nzc0NTk1NzljZDdjMy4uZTllNjdiZDFjMmM0MjFjNjQ1ZTkxMmViOThkZWM5
NGUxOGY4ZTM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA4LTA4ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYXAgdGhlIG51bWJl
ciBvZiBTb3VyY2VCdWZmZXJzIHRoYXQgbWF5IGJlIGFkZGVkIHRvIGEgTWVkaWFTb3VyY2UuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzQwNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSB0
aGF0IG5vIG1vcmUgU291cmNlQnVmZmVyIG9iamVjdHMgYXJlIGFkZGVkIHRvIGEgTWVkaWFTb3Vy
Y2UKKyAgICAgICAgdGhhbiBjYW4gZml0IGludG8gdGhlIHNvdXJjZUJ1ZmZlcnMgU291cmNlQnVm
ZmVyTGlzdCAoaW50ZXJuYWxseSBzdG9yZWQKKyAgICAgICAgYXMgYSBWZWN0b3IpLiBBbHNvLCBt
YWtlIHN1cmUgdGhhdCBuZXcgU291cmNlQnVmZmVycyBhcmUgYWRkZWQgd2l0aCBhCisgICAgICAg
IHVuaXF1ZSBpZCBldmVuIGlmIHRoZSB2YXJpYWJsZSB3ZSBhcmUgdXNpbmcgdG8gZ2VuZXJhdGUg
aWQgd3JhcHMgYXJvdW5kLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gIEl0IHdvdWxkIG5vdCBi
ZSByZWFsaXN0aWMgdG8gYWRkIHNvIG1hbnkgU291cmNlQnVmZmVycyB0bworICAgICAgICB0ZXN0
IHRoZSBpZCB2YXJpYWJsZSB3cmFwcGluZy4gIEV4aXN0aW5nIHRlc3RzIHNob3VsZCBub3QgYmUg
YWZmZWN0ZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpNZWRpYVNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6YWRkU291cmNlQnVmZmVyKTogT2J0YWluIGEgdW5pcXVl
IGlkIGJlZm9yZSBjcmVhdGluZworICAgICAgICAgICAgYSBuZXcgU291cmNlQnVmZmVyLgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaDoKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyTGlzdDo6U291cmNlQnVmZmVyTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpT
b3VyY2VCdWZmZXJMaXN0OjpnZW5lcmF0ZVVuaXF1ZUlkKTogU2VhcmNoIGZvciBhbmQgZ2VuZXJh
dGUgYQorICAgICAgICAgICAgdW5pcXVlIGlkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0Ojpjb250YWlucyk6IENoZWNrIGlmIGEgU291cmNl
QnVmZmVyIHdpdGggYQorICAgICAgICAgICAgZ2l2ZW4gaWQgYWxyZWFkeSBleGlzdHMgaW4gdGhp
cyBTb3VyY2VCdWZmZXJMaXN0LgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyTGlzdC5oOgorICAgICAgICAoU291cmNlQnVmZmVyTGlzdCk6CisKIDIwMTItMDgtMDgg
IFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVHUkVT
U0lPTihyMTI1MDQ2KTogQnJlYWtzIGRlYnVnIGJ1aWxkIChhc3NlcnRpb24gaW4gcHJvdG9jb2wg
dHlwZSBjaGVja3MpIChSZXF1ZXN0ZWQgYnkgcGZlbGRtYW4gb24gI3dlYmtpdCkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCmluZGV4
IDZmODRkOTQzOTllOGU3ZjgwZDY2NmViZDE3NTMxYzBiNzUwYjJkZGYuLmUxMzE3ZjU0MWUzOWMx
ZjhhNjc4YWQwODI0OWM5N2JhOTU2YWQ3ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBAIC00OSw3ICs0OSw2IEBAIE1lZGlh
U291cmNlOjpNZWRpYVNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAg
IDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoY29udGV4dCkKICAgICAsIG1fcmVhZHlTdGF0
ZShjbG9zZWRLZXl3b3JkKCkpCiAgICAgLCBtX3BsYXllcigwKQotICAgICwgbV9uZXh0U291cmNl
QnVmZmVySWQoMCkKIHsKICAgICBtX3NvdXJjZUJ1ZmZlcnMgPSBTb3VyY2VCdWZmZXJMaXN0Ojpj
cmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICBtX2FjdGl2ZVNvdXJjZUJ1ZmZl
cnMgPSBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsK
QEAgLTk0LDcgKzkzLDEzIEBAIFNvdXJjZUJ1ZmZlciogTWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1
ZmZlcihjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjCiAgICAgfQogCiAgICAg
Ly8gNS4gQ3JlYXRlIGEgbmV3IFNvdXJjZUJ1ZmZlciBvYmplY3QgYW5kIGFzc29jaWF0ZWQgcmVz
b3VyY2VzLgotICAgIFJlZlB0cjxTb3VyY2VCdWZmZXI+IGJ1ZmZlciA9IFNvdXJjZUJ1ZmZlcjo6
Y3JlYXRlKFN0cmluZzo6bnVtYmVyKCsrbV9uZXh0U291cmNlQnVmZmVySWQpLCB0aGlzKTsKKyAg
ICBTdHJpbmcgaWQgPSBtX3NvdXJjZUJ1ZmZlcnMtPmdlbmVyYXRlVW5pcXVlSWQoKTsKKyAgICBp
ZiAoaWQgPT0gZW1wdHlTdHJpbmcoKSkgeworICAgICAgICBlYyA9IFFVT1RBX0VYQ0VFREVEX0VS
UjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlcj4g
YnVmZmVyID0gU291cmNlQnVmZmVyOjpjcmVhdGUoaWQsIHRoaXMpOwogCiAgICAgc3dpdGNoICht
X3BsYXllci0+c291cmNlQWRkSWQoYnVmZmVyLT5pZCgpLCBjb250ZW50VHlwZS50eXBlKCksIGNv
ZGVjcykpIHsKICAgICBjYXNlIE1lZGlhUGxheWVyOjpPazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaAppbmRleCA2NDZhYzNhZTc3MDA2Njhl
MDJlZDI5NTg4ZTRkZTdmODBkZjAyMzMxLi4yYzg1ZmQwMTFiNjU2NmMyZmI4MjYxYTZlYjZlMjZh
ZTA4YWRhYTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L01lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZS5oCkBAIC0xMDQsNyArMTA0LDYgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxT
b3VyY2VCdWZmZXJMaXN0PiBtX3NvdXJjZUJ1ZmZlcnM7CiAgICAgUmVmUHRyPFNvdXJjZUJ1ZmZl
ckxpc3Q+IG1fYWN0aXZlU291cmNlQnVmZmVyczsKLSAgICBpbnQgbV9uZXh0U291cmNlQnVmZmVy
SWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAppbmRleCA2NjJi
NDZmMGZiNjdhODYxNTcyOGZiOGEzNGQwYjJiYTE3NjMyZWQzLi5jZTIxM2Q1MTQwMmE4NGZiZGUw
Y2M5NzZlZjkwODY5MGUzNTY2MjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKQEAgLTQwLDYgKzQwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBTb3VyY2VCdWZmZXJMaXN0OjpTb3VyY2VCdWZmZXJMaXN0
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgOiBtX3NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoY29udGV4dCkKKyAgICAsIG1fbGFzdFNvdXJjZUJ1ZmZlcklkKDApCiB7CiB9CiAK
QEAgLTc5LDYgKzgwLDM0IEBAIHZvaWQgU291cmNlQnVmZmVyTGlzdDo6Y2xlYXIoKQogICAgICAg
ICByZW1vdmUobV9saXN0W2ldLmdldCgpKTsKIH0KIAorU3RyaW5nIFNvdXJjZUJ1ZmZlckxpc3Q6
OmdlbmVyYXRlVW5pcXVlSWQoKQoreworICAgIC8vIEVuc3VyZSBhIHVuaXF1ZSBpZC4gVW50aWwg
bV9sYXN0U291cmNlQnVmZmVySWQgd3JhcHMgYXJvdW5kICh2ZXJ5IHVubGlrZWx5KSwKKyAgICAv
LyB0aGlzIGxvb3Agd2lsbCBleGl0IGFmdGVyIG9uZSBjaGVjay4gSWYgbV9sYXN0U291cmNlQnVm
ZmVySWQgZG9lcyB3cmFwLAorICAgIC8vIHRoaXMgbG9vcCBtYXkgcnVuIGFzIG1hbnkgdGltZXMg
YXMgdGhlIHNpemUgb2YgbV9saXN0LCBidXQgaW4gbW9zdAorICAgIC8vIGNhc2VzIHRoYXQgc2hv
dWxkIGJlIGxlc3MgdGhhbiAxMC4gV2UgbWF5IHdhbnQgdG8gaW52ZXN0aWdhdGUgYSBtb3JlCisg
ICAgLy8gZWZmaWNpZW50IGFwcHJvYWNoIGlmIG1hbnkgbW9yZSBTb3VyY2VCdWZmZXJzIGFyZSBh
bGxvd2VkIGluIHRoZSBmdXR1cmUuCisgICAgc2l6ZV90IG5leHRTb3VyY2VCdWZmZXJJZCA9IG1f
bGFzdFNvdXJjZUJ1ZmZlcklkICsgMTsKKworICAgIHdoaWxlIChjb250YWlucyhuZXh0U291cmNl
QnVmZmVySWQpKSB7CisgICAgICAgIGlmIChuZXh0U291cmNlQnVmZmVySWQgPT0gbV9sYXN0U291
cmNlQnVmZmVySWQpCisgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICAgICAg
bmV4dFNvdXJjZUJ1ZmZlcklkKys7CisgICAgfQorICAgIG1fbGFzdFNvdXJjZUJ1ZmZlcklkID0g
bmV4dFNvdXJjZUJ1ZmZlcklkOworCisgICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKG5leHRTb3Vy
Y2VCdWZmZXJJZCk7Cit9CisKK2Jvb2wgU291cmNlQnVmZmVyTGlzdDo6Y29udGFpbnMoc2l6ZV90
IGlkKSBjb25zdAoreworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9saXN0LnNpemUoKTsg
KytpKSB7CisgICAgICAgIGlmIChtX2xpc3RbaV0tPmlkKCkgPT0gU3RyaW5nOjpudW1iZXIoaWQp
KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30K
Kwogdm9pZCBTb3VyY2VCdWZmZXJMaXN0OjpjcmVhdGVBbmRGaXJlRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudE5hbWUpCiB7CiAgICAgUmVmUHRyPEV2ZW50PiBldmVudCA9IEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaAppbmRleCA2ZjdmOWE3ODky
N2UxNjcxMjFiN2E2MzBmODhiOWY1MTc0MTdjZWRhLi5jODdjZjM0YzhiYmIyZGNjMWE3ODBiMTJi
MTA2ZGMwMDU3YjUyOTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaApAQCAtNTYsNiArNTYsMTAgQEAgcHVibGljOgog
ICAgIGJvb2wgcmVtb3ZlKFNvdXJjZUJ1ZmZlciopOwogICAgIHZvaWQgY2xlYXIoKTsKIAorICAg
IC8vIEdlbmVyYXRlcyBhbiBpZCBmb3IgYWRkaW5nIGEgbmV3IFNvdXJjZUJ1ZmZlci4gUmV0dXJu
cyBhbiBlbXB0eSBzdHJpbmcKKyAgICAvLyBpZiB0aGlzIFNvdXJjZUJ1ZmZlckxpc3QgaXMgZnVs
bC4KKyAgICBTdHJpbmcgZ2VuZXJhdGVVbmlxdWVJZCgpOworCiAgICAgLy8gRXZlbnRUYXJnZXQg
aW50ZXJmYWNlCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUo
KSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBPVkVSUklERTsKQEAgLTcwLDYgKzc0LDcgQEAg
cHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBleHBsaWNpdCBTb3VyY2VCdWZmZXJMaXN0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKTsKIAorICAgIGJvb2wgY29udGFpbnMoc2l6ZV90IGlkKSBjb25z
dDsKICAgICB2b2lkIGNyZWF0ZUFuZEZpcmVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmKTsKIAog
ICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIE9WRVJSSURFIHsgcmVmKCk7IH0KQEAg
LTc5LDYgKzg0LDcgQEAgcHJpdmF0ZToKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKICAgICBWZWN0b3I8UmVmUHRyPFNvdXJjZUJ1ZmZlcj4g
PiBtX2xpc3Q7CisgICAgc2l6ZV90IG1fbGFzdFNvdXJjZUJ1ZmZlcklkOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157523</attachid>
            <date>2012-08-09 13:17:24 -0700</date>
            <delta_ts>2012-08-09 16:05:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-93406-20120809131657.patch</filename>
            <type>text/plain</type>
            <size>6610</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA4OTdhOWNhZTZlOTIw
YjYwNTZkMjZmYmMwOGQ3ZDQyZGRiMDZhZi4uZDI3OTVjYmYzYTQxODljZjZkNGQyZjJjODBkZmRk
NjM5MjBkNTZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA4LTA5ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYXAgdGhlIG51bWJl
ciBvZiBTb3VyY2VCdWZmZXJzIHRoYXQgbWF5IGJlIGFkZGVkIHRvIGEgTWVkaWFTb3VyY2UuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzQwNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBNYWtlIHN1cmUgdGhh
dCBubyBtb3JlIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGFyZSBhZGRlZCB0byBhIE1lZGlhU291cmNl
CisgICAgICAgIHRoYW4gY2FuIGZpdCBpbnRvIHRoZSBzb3VyY2VCdWZmZXJzIFNvdXJjZUJ1ZmZl
ckxpc3QgKGludGVybmFsbHkgc3RvcmVkCisgICAgICAgIGFzIGEgVmVjdG9yKS4gQWxzbywgbWFr
ZSBzdXJlIHRoYXQgbmV3IFNvdXJjZUJ1ZmZlcnMgYXJlIGFkZGVkIHdpdGggYQorICAgICAgICB1
bmlxdWUgaWQgZXZlbiBpZiB0aGUgdmFyaWFibGUgd2UgYXJlIHVzaW5nIHRvIGdlbmVyYXRlIGlk
IHdyYXBzIGFyb3VuZC4KKworICAgICAgICBObyBuZXcgdGVzdHMuICBJdCB3b3VsZCBub3QgYmUg
cmVhbGlzdGljIHRvIGFkZCBzbyBtYW55IFNvdXJjZUJ1ZmZlcnMgdG8KKyAgICAgICAgdGVzdCB0
aGUgaWQgdmFyaWFibGUgd3JhcHBpbmcuICBFeGlzdGluZyB0ZXN0cyBzaG91bGQgbm90IGJlIGFm
ZmVjdGVkLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6TWVkaWFTb3VyY2UpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlcik6IE9idGFpbiBhIHVuaXF1ZSBp
ZCBiZWZvcmUgY3JlYXRpbmcKKyAgICAgICAgICAgIGEgbmV3IFNvdXJjZUJ1ZmZlci4KKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlckxpc3Q6OlNvdXJjZUJ1ZmZlckxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U291
cmNlQnVmZmVyTGlzdDo6Z2VuZXJhdGVVbmlxdWVJZCk6IFNlYXJjaCBmb3IgYW5kIGdlbmVyYXRl
IGEKKyAgICAgICAgICAgIHVuaXF1ZSBpZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyTGlzdDo6Y29udGFpbnMpOiBDaGVjayBpZiBhIFNvdXJjZUJ1
ZmZlciB3aXRoIGEKKyAgICAgICAgICAgIGdpdmVuIGlkIGFscmVhZHkgZXhpc3RzIGluIHRoaXMg
U291cmNlQnVmZmVyTGlzdC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlckxpc3QuaDoKKyAgICAgICAgKFNvdXJjZUJ1ZmZlckxpc3QpOgorCiAyMDEyLTA4LTA5ICBN
aWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kgZGlyZWN0aXZlcyB0aGF0IGJlZ2luIHdpdGggYW4gaW52YWxpZCBjaGFyYWN0ZXIg
c2hvdWxkIGxvZyBhIGNvbnNvbGUgd2FybmluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggNmY4NGQ5NDM5OWU4ZTdmODBk
NjY2ZWJkMTc1MzFjMGI3NTBiMmRkZi4uZTEzMTdmNTQxZTM5YzFmOGE2NzhhZDA4MjQ5Yzk3YmE5
NTZhZDdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZS5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAgTWVkaWFTb3VyY2U6Ok1lZGlhU291cmNl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rp
b25PYnNlcnZlcihjb250ZXh0KQogICAgICwgbV9yZWFkeVN0YXRlKGNsb3NlZEtleXdvcmQoKSkK
ICAgICAsIG1fcGxheWVyKDApCi0gICAgLCBtX25leHRTb3VyY2VCdWZmZXJJZCgwKQogewogICAg
IG1fc291cmNlQnVmZmVycyA9IFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpOwogICAgIG1fYWN0aXZlU291cmNlQnVmZmVycyA9IFNvdXJjZUJ1ZmZlckxp
c3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwpAQCAtOTQsNyArOTMsMTMgQEAg
U291cmNlQnVmZmVyKiBNZWRpYVNvdXJjZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYg
dHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMKICAgICB9CiAKICAgICAvLyA1LiBDcmVhdGUgYSBuZXcg
U291cmNlQnVmZmVyIG9iamVjdCBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMuCi0gICAgUmVmUHRy
PFNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gU291cmNlQnVmZmVyOjpjcmVhdGUoU3RyaW5nOjpudW1i
ZXIoKyttX25leHRTb3VyY2VCdWZmZXJJZCksIHRoaXMpOworICAgIFN0cmluZyBpZCA9IG1fc291
cmNlQnVmZmVycy0+Z2VuZXJhdGVVbmlxdWVJZCgpOworICAgIGlmIChpZCA9PSBlbXB0eVN0cmlu
ZygpKSB7CisgICAgICAgIGVjID0gUVVPVEFfRVhDRUVERURfRVJSOworICAgICAgICByZXR1cm4g
MDsKKyAgICB9CisKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIgPSBTb3VyY2VCdWZm
ZXI6OmNyZWF0ZShpZCwgdGhpcyk7CiAKICAgICBzd2l0Y2ggKG1fcGxheWVyLT5zb3VyY2VBZGRJ
ZChidWZmZXItPmlkKCksIGNvbnRlbnRUeXBlLnR5cGUoKSwgY29kZWNzKSkgewogICAgIGNhc2Ug
TWVkaWFQbGF5ZXI6Ok9rOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5oCmluZGV4IDY0NmFjM2FlNzcwMDY2OGUwMmVkMjk1ODhlNGRlN2Y4MGRm
MDIzMzEuLjJjODVmZDAxMWI2NTY2YzJmYjgyNjFhNmViNmUyNmFlMDhhZGFhM2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKQEAgLTEw
NCw3ICsxMDQsNiBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlckxpc3Q+IG1f
c291cmNlQnVmZmVyczsKICAgICBSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4gbV9hY3RpdmVTb3Vy
Y2VCdWZmZXJzOwotICAgIGludCBtX25leHRTb3VyY2VCdWZmZXJJZDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCmluZGV4IDY2MmI0NmYwZmI2N2E4NjE1NzI4ZmI4
YTM0ZDBiMmJhMTc2MzJlZDMuLmNlMjEzZDUxNDAyYTg0ZmJkZTBjYzk3NmVmOTA4NjkwZTM1NjYy
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXJMaXN0LmNwcApAQCAtNDAsNiArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIFNvdXJjZUJ1ZmZlckxpc3Q6OlNvdXJjZUJ1ZmZlckxpc3QoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKICAgICA6IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250ZXh0KQor
ICAgICwgbV9sYXN0U291cmNlQnVmZmVySWQoMCkKIHsKIH0KIApAQCAtNzksNiArODAsMzQgQEAg
dm9pZCBTb3VyY2VCdWZmZXJMaXN0OjpjbGVhcigpCiAgICAgICAgIHJlbW92ZShtX2xpc3RbaV0u
Z2V0KCkpOwogfQogCitTdHJpbmcgU291cmNlQnVmZmVyTGlzdDo6Z2VuZXJhdGVVbmlxdWVJZCgp
Cit7CisgICAgLy8gRW5zdXJlIGEgdW5pcXVlIGlkLiBVbnRpbCBtX2xhc3RTb3VyY2VCdWZmZXJJ
ZCB3cmFwcyBhcm91bmQgKHZlcnkgdW5saWtlbHkpLAorICAgIC8vIHRoaXMgbG9vcCB3aWxsIGV4
aXQgYWZ0ZXIgb25lIGNoZWNrLiBJZiBtX2xhc3RTb3VyY2VCdWZmZXJJZCBkb2VzIHdyYXAsCisg
ICAgLy8gdGhpcyBsb29wIG1heSBydW4gYXMgbWFueSB0aW1lcyBhcyB0aGUgc2l6ZSBvZiBtX2xp
c3QsIGJ1dCBpbiBtb3N0CisgICAgLy8gY2FzZXMgdGhhdCBzaG91bGQgYmUgbGVzcyB0aGFuIDEw
LiBXZSBtYXkgd2FudCB0byBpbnZlc3RpZ2F0ZSBhIG1vcmUKKyAgICAvLyBlZmZpY2llbnQgYXBw
cm9hY2ggaWYgbWFueSBtb3JlIFNvdXJjZUJ1ZmZlcnMgYXJlIGFsbG93ZWQgaW4gdGhlIGZ1dHVy
ZS4KKyAgICBzaXplX3QgbmV4dFNvdXJjZUJ1ZmZlcklkID0gbV9sYXN0U291cmNlQnVmZmVySWQg
KyAxOworCisgICAgd2hpbGUgKGNvbnRhaW5zKG5leHRTb3VyY2VCdWZmZXJJZCkpIHsKKyAgICAg
ICAgaWYgKG5leHRTb3VyY2VCdWZmZXJJZCA9PSBtX2xhc3RTb3VyY2VCdWZmZXJJZCkKKyAgICAg
ICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOworICAgICAgICBuZXh0U291cmNlQnVmZmVySWQr
KzsKKyAgICB9CisgICAgbV9sYXN0U291cmNlQnVmZmVySWQgPSBuZXh0U291cmNlQnVmZmVySWQ7
CisKKyAgICByZXR1cm4gU3RyaW5nOjpudW1iZXIobmV4dFNvdXJjZUJ1ZmZlcklkKTsKK30KKwor
Ym9vbCBTb3VyY2VCdWZmZXJMaXN0Ojpjb250YWlucyhzaXplX3QgaWQpIGNvbnN0Cit7CisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xpc3Quc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYg
KG1fbGlzdFtpXS0+aWQoKSA9PSBTdHJpbmc6Om51bWJlcihpZCkpCisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIFNvdXJjZUJ1ZmZl
ckxpc3Q6OmNyZWF0ZUFuZEZpcmVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSkK
IHsKICAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZh
bHNlLCBmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5oCmluZGV4IDZmN2Y5YTc4OTI3ZTE2NzEyMWI3YTYzMGY4OGI5
ZjUxNzQxN2NlZGEuLmM4N2NmMzRjOGJiYjJkY2MxYTc4MGIxMmIxMDZkYzAwNTdiNTI5NTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5oCkBAIC01Niw2ICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCByZW1vdmUoU291
cmNlQnVmZmVyKik7CiAgICAgdm9pZCBjbGVhcigpOwogCisgICAgLy8gR2VuZXJhdGVzIGFuIGlk
IGZvciBhZGRpbmcgYSBuZXcgU291cmNlQnVmZmVyLiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZwor
ICAgIC8vIGlmIHRoaXMgU291cmNlQnVmZmVyTGlzdCBpcyBmdWxsLgorICAgIFN0cmluZyBnZW5l
cmF0ZVVuaXF1ZUlkKCk7CisKICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpIGNvbnN0IE9WRVJSSURFOwpAQCAtNzAsNiArNzQsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IFNvdXJjZUJ1ZmZlckxpc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
OwogCisgICAgYm9vbCBjb250YWlucyhzaXplX3QgaWQpIGNvbnN0OwogICAgIHZvaWQgY3JlYXRl
QW5kRmlyZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYpOwogCiAgICAgdmlydHVhbCB2b2lkIHJl
ZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyByZWYoKTsgfQpAQCAtNzksNiArODQsNyBAQCBwcml2
YXRlOgogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIAogICAgIFZlY3RvcjxSZWZQdHI8U291cmNlQnVmZmVyPiA+IG1fbGlzdDsKKyAgICBzaXpl
X3QgbV9sYXN0U291cmNlQnVmZmVySWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157571</attachid>
            <date>2012-08-09 16:05:55 -0700</date>
            <delta_ts>2012-08-10 10:09:11 -0700</delta_ts>
            <desc>no diff</desc>
            <filename>bug-93406-20120809160528.patch</filename>
            <type>text/plain</type>
            <size>6571</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTY3NDkyNjQzN2YwZDkx
OWYwZTdlNTljYTVmMGE4MWYxNGM1NTRmNi4uZWUyMDE3MTVhMWNiYzFkYjRlNGUyZDFjOTZiZmZm
ZDE4NTM4NWViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA4LTA5ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYXAgdGhlIG51bWJl
ciBvZiBTb3VyY2VCdWZmZXJzIHRoYXQgbWF5IGJlIGFkZGVkIHRvIGEgTWVkaWFTb3VyY2UuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzQwNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSB0
aGF0IG5vIG1vcmUgU291cmNlQnVmZmVyIG9iamVjdHMgYXJlIGFkZGVkIHRvIGEgTWVkaWFTb3Vy
Y2UKKyAgICAgICAgdGhhbiBjYW4gZml0IGludG8gdGhlIHNvdXJjZUJ1ZmZlcnMgU291cmNlQnVm
ZmVyTGlzdCAoaW50ZXJuYWxseSBzdG9yZWQKKyAgICAgICAgYXMgYSBWZWN0b3IpLiBBbHNvLCBt
YWtlIHN1cmUgdGhhdCBuZXcgU291cmNlQnVmZmVycyBhcmUgYWRkZWQgd2l0aCBhCisgICAgICAg
IHVuaXF1ZSBpZCBldmVuIGlmIHRoZSB2YXJpYWJsZSB3ZSBhcmUgdXNpbmcgdG8gZ2VuZXJhdGUg
aWQgd3JhcHMgYXJvdW5kLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gIEl0IHdvdWxkIG5vdCBi
ZSByZWFsaXN0aWMgdG8gYWRkIHNvIG1hbnkgU291cmNlQnVmZmVycyB0bworICAgICAgICB0ZXN0
IHRoZSBpZCB2YXJpYWJsZSB3cmFwcGluZy4gIEV4aXN0aW5nIHRlc3RzIHNob3VsZCBub3QgYmUg
YWZmZWN0ZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpNZWRpYVNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6YWRkU291cmNlQnVmZmVyKTogT2J0YWluIGEgdW5pcXVl
IGlkIGJlZm9yZSBjcmVhdGluZworICAgICAgICAgICAgYSBuZXcgU291cmNlQnVmZmVyLgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaDoKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyTGlzdDo6U291cmNlQnVmZmVyTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpT
b3VyY2VCdWZmZXJMaXN0OjpnZW5lcmF0ZVVuaXF1ZUlkKTogU2VhcmNoIGZvciBhbmQgZ2VuZXJh
dGUgYQorICAgICAgICAgICAgdW5pcXVlIGlkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0Ojpjb250YWlucyk6IENoZWNrIGlmIGEgU291cmNl
QnVmZmVyIHdpdGggYQorICAgICAgICAgICAgZ2l2ZW4gaWQgYWxyZWFkeSBleGlzdHMgaW4gdGhp
cyBTb3VyY2VCdWZmZXJMaXN0LgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyTGlzdC5oOgorICAgICAgICAoU291cmNlQnVmZmVyTGlzdCk6CisKIDIwMTItMDgtMDkg
IEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gUmVu
YW1lIFY4QmluZGluZ1Blcklzb2xhdGVEYXRhIHRvIFY4UGVySXNvbGF0ZURhdGEKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXgg
NmY4NGQ5NDM5OWU4ZTdmODBkNjY2ZWJkMTc1MzFjMGI3NTBiMmRkZi4uZTEzMTdmNTQxZTM5YzFm
OGE2NzhhZDA4MjQ5Yzk3YmE5NTZhZDdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAgTWVkaWFT
b3VyY2U6Ok1lZGlhU291cmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAg
OiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihjb250ZXh0KQogICAgICwgbV9yZWFkeVN0YXRl
KGNsb3NlZEtleXdvcmQoKSkKICAgICAsIG1fcGxheWVyKDApCi0gICAgLCBtX25leHRTb3VyY2VC
dWZmZXJJZCgwKQogewogICAgIG1fc291cmNlQnVmZmVycyA9IFNvdXJjZUJ1ZmZlckxpc3Q6OmNy
ZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIG1fYWN0aXZlU291cmNlQnVmZmVy
cyA9IFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwpA
QCAtOTQsNyArOTMsMTMgQEAgU291cmNlQnVmZmVyKiBNZWRpYVNvdXJjZTo6YWRkU291cmNlQnVm
ZmVyKGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMKICAgICB9CiAKICAgICAv
LyA1LiBDcmVhdGUgYSBuZXcgU291cmNlQnVmZmVyIG9iamVjdCBhbmQgYXNzb2NpYXRlZCByZXNv
dXJjZXMuCi0gICAgUmVmUHRyPFNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gU291cmNlQnVmZmVyOjpj
cmVhdGUoU3RyaW5nOjpudW1iZXIoKyttX25leHRTb3VyY2VCdWZmZXJJZCksIHRoaXMpOworICAg
IFN0cmluZyBpZCA9IG1fc291cmNlQnVmZmVycy0+Z2VuZXJhdGVVbmlxdWVJZCgpOworICAgIGlm
IChpZCA9PSBlbXB0eVN0cmluZygpKSB7CisgICAgICAgIGVjID0gUVVPVEFfRVhDRUVERURfRVJS
OworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyPiBi
dWZmZXIgPSBTb3VyY2VCdWZmZXI6OmNyZWF0ZShpZCwgdGhpcyk7CiAKICAgICBzd2l0Y2ggKG1f
cGxheWVyLT5zb3VyY2VBZGRJZChidWZmZXItPmlkKCksIGNvbnRlbnRUeXBlLnR5cGUoKSwgY29k
ZWNzKSkgewogICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok9rOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCmluZGV4IDY0NmFjM2FlNzcwMDY2OGUw
MmVkMjk1ODhlNGRlN2Y4MGRmMDIzMzEuLjJjODVmZDAxMWI2NTY2YzJmYjgyNjFhNmViNmUyNmFl
MDhhZGFhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01l
ZGlhU291cmNlLmgKQEAgLTEwNCw3ICsxMDQsNiBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRyPFNv
dXJjZUJ1ZmZlckxpc3Q+IG1fc291cmNlQnVmZmVyczsKICAgICBSZWZQdHI8U291cmNlQnVmZmVy
TGlzdD4gbV9hY3RpdmVTb3VyY2VCdWZmZXJzOwotICAgIGludCBtX25leHRTb3VyY2VCdWZmZXJJ
ZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCmluZGV4IDY2MmI0
NmYwZmI2N2E4NjE1NzI4ZmI4YTM0ZDBiMmJhMTc2MzJlZDMuLmNlMjEzZDUxNDAyYTg0ZmJkZTBj
Yzk3NmVmOTA4NjkwZTM1NjYyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcApAQCAtNDAsNiArNDAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIFNvdXJjZUJ1ZmZlckxpc3Q6OlNvdXJjZUJ1ZmZlckxpc3Qo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICA6IG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dChjb250ZXh0KQorICAgICwgbV9sYXN0U291cmNlQnVmZmVySWQoMCkKIHsKIH0KIApA
QCAtNzksNiArODAsMzQgQEAgdm9pZCBTb3VyY2VCdWZmZXJMaXN0OjpjbGVhcigpCiAgICAgICAg
IHJlbW92ZShtX2xpc3RbaV0uZ2V0KCkpOwogfQogCitTdHJpbmcgU291cmNlQnVmZmVyTGlzdDo6
Z2VuZXJhdGVVbmlxdWVJZCgpCit7CisgICAgLy8gRW5zdXJlIGEgdW5pcXVlIGlkLiBVbnRpbCBt
X2xhc3RTb3VyY2VCdWZmZXJJZCB3cmFwcyBhcm91bmQgKHZlcnkgdW5saWtlbHkpLAorICAgIC8v
IHRoaXMgbG9vcCB3aWxsIGV4aXQgYWZ0ZXIgb25lIGNoZWNrLiBJZiBtX2xhc3RTb3VyY2VCdWZm
ZXJJZCBkb2VzIHdyYXAsCisgICAgLy8gdGhpcyBsb29wIG1heSBydW4gYXMgbWFueSB0aW1lcyBh
cyB0aGUgc2l6ZSBvZiBtX2xpc3QsIGJ1dCBpbiBtb3N0CisgICAgLy8gY2FzZXMgdGhhdCBzaG91
bGQgYmUgbGVzcyB0aGFuIDEwLiBXZSBtYXkgd2FudCB0byBpbnZlc3RpZ2F0ZSBhIG1vcmUKKyAg
ICAvLyBlZmZpY2llbnQgYXBwcm9hY2ggaWYgbWFueSBtb3JlIFNvdXJjZUJ1ZmZlcnMgYXJlIGFs
bG93ZWQgaW4gdGhlIGZ1dHVyZS4KKyAgICBzaXplX3QgbmV4dFNvdXJjZUJ1ZmZlcklkID0gbV9s
YXN0U291cmNlQnVmZmVySWQgKyAxOworCisgICAgd2hpbGUgKGNvbnRhaW5zKG5leHRTb3VyY2VC
dWZmZXJJZCkpIHsKKyAgICAgICAgaWYgKG5leHRTb3VyY2VCdWZmZXJJZCA9PSBtX2xhc3RTb3Vy
Y2VCdWZmZXJJZCkKKyAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOworICAgICAgICBu
ZXh0U291cmNlQnVmZmVySWQrKzsKKyAgICB9CisgICAgbV9sYXN0U291cmNlQnVmZmVySWQgPSBu
ZXh0U291cmNlQnVmZmVySWQ7CisKKyAgICByZXR1cm4gU3RyaW5nOjpudW1iZXIobmV4dFNvdXJj
ZUJ1ZmZlcklkKTsKK30KKworYm9vbCBTb3VyY2VCdWZmZXJMaXN0Ojpjb250YWlucyhzaXplX3Qg
aWQpIGNvbnN0Cit7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xpc3Quc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgaWYgKG1fbGlzdFtpXS0+aWQoKSA9PSBTdHJpbmc6Om51bWJlcihpZCkp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQor
CiB2b2lkIFNvdXJjZUJ1ZmZlckxpc3Q6OmNyZWF0ZUFuZEZpcmVFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50TmFtZSkKIHsKICAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCmluZGV4IDZmN2Y5YTc4OTI3
ZTE2NzEyMWI3YTYzMGY4OGI5ZjUxNzQxN2NlZGEuLmM4N2NmMzRjOGJiYjJkY2MxYTc4MGIxMmIx
MDZkYzAwNTdiNTI5NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCkBAIC01Niw2ICs1NiwxMCBAQCBwdWJsaWM6CiAg
ICAgYm9vbCByZW1vdmUoU291cmNlQnVmZmVyKik7CiAgICAgdm9pZCBjbGVhcigpOwogCisgICAg
Ly8gR2VuZXJhdGVzIGFuIGlkIGZvciBhZGRpbmcgYSBuZXcgU291cmNlQnVmZmVyLiBSZXR1cm5z
IGFuIGVtcHR5IHN0cmluZworICAgIC8vIGlmIHRoaXMgU291cmNlQnVmZmVyTGlzdCBpcyBmdWxs
LgorICAgIFN0cmluZyBnZW5lcmF0ZVVuaXF1ZUlkKCk7CisKICAgICAvLyBFdmVudFRhcmdldCBp
bnRlcmZhY2UKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgp
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJSSURFOwpAQCAtNzAsNiArNzQsNyBAQCBw
cm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFNvdXJjZUJ1ZmZlckxpc3QoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOwogCisgICAgYm9vbCBjb250YWlucyhzaXplX3QgaWQpIGNvbnN0
OwogICAgIHZvaWQgY3JlYXRlQW5kRmlyZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYpOwogCiAg
ICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyByZWYoKTsgfQpAQCAt
NzksNiArODQsNyBAQCBwcml2YXRlOgogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKIAogICAgIFZlY3RvcjxSZWZQdHI8U291cmNlQnVmZmVyPiA+
IG1fbGlzdDsKKyAgICBzaXplX3QgbV9sYXN0U291cmNlQnVmZmVySWQ7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="167497"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>