<?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>115867</bug_id>
          
          <creation_ts>2013-05-09 11:45:47 -0700</creation_ts>
          <short_desc>[GTK] [WebKit2] Use a template file for generated GObject enum files</short_desc>
          <delta_ts>2013-05-13 10:35:07 -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>WebKitGTK</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>115966</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>886996</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-05-09 11:45:47 -0700</bug_when>
    <thetext>Using a template file greatly simplifies the build rules for generating the enum files and makes it a lot easier to integrate these steps into the cmake build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887509</commentid>
    <comment_count>1</comment_count>
      <attachid>201383</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-05-10 13:02:43 -0700</bug_when>
    <thetext>Created attachment 201383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887511</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-10 13:05:14 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887913</commentid>
    <comment_count>3</comment_count>
      <attachid>201383</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-05-12 01:46:27 -0700</bug_when>
    <thetext>Comment on attachment 201383
Patch

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

This is great, a lot cleaner, but I think we can take advantage to improve the code.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.cpp.template:22
&gt; +#include &lt;glib-object.h&gt;

This is already included by the header.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.cpp.template:34
&gt; +static const G@Type@Value _@enum_name@_values[] = {

This is not actually a global variable but specific to the given get_type function, so we can move it inside the get_type(), and then you don&apos;t need the _@enum_types_ prefix, and can simply use values[].

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.cpp.template:49
&gt; +    if (!type)

Her we could use G_UNLIKELY macro.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.h.template:38
&gt; +/*** BEGIN file-tail ***/
&gt; +G_END_DECLS
&gt; +
&gt; +#endif
&gt; +/*** END file-tail ***/

The tail goes at the end, file-production should go here. It&apos;s easier to read the template if it has the same order than the generated file.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.h.template:43
&gt; +/*** BEGIN file-production ***/
&gt; +#include &lt;webkit2/@basename@&gt;
&gt; +#
&gt; +/*** END file-production ***/

I&apos;m not sure we really need this, now that we have single header includes, when this file is included all others are already included too. Here you could add a comment like you are doing in the cpp file:

/* Enumerations from @filename@. */

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.h.template:46
&gt; +#define WEBKIT_TYPE_@ENUMSHORT@ @enum_name@_get_type()

There should be a space between @enum_name@_get_type and ().

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.h.template:51
&gt; +/*** END enumeration-production ***/

Here is where the tail goes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887965</commentid>
    <comment_count>4</comment_count>
      <attachid>201496</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-05-12 10:37:18 -0700</bug_when>
    <thetext>Created attachment 201496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887966</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-05-12 10:40:22 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 201383 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=201383&amp;action=review
&gt; 
&gt; This is great, a lot cleaner, but I think we can take advantage to improve the code.

Sure. I was focused on the cmake build, but I don&apos;t mind circling back here to fix up the file.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.cpp.template:22
&gt; &gt; +#include &lt;glib-object.h&gt;
&gt; 
&gt; This is already included by the header.

Okay.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.cpp.template:34
&gt; &gt; +static const G@Type@Value _@enum_name@_values[] = {
&gt; 
&gt; This is not actually a global variable but specific to the given get_type function, so we can move it inside the get_type(), and then you don&apos;t need the _@enum_types_ prefix, and can simply use values[].

Okay.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.cpp.template:49
&gt; &gt; +    if (!type)
&gt; 
&gt; Her we could use G_UNLIKELY macro.

Makes sense.

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.h.template:38
&gt; &gt; +/*** BEGIN file-tail ***/
&gt; &gt; +G_END_DECLS
&gt; &gt; +
&gt; &gt; +#endif
&gt; &gt; +/*** END file-tail ***/
&gt; 
&gt; The tail goes at the end, file-production should go here. It&apos;s easier to read the template if it has the same order than the generated file.

Okay. Fine by me.

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.h.template:43
&gt; &gt; +/*** BEGIN file-production ***/
&gt; &gt; +#include &lt;webkit2/@basename@&gt;
&gt; &gt; +#
&gt; &gt; +/*** END file-production ***/
&gt; 
&gt; I&apos;m not sure we really need this, now that we have single header includes, when this file is included all others are already included too. Here you could add a comment like you are doing in the cpp file:

Removing this necessitated the addition of webkit2/webkit2.h to the include list of WebKitEnumTypes.h. I could have experimented with including each header in the body of the file, but the global include seemed a lot cleaner.

&gt; 
&gt; /* Enumerations from @filename@. */
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.h.template:46
&gt; &gt; +#define WEBKIT_TYPE_@ENUMSHORT@ @enum_name@_get_type()
&gt; 
&gt; There should be a space between @enum_name@_get_type and ().

Okay.

&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitEnumTypes.h.template:51
&gt; &gt; +/*** END enumeration-production ***/
&gt; 
&gt; Here is where the tail goes.

Doesn&apos;t bother me to have it in order. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888124</commentid>
    <comment_count>6</comment_count>
      <attachid>201496</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-05-13 00:09:31 -0700</bug_when>
    <thetext>Comment on attachment 201496
Patch

Excellent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888345</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-05-13 10:35:07 -0700</bug_when>
    <thetext>Committed r150018: &lt;http://trac.webkit.org/changeset/150018&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201383</attachid>
            <date>2013-05-10 13:02:43 -0700</date>
            <delta_ts>2013-05-12 10:37:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115867-20130510130145.patch</filename>
            <type>text/plain</type>
            <size>7873</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5ODc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzM1N2NjMWZmN2I1NWVj
ZjcxYjIzNjNmNTkxOTM4NmUxNzUyMzcwZC4uZGJiNTY5ZjRiYmM2ZGYyOThiOWM3NzgyM2I0ZmJl
YzBhZmQzNTgyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA1LTEwICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBbV2Vi
S2l0Ml0gVXNlIGEgdGVtcGxhdGUgZmlsZSBmb3IgZ2VuZXJhdGVkIEdPYmplY3QgZW51bSBmaWxl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1ODY3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5hbTogVXNlIGEgdGVtcGxhdGUgZmlsZSBpbnN0ZWFkIG9mIHNwZWNpZnlpbmcgcG9y
dGlvbnMgb2YgdGhlIGZpbGUgb24gdGhlIGNvbW1hbmQtbGluZS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRFbnVtVHlwZXMuY3BwLnRlbXBsYXRlOiBBZGRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRFbnVtVHlwZXMuaC50ZW1wbGF0ZTogQWRkZWQuCisK
IDIwMTMtMDUtMDkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5h
bSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmluZGV4IGM2ZjJjZGYzYmJiZjdmN2Iy
MmVlNjlmNDFmNDhlZDllMjA4ZjcwYWYuLmQ5MzVlNTIzNWUxZjgxYTVhNTQxMzA4YWVmNjE4MDU2
MWQ0MGQyMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC0zODUsMjEgKzM4NSw3IEBAICQoR0VO
U09VUkNFU19XRUJLSVQyKS93ZWJraXQyZ3RrL3dlYmtpdDIvV2ViS2l0RW51bVR5cGVzLmg6IHN0
YW1wLXdlYmtpdDJlbnVtdHlwCiAKIHN0YW1wLXdlYmtpdDJlbnVtdHlwZXM6ICQobGlid2Via2l0
Mmd0a2luY2x1ZGVfSEVBREVSUykgJChXZWJLaXQyKS9HTlVtYWtlZmlsZS5hbQogCSQoQU1fVl9H
RU4pbWtkaXIgLXAgJChHRU5TT1VSQ0VTX1dFQktJVDIpL3dlYmtpdDJndGsvd2Via2l0MiBcCi0J
JiYgZ2xpYi1ta2VudW1zIFwKLQkJCS0tZmhlYWQgIiNpZiAhZGVmaW5lZChfX1dFQktJVDJfSF9J
TlNJREVfXykgJiYgIWRlZmluZWQoV0VCS0lUMl9DT01QSUxBVElPTilcbiIgXAotCQkJLS1maGVh
ZCAiI2Vycm9yIFwiT25seSA8d2Via2l0Mi93ZWJraXQyLmg+IGNhbiBiZSBpbmNsdWRlZCBkaXJl
Y3RseS5cIlxuIiBcCi0JCQktLWZoZWFkICIjZW5kaWZcblxuIiBcCi0JCQktLWZoZWFkICIjaWZu
ZGVmIFdFQktJVF9FTlVNX1RZUEVTX0hcbiIgXAotCQkJLS1maGVhZCAiI2RlZmluZSBXRUJLSVRf
RU5VTV9UWVBFU19IXG5cbiIgXAotCQkJLS1maGVhZCAiI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+
XG5cbiIgXAotCQkJLS1maGVhZCAiI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0RGVmaW5lcy5oPlxu
XG4iIFwKLQkJCS0tZmhlYWQgIkdfQkVHSU5fREVDTFNcblxuIiBcCi0JCQktLWZ0YWlsICJHX0VO
RF9ERUNMU1xuXG4iIFwKLQkJCS0tZnRhaWwgIiNlbmRpZlxuIiBcCi0JCQktLWZwcm9kICIjaW5j
bHVkZSA8d2Via2l0Mi9AYmFzZW5hbWVAPlxuXG4iIFwKLQkJCS0tZXByb2QgIiNkZWZpbmUgV0VC
S0lUX1RZUEVfQEVOVU1TSE9SVEAgQGVudW1fbmFtZUBfZ2V0X3R5cGUoKVxuXG4iIFwKLQkJCS0t
ZXByb2QgIldFQktJVF9BUEkgR1R5cGVcbkBlbnVtX25hbWVAX2dldF90eXBlKHZvaWQpO1xuXG4i
IFwKLQkJJChsaWJ3ZWJraXQyZ3RraW5jbHVkZV9IRUFERVJTKSB8IFwKKwkmJiBnbGliLW1rZW51
bXMgLS10ZW1wbGF0ZSAkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEVudW1UeXBl
cy5oLnRlbXBsYXRlICQobGlid2Via2l0Mmd0a2luY2x1ZGVfSEVBREVSUykgfCBcCiAJCXNlZCAn
cyx3ZWJfa2l0LHdlYmtpdCwnIHwgXAogCQlzZWQgJ3MsV0VCS0lUX1RZUEVfS0lULFdFQktJVF9U
WVBFLCcgXAogCQk+IHdrMi14Z2VuLWd0aCBcCkBAIC00MDksMjIgKzM5NSw3IEBAIHN0YW1wLXdl
YmtpdDJlbnVtdHlwZXM6ICQobGlid2Via2l0Mmd0a2luY2x1ZGVfSEVBREVSUykgJChXZWJLaXQy
KS9HTlVtYWtlZmlsZS5hCiAKICQoR0VOU09VUkNFU19XRUJLSVQyKS93ZWJraXQyZ3RrL3dlYmtp
dDIvV2ViS2l0RW51bVR5cGVzLmNwcDogJChsaWJ3ZWJraXQyZ3RraW5jbHVkZV9IRUFERVJTKSAk
KFdlYktpdDIpL0dOVW1ha2VmaWxlLmFtCiAJJChBTV9WX0dFTilta2RpciAtcCAkKEdFTlNPVVJD
RVNfV0VCS0lUMikvd2Via2l0Mmd0ay93ZWJraXQyIFwKLQkmJiBnbGliLW1rZW51bXMgXAotCQkJ
LS1maGVhZCAiI2luY2x1ZGUgPGNvbmZpZy5oPlxuIiBcCi0JCQktLWZoZWFkICIjaW5jbHVkZSA8
Z2xpYi1vYmplY3QuaD5cbiIgXAotCQkJLS1maGVhZCAiI2luY2x1ZGUgXCIkKHdlYmtpdDJndGtf
YnVpbHRfaGVhZGVyc19kaXIpL1dlYktpdEVudW1UeXBlcy5oXCJcblxuIiBcCi0JCQktLWZoZWFk
ICJleHRlcm4gXCJDXCIge1xuXG4iIFwKLQkJCS0tZnByb2QgIlxuLyogRW51bWVyYXRpb25zIGZy
b20gXCJAZmlsZW5hbWVAXCIuICovIiBcCi0JCQktLXZoZWFkICJzdGF0aWMgY29uc3QgR0BUeXBl
QFZhbHVlIF9AZW51bV9uYW1lQF92YWx1ZXNbXSA9IHsiIFwKLQkJCS0tdnByb2QgIiAgICB7IEBW
QUxVRU5BTUVALCBcIkBWQUxVRU5BTUVAXCIsIFwiQHZhbHVlbmlja0BcIiB9LCIgXAotCQkJLS12
dGFpbCAiICAgIHsgMCwgTlVMTCwgTlVMTCB9XG59O1xuXG4iIFwKLQkJCS0tdnRhaWwgIkdUeXBl
IEBlbnVtX25hbWVAX2dldF90eXBlKHZvaWQpXG57XG4iIFwKLQkJCS0tdnRhaWwgIiAgICBzdGF0
aWMgR1R5cGUgdHlwZSA9IDA7XG5cbiIgXAotCQkJLS12dGFpbCAiICAgIGlmICghdHlwZSlcbiIg
XAotCQkJLS12dGFpbCAiICAgICAgICB0eXBlID0gZ19AdHlwZUBfcmVnaXN0ZXJfc3RhdGljKFwi
QEVudW1OYW1lQFwiLCBfQGVudW1fbmFtZUBfdmFsdWVzKTtcblxuIiBcCi0JCQktLXZ0YWlsICIg
ICAgcmV0dXJuIHR5cGU7XG59XG5cbiIgXAotCQkJLS1mdGFpbCAifVxuIiBcCi0JCSQobGlid2Vi
a2l0Mmd0a2luY2x1ZGVfSEVBREVSUykgfCBcCisJJiYgZ2xpYi1ta2VudW1zIC0tdGVtcGxhdGUg
JChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRFbnVtVHlwZXMuY3BwLnRlbXBsYXRl
ICQobGlid2Via2l0Mmd0a2luY2x1ZGVfSEVBREVSUykgfCBcCiAJCXNlZCAncyx3ZWJfa2l0LHdl
YmtpdCwnIFwKIAkJPiB3azIteGdlbi1ndGMgXAogCSYmIGNwIHdrMi14Z2VuLWd0YyAkQCBcCkBA
IC03NDQsNiArNzE1LDggQEAgRVhUUkFfRElTVCArPSBcCiAJJChXZWJLaXQyKS9TY3JpcHRzL3dl
YmtpdDIvbW9kZWwucHkgXAogCSQoV2ViS2l0MikvU2NyaXB0cy93ZWJraXQyL3BhcnNlci5weSBc
CiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2d0ay93ZWJraXQybWFyc2hhbC5saXN0IFwKKwkk
KFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEVudW1UeXBlcy5oLnRlbXBsYXRlIFwK
KwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEVudW1UeXBlcy5jcHAudGVtcGxh
dGUgXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0luc3BlY3RvclNlcnZlci9mcm9udC1lbmQvaW5z
cGVjdG9yUGFnZUluZGV4Lmh0bWwgXAogCSQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3
YXJkaW5nLWhlYWRlcnMucGwgXAogCSQoc2hlbGwgbHMgJChXZWJLaXQyKS9QbHVnaW5Qcm9jZXNz
LyouaW4pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdEVudW1UeXBlcy5jcHAudGVtcGxhdGUgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRFbnVtVHlwZXMuY3BwLnRlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4NzdlMGQ1MGYz
ZjkxMGI1NjIxYmY4M2UyN2MwNDI4ZDk3YWYxMDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRFbnVtVHlwZXMuY3BwLnRlbXBsYXRlCkBA
IC0wLDAgKzEsNTggQEAKKy8qKiogQkVHSU4gZmlsZS1oZWFkZXIgKioqLworLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8Y29uZmlnLmg+CisjaW5jbHVkZSA8
Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRlICJXZWJLaXRFbnVtVHlwZXMuaCIKKworZXh0ZXJuICJD
IiB7CisvKioqIEVORCBmaWxlLWhlYWRlciAqKiovCisKKy8qKiogQkVHSU4gZmlsZS1wcm9kdWN0
aW9uICoqKi8KKy8qIEVudW1lcmF0aW9ucyBmcm9tIEBmaWxlbmFtZUAuICovCisvKioqIEVORCBm
aWxlLXByb2R1Y3Rpb24gKioqLworCisvKioqIEJFR0lOIHZhbHVlLWhlYWRlciAqKiovCisKK3N0
YXRpYyBjb25zdCBHQFR5cGVAVmFsdWUgX0BlbnVtX25hbWVAX3ZhbHVlc1tdID0geworLyoqKiBF
TkQgdmFsdWUtaGVhZGVyICoqKi8KKworLyoqKiBCRUdJTiB2YWx1ZS1wcm9kdWN0aW9uICoqKi8K
KyAgICB7IEBWQUxVRU5BTUVALCAiQFZBTFVFTkFNRUAiLCAiQHZhbHVlbmlja0AiIH0sCisvKioq
IEVORCB2YWx1ZS1wcm9kdWN0aW9uICoqKi8KKworLyoqKiBCRUdJTiB2YWx1ZS10YWlsICoqKi8K
KyAgICB7IDAsIE5VTEwsIE5VTEwgfQorfTsKKworR1R5cGUgQGVudW1fbmFtZUBfZ2V0X3R5cGUo
dm9pZCkKK3sKKyAgICBzdGF0aWMgR1R5cGUgdHlwZSA9IDA7CisKKyAgICBpZiAoIXR5cGUpCisg
ICAgICAgIHR5cGUgPSBnX0B0eXBlQF9yZWdpc3Rlcl9zdGF0aWMoIkBFbnVtTmFtZUAiLCBfQGVu
dW1fbmFtZUBfdmFsdWVzKTsKKworICAgIHJldHVybiB0eXBlOworfQorLyoqKiBFTkQgdmFsdWUt
dGFpbCAqKiovCisKKy8qKiogQkVHSU4gZmlsZS10YWlsICoqKi8KK30KKy8qKiogRU5EIGZpbGUt
dGFpbCAqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRFbnVtVHlwZXMuaC50ZW1wbGF0ZSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdEVudW1UeXBlcy5oLnRlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhMjI4NWI0MzE5Zjhm
NzIxN2VhYWY4Mzc0YjgzNjA2NDk3MTJjZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRFbnVtVHlwZXMuaC50ZW1wbGF0ZQpAQCAtMCww
ICsxLDUxIEBACisvKioqIEJFR0lOIGZpbGUtaGVhZGVyICoqKi8KKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKi8KKworI2lmICFkZWZpbmVkKF9fV0VCS0lUMl9IX0lOU0lERV9fKSAm
JiAhZGVmaW5lZChXRUJLSVQyX0NPTVBJTEFUSU9OKQorI2Vycm9yICJPbmx5IDx3ZWJraXQyL3dl
YmtpdDIuaD4gY2FuIGJlIGluY2x1ZGVkIGRpcmVjdGx5LiIKKyNlbmRpZgorCisjaWZuZGVmIFdF
QktJVF9FTlVNX1RZUEVTX0gKKyNkZWZpbmUgV0VCS0lUX0VOVU1fVFlQRVNfSAorCisjaW5jbHVk
ZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdERlZmluZXMuaD4KKwor
R19CRUdJTl9ERUNMUworLyoqKiBFTkQgZmlsZS1oZWFkZXIgKioqLworCisvKioqIEJFR0lOIGZp
bGUtdGFpbCAqKiovCitHX0VORF9ERUNMUworCisjZW5kaWYKKy8qKiogRU5EIGZpbGUtdGFpbCAq
KiovCisKKy8qKiogQkVHSU4gZmlsZS1wcm9kdWN0aW9uICoqKi8KKyNpbmNsdWRlIDx3ZWJraXQy
L0BiYXNlbmFtZUA+CisjCisvKioqIEVORCBmaWxlLXByb2R1Y3Rpb24gKioqLworCisvKioqIEJF
R0lOIGVudW1lcmF0aW9uLXByb2R1Y3Rpb24gKioqLworI2RlZmluZSBXRUJLSVRfVFlQRV9ARU5V
TVNIT1JUQCBAZW51bV9uYW1lQF9nZXRfdHlwZSgpCisKK1dFQktJVF9BUEkgR1R5cGUKK0BlbnVt
X25hbWVAX2dldF90eXBlICh2b2lkKTsKKworLyoqKiBFTkQgZW51bWVyYXRpb24tcHJvZHVjdGlv
biAqKiovCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201496</attachid>
            <date>2013-05-12 10:37:18 -0700</date>
            <delta_ts>2013-05-13 00:09:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115867-20130512103617.patch</filename>
            <type>text/plain</type>
            <size>8610</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5OTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDJhMWE1ZmNiMmM1Yzhj
NjA0YTUxYjEzMjlkMmEzMTE2YWQ0ZGVkNi4uMjUyNDBmN2Y0Y2RkMmIxM2FlNzEyMjA4MDMwODY5
OTRlNjE3ZGZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA1LTEwICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBbV2Vi
S2l0Ml0gVXNlIGEgdGVtcGxhdGUgZmlsZSBmb3IgZ2VuZXJhdGVkIEdPYmplY3QgZW51bSBmaWxl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1ODY3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5hbTogVXNlIGEgdGVtcGxhdGUgZmlsZSBpbnN0ZWFkIG9mIHNwZWNpZnlpbmcgcG9y
dGlvbnMgb2YgdGhlIGZpbGUgb24gdGhlIGNvbW1hbmQtbGluZS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRFbnVtVHlwZXMuY3BwLnRlbXBsYXRlOiBBZGRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRFbnVtVHlwZXMuaC50ZW1wbGF0ZTogQWRkZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RmluZENvbnRyb2xsZXIuY3BwOiBXZSBj
YW4gbm8gbG9uZ2VyIHJlbHkgb24gV2ViS2l0RW51bVR5cGVzLmggdG8gcHVsbCBpbiBXZWJLaXRX
ZWJWaWV3LmguCisKIDIwMTMtMDUtMTAgIFNpbW9uIENvb3BlciAgPHNjb29wZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCBBcHBsZUNvbm5lY3QgaXNzdWVzIGZvciBXaUZpIGludGVyZmFjZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUuYW0KaW5kZXggYzZmMmNkZjNiYmJmN2Y3YjIyZWU2OWY0MWY0OGVkOWUy
MDhmNzBhZi4uZDkzNWU1MjM1ZTFmODFhNWE1NDEzMDhhZWY2MTgwNTYxZDQwZDIzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYktpdDIv
R05VbWFrZWZpbGUuYW0KQEAgLTM4NSwyMSArMzg1LDcgQEAgJChHRU5TT1VSQ0VTX1dFQktJVDIp
L3dlYmtpdDJndGsvd2Via2l0Mi9XZWJLaXRFbnVtVHlwZXMuaDogc3RhbXAtd2Via2l0MmVudW10
eXAKIAogc3RhbXAtd2Via2l0MmVudW10eXBlczogJChsaWJ3ZWJraXQyZ3RraW5jbHVkZV9IRUFE
RVJTKSAkKFdlYktpdDIpL0dOVW1ha2VmaWxlLmFtCiAJJChBTV9WX0dFTilta2RpciAtcCAkKEdF
TlNPVVJDRVNfV0VCS0lUMikvd2Via2l0Mmd0ay93ZWJraXQyIFwKLQkmJiBnbGliLW1rZW51bXMg
XAotCQkJLS1maGVhZCAiI2lmICFkZWZpbmVkKF9fV0VCS0lUMl9IX0lOU0lERV9fKSAmJiAhZGVm
aW5lZChXRUJLSVQyX0NPTVBJTEFUSU9OKVxuIiBcCi0JCQktLWZoZWFkICIjZXJyb3IgXCJPbmx5
IDx3ZWJraXQyL3dlYmtpdDIuaD4gY2FuIGJlIGluY2x1ZGVkIGRpcmVjdGx5LlwiXG4iIFwKLQkJ
CS0tZmhlYWQgIiNlbmRpZlxuXG4iIFwKLQkJCS0tZmhlYWQgIiNpZm5kZWYgV0VCS0lUX0VOVU1f
VFlQRVNfSFxuIiBcCi0JCQktLWZoZWFkICIjZGVmaW5lIFdFQktJVF9FTlVNX1RZUEVTX0hcblxu
IiBcCi0JCQktLWZoZWFkICIjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD5cblxuIiBcCi0JCQktLWZo
ZWFkICIjaW5jbHVkZSA8d2Via2l0Mi9XZWJLaXREZWZpbmVzLmg+XG5cbiIgXAotCQkJLS1maGVh
ZCAiR19CRUdJTl9ERUNMU1xuXG4iIFwKLQkJCS0tZnRhaWwgIkdfRU5EX0RFQ0xTXG5cbiIgXAot
CQkJLS1mdGFpbCAiI2VuZGlmXG4iIFwKLQkJCS0tZnByb2QgIiNpbmNsdWRlIDx3ZWJraXQyL0Bi
YXNlbmFtZUA+XG5cbiIgXAotCQkJLS1lcHJvZCAiI2RlZmluZSBXRUJLSVRfVFlQRV9ARU5VTVNI
T1JUQCBAZW51bV9uYW1lQF9nZXRfdHlwZSgpXG5cbiIgXAotCQkJLS1lcHJvZCAiV0VCS0lUX0FQ
SSBHVHlwZVxuQGVudW1fbmFtZUBfZ2V0X3R5cGUodm9pZCk7XG5cbiIgXAotCQkkKGxpYndlYmtp
dDJndGtpbmNsdWRlX0hFQURFUlMpIHwgXAorCSYmIGdsaWItbWtlbnVtcyAtLXRlbXBsYXRlICQo
V2ViS2l0MikvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RW51bVR5cGVzLmgudGVtcGxhdGUgJChs
aWJ3ZWJraXQyZ3RraW5jbHVkZV9IRUFERVJTKSB8IFwKIAkJc2VkICdzLHdlYl9raXQsd2Via2l0
LCcgfCBcCiAJCXNlZCAncyxXRUJLSVRfVFlQRV9LSVQsV0VCS0lUX1RZUEUsJyBcCiAJCT4gd2sy
LXhnZW4tZ3RoIFwKQEAgLTQwOSwyMiArMzk1LDcgQEAgc3RhbXAtd2Via2l0MmVudW10eXBlczog
JChsaWJ3ZWJraXQyZ3RraW5jbHVkZV9IRUFERVJTKSAkKFdlYktpdDIpL0dOVW1ha2VmaWxlLmEK
IAogJChHRU5TT1VSQ0VTX1dFQktJVDIpL3dlYmtpdDJndGsvd2Via2l0Mi9XZWJLaXRFbnVtVHlw
ZXMuY3BwOiAkKGxpYndlYmtpdDJndGtpbmNsdWRlX0hFQURFUlMpICQoV2ViS2l0MikvR05VbWFr
ZWZpbGUuYW0KIAkkKEFNX1ZfR0VOKW1rZGlyIC1wICQoR0VOU09VUkNFU19XRUJLSVQyKS93ZWJr
aXQyZ3RrL3dlYmtpdDIgXAotCSYmIGdsaWItbWtlbnVtcyBcCi0JCQktLWZoZWFkICIjaW5jbHVk
ZSA8Y29uZmlnLmg+XG4iIFwKLQkJCS0tZmhlYWQgIiNpbmNsdWRlIDxnbGliLW9iamVjdC5oPlxu
IiBcCi0JCQktLWZoZWFkICIjaW5jbHVkZSBcIiQod2Via2l0Mmd0a19idWlsdF9oZWFkZXJzX2Rp
cikvV2ViS2l0RW51bVR5cGVzLmhcIlxuXG4iIFwKLQkJCS0tZmhlYWQgImV4dGVybiBcIkNcIiB7
XG5cbiIgXAotCQkJLS1mcHJvZCAiXG4vKiBFbnVtZXJhdGlvbnMgZnJvbSBcIkBmaWxlbmFtZUBc
Ii4gKi8iIFwKLQkJCS0tdmhlYWQgInN0YXRpYyBjb25zdCBHQFR5cGVAVmFsdWUgX0BlbnVtX25h
bWVAX3ZhbHVlc1tdID0geyIgXAotCQkJLS12cHJvZCAiICAgIHsgQFZBTFVFTkFNRUAsIFwiQFZB
TFVFTkFNRUBcIiwgXCJAdmFsdWVuaWNrQFwiIH0sIiBcCi0JCQktLXZ0YWlsICIgICAgeyAwLCBO
VUxMLCBOVUxMIH1cbn07XG5cbiIgXAotCQkJLS12dGFpbCAiR1R5cGUgQGVudW1fbmFtZUBfZ2V0
X3R5cGUodm9pZClcbntcbiIgXAotCQkJLS12dGFpbCAiICAgIHN0YXRpYyBHVHlwZSB0eXBlID0g
MDtcblxuIiBcCi0JCQktLXZ0YWlsICIgICAgaWYgKCF0eXBlKVxuIiBcCi0JCQktLXZ0YWlsICIg
ICAgICAgIHR5cGUgPSBnX0B0eXBlQF9yZWdpc3Rlcl9zdGF0aWMoXCJARW51bU5hbWVAXCIsIF9A
ZW51bV9uYW1lQF92YWx1ZXMpO1xuXG4iIFwKLQkJCS0tdnRhaWwgIiAgICByZXR1cm4gdHlwZTtc
bn1cblxuIiBcCi0JCQktLWZ0YWlsICJ9XG4iIFwKLQkJJChsaWJ3ZWJraXQyZ3RraW5jbHVkZV9I
RUFERVJTKSB8IFwKKwkmJiBnbGliLW1rZW51bXMgLS10ZW1wbGF0ZSAkKFdlYktpdDIpL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdEVudW1UeXBlcy5jcHAudGVtcGxhdGUgJChsaWJ3ZWJraXQyZ3Rr
aW5jbHVkZV9IRUFERVJTKSB8IFwKIAkJc2VkICdzLHdlYl9raXQsd2Via2l0LCcgXAogCQk+IHdr
Mi14Z2VuLWd0YyBcCiAJJiYgY3Agd2syLXhnZW4tZ3RjICRAIFwKQEAgLTc0NCw2ICs3MTUsOCBA
QCBFWFRSQV9ESVNUICs9IFwKIAkkKFdlYktpdDIpL1NjcmlwdHMvd2Via2l0Mi9tb2RlbC5weSBc
CiAJJChXZWJLaXQyKS9TY3JpcHRzL3dlYmtpdDIvcGFyc2VyLnB5IFwKIAkkKFdlYktpdDIpL1VJ
UHJvY2Vzcy9BUEkvZ3RrL3dlYmtpdDJtYXJzaGFsLmxpc3QgXAorCSQoV2ViS2l0MikvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0RW51bVR5cGVzLmgudGVtcGxhdGUgXAorCSQoV2ViS2l0MikvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0RW51bVR5cGVzLmNwcC50ZW1wbGF0ZSBcCiAJJChXZWJLaXQy
KS9VSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyL2Zyb250LWVuZC9pbnNwZWN0b3JQYWdlSW5kZXgu
aHRtbCBcCiAJJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5w
bCBcCiAJJChzaGVsbCBscyAkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MvKi5pbikgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RW51bVR5cGVzLmNw
cC50ZW1wbGF0ZSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEVudW1U
eXBlcy5jcHAudGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjkyZTFlNTU2NDRmOTE2NzgxNjBlNmJiMWUz
OGI5NTNmOWJkYjUxMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdEVudW1UeXBlcy5jcHAudGVtcGxhdGUKQEAgLTAsMCArMSw2MiBAQAor
LyoqKiBCRUdJTiBmaWxlLWhlYWRlciAqKiovCisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEln
YWxpYSBTLkwuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICovCisKKyNpbmNsdWRlIDxjb25maWcuaD4KKyNpbmNsdWRlICJXZWJLaXRFbnVtVHlwZXMu
aCIKKworI2luY2x1ZGUgPHdlYmtpdDIvd2Via2l0Mi5oPgorZXh0ZXJuICJDIiB7CisvKioqIEVO
RCBmaWxlLWhlYWRlciAqKiovCisKKworLyoqKiBCRUdJTiBmaWxlLXByb2R1Y3Rpb24gKioqLwor
Ly8gRW51bWVyYXRpb25zIGZyb20gQGZpbGVuYW1lQC4KKy8qKiogRU5EIGZpbGUtcHJvZHVjdGlv
biAqKiovCisKKworLyoqKiBCRUdJTiB2YWx1ZS1oZWFkZXIgKioqLworR1R5cGUgQGVudW1fbmFt
ZUBfZ2V0X3R5cGUoKQoreworICAgIHN0YXRpYyBjb25zdCBHQFR5cGVAVmFsdWUgdmFsdWVzW10g
PSB7CisvKioqIEVORCB2YWx1ZS1oZWFkZXIgKioqLworCisKKy8qKiogQkVHSU4gdmFsdWUtcHJv
ZHVjdGlvbiAqKiovCisgICAgICAgIHsgQFZBTFVFTkFNRUAsICJAVkFMVUVOQU1FQCIsICJAdmFs
dWVuaWNrQCIgfSwKKy8qKiogRU5EIHZhbHVlLXByb2R1Y3Rpb24gKioqLworCisKKy8qKiogQkVH
SU4gdmFsdWUtdGFpbCAqKiovCisgICAgICAgIHsgMCwgTlVMTCwgTlVMTCB9CisgICAgfTsKKwor
ICAgIHN0YXRpYyBHVHlwZSB0eXBlID0gMDsKKyAgICBpZiAoR19VTkxJS0VMWSghdHlwZSkpCisg
ICAgICAgIHR5cGUgPSBnX0B0eXBlQF9yZWdpc3Rlcl9zdGF0aWMoIkBFbnVtTmFtZUAiLCB2YWx1
ZXMpOworCisgICAgcmV0dXJuIHR5cGU7Cit9CisKKy8qKiogRU5EIHZhbHVlLXRhaWwgKioqLwor
CisKKy8qKiogQkVHSU4gZmlsZS10YWlsICoqKi8KK30KKy8qKiogRU5EIGZpbGUtdGFpbCAqKiov
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRFbnVt
VHlwZXMuaC50ZW1wbGF0ZSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dEVudW1UeXBlcy5oLnRlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyODNlMGJiZDUxNjdiZmFhZTU5ZWJk
NWZiYzY4NTQ0OTljYTZiODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRFbnVtVHlwZXMuaC50ZW1wbGF0ZQpAQCAtMCwwICsxLDU0IEBA
CisvKioqIEJFR0lOIGZpbGUtaGVhZGVyICoqKi8KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
SWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKi8KKworI2lmICFkZWZpbmVkKF9fV0VCS0lUMl9IX0lOU0lERV9fKSAmJiAhZGVmaW5l
ZChXRUJLSVQyX0NPTVBJTEFUSU9OKQorI2Vycm9yICJPbmx5IDx3ZWJraXQyL3dlYmtpdDIuaD4g
Y2FuIGJlIGluY2x1ZGVkIGRpcmVjdGx5LiIKKyNlbmRpZgorCisjaWZuZGVmIFdFQktJVF9FTlVN
X1RZUEVTX0gKKyNkZWZpbmUgV0VCS0lUX0VOVU1fVFlQRVNfSAorCisjaW5jbHVkZSA8Z2xpYi1v
YmplY3QuaD4KKyNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdERlZmluZXMuaD4KKworR19CRUdJTl9E
RUNMUworLyoqKiBFTkQgZmlsZS1oZWFkZXIgKioqLworCisKKy8qKiogQkVHSU4gZmlsZS1wcm9k
dWN0aW9uICoqKi8KKy8qIEVudW1lcmF0aW9ucyBmcm9tIEBmaWxlbmFtZUAuICovCisvKioqIEVO
RCBmaWxlLXByb2R1Y3Rpb24gKioqLworCisKKy8qKiogQkVHSU4gZW51bWVyYXRpb24tcHJvZHVj
dGlvbiAqKiovCisjZGVmaW5lIFdFQktJVF9UWVBFX0BFTlVNU0hPUlRAIEBlbnVtX25hbWVAX2dl
dF90eXBlICgpCisKK1dFQktJVF9BUEkgR1R5cGUKK0BlbnVtX25hbWVAX2dldF90eXBlICh2b2lk
KTsKKworLyoqKiBFTkQgZW51bWVyYXRpb24tcHJvZHVjdGlvbiAqKiovCisKKworLyoqKiBCRUdJ
TiBmaWxlLXRhaWwgKioqLworR19FTkRfREVDTFMKKworI2VuZGlmCisvKioqIEVORCBmaWxlLXRh
aWwgKioqLworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRGaW5kQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRGaW5kQ29udHJvbGxlci5jcHAKaW5kZXggMzUxMzhjNjJkNmY1OGQ3ODM5MmFiZTJj
N2VlZWY4MmZhMDU3ODcwMy4uNTE2YzU4MjM3YTQ0NjQyMGI4MWY1ZDI5M2EzYjAwOGU3NWYyZGVl
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Rmlu
ZENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdEZpbmRDb250cm9sbGVyLmNwcApAQCAtMjIsNiArMjIsNyBAQAogCiAjaW5jbHVkZSAiV2Vi
S2l0RW51bVR5cGVzLmgiCiAjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldl
YktpdFdlYlZpZXcuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCIKICNp
bmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIu
aD4K
</data>
<flag name="review"
          id="222825"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>