<?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>127561</bug_id>
          
          <creation_ts>2014-01-24 09:14:04 -0800</creation_ts>
          <short_desc>Teach Buildbot dashboard to parse alternative revision format</short_desc>
          <delta_ts>2014-01-28 15:25:57 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>127695</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dfarler</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971617</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-24 09:14:04 -0800</bug_when>
    <thetext>According to David Farler, the preferred convention for having Buildbot return the Internal and OpenSource revision numbers is to have the Buildbot property revision be a dictionary that contains these values as opposed to defining a separate property for each revision number. We should teach the Buildbot dashboard code to recognize when the Buildbot property revision is a dictionary and extract the Internal and OpenSource revisions numbers from it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971618</commentid>
    <comment_count>1</comment_count>
      <attachid>222111</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-24 09:16:59 -0800</bug_when>
    <thetext>Created attachment 222111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971620</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-24 09:18:35 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; According to David Farler, the preferred convention for having Buildbot return the Internal and OpenSource revision numbers is to have the Buildbot property revision be a dictionary that contains these values as opposed to defining a separate property for each revision number. We should teach the Buildbot dashboard code to recognize when the Buildbot property revision is a dictionary and extract the Internal and OpenSource revisions numbers from it.

*property got_revision</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971621</commentid>
    <comment_count>3</comment_count>
      <attachid>222112</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-24 09:23:37 -0800</bug_when>
    <thetext>Created attachment 222112
Patch

Update ChangeLog entry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971861</commentid>
    <comment_count>4</comment_count>
      <attachid>222112</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-24 19:12:44 -0800</bug_when>
    <thetext>Comment on attachment 222112
Patch

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

&gt; Tools/ChangeLog:9
&gt; +        Add support for extracting the OpenSource and Internal revision numbers when Buildbot
&gt; +        returns a dictionary for the value of property got_revision.

What is the reason that we get revision number from the property, not from sourceStamp? Are these ever different?

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:78
&gt; +function objectIsString(object)

I&apos;m not sure why this function is needed. This is parsed JSON, can we possibly have String objects in it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971871</commentid>
    <comment_count>5</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-01-24 19:38:24 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 222112 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=222112&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:9
&gt; &gt; +        Add support for extracting the OpenSource and Internal revision numbers when Buildbot
&gt; &gt; +        returns a dictionary for the value of property got_revision.
&gt; 
&gt; What is the reason that we get revision number from the property, not from sourceStamp? Are these ever different?

A sourceStamp is not final - it is akin to a “plan” for what will be checked out. The got_revision reflects what is actually checked out. For example, if a sourceStamp has branch = ‘trunk’ but revision undefined, the got_revision will become the latest revision in trunk, etc. If a source stamp had an explicit revision in it, then that specific revision is checked out and would be reflected in got_revision also. Therefore, got_revision should reflect the final say in what revision a build has.

&gt; 
&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:78
&gt; &gt; +function objectIsString(object)
&gt; 
&gt; I&apos;m not sure why this function is needed. This is parsed JSON, can we possibly have String objects in it?

I’ll let Dan speak to this one, but it is probably because the the got_revision is a flat string in the open source buildbots and not a dictionary. If you use codebases, the supported multi-repository buildbot feature, you get a string -&gt; { repository, branch, revision} structure in the sourcestamp and/or got_revision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971896</commentid>
    <comment_count>6</comment_count>
      <attachid>222112</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-24 22:14:15 -0800</bug_when>
    <thetext>Comment on attachment 222112
Patch

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

&gt;&gt;&gt; Tools/ChangeLog:9
&gt;&gt;&gt; +        returns a dictionary for the value of property got_revision.
&gt;&gt; 
&gt;&gt; What is the reason that we get revision number from the property, not from sourceStamp? Are these ever different?
&gt; 
&gt; A sourceStamp is not final - it is akin to a “plan” for what will be checked out. The got_revision reflects what is actually checked out. For example, if a sourceStamp has branch = ‘trunk’ but revision undefined, the got_revision will become the latest revision in trunk, etc. If a source stamp had an explicit revision in it, then that specific revision is checked out and would be reflected in got_revision also. Therefore, got_revision should reflect the final say in what revision a build has.

We keep having bugs because of undefined revision for iterations that are loaded while svn step is still in progress. Would using sourceStamp resolve all these bugs for good? Do we have any builders configured to have undefined revision in sourceStamp? Would we ever want to?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972440</commentid>
    <comment_count>7</comment_count>
      <attachid>222112</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-27 09:58:04 -0800</bug_when>
    <thetext>Comment on attachment 222112
Patch

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

&gt;&gt;&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:78
&gt;&gt;&gt; +function objectIsString(object)
&gt;&gt; 
&gt;&gt; I&apos;m not sure why this function is needed. This is parsed JSON, can we possibly have String objects in it?
&gt; 
&gt; I’ll let Dan speak to this one, but it is probably because the the got_revision is a flat string in the open source buildbots and not a dictionary. If you use codebases, the supported multi-repository buildbot feature, you get a string -&gt; { repository, branch, revision} structure in the sourcestamp and/or got_revision.

I&apos;ll inline the typeof check in the caller and omit the instanceof check before landing this patch.

Additional remarks:

Neither this function nor the type check for class String in its implementation are necessary. It is sufficient to inline the type check and omit the instanceof comparison. I chose to extract this functionality into a function that identifies string literals and objects derived from class String because I thought such a convenience function may be useful for future use. Having said that, we can define such a function should the need arise in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972445</commentid>
    <comment_count>8</comment_count>
      <attachid>222112</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-27 10:10:06 -0800</bug_when>
    <thetext>Comment on attachment 222112
Patch

r=me with this change, however I think that we should be more clear on why we are getting the revision from properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972474</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-27 11:02:18 -0800</bug_when>
    <thetext>Committed r162846: &lt;http://trac.webkit.org/changeset/162846&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972502</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-27 11:42:12 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 127695</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972517</commentid>
    <comment_count>11</comment_count>
      <attachid>222345</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-27 12:42:00 -0800</bug_when>
    <thetext>Created attachment 222345
