<?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>74481</bug_id>
          
          <creation_ts>2011-12-13 21:11:13 -0800</creation_ts>
          <short_desc>REGRESSION(r102663): generate-bindings.pl runs every time</short_desc>
          <delta_ts>2011-12-15 15:10: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>WebCore Misc.</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>74599</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>pkasting</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>520659</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-13 21:11:13 -0800</bug_when>
    <thetext>generate-bindings.pl should not run unless any IDL file is updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520676</commentid>
    <comment_count>1</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-13 22:09:13 -0800</bug_when>
    <thetext>[What is happening?]
In Chromium/{Windows, Mac, Linux} build, generate-bindings.pl runs at every build for (not all but) 17 IDL files, e.g. dom/EventListener.idl and dom/EventTarget.idl.

[What is the cause?]
Those 17 IDL files do not need .h and .cpp files. Thus, we stopped generating them at r102663. However, since WebCore.gyp has the build rule that &quot;.h and .cpp files should be generated from each .idl file&quot;, WebCore.gyp continues to invoke generate-bindings.pl to generate .h and .cpp files at every build (because generate-bindings.pl never generates them).

[What was written in those _meaningless_ .h and .cpp files before r102663?]
Before r102663, generate-bindings.pl normally generates .h and .cpp files based on the IDL file, but the .cpp file is not included in DerivedSources*.cpp. Actually the content of .h and .cpp files does not matter because they are never compiled. 

[How should we fix it?]
Two options are possible.

(a) Fix build scripts (e.g. WebCore.gyp) so that they do not try to generate .h and .cpp files for those IDLs.
(b) Fix generate-bindings.pl so that it generates .h and .cpp files even for those IDLs. The content of .h and .cpp should be &quot;This file is generated just to prevent build scripts from trying to generate this file at every build&quot; instead of apparently meaningful contents.

I guess that (b) is better. In case of (a), we need to fix all build scripts (for Mac, Qt, Gtk, ...).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520681</commentid>
    <comment_count>2</comment_count>
      <attachid>119154</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-13 22:22:02 -0800</bug_when>
    <thetext>Created attachment 119154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520683</commentid>
    <comment_count>3</comment_count>
      <attachid>119155</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-13 22:29:28 -0800</bug_when>
    <thetext>Created attachment 119155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520715</commentid>
    <comment_count>4</comment_count>
      <attachid>119163</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-13 23:18:04 -0800</bug_when>
    <thetext>Created attachment 119163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520933</commentid>
    <comment_count>5</comment_count>
      <attachid>119163</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-14 08:17:55 -0800</bug_when>
    <thetext>Comment on attachment 119163
Patch

Ok.  This seems like a slight hack, but it seems fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521030</commentid>
    <comment_count>6</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-12-14 10:20:32 -0800</bug_when>
    <thetext>I think comment 1 fix (a) is much better because it&apos;s not a hack.

We shouldn&apos;t optimize for saving a bit of effort now at the cost of leaving a confusing construction in the build system perpetually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521406</commentid>
    <comment_count>7</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-14 16:05:51 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt;&gt; (a) Fix build scripts (e.g. WebCore.gyp) so that they do not try to generate .h and .cpp files for those IDLs.
&gt;&gt; (b) Fix generate-bindings.pl so that it generates .h and .cpp files even for those IDLs. The content of .h and .cpp should be &quot;This file is generated just to prevent build scripts from trying to generate this file at every build&quot; instead of apparently meaningful contents.
&gt;&gt;
&gt; I think comment 1 fix (a) is much better because it&apos;s not a hack.
&gt; 
&gt; We shouldn&apos;t optimize for saving a bit of effort now at the cost of leaving a confusing construction in the build system perpetually.

Peter: Thanks for the comment. But I would feel that (b) is better in this case. I am afraid that (a) requires non-trivial efforts not only to me but also to future developers.

- Before r102663, all platforms (Chromium, AppleWebKit, Qt, Gtk, Win, Efl/WinCE/BlackBerry) are generating apparently meaningful but actually unused .h and .cpp files for those 17 IDL files, since those build scripts have a rule like this (e.g. makefile):

    %.h: %.idl
        ....

- Thus, in order to prevent those unused .h and .cpp files from being generated, we need to explicitly write a list of the IDL files in *each* build script like this:

    EXCLUDING_BINDING_IDL_FILES = dom/EventListener.idl dom/EventTarget.idl ....

In addition, a developer needs to update this list in all build scripts every time the developer adds a new IDL file that does not require .h and .cpp file. Rather than this complexity, I guess that (b) is simpler and more modest solution for this problem.

WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521518</commentid>
    <comment_count>8</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-12-14 17:33:57 -0800</bug_when>
    <thetext>&gt; - Before r102663, all platforms (Chromium, AppleWebKit, Qt, Gtk, Win, Efl/WinCE/BlackBerry) are generating apparently meaningful but actually unused .h and .cpp files for those 17 IDL files, since those build scripts have a rule like this (e.g. makefile):
&gt; 
&gt;     %.h: %.idl
&gt;         ....
&gt; 
&gt; - Thus, in order to prevent those unused .h and .cpp files from being generated, we need to explicitly write a list of the IDL files in *each* build script like this:
&gt; 
&gt;     EXCLUDING_BINDING_IDL_FILES = dom/EventListener.idl dom/EventTarget.idl ....

Maybe we should back up a bit.  In principle, how do we know whether we need to run the script on one of these &quot;silent&quot; IDL files?  Clearly the script must do *something* or we could eliminate the IDL files entirely.  So what does it do?

Answering this question might make clear how we could write an alternative build step that properly determines whether these IDL files need &quot;compilation&quot; that does not look at a bogus .h or .cpp file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521582</commentid>
    <comment_count>9</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-14 19:37:34 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Maybe we should back up a bit.  In principle, how do we know whether we need to run the script on one of these &quot;silent&quot; IDL files?  Clearly the script must do *something* or we could eliminate the IDL files entirely.  So what does it do?
