<?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>33119</bug_id>
          
          <creation_ts>2010-01-03 09:55:31 -0800</creation_ts>
          <short_desc>svn-apply breaks on patch files with leading white space</short_desc>
          <delta_ts>2010-05-03 23:26:40 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Jerdonek">cjerdonek</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>176424</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-03 09:55:31 -0800</bug_when>
    <thetext>I noticed this one while reading svn-apply. If a patch file begins with white space, for instance:

--BEGIN--



Index: WebKitTools/ChangeLog
===================================================================
...

Then svn-apply terminates with the following, even though &quot;Index&quot; is present in the file:

$ svn-apply ~/dev-my/test-patch.txt
Failed to find &apos;Index:&apos; in:
-------------------------------------------------------------------





-------------------------------------------------------------------
Died at .../WebKit/WebKitTools/Scripts/svn-apply line 339, &lt;&gt; line 575.

Fixing this will eliminate one case where --force needs to be used.  It&apos;s not a big deal, but it&apos;s something I was going to fix anyways in the course of some refactoring.

It&apos;s because the main while loop starts writing to $patch even before it encounters Index:

while (&lt;&gt;) {
    ...
    if (/^Index: (.+)/) {
        $indexPath = $1;
        if ($patch) {
            if (!$copiedFromPath) {
                push @patches, $patch;
            }
            $copiedFromPath = &quot;&quot;;
            $patch = &quot;&quot;;
        }
    }
    ...
    $patch .= $_;
    $patch .= $eol;
}

Let me know if you don&apos;t want to be CC&apos;ed on future Perl issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201251</commentid>
    <comment_count>1</comment_count>
      <attachid>51019</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-03-18 04:43:34 -0700</bug_when>
    <thetext>Created attachment 51019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201252</commentid>
    <comment_count>2</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-03-18 04:46:56 -0700</bug_when>
    <thetext>With using of --force we might lose useful warnings, so this solution should be better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203865</commentid>
    <comment_count>3</comment_count>
      <attachid>51019</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-25 00:31:22 -0700</bug_when>
    <thetext>Comment on attachment 51019
Patch

We have perl unit tests now.  We should be able to test this.

If the perl unit tests aren&apos;t strong enough to test this, scm_unitttest.py certainly is.  You can run it using test-webkitpy --all</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210121</commentid>
    <comment_count>4</comment_count>
      <attachid>52855</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-04-08 06:09:34 -0700</bug_when>
    <thetext>Created attachment 52855
proposed patch with unittests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219457</commentid>
    <comment_count>5</comment_count>
      <attachid>52855</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-04-30 05:54:07 -0700</bug_when>
    <thetext>Comment on attachment 52855
proposed patch with unittests

Marking this patch r- because it no longer applies.

Also, some high-level comments regarding the directory being created here:

&gt; +++ WebKitTools/Scripts/webkitperl/tools_unittest/svn-apply.pl	(revision 0)

Might it make more sense to continue the existing pattern of one *_unittest/
directory per file to be unit-tested?  For example, svn-apply_unittest/ and
svn-unapply_unittest/?

If code can be shared between tests of code in svn-apply and svn-unapply,
maybe that can be handled by adding a test-support file in webkitperl/.

Finally, in cases where svn-apply and svn-unapply define the same or nearly
the same methods (because of cut-and-paste), it may also make sense to
refactor those areas to use the same code.  Then for each refactored
function, one function can be unit-testted instead of two.  That&apos;s not
something you necessarily need to be the one to do, but it&apos;s something
to consider.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219468</commentid>
    <comment_count>6</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-04-30 06:32:56 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 52855 [details])
&gt; Marking this patch r- because it no longer applies.
&gt; 
&gt; Also, some high-level comments regarding the directory being created here:
&gt; 
&gt; &gt; +++ WebKitTools/Scripts/webkitperl/tools_unittest/svn-apply.pl	(revision 0)
&gt; 
&gt; Might it make more sense to continue the existing pattern of one *_unittest/
&gt; directory per file to be unit-tested?  For example, svn-apply_unittest/ and
&gt; svn-unapply_unittest/?

I don&apos;t like dir/unittest direction. I think it&apos;s more perspicuous to have only one unittest for a file, so directories&apos;re needless.
 