Patch

Added helper function isMultiCodebaseGotRevisionProperty() to determine whether a property is a multi-codebase got_revision property.

Updated patch to only use look at the value of property got_revision for the Internal revision number when its the multi-codebase variant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972991</commentid>
    <comment_count>12</comment_count>
      <attachid>222464</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-28 10:20:05 -0800</bug_when>
    <thetext>Created attachment 222464
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973149</commentid>
    <comment_count>13</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-28 15:25:57 -0800</bug_when>
    <thetext>Committed r162971: &lt;http://trac.webkit.org/changeset/162971&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222111</attachid>
            <date>2014-01-24 09:16:59 -0800</date>
            <delta_ts>2014-01-24 09:23:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127561-20140124091659.patch</filename>
            <type>text/plain</type>
            <size>4159</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNjIzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjdmY2U4Y2QxY2UwYWNlZGY4ODcxNWQ0OWZiMWNkNzJi
M2EzYTQ0NC4uNmUzZWE0YmYxZjA4ZDk1MWZhNGI4NWUzZGNhNzA5ZTgyZWVlNWEwZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDE0LTAxLTI0ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBUZWFjaCBCdWlsZGJvdCBkYXNoYm9hcmQgdG8gcGFyc2UgYWx0ZXJuYXRpdmUgcmV2aXNp
b24gZm9ybWF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjc1NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgZXh0cmFjdGluZyB0aGUgT3BlblNvdXJjZSBhbmQgSW50ZXJuYWwg
cmV2aXNpb24gbnVtYmVycyB3aGVuIEJ1aWxkYm90CisgICAgICAgIHJldHVybnMgYSBkaWN0aW9u
YXJ5IGZvciB0aGUgdmFsdWUgb2YgcHJvcGVydHkgcmV2aXNpb24uCisKKyAgICAgICAgKiBCdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9h
cmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qczoKKyAgICAgICAgKHBhcnNlUmV2aXNpb25Q
cm9wZXJ0eSk6IEFkZGVkOyBwYXJzZXMgQnVpbGRib3QgcmV2aXNpb24gcHJvcGVydHksIHdoaWNo
IGNhbiBlaXRoZXIgYmUgYSBzdHJpbmcKKyAgICAgICAgb3IgYSBkaWN0aW9uYXJ5LgorICAgICAg
ICAoQnVpbGRib3RJdGVyYXRpb24ucHJvdG90eXBlLnVwZGF0ZS4pOiBNb2RpZmllZCB0byBjYWxs
IHBhcnNlUmV2aXNpb25Qcm9wZXJ0eSgpIHRvIGRldGVybWluZQorICAgICAgICB0aGUgT3BlblNv
dXJjZSBhbmQgSW50ZXJuYWwgcmV2aXNpb24gbnVtYmVycy4KKyAgICAgICAgKiBCdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2Ny
aXB0cy9VdGlsaXRpZXMuanM6CisgICAgICAgIChvYmplY3RJc1N0cmluZyk6IEFkZGVkLgorCiAy
MDE0LTAxLTIzICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgogCiAgICAg
ICAgIFtDdXJsXSBUaGVyZSBpcyBubyB3YXkgdG8gc3BlY2lmeSBjYWNoZSBmb2xkZXIuCmRpZmYg
LS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qcyBiL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rh
c2hib2FyZC9TY3JpcHRzL0J1aWxkYm90SXRlcmF0aW9uLmpzCmluZGV4IDJhZGVlOGEzNzFiYjAw
NzRjZTRhMTNiMWQyZjczNTQxZTY1NDQzMmMuLjcxZDM0MTFkMzAyZmM0ZWQ0YjQyYWIwZGM5MDIx
YzFlZTAxMTY1ZWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1aWxkYm90SXRl
cmF0aW9uLmpzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmct
Y29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1aWxkYm90SXRlcmF0aW9uLmpz
CkBAIC02Miw2ICs2MiwxNCBAQCBCdWlsZGJvdEl0ZXJhdGlvbi5FdmVudCA9IHsKICAgICBVcGRh
dGVkOiAidXBkYXRlZCIKIH07CiAKK2Z1bmN0aW9uIHBhcnNlUmV2aXNpb25Qcm9wZXJ0eShwcm9w
ZXJ0eSwga2V5KQoreworICAgIGlmICghcHJvcGVydHkpCisgICAgICAgIHJldHVybiBudWxsOwor
ICAgIHZhciB2YWx1ZSA9IHByb3BlcnR5WzFdOworICAgIHJldHVybiBwYXJzZUludChvYmplY3RJ
c1N0cmluZyh2YWx1ZSkgPyB2YWx1ZSA6IHZhbHVlW2tleV0sIDEwKTsKK30KKwogQnVpbGRib3RJ
dGVyYXRpb24ucHJvdG90eXBlID0gewogICAgIGNvbnN0cnVjdG9yOiBCdWlsZGJvdEl0ZXJhdGlv
biwKICAgICBfX3Byb3RvX186IEJhc2VPYmplY3QucHJvdG90eXBlLApAQCAtMjAxLDEwICsyMDks
MTAgQEAgQnVpbGRib3RJdGVyYXRpb24ucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJl
dHVybjsKIAogICAgICAgICAgICAgdmFyIG9wZW5Tb3VyY2VSZXZpc2lvblByb3BlcnR5ID0gZGF0
YS5wcm9wZXJ0aWVzLmZpbmRGaXJzdChmdW5jdGlvbihwcm9wZXJ0eSkgeyByZXR1cm4gcHJvcGVy
dHlbMF0gPT09ICJnb3RfcmV2aXNpb24iIHx8IHByb3BlcnR5WzBdID09PSAicmV2aXNpb24iIHx8
IHByb3BlcnR5WzBdID09PSAib3BlbnNvdXJjZV9nb3RfcmV2aXNpb24iOyB9KTsKLSAgICAgICAg
ICAgIHRoaXMub3BlblNvdXJjZVJldmlzaW9uID0gb3BlblNvdXJjZVJldmlzaW9uUHJvcGVydHkg
PyBwYXJzZUludChvcGVuU291cmNlUmV2aXNpb25Qcm9wZXJ0eVsxXSwgMTApIDogbnVsbDsKKyAg
ICAgICAgICAgIHRoaXMub3BlblNvdXJjZVJldmlzaW9uID0gcGFyc2VSZXZpc2lvblByb3BlcnR5
KG9wZW5Tb3VyY2VSZXZpc2lvblByb3BlcnR5LCAiV2ViS2l0T3BlblNvdXJjZSIpOwogCi0gICAg
ICAgICAgICB2YXIgaW50ZXJuYWxSZXZpc2lvblByb3BlcnR5ID0gZGF0YS5wcm9wZXJ0aWVzLmZp
bmRGaXJzdChmdW5jdGlvbihwcm9wZXJ0eSkgeyByZXR1cm4gcHJvcGVydHlbMF0gPT09ICJpbnRl
cm5hbF9nb3RfcmV2aXNpb24iOyB9KTsKLSAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxSZXZpc2lv
biA9IGludGVybmFsUmV2aXNpb25Qcm9wZXJ0eSA/IHBhcnNlSW50KGludGVybmFsUmV2aXNpb25Q
cm9wZXJ0eVsxXSwgMTApIDogbnVsbDsKKyAgICAgICAgICAgIHZhciBpbnRlcm5hbFJldmlzaW9u
UHJvcGVydHkgPSBkYXRhLnByb3BlcnRpZXMuZmluZEZpcnN0KGZ1bmN0aW9uKHByb3BlcnR5KSB7
IHJldHVybiBwcm9wZXJ0eVswXSA9PT0gImludGVybmFsX2dvdF9yZXZpc2lvbiIgfHwgcHJvcGVy
dHlbMF0gPT09ICJnb3RfcmV2aXNpb24iOyB9KTsKKyAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxS
ZXZpc2lvbiA9IHBhcnNlUmV2aXNpb25Qcm9wZXJ0eShpbnRlcm5hbFJldmlzaW9uUHJvcGVydHks
ICJJbnRlcm5hbCIpOwogCiAgICAgICAgICAgICB2YXIgbGF5b3V0VGVzdFJlc3VsdHMgPSBjb2xs
ZWN0VGVzdFJlc3VsdHMuY2FsbCh0aGlzLCBkYXRhLCAibGF5b3V0LXRlc3QiKTsKICAgICAgICAg
ICAgIHRoaXMubGF5b3V0VGVzdFJlc3VsdHMgPSBsYXlvdXRUZXN0UmVzdWx0cyA/IG5ldyBCdWls
ZGJvdFRlc3RSZXN1bHRzKHRoaXMsIGxheW91dFRlc3RSZXN1bHRzKSA6IG51bGw7CmRpZmYgLS1n
aXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9VdGlsaXRpZXMuanMgYi9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2Ny
aXB0cy9VdGlsaXRpZXMuanMKaW5kZXggMmNjZGUxMTI4OTZkZDdhODA5ZDViMzg3NjMzOTI1YzMw
NWM5NmIwMC4uYTcwOTQ5NjIyYTZlNTM3ZGNmMjBlMWE2YTUwZDMxN2JmNGNlNDhhYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvVXRpbGl0aWVzLmpzCisrKyBiL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2Fy
ZC9TY3JpcHRzL1V0aWxpdGllcy5qcwpAQCAtNzUsNiArNzUsMTEgQEAgZnVuY3Rpb24gbG9hZFhN
TCh1cmwsIGNhbGxiYWNrLCBvcHRpb25zKSB7CiAgICAgcmVxdWVzdC5zZW5kKCk7CiB9OwogCitm
dW5jdGlvbiBvYmplY3RJc1N0cmluZyhvYmplY3QpCit7CisgICAgcmV0dXJuIHR5cGVvZiBvYmpl
Y3QgPT0gInN0cmluZyIgfHwgb2JqZWN0IGluc3RhbmNlb2YgU3RyaW5nOworfQorCiBOb2RlLnBy
b3RvdHlwZS5pc0FuY2VzdG9yID0gZnVuY3Rpb24obm9kZSkKIHsKICAgICBpZiAoIW5vZGUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222112</attachid>
            <date>2014-01-24 09:23:37 -0800</date>
            <delta_ts>2014-01-27 12:42:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127561-20140124092336.patch</filename>
            <type>text/plain</type>
            <size>4163</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNjIzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjdmY2U4Y2QxY2UwYWNlZGY4ODcxNWQ0OWZiMWNkNzJi