&gt; 
&gt; Answering this question might make clear how we could write an alternative build step that properly determines whether these IDL files need &quot;compilation&quot; that does not look at a bogus .h or .cpp file.

There are several reasons for excluding those silent IDL files, as commented in the &apos;bindings_idl_files!&apos; target in WebCore.gyp.

Another reason that we are most focusing on in this patch and in the upcoming patches is the [Supplemental] IDL. If A.idl includes [Supplemental=B] IDL, it indicates that attributes and methods in A are implemented in B (Article: http://www.mail-archive.com/public-webapps@w3.org/msg04682.html  Meta bug: https://bugs.webkit.org/show_bug.cgi?id=72138). In this case we do not need to generate .h and .cpp files from A.idl, but we cannot know it until we parse A.idl and find the [Supplemental] IDL. So I guess that the possible options are

- (a) listing all silent IDL files in build scripts
- (b) generate &quot;empty&quot; .h and .cpp files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521673</commentid>
    <comment_count>10</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-12-14 22:37:14 -0800</bug_when>
    <thetext>I am going to leave things in Adam&apos;s capable hands.  I am sure that not only is he capable of understanding the principles behind my comments but he understands what you&apos;re doing with the IDL files far better than I do.  Whatever route he thinks is best is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521675</commentid>
    <comment_count>11</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-14 22:40:01 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; I am going to leave things in Adam&apos;s capable hands.  I am sure that not only is he capable of understanding the principles behind my comments but he understands what you&apos;re doing with the IDL files far better than I do.  Whatever route he thinks is best is fine.

Adam: WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522094</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-15 11:25:37 -0800</bug_when>
    <thetext>&gt; Adam: WDYT?

I think the approach in this patch is ok, but less than ideal.  Having these generated files isn&apos;t really causing much harm, especially if the comments in the files explain what&apos;s going on.  It might even be better to have these stub files than to have another list of IDL files in each build system that needs to be maintained.

Given the amount of trouble its been to teach the build system about Supplemental, my inclination is to move forward with this approach.  I would file a bug to revisit this issue once we&apos;ve taught the other build systems about Supplemental.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522254</commentid>
    <comment_count>13</comment_count>
      <attachid>119163</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-15 15:10:52 -0800</bug_when>
    <thetext>Comment on attachment 119163
Patch

Clearing flags on attachment: 119163

Committed r102987: &lt;http://trac.webkit.org/changeset/102987&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522255</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-15 15:10:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119154</attachid>
            <date>2011-12-13 22:22:02 -0800</date>
            <delta_ts>2011-12-13 22:29:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74481-20111214152200.patch</filename>
            <type>text/plain</type>
            <size>3212</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTFiODU5MGU2MDQ0NGZi
NzNjNGFkZDFjNjFkZmUzNWU3ZjBkNTkyYS4uZjA0NmE0ZmZjZDNhZjM1M2VkMDcyMDY4ZWZkYjAx
Zjg0NmI0NGYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTEyLTEzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKHIx
MDI2NjMpOiBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBydW5zIGV2ZXJ5IHRpbWUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDgxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VlIHRoZSBjb21tZW50ICMyIG9m
IGJ1ZyA3NDQ4MSBmb3IgdGhlIGNhdXNlIG9mIHRoaXMgYnVnLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggZml4ZXMgZ2VuZXJhdGUtYmluZGluZ3MucGwgc28gdGhhdCBpdCBnZW5lcmF0ZXMgLmggYW5k
IC5jcHAgZmlsZXMKKyAgICAgICAgZXZlbiBmb3IgSURMIGZpbGVzIHRoYXQgZG8gbm90IG5lZWQg
LmggYW5kIC5jcHAgZmlsZXMuIFRoaXMgaXMganVzdCB0byBwcmV2ZW50CisgICAgICAgIGJ1aWxk
IHNjcmlwdHMgZnJvbSB0cnlpbmcgdG8gZ2VuZXJhdGUgLmggYW5kIC5jcHAgZmlsZXMgYXQgZXZl
cnkgYnVpbGQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3Iu
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsOgorICAg
ICAgICAoZ2VuZXJhdGVFbXB0eUhlYWRlckFuZENwcCk6IEdlbmVyYXRlcyAuaCBhbmQgLmNwcCBm
aWxlcyBmb3IgSURMIGZpbGVzCisgICAgICAgIHRoYXQgZG8gbm90IG5lZWQgLmggYW5kIC5jcHAg
ZmlsZXMuCisKIDIwMTEtMTItMTMgIFJvYmluIER1bm4gIDxyb2JpbkBhbGxkdW5uLmNvbT4KIAog
ICAgICAgICBEb24ndCBtYWtlIHRoZSBiaXRtYXAgdHJhbnNwYXJlbnQgd2hlbiB1c2luZyB0aGVt
ZSBkcmF3aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dl
bmVyYXRlLWJpbmRpbmdzLnBsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5l
cmF0ZS1iaW5kaW5ncy5wbAppbmRleCA4NGI3M2VkNTBhZjFlMzIxYzNlZjkyMGEyMWExOTE3ZDIy
OWQ2ODY3Li5hY2MxYmI5ZmE3OTMwNjkxNjkwMWU0NzgyNjFlZjNlZTllZDczNTg0IDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3Mu
cGwKQEAgLTExOCw5ICsxMTgsOCBAQCBpZiAoJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlKSB7
CiAgICAgfQogCiAgICAgaWYgKCEkaWRsRm91bmQpIHsKLSAgICAgICAgaWYgKCR2ZXJib3NlKSB7
Ci0gICAgICAgICAgICBwcmludCAiJHRhcmdldElkbEZpbGUgaXMgc3VwcGxlbWVudGluZyBhbm90
aGVyIElETCBmaWxlLCBhbmQgdGh1cyAuaCBhbmQgLmNwcCBmb3IgJHRhcmdldElkbEZpbGUgYXJl
IG5vdCBnZW5lcmF0ZWQuXG4iOwotICAgICAgICB9CisgICAgICAgICMgV2UgZ2VuZXJhdGUgZW1w
dHkgLmggYW5kIC5jcHAgZmlsZXMganVzdCB0byB0ZWxsIGJ1aWxkIHNjcmlwdHMgdGhhdCAuaCBh
bmQgLmNwcCBmaWxlcyBhcmUgY3JlYXRlZC4KKyAgICAgICAgZ2VuZXJhdGVFbXB0eUhlYWRlckFu
ZENwcCgkZ2VuZXJhdG9yLCAkdGFyZ2V0SW50ZXJmYWNlTmFtZSwgJG91dHB1dEhlYWRlcnNEaXJl
Y3RvcnksICRvdXRwdXREaXJlY3RvcnkpOwogICAgICAgICBleGl0IDA7CiAgICAgfQogfQpAQCAt
MjM4LDMgKzIzNywyNSBAQCBmb3JlYWNoIG15ICRpZGxGaWxlIChAc3VwcGxlbWVudGVkSWRsRmls
ZXMpIHsKICMgR2VuZXJhdGUgZGVzaXJlZCBvdXRwdXQgZm9yIHRoZSB0YXJnZXQgSURMIGZpbGUu
CiBteSAkY29kZUdlbiA9IENvZGVHZW5lcmF0b3ItPm5ldyhcQGlkbERpcmVjdG9yaWVzLCAkZ2Vu
ZXJhdG9yLCAkb3V0cHV0RGlyZWN0b3J5LCAkb3V0cHV0SGVhZGVyc0RpcmVjdG9yeSwgMCwgJHBy
ZXByb2Nlc3NvciwgJHdyaXRlRGVwZW5kZW5jaWVzLCAkdmVyYm9zZSk7CiAkY29kZUdlbi0+UHJv
Y2Vzc0RvY3VtZW50KCR0YXJnZXREb2N1bWVudCwgJGRlZmluZXMpOworCitzdWIgZ2VuZXJhdGVF
bXB0eUhlYWRlckFuZENwcAoreworICAgIG15ICgkZ2VuZXJhdG9yLCAkdGFyZ2V0SW50ZXJmYWNl
TmFtZSwgJG91dHB1dEhlYWRlcnNEaXJlY3RvcnksICRvdXRwdXREaXJlY3RvcnkpID0gQF87CisK
KyAgICBteSAkaGVhZGVyTmFtZSA9ICIke2dlbmVyYXRvcn0ke3RhcmdldEludGVyZmFjZU5hbWV9
LmgiOworICAgIG15ICRjcHBOYW1lID0gIiR7Z2VuZXJhdG9yfSR7dGFyZ2V0SW50ZXJmYWNlTmFt
ZX0uY3BwIjsKKyAgICBteSAkY29udGVudHMgPSAiLyoKKyAgICBUaGlzIGZpbGUgaXMgZ2VuZXJh
dGVkIGp1c3QgdG8gdGVsbCBidWlsZCBzY3JpcHRzIHRoYXQgJHt0YXJnZXRJbnRlcmZhY2VOYW1l
fS5oIGFuZAorICAgICR7dGFyZ2V0SW50ZXJmYWNlTmFtZX0uY3BwIGFyZSBjcmVhdGVkIGZvciAk
e3RhcmdldEludGVyZmFjZU5hbWV9LmlkbCwgYW5kIHRodXMKKyAgICBwcmV2ZW50IHRoZSBidWls
ZCBzY3JpcHRzIGZyb20gdHJ5aW5nIHRvIGdlbmVyYXRlICR7dGFyZ2V0SW50ZXJmYWNlTmFtZX0u
aCBhbmQKKyAgICAke3RhcmdldEludGVyZmFjZU5hbWV9LmNwcCBhdCBldmVyeSBidWlsZC4gVGhp
cyBmaWxlIG11c3Qgbm90IGJlIHRyaWVkIHRvIGNvbXBpbGUuCisqLworIjsKKyAgICBvcGVuIEZI
LCAiPiAke291dHB1dEhlYWRlcnNEaXJlY3Rvcnl9LyR7aGVhZGVyTmFtZX0iIG9yIGRpZSAiQ2Fu
bm90IG9wZW4gJGhlYWRlck5hbWVcbiI7CisgICAgcHJpbnQgRkggJGNvbnRlbnRzOworICAgIGNs
b3NlIEZIOworCisgICAgb3BlbiBGSCwgIj4gJHtvdXRwdXREaXJlY3Rvcnl9LyR7Y3BwTmFtZX0i
IG9yIGRpZSAiQ2Fubm90IG9wZW4gJGNwcE5hbWVcbiI7CisgICAgcHJpbnQgRkggJGNvbnRlbnRz
OworICAgIGNsb3NlIEZIOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119155</attachid>
            <date>2011-12-13 22:29:28 -0800</date>
            <delta_ts>2011-12-13 23:17:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74481-20111214152926.patch</filename>
            <type>text/plain</type>
            <size>3150</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTFiODU5MGU2MDQ0NGZi
NzNjNGFkZDFjNjFkZmUzNWU3ZjBkNTkyYS4uOTg5YWQxZmU1ODMyMzYzMzM1YTA2NmFlMzlhOGU4
YTMzMjgyMTZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTEyLTEzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKHIx
MDI2NjMpOiBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBydW5zIGV2ZXJ5IHRpbWUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDgxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VlIHRoZSBjb21tZW50ICMxIG9m
IGJ1ZyA3NDQ4MSBmb3IgdGhlIGNhdXNlIG9mIHRoaXMgYnVnLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggZml4ZXMgZ2VuZXJhdGUtYmluZGluZ3MucGwgc28gdGhhdCBpdCBnZW5lcmF0ZXMgLmggYW5k
IC5jcHAgZmlsZXMKKyAgICAgICAgZXZlbiBmb3IgSURMIGZpbGVzIHRoYXQgZG8gbm90IG5lZWQg
LmggYW5kIC5jcHAgZmlsZXMuIFRoaXMgaXMganVzdCB0byBwcmV2ZW50CisgICAgICAgIGJ1aWxk
IHNjcmlwdHMgZnJvbSB0cnlpbmcgdG8gZ2VuZXJhdGUgLmggYW5kIC5jcHAgZmlsZXMgYXQgZXZl
cnkgYnVpbGQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3Iu
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsOgorICAg
ICAgICAoZ2VuZXJhdGVFbXB0eUhlYWRlckFuZENwcCk6IEdlbmVyYXRlcyAuaCBhbmQgLmNwcCBm
aWxlcyBmb3IgSURMIGZpbGVzCisgICAgICAgIHRoYXQgZG8gbm90IG5lZWQgLmggYW5kIC5jcHAg
ZmlsZXMuCisKIDIwMTEtMTItMTMgIFJvYmluIER1bm4gIDxyb2JpbkBhbGxkdW5uLmNvbT4KIAog
ICAgICAgICBEb24ndCBtYWtlIHRoZSBiaXRtYXAgdHJhbnNwYXJlbnQgd2hlbiB1c2luZyB0aGVt
ZSBkcmF3aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dl
bmVyYXRlLWJpbmRpbmdzLnBsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5l
cmF0ZS1iaW5kaW5ncy5wbAppbmRleCA4NGI3M2VkNTBhZjFlMzIxYzNlZjkyMGEyMWExOTE3ZDIy
OWQ2ODY3Li5kMjQ5NDVlNjQ3YzAwYTRmOWI1MWM3MzliOTZkY2Q1MzkwNTQ1Y2RlIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3Mu
cGwKQEAgLTExOCw5ICsxMTgsOCBAQCBpZiAoJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlKSB7
CiAgICAgfQogCiAgICAgaWYgKCEkaWRsRm91bmQpIHsKLSAgICAgICAgaWYgKCR2ZXJib3NlKSB7
Ci0gICAgICAgICAgICBwcmludCAiJHRhcmdldElkbEZpbGUgaXMgc3VwcGxlbWVudGluZyBhbm90
aGVyIElETCBmaWxlLCBhbmQgdGh1cyAuaCBhbmQgLmNwcCBmb3IgJHRhcmdldElkbEZpbGUgYXJl
IG5vdCBnZW5lcmF0ZWQuXG4iOwotICAgICAgICB9CisgICAgICAgICMgV2UgZ2VuZXJhdGUgZW1w
dHkgLmggYW5kIC5jcHAgZmlsZXMganVzdCB0byB0ZWxsIGJ1aWxkIHNjcmlwdHMgdGhhdCAuaCBh
bmQgLmNwcCBmaWxlcyBhcmUgY3JlYXRlZC4KKyAgICAgICAgZ2VuZXJhdGVFbXB0eUhlYWRlckFu
ZENwcCgkZ2VuZXJhdG9yLCAkdGFyZ2V0SW50ZXJmYWNlTmFtZSwgJG91dHB1dEhlYWRlcnNEaXJl
Y3RvcnksICRvdXRwdXREaXJlY3RvcnkpOwogICAgICAgICBleGl0IDA7CiAgICAgfQogfQpAQCAt
MjM4LDMgKzIzNywyNSBAQCBmb3JlYWNoIG15ICRpZGxGaWxlIChAc3VwcGxlbWVudGVkSWRsRmls
ZXMpIHsKICMgR2VuZXJhdGUgZGVzaXJlZCBvdXRwdXQgZm9yIHRoZSB0YXJnZXQgSURMIGZpbGUu
CiBteSAkY29kZUdlbiA9IENvZGVHZW5lcmF0b3ItPm5ldyhcQGlkbERpcmVjdG9yaWVzLCAkZ2Vu
ZXJhdG9yLCAkb3V0cHV0RGlyZWN0b3J5LCAkb3V0cHV0SGVhZGVyc0RpcmVjdG9yeSwgMCwgJHBy
ZXByb2Nlc3NvciwgJHdyaXRlRGVwZW5kZW5jaWVzLCAkdmVyYm9zZSk7CiAkY29kZUdlbi0+UHJv
Y2Vzc0RvY3VtZW50KCR0YXJnZXREb2N1bWVudCwgJGRlZmluZXMpOworCitzdWIgZ2VuZXJhdGVF
bXB0eUhlYWRlckFuZENwcAoreworICAgIG15ICgkZ2VuZXJhdG9yLCAkdGFyZ2V0SW50ZXJmYWNl
TmFtZSwgJG91dHB1dEhlYWRlcnNEaXJlY3RvcnksICRvdXRwdXREaXJlY3RvcnkpID0gQF87CisK
KyAgICBteSAkaGVhZGVyTmFtZSA9ICIke2dlbmVyYXRvcn0ke3RhcmdldEludGVyZmFjZU5hbWV9
LmgiOworICAgIG15ICRjcHBOYW1lID0gIiR7Z2VuZXJhdG9yfSR7dGFyZ2V0SW50ZXJmYWNlTmFt
ZX0uY3BwIjsKKyAgICBteSAkY29udGVudHMgPSAiLyoKKyAgICBUaGlzIGZpbGUgaXMgZ2VuZXJh
dGVkIGp1c3QgdG8gdGVsbCBidWlsZCBzY3JpcHRzIHRoYXQgJGhlYWRlck5hbWUgYW5kCisgICAg
JGNwcE5hbWUgYXJlIGNyZWF0ZWQgZm9yICR7dGFyZ2V0SW50ZXJmYWNlTmFtZX0uaWRsLCBhbmQg
dGh1cworICAgIHByZXZlbnQgdGhlIGJ1aWxkIHNjcmlwdHMgZnJvbSB0cnlpbmcgdG8gZ2VuZXJh
dGUgJGhlYWRlck5hbWUgYW5kCisgICAgJGNwcE5hbWUgYXQgZXZlcnkgYnVpbGQuIFRoaXMgZmls
ZSBtdXN0IG5vdCBiZSB0cmllZCB0byBjb21waWxlLgorKi8KKyI7CisgICAgb3BlbiBGSCwgIj4g
JHtvdXRwdXRIZWFkZXJzRGlyZWN0b3J5fS8ke2hlYWRlck5hbWV9IiBvciBkaWUgIkNhbm5vdCBv
cGVuICRoZWFkZXJOYW1lXG4iOworICAgIHByaW50IEZIICRjb250ZW50czsKKyAgICBjbG9zZSBG
SDsKKworICAgIG9wZW4gRkgsICI+ICR7b3V0cHV0RGlyZWN0b3J5fS8ke2NwcE5hbWV9IiBvciBk
aWUgIkNhbm5vdCBvcGVuICRjcHBOYW1lXG4iOworICAgIHByaW50IEZIICRjb250ZW50czsKKyAg
ICBjbG9zZSBGSDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119163</attachid>
            <date>2011-12-13 23:18:04 -0800</date>
            <delta_ts>2011-12-15 15:10:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74481-20111214161803.patch</filename>
            <type>text/plain</type>
            <size>10807</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmY2MjQxYTZhZjA5M2Rj
NTMzM2ZiZThjNzg3ZTgwNGE5NWIxNDg1OS4uNDg3OWQ5YWIyNTA4NGIxYmFlYmE4ODAxNGNmZTlj
ODhmOGI1MjljYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTEyLTEzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKHIx
MDI2NjMpOiBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBydW5zIGV2ZXJ5IHRpbWUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDgxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VlIHRoZSBjb21tZW50ICMxIG9m
IGJ1ZyA3NDQ4MSBmb3IgdGhlIGNhdXNlIG9mIHRoaXMgYnVnLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggZml4ZXMgZ2VuZXJhdGUtYmluZGluZ3MucGwgc28gdGhhdCBpdCBnZW5lcmF0ZXMgLmggYW5k
IC5jcHAgZmlsZXMKKyAgICAgICAgZXZlbiBmb3IgSURMIGZpbGVzIHRoYXQgZG8gbm90IG5lZWQg
LmggYW5kIC5jcHAgZmlsZXMuIFRoaXMgaXMganVzdCB0byBwcmV2ZW50CisgICAgICAgIGJ1aWxk
IHNjcmlwdHMgZnJvbSB0cnlpbmcgdG8gZ2VuZXJhdGUgLmggYW5kIC5jcHAgZmlsZXMgYXQgZXZl
cnkgYnVpbGQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3Iu
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsOgorICAg
ICAgICAoZ2VuZXJhdGVFbXB0eUhlYWRlckFuZENwcCk6IEdlbmVyYXRlcyAuaCBhbmQgLmNwcCBm
aWxlcyBmb3IgSURMIGZpbGVzCisgICAgICAgIHRoYXQgZG8gbm90IG5lZWQgLmggYW5kIC5jcHAg
ZmlsZXMuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9DUFBUZXN0U3VwcGxl
bWVudGFsLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9D
UFBUZXN0U3VwcGxlbWVudGFsLmg6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L0dPYmplY3RUZXN0U3VwcGxlbWVudGFsLmNwcDogQWRkZWQuCisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvR09iamVjdFRlc3RTdXBwbGVtZW50YWwu
aDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN1cHBs
ZW1lbnRhbC5jcHA6IEFkZGVkLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RTdXBwbGVtZW50YWwuaDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvT2JqQ1Rlc3RTdXBwbGVtZW50YWwuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9PYmpDVGVzdFN1cHBsZW1lbnRhbC5oOiBBZGRlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U3VwcGxlbWVudGFsLmNwcDog
QWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFN1cHBsZW1l
bnRhbC5oOiBBZGRlZC4KKwogMjAxMS0xMi0xMyAgWW9zaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBEZWZhdWx0IHNlbGVjdGlvbiBvZiBzZWxlY3Qo
bWVudWxpc3QpIHNob3VsZCBub3QgYmUgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsCmluZGV4IDg0YjczZWQ1MGFm
MWUzMjFjM2VmOTIwYTIxYTE5MTdkMjI5ZDY4NjcuLmQyNDk0NWU2NDdjMDBhNGY5YjUxYzczOWI5
NmRjZDUzOTA1NDVjZGUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbApAQCAtMTE4LDkgKzExOCw4IEBAIGlmICgkc3VwcGxl
bWVudGFsRGVwZW5kZW5jeUZpbGUpIHsKICAgICB9CiAKICAgICBpZiAoISRpZGxGb3VuZCkgewot
ICAgICAgICBpZiAoJHZlcmJvc2UpIHsKLSAgICAgICAgICAgIHByaW50ICIkdGFyZ2V0SWRsRmls
ZSBpcyBzdXBwbGVtZW50aW5nIGFub3RoZXIgSURMIGZpbGUsIGFuZCB0aHVzIC5oIGFuZCAuY3Bw
IGZvciAkdGFyZ2V0SWRsRmlsZSBhcmUgbm90IGdlbmVyYXRlZC5cbiI7Ci0gICAgICAgIH0KKyAg
ICAgICAgIyBXZSBnZW5lcmF0ZSBlbXB0eSAuaCBhbmQgLmNwcCBmaWxlcyBqdXN0IHRvIHRlbGwg
YnVpbGQgc2NyaXB0cyB0aGF0IC5oIGFuZCAuY3BwIGZpbGVzIGFyZSBjcmVhdGVkLgorICAgICAg
ICBnZW5lcmF0ZUVtcHR5SGVhZGVyQW5kQ3BwKCRnZW5lcmF0b3IsICR0YXJnZXRJbnRlcmZhY2VO
YW1lLCAkb3V0cHV0SGVhZGVyc0RpcmVjdG9yeSwgJG91dHB1dERpcmVjdG9yeSk7CiAgICAgICAg
IGV4aXQgMDsKICAgICB9CiB9CkBAIC0yMzgsMyArMjM3LDI1IEBAIGZvcmVhY2ggbXkgJGlkbEZp
bGUgKEBzdXBwbGVtZW50ZWRJZGxGaWxlcykgewogIyBHZW5lcmF0ZSBkZXNpcmVkIG91dHB1dCBm
b3IgdGhlIHRhcmdldCBJREwgZmlsZS4KIG15ICRjb2RlR2VuID0gQ29kZUdlbmVyYXRvci0+bmV3
KFxAaWRsRGlyZWN0b3JpZXMsICRnZW5lcmF0b3IsICRvdXRwdXREaXJlY3RvcnksICRvdXRwdXRI
ZWFkZXJzRGlyZWN0b3J5LCAwLCAkcHJlcHJvY2Vzc29yLCAkd3JpdGVEZXBlbmRlbmNpZXMsICR2
ZXJib3NlKTsKICRjb2RlR2VuLT5Qcm9jZXNzRG9jdW1lbnQoJHRhcmdldERvY3VtZW50LCAkZGVm
aW5lcyk7CisKK3N1YiBnZW5lcmF0ZUVtcHR5SGVhZGVyQW5kQ3BwCit7CisgICAgbXkgKCRnZW5l
cmF0b3IsICR0YXJnZXRJbnRlcmZhY2VOYW1lLCAkb3V0cHV0SGVhZGVyc0RpcmVjdG9yeSwgJG91
dHB1dERpcmVjdG9yeSkgPSBAXzsKKworICAgIG15ICRoZWFkZXJOYW1lID0gIiR7Z2VuZXJhdG9y
fSR7dGFyZ2V0SW50ZXJmYWNlTmFtZX0uaCI7CisgICAgbXkgJGNwcE5hbWUgPSAiJHtnZW5lcmF0
b3J9JHt0YXJnZXRJbnRlcmZhY2VOYW1lfS5jcHAiOworICAgIG15ICRjb250ZW50cyA9ICIvKgor
ICAgIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQganVzdCB0byB0ZWxsIGJ1aWxkIHNjcmlwdHMgdGhh
dCAkaGVhZGVyTmFtZSBhbmQKKyAgICAkY3BwTmFtZSBhcmUgY3JlYXRlZCBmb3IgJHt0YXJnZXRJ
bnRlcmZhY2VOYW1lfS5pZGwsIGFuZCB0aHVzCisgICAgcHJldmVudCB0aGUgYnVpbGQgc2NyaXB0
cyBmcm9tIHRyeWluZyB0byBnZW5lcmF0ZSAkaGVhZGVyTmFtZSBhbmQKKyAgICAkY3BwTmFtZSBh
dCBldmVyeSBidWlsZC4gVGhpcyBmaWxlIG11c3Qgbm90IGJlIHRyaWVkIHRvIGNvbXBpbGUuCisq
LworIjsKKyAgICBvcGVuIEZILCAiPiAke291dHB1dEhlYWRlcnNEaXJlY3Rvcnl9LyR7aGVhZGVy
TmFtZX0iIG9yIGRpZSAiQ2Fubm90IG9wZW4gJGhlYWRlck5hbWVcbiI7CisgICAgcHJpbnQgRkgg
JGNvbnRlbnRzOworICAgIGNsb3NlIEZIOworCisgICAgb3BlbiBGSCwgIj4gJHtvdXRwdXREaXJl
Y3Rvcnl9LyR7Y3BwTmFtZX0iIG9yIGRpZSAiQ2Fubm90IG9wZW4gJGNwcE5hbWVcbiI7CisgICAg
cHJpbnQgRkggJGNvbnRlbnRzOworICAgIGNsb3NlIEZIOworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9DUFBUZXN0U3VwcGxlbWVudGFsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvQ1BQVGVzdFN1cHBs
ZW1lbnRhbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjUzYTg2ZDVlZWU5YWI1MDU4MGVjZjFhMmJjMGZiOTlk
NjRjN2FkMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9DUFAvQ1BQVGVzdFN1cHBsZW1lbnRhbC5jcHAKQEAgLTAsMCArMSw2IEBACisvKgor
ICAgIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQganVzdCB0byB0ZWxsIGJ1aWxkIHNjcmlwdHMgdGhh
dCBDUFBUZXN0U3VwcGxlbWVudGFsLmggYW5kCisgICAgQ1BQVGVzdFN1cHBsZW1lbnRhbC5jcHAg
YXJlIGNyZWF0ZWQgZm9yIFRlc3RTdXBwbGVtZW50YWwuaWRsLCBhbmQgdGh1cworICAgIHByZXZl
bnQgdGhlIGJ1aWxkIHNjcmlwdHMgZnJvbSB0cnlpbmcgdG8gZ2VuZXJhdGUgQ1BQVGVzdFN1cHBs
ZW1lbnRhbC5oIGFuZAorICAgIENQUFRlc3RTdXBwbGVtZW50YWwuY3BwIGF0IGV2ZXJ5IGJ1aWxk
LiBUaGlzIGZpbGUgbXVzdCBub3QgYmUgdHJpZWQgdG8gY29tcGlsZS4KKyovCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL0NQUFRlc3RTdXBwbGVt
ZW50YWwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvQ1BQVGVz
dFN1cHBsZW1lbnRhbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1M2E4NmQ1ZWVlOWFiNTA1ODBlY2YxYTJiYzBm
Yjk5ZDY0YzdhZDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvQ1BQL0NQUFRlc3RTdXBwbGVtZW50YWwuaApAQCAtMCwwICsxLDYgQEAKKy8q
CisgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBqdXN0IHRvIHRlbGwgYnVpbGQgc2NyaXB0cyB0
aGF0IENQUFRlc3RTdXBwbGVtZW50YWwuaCBhbmQKKyAgICBDUFBUZXN0U3VwcGxlbWVudGFsLmNw
cCBhcmUgY3JlYXRlZCBmb3IgVGVzdFN1cHBsZW1lbnRhbC5pZGwsIGFuZCB0aHVzCisgICAgcHJl
dmVudCB0aGUgYnVpbGQgc2NyaXB0cyBmcm9tIHRyeWluZyB0byBnZW5lcmF0ZSBDUFBUZXN0U3Vw
cGxlbWVudGFsLmggYW5kCisgICAgQ1BQVGVzdFN1cHBsZW1lbnRhbC5jcHAgYXQgZXZlcnkgYnVp
bGQuIFRoaXMgZmlsZSBtdXN0IG5vdCBiZSB0cmllZCB0byBjb21waWxlLgorKi8KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L0dPYmplY3RU
ZXN0U3VwcGxlbWVudGFsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L0dPYmplY3RUZXN0U3VwcGxlbWVudGFsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzE4Y2U1
NDUxZTkxMWM5ZGU3NGEwM2NiYzg0ZGYxYzZmZDIyYjM3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvR09iamVjdFRlc3RTdXBw
bGVtZW50YWwuY3BwCkBAIC0wLDAgKzEsNiBAQAorLyoKKyAgICBUaGlzIGZpbGUgaXMgZ2VuZXJh
dGVkIGp1c3QgdG8gdGVsbCBidWlsZCBzY3JpcHRzIHRoYXQgR09iamVjdFRlc3RTdXBwbGVtZW50
YWwuaCBhbmQKKyAgICBHT2JqZWN0VGVzdFN1cHBsZW1lbnRhbC5jcHAgYXJlIGNyZWF0ZWQgZm9y
IFRlc3RTdXBwbGVtZW50YWwuaWRsLCBhbmQgdGh1cworICAgIHByZXZlbnQgdGhlIGJ1aWxkIHNj
cmlwdHMgZnJvbSB0cnlpbmcgdG8gZ2VuZXJhdGUgR09iamVjdFRlc3RTdXBwbGVtZW50YWwuaCBh
bmQKKyAgICBHT2JqZWN0VGVzdFN1cHBsZW1lbnRhbC5jcHAgYXQgZXZlcnkgYnVpbGQuIFRoaXMg
ZmlsZSBtdXN0IG5vdCBiZSB0cmllZCB0byBjb21waWxlLgorKi8KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L0dPYmplY3RUZXN0U3VwcGxl
bWVudGFsLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9H
T2JqZWN0VGVzdFN1cHBsZW1lbnRhbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzMThjZTU0NTFlOTExYzlkZTc0
YTAzY2JjODRkZjFjNmZkMjJiMzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9HT2JqZWN0VGVzdFN1cHBsZW1lbnRhbC5oCkBA
IC0wLDAgKzEsNiBAQAorLyoKKyAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGp1c3QgdG8gdGVs
bCBidWlsZCBzY3JpcHRzIHRoYXQgR09iamVjdFRlc3RTdXBwbGVtZW50YWwuaCBhbmQKKyAgICBH
T2JqZWN0VGVzdFN1cHBsZW1lbnRhbC5jcHAgYXJlIGNyZWF0ZWQgZm9yIFRlc3RTdXBwbGVtZW50
YWwuaWRsLCBhbmQgdGh1cworICAgIHByZXZlbnQgdGhlIGJ1aWxkIHNjcmlwdHMgZnJvbSB0cnlp
bmcgdG8gZ2VuZXJhdGUgR09iamVjdFRlc3RTdXBwbGVtZW50YWwuaCBhbmQKKyAgICBHT2JqZWN0
VGVzdFN1cHBsZW1lbnRhbC5jcHAgYXQgZXZlcnkgYnVpbGQuIFRoaXMgZmlsZSBtdXN0IG5vdCBi
ZSB0cmllZCB0byBjb21waWxlLgorKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdXBwbGVtZW50YWwuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN1cHBsZW1lbnRhbC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjZkMzIxNGU0YWY4MTY1MDFlMzJiNGNlYzM2MzQwZTQ0NmRkOGJlNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dXBwbGVtZW50YWwuY3BwCkBAIC0wLDAgKzEsNiBAQAorLyoKKyAgICBUaGlzIGZpbGUgaXMgZ2Vu
ZXJhdGVkIGp1c3QgdG8gdGVsbCBidWlsZCBzY3JpcHRzIHRoYXQgSlNUZXN0U3VwcGxlbWVudGFs
LmggYW5kCisgICAgSlNUZXN0U3VwcGxlbWVudGFsLmNwcCBhcmUgY3JlYXRlZCBmb3IgVGVzdFN1
cHBsZW1lbnRhbC5pZGwsIGFuZCB0aHVzCisgICAgcHJldmVudCB0aGUgYnVpbGQgc2NyaXB0cyBm
cm9tIHRyeWluZyB0byBnZW5lcmF0ZSBKU1Rlc3RTdXBwbGVtZW50YWwuaCBhbmQKKyAgICBKU1Rl
c3RTdXBwbGVtZW50YWwuY3BwIGF0IGV2ZXJ5IGJ1aWxkLiBUaGlzIGZpbGUgbXVzdCBub3QgYmUg
dHJpZWQgdG8gY29tcGlsZS4KKyovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3VwcGxlbWVudGFsLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3VwcGxlbWVudGFsLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjZkMzIxNGU0YWY4MTY1MDFlMzJiNGNlYzM2MzQwZTQ0NmRkOGJlNQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdXBwbGVt
ZW50YWwuaApAQCAtMCwwICsxLDYgQEAKKy8qCisgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBq
dXN0IHRvIHRlbGwgYnVpbGQgc2NyaXB0cyB0aGF0IEpTVGVzdFN1cHBsZW1lbnRhbC5oIGFuZAor
ICAgIEpTVGVzdFN1cHBsZW1lbnRhbC5jcHAgYXJlIGNyZWF0ZWQgZm9yIFRlc3RTdXBwbGVtZW50
YWwuaWRsLCBhbmQgdGh1cworICAgIHByZXZlbnQgdGhlIGJ1aWxkIHNjcmlwdHMgZnJvbSB0cnlp
bmcgdG8gZ2VuZXJhdGUgSlNUZXN0U3VwcGxlbWVudGFsLmggYW5kCisgICAgSlNUZXN0U3VwcGxl
bWVudGFsLmNwcCBhdCBldmVyeSBidWlsZC4gVGhpcyBmaWxlIG11c3Qgbm90IGJlIHRyaWVkIHRv
IGNvbXBpbGUuCisqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L09iakMvT2JqQ1Rlc3RTdXBwbGVtZW50YWwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvT2JqQ1Rlc3RTdXBwbGVtZW50YWwuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmUzNzMyNjgyOGZkMjg2YTMxZDE3YmU3Yzc3NjYxZDUyYzIzNDJiOTIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9PYmpDVGVz
dFN1cHBsZW1lbnRhbC5jcHAKQEAgLTAsMCArMSw2IEBACisvKgorICAgIFRoaXMgZmlsZSBpcyBn
ZW5lcmF0ZWQganVzdCB0byB0ZWxsIGJ1aWxkIHNjcmlwdHMgdGhhdCBPYmpDVGVzdFN1cHBsZW1l
bnRhbC5oIGFuZAorICAgIE9iakNUZXN0U3VwcGxlbWVudGFsLmNwcCBhcmUgY3JlYXRlZCBmb3Ig
VGVzdFN1cHBsZW1lbnRhbC5pZGwsIGFuZCB0aHVzCisgICAgcHJldmVudCB0aGUgYnVpbGQgc2Ny
aXB0cyBmcm9tIHRyeWluZyB0byBnZW5lcmF0ZSBPYmpDVGVzdFN1cHBsZW1lbnRhbC5oIGFuZAor
ICAgIE9iakNUZXN0U3VwcGxlbWVudGFsLmNwcCBhdCBldmVyeSBidWlsZC4gVGhpcyBmaWxlIG11
c3Qgbm90IGJlIHRyaWVkIHRvIGNvbXBpbGUuCisqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvT2JqQ1Rlc3RTdXBwbGVtZW50YWwuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL09iakNUZXN0U3VwcGxlbWVu
dGFsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTM3MzI2ODI4ZmQyODZhMzFkMTdiZTdjNzc2NjFkNTJjMjM0MmI5
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL09iakNUZXN0U3VwcGxlbWVudGFsLmgKQEAgLTAsMCArMSw2IEBACisvKgorICAgIFRo
aXMgZmlsZSBpcyBnZW5lcmF0ZWQganVzdCB0byB0ZWxsIGJ1aWxkIHNjcmlwdHMgdGhhdCBPYmpD
VGVzdFN1cHBsZW1lbnRhbC5oIGFuZAorICAgIE9iakNUZXN0U3VwcGxlbWVudGFsLmNwcCBhcmUg
Y3JlYXRlZCBmb3IgVGVzdFN1cHBsZW1lbnRhbC5pZGwsIGFuZCB0aHVzCisgICAgcHJldmVudCB0
aGUgYnVpbGQgc2NyaXB0cyBmcm9tIHRyeWluZyB0byBnZW5lcmF0ZSBPYmpDVGVzdFN1cHBsZW1l
bnRhbC5oIGFuZAorICAgIE9iakNUZXN0U3VwcGxlbWVudGFsLmNwcCBhdCBldmVyeSBidWlsZC4g
VGhpcyBmaWxlIG11c3Qgbm90IGJlIHRyaWVkIHRvIGNvbXBpbGUuCisqLwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFN1cHBsZW1lbnRh
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U3Vw
cGxlbWVudGFsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjAyMzBhZTkxZjgwYmJmZTBlNTBlMTQ2ZWI3Y2Qw
NDM0NzA1MmNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdFN1cHBsZW1lbnRhbC5jcHAKQEAgLTAsMCArMSw2IEBACisvKgor
ICAgIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQganVzdCB0byB0ZWxsIGJ1aWxkIHNjcmlwdHMgdGhh
dCBWOFRlc3RTdXBwbGVtZW50YWwuaCBhbmQKKyAgICBWOFRlc3RTdXBwbGVtZW50YWwuY3BwIGFy
ZSBjcmVhdGVkIGZvciBUZXN0U3VwcGxlbWVudGFsLmlkbCwgYW5kIHRodXMKKyAgICBwcmV2ZW50
IHRoZSBidWlsZCBzY3JpcHRzIGZyb20gdHJ5aW5nIHRvIGdlbmVyYXRlIFY4VGVzdFN1cHBsZW1l
bnRhbC5oIGFuZAorICAgIFY4VGVzdFN1cHBsZW1lbnRhbC5jcHAgYXQgZXZlcnkgYnVpbGQuIFRo
aXMgZmlsZSBtdXN0IG5vdCBiZSB0cmllZCB0byBjb21waWxlLgorKi8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTdXBwbGVtZW50YWwu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTdXBwbGVt
ZW50YWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMjAyMzBhZTkxZjgwYmJmZTBlNTBlMTQ2ZWI3Y2QwNDM0NzA1
MmNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdFN1cHBsZW1lbnRhbC5oCkBAIC0wLDAgKzEsNiBAQAorLyoKKyAgICBUaGlz
IGZpbGUgaXMgZ2VuZXJhdGVkIGp1c3QgdG8gdGVsbCBidWlsZCBzY3JpcHRzIHRoYXQgVjhUZXN0
U3VwcGxlbWVudGFsLmggYW5kCisgICAgVjhUZXN0U3VwcGxlbWVudGFsLmNwcCBhcmUgY3JlYXRl
ZCBmb3IgVGVzdFN1cHBsZW1lbnRhbC5pZGwsIGFuZCB0aHVzCisgICAgcHJldmVudCB0aGUgYnVp
bGQgc2NyaXB0cyBmcm9tIHRyeWluZyB0byBnZW5lcmF0ZSBWOFRlc3RTdXBwbGVtZW50YWwuaCBh
bmQKKyAgICBWOFRlc3RTdXBwbGVtZW50YWwuY3BwIGF0IGV2ZXJ5IGJ1aWxkLiBUaGlzIGZpbGUg
bXVzdCBub3QgYmUgdHJpZWQgdG8gY29tcGlsZS4KKyovCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>