<?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>96181</bug_id>
          
          <creation_ts>2012-09-08 02:17:57 -0700</creation_ts>
          <short_desc>[WK2][WTR] CodeGeneratorTestRunner could keep original copyright.</short_desc>
          <delta_ts>2012-09-18 22:41:03 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>96190</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kangil Han">kangil.han</reporter>
          <assigned_to name="Kangil Han">kangil.han</assigned_to>
          <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>dbates</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>kling</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
    
    <cc>sh4.seo</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>715312</commentid>
    <comment_count>0</comment_count>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-08 02:17:57 -0700</bug_when>
    <thetext>Keep original copyright for derived files in InjectedBundle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715313</commentid>
    <comment_count>1</comment_count>
      <attachid>162954</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-08 02:19:58 -0700</bug_when>
    <thetext>Created attachment 162954
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715317</commentid>
    <comment_count>2</comment_count>
      <attachid>162954</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-08 02:27:44 -0700</bug_when>
    <thetext>Comment on attachment 162954
patch

Attachment 162954 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13792295</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715318</commentid>
    <comment_count>3</comment_count>
      <attachid>162954</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-08 02:30:23 -0700</bug_when>
    <thetext>Comment on attachment 162954
patch

Attachment 162954 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13799151</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715319</commentid>
    <comment_count>4</comment_count>
      <attachid>162954</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-09-08 02:30:36 -0700</bug_when>
    <thetext>Comment on attachment 162954
patch

Attachment 162954 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/13794221</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715390</commentid>
    <comment_count>5</comment_count>
      <attachid>162954</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-08 17:56:06 -0700</bug_when>
    <thetext>Comment on attachment 162954
patch

Attachment 162954 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13797330</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715672</commentid>
    <comment_count>6</comment_count>
      <attachid>163026</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-09 20:06:07 -0700</bug_when>
    <thetext>Created attachment 163026
patch

Try it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716759</commentid>
    <comment_count>7</comment_count>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-10 18:31:49 -0700</bug_when>
    <thetext>@weinig : review please? :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718026</commentid>
    <comment_count>8</comment_count>
      <attachid>163026</attachid>
    <who name="Seo Sanghyeon">sh4.seo</who>
    <bug_when>2012-09-12 01:09:15 -0700</bug_when>
    <thetext>Comment on attachment 163026
patch

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

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:120
&gt;      my ($filename) = @_;

$filename is unused, so it probably should be removed. (Also in where _fileHeaderString is called.)
$filename is the name of the header file, not the IDL file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718226</commentid>
    <comment_count>9</comment_count>
      <attachid>163596</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-12 05:14:10 -0700</bug_when>
    <thetext>Created attachment 163596
patch

Thanks for the review. Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719004</commentid>
    <comment_count>10</comment_count>
    <who name="Seo Sanghyeon">sh4.seo</who>
    <bug_when>2012-09-12 19:57:47 -0700</bug_when>
    <thetext>The latest patch looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719984</commentid>
    <comment_count>11</comment_count>
      <attachid>163596</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-09-13 14:59:09 -0700</bug_when>
    <thetext>Comment on attachment 163596
patch

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

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:127
&gt; - * Copyright (C) 2010 Apple Inc. All rights reserved.
&gt; + * Copyright (C) 2010, 2011, 2012 Apple Inc. All rights reserved.

I don&apos;t think anyone but Apple is allowed to update the Apple copyright.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719989</commentid>
    <comment_count>12</comment_count>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-13 15:03:22 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 163596 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163596&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:127
&gt; &gt; - * Copyright (C) 2010 Apple Inc. All rights reserved.
&gt; &gt; + * Copyright (C) 2010, 2011, 2012 Apple Inc. All rights reserved.
&gt; 
&gt; I don&apos;t think anyone but Apple is allowed to update the Apple copyright.

Oh.. sorry for any inconvenience from this.
I&apos;ve just referred to copyright in TestRunner.cpp

I will make a new patch to keep it as it is. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719998</commentid>
    <comment_count>13</comment_count>
      <attachid>163976</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-13 15:09:17 -0700</bug_when>
    <thetext>Created attachment 163976
patch

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720003</commentid>
    <comment_count>14</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-13 15:13:58 -0700</bug_when>
    <thetext>&gt; I don&apos;t think anyone but Apple is allowed to update the Apple copyright.

When you copy code, you _have to_ update the copyright. Apple or an other owner.

It does not apply here, but I wanted to make this clear since it is a frequent mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720120</commentid>
    <comment_count>15</comment_count>
      <attachid>163976</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-09-13 17:01:21 -0700</bug_when>
    <thetext>Comment on attachment 163976
patch

It seems more appropriate to associate the path to the idl file with the CodeGeneratorTestRunner instance instead of storing this information in a file-level scope variable. We should also consider caching the license block that we parse from the idl file so that we don&apos;t read and parse the file twice for each call to GenerateInterface(). I need to run, but I&apos;ll comment further on this patch later tonight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721151</commentid>
    <comment_count>16</comment_count>
      <attachid>163976</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-09-14 14:45:21 -0700</bug_when>
    <thetext>Comment on attachment 163976
patch

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

Please excuse my tardy response as yesterday (09/13) was hectic.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:31
&gt; +my $idlFilePath = &quot;&quot;;

This variable would be better suited as a instance variable. See how we define codeGenerator and outputDir in new() (below) for an example of how to define an instance variable.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:43
&gt; +    $idlFilePath = shift;

It&apos;s weird to use a file-level variable for this. See my remark (above) for more details.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:86
&gt; +sub _getCopyright

Maybe a more descriptive name for this function would be _parseLicenseBlock, _parseLicenseBlockFromFile, or _parseCopyright?

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:88
&gt; +    my ($self) = @_;

This variable ($self) is unused. I suggest that we make this a non-member function that takes exactly one argument, the path to the IDL file it should parse, say $path.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:92
&gt; +    my $first = 1;
&gt; +    my $copyRightMode = 0;

We can eliminate the need for these variables by structuring the code in this function such that specialize the handling of the first line in the file. See my remark for lines 104-111 (below) for more details.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:93
&gt; +    my $copyRight = &quot;&quot;;

Nit: $copyRight =&gt; $copyright
(since &quot;copyright&quot; is one word)

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:96
&gt; +            $copyRight = $copyRight . $line;

Nit: I would write this as:

$copyRight .= $line;

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:98
&gt; +                close($fileHandle) or die &quot;Failed to close $idlFilePath after reading: $!&quot;;