&gt; If code can be shared between tests of code in svn-apply and svn-unapply,
&gt; maybe that can be handled by adding a test-support file in webkitperl/.
&gt;
&gt; Finally, in cases where svn-apply and svn-unapply define the same or nearly
&gt; the same methods (because of cut-and-paste), it may also make sense to
&gt; refactor those areas to use the same code.  Then for each refactored
&gt; function, one function can be unit-testted instead of two.  That&apos;s not
&gt; something you necessarily need to be the one to do, but it&apos;s something
&gt; to consider.

I considered this earlier, and I agree with merging the two files into one. (I opened a bug: bug #38388 ) So first, we should try to refactoring it, and then as you said there will be only unit-test. If it&apos;s okay, next week I&apos;ll try to allocate some time for this. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219513</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-04-30 09:51:12 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Might it make more sense to continue the existing pattern of one *_unittest/
&gt; &gt; directory per file to be unit-tested?  For example, svn-apply_unittest/ and
&gt; &gt; svn-unapply_unittest/?
&gt; 
&gt; I don&apos;t like dir/unittest direction. I think it&apos;s more perspicuous to have only
&gt; one unittest for a file, so directories&apos;re needless.

A directory was created for VCSUtils.pm&apos;s unit tests to avoid having a single monster file.  VCSUtils.pm is up to around 37 subroutines, and some of those subroutines need many lines to test since the inputs and outputs are patch strings.  For example, the unit test file for the parseDiff() subroutine is over 300 lines not counting the initial license text.  And that may grow as we add support for other patch syntax like SVN properties, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220489</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-03 23:26:40 -0700</bug_when>
    <thetext>Resolved in:

https://bugs.webkit.org/show_bug.cgi?id=38507</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51019</attachid>
            <date>2010-03-18 04:43:34 -0700</date>
            <delta_ts>2010-04-08 06:09:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-33119-20100318124332.patch</filename>
            <type>text/plain</type>
            <size>1514</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU2MTUyKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMTggIFpvbHRhbiBIb3J2YXRoICA8
em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4IHN2bi1bdW5dYXBwbHkgYnJlYWsgd2hlbiBwYXRjaCBjb250YWlucyBs
ZWFkaW5nIHdoaXRlIHNwYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzMxMTkKKworICAgICAgICBGaXggc3ZuLVt1bl1hcHBseSBicmVhayB3aGVu
IHBhdGNoJ3MgaGVhZCBjb250YWlucyBsZWFkaW5nIHdoaXRlIHNwYWNlcyBvciBibGFuayBsaW5l
cworCisgICAgICAgICogU2NyaXB0cy9zdm4tYXBwbHk6CisgICAgICAgICogU2NyaXB0cy9zdm4t
dW5hcHBseToKKwogMjAxMC0wMy0xNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViS2l0VG9vbHMvU2Ny
aXB0cy9zdm4tYXBwbHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tYXBw
bHkJKHJldmlzaW9uIDU2MTUyKQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkJKHdv
cmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsNyBAQCBteSAkZmlsdGVyOwogbXkgJGluZGV4UGF0
aDsKIG15ICRwYXRjaDsKIHdoaWxlICg8PikgeworICAgIG5leHQgaWYoIWRlZmluZWQoJGluZGV4
UGF0aCkgJiYgL15ccyskLyk7CiAgICAgcy8oW1xuXHJdKykkLy9tZzsKICAgICBteSAkZW9sID0g
JDE7CiAgICAgaWYgKCFkZWZpbmVkKCRpbmRleFBhdGgpICYmIG0jXmRpZmYgLS1naXQgXHcvIykg
ewpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tdW5hcHBseQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXRUb29scy9TY3JpcHRzL3N2bi11bmFwcGx5CShyZXZpc2lvbiA1NjE1MikKKysrIFdlYktp
dFRvb2xzL1NjcmlwdHMvc3ZuLXVuYXBwbHkJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw2ICsxMDIs
NyBAQCBteSAkZmlsdGVyOwogbXkgJGluZGV4UGF0aDsKIG15ICRwYXRjaDsKIHdoaWxlICg8Pikg
eworICAgIG5leHQgaWYoIWRlZmluZWQoJGluZGV4UGF0aCkgJiYgL15ccyskLyk7CiAgICAgcy8o
W1xuXHJdKykkLy9tZzsKICAgICBteSAkZW9sID0gJDE7CiAgICAgaWYgKCFkZWZpbmVkKCRpbmRl
eFBhdGgpICYmIG0jXmRpZmYgLS1naXQgXHcvIykgewo=
</data>
<flag name="review"
          id="34207"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52855</attachid>
            <date>2010-04-08 06:09:34 -0700</date>
            <delta_ts>2010-04-30 05:54:07 -0700</delta_ts>
            <desc>proposed patch with unittests</desc>
            <filename>leading.patch</filename>
            <type>text/plain</type>
            <size>10801</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU3MjY5KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMDggIFpvbHRhbiBIb3J2YXRoICA8
em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4IHN2bi1bdW5dYXBwbHkgYnJlYWsgd2hlbiBwYXRjaGVzIGNvbnRhaW4g
bGVhZGluZyB3aGl0ZSBzcGFjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTMzMTE5CisKKyAgICAgICAgRml4IHN2bi1bdW5dYXBwbHkgYnJlYWsgd2hl
biBwYXRjaCdzIGhlYWQgY29udGFpbnMgbGVhZGluZyB3aGl0ZSBzcGFjZXMgb3IgYmxhbmsgbGlu
ZXMuCisgICAgICAgIEFkZCBwZXJsIHVuaXR0ZXN0cyBmb3Igc3ZuLVt1bl1hcHBseS4KKworICAg
ICAgICAqIFNjcmlwdHMvc3ZuLWFwcGx5OgorICAgICAgICAqIFNjcmlwdHMvc3ZuLXVuYXBwbHk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cGVybC90b29sc191bml0dGVzdDogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
ZXJsL3Rvb2xzX3VuaXR0ZXN0L3N2bi1hcHBseS5wbDogQWRkZWQuCisKIDIwMTAtMDQtMDggIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IFNlaWRlbC4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CShyZXZpc2lvbiA1NzE5OCkKKysrIFdl
YktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CSh3b3JraW5nIGNvcHkpCkBAIC0xMzEsNiArMTMx
LDcgQEAKIG15ICRpbmRleFBhdGg7CiBteSAkcGF0Y2g7CiB3aGlsZSAoPD4pIHsKKyAgICBuZXh0
IGlmKCFkZWZpbmVkKCRpbmRleFBhdGgpICYmIC9eXHMrJC8pOwogICAgIHMvKFtcblxyXSspJC8v
bWc7CiAgICAgbXkgJGVvbCA9ICQxOwogICAgIGlmICghZGVmaW5lZCgkaW5kZXhQYXRoKSAmJiBt
I15kaWZmIC0tZ2l0IFx3LyMpIHsKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC90b29sc191bml0dGVzdC9zdm4tYXBwbHkucGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL3Rvb2xzX3VuaXR0ZXN0L3N2bi1hcHBseS5wbAkocmV2aXNpb24g
MCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC90b29sc191bml0dGVzdC9zdm4t
YXBwbHkucGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjc1IEBACisjIS91c3IvYmluL3Blcmwg
LXcKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEwIFpvbHRhbiBIb3J2YXRoIC0gVW5pdmVyc2l0eSBv
ZiBTemVnZWQKKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIyAKKyMg
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBk
aXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMgCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
IyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
IyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworIyBVbml0IHRlc3RzIG9mIHN2bi1hcHBs
eSBhbmQgc3ZuLXVuYXBwbHkKKwordXNlIFRlc3Q6OlNpbXBsZSB0ZXN0cyA9PiAxMDsKK3VzZSB3
ZWJraXRkaXJzOworCitteSAkc291cmNlRGlyID0gZGV0ZXJtaW5lU291cmNlRGlyKCk7CitteSAk
c3ZuQXBwbHkgPSAkc291cmNlRGlyIC4gIi9XZWJLaXRUb29scy9TY3JpcHRzL3N2bi1hcHBseSI7
CitteSAkc3ZudW5BcHBseSA9ICRzb3VyY2VEaXIgLiAiL1dlYktpdFRvb2xzL1NjcmlwdHMvc3Zu
LXVuYXBwbHkiOworCitteSAkYXBwbHlUaXRsZTsKK215ICR1bmFwcGx5VGl0bGU7CitteSAkYXBw
bHlPdXRwdXQ7CitteSAkdW5hcHBseU91dHB1dDsKKworbXkgJGlucHV0OworCisjIE5ldyB0ZXN0
cworJGFwcGx5VGl0bGUgPSAiVGVzdCBzdm4tYXBwbHkgd2l0aCBzaW1wbGUgcGF0Y2giOworJHVu
YXBwbHlUaXRsZSA9ICJUZXN0IHN2bi11bmFwcGx5IHdpdGggc2ltcGxlIHBhdGNoIjsKKworJGlu
cHV0ID0gPDwnRU5EJzsKK0luZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL2ZpbmQtZXh0cmEtaW5j
bHVkZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KKy0tLSBXZWJLaXRUb29scy9TY3JpcHRzL2ZpbmQtZXh0cmEtaW5j
bHVkZXMgICAgIChyZXZpc2lvbiA1NjgzNykKKysrKyBXZWJLaXRUb29scy9TY3JpcHRzL2ZpbmQt
ZXh0cmEtaW5jbHVkZXMgICAgICh3b3JraW5nIGNvcHkpCitAQCAtMTAwLDMgKzEwMCw2IEBACisg
Zm9yIG15ICRmaWxlIChzb3J0IGtleXMgJWluY2x1ZGVzKSB7CisgICAgIGNoZWNrKCRmaWxlKTsK
KyB9CisrCisrIyBFbmQgb2YgdGhlIGZpbGUuIE9ubHkgYSB0ZXN0IGNvbW1lbnQuCisrCitFTkQK
KworJGV4cGVjdGVkID0gInBhdGNoaW5nIGZpbGUgV2ViS2l0VG9vbHMvU2NyaXB0cy9maW5kLWV4
dHJhLWluY2x1ZGVzIjsKK2Nob21wKCRleHBlY3RlZCk7CisKKyMgVGhpcyBmaWxlIHNob3VsZCBu
b3QgZXhpc3QgYWZ0ZXIgdGhlIHRlc3RzLCBidXQgd2UgdGFrZSBjYXJlIHdpdGggdGhlIGZpbGUg
bmFtZQorJHRtcFBhdGNoID0gJHNvdXJjZURpciAuICIvcGVybFVuaXR0ZXN0UGF0Y2hfT0tfVE9f
RVJBU0VfJCQucGF0Y2giOworb3BlbihPVVRQVVQsICI+PiR0bXBQYXRjaCIpOworcHJpbnQgT1VU
UFVUICRpbnB1dDsKKworJGFwcGx5T3V0cHV0ID0gYCRzdm5BcHBseSAkdG1wUGF0Y2hgOworY2hv
bXAoJGFwcGx5T3V0cHV0KTsKKworJHVuYXBwbHlPdXRwdXQgPSBgJHN2bnVuQXBwbHkgJHRtcFBh
dGNoYDsKK2Nob21wKCR1bmFwcGx5T3V0cHV0KTsKKwordW5saW5rKCR0bXBQYXRjaCk7CisKK29r
KCRhcHBseU91dHB1dCBlcSAkZXhwZWN0ZWQsICRhcHBseVRpdGxlKTsKK29rKCR1bmFwcGx5T3V0
cHV0IGVxICRleHBlY3RlZCwgJHVuYXBwbHlUaXRsZSk7CisKKyMgTmV3IHRlc3RzCiskYXBwbHlU
aXRsZSA9ICJUZXN0IHN2bi1hcHBseSB3aXRoIGxlYWRpbmcgYmxhbmsgbGluZXMiOworJHVuYXBw
bHlUaXRsZSA9ICJUZXN0IHN2bi11bmFwcGx5IHdpdGggbGVhZGluZyBibGFuayBsaW5lcyI7Cisg
CiskaW5wdXQgPSA8PCdFTkQnOworCisKK0luZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL2ZpbmQt
ZXh0cmEtaW5jbHVkZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBXZWJLaXRUb29scy9TY3JpcHRzL2ZpbmQt
ZXh0cmEtaW5jbHVkZXMgICAgIChyZXZpc2lvbiA1NjgzNykKKysrKyBXZWJLaXRUb29scy9TY3Jp
cHRzL2ZpbmQtZXh0cmEtaW5jbHVkZXMgICAgICh3b3JraW5nIGNvcHkpCitAQCAtMTAwLDMgKzEw
MCw2IEBACisgZm9yIG15ICRmaWxlIChzb3J0IGtleXMgJWluY2x1ZGVzKSB7CisgICAgIGNoZWNr
KCRmaWxlKTsKKyB9CisrCisrIyBFbmQgb2YgdGhlIGZpbGUuIE9ubHkgYSB0ZXN0IGNvbW1lbnQu
CisrCitFTkQKKworJGV4cGVjdGVkID0gInBhdGNoaW5nIGZpbGUgV2ViS2l0VG9vbHMvU2NyaXB0
cy9maW5kLWV4dHJhLWluY2x1ZGVzIjsKK2Nob21wKCRleHBlY3RlZCk7CisKKyMgVGhpcyBmaWxl
IHNob3VsZCBub3QgZXhpc3QgYWZ0ZXIgdGhlIHRlc3RzLCBidXQgd2UgdGFrZSBjYXJlIHdpdGgg
dGhlIGZpbGUgbmFtZQorJHRtcFBhdGNoID0gJHNvdXJjZURpciAuICIvcGVybFVuaXR0ZXN0UGF0
Y2hfT0tfVE9fRVJBU0VfJCQucGF0Y2giOworb3BlbihPVVRQVVQsICI+PiR0bXBQYXRjaCIpOwor
cHJpbnQgT1VUUFVUICRpbnB1dDsKKworJGFwcGx5T3V0cHV0ID0gYCRzdm5BcHBseSAkdG1wUGF0
Y2hgOworY2hvbXAoJGFwcGx5T3V0cHV0KTsKKworJHVuYXBwbHlPdXRwdXQgPSBgJHN2bnVuQXBw
bHkgJHRtcFBhdGNoYDsKK2Nob21wKCR1bmFwcGx5T3V0cHV0KTsKKwordW5saW5rKCR0bXBQYXRj
aCk7CisKK29rKCRhcHBseU91dHB1dCBlcSAkZXhwZWN0ZWQsICRhcHBseVRpdGxlKTsKK29rKCR1
bmFwcGx5T3V0cHV0IGVxICRleHBlY3RlZCwgJHVuYXBwbHlUaXRsZSk7CisKKyMgTmV3IHRlc3Rz
CiskYXBwbHlUaXRsZSA9ICJUZXN0IHN2bi1hcHBseSB3aXRoIGEgcGF0Y2ggd2hpY2ggY29udGFp
bnMgbGVhZGluZyBibGFuayBsaW5lcywgc3BhY2VzIGFuZCB0YWJ1bGF0b3JzIjsKKyR1bmFwcGx5
VGl0bGUgPSAiVGVzdCBzdm4tdW5hcHBseSB3aXRoIGEgcGF0Y2ggd2hpY2ggY29udGFpbnMgbGVh
ZGluZyBibGFuayBsaW5lcywgc3BhY2VzIGFuZCB0YWJ1bGF0b3JzIjsKKworJGlucHV0ID0gPDwn
RU5EJzsKKworICAgICAKKyAgICAKKworCQkKK0luZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL2Zp
bmQtZXh0cmEtaW5jbHVkZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBXZWJLaXRUb29scy9TY3JpcHRzL2Zp
bmQtZXh0cmEtaW5jbHVkZXMgICAgIChyZXZpc2lvbiA1NjgzNykKKysrKyBXZWJLaXRUb29scy9T
Y3JpcHRzL2ZpbmQtZXh0cmEtaW5jbHVkZXMgICAgICh3b3JraW5nIGNvcHkpCitAQCAtMTAwLDMg
KzEwMCw2IEBACisgZm9yIG15ICRmaWxlIChzb3J0IGtleXMgJWluY2x1ZGVzKSB7CisgICAgIGNo
ZWNrKCRmaWxlKTsKKyB9CisrCisrIyBFbmQgb2YgdGhlIGZpbGUuIE9ubHkgYSB0ZXN0IGNvbW1l
bnQuCisrCitFTkQKKworJGV4cGVjdGVkID0gInBhdGNoaW5nIGZpbGUgV2ViS2l0VG9vbHMvU2Ny
aXB0cy9maW5kLWV4dHJhLWluY2x1ZGVzIjsKK2Nob21wKCRleHBlY3RlZCk7CisKKyMgVGhpcyBm
aWxlIHNob3VsZCBub3QgZXhpc3QgYWZ0ZXIgdGhlIHRlc3RzLCBidXQgd2UgdGFrZSBjYXJlIHdp
dGggdGhlIGZpbGUgbmFtZQorJHRtcFBhdGNoID0gJHNvdXJjZURpciAuICIvcGVybFVuaXR0ZXN0
UGF0Y2hfT0tfVE9fRVJBU0VfJCQucGF0Y2giOworb3BlbihPVVRQVVQsICI+PiR0bXBQYXRjaCIp
OworcHJpbnQgT1VUUFVUICRpbnB1dDsKKworJGFwcGx5T3V0cHV0ID0gYCRzdm5BcHBseSAkdG1w
UGF0Y2hgOworY2hvbXAoJGFwcGx5T3V0cHV0KTsKKworJHVuYXBwbHlPdXRwdXQgPSBgJHN2bnVu
QXBwbHkgJHRtcFBhdGNoYDsKK2Nob21wKCR1bmFwcGx5T3V0cHV0KTsKKwordW5saW5rKCR0bXBQ
YXRjaCk7CisKK29rKCRhcHBseU91dHB1dCBlcSAkZXhwZWN0ZWQsICRhcHBseVRpdGxlKTsKK29r
KCR1bmFwcGx5T3V0cHV0IGVxICRleHBlY3RlZCwgJHVuYXBwbHlUaXRsZSk7CisKKyMgTmV3IHRl
c3RzCiskYXBwbHlUaXRsZSA9ICJUZXN0IHN2bi1hcHBseSB3aXRoIGEgcGF0Y2ggd2hpY2ggY29u
dGFpbnMgbGVhZGluZyBibGFuayBsaW5lcywgc3BhY2VzIGFuZCB0YWJ1bGF0b3JzIjsKKyR1bmFw
cGx5VGl0bGUgPSAiVGVzdCBzdm4tdW5hcHBseSB3aXRoIGEgcGF0Y2ggd2hpY2ggY29udGFpbnMg
bGVhZGluZyBibGFuayBsaW5lcywgc3BhY2VzIGFuZCB0YWJ1bGF0b3JzIjsKKworJGlucHV0ID0g
PDwnRU5EJzsKKworICAgICAKKyAgICAKKworCQkKK0luZGV4OiBXZWJLaXRUb29scy9TY3JpcHRz
L2ZpbmQtZXh0cmEtaW5jbHVkZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBXZWJLaXRUb29scy9TY3JpcHRz
L2ZpbmQtZXh0cmEtaW5jbHVkZXMgICAgIChyZXZpc2lvbiA1NjgzNykKKysrKyBXZWJLaXRUb29s
cy9TY3JpcHRzL2ZpbmQtZXh0cmEtaW5jbHVkZXMgICAgICh3b3JraW5nIGNvcHkpCitAQCAtMTAw
LDMgKzEwMCw2IEBACisgZm9yIG15ICRmaWxlIChzb3J0IGtleXMgJWluY2x1ZGVzKSB7CisgICAg
IGNoZWNrKCRmaWxlKTsKKyB9CisrCisrIyBFbmQgb2YgdGhlIGZpbGUuIE9ubHkgYSB0ZXN0IGNv
bW1lbnQuCisrCitFTkQKKworJGV4cGVjdGVkID0gInBhdGNoaW5nIGZpbGUgV2ViS2l0VG9vbHMv
U2NyaXB0cy9maW5kLWV4dHJhLWluY2x1ZGVzIjsKK2Nob21wKCRleHBlY3RlZCk7CisKKyMgVGhp
cyBmaWxlIHNob3VsZCBub3QgZXhpc3QgYWZ0ZXIgdGhlIHRlc3RzLCBidXQgd2UgdGFrZSBjYXJl
IHdpdGggdGhlIGZpbGUgbmFtZQorJHRtcFBhdGNoID0gJHNvdXJjZURpciAuICIvcGVybFVuaXR0
ZXN0UGF0Y2hfT0tfVE9fRVJBU0VfJCQucGF0Y2giOworb3BlbihPVVRQVVQsICI+PiR0bXBQYXRj
aCIpOworcHJpbnQgT1VUUFVUICRpbnB1dDsKKworJGFwcGx5T3V0cHV0ID0gYCRzdm5BcHBseSAk
dG1wUGF0Y2hgOworY2hvbXAoJGFwcGx5T3V0cHV0KTsKKworJHVuYXBwbHlPdXRwdXQgPSBgJHN2
bnVuQXBwbHkgJHRtcFBhdGNoYDsKK2Nob21wKCR1bmFwcGx5T3V0cHV0KTsKKwordW5saW5rKCR0
bXBQYXRjaCk7CisKK29rKCRhcHBseU91dHB1dCBlcSAkZXhwZWN0ZWQsICRhcHBseVRpdGxlKTsK
K29rKCR1bmFwcGx5T3V0cHV0IGVxICRleHBlY3RlZCwgJHVuYXBwbHlUaXRsZSk7CisKKyMgTmV3
IHRlc3RzCiskYXBwbHlUaXRsZSA9ICJUZXN0IHN2bi1hcHBseSB3aXRoIDIgcGF0Y2ggZmlsZXMg
d2hpY2ggY29udGFpbiBsZWFkaW5nIGJsYW5rIGxpbmVzLCBzcGFjZXMgYW5kIHRhYnVsYXRvcnMg
IjsKKyR1bmFwcGx5VGl0bGUgPSAiVGVzdCBzdm4tdW5hcHBseSB3aXRoIDIgcGF0Y2ggZmlsZXMg
d2hpY2ggY29udGFpbiBsZWFkaW5nIGJsYW5rIGxpbmVzLCBzcGFjZXMgYW5kIHRhYnVsYXRvcnMg
IjsKKworJGlucHV0XzEgPSA8PCdFTkQnOworCisgICAgIAorICAgIAorCisJCQorSW5kZXg6IFdl
YktpdFRvb2xzL1NjcmlwdHMvZmluZC1leHRyYS1pbmNsdWRlcworPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIFdl
YktpdFRvb2xzL1NjcmlwdHMvZmluZC1leHRyYS1pbmNsdWRlcyAgICAgKHJldmlzaW9uIDU2ODM3
KQorKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvZmluZC1leHRyYS1pbmNsdWRlcyAgICAgKHdvcmtp
bmcgY29weSkKK0BAIC0xMDAsMyArMTAwLDYgQEAKKyBmb3IgbXkgJGZpbGUgKHNvcnQga2V5cyAl
aW5jbHVkZXMpIHsKKyAgICAgY2hlY2soJGZpbGUpOworIH0KKysKKysjIEVuZCBvZiB0aGUgZmls
ZS4gT25seSBhIHRlc3QgY29tbWVudC4KKysKK0VORAorCiskaW5wdXRfMiA9IDw8J0VORCc7CisK
KworICAgICAKKyAgICAKKworCQkKK0luZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLWpz
YworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQorLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvYnVpbGQtanNjICAgICAgIChy
ZXZpc2lvbiA1NzE5OCkKKysrKyBXZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLWpzYyAgICAgICAo
d29ya2luZyBjb3B5KQorQEAgLTc0LDMgKzc0LDUgQEAgaWYgKGlzQXBwbGVNYWNXZWJLaXQoKSkg
eworICAgICBkaWUgIkJ1aWxkaW5nIG5vdCBkZWZpbmVkIGZvciB0aGlzIHBsYXRmb3JtIVxuIjsK
KyB9CisgZXhpdCBleGl0U3RhdHVzKCRyZXN1bHQpOworKworKyMgUGVybCBzdm4tW3VuXWFwcGx5
IHVuaXR0ZXN0J3MgY29tbWVudC4gUmVtb3ZlIGl0LgorRU5ECisKKyRleHBlY3RlZCA9IDw8J0VO
RCc7CitwYXRjaGluZyBmaWxlIFdlYktpdFRvb2xzL1NjcmlwdHMvZmluZC1leHRyYS1pbmNsdWRl
cworcGF0Y2hpbmcgZmlsZSBXZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLWpzYworRU5ECitjaG9t
cCgkZXhwZWN0ZWQpOworCisjIFRoZXNlIGZpbGVzIHNob3VsZCBub3QgZXhpc3QgYWZ0ZXIgdGhl
IHRlc3RzLCBidXQgd2UgdGFrZSBjYXJlIHdpdGggdGhlIGZpbGUgbmFtZS4KKyR0bXBQYXRjaF8x
ID0gJHNvdXJjZURpciAuICIvcGVybFVuaXR0ZXN0UGF0Y2hfMV9PS19UT19FUkFTRV8kJC5wYXRj
aCI7CiskdG1wUGF0Y2hfMiA9ICRzb3VyY2VEaXIgLiAiL3BlcmxVbml0dGVzdFBhdGNoXzJfT0tf
VE9fRVJBU0VfJCQucGF0Y2giOworCitvcGVuKE9VVFBVVF8xLCAiPj4kdG1wUGF0Y2hfMSIpOwor
b3BlbihPVVRQVVRfMiwgIj4+JHRtcFBhdGNoXzIiKTsKKworcHJpbnQgT1VUUFVUXzEgJGlucHV0
XzE7CitwcmludCBPVVRQVVRfMiAkaW5wdXRfMjsKKworJGFwcGx5T3V0cHV0ID0gYCRzdm5BcHBs
eSAkdG1wUGF0Y2hfMSAkdG1wUGF0Y2hfMmA7CitjaG9tcCgkYXBwbHlPdXRwdXQpOworCiskdW5h
cHBseU91dHB1dCA9IGAkc3ZudW5BcHBseSAkdG1wUGF0Y2hfMSAkdG1wUGF0Y2hfMmA7CitjaG9t
cCgkdW5hcHBseU91dHB1dCk7CisKK3VubGluaygkdG1wUGF0Y2hfMSwgJHRtcFBhdGNoXzIpOwor
CitvaygkYXBwbHlPdXRwdXQgZXEgJGV4cGVjdGVkLCAkYXBwbHlUaXRsZSk7CitvaygkdW5hcHBs
eU91dHB1dCBlcSAkZXhwZWN0ZWQsICR1bmFwcGx5VGl0bGUpOworCkluZGV4OiBXZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRkaXJzLnBtCShyZXZpc2lvbiA1NzE5OCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0ZGlycy5wbQkod29ya2luZyBjb3B5KQpAQCAtOTMsNiArOTMsNyBAQAogICAgIH0KIAog
ICAgICRzb3VyY2VEaXIgPSAiJHNvdXJjZURpci9PcGVuU291cmNlIiBpZiAtZCAiJHNvdXJjZURp
ci9PcGVuU291cmNlIjsKKyAgICByZXR1cm4gJHNvdXJjZURpcjsKIH0KIAogc3ViIGN1cnJlbnRQ
ZXJsUGF0aCgpCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3N2bi11bmFwcGx5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLXVuYXBwbHkJKHJldmlzaW9uIDU3MTk4KQor
KysgV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tdW5hcHBseQkod29ya2luZyBjb3B5KQpAQCAtMTAy
LDYgKzEwMiw3IEBACiBteSAkaW5kZXhQYXRoOwogbXkgJHBhdGNoOwogd2hpbGUgKDw+KSB7Cisg
ICAgbmV4dCBpZighZGVmaW5lZCgkaW5kZXhQYXRoKSAmJiAvXlxzKyQvKTsKICAgICBzLyhbXG5c
cl0rKSQvL21nOwogICAgIG15ICRlb2wgPSAkMTsKICAgICBpZiAoIWRlZmluZWQoJGluZGV4UGF0
aCkgJiYgbSNeZGlmZiAtLWdpdCBcdy8jKSB7Cg==
</data>
<flag name="review"
          id="36446"
          type_id="1"
          status="-"
          setter="cjerdonek"
    />
          </attachment>
      

    </bug>

</bugzilla>