M2EzYTQ0NC4uZWVjODNhNmYwNDYzNDJmZmFjYmI5ZGZlODEzMDdjOTQzNWUwM2FiNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDE0LTAxLTI0ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBUZWFjaCBCdWlsZGJvdCBkYXNoYm9hcmQgdG8gcGFyc2UgYWx0ZXJuYXRpdmUgcmV2aXNp
b24gZm9ybWF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjc1NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgZXh0cmFjdGluZyB0aGUgT3BlblNvdXJjZSBhbmQgSW50ZXJuYWwg
cmV2aXNpb24gbnVtYmVycyB3aGVuIEJ1aWxkYm90CisgICAgICAgIHJldHVybnMgYSBkaWN0aW9u
YXJ5IGZvciB0aGUgdmFsdWUgb2YgcHJvcGVydHkgZ290X3JldmlzaW9uLgorCisgICAgICAgICog
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFz
aGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanM6CisgICAgICAgIChwYXJzZVJldmlz
aW9uUHJvcGVydHkpOiBBZGRlZDsgcGFyc2VzIEJ1aWxkYm90IHJldmlzaW9uIHByb3BlcnR5LCB3
aGljaCBjYW4gZWl0aGVyIGJlIGEKKyAgICAgICAgc3RyaW5nIG9yIGEgZGljdGlvbmFyeS4KKyAg
ICAgICAgKEJ1aWxkYm90SXRlcmF0aW9uLnByb3RvdHlwZS51cGRhdGUuKTogTW9kaWZpZWQgdG8g
Y2FsbCBwYXJzZVJldmlzaW9uUHJvcGVydHkoKSB0byBkZXRlcm1pbmUKKyAgICAgICAgdGhlIE9w
ZW5Tb3VyY2UgYW5kIEludGVybmFsIHJldmlzaW9uIG51bWJlcnMuCisgICAgICAgICogQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJk
L1NjcmlwdHMvVXRpbGl0aWVzLmpzOgorICAgICAgICAob2JqZWN0SXNTdHJpbmcpOiBBZGRlZC4K
KwogMjAxNC0wMS0yMyAgcGVhdm9Ab3V0bG9vay5jb20gIDxwZWF2b0BvdXRsb29rLmNvbT4KIAog
ICAgICAgICBbQ3VybF0gVGhlcmUgaXMgbm8gd2F5IHRvIHNwZWNpZnkgY2FjaGUgZm9sZGVyLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanMgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qcwppbmRleCAyYWRlZThhMzcx
YmIwMDc0Y2U0YTEzYjFkMmY3MzU0MWU2NTQ0MzJjLi43MWQzNDExZDMwMmZjNGVkNGI0MmFiMGRj
OTAyMWMxZWUwMTE2NWVkIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWls
ZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJv
dEl0ZXJhdGlvbi5qcworKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlv
bi5qcwpAQCAtNjIsNiArNjIsMTQgQEAgQnVpbGRib3RJdGVyYXRpb24uRXZlbnQgPSB7CiAgICAg
VXBkYXRlZDogInVwZGF0ZWQiCiB9OwogCitmdW5jdGlvbiBwYXJzZVJldmlzaW9uUHJvcGVydHko
cHJvcGVydHksIGtleSkKK3sKKyAgICBpZiAoIXByb3BlcnR5KQorICAgICAgICByZXR1cm4gbnVs
bDsKKyAgICB2YXIgdmFsdWUgPSBwcm9wZXJ0eVsxXTsKKyAgICByZXR1cm4gcGFyc2VJbnQob2Jq
ZWN0SXNTdHJpbmcodmFsdWUpID8gdmFsdWUgOiB2YWx1ZVtrZXldLCAxMCk7Cit9CisKIEJ1aWxk
Ym90SXRlcmF0aW9uLnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogQnVpbGRib3RJdGVy
YXRpb24sCiAgICAgX19wcm90b19fOiBCYXNlT2JqZWN0LnByb3RvdHlwZSwKQEAgLTIwMSwxMCAr
MjA5LDEwIEBAIEJ1aWxkYm90SXRlcmF0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAKICAgICAgICAgICAgIHZhciBvcGVuU291cmNlUmV2aXNpb25Qcm9wZXJ0eSA9
IGRhdGEucHJvcGVydGllcy5maW5kRmlyc3QoZnVuY3Rpb24ocHJvcGVydHkpIHsgcmV0dXJuIHBy
b3BlcnR5WzBdID09PSAiZ290X3JldmlzaW9uIiB8fCBwcm9wZXJ0eVswXSA9PT0gInJldmlzaW9u
IiB8fCBwcm9wZXJ0eVswXSA9PT0gIm9wZW5zb3VyY2VfZ290X3JldmlzaW9uIjsgfSk7Ci0gICAg
ICAgICAgICB0aGlzLm9wZW5Tb3VyY2VSZXZpc2lvbiA9IG9wZW5Tb3VyY2VSZXZpc2lvblByb3Bl
cnR5ID8gcGFyc2VJbnQob3BlblNvdXJjZVJldmlzaW9uUHJvcGVydHlbMV0sIDEwKSA6IG51bGw7
CisgICAgICAgICAgICB0aGlzLm9wZW5Tb3VyY2VSZXZpc2lvbiA9IHBhcnNlUmV2aXNpb25Qcm9w
ZXJ0eShvcGVuU291cmNlUmV2aXNpb25Qcm9wZXJ0eSwgIldlYktpdE9wZW5Tb3VyY2UiKTsKIAot
ICAgICAgICAgICAgdmFyIGludGVybmFsUmV2aXNpb25Qcm9wZXJ0eSA9IGRhdGEucHJvcGVydGll
cy5maW5kRmlyc3QoZnVuY3Rpb24ocHJvcGVydHkpIHsgcmV0dXJuIHByb3BlcnR5WzBdID09PSAi
aW50ZXJuYWxfZ290X3JldmlzaW9uIjsgfSk7Ci0gICAgICAgICAgICB0aGlzLmludGVybmFsUmV2
aXNpb24gPSBpbnRlcm5hbFJldmlzaW9uUHJvcGVydHkgPyBwYXJzZUludChpbnRlcm5hbFJldmlz
aW9uUHJvcGVydHlbMV0sIDEwKSA6IG51bGw7CisgICAgICAgICAgICB2YXIgaW50ZXJuYWxSZXZp
c2lvblByb3BlcnR5ID0gZGF0YS5wcm9wZXJ0aWVzLmZpbmRGaXJzdChmdW5jdGlvbihwcm9wZXJ0
eSkgeyByZXR1cm4gcHJvcGVydHlbMF0gPT09ICJpbnRlcm5hbF9nb3RfcmV2aXNpb24iIHx8IHBy
b3BlcnR5WzBdID09PSAiZ290X3JldmlzaW9uIjsgfSk7CisgICAgICAgICAgICB0aGlzLmludGVy
bmFsUmV2aXNpb24gPSBwYXJzZVJldmlzaW9uUHJvcGVydHkoaW50ZXJuYWxSZXZpc2lvblByb3Bl
cnR5LCAiSW50ZXJuYWwiKTsKIAogICAgICAgICAgICAgdmFyIGxheW91dFRlc3RSZXN1bHRzID0g
Y29sbGVjdFRlc3RSZXN1bHRzLmNhbGwodGhpcywgZGF0YSwgImxheW91dC10ZXN0Iik7CiAgICAg
ICAgICAgICB0aGlzLmxheW91dFRlc3RSZXN1bHRzID0gbGF5b3V0VGVzdFJlc3VsdHMgPyBuZXcg
QnVpbGRib3RUZXN0UmVzdWx0cyh0aGlzLCBsYXlvdXRUZXN0UmVzdWx0cykgOiBudWxsOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcv
cHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvVXRpbGl0aWVzLmpzIGIvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJk
L1NjcmlwdHMvVXRpbGl0aWVzLmpzCmluZGV4IDJjY2RlMTEyODk2ZGQ3YTgwOWQ1YjM4NzYzMzky
NWMzMDVjOTZiMDAuLmE3MDk0OTYyMmE2ZTUzN2RjZjIwZTFhNmE1MGQzMTdiZjRjZTQ4YWIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL1V0aWxpdGllcy5qcworKysgYi9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNo
Ym9hcmQvU2NyaXB0cy9VdGlsaXRpZXMuanMKQEAgLTc1LDYgKzc1LDExIEBAIGZ1bmN0aW9uIGxv
YWRYTUwodXJsLCBjYWxsYmFjaywgb3B0aW9ucykgewogICAgIHJlcXVlc3Quc2VuZCgpOwogfTsK
IAorZnVuY3Rpb24gb2JqZWN0SXNTdHJpbmcob2JqZWN0KQoreworICAgIHJldHVybiB0eXBlb2Yg
b2JqZWN0ID09ICJzdHJpbmciIHx8IG9iamVjdCBpbnN0YW5jZW9mIFN0cmluZzsKK30KKwogTm9k
ZS5wcm90b3R5cGUuaXNBbmNlc3RvciA9IGZ1bmN0aW9uKG5vZGUpCiB7CiAgICAgaWYgKCFub2Rl
KQo=
</data>
<flag name="review"
          id="246080"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222345</attachid>
            <date>2014-01-27 12:42:00 -0800</date>
            <delta_ts>2014-01-28 10:20:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>WK127561.patch</filename>
            <type>text/plain</type>
            <size>4498</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSAyZWY1MmMwODVhZjY2ZGI2YzI3ZDE1MDQwYjY1NjkzNjlmMWViZWUxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRiYXRlc0B3ZWJraXQub3JnPgpEYXRl
OiBNb24sIDI3IEphbiAyMDE0IDEyOjQxOjEyIC0wODAwClN1YmplY3Q6IFtQQVRDSF0gVGVhY2gg
QnVpbGRib3QgZGFzaGJvYXJkIHRvIHBhcnNlIGFsdGVybmF0aXZlIHJldmlzaW9uIGZvcm1hdAog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzU2MQoKUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgpBZGQgc3VwcG9ydCBmb3IgZXh0cmFjdGluZyB0aGUgT3BlblNv
dXJjZSBhbmQgSW50ZXJuYWwgcmV2aXNpb24gbnVtYmVycyB3aGVuIEJ1aWxkYm90CnJldHVybnMg
YSBkaWN0aW9uYXJ5IGZvciB0aGUgdmFsdWUgb2YgcHJvcGVydHkgZ290X3JldmlzaW9uLgoKKiBC
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNo
Ym9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qczoKKGlzTXVsdGlDb2RlYmFzZUdvdFJl
dmlzaW9uUHJvcGVydHkpOiBBZGRlZC4KKHBhcnNlUmV2aXNpb25Qcm9wZXJ0eSk6IEFkZGVkOyBw
YXJzZXMgQnVpbGRib3QgcmV2aXNpb24gcHJvcGVydHksIHdoaWNoIGNhbiBlaXRoZXIgYmUgYQpz
dHJpbmcgb3IgYSBkaWN0aW9uYXJ5LgooQnVpbGRib3RJdGVyYXRpb24ucHJvdG90eXBlLnVwZGF0
ZS4pOiBNb2RpZmllZCB0byBjYWxsIHBhcnNlUmV2aXNpb25Qcm9wZXJ0eSgpIHRvIGRldGVybWlu
ZQp0aGUgT3BlblNvdXJjZSBhbmQgSW50ZXJuYWwgcmV2aXNpb24gbnVtYmVycy4KLS0tCiAuLi4v
ZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanMgICAgICAgICAgIHwgMjAgKysr
KysrKysrKysrKysrKystLS0KIFRvb2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAz
NCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2Fy
ZC9TY3JpcHRzL0J1aWxkYm90SXRlcmF0aW9uLmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVp
bGRib3RJdGVyYXRpb24uanMKaW5kZXggMmFkZWU4YS4uMmIzZGFhZiAxMDA2NDQKLS0tIGEvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwv
ZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanMKKysrIGIvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJk
L1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanMKQEAgLTYyLDYgKzYyLDIwIEBAIEJ1aWxkYm90
SXRlcmF0aW9uLkV2ZW50ID0gewogICAgIFVwZGF0ZWQ6ICJ1cGRhdGVkIgogfTsKIAorLy8gU2Vl
IDxodHRwOi8vZG9jcy5idWlsZGJvdC5uZXQvMC44LjgvbWFudWFsL2NmZy1wcm9wZXJ0aWVzLmh0
bWw+LgorZnVuY3Rpb24gaXNNdWx0aUNvZGViYXNlR290UmV2aXNpb25Qcm9wZXJ0eShwcm9wZXJ0
eSkKK3sKKyAgICByZXR1cm4gcHJvcGVydHlbMF0gPT0gImdvdF9yZXZpc2lvbiIgJiYgdHlwZW9m
IHByb3BlcnR5WzFdID09ICJvYmplY3QiOworfQorCitmdW5jdGlvbiBwYXJzZVJldmlzaW9uUHJv
cGVydHkocHJvcGVydHksIGtleSkKK3sKKyAgICBpZiAoIXByb3BlcnR5KQorICAgICAgICByZXR1
cm4gbnVsbDsKKyAgICB2YXIgdmFsdWUgPSBwcm9wZXJ0eVsxXTsKKyAgICByZXR1cm4gcGFyc2VJ
bnQoaXNNdWx0aUNvZGViYXNlR290UmV2aXNpb25Qcm9wZXJ0eShwcm9wZXJ0eSkgPyB2YWx1ZVtr
ZXldIDogdmFsdWUsIDEwKTsKK30KKwogQnVpbGRib3RJdGVyYXRpb24ucHJvdG90eXBlID0gewog
ICAgIGNvbnN0cnVjdG9yOiBCdWlsZGJvdEl0ZXJhdGlvbiwKICAgICBfX3Byb3RvX186IEJhc2VP
YmplY3QucHJvdG90eXBlLApAQCAtMjAxLDEwICsyMTUsMTAgQEAgQnVpbGRib3RJdGVyYXRpb24u
cHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgdmFy
IG9wZW5Tb3VyY2VSZXZpc2lvblByb3BlcnR5ID0gZGF0YS5wcm9wZXJ0aWVzLmZpbmRGaXJzdChm
dW5jdGlvbihwcm9wZXJ0eSkgeyByZXR1cm4gcHJvcGVydHlbMF0gPT09ICJnb3RfcmV2aXNpb24i
IHx8IHByb3BlcnR5WzBdID09PSAicmV2aXNpb24iIHx8IHByb3BlcnR5WzBdID09PSAib3BlbnNv
dXJjZV9nb3RfcmV2aXNpb24iOyB9KTsKLSAgICAgICAgICAgIHRoaXMub3BlblNvdXJjZVJldmlz
aW9uID0gb3BlblNvdXJjZVJldmlzaW9uUHJvcGVydHkgPyBwYXJzZUludChvcGVuU291cmNlUmV2
aXNpb25Qcm9wZXJ0eVsxXSwgMTApIDogbnVsbDsKKyAgICAgICAgICAgIHRoaXMub3BlblNvdXJj
ZVJldmlzaW9uID0gcGFyc2VSZXZpc2lvblByb3BlcnR5KG9wZW5Tb3VyY2VSZXZpc2lvblByb3Bl
cnR5LCAiV2ViS2l0T3BlblNvdXJjZSIpOwogCi0gICAgICAgICAgICB2YXIgaW50ZXJuYWxSZXZp
c2lvblByb3BlcnR5ID0gZGF0YS5wcm9wZXJ0aWVzLmZpbmRGaXJzdChmdW5jdGlvbihwcm9wZXJ0
eSkgeyByZXR1cm4gcHJvcGVydHlbMF0gPT09ICJpbnRlcm5hbF9nb3RfcmV2aXNpb24iOyB9KTsK
LSAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxSZXZpc2lvbiA9IGludGVybmFsUmV2aXNpb25Qcm9w
ZXJ0eSA/IHBhcnNlSW50KGludGVybmFsUmV2aXNpb25Qcm9wZXJ0eVsxXSwgMTApIDogbnVsbDsK
KyAgICAgICAgICAgIHZhciBpbnRlcm5hbFJldmlzaW9uUHJvcGVydHkgPSBkYXRhLnByb3BlcnRp
ZXMuZmluZEZpcnN0KGZ1bmN0aW9uKHByb3BlcnR5KSB7IHJldHVybiBwcm9wZXJ0eVswXSA9PT0g
ImludGVybmFsX2dvdF9yZXZpc2lvbiIgfHwgaXNNdWx0aUNvZGViYXNlR290UmV2aXNpb25Qcm9w
ZXJ0eShwcm9wZXJ0eSk7IH0pOworICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFJldmlzaW9uID0g
cGFyc2VSZXZpc2lvblByb3BlcnR5KGludGVybmFsUmV2aXNpb25Qcm9wZXJ0eSwgIkludGVybmFs
Iik7CiAKICAgICAgICAgICAgIHZhciBsYXlvdXRUZXN0UmVzdWx0cyA9IGNvbGxlY3RUZXN0UmVz
dWx0cy5jYWxsKHRoaXMsIGRhdGEsICJsYXlvdXQtdGVzdCIpOwogICAgICAgICAgICAgdGhpcy5s
YXlvdXRUZXN0UmVzdWx0cyA9IGxheW91dFRlc3RSZXN1bHRzID8gbmV3IEJ1aWxkYm90VGVzdFJl
c3VsdHModGhpcywgbGF5b3V0VGVzdFJlc3VsdHMpIDogbnVsbDsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkNTZhZDg2Li5lNjVmYTA2IDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMTQtMDEtMjcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFRlYWNoIEJ1aWxkYm90IGRhc2hib2FyZCB0byBwYXJzZSBhbHRlcm5hdGl2ZSByZXZp
c2lvbiBmb3JtYXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyNzU2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBleHRyYWN0aW5nIHRoZSBPcGVuU291cmNlIGFuZCBJbnRlcm5h
bCByZXZpc2lvbiBudW1iZXJzIHdoZW4gQnVpbGRib3QKKyAgICAgICAgcmV0dXJucyBhIGRpY3Rp
b25hcnkgZm9yIHRoZSB2YWx1ZSBvZiBwcm9wZXJ0eSBnb3RfcmV2aXNpb24uCisKKyAgICAgICAg
KiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9k
YXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qczoKKyAgICAgICAgKGlzTXVsdGlD
b2RlYmFzZUdvdFJldmlzaW9uUHJvcGVydHkpOiBBZGRlZC4KKyAgICAgICAgKHBhcnNlUmV2aXNp
b25Qcm9wZXJ0eSk6IEFkZGVkOyBwYXJzZXMgQnVpbGRib3QgcmV2aXNpb24gcHJvcGVydHksIHdo
aWNoIGNhbiBlaXRoZXIgYmUgYQorICAgICAgICBzdHJpbmcgb3IgYSBkaWN0aW9uYXJ5LgorICAg
ICAgICAoQnVpbGRib3RJdGVyYXRpb24ucHJvdG90eXBlLnVwZGF0ZS4pOiBNb2RpZmllZCB0byBj
YWxsIHBhcnNlUmV2aXNpb25Qcm9wZXJ0eSgpIHRvIGRldGVybWluZQorICAgICAgICB0aGUgT3Bl
blNvdXJjZSBhbmQgSW50ZXJuYWwgcmV2aXNpb24gbnVtYmVycy4KKwogMjAxNC0wMS0yNyAgQ29t
bWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjE2Mjg0Ni4KLS0gCjEuOC4zLjQgKEFwcGxlIEdpdC00NykKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222464</attachid>
            <date>2014-01-28 10:20:05 -0800</date>
            <delta_ts>2014-01-28 10:40:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127561-20140128102005.patch</filename>
            <type>text/plain</type>
            <size>4492</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyODg5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2E4N2E4Njc5NzFiNzFlZGRhODY0YjNhZDdkYzU3NTE4
NWNlNzdiZS4uMjUyNTE4ZjFkMDA4MmFlOGM5NjkyN2ZmN2NhNzQ3MTg4ZjU4NDM4OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDE0LTAxLTI4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBUZWFjaCBCdWlsZGJvdCBkYXNoYm9hcmQgdG8gcGFyc2UgYWx0ZXJuYXRpdmUgcmV2aXNp
b24gZm9ybWF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjc1NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgZXh0cmFjdGluZyB0aGUgT3BlblNvdXJjZSBhbmQgSW50ZXJuYWwg
cmV2aXNpb24gbnVtYmVycyB3aGVuIEJ1aWxkYm90CisgICAgICAgIHJldHVybnMgYSBkaWN0aW9u
YXJ5IGZvciB0aGUgdmFsdWUgb2YgcHJvcGVydHkgZ290X3JldmlzaW9uLgorCisgICAgICAgICog
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFz
aGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanM6CisgICAgICAgIChpc011bHRpQ29k
ZWJhc2VHb3RSZXZpc2lvblByb3BlcnR5KTogQWRkZWQuCisgICAgICAgIChwYXJzZVJldmlzaW9u
UHJvcGVydHkpOiBBZGRlZDsgcGFyc2VzIEJ1aWxkYm90IHJldmlzaW9uIHByb3BlcnR5LCB3aGlj
aCBjYW4gZWl0aGVyIGJlIGEKKyAgICAgICAgc3RyaW5nIG9yIGEgZGljdGlvbmFyeS4KKyAgICAg
ICAgKEJ1aWxkYm90SXRlcmF0aW9uLnByb3RvdHlwZS51cGRhdGUuKTogTW9kaWZpZWQgdG8gY2Fs
bCBwYXJzZVJldmlzaW9uUHJvcGVydHkoKSB0byBkZXRlcm1pbmUKKyAgICAgICAgdGhlIE9wZW5T
b3VyY2UgYW5kIEludGVybmFsIHJldmlzaW9uIG51bWJlcnMuCisKIDIwMTQtMDEtMjcgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0IHRoZSBw
YXJ0cyBvZiByMTYyNjI5IHRoYXQgYWRkIGEgbmV3IHBsdWdpbkxvYWRQb2xpY3kgYW5kIHRoZSBj
b250ZXh0IG1lbnUgaXRlbS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1aWxk
Ym90SXRlcmF0aW9uLmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24u
anMKaW5kZXggMmFkZWU4YTM3MWJiMDA3NGNlNGExM2IxZDJmNzM1NDFlNjU0NDMyYy4uMDQ5Y2Nm
MGUwYjA0NmJmNWU4ZDZmYWYwNjEzZGRjYmMzNmE0NmQzNSAxMDA2NDQKLS0tIGEvVG9vbHMvQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJv
YXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1Njcmlw
dHMvQnVpbGRib3RJdGVyYXRpb24uanMKQEAgLTYyLDYgKzYyLDIwIEBAIEJ1aWxkYm90SXRlcmF0
aW9uLkV2ZW50ID0gewogICAgIFVwZGF0ZWQ6ICJ1cGRhdGVkIgogfTsKIAorLy8gU2VlIDxodHRw
Oi8vZG9jcy5idWlsZGJvdC5uZXQvMC44LjgvbWFudWFsL2NmZy1wcm9wZXJ0aWVzLmh0bWw+Lgor
ZnVuY3Rpb24gaXNNdWx0aUNvZGViYXNlR290UmV2aXNpb25Qcm9wZXJ0eShwcm9wZXJ0eSkKK3sK
KyAgICByZXR1cm4gcHJvcGVydHlbMF0gPT09ICJnb3RfcmV2aXNpb24iICYmIHR5cGVvZiBwcm9w
ZXJ0eVsxXSA9PT0gIm9iamVjdCI7Cit9CisKK2Z1bmN0aW9uIHBhcnNlUmV2aXNpb25Qcm9wZXJ0
eShwcm9wZXJ0eSwga2V5KQoreworICAgIGlmICghcHJvcGVydHkpCisgICAgICAgIHJldHVybiBu
dWxsOworICAgIHZhciB2YWx1ZSA9IHByb3BlcnR5WzFdOworICAgIHJldHVybiBwYXJzZUludChp
c011bHRpQ29kZWJhc2VHb3RSZXZpc2lvblByb3BlcnR5KHByb3BlcnR5KSA/IHZhbHVlW2tleV0g
OiB2YWx1ZSwgMTApOworfQorCiBCdWlsZGJvdEl0ZXJhdGlvbi5wcm90b3R5cGUgPSB7CiAgICAg
Y29uc3RydWN0b3I6IEJ1aWxkYm90SXRlcmF0aW9uLAogICAgIF9fcHJvdG9fXzogQmFzZU9iamVj
dC5wcm90b3R5cGUsCkBAIC0yMDAsMTEgKzIxNCwyNSBAQCBCdWlsZGJvdEl0ZXJhdGlvbi5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoIWRhdGEgfHwgIWRhdGEucHJvcGVydGllcykKICAg
ICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIC8vIFRoZSBwcm9wZXJ0eSBnb3Rf
cmV2aXNpb24gbWF5IGhhdmUgdGhlIGZvbGxvd2luZyBmb3JtczoKKyAgICAgICAgICAgIC8vCisg
ICAgICAgICAgICAvLyBbImdvdF9yZXZpc2lvbiIseyJJbnRlcm5hbCI6IjEzNTciLCJXZWJLaXRP
cGVuU291cmNlIjoiMjQ2OCJ9LCJTb3VyY2UiXQorICAgICAgICAgICAgLy8gT1IKKyAgICAgICAg
ICAgIC8vIFsiZ290X3JldmlzaW9uIiwiMjQ2OF8xMzU3IiwiU291cmNlIl0KKyAgICAgICAgICAg
IC8vIE9SCisgICAgICAgICAgICAvLyBbImdvdF9yZXZpc2lvbiIsIjI0NjgiLCJTb3VyY2UiXQor
ICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIFdoZW4gZXh0cmFjdGluZyB0aGUgT3BlblNv
dXJjZSByZXZpc2lvbiBmcm9tIHByb3BlcnR5IGdvdF9yZXZpc2lvbiB3ZSBkb24ndCBuZWVkIHRv
IGNoZWNrIHdoZXRoZXIgdGhlCisgICAgICAgICAgICAvLyB2YWx1ZSBvZiBnb3RfcmV2aXNpb24g
aXMgYSBkaWN0aW9uYXJ5IChyZXByZXNlbnRzIG11bHRpcGxlIGNvZGViYXNlcykgb3IgYSBzdHJp
bmcgbGl0ZXJhbCBiZWNhdXNlIHdlCisgICAgICAgICAgICAvLyBhc3N1bWUgdGhhdCBnb3RfcmV2
aXNpb24gY29udGFpbnMgdGhlIE9wZW5Tb3VyY2UgcmV2aXNpb24uIEhvd2V2ZXIsIGl0IG1heSBu
b3QgaGF2ZSB0aGUgSW50ZXJuYWwKKyAgICAgICAgICAgIC8vIHJldmlzaW9uLiBUaGVyZWZvcmUs
IHdlIG9ubHkgbG9vayBhdCBnb3RfcmV2aXNpb24gdG8gZXh0cmFjdCB0aGUgSW50ZXJuYWwgcmV2
aXNpb24gd2hlbiBpdCdzCisgICAgICAgICAgICAvLyBhIGRpY3Rpb25hcnkuCisKICAgICAgICAg
ICAgIHZhciBvcGVuU291cmNlUmV2aXNpb25Qcm9wZXJ0eSA9IGRhdGEucHJvcGVydGllcy5maW5k
Rmlyc3QoZnVuY3Rpb24ocHJvcGVydHkpIHsgcmV0dXJuIHByb3BlcnR5WzBdID09PSAiZ290X3Jl
dmlzaW9uIiB8fCBwcm9wZXJ0eVswXSA9PT0gInJldmlzaW9uIiB8fCBwcm9wZXJ0eVswXSA9PT0g
Im9wZW5zb3VyY2VfZ290X3JldmlzaW9uIjsgfSk7Ci0gICAgICAgICAgICB0aGlzLm9wZW5Tb3Vy
Y2VSZXZpc2lvbiA9IG9wZW5Tb3VyY2VSZXZpc2lvblByb3BlcnR5ID8gcGFyc2VJbnQob3BlblNv
dXJjZVJldmlzaW9uUHJvcGVydHlbMV0sIDEwKSA6IG51bGw7CisgICAgICAgICAgICB0aGlzLm9w
ZW5Tb3VyY2VSZXZpc2lvbiA9IHBhcnNlUmV2aXNpb25Qcm9wZXJ0eShvcGVuU291cmNlUmV2aXNp
b25Qcm9wZXJ0eSwgIldlYktpdE9wZW5Tb3VyY2UiKTsKIAotICAgICAgICAgICAgdmFyIGludGVy
bmFsUmV2aXNpb25Qcm9wZXJ0eSA9IGRhdGEucHJvcGVydGllcy5maW5kRmlyc3QoZnVuY3Rpb24o
cHJvcGVydHkpIHsgcmV0dXJuIHByb3BlcnR5WzBdID09PSAiaW50ZXJuYWxfZ290X3JldmlzaW9u
IjsgfSk7Ci0gICAgICAgICAgICB0aGlzLmludGVybmFsUmV2aXNpb24gPSBpbnRlcm5hbFJldmlz
aW9uUHJvcGVydHkgPyBwYXJzZUludChpbnRlcm5hbFJldmlzaW9uUHJvcGVydHlbMV0sIDEwKSA6
IG51bGw7CisgICAgICAgICAgICB2YXIgaW50ZXJuYWxSZXZpc2lvblByb3BlcnR5ID0gZGF0YS5w
cm9wZXJ0aWVzLmZpbmRGaXJzdChmdW5jdGlvbihwcm9wZXJ0eSkgeyByZXR1cm4gcHJvcGVydHlb
MF0gPT09ICJpbnRlcm5hbF9nb3RfcmV2aXNpb24iIHx8IGlzTXVsdGlDb2RlYmFzZUdvdFJldmlz
aW9uUHJvcGVydHkocHJvcGVydHkpOyB9KTsKKyAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxSZXZp
c2lvbiA9IHBhcnNlUmV2aXNpb25Qcm9wZXJ0eShpbnRlcm5hbFJldmlzaW9uUHJvcGVydHksICJJ
bnRlcm5hbCIpOwogCiAgICAgICAgICAgICB2YXIgbGF5b3V0VGVzdFJlc3VsdHMgPSBjb2xsZWN0
VGVzdFJlc3VsdHMuY2FsbCh0aGlzLCBkYXRhLCAibGF5b3V0LXRlc3QiKTsKICAgICAgICAgICAg
IHRoaXMubGF5b3V0VGVzdFJlc3VsdHMgPSBsYXlvdXRUZXN0UmVzdWx0cyA/IG5ldyBCdWlsZGJv
dFRlc3RSZXN1bHRzKHRoaXMsIGxheW91dFRlc3RSZXN1bHRzKSA6IG51bGw7Cg==
</data>
<flag name="review"
          id="246455"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>