Nit: It&apos;s unusual to anticipate that close() will fail for a file. We tend to omit die() when calling close() throughout our Perl code.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:111
&gt; +        if ($first) {
&gt; +            if (0 != index($line, &quot;/*&quot;)) {
&gt; +                last;
&gt; +            }
&gt; +            $first = 0;
&gt; +            $copyRightMode = 1;
&gt; +            $copyRight = $copyRight . $line;
&gt; +        }

For your consideration, I suggest that we hoist this code outside of the while loop and structure this code to use an early return style. This will make it more straightforward to follow the control flow of this function. As a side effect of hoisting this code outside of the while loop, we can remove the variables $first and $copyRightMode as the states they represent are now encoded in the control flow of the function. That is, we handle the first state, $first = 1, when we check that the first line of the file starts with &quot;/*&quot;. And the second state, $copyRightMode = 1, is encoded by the position of the while-loop, which is after handling the if conditional for the first state.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:118
&gt;  sub _fileHeaderString

Instead of modifying this function to call _getCopyright() I propose that we add a member function, say _licenseBlock(), that has the form:

sub _licenseBlock()
{
    my ($self) = @_;
    if ($self-&gt;{licenseBlock}) {
        return $self-&gt;{licenseBlock}
    }
    my $licenseBlock = _getCopyright($self-&gt;{idlFilePath}) || _defaultLicenseBlock();
    $self-&gt;{licenseBlock} = $licenseBlock;
    return $licenseBlock;
}

where _defaultLicenseBlock() is identical to _fileHeaderString() (as it was before this patch was applied) except it doesn&apos;t accept any arguments (i.e. we remove the line &quot;my ($filename) = @_&quot;). Then we can modify _generateHeaderFile() and _generateImplementationFile() to call _licenseBlock().

For completeness, I chose to cache the return value of _getCopyright() in _licenseBlock() so as to avoid reading the IDL file twice: once when generating the header file in _generateHeaderFile() and once when generating the implementation file in _generateImplementationFile(). I also chose to define a function for the default license block, _defaultLicenseBlock(), instead of defining a file-level variable for it so as to avoid constructing a string on startup that may not be used.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:123
&gt; +    if ($copyright ne &quot;&quot;) {
&gt; +        return $copyright;
&gt; +    }

Nit: Notice that _getCopyright() always returns a string, the truth value of the empty string is false, and the truth value of a non-empty string is true. It&apos;s sufficient to test the boolean truth value of $copyright instead of performing a string comparison operation (ne) and write:

if ($copyright) {
    return $copyright;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721159</commentid>
    <comment_count>17</comment_count>
      <attachid>163976</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-09-14 14:55:49 -0700</bug_when>
    <thetext>Comment on attachment 163976
patch

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

I inadvertently didn&apos;t add my remarks about the correctness of this function for some abnormal inputs. Maybe we shouldn&apos;t expect such input?

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:86
&gt;&gt; +sub _getCopyright
&gt; 
&gt; Maybe a more descriptive name for this function would be _parseLicenseBlock, _parseLicenseBlockFromFile, or _parseCopyright?

1. Consider an IDL file that begins with:
/* Copyright (C) 2012 Apple Inc. All rights reserved. */

Then _getCopyright() returns the empty string.

But it should return the string: &quot;/* Copyright (C) 2012 Apple Inc. All rights reserved. */&quot;.

2. Consider an IDL file that begins with:
/*
  * Copyright (C) 2012 Apple Inc. All rights reserved. 
  */ module WTR {
   ...
}

(Notice that there is IDL markup on the same line as &quot;*/&quot;)

Then _getCopyright() returns the string:
&quot;/*
  * Copyright (C) 2012 Apple Inc. All rights reserved. 
  */ module WTR {&quot;

But it should return the string:
&quot;/*
  * Copyright (C) 2012 Apple Inc. All rights reserved. 
  */&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722437</commentid>
    <comment_count>18</comment_count>
      <attachid>164484</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-17 20:02:37 -0700</bug_when>
    <thetext>Created attachment 164484
patch

I&apos;ve modified code as you have suggested.
Hope this would meet your expectations.
:-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723169</commentid>
    <comment_count>19</comment_count>
      <attachid>164484</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-09-18 18:21:03 -0700</bug_when>
    <thetext>Comment on attachment 164484
patch

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

Thanks for updating the patch! I noticed correctness issues on line 84 and 89. I also noticed some minor nits.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:82
&gt; +    my ($copyright, $curData, $readCount, $lastData);

Maybe better names for $curData would be: $currentCharacter? or $currentChar?

Maybe a better name for $lastData would be: $previousCharacter? or $previousChar?

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:83
&gt; +    $readCount = read $fileHandle, $curData, 2;

For your consideration,  I suggest that we define a variable, maybe lengthOfStartSentinel = length(&quot;/*&quot;) (can we come up with a better name?), and then reference this variable instead of hardcoding the number 2. I also suggest that we use parentheses around the argument list for read() so as to make this line easier to interpret as a function call:

$readCount = read($fileHandle, $curData, lengthOfStartSentinel)

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:84
&gt; +    return &quot;&quot; if ($readCount &lt; 2 &amp;&amp; $curData ne &quot;/*&quot;);

&amp;&amp; =&gt; ||

It is good form to close the file before returning from this function. If you find it inconvenient to call close()- or you feel it makes the code less readable to call close()- before returning from this function then one idea is that we could repurpose this function to parse the license block given a file handle and define a function called _parseLicenseBlockFromFile() that opens the specified file and calls _parseLicenseBlock() then closes the file. This would have the form:

sub _parseLicenseBlockFromFile
{
    my ($path) = @_;
    open my $fileHandle, &quot;&lt;&quot;, $path or die &quot;Failed to open $path for reading: $!&quot;;
    my $licenseBlock = _parseLicenseBlock($fileHandle);
    close($fileHandle);
    return $licenseBlock;
}

sub _parseLicenseBlock
{
    my ($fileHandle) = @_;
    my ($copyright, $curData, $readCount, $lastData);
    $readCount = read $fileHandle, $curData, 2;
    ...
}

Then we can return from _parseLicenseBlock() without calling close() since _parseLicenseBlockFromFile() will do it.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:87
&gt; +    while (($readCount = read $fileHandle, $curData, 1) != 0) {

Nit: It&apos;s unnecessary  to check &quot;!=&quot; as zero has a truth value of false. We can write the while statement as:

while ($readCount = read $fileHandle, $curData, 1)

For your consideration, I suggest that we use parentheses around the argument list for read() so as to make it easier to interpret the call to read() as a function call:

while ($readCount = read($fileHandle, $curData, 1))

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:89
&gt; +        return $copyright if $curData eq &quot;/&quot; &amp;&amp; $lastData eq &quot;*&quot;;

It is good form to call close() before returning from this function. See my remark on line 84 for an idea on how we can can eliminate the need to call close() by moving the responsibility to another function.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:130
&gt; +    return $self-&gt;{licenseBlock} if ($self-&gt;{licenseBlock});

Nit: The parentheses aren&apos;t necessary.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:132
&gt; +    my $licenseBlock = _parseLicenseBlock($$self{idlFilePath}) || _defaultLicenseBlock();

It&apos;s kind of weird that we alternate between using the infix dereference operator (&quot;-&gt;&quot;) and the scalar deference operator ($) in this function for accessing instance variables. We should pick one convention and stick with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723209</commentid>
    <comment_count>20</comment_count>
      <attachid>164648</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-18 19:55:23 -0700</bug_when>
    <thetext>Created attachment 164648
patch

Thanks for great review Daniel!
All Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723215</commentid>
    <comment_count>21</comment_count>
      <attachid>164648</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-09-18 20:15:05 -0700</bug_when>
    <thetext>Comment on attachment 164648
patch

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

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:84
&gt; +    return &quot;&quot; if ($readCount &lt; 2 || $currentCharacter ne &quot;/*&quot;);

2 =&gt; $lengthOfStartSentinel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723225</commentid>
    <comment_count>22</comment_count>
      <attachid>164648</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-09-18 20:25:49 -0700</bug_when>
    <thetext>Comment on attachment 164648
patch

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

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:84
&gt;&gt; +    return &quot;&quot; if ($readCount &lt; 2 || $currentCharacter ne &quot;/*&quot;);
&gt; 
&gt; 2 =&gt; $lengthOfStartSentinel

The name $currentCharacter is somewhat disingenuous here since it contains two characters. Maybe buffer would better describe this variable?

Maybe this is overkill...since we decided to compute the length of &quot;/*&quot; instead of hardcoding the number 2 then we shouldn&apos;t hardcode the string literal &quot;/*&quot;. Instead we should define a variable, say $startSentinel = &quot;/*&quot;, and then define $lengthOfStartSentinel in terms of it (i.e. $lengthOfStartSentinel = length($startSentinel)).

Regardless, these are very minor points. The patch looks reasonable as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723267</commentid>
    <comment_count>23</comment_count>
      <attachid>164659</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2012-09-18 22:13:50 -0700</bug_when>
    <thetext>Created attachment 164659
patch

Done, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723278</commentid>
    <comment_count>24</comment_count>
      <attachid>164659</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-18 22:40:57 -0700</bug_when>
    <thetext>Comment on attachment 164659
patch

Clearing flags on attachment: 164659

Committed r128966: &lt;http://trac.webkit.org/changeset/128966&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723279</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-18 22:41:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162954</attachid>
            <date>2012-09-08 02:19:58 -0700</date>
            <delta_ts>2012-09-09 20:06:07 -0700</delta_ts>
            <desc>patch</desc>
            <filename>copyright.txt</filename>
            <type>text/plain</type>
            <size>3379</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmN2My
OTMzLi44YjUwZjIyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDktMDggIEthbmdpbCBIYW4gIDxrYW5naWwu
aGFuQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dUUl0gS2VlcCBvcmlnaW5hbCBjb3B5
cmlnaHQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjE4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtl
ZXAgb3JpZ2luYWwgY29weXJpZ2h0IGZvciBkZXJpdmVkIGZpbGVzIGluIEluamVjdGVkQnVuZGxl
LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9D
b2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbToKKyAgICAgICAgKF9maWxlSGVhZGVyU3RyaW5nKToK
KyAgICAgICAgKF9nZW5lcmF0ZUhlYWRlckZpbGUpOgorICAgICAgICAoX2dlbmVyYXRlSW1wbGVt
ZW50YXRpb25GaWxlKToKKwogMjAxMi0wOS0wNiAgSmVmZnJleSBQZmF1ICA8anBmYXVAYXBwbGUu
Y29tPgogCiAgICAgICAgIEV4dGVuZCB0aGlyZC1wYXJ0eSBzdG9yYWdlIGJsb2NraW5nIEFQSSB0
byBvcHRpb25hbGx5IGFsbG93IGJsb2NraW5nIGFsbCBzdG9yYWdlCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JU
ZXN0UnVubmVyLnBtIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbQppbmRleCAyZjVjNjZmLi5hNjkyMzE1IDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdz
L0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0KQEAgLTEs
NCArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCiAjCiAjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc1LDEyICs3NiwzNiBAQCBzdWIgX2NsYXNzUmVmR2V0
dGVyCiBzdWIgX2ZpbGVIZWFkZXJTdHJpbmcKIHsKICAgICBteSAoJGZpbGVuYW1lKSA9IEBfOwor
ICAgICRmaWxlbmFtZSA9ICRmaWxlbmFtZSAuICIuaWRsIjsKKworICAgIG9wZW4gbXkgJGZpbGVI
YW5kbGUsICI8IiwgJGZpbGVuYW1lIG9yIGRpZSAiRmFpbGVkIHRvIG9wZW4gJGZpbGVuYW1lIGZv
ciByZWFkaW5nOiAkISI7CisgICAgbXkgJGZpcnN0ID0gMTsKKyAgICBteSAkY29weVJpZ2h0TW9k
ZSA9IDA7CisgICAgbXkgJGNvcHlSaWdodCA9ICcnOworICAgIHdoaWxlIChteSAkbGluZSA9IDwk
ZmlsZUhhbmRsZT4pIHsKKyAgICAgICAgaWYgKCRjb3B5UmlnaHRNb2RlKSB7CisgICAgICAgICAg
ICAkY29weVJpZ2h0ID0gJGNvcHlSaWdodCAuICRsaW5lOworICAgICAgICAgICAgaWYgKGluZGV4
KCRsaW5lLCAiKi8iKSA+PSAwKSB7CisgICAgICAgICAgICAgICAgY2xvc2UoJGZpbGVIYW5kbGUp
IG9yIGRpZSAiRmFpbGVkIHRvIGNsb3NlICRmaWxlbmFtZSBhZnRlciByZWFkaW5nOiAkISI7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuICRjb3B5UmlnaHQ7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBuZXh0OworICAgICAgICB9CisKKyAgICAgICAgaWYgKCRmaXJzdCkgeworICAgICAgICAg
ICAgaWYgKDAgIT0gaW5kZXgoJGxpbmUsICIvKiIpKSB7CisgICAgICAgICAgICAgICAgbGFzdDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICRmaXJzdCA9IDA7CisgICAgICAgICAgICAkY29w
eVJpZ2h0TW9kZSA9IDE7CisgICAgICAgICAgICAkY29weVJpZ2h0ID0gJGNvcHlSaWdodCAuICRs
aW5lOworICAgICAgICB9CisgICAgfQorICAgIGNsb3NlKCRmaWxlSGFuZGxlKSBvciBkaWUgIkZh
aWxlZCB0byBjbG9zZSAkZmlsZW5hbWUgYWZ0ZXIgcmVhZGluZzogJCEiOwogCi0gICAgIyBGSVhN
RTogV2Ugc2hvdWxkIHB1bGwgaGVhZGVyIG91dCBvZiB0aGUgSURMIGZpbGUgdG8gZ2V0IHRoZSBj
b3B5cmlnaHQKLSAgICAjIHllYXIocykgcmlnaHQuCiAgICAgcmV0dXJuIDw8RU9GOwogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTcsNyArMTQyLDcgQEAg
c3ViIF9nZW5lcmF0ZUhlYWRlckZpbGUKICAgICBteSAkaW1wbGVtZW50YXRpb25DbGFzc05hbWUg
PSBfaW1wbGVtZW50YXRpb25DbGFzc05hbWUoJGlkbFR5cGUpOwogICAgIG15ICRmaWxlbmFtZSA9
ICRjbGFzc05hbWUgLiAiLmgiOwogCi0gICAgcHVzaChAY29udGVudHMsIF9maWxlSGVhZGVyU3Ry
aW5nKCRmaWxlbmFtZSkpOworICAgIHB1c2goQGNvbnRlbnRzLCBfZmlsZUhlYWRlclN0cmluZygk
aWRsVHlwZSkpOwogCiAgICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IF9wYXJlbnRDbGFzc05hbWUo
JGludGVyZmFjZSk7CiAKQEAgLTE4NCw3ICsyMDksNyBAQCBzdWIgX2dlbmVyYXRlSW1wbGVtZW50
YXRpb25GaWxlCiAgICAgbXkgJGltcGxlbWVudGF0aW9uQ2xhc3NOYW1lID0gX2ltcGxlbWVudGF0
aW9uQ2xhc3NOYW1lKCRpZGxUeXBlKTsKICAgICBteSAkZmlsZW5hbWUgPSAkY2xhc3NOYW1lIC4g
Ii5jcHAiOwogCi0gICAgcHVzaChAY29udGVudHNQcmVmaXgsIF9maWxlSGVhZGVyU3RyaW5nKCRm
aWxlbmFtZSkpOworICAgIHB1c2goQGNvbnRlbnRzUHJlZml4LCBfZmlsZUhlYWRlclN0cmluZygk
aWRsVHlwZSkpOwogCiAgICAgbXkgJGNsYXNzUmVmR2V0dGVyID0gJHNlbGYtPl9jbGFzc1JlZkdl
dHRlcigkaWRsVHlwZSk7CiAgICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IF9wYXJlbnRDbGFzc05h
bWUoJGludGVyZmFjZSk7Cg==
</data>
<flag name="commit-queue"
          id="174227"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163026</attachid>
            <date>2012-09-09 20:06:07 -0700</date>
            <delta_ts>2012-09-12 05:14:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>copyright_2.txt</filename>
            <type>text/plain</type>
            <size>2666</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtCmluZGV4IDJm
NWM2NmYuLjlmMWQxYWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0KKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVz
dFJ1bm5lci5wbQpAQCAtMSw0ICsxLDUgQEAKICMgQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxl
Y3Ryb25pY3MKICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsOSArMjgsMTkgQEAg
dXNlIEZpbGU6OlNwZWM7CiAKIHBhY2thZ2UgQ29kZUdlbmVyYXRvclRlc3RSdW5uZXI7CiAKK215
ICRpZGxGaWxlUGF0aCA9ICIiOworCiBzdWIgbmV3CiB7Ci0gICAgbXkgKCRjbGFzcywgJGNvZGVH
ZW5lcmF0b3IsICRvdXRwdXREaXIpID0gQF87CisgICAgbXkgJGNsYXNzID0gc2hpZnQ7CisgICAg
bXkgJGNvZGVHZW5lcmF0b3IgPSBzaGlmdDsKKyAgICBteSAkb3V0cHV0RGlyID0gc2hpZnQ7Cisg
ICAgc2hpZnQ7ICMgJHVzZU91dHB1dEhlYWRlcnNEaXIKKyAgICBzaGlmdDsgIyAkdXNlTGF5ZXJP
blRvcAorICAgIHNoaWZ0OyAjICRwcmVwcm9jZXNzb3IKKyAgICBzaGlmdDsgIyAkd3JpdGVEZXBl
bmRlbmNpZXMKKyAgICBzaGlmdDsgIyAkdmVyYm9zZQorICAgICRpZGxGaWxlUGF0aCA9IHNoaWZ0
OwogCiAgICAgbXkgJHJlZmVyZW5jZSA9IHsKICAgICAgICAgY29kZUdlbmVyYXRvciA9PiAkY29k
ZUdlbmVyYXRvciwKQEAgLTcyLDE1ICs4Myw1MCBAQCBzdWIgX2NsYXNzUmVmR2V0dGVyCiAgICAg
cmV0dXJuICQkc2VsZntjb2RlR2VuZXJhdG9yfS0+V0tfbGNmaXJzdChfaW1wbGVtZW50YXRpb25D
bGFzc05hbWUoJGlkbFR5cGUpKSAuICJDbGFzcyI7CiB9CiAKK3N1YiBfZ2V0Q29weXJpZ2h0Cit7
CisgICAgbXkgKCRzZWxmKSA9IEBfOworCisgICAgb3BlbiBteSAkZmlsZUhhbmRsZSwgIjwiLCAk
aWRsRmlsZVBhdGggb3IgZGllICJGYWlsZWQgdG8gb3BlbiAkaWRsRmlsZVBhdGggZm9yIHJlYWRp
bmc6ICQhIjsKKyAgICBteSAkZmlyc3QgPSAxOworICAgIG15ICRjb3B5UmlnaHRNb2RlID0gMDsK
KyAgICBteSAkY29weVJpZ2h0ID0gIiI7CisgICAgd2hpbGUgKG15ICRsaW5lID0gPCRmaWxlSGFu
ZGxlPikgeworICAgICAgICBpZiAoJGNvcHlSaWdodE1vZGUpIHsKKyAgICAgICAgICAgICRjb3B5
UmlnaHQgPSAkY29weVJpZ2h0IC4gJGxpbmU7CisgICAgICAgICAgICBpZiAoaW5kZXgoJGxpbmUs
ICIqLyIpID49IDApIHsKKyAgICAgICAgICAgICAgICBjbG9zZSgkZmlsZUhhbmRsZSkgb3IgZGll
ICJGYWlsZWQgdG8gY2xvc2UgJGlkbEZpbGVQYXRoIGFmdGVyIHJlYWRpbmc6ICQhIjsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gJGNvcHlSaWdodDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IG5leHQ7CisgICAgICAgIH0KKworICAgICAgICBpZiAoJGZpcnN0KSB7CisgICAgICAgICAgICBp
ZiAoMCAhPSBpbmRleCgkbGluZSwgIi8qIikpIHsKKyAgICAgICAgICAgICAgICBsYXN0OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgJGZpcnN0ID0gMDsKKyAgICAgICAgICAgICRjb3B5Umln
aHRNb2RlID0gMTsKKyAgICAgICAgICAgICRjb3B5UmlnaHQgPSAkY29weVJpZ2h0IC4gJGxpbmU7
CisgICAgICAgIH0KKyAgICB9CisgICAgY2xvc2UoJGZpbGVIYW5kbGUpIG9yIGRpZSAiRmFpbGVk
IHRvIGNsb3NlICRpZGxGaWxlUGF0aCBhZnRlciByZWFkaW5nOiAkISI7CisKKyAgICByZXR1cm4g
IiI7Cit9CisKIHN1YiBfZmlsZUhlYWRlclN0cmluZwogewogICAgIG15ICgkZmlsZW5hbWUpID0g
QF87CiAKLSAgICAjIEZJWE1FOiBXZSBzaG91bGQgcHVsbCBoZWFkZXIgb3V0IG9mIHRoZSBJREwg
ZmlsZSB0byBnZXQgdGhlIGNvcHlyaWdodAotICAgICMgeWVhcihzKSByaWdodC4KKyAgICBteSAk
Y29weXJpZ2h0ID0gX2dldENvcHlyaWdodCgpOworICAgIGlmICgkY29weXJpZ2h0IG5lICIiKSB7
CisgICAgICAgIHJldHVybiAkY29weXJpZ2h0OworICAgIH0KKwogICAgIHJldHVybiA8PEVPRjsK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163596</attachid>
            <date>2012-09-12 05:14:10 -0700</date>
            <delta_ts>2012-09-13 15:09:17 -0700</delta_ts>
            <desc>patch</desc>
            <filename>copyright_3.txt</filename>
            <type>text/plain</type>
            <size>4211</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxODZm
MjBhLi5mZTQyMjY3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDktMTIgIEthbmdpbCBIYW4gIDxrYW5naWwu
aGFuQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dUUl0gQ29kZUdlbmVyYXRvclRlc3RS
dW5uZXIgY291bGQga2VlcCBvcmlnaW5hbCBjb3B5cmlnaHQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjE4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5hYmxlZCBkZXJpdmVkIGZp
bGVzIGluIERlcml2ZWRTb3VyY2VzL0luamVjdGVkQnVuZGxlIHRvIGtlZXAgb3JpZ2luYWwgY29w
eXJpZ2h0LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbToKKyAgICAgICAgKG5ldyk6CisgICAgICAg
IChfZ2V0Q29weXJpZ2h0KToKKyAgICAgICAgKF9maWxlSGVhZGVyU3RyaW5nKToKKyAgICAgICAg
KF9nZW5lcmF0ZUhlYWRlckZpbGUpOgorICAgICAgICAoX2dlbmVyYXRlSW1wbGVtZW50YXRpb25G
aWxlKToKKwogMjAxMi0wOS0xMiAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpA
aW50ZWwuY29tPgogCiAgICAgICAgIFtXSzJdW1dLVFJdIFRlc3RSdW5uZXIgbmVlZHMgdG8gaW1w
bGVtZW50IGR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVy
YXRvclRlc3RSdW5uZXIucG0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtCmluZGV4IDQwZDkyZWEuLjBlMGYw
YmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbQpA
QCAtMSw0ICsxLDUgQEAKICMgQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKICMK
ICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsOSArMjgsMTkgQEAgdXNlIEZpbGU6OlNw
ZWM7CiAKIHBhY2thZ2UgQ29kZUdlbmVyYXRvclRlc3RSdW5uZXI7CiAKK215ICRpZGxGaWxlUGF0
aCA9ICIiOworCiBzdWIgbmV3CiB7Ci0gICAgbXkgKCRjbGFzcywgJGNvZGVHZW5lcmF0b3IsICRv
dXRwdXREaXIpID0gQF87CisgICAgbXkgJGNsYXNzID0gc2hpZnQ7CisgICAgbXkgJGNvZGVHZW5l
cmF0b3IgPSBzaGlmdDsKKyAgICBteSAkb3V0cHV0RGlyID0gc2hpZnQ7CisgICAgc2hpZnQ7ICMg
JHVzZU91dHB1dEhlYWRlcnNEaXIKKyAgICBzaGlmdDsgIyAkdXNlTGF5ZXJPblRvcAorICAgIHNo
aWZ0OyAjICRwcmVwcm9jZXNzb3IKKyAgICBzaGlmdDsgIyAkd3JpdGVEZXBlbmRlbmNpZXMKKyAg
ICBzaGlmdDsgIyAkdmVyYm9zZQorICAgICRpZGxGaWxlUGF0aCA9IHNoaWZ0OwogCiAgICAgbXkg
JHJlZmVyZW5jZSA9IHsKICAgICAgICAgY29kZUdlbmVyYXRvciA9PiAkY29kZUdlbmVyYXRvciwK
QEAgLTcyLDE1ICs4Myw0OCBAQCBzdWIgX2NsYXNzUmVmR2V0dGVyCiAgICAgcmV0dXJuICQkc2Vs
Zntjb2RlR2VuZXJhdG9yfS0+V0tfbGNmaXJzdChfaW1wbGVtZW50YXRpb25DbGFzc05hbWUoJGlk
bFR5cGUpKSAuICJDbGFzcyI7CiB9CiAKK3N1YiBfZ2V0Q29weXJpZ2h0Cit7CisgICAgbXkgKCRz
ZWxmKSA9IEBfOworCisgICAgb3BlbiBteSAkZmlsZUhhbmRsZSwgIjwiLCAkaWRsRmlsZVBhdGgg
b3IgZGllICJGYWlsZWQgdG8gb3BlbiAkaWRsRmlsZVBhdGggZm9yIHJlYWRpbmc6ICQhIjsKKyAg
ICBteSAkZmlyc3QgPSAxOworICAgIG15ICRjb3B5UmlnaHRNb2RlID0gMDsKKyAgICBteSAkY29w
eVJpZ2h0ID0gIiI7CisgICAgd2hpbGUgKG15ICRsaW5lID0gPCRmaWxlSGFuZGxlPikgeworICAg
ICAgICBpZiAoJGNvcHlSaWdodE1vZGUpIHsKKyAgICAgICAgICAgICRjb3B5UmlnaHQgPSAkY29w
eVJpZ2h0IC4gJGxpbmU7CisgICAgICAgICAgICBpZiAoaW5kZXgoJGxpbmUsICIqLyIpID49IDAp
IHsKKyAgICAgICAgICAgICAgICBjbG9zZSgkZmlsZUhhbmRsZSkgb3IgZGllICJGYWlsZWQgdG8g
Y2xvc2UgJGlkbEZpbGVQYXRoIGFmdGVyIHJlYWRpbmc6ICQhIjsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gJGNvcHlSaWdodDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG5leHQ7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAoJGZpcnN0KSB7CisgICAgICAgICAgICBpZiAoMCAhPSBpbmRl
eCgkbGluZSwgIi8qIikpIHsKKyAgICAgICAgICAgICAgICBsYXN0OworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgJGZpcnN0ID0gMDsKKyAgICAgICAgICAgICRjb3B5UmlnaHRNb2RlID0gMTsK
KyAgICAgICAgICAgICRjb3B5UmlnaHQgPSAkY29weVJpZ2h0IC4gJGxpbmU7CisgICAgICAgIH0K
KyAgICB9CisgICAgY2xvc2UoJGZpbGVIYW5kbGUpIG9yIGRpZSAiRmFpbGVkIHRvIGNsb3NlICRp
ZGxGaWxlUGF0aCBhZnRlciByZWFkaW5nOiAkISI7CisKKyAgICByZXR1cm4gIiI7Cit9CisKIHN1
YiBfZmlsZUhlYWRlclN0cmluZwogewotICAgIG15ICgkZmlsZW5hbWUpID0gQF87CisgICAgbXkg
JGNvcHlyaWdodCA9IF9nZXRDb3B5cmlnaHQoKTsKKyAgICBpZiAoJGNvcHlyaWdodCBuZSAiIikg
eworICAgICAgICByZXR1cm4gJGNvcHlyaWdodDsKKyAgICB9CiAKLSAgICAjIEZJWE1FOiBXZSBz
aG91bGQgcHVsbCBoZWFkZXIgb3V0IG9mIHRoZSBJREwgZmlsZSB0byBnZXQgdGhlIGNvcHlyaWdo
dAotICAgICMgeWVhcihzKSByaWdodC4KICAgICByZXR1cm4gPDxFT0Y7CiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMCwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTExNyw3ICsxNjEsNyBAQCBzdWIgX2dl
bmVyYXRlSGVhZGVyRmlsZQogICAgIG15ICRpbXBsZW1lbnRhdGlvbkNsYXNzTmFtZSA9IF9pbXBs
ZW1lbnRhdGlvbkNsYXNzTmFtZSgkaWRsVHlwZSk7CiAgICAgbXkgJGZpbGVuYW1lID0gJGNsYXNz
TmFtZSAuICIuaCI7CiAKLSAgICBwdXNoKEBjb250ZW50cywgX2ZpbGVIZWFkZXJTdHJpbmcoJGZp
bGVuYW1lKSk7CisgICAgcHVzaChAY29udGVudHMsIF9maWxlSGVhZGVyU3RyaW5nKCkpOwogCiAg
ICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IF9wYXJlbnRDbGFzc05hbWUoJGludGVyZmFjZSk7CiAK
QEAgLTE4NCw3ICsyMjgsNyBAQCBzdWIgX2dlbmVyYXRlSW1wbGVtZW50YXRpb25GaWxlCiAgICAg
bXkgJGltcGxlbWVudGF0aW9uQ2xhc3NOYW1lID0gX2ltcGxlbWVudGF0aW9uQ2xhc3NOYW1lKCRp
ZGxUeXBlKTsKICAgICBteSAkZmlsZW5hbWUgPSAkY2xhc3NOYW1lIC4gIi5jcHAiOwogCi0gICAg
cHVzaChAY29udGVudHNQcmVmaXgsIF9maWxlSGVhZGVyU3RyaW5nKCRmaWxlbmFtZSkpOworICAg
IHB1c2goQGNvbnRlbnRzUHJlZml4LCBfZmlsZUhlYWRlclN0cmluZygpKTsKIAogICAgIG15ICRj
bGFzc1JlZkdldHRlciA9ICRzZWxmLT5fY2xhc3NSZWZHZXR0ZXIoJGlkbFR5cGUpOwogICAgIG15
ICRwYXJlbnRDbGFzc05hbWUgPSBfcGFyZW50Q2xhc3NOYW1lKCRpbnRlcmZhY2UpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163976</attachid>
            <date>2012-09-13 15:09:17 -0700</date>
            <delta_ts>2012-09-17 20:02:37 -0700</delta_ts>
            <desc>patch</desc>
            <filename>copyright_4.txt</filename>
            <type>text/plain</type>
            <size>3998</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxODZm
MjBhLi5kMGVkNDkxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDktMTMgIEthbmdpbCBIYW4gIDxrYW5naWwu
aGFuQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dUUl0gQ29kZUdlbmVyYXRvclRlc3RS
dW5uZXIgY291bGQga2VlcCBvcmlnaW5hbCBjb3B5cmlnaHQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjE4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5hYmxlZCBkZXJpdmVkIGZp
bGVzIGluIERlcml2ZWRTb3VyY2VzL0luamVjdGVkQnVuZGxlIHRvIGtlZXAgb3JpZ2luYWwgY29w
eXJpZ2h0LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbToKKyAgICAgICAgKG5ldyk6CisgICAgICAg
IChfZ2V0Q29weXJpZ2h0KToKKyAgICAgICAgKF9maWxlSGVhZGVyU3RyaW5nKToKKyAgICAgICAg
KF9nZW5lcmF0ZUhlYWRlckZpbGUpOgorICAgICAgICAoX2dlbmVyYXRlSW1wbGVtZW50YXRpb25G
aWxlKToKKwogMjAxMi0wOS0xMiAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpA
aW50ZWwuY29tPgogCiAgICAgICAgIFtXSzJdW1dLVFJdIFRlc3RSdW5uZXIgbmVlZHMgdG8gaW1w
bGVtZW50IGR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVy
YXRvclRlc3RSdW5uZXIucG0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtCmluZGV4IDQwZDkyZWEuLmVmZjdi
MDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbQpA
QCAtMSw0ICsxLDUgQEAKICMgQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKICMK
ICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsOSArMjgsMTkgQEAgdXNlIEZpbGU6OlNw
ZWM7CiAKIHBhY2thZ2UgQ29kZUdlbmVyYXRvclRlc3RSdW5uZXI7CiAKK215ICRpZGxGaWxlUGF0
aCA9ICIiOworCiBzdWIgbmV3CiB7Ci0gICAgbXkgKCRjbGFzcywgJGNvZGVHZW5lcmF0b3IsICRv
dXRwdXREaXIpID0gQF87CisgICAgbXkgJGNsYXNzID0gc2hpZnQ7CisgICAgbXkgJGNvZGVHZW5l
cmF0b3IgPSBzaGlmdDsKKyAgICBteSAkb3V0cHV0RGlyID0gc2hpZnQ7CisgICAgc2hpZnQ7ICMg
JHVzZU91dHB1dEhlYWRlcnNEaXIKKyAgICBzaGlmdDsgIyAkdXNlTGF5ZXJPblRvcAorICAgIHNo
aWZ0OyAjICRwcmVwcm9jZXNzb3IKKyAgICBzaGlmdDsgIyAkd3JpdGVEZXBlbmRlbmNpZXMKKyAg
ICBzaGlmdDsgIyAkdmVyYm9zZQorICAgICRpZGxGaWxlUGF0aCA9IHNoaWZ0OwogCiAgICAgbXkg
JHJlZmVyZW5jZSA9IHsKICAgICAgICAgY29kZUdlbmVyYXRvciA9PiAkY29kZUdlbmVyYXRvciwK
QEAgLTcyLDEyICs4Myw0NSBAQCBzdWIgX2NsYXNzUmVmR2V0dGVyCiAgICAgcmV0dXJuICQkc2Vs
Zntjb2RlR2VuZXJhdG9yfS0+V0tfbGNmaXJzdChfaW1wbGVtZW50YXRpb25DbGFzc05hbWUoJGlk
bFR5cGUpKSAuICJDbGFzcyI7CiB9CiAKK3N1YiBfZ2V0Q29weXJpZ2h0Cit7CisgICAgbXkgKCRz
ZWxmKSA9IEBfOworCisgICAgb3BlbiBteSAkZmlsZUhhbmRsZSwgIjwiLCAkaWRsRmlsZVBhdGgg
b3IgZGllICJGYWlsZWQgdG8gb3BlbiAkaWRsRmlsZVBhdGggZm9yIHJlYWRpbmc6ICQhIjsKKyAg
ICBteSAkZmlyc3QgPSAxOworICAgIG15ICRjb3B5UmlnaHRNb2RlID0gMDsKKyAgICBteSAkY29w
eVJpZ2h0ID0gIiI7CisgICAgd2hpbGUgKG15ICRsaW5lID0gPCRmaWxlSGFuZGxlPikgeworICAg
ICAgICBpZiAoJGNvcHlSaWdodE1vZGUpIHsKKyAgICAgICAgICAgICRjb3B5UmlnaHQgPSAkY29w
eVJpZ2h0IC4gJGxpbmU7CisgICAgICAgICAgICBpZiAoaW5kZXgoJGxpbmUsICIqLyIpID49IDAp
IHsKKyAgICAgICAgICAgICAgICBjbG9zZSgkZmlsZUhhbmRsZSkgb3IgZGllICJGYWlsZWQgdG8g
Y2xvc2UgJGlkbEZpbGVQYXRoIGFmdGVyIHJlYWRpbmc6ICQhIjsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gJGNvcHlSaWdodDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG5leHQ7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAoJGZpcnN0KSB7CisgICAgICAgICAgICBpZiAoMCAhPSBpbmRl
eCgkbGluZSwgIi8qIikpIHsKKyAgICAgICAgICAgICAgICBsYXN0OworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgJGZpcnN0ID0gMDsKKyAgICAgICAgICAgICRjb3B5UmlnaHRNb2RlID0gMTsK
KyAgICAgICAgICAgICRjb3B5UmlnaHQgPSAkY29weVJpZ2h0IC4gJGxpbmU7CisgICAgICAgIH0K
KyAgICB9CisgICAgY2xvc2UoJGZpbGVIYW5kbGUpIG9yIGRpZSAiRmFpbGVkIHRvIGNsb3NlICRp
ZGxGaWxlUGF0aCBhZnRlciByZWFkaW5nOiAkISI7CisKKyAgICByZXR1cm4gIiI7Cit9CisKIHN1
YiBfZmlsZUhlYWRlclN0cmluZwogewotICAgIG15ICgkZmlsZW5hbWUpID0gQF87CisgICAgbXkg
JGNvcHlyaWdodCA9IF9nZXRDb3B5cmlnaHQoKTsKKyAgICBpZiAoJGNvcHlyaWdodCBuZSAiIikg
eworICAgICAgICByZXR1cm4gJGNvcHlyaWdodDsKKyAgICB9CiAKLSAgICAjIEZJWE1FOiBXZSBz
aG91bGQgcHVsbCBoZWFkZXIgb3V0IG9mIHRoZSBJREwgZmlsZSB0byBnZXQgdGhlIGNvcHlyaWdo
dAotICAgICMgeWVhcihzKSByaWdodC4KICAgICByZXR1cm4gPDxFT0Y7CiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTExNyw3ICsx
NjEsNyBAQCBzdWIgX2dlbmVyYXRlSGVhZGVyRmlsZQogICAgIG15ICRpbXBsZW1lbnRhdGlvbkNs
YXNzTmFtZSA9IF9pbXBsZW1lbnRhdGlvbkNsYXNzTmFtZSgkaWRsVHlwZSk7CiAgICAgbXkgJGZp
bGVuYW1lID0gJGNsYXNzTmFtZSAuICIuaCI7CiAKLSAgICBwdXNoKEBjb250ZW50cywgX2ZpbGVI
ZWFkZXJTdHJpbmcoJGZpbGVuYW1lKSk7CisgICAgcHVzaChAY29udGVudHMsIF9maWxlSGVhZGVy
U3RyaW5nKCkpOwogCiAgICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IF9wYXJlbnRDbGFzc05hbWUo
JGludGVyZmFjZSk7CiAKQEAgLTE4NCw3ICsyMjgsNyBAQCBzdWIgX2dlbmVyYXRlSW1wbGVtZW50
YXRpb25GaWxlCiAgICAgbXkgJGltcGxlbWVudGF0aW9uQ2xhc3NOYW1lID0gX2ltcGxlbWVudGF0
aW9uQ2xhc3NOYW1lKCRpZGxUeXBlKTsKICAgICBteSAkZmlsZW5hbWUgPSAkY2xhc3NOYW1lIC4g
Ii5jcHAiOwogCi0gICAgcHVzaChAY29udGVudHNQcmVmaXgsIF9maWxlSGVhZGVyU3RyaW5nKCRm
aWxlbmFtZSkpOworICAgIHB1c2goQGNvbnRlbnRzUHJlZml4LCBfZmlsZUhlYWRlclN0cmluZygp
KTsKIAogICAgIG15ICRjbGFzc1JlZkdldHRlciA9ICRzZWxmLT5fY2xhc3NSZWZHZXR0ZXIoJGlk
bFR5cGUpOwogICAgIG15ICRwYXJlbnRDbGFzc05hbWUgPSBfcGFyZW50Q2xhc3NOYW1lKCRpbnRl
cmZhY2UpOwo=
</data>
<flag name="review"
          id="175615"
          type_id="1"
          status="-"
          setter="dbates"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164484</attachid>
            <date>2012-09-17 20:02:37 -0700</date>
            <delta_ts>2012-09-18 19:55:23 -0700</delta_ts>
            <desc>patch</desc>
            <filename>copyright_5.txt</filename>
            <type>text/plain</type>
            <size>3996</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxODZm
MjBhLi5iMDc0NTVjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDktMTcgIEthbmdpbCBIYW4gIDxrYW5naWwu
aGFuQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dUUl0gQ29kZUdlbmVyYXRvclRlc3RS
dW5uZXIgY291bGQga2VlcCBvcmlnaW5hbCBjb3B5cmlnaHQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjE4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZW5hYmxlZCBkZXJpdmVkIGZp
bGVzLCBpbiBEZXJpdmVkU291cmNlcy9JbmplY3RlZEJ1bmRsZSwgdG8ga2VlcCBvcmlnaW5hbCBj
b3B5cmlnaHQuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtOgorICAgICAgICAobmV3KToKKyAgICAg
ICAgKF9wYXJzZUxpY2Vuc2VCbG9jayk6CisgICAgICAgIChfZGVmYXVsdExpY2Vuc2VCbG9jayk6
CisgICAgICAgIChfbGljZW5zZUJsb2NrKToKKyAgICAgICAgKF9nZW5lcmF0ZUhlYWRlckZpbGUp
OgorICAgICAgICAoX2dlbmVyYXRlSW1wbGVtZW50YXRpb25GaWxlKToKKwogMjAxMi0wOS0xMiAg
Q2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAg
IFtXSzJdW1dLVFJdIFRlc3RSdW5uZXIgbmVlZHMgdG8gaW1wbGVtZW50IGR1bXBBcHBsaWNhdGlv
bkNhY2hlRGVsZWdhdGVDYWxsYmFja3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRvclRlc3RSdW5uZXIucG0gYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0NvZGVHZW5lcmF0
b3JUZXN0UnVubmVyLnBtCmluZGV4IDQwZDkyZWEuLjUxYzliMTcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRvclRl
c3RSdW5uZXIucG0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbQpAQCAtMSw0ICsxLDUgQEAKICMgQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJp
Z2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKICMKICMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjksMTEgKzMwLDEyIEBAIHBhY2thZ2UgQ29kZUdlbmVyYXRvclRlc3RSdW5uZXI7
CiAKIHN1YiBuZXcKIHsKLSAgICBteSAoJGNsYXNzLCAkY29kZUdlbmVyYXRvciwgJG91dHB1dERp
cikgPSBAXzsKKyAgICBteSAoJGNsYXNzLCAkY29kZUdlbmVyYXRvciwgJG91dHB1dERpciwgJG91
dHB1dEhlYWRlckRpciwgJGxheWVyT25Ub3AsICRwcmVwcm9jZXNzb3IsICR3cml0ZURlcGVuZGVu
Y2llcywgJHZlcmJvc2UsICRpZGxGaWxlUGF0aCkgPSBAXzsKIAogICAgIG15ICRyZWZlcmVuY2Ug
PSB7CiAgICAgICAgIGNvZGVHZW5lcmF0b3IgPT4gJGNvZGVHZW5lcmF0b3IsCiAgICAgICAgIG91
dHB1dERpciA9PiAkb3V0cHV0RGlyLAorICAgICAgICBpZGxGaWxlUGF0aCA9PiAkaWRsRmlsZVBh
dGgsCiAgICAgfTsKIAogICAgIGJsZXNzKCRyZWZlcmVuY2UsICRjbGFzcyk7CkBAIC03MiwxMiAr
NzQsMjggQEAgc3ViIF9jbGFzc1JlZkdldHRlcgogICAgIHJldHVybiAkJHNlbGZ7Y29kZUdlbmVy
YXRvcn0tPldLX2xjZmlyc3QoX2ltcGxlbWVudGF0aW9uQ2xhc3NOYW1lKCRpZGxUeXBlKSkgLiAi
Q2xhc3MiOwogfQogCi1zdWIgX2ZpbGVIZWFkZXJTdHJpbmcKK3N1YiBfcGFyc2VMaWNlbnNlQmxv
Y2sKIHsKLSAgICBteSAoJGZpbGVuYW1lKSA9IEBfOworICAgIG15ICgkcGF0aCkgPSBAXzsKKwor
ICAgIG9wZW4gbXkgJGZpbGVIYW5kbGUsICI8IiwgJHBhdGggb3IgZGllICJGYWlsZWQgdG8gb3Bl
biAkcGF0aCBmb3IgcmVhZGluZzogJCEiOworICAgIG15ICgkY29weXJpZ2h0LCAkY3VyRGF0YSwg
JHJlYWRDb3VudCwgJGxhc3REYXRhKTsKKyAgICAkcmVhZENvdW50ID0gcmVhZCAkZmlsZUhhbmRs
ZSwgJGN1ckRhdGEsIDI7CisgICAgcmV0dXJuICIiIGlmICgkcmVhZENvdW50IDwgMiAmJiAkY3Vy
RGF0YSBuZSAiLyoiKTsKKyAgICAkY29weXJpZ2h0ID0gJGN1ckRhdGE7CisKKyAgICB3aGlsZSAo
KCRyZWFkQ291bnQgPSByZWFkICRmaWxlSGFuZGxlLCAkY3VyRGF0YSwgMSkgIT0gMCkgeworICAg
ICAgICAkY29weXJpZ2h0IC49ICRjdXJEYXRhOworICAgICAgICByZXR1cm4gJGNvcHlyaWdodCBp
ZiAkY3VyRGF0YSBlcSAiLyIgJiYgJGxhc3REYXRhIGVxICIqIjsKKyAgICAgICAgJGxhc3REYXRh
ID0gJGN1ckRhdGE7CisgICAgfQorCisgICAgY2xvc2UoJGZpbGVIYW5kbGUpOworICAgIHJldHVy
biAiIjsKK30KIAotICAgICMgRklYTUU6IFdlIHNob3VsZCBwdWxsIGhlYWRlciBvdXQgb2YgdGhl
IElETCBmaWxlIHRvIGdldCB0aGUgY29weXJpZ2h0Ci0gICAgIyB5ZWFyKHMpIHJpZ2h0Lgorc3Vi
IF9kZWZhdWx0TGljZW5zZUJsb2NrCit7CiAgICAgcmV0dXJuIDw8RU9GOwogLyoKICAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xMDYsNiAr
MTI0LDE2IEBAIHN1YiBfZmlsZUhlYWRlclN0cmluZwogRU9GCiB9CiAKK3N1YiBfbGljZW5zZUJs
b2NrCit7CisgICAgbXkgKCRzZWxmKSA9IEBfOworICAgIHJldHVybiAkc2VsZi0+e2xpY2Vuc2VC
bG9ja30gaWYgKCRzZWxmLT57bGljZW5zZUJsb2NrfSk7CisKKyAgICBteSAkbGljZW5zZUJsb2Nr
ID0gX3BhcnNlTGljZW5zZUJsb2NrKCQkc2VsZntpZGxGaWxlUGF0aH0pIHx8IF9kZWZhdWx0TGlj
ZW5zZUJsb2NrKCk7CisgICAgJHNlbGYtPntsaWNlbnNlQmxvY2t9ID0gJGxpY2Vuc2VCbG9jazsK
KyAgICByZXR1cm4gJGxpY2Vuc2VCbG9jazsKK30KKwogc3ViIF9nZW5lcmF0ZUhlYWRlckZpbGUK
IHsKICAgICBteSAoJHNlbGYsICRpbnRlcmZhY2UpID0gQF87CkBAIC0xMTcsNyArMTQ1LDcgQEAg
c3ViIF9nZW5lcmF0ZUhlYWRlckZpbGUKICAgICBteSAkaW1wbGVtZW50YXRpb25DbGFzc05hbWUg
PSBfaW1wbGVtZW50YXRpb25DbGFzc05hbWUoJGlkbFR5cGUpOwogICAgIG15ICRmaWxlbmFtZSA9
ICRjbGFzc05hbWUgLiAiLmgiOwogCi0gICAgcHVzaChAY29udGVudHMsIF9maWxlSGVhZGVyU3Ry
aW5nKCRmaWxlbmFtZSkpOworICAgIHB1c2goQGNvbnRlbnRzLCAkc2VsZi0+X2xpY2Vuc2VCbG9j
aygpKTsKIAogICAgIG15ICRwYXJlbnRDbGFzc05hbWUgPSBfcGFyZW50Q2xhc3NOYW1lKCRpbnRl
cmZhY2UpOwogCkBAIC0xODQsNyArMjEyLDcgQEAgc3ViIF9nZW5lcmF0ZUltcGxlbWVudGF0aW9u
RmlsZQogICAgIG15ICRpbXBsZW1lbnRhdGlvbkNsYXNzTmFtZSA9IF9pbXBsZW1lbnRhdGlvbkNs
YXNzTmFtZSgkaWRsVHlwZSk7CiAgICAgbXkgJGZpbGVuYW1lID0gJGNsYXNzTmFtZSAuICIuY3Bw
IjsKIAotICAgIHB1c2goQGNvbnRlbnRzUHJlZml4LCBfZmlsZUhlYWRlclN0cmluZygkZmlsZW5h
bWUpKTsKKyAgICBwdXNoKEBjb250ZW50c1ByZWZpeCwgJHNlbGYtPl9saWNlbnNlQmxvY2soKSk7
CiAKICAgICBteSAkY2xhc3NSZWZHZXR0ZXIgPSAkc2VsZi0+X2NsYXNzUmVmR2V0dGVyKCRpZGxU
eXBlKTsKICAgICBteSAkcGFyZW50Q2xhc3NOYW1lID0gX3BhcmVudENsYXNzTmFtZSgkaW50ZXJm
YWNlKTsK
</data>
<flag name="review"
          id="176268"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164648</attachid>
            <date>2012-09-18 19:55:23 -0700</date>
            <delta_ts>2012-09-18 22:13:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>copyright_6.txt</filename>
            <type>text/plain</type>
            <size>4354</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxODZm
MjBhLi5iODlkYTk3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDktMTggIEthbmdpbCBIYW4gIDxrYW5naWwu
aGFuQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dUUl0gQ29kZUdlbmVyYXRvclRlc3RS
dW5uZXIgY291bGQga2VlcCBvcmlnaW5hbCBjb3B5cmlnaHQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjE4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhbmllbCBCYXRlcy4KKworICAgICAgICBUaGlzIHBhdGNoIGVuYWJsZWQgZGVyaXZlZCBmaWxl
cywgaW4gRGVyaXZlZFNvdXJjZXMvSW5qZWN0ZWRCdW5kbGUsIHRvIGtlZXAgb3JpZ2luYWwgY29w
eXJpZ2h0LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbToKKyAgICAgICAgKG5ldyk6CisgICAgICAg
IChfcGFyc2VMaWNlbnNlQmxvY2spOgorICAgICAgICAoX3BhcnNlTGljZW5zZUJsb2NrRnJvbUZp
bGUpOgorICAgICAgICAoX2RlZmF1bHRMaWNlbnNlQmxvY2spOgorICAgICAgICAoX2xpY2Vuc2VC
bG9jayk6CisgICAgICAgIChfZ2VuZXJhdGVIZWFkZXJGaWxlKToKKyAgICAgICAgKF9nZW5lcmF0
ZUltcGxlbWVudGF0aW9uRmlsZSk6CisKIDIwMTItMDktMTIgIENocmlzdG9waGUgRHVtZXogIDxj
aHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbV0syXVtXS1RSXSBUZXN0UnVu
bmVyIG5lZWRzIHRvIGltcGxlbWVudCBkdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJh
Y2tzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbQppbmRl
eCA0MGQ5MmVhLi5iMTY3MjY1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRv
clRlc3RSdW5uZXIucG0KQEAgLTEsNCArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5n
IEVsZWN0cm9uaWNzCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDExICszMCwx
MiBAQCBwYWNrYWdlIENvZGVHZW5lcmF0b3JUZXN0UnVubmVyOwogCiBzdWIgbmV3CiB7Ci0gICAg
bXkgKCRjbGFzcywgJGNvZGVHZW5lcmF0b3IsICRvdXRwdXREaXIpID0gQF87CisgICAgbXkgKCRj
bGFzcywgJGNvZGVHZW5lcmF0b3IsICRvdXRwdXREaXIsICRvdXRwdXRIZWFkZXJEaXIsICRsYXll
ck9uVG9wLCAkcHJlcHJvY2Vzc29yLCAkd3JpdGVEZXBlbmRlbmNpZXMsICR2ZXJib3NlLCAkaWRs
RmlsZVBhdGgpID0gQF87CiAKICAgICBteSAkcmVmZXJlbmNlID0gewogICAgICAgICBjb2RlR2Vu
ZXJhdG9yID0+ICRjb2RlR2VuZXJhdG9yLAogICAgICAgICBvdXRwdXREaXIgPT4gJG91dHB1dERp
ciwKKyAgICAgICAgaWRsRmlsZVBhdGggPT4gJGlkbEZpbGVQYXRoLAogICAgIH07CiAKICAgICBi
bGVzcygkcmVmZXJlbmNlLCAkY2xhc3MpOwpAQCAtNzIsMTIgKzc0LDM2IEBAIHN1YiBfY2xhc3NS
ZWZHZXR0ZXIKICAgICByZXR1cm4gJCRzZWxme2NvZGVHZW5lcmF0b3J9LT5XS19sY2ZpcnN0KF9p
bXBsZW1lbnRhdGlvbkNsYXNzTmFtZSgkaWRsVHlwZSkpIC4gIkNsYXNzIjsKIH0KIAotc3ViIF9m
aWxlSGVhZGVyU3RyaW5nCitzdWIgX3BhcnNlTGljZW5zZUJsb2NrCiB7Ci0gICAgbXkgKCRmaWxl
bmFtZSkgPSBAXzsKKyAgICBteSAoJGZpbGVIYW5kbGUpID0gQF87CisKKyAgICBteSAoJGNvcHly
aWdodCwgJGN1cnJlbnRDaGFyYWN0ZXIsICRyZWFkQ291bnQsICRwcmV2aW91c0NoYXJhY3Rlcik7
CisgICAgbXkgJGxlbmd0aE9mU3RhcnRTZW50aW5lbCA9IGxlbmd0aCgiLyoiKTsKKyAgICAkcmVh
ZENvdW50ID0gcmVhZCgkZmlsZUhhbmRsZSwgJGN1cnJlbnRDaGFyYWN0ZXIsICRsZW5ndGhPZlN0
YXJ0U2VudGluZWwpOworICAgIHJldHVybiAiIiBpZiAoJHJlYWRDb3VudCA8IDIgfHwgJGN1cnJl
bnRDaGFyYWN0ZXIgbmUgIi8qIik7CisgICAgJGNvcHlyaWdodCA9ICRjdXJyZW50Q2hhcmFjdGVy
OworCisgICAgd2hpbGUgKCRyZWFkQ291bnQgPSByZWFkKCRmaWxlSGFuZGxlLCAkY3VycmVudENo
YXJhY3RlciwgMSkpIHsKKyAgICAgICAgJGNvcHlyaWdodCAuPSAkY3VycmVudENoYXJhY3RlcjsK
KyAgICAgICAgcmV0dXJuICRjb3B5cmlnaHQgaWYgJGN1cnJlbnRDaGFyYWN0ZXIgZXEgIi8iICYm
ICRwcmV2aW91c0NoYXJhY3RlciBlcSAiKiI7CisgICAgICAgICRwcmV2aW91c0NoYXJhY3RlciA9
ICRjdXJyZW50Q2hhcmFjdGVyOworICAgIH0KKworICAgIHJldHVybiAiIjsKK30KKworc3ViIF9w
YXJzZUxpY2Vuc2VCbG9ja0Zyb21GaWxlCit7CisgICAgbXkgKCRwYXRoKSA9IEBfOworICAgIG9w
ZW4gbXkgJGZpbGVIYW5kbGUsICI8IiwgJHBhdGggb3IgZGllICJGYWlsZWQgdG8gb3BlbiAkcGF0
aCBmb3IgcmVhZGluZzogJCEiOworICAgIG15ICRsaWNlbnNlQmxvY2sgPSBfcGFyc2VMaWNlbnNl
QmxvY2soJGZpbGVIYW5kbGUpOworICAgIGNsb3NlKCRmaWxlSGFuZGxlKTsKKyAgICByZXR1cm4g
JGxpY2Vuc2VCbG9jazsKK30KIAotICAgICMgRklYTUU6IFdlIHNob3VsZCBwdWxsIGhlYWRlciBv
dXQgb2YgdGhlIElETCBmaWxlIHRvIGdldCB0aGUgY29weXJpZ2h0Ci0gICAgIyB5ZWFyKHMpIHJp
Z2h0Lgorc3ViIF9kZWZhdWx0TGljZW5zZUJsb2NrCit7CiAgICAgcmV0dXJuIDw8RU9GOwogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBA
IC0xMDYsNiArMTMyLDE2IEBAIHN1YiBfZmlsZUhlYWRlclN0cmluZwogRU9GCiB9CiAKK3N1YiBf
bGljZW5zZUJsb2NrCit7CisgICAgbXkgKCRzZWxmKSA9IEBfOworICAgIHJldHVybiAkc2VsZi0+
e2xpY2Vuc2VCbG9ja30gaWYgJHNlbGYtPntsaWNlbnNlQmxvY2t9OworCisgICAgbXkgJGxpY2Vu
c2VCbG9jayA9IF9wYXJzZUxpY2Vuc2VCbG9ja0Zyb21GaWxlKCRzZWxmLT57aWRsRmlsZVBhdGh9
KSB8fCBfZGVmYXVsdExpY2Vuc2VCbG9jaygpOworICAgICRzZWxmLT57bGljZW5zZUJsb2NrfSA9
ICRsaWNlbnNlQmxvY2s7CisgICAgcmV0dXJuICRsaWNlbnNlQmxvY2s7Cit9CisKIHN1YiBfZ2Vu
ZXJhdGVIZWFkZXJGaWxlCiB7CiAgICAgbXkgKCRzZWxmLCAkaW50ZXJmYWNlKSA9IEBfOwpAQCAt
MTE3LDcgKzE1Myw3IEBAIHN1YiBfZ2VuZXJhdGVIZWFkZXJGaWxlCiAgICAgbXkgJGltcGxlbWVu
dGF0aW9uQ2xhc3NOYW1lID0gX2ltcGxlbWVudGF0aW9uQ2xhc3NOYW1lKCRpZGxUeXBlKTsKICAg
ICBteSAkZmlsZW5hbWUgPSAkY2xhc3NOYW1lIC4gIi5oIjsKIAotICAgIHB1c2goQGNvbnRlbnRz
LCBfZmlsZUhlYWRlclN0cmluZygkZmlsZW5hbWUpKTsKKyAgICBwdXNoKEBjb250ZW50cywgJHNl
bGYtPl9saWNlbnNlQmxvY2soKSk7CiAKICAgICBteSAkcGFyZW50Q2xhc3NOYW1lID0gX3BhcmVu
dENsYXNzTmFtZSgkaW50ZXJmYWNlKTsKIApAQCAtMTg0LDcgKzIyMCw3IEBAIHN1YiBfZ2VuZXJh
dGVJbXBsZW1lbnRhdGlvbkZpbGUKICAgICBteSAkaW1wbGVtZW50YXRpb25DbGFzc05hbWUgPSBf
aW1wbGVtZW50YXRpb25DbGFzc05hbWUoJGlkbFR5cGUpOwogICAgIG15ICRmaWxlbmFtZSA9ICRj
bGFzc05hbWUgLiAiLmNwcCI7CiAKLSAgICBwdXNoKEBjb250ZW50c1ByZWZpeCwgX2ZpbGVIZWFk
ZXJTdHJpbmcoJGZpbGVuYW1lKSk7CisgICAgcHVzaChAY29udGVudHNQcmVmaXgsICRzZWxmLT5f
bGljZW5zZUJsb2NrKCkpOwogCiAgICAgbXkgJGNsYXNzUmVmR2V0dGVyID0gJHNlbGYtPl9jbGFz
c1JlZkdldHRlcigkaWRsVHlwZSk7CiAgICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IF9wYXJlbnRD
bGFzc05hbWUoJGludGVyZmFjZSk7Cg==
</data>
<flag name="commit-queue"
          id="176472"
          type_id="3"
          status="-"
          setter="dbates"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164659</attachid>
            <date>2012-09-18 22:13:50 -0700</date>
            <delta_ts>2012-09-18 22:40:57 -0700</delta_ts>
            <desc>patch</desc>
            <filename>copyright_7.txt</filename>
            <type>text/plain</type>
            <size>4405</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxODZm
MjBhLi5iODlkYTk3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDktMTggIEthbmdpbCBIYW4gIDxrYW5naWwu
aGFuQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW1dUUl0gQ29kZUdlbmVyYXRvclRlc3RS
dW5uZXIgY291bGQga2VlcCBvcmlnaW5hbCBjb3B5cmlnaHQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjE4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhbmllbCBCYXRlcy4KKworICAgICAgICBUaGlzIHBhdGNoIGVuYWJsZWQgZGVyaXZlZCBmaWxl
cywgaW4gRGVyaXZlZFNvdXJjZXMvSW5qZWN0ZWRCdW5kbGUsIHRvIGtlZXAgb3JpZ2luYWwgY29w
eXJpZ2h0LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbToKKyAgICAgICAgKG5ldyk6CisgICAgICAg
IChfcGFyc2VMaWNlbnNlQmxvY2spOgorICAgICAgICAoX3BhcnNlTGljZW5zZUJsb2NrRnJvbUZp
bGUpOgorICAgICAgICAoX2RlZmF1bHRMaWNlbnNlQmxvY2spOgorICAgICAgICAoX2xpY2Vuc2VC
bG9jayk6CisgICAgICAgIChfZ2VuZXJhdGVIZWFkZXJGaWxlKToKKyAgICAgICAgKF9nZW5lcmF0
ZUltcGxlbWVudGF0aW9uRmlsZSk6CisKIDIwMTItMDktMTIgIENocmlzdG9waGUgRHVtZXogIDxj
aHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbV0syXVtXS1RSXSBUZXN0UnVu
bmVyIG5lZWRzIHRvIGltcGxlbWVudCBkdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJh
Y2tzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9Db2RlR2VuZXJhdG9yVGVzdFJ1bm5lci5wbQppbmRl
eCA0MGQ5MmVhLi5mMmRhNjQwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JUZXN0UnVubmVyLnBtCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQ29kZUdlbmVyYXRv
clRlc3RSdW5uZXIucG0KQEAgLTEsNCArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5n
IEVsZWN0cm9uaWNzCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDExICszMCwx
MiBAQCBwYWNrYWdlIENvZGVHZW5lcmF0b3JUZXN0UnVubmVyOwogCiBzdWIgbmV3CiB7Ci0gICAg
bXkgKCRjbGFzcywgJGNvZGVHZW5lcmF0b3IsICRvdXRwdXREaXIpID0gQF87CisgICAgbXkgKCRj
bGFzcywgJGNvZGVHZW5lcmF0b3IsICRvdXRwdXREaXIsICRvdXRwdXRIZWFkZXJEaXIsICRsYXll
ck9uVG9wLCAkcHJlcHJvY2Vzc29yLCAkd3JpdGVEZXBlbmRlbmNpZXMsICR2ZXJib3NlLCAkaWRs
RmlsZVBhdGgpID0gQF87CiAKICAgICBteSAkcmVmZXJlbmNlID0gewogICAgICAgICBjb2RlR2Vu
ZXJhdG9yID0+ICRjb2RlR2VuZXJhdG9yLAogICAgICAgICBvdXRwdXREaXIgPT4gJG91dHB1dERp
ciwKKyAgICAgICAgaWRsRmlsZVBhdGggPT4gJGlkbEZpbGVQYXRoLAogICAgIH07CiAKICAgICBi
bGVzcygkcmVmZXJlbmNlLCAkY2xhc3MpOwpAQCAtNzIsMTIgKzc0LDM3IEBAIHN1YiBfY2xhc3NS
ZWZHZXR0ZXIKICAgICByZXR1cm4gJCRzZWxme2NvZGVHZW5lcmF0b3J9LT5XS19sY2ZpcnN0KF9p
bXBsZW1lbnRhdGlvbkNsYXNzTmFtZSgkaWRsVHlwZSkpIC4gIkNsYXNzIjsKIH0KIAotc3ViIF9m
aWxlSGVhZGVyU3RyaW5nCitzdWIgX3BhcnNlTGljZW5zZUJsb2NrCiB7Ci0gICAgbXkgKCRmaWxl
bmFtZSkgPSBAXzsKKyAgICBteSAoJGZpbGVIYW5kbGUpID0gQF87CisKKyAgICBteSAoJGNvcHly
aWdodCwgJHJlYWRDb3VudCwgJGJ1ZmZlciwgJGN1cnJlbnRDaGFyYWN0ZXIsICRwcmV2aW91c0No
YXJhY3Rlcik7CisgICAgbXkgJHN0YXJ0U2VudGluZWwgPSAiLyoiOworICAgIG15ICRsZW5ndGhP
ZlN0YXJ0U2VudGluZWwgPSBsZW5ndGgoJHN0YXJ0U2VudGluZWwpOworICAgICRyZWFkQ291bnQg
PSByZWFkKCRmaWxlSGFuZGxlLCAkYnVmZmVyLCAkbGVuZ3RoT2ZTdGFydFNlbnRpbmVsKTsKKyAg
ICByZXR1cm4gIiIgaWYgKCRyZWFkQ291bnQgPCAkbGVuZ3RoT2ZTdGFydFNlbnRpbmVsIHx8ICRi
dWZmZXIgbmUgJHN0YXJ0U2VudGluZWwpOworICAgICRjb3B5cmlnaHQgPSAkYnVmZmVyOworCisg
ICAgd2hpbGUgKCRyZWFkQ291bnQgPSByZWFkKCRmaWxlSGFuZGxlLCAkY3VycmVudENoYXJhY3Rl
ciwgMSkpIHsKKyAgICAgICAgJGNvcHlyaWdodCAuPSAkY3VycmVudENoYXJhY3RlcjsKKyAgICAg
ICAgcmV0dXJuICRjb3B5cmlnaHQgaWYgJGN1cnJlbnRDaGFyYWN0ZXIgZXEgIi8iICYmICRwcmV2
aW91c0NoYXJhY3RlciBlcSAiKiI7CisgICAgICAgICRwcmV2aW91c0NoYXJhY3RlciA9ICRjdXJy
ZW50Q2hhcmFjdGVyOworICAgIH0KKworICAgIHJldHVybiAiIjsKK30KKworc3ViIF9wYXJzZUxp
Y2Vuc2VCbG9ja0Zyb21GaWxlCit7CisgICAgbXkgKCRwYXRoKSA9IEBfOworICAgIG9wZW4gbXkg
JGZpbGVIYW5kbGUsICI8IiwgJHBhdGggb3IgZGllICJGYWlsZWQgdG8gb3BlbiAkcGF0aCBmb3Ig
cmVhZGluZzogJCEiOworICAgIG15ICRsaWNlbnNlQmxvY2sgPSBfcGFyc2VMaWNlbnNlQmxvY2so
JGZpbGVIYW5kbGUpOworICAgIGNsb3NlKCRmaWxlSGFuZGxlKTsKKyAgICByZXR1cm4gJGxpY2Vu
c2VCbG9jazsKK30KIAotICAgICMgRklYTUU6IFdlIHNob3VsZCBwdWxsIGhlYWRlciBvdXQgb2Yg
dGhlIElETCBmaWxlIHRvIGdldCB0aGUgY29weXJpZ2h0Ci0gICAgIyB5ZWFyKHMpIHJpZ2h0Lgor
c3ViIF9kZWZhdWx0TGljZW5zZUJsb2NrCit7CiAgICAgcmV0dXJuIDw8RU9GOwogLyoKICAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xMDYs
NiArMTMzLDE2IEBAIHN1YiBfZmlsZUhlYWRlclN0cmluZwogRU9GCiB9CiAKK3N1YiBfbGljZW5z
ZUJsb2NrCit7CisgICAgbXkgKCRzZWxmKSA9IEBfOworICAgIHJldHVybiAkc2VsZi0+e2xpY2Vu
c2VCbG9ja30gaWYgJHNlbGYtPntsaWNlbnNlQmxvY2t9OworCisgICAgbXkgJGxpY2Vuc2VCbG9j
ayA9IF9wYXJzZUxpY2Vuc2VCbG9ja0Zyb21GaWxlKCRzZWxmLT57aWRsRmlsZVBhdGh9KSB8fCBf
ZGVmYXVsdExpY2Vuc2VCbG9jaygpOworICAgICRzZWxmLT57bGljZW5zZUJsb2NrfSA9ICRsaWNl
bnNlQmxvY2s7CisgICAgcmV0dXJuICRsaWNlbnNlQmxvY2s7Cit9CisKIHN1YiBfZ2VuZXJhdGVI
ZWFkZXJGaWxlCiB7CiAgICAgbXkgKCRzZWxmLCAkaW50ZXJmYWNlKSA9IEBfOwpAQCAtMTE3LDcg
KzE1NCw3IEBAIHN1YiBfZ2VuZXJhdGVIZWFkZXJGaWxlCiAgICAgbXkgJGltcGxlbWVudGF0aW9u
Q2xhc3NOYW1lID0gX2ltcGxlbWVudGF0aW9uQ2xhc3NOYW1lKCRpZGxUeXBlKTsKICAgICBteSAk
ZmlsZW5hbWUgPSAkY2xhc3NOYW1lIC4gIi5oIjsKIAotICAgIHB1c2goQGNvbnRlbnRzLCBfZmls
ZUhlYWRlclN0cmluZygkZmlsZW5hbWUpKTsKKyAgICBwdXNoKEBjb250ZW50cywgJHNlbGYtPl9s
aWNlbnNlQmxvY2soKSk7CiAKICAgICBteSAkcGFyZW50Q2xhc3NOYW1lID0gX3BhcmVudENsYXNz
TmFtZSgkaW50ZXJmYWNlKTsKIApAQCAtMTg0LDcgKzIyMSw3IEBAIHN1YiBfZ2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbkZpbGUKICAgICBteSAkaW1wbGVtZW50YXRpb25DbGFzc05hbWUgPSBfaW1wbGVt
ZW50YXRpb25DbGFzc05hbWUoJGlkbFR5cGUpOwogICAgIG15ICRmaWxlbmFtZSA9ICRjbGFzc05h
bWUgLiAiLmNwcCI7CiAKLSAgICBwdXNoKEBjb250ZW50c1ByZWZpeCwgX2ZpbGVIZWFkZXJTdHJp
bmcoJGZpbGVuYW1lKSk7CisgICAgcHVzaChAY29udGVudHNQcmVmaXgsICRzZWxmLT5fbGljZW5z
ZUJsb2NrKCkpOwogCiAgICAgbXkgJGNsYXNzUmVmR2V0dGVyID0gJHNlbGYtPl9jbGFzc1JlZkdl
dHRlcigkaWRsVHlwZSk7CiAgICAgbXkgJHBhcmVudENsYXNzTmFtZSA9IF9wYXJlbnRDbGFzc05h
bWUoJGludGVyZmFjZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>