<?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>26299</bug_id>
          
          <creation_ts>2009-06-10 15:41:19 -0700</creation_ts>
          <short_desc>svn-[un]apply should be updated to work with git</short_desc>
          <delta_ts>2009-06-25 04:00:55 -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>Mac</rep_platform>
          <op_sys>OS X 10.5</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>26283</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>levin</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>125220</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-10 15:41:19 -0700</bug_when>
    <thetext>svn-apply should be updated to work with git

it&apos;s our magic patch function.  Git should get to share the magic! :)  That, and I&apos;m writing scripts to use it, and I would like my scripts to work for git users too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125225</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-06-10 16:05:13 -0700</bug_when>
    <thetext>- The svn-unapply script should also be updated.

- If svn-apply also works with git, it should probably be called something different.  Suggestions?  Maybe patch-apply?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127736</commentid>
    <comment_count>2</comment_count>
      <attachid>31756</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-23 16:44:19 -0700</bug_when>
    <thetext>Created attachment 31756
Make svn-apply work with Git too


---
 2 files changed, 123 insertions(+), 29 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127738</commentid>
    <comment_count>3</comment_count>
      <attachid>31757</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-23 16:48:14 -0700</bug_when>
    <thetext>Created attachment 31757
Make svn-apply work with Git too


---
 2 files changed, 123 insertions(+), 29 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127975</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-24 13:09:58 -0700</bug_when>
    <thetext>/me asks nicely for a review. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128084</commentid>
    <comment_count>5</comment_count>
      <attachid>31831</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-24 20:38:09 -0700</bug_when>
    <thetext>Created attachment 31831
Make svn-apply work with Git and return non-zero on patch failure

---
 2 files changed, 144 insertions(+), 31 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128085</commentid>
    <comment_count>6</comment_count>
      <attachid>31757</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-24 20:38:51 -0700</bug_when>
    <thetext>Comment on attachment 31757
Make svn-apply work with Git too

No luck getting this one reviewed, so I decided to solve bug 26300 too in hopes of getting them both in quicker! ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128087</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-24 20:39:16 -0700</bug_when>
    <thetext>*** Bug 26300 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128111</commentid>
    <comment_count>8</comment_count>
      <attachid>31831</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-06-24 23:57:09 -0700</bug_when>
    <thetext>Comment on attachment 31831
Make svn-apply work with Git and return non-zero on patch failure

Looks good to me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128117</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-25 00:45:45 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebKitTools/ChangeLog
	M	WebKitTools/Scripts/svn-apply
Committed r45153
http://trac.webkit.org/changeset/45153</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128149</commentid>
    <comment_count>10</comment_count>
      <attachid>31831</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-06-25 03:19:09 -0700</bug_when>
    <thetext>Comment on attachment 31831
Make svn-apply work with Git and return non-zero on patch failure

&gt;+        I did not update svn-unapply, because it makes no sense in a Git world.
&gt;+        You don&apos;t roll in and out patch files.  You make commits and deal with those.
&gt;+        Git users can just git reset --hard to get the same functionality.

I think you missed the point of svn-unapply, although it still makes little sense for git users.  Some Subversion users may have more than one patch in their tree at the same time, e.g., working on two bugs at once (or testing two patches together), so being able to unapply one is useful in that case.

With git, it&apos;s usually easier to create a branch for each patch, and create a third branch for testing (with a cherry-picked commit/merged branch) if more than one patch needs to be tested together.

&gt;+# These should be replaced by an scm class/module:
&gt;+sub scmKnowsOfFile($);
&gt;+sub scmCopy($$);
&gt;+sub scmAdd($);
&gt;+sub scmRemove($);

VCSUtils.pm is that module.

&gt;+my $force = 0;
&gt;+
&gt;+my $optionParseSuccess = GetOptions(
&gt;+    &quot;merge!&quot; =&gt; \$merge,
&gt;+    &quot;help!&quot; =&gt; \$showHelp,
&gt;+    &quot;reviewer=s&quot; =&gt; \$reviewer,
&gt;+    &quot;force!&quot; =&gt; \$force
&gt;+);

The $force switch doesn&apos;t actually do anything.  Did you upload the wrong patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128156</commentid>
    <comment_count>11</comment_count>
      <attachid>31831</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-06-25 04:00:55 -0700</bug_when>
    <thetext>Comment on attachment 31831
Make svn-apply work with Git and return non-zero on patch failure

&gt;         } else {
&gt;             # Addition
&gt;             rename($fullPath, &quot;$fullPath.orig&quot;) if -e $fullPath;
&gt;             applyPatch($patch, $fullPath);
&gt;             unlink(&quot;$fullPath.orig&quot;) if -e &quot;$fullPath.orig&quot; &amp;&amp; checksum($fullPath) eq checksum(&quot;$fullPath.orig&quot;);
&gt;-            system &quot;svn&quot;, &quot;add&quot;, $fullPath;
&gt;-            system &quot;svn&quot;, &quot;stat&quot;, &quot;$fullPath.orig&quot; if -e &quot;$fullPath.orig&quot;;
&gt;+            scmAdd($fullPath);
&gt;+            # What is this for?
&gt;+            system &quot;svn&quot;, &quot;stat&quot;, &quot;$fullPath.orig&quot; if $isSVN &amp;&amp; -e &quot;$fullPath.orig&quot;;
&gt;         }

If the *.orig file is not removed, that shows the user that there is a *.orig file left over from applying the patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31756</attachid>
            <date>2009-06-23 16:44:19 -0700</date>
            <delta_ts>2009-06-23 16:48:06 -0700</delta_ts>
            <desc>Make svn-apply work with Git too</desc>
            <filename>bugzilla_requires_a_filename.patch</filename>
            <type>text/plain</type>
            <size>9280</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NjgyYzYzMjU0ZjZiY2YwYjFmMjFlNjVmYzcyYmNhYjdmYjZkYTE3OApkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU2YjFiZTYu
Ljk0ZGY1MTQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0wNi0yMyAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWFrZSBzdm4tYXBwbHkgd29yayB3aXRoIEdpdCB0b28KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2Mjk5CisKKyAgICAgICAgSSBk
aWQgbm90IHVwZGF0ZSBzdm4tdW5hcHBseSwgYmVjYXVzZSBpdCBtYWtlcyBubyBzZW5zZSBpbiBh
IEdpdCB3b3JsZC4KKyAgICAgICAgWW91IGRvbid0IHJvbGwgaW4gYW5kIG91dCBwYXRjaCBmaWxl
cy4gIFlvdSBtYWtlIGNvbW1pdHMgYW5kIGRlYWwgd2l0aCB0aG9zZS4KKyAgICAgICAgR2l0IHVz
ZXJzIGNhbiBqdXN0IGdpdCByZXNldCAtLWhhcmQgdG8gZ2V0IHRoZSBzYW1lIGZ1bmN0aW9uYWxp
dHkuCisKKyAgICAgICAgKiBTY3JpcHRzL3N2bi1hcHBseToKKwogMjAwOS0wNi0yMyAgQW5kZXJz
IENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3N2bi1hcHBseQppbmRleCAwMDliZGQwLi4yMWU4N2M4IDEwMDc1
NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3N2bi1hcHBseQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL3N2bi1hcHBseQpAQCAtNywxMyArNywxMyBAQAogIyBhcmUgbWV0OgogIwogIyAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQogIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFw
cGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkCi0jICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uIAorIyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECkBAIC01OSw3ICs1OSw2IEBACiB1c2Ugc3RyaWN0OwogdXNlIHdhcm5p
bmdzOwogCi11c2UgQ3dkOwogdXNlIERpZ2VzdDo6TUQ1OwogdXNlIEZpbGU6OkJhc2VuYW1lOwog
dXNlIEZpbGU6OlNwZWM7CkBAIC02Nyw2ICs2NiwxMCBAQCB1c2UgR2V0b3B0OjpMb25nOwogdXNl
IE1JTUU6OkJhc2U2NDsKIHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7CiAKK3VzZSBGaW5kQmluOwor
dXNlIGxpYiAkRmluZEJpbjo6QmluOwordXNlIFZDU1V0aWxzOworCiBzdWIgYWRkRGlyZWN0b3Jp
ZXNJZk5lZWRlZCgkKTsKIHN1YiBhcHBseVBhdGNoKCQkOyQpOwogc3ViIGNoZWNrc3VtKCQpOwpA
QCAtNzksNiArODIsMTMgQEAgc3ViIHJlbW92ZURpcmVjdG9yaWVzSWZOZWVkZWQoKTsKIHN1YiBz
ZXRDaGFuZ2VMb2dEYXRlQW5kUmV2aWV3ZXIoJCQpOwogc3ViIHN2blN0YXR1cygkKTsKIAorIyBU
aGVzZSBzaG91bGQgYmUgcmVwbGFjZWQgYnkgYW4gc2NtIGNsYXNzL21vZHVsZToKK3N1YiBzY21L
bm93c09mRmlsZSgkKTsKK3N1YiBzY21Db3B5KCQkKTsKK3N1YiBzY21BZGQoJCk7CitzdWIgc2Nt
UmVtb3ZlKCQpOworCisKICMgUHJvamVjdCB0aW1lIHpvbmUgZm9yIEN1cGVydGlubywgQ0EsIFVT
CiBteSAkY2hhbmdlTG9nVGltZVpvbmUgPSAiUFNUOFBEVCI7CiAKQEAgLTkwLDkgKzEwMCwxNCBA
QCBpZiAoIUdldE9wdGlvbnMoIm1lcmdlISIgPT4gXCRtZXJnZSwgImhlbHAhIiA9PiBcJHNob3dI
ZWxwLCAicmV2aWV3ZXI9cyIgPT4gXCRyZQogICAgIGV4aXQgMTsKIH0KIAorbXkgJGlzR2l0ID0g
aXNHaXREaXJlY3RvcnkoIi4iKTsKK215ICRpc1NWTiA9IGlzU1ZORGlyZWN0b3J5KCIuIik7Cisk
aXNTVk4gfHwgJGlzR2l0IHx8IGRpZSAiQ291bGRuJ3QgZGV0ZXJtaW5lIHlvdXIgdmVyc2lvbiBj
b250cm9sIHN5c3RlbS4iOworCiBteSAlcmVtb3ZlRGlyZWN0b3J5SWdub3JlTGlzdCA9ICgKICAg
ICAnLicgPT4gMSwKICAgICAnLi4nID0+IDEsCisgICAgJy5naXQnID0+IDEsCiAgICAgJy5zdm4n
ID0+IDEsCiAgICAgJ19zdm4nID0+IDEsCiApOwpAQCAtMTQ4LDYgKzE2Myw4IEBAIGlmICgkcGF0
Y2ggJiYgISRjb3BpZWRGcm9tUGF0aCkgewogfQogCiBpZiAoJG1lcmdlKSB7CisgICAgZGllICIt
LW1lcmdlIGlzIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBmb3IgU1ZOIiB1bmxlc3MgJGlzU1ZO
OworICAgICMgSG93IGRvIHdlIGhhbmRsZSBHaXQgcGF0Y2hlcyBhcHBsaWVkIHRvIGFuIFNWTiBj
aGVja291dCBoZXJlPwogICAgIGZvciBteSAkZmlsZSAoc29ydCBrZXlzICV2ZXJzaW9ucykgewog
ICAgICAgICBwcmludCAiR2V0dGluZyB2ZXJzaW9uICR2ZXJzaW9uc3skZmlsZX0gb2YgJGZpbGVc
biI7CiAgICAgICAgIHN5c3RlbSAic3ZuIiwgInVwZGF0ZSIsICItciIsICR2ZXJzaW9uc3skZmls
ZX0sICRmaWxlOwpAQCAtMTU3LDcgKzE3NCw3IEBAIGlmICgkbWVyZ2UpIHsKICMgSGFuZGxlIGNv
cGllZCBhbmQgbW92ZWQgZmlsZXMgZmlyc3Qgc2luY2UgbW92ZWQgZmlsZXMgbWF5IGhhdmUgdGhl
aXIgc291cmNlIGRlbGV0ZWQgYmVmb3JlIHRoZSBtb3ZlLgogZm9yIG15ICRmaWxlIChrZXlzICVj
b3BpZWRGaWxlcykgewogICAgIGFkZERpcmVjdG9yaWVzSWZOZWVkZWQoZGlybmFtZSgkZmlsZSkp
OwotICAgIHN5c3RlbSAic3ZuIiwgImNvcHkiLCAkY29waWVkRmlsZXN7JGZpbGV9LCAkZmlsZTsK
KyAgICBzY21Db3B5KCRjb3BpZWRGaWxlc3skZmlsZX0sICRmaWxlKTsKIH0KIAogZm9yICRwYXRj
aCAoQHBhdGNoZXMpIHsKQEAgLTE3OCwxOCArMTk1LDIxIEBAIHN1YiBhZGREaXJlY3Rvcmllc0lm
TmVlZGVkKCQpCiAgICAgICAgIG5leHQgaWYgZXhpc3RzICRjaGVja2VkRGlyZWN0b3JpZXN7JGRp
cn07CiAgICAgICAgIGlmICghIC1lICRkaXIpIHsKICAgICAgICAgICAgIG1rZGlyICRkaXIgb3Ig
ZGllICJGYWlsZWQgdG8gY3JlYXRlIHJlcXVpcmVkIGRpcmVjdG9yeSAnJGRpcicgZm9yIHBhdGgg
JyRwYXRoJ1xuIjsKLSAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgImFkZCIsICRkaXI7CisgICAg
ICAgICAgICBzY21BZGQoJGRpcik7CiAgICAgICAgICAgICAkY2hlY2tlZERpcmVjdG9yaWVzeyRk
aXJ9ID0gMTsKICAgICAgICAgfQogICAgICAgICBlbHNpZiAoLWQgJGRpcikgewotICAgICAgICAg
ICAgbXkgJHN2bk91dHB1dCA9IHN2blN0YXR1cygkZGlyKTsKLSAgICAgICAgICAgIGlmICgkc3Zu
T3V0cHV0ICYmICRzdm5PdXRwdXQgPX4gbSNcP1xzKyRkaXJcbiMpIHsKLSAgICAgICAgICAgICAg
ICBzeXN0ZW0gInN2biIsICJhZGQiLCAkZGlyOworICAgICAgICAgICAgIyBTVk4gcHJpbnRzICJz
dm46IHdhcm5pbmc6ICdkaXJlY3RvcnknIGlzIGFscmVhZHkgdW5kZXIgdmVyc2lvbiBjb250cm9s
IgorICAgICAgICAgICAgIyBpZiB5b3UgdHJ5IGFuZCBhZGQgYSBkaXJlY3Rvcnkgd2hpY2ggaXMg
YWxyZWFkeSBpbiB0aGUgcmVwb3NpdG9yeS4KKyAgICAgICAgICAgICMgR2l0IHdpbGwgaWdub3Jl
IHRoZSBhZGQsIGJ1dCByZS1hZGRpbmcgbGFyZ2UgZGlyZWN0b3JpZXMgY2FuIGJlIHNsb29vb3cu
CisgICAgICAgICAgICAjIFNvIHdlIGNoZWNrIGZpcnN0IHRvIHNlZSBpZiB0aGUgZGlyZWN0b3J5
IGlzIHVuZGVyIHZlcnNpb24gY29udHJvbCBmaXJzdC4KKyAgICAgICAgICAgIGlmICghc2NtS25v
d3NPZkZpbGUoJGRpcikpIHsKKyAgICAgICAgICAgICAgICBzY21BZGQoJGRpcik7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAkY2hlY2tlZERpcmVjdG9yaWVzeyRkaXJ9ID0gMTsKICAgICAg
ICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGRpZSAiJyRkaXInIGlzIG5vdCBhIGRp
cmVjdG9yeSI7CisgICAgICAgICAgICBkaWUgIickZGlyJyBleGlzdHMsIGJ1dCBpcyBub3QgYSBk
aXJlY3RvcnkiOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMjkwLDE3ICszMTAsMTMgQEAgc3Vi
IGhhbmRsZUJpbmFyeUNoYW5nZSgkJCkKICAgICAgICAgb3BlbiBGSUxFLCAiPiIsICRmdWxsUGF0
aCBvciBkaWU7CiAgICAgICAgIHByaW50IEZJTEUgZGVjb2RlX2Jhc2U2NCgkMSk7CiAgICAgICAg
IGNsb3NlIEZJTEU7Ci0gICAgICAgIG15ICRzdm5PdXRwdXQgPSBzdm5TdGF0dXMoJGZ1bGxQYXRo
KTsKLSAgICAgICAgaWYgKCRzdm5PdXRwdXQgJiYgc3Vic3RyKCRzdm5PdXRwdXQsIDAsIDEpIGVx
ICI/IikgeworICAgICAgICBpZiAoIXNjbUtub3dzT2ZGaWxlKCRmdWxsUGF0aCkpIHsKICAgICAg
ICAgICAgICMgQWRkaXRpb24KLSAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgImFkZCIsICRmdWxs
UGF0aDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICMgTW9kaWZpY2F0aW9uCi0gICAg
ICAgICAgICBwcmludCAkc3ZuT3V0cHV0IGlmICRzdm5PdXRwdXQ7CisgICAgICAgICAgICBzY21B
ZGQoJGZ1bGxQYXRoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgICMgRGVsZXRp
b24KLSAgICAgICAgc3lzdGVtICJzdm4iLCAicm0iLCAkZnVsbFBhdGg7CisgICAgICAgIHNjbVJl
bW92ZSgkZnVsbFBhdGgpOwogICAgIH0KIH0KIApAQCAtMzE0LDggKzMzMCw3IEBAIHN1YiBpc0Rp
cmVjdG9yeUVtcHR5Rm9yUmVtb3ZhbCgkKQogICAgICAgICBpZiAoISAtZCBGaWxlOjpTcGVjLT5j
YXRkaXIoJGRpciwgJGl0ZW0pKSB7CiAgICAgICAgICAgICAkZGlyZWN0b3J5SXNFbXB0eSA9IDA7
CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBteSAkc3ZuT3V0cHV0ID0gc3ZuU3RhdHVz
KEZpbGU6OlNwZWMtPmNhdGRpcigkZGlyLCAkaXRlbSkpOwotICAgICAgICAgICAgbmV4dCBpZiAk
c3ZuT3V0cHV0ICYmIHN1YnN0cigkc3ZuT3V0cHV0LCAwLCAxKSBlcSAiRCI7CisgICAgICAgICAg
ICBuZXh0IGlmIChzY21XaWxsRGVsZXRlRmlsZShGaWxlOjpTcGVjLT5jYXRkaXIoJGRpciwgJGl0
ZW0pKSk7CiAgICAgICAgICAgICAkZGlyZWN0b3J5SXNFbXB0eSA9IDA7CiAgICAgICAgIH0KICAg
ICB9CkBAIC0zNjMsMTQgKzM3OCwxNSBAQCBzdWIgcGF0Y2goJCkKICAgICAgICAgfSBlbHNpZiAo
JGRlbGV0aW9uKSB7CiAgICAgICAgICAgICAjIERlbGV0aW9uCiAgICAgICAgICAgICBhcHBseVBh
dGNoKCRwYXRjaCwgJGZ1bGxQYXRoLCBbIi0tZm9yY2UiXSk7Ci0gICAgICAgICAgICBzeXN0ZW0g
InN2biIsICJybSIsICItLWZvcmNlIiwgJGZ1bGxQYXRoOworICAgICAgICAgICAgc2NtUmVtb3Zl
KCRmdWxsUGF0aCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAjIEFkZGl0aW9uCiAg
ICAgICAgICAgICByZW5hbWUoJGZ1bGxQYXRoLCAiJGZ1bGxQYXRoLm9yaWciKSBpZiAtZSAkZnVs
bFBhdGg7CiAgICAgICAgICAgICBhcHBseVBhdGNoKCRwYXRjaCwgJGZ1bGxQYXRoKTsKICAgICAg
ICAgICAgIHVubGluaygiJGZ1bGxQYXRoLm9yaWciKSBpZiAtZSAiJGZ1bGxQYXRoLm9yaWciICYm
IGNoZWNrc3VtKCRmdWxsUGF0aCkgZXEgY2hlY2tzdW0oIiRmdWxsUGF0aC5vcmlnIik7Ci0gICAg
ICAgICAgICBzeXN0ZW0gInN2biIsICJhZGQiLCAkZnVsbFBhdGg7Ci0gICAgICAgICAgICBzeXN0
ZW0gInN2biIsICJzdGF0IiwgIiRmdWxsUGF0aC5vcmlnIiBpZiAtZSAiJGZ1bGxQYXRoLm9yaWci
OworICAgICAgICAgICAgc2NtQWRkKCRmdWxsUGF0aCk7CisgICAgICAgICAgICAjIFdoYXQgaXMg
dGhpcyBmb3I/CisgICAgICAgICAgICBzeXN0ZW0gInN2biIsICJzdGF0IiwgIiRmdWxsUGF0aC5v
cmlnIiBpZiAkaXNTVk4gJiYgLWUgIiRmdWxsUGF0aC5vcmlnIjsKICAgICAgICAgfQogICAgIH0K
IH0KQEAgLTM3OSwxNCArMzk1LDcgQEAgc3ViIHJlbW92ZURpcmVjdG9yaWVzSWZOZWVkZWQoKQog
ewogICAgIGZvcmVhY2ggbXkgJGRpciAocmV2ZXJzZSBzb3J0IGtleXMgJWNoZWNrZWREaXJlY3Rv
cmllcykgewogICAgICAgICBpZiAoaXNEaXJlY3RvcnlFbXB0eUZvclJlbW92YWwoJGRpcikpIHsK
LSAgICAgICAgICAgIG15ICRzdm5PdXRwdXQ7Ci0gICAgICAgICAgICBvcGVuIFNWTiwgInN2biBy
bSAnJGRpcicgfCIgb3IgZGllOwotICAgICAgICAgICAgIyBPbmx5IHNhdmUgdGhlIGxhc3QgbGlu
ZSBzaW5jZSBTdWJ2ZXJzaW9uIGxpc3RzIGFsbCBjaGFuZ2VkIHN0YXR1c2VzIGJlbG93ICRkaXIK
LSAgICAgICAgICAgIHdoaWxlICg8U1ZOPikgewotICAgICAgICAgICAgICAgICRzdm5PdXRwdXQg
PSAkXzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNsb3NlIFNWTjsKLSAgICAgICAgICAg
IHByaW50ICRzdm5PdXRwdXQgaWYgJHN2bk91dHB1dDsKKyAgICAgICAgICAgIHNjbVJlbW92ZSgk
ZGlyKTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTQ0MSwzICs0NTAsNzUgQEAgc3ViIHN2blN0
YXR1cygkKQogICAgIGNsb3NlIFNWTjsKICAgICByZXR1cm4gJHN2blN0YXR1czsKIH0KKworIyBU
aGlzIGNvdWxkIGJlIG1hZGUgaW50byBhIG1vcmUgZ2VuZXJhbCAic3RhdHVzIiBjYWxsLCBleGNl
cHQgc3ZuIGFuZCBnaXQKKyMgaGF2ZSBkaWZmZXJlbnQgaWRlYXMgYWJvdXQgIm1vdmluZyIgZmls
ZXMgd2hpY2ggbWlnaHQgZ2V0IGNvbmZ1c2luZy4KK3N1YiBzY21XaWxsRGVsZXRlRmlsZSgkKQor
eworICAgIG15ICgkcGF0aCkgPSBAXzsKKyAgICBpZiAoJGlzU1ZOKSB7CisgICAgICAgIG15ICRz
dm5PdXRwdXQgPSBzdm5TdGF0dXMoJHBhdGgpOworICAgICAgICByZXR1cm4gMSBpZiAkc3ZuT3V0
cHV0ICYmIHN1YnN0cigkc3ZuT3V0cHV0LCAwLCAxKSBlcSAiRCI7CisgICAgfSBlbHNpZiAoJGlz
R2l0KSB7CisgICAgICAgIG15ICRnaXRPdXRwdXQgPSBgZ2l0IGRpZmYtaW5kZXggLS1uYW1lLXN0
YXR1cyBoZWFkIC0tICRwYXRoYDsKKyAgICAgICAgcmV0dXJuIDEgaWYgJGdpdE91dHB1dCAmJiBz
dWJzdHIoJGdpdE91dHB1dCwgMCwgMSkgZXEgIkQiOworICAgIH0KKyAgICByZXR1cm4gMDsKK30K
Kworc3ViIHNjbUtub3dzT2ZGaWxlKCQpCit7CisgICAgbXkgKCRwYXRoKSA9IEBfOworICAgIGlm
ICgkaXNTVk4pIHsKKyAgICAgICAgbXkgJHN2bk91dHB1dCA9IHN2blN0YXR1cygkcGF0aCk7Cisg
ICAgICAgICMgVGhpcyB3aWxsIG1hdGNoIG1vcmUgdGhhbiBpbnRlbmRlZC4gID8gbWlnaHQgbm90
IGJlIHRoZSBmaXJzdCBmaWVsZCBpbiB0aGUgc3RhdHVzCisgICAgICAgIGlmICgkc3ZuT3V0cHV0
ICYmICRzdm5PdXRwdXQgPX4gbSNcP1xzKyRwYXRoXG4jKSB7CisgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgfQorICAgICAgICAjIFRoaXMgZG9lcyBub3QgaGFuZGxlIGVycm9ycyB3ZWxs
LgorICAgICAgICByZXR1cm4gMTsKKyAgICB9IGVsc2lmICgkaXNHaXQpIHsKKyAgICAgICAgbXkg
JGlnbm9yZWRPdXRwdXQgPSBgZ2l0IGxzLWZpbGVzIC0tZXJyb3ItdW5tYXRjaCAtLSAkcGF0aGA7
CisgICAgICAgIG15ICRleGl0Q29kZSA9ICQ/ID4+IDg7CisgICAgICAgIHJldHVybiAkZXhpdENv
ZGUgPT0gMDsKKyAgICB9Cit9CisKK3N1YiBzY21Db3B5KCQkKQoreworICAgIG15ICgkc291cmNl
LCAkZGVzdGluYXRpb24pID0gQF87CisgICAgaWYgKCRpc1NWTikgeworICAgICAgICBzeXN0ZW0g
InN2biIsICJjb3B5IiwgJHNvdXJjZSwgJGRlc3RpbmF0aW9uOworICAgIH0gZWxzaWYgKCRpc0dp
dCkgeworICAgICAgICBzeXN0ZW0gImNwIiwgJHNvdXJjZSwgJGRlc3RpbmF0aW9uOworICAgICAg
ICBzeXN0ZW0gImdpdCIsICJhZGQiLCAkc291cmNlLCAkZGVzdGluYXRpb247CisgICAgfQorfQor
CitzdWIgc2NtQWRkKCQpCit7CisgICAgbXkgKCRwYXRoKSA9IEBfOworICAgIGlmICgkaXNTVk4p
IHsKKyAgICAgICAgc3lzdGVtICJzdm4iLCAiYWRkIiwgJHBhdGg7CisgICAgfSBlbHNpZiAoJGlz
R2l0KSB7CisgICAgICAgIHN5c3RlbSAiZ2l0IiwgImFkZCIsICRwYXRoOworICAgIH0KK30KKwor
c3ViIHNjbVJlbW92ZSgkKQoreworICAgIG15ICgkcGF0aCkgPSBAXzsKKyAgICBpZiAoJGlzU1ZO
KSB7CisgICAgICAgICMgU1ZOIGlzIHZlcnkgdmVyYm9zZSB3aGVuIHJlbW92aW5nIGRpcmVjdG9y
aWVzLiAgU3F1ZWxjaCBhbGwgb3V0cHV0IGV4Y2VwdCB0aGUgbGFzdCBsaW5lLgorICAgICAgICBt
eSAkc3ZuT3V0cHV0OworICAgICAgICBvcGVuIFNWTiwgInN2biBybSAtLWZvcmNlICckcGF0aCcg
fCIgb3IgZGllICJzdm4gcm0gJHBhdGggZmFpbGVkISI7CisgICAgICAgICMgT25seSBwcmludCB0
aGUgbGFzdCBsaW5lLiAgU3VidmVyc2lvbiBvdXRwdXRzIGFsbCBjaGFuZ2VkIHN0YXR1c2VzIGJl
bG93ICRkaXIKKyAgICAgICAgd2hpbGUgKDxTVk4+KSB7CisgICAgICAgICAgICAkc3ZuT3V0cHV0
ID0gJF87CisgICAgICAgIH0KKyAgICAgICAgY2xvc2UgU1ZOOworICAgICAgICBwcmludCAkc3Zu
T3V0cHV0IGlmICRzdm5PdXRwdXQ7CisgICAgfSBlbHNpZiAoJGlzR2l0KSB7CisgICAgICAgIHN5
c3RlbSAiZ2l0IiwgInJtIiwgIi0tZm9yY2UiLCAkcGF0aDsKKyAgICB9Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31757</attachid>
            <date>2009-06-23 16:48:14 -0700</date>
            <delta_ts>2009-06-24 20:38:51 -0700</delta_ts>
            <desc>Make svn-apply work with Git too</desc>
            <filename>bugzilla_requires_a_filename.patch</filename>
            <type>text/plain</type>
            <size>9261</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NDA3ZDcxNWYxOGEzZmRhNjkwYzI3ZDE3ZmI4Yjk3MDUxYTAxNDAyMApkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU2YjFiZTYu
Ljk0ZGY1MTQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0wNi0yMyAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWFrZSBzdm4tYXBwbHkgd29yayB3aXRoIEdpdCB0b28KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2Mjk5CisKKyAgICAgICAgSSBk
aWQgbm90IHVwZGF0ZSBzdm4tdW5hcHBseSwgYmVjYXVzZSBpdCBtYWtlcyBubyBzZW5zZSBpbiBh
IEdpdCB3b3JsZC4KKyAgICAgICAgWW91IGRvbid0IHJvbGwgaW4gYW5kIG91dCBwYXRjaCBmaWxl
cy4gIFlvdSBtYWtlIGNvbW1pdHMgYW5kIGRlYWwgd2l0aCB0aG9zZS4KKyAgICAgICAgR2l0IHVz
ZXJzIGNhbiBqdXN0IGdpdCByZXNldCAtLWhhcmQgdG8gZ2V0IHRoZSBzYW1lIGZ1bmN0aW9uYWxp
dHkuCisKKyAgICAgICAgKiBTY3JpcHRzL3N2bi1hcHBseToKKwogMjAwOS0wNi0yMyAgQW5kZXJz
IENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3N2bi1hcHBseQppbmRleCAwMDliZGQwLi44ZDQzN2E1IDEwMDc1
NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3N2bi1hcHBseQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL3N2bi1hcHBseQpAQCAtNywxMyArNywxMyBAQAogIyBhcmUgbWV0OgogIwogIyAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQogIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFw
cGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkCi0jICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uIAorIyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECkBAIC01OSw3ICs1OSw2IEBACiB1c2Ugc3RyaWN0OwogdXNlIHdhcm5p
bmdzOwogCi11c2UgQ3dkOwogdXNlIERpZ2VzdDo6TUQ1OwogdXNlIEZpbGU6OkJhc2VuYW1lOwog
dXNlIEZpbGU6OlNwZWM7CkBAIC02Nyw2ICs2NiwxMCBAQCB1c2UgR2V0b3B0OjpMb25nOwogdXNl
IE1JTUU6OkJhc2U2NDsKIHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7CiAKK3VzZSBGaW5kQmluOwor
dXNlIGxpYiAkRmluZEJpbjo6QmluOwordXNlIFZDU1V0aWxzOworCiBzdWIgYWRkRGlyZWN0b3Jp
ZXNJZk5lZWRlZCgkKTsKIHN1YiBhcHBseVBhdGNoKCQkOyQpOwogc3ViIGNoZWNrc3VtKCQpOwpA
QCAtNzksNiArODIsMTMgQEAgc3ViIHJlbW92ZURpcmVjdG9yaWVzSWZOZWVkZWQoKTsKIHN1YiBz
ZXRDaGFuZ2VMb2dEYXRlQW5kUmV2aWV3ZXIoJCQpOwogc3ViIHN2blN0YXR1cygkKTsKIAorIyBU
aGVzZSBzaG91bGQgYmUgcmVwbGFjZWQgYnkgYW4gc2NtIGNsYXNzL21vZHVsZToKK3N1YiBzY21L
bm93c09mRmlsZSgkKTsKK3N1YiBzY21Db3B5KCQkKTsKK3N1YiBzY21BZGQoJCk7CitzdWIgc2Nt
UmVtb3ZlKCQpOworCisKICMgUHJvamVjdCB0aW1lIHpvbmUgZm9yIEN1cGVydGlubywgQ0EsIFVT
CiBteSAkY2hhbmdlTG9nVGltZVpvbmUgPSAiUFNUOFBEVCI7CiAKQEAgLTkwLDkgKzEwMCwxNCBA
QCBpZiAoIUdldE9wdGlvbnMoIm1lcmdlISIgPT4gXCRtZXJnZSwgImhlbHAhIiA9PiBcJHNob3dI
ZWxwLCAicmV2aWV3ZXI9cyIgPT4gXCRyZQogICAgIGV4aXQgMTsKIH0KIAorbXkgJGlzR2l0ID0g
aXNHaXREaXJlY3RvcnkoIi4iKTsKK215ICRpc1NWTiA9IGlzU1ZORGlyZWN0b3J5KCIuIik7Cisk
aXNTVk4gfHwgJGlzR2l0IHx8IGRpZSAiQ291bGRuJ3QgZGV0ZXJtaW5lIHlvdXIgdmVyc2lvbiBj
b250cm9sIHN5c3RlbS4iOworCiBteSAlcmVtb3ZlRGlyZWN0b3J5SWdub3JlTGlzdCA9ICgKICAg
ICAnLicgPT4gMSwKICAgICAnLi4nID0+IDEsCisgICAgJy5naXQnID0+IDEsCiAgICAgJy5zdm4n
ID0+IDEsCiAgICAgJ19zdm4nID0+IDEsCiApOwpAQCAtMTQ4LDYgKzE2Myw4IEBAIGlmICgkcGF0
Y2ggJiYgISRjb3BpZWRGcm9tUGF0aCkgewogfQogCiBpZiAoJG1lcmdlKSB7CisgICAgZGllICIt
LW1lcmdlIGlzIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBmb3IgU1ZOIiB1bmxlc3MgJGlzU1ZO
OworICAgICMgSG93IGRvIHdlIGhhbmRsZSBHaXQgcGF0Y2hlcyBhcHBsaWVkIHRvIGFuIFNWTiBj
aGVja291dCBoZXJlPwogICAgIGZvciBteSAkZmlsZSAoc29ydCBrZXlzICV2ZXJzaW9ucykgewog
ICAgICAgICBwcmludCAiR2V0dGluZyB2ZXJzaW9uICR2ZXJzaW9uc3skZmlsZX0gb2YgJGZpbGVc
biI7CiAgICAgICAgIHN5c3RlbSAic3ZuIiwgInVwZGF0ZSIsICItciIsICR2ZXJzaW9uc3skZmls
ZX0sICRmaWxlOwpAQCAtMTU3LDcgKzE3NCw3IEBAIGlmICgkbWVyZ2UpIHsKICMgSGFuZGxlIGNv
cGllZCBhbmQgbW92ZWQgZmlsZXMgZmlyc3Qgc2luY2UgbW92ZWQgZmlsZXMgbWF5IGhhdmUgdGhl
aXIgc291cmNlIGRlbGV0ZWQgYmVmb3JlIHRoZSBtb3ZlLgogZm9yIG15ICRmaWxlIChrZXlzICVj
b3BpZWRGaWxlcykgewogICAgIGFkZERpcmVjdG9yaWVzSWZOZWVkZWQoZGlybmFtZSgkZmlsZSkp
OwotICAgIHN5c3RlbSAic3ZuIiwgImNvcHkiLCAkY29waWVkRmlsZXN7JGZpbGV9LCAkZmlsZTsK
KyAgICBzY21Db3B5KCRjb3BpZWRGaWxlc3skZmlsZX0sICRmaWxlKTsKIH0KIAogZm9yICRwYXRj
aCAoQHBhdGNoZXMpIHsKQEAgLTE3OCwxOCArMTk1LDIxIEBAIHN1YiBhZGREaXJlY3Rvcmllc0lm
TmVlZGVkKCQpCiAgICAgICAgIG5leHQgaWYgZXhpc3RzICRjaGVja2VkRGlyZWN0b3JpZXN7JGRp
cn07CiAgICAgICAgIGlmICghIC1lICRkaXIpIHsKICAgICAgICAgICAgIG1rZGlyICRkaXIgb3Ig
ZGllICJGYWlsZWQgdG8gY3JlYXRlIHJlcXVpcmVkIGRpcmVjdG9yeSAnJGRpcicgZm9yIHBhdGgg
JyRwYXRoJ1xuIjsKLSAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgImFkZCIsICRkaXI7CisgICAg
ICAgICAgICBzY21BZGQoJGRpcik7CiAgICAgICAgICAgICAkY2hlY2tlZERpcmVjdG9yaWVzeyRk
aXJ9ID0gMTsKICAgICAgICAgfQogICAgICAgICBlbHNpZiAoLWQgJGRpcikgewotICAgICAgICAg
ICAgbXkgJHN2bk91dHB1dCA9IHN2blN0YXR1cygkZGlyKTsKLSAgICAgICAgICAgIGlmICgkc3Zu
T3V0cHV0ICYmICRzdm5PdXRwdXQgPX4gbSNcP1xzKyRkaXJcbiMpIHsKLSAgICAgICAgICAgICAg
ICBzeXN0ZW0gInN2biIsICJhZGQiLCAkZGlyOworICAgICAgICAgICAgIyBTVk4gcHJpbnRzICJz
dm46IHdhcm5pbmc6ICdkaXJlY3RvcnknIGlzIGFscmVhZHkgdW5kZXIgdmVyc2lvbiBjb250cm9s
IgorICAgICAgICAgICAgIyBpZiB5b3UgdHJ5IGFuZCBhZGQgYSBkaXJlY3Rvcnkgd2hpY2ggaXMg
YWxyZWFkeSBpbiB0aGUgcmVwb3NpdG9yeS4KKyAgICAgICAgICAgICMgR2l0IHdpbGwgaWdub3Jl
IHRoZSBhZGQsIGJ1dCByZS1hZGRpbmcgbGFyZ2UgZGlyZWN0b3JpZXMgY2FuIGJlIHNsb29vb3cu
CisgICAgICAgICAgICAjIFNvIHdlIGNoZWNrIGZpcnN0IHRvIHNlZSBpZiB0aGUgZGlyZWN0b3J5
IGlzIHVuZGVyIHZlcnNpb24gY29udHJvbCBmaXJzdC4KKyAgICAgICAgICAgIGlmICghc2NtS25v
d3NPZkZpbGUoJGRpcikpIHsKKyAgICAgICAgICAgICAgICBzY21BZGQoJGRpcik7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAkY2hlY2tlZERpcmVjdG9yaWVzeyRkaXJ9ID0gMTsKICAgICAg
ICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGRpZSAiJyRkaXInIGlzIG5vdCBhIGRp
cmVjdG9yeSI7CisgICAgICAgICAgICBkaWUgIickZGlyJyBleGlzdHMsIGJ1dCBpcyBub3QgYSBk
aXJlY3RvcnkiOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMjkwLDE3ICszMTAsMTMgQEAgc3Vi
IGhhbmRsZUJpbmFyeUNoYW5nZSgkJCkKICAgICAgICAgb3BlbiBGSUxFLCAiPiIsICRmdWxsUGF0
aCBvciBkaWU7CiAgICAgICAgIHByaW50IEZJTEUgZGVjb2RlX2Jhc2U2NCgkMSk7CiAgICAgICAg
IGNsb3NlIEZJTEU7Ci0gICAgICAgIG15ICRzdm5PdXRwdXQgPSBzdm5TdGF0dXMoJGZ1bGxQYXRo
KTsKLSAgICAgICAgaWYgKCRzdm5PdXRwdXQgJiYgc3Vic3RyKCRzdm5PdXRwdXQsIDAsIDEpIGVx
ICI/IikgeworICAgICAgICBpZiAoIXNjbUtub3dzT2ZGaWxlKCRmdWxsUGF0aCkpIHsKICAgICAg
ICAgICAgICMgQWRkaXRpb24KLSAgICAgICAgICAgIHN5c3RlbSAic3ZuIiwgImFkZCIsICRmdWxs
UGF0aDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICMgTW9kaWZpY2F0aW9uCi0gICAg
ICAgICAgICBwcmludCAkc3ZuT3V0cHV0IGlmICRzdm5PdXRwdXQ7CisgICAgICAgICAgICBzY21B
ZGQoJGZ1bGxQYXRoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgICMgRGVsZXRp
b24KLSAgICAgICAgc3lzdGVtICJzdm4iLCAicm0iLCAkZnVsbFBhdGg7CisgICAgICAgIHNjbVJl
bW92ZSgkZnVsbFBhdGgpOwogICAgIH0KIH0KIApAQCAtMzE0LDggKzMzMCw3IEBAIHN1YiBpc0Rp
cmVjdG9yeUVtcHR5Rm9yUmVtb3ZhbCgkKQogICAgICAgICBpZiAoISAtZCBGaWxlOjpTcGVjLT5j
YXRkaXIoJGRpciwgJGl0ZW0pKSB7CiAgICAgICAgICAgICAkZGlyZWN0b3J5SXNFbXB0eSA9IDA7
CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBteSAkc3ZuT3V0cHV0ID0gc3ZuU3RhdHVz
KEZpbGU6OlNwZWMtPmNhdGRpcigkZGlyLCAkaXRlbSkpOwotICAgICAgICAgICAgbmV4dCBpZiAk
c3ZuT3V0cHV0ICYmIHN1YnN0cigkc3ZuT3V0cHV0LCAwLCAxKSBlcSAiRCI7CisgICAgICAgICAg
ICBuZXh0IGlmIChzY21XaWxsRGVsZXRlRmlsZShGaWxlOjpTcGVjLT5jYXRkaXIoJGRpciwgJGl0
ZW0pKSk7CiAgICAgICAgICAgICAkZGlyZWN0b3J5SXNFbXB0eSA9IDA7CiAgICAgICAgIH0KICAg
ICB9CkBAIC0zNjMsMTQgKzM3OCwxNSBAQCBzdWIgcGF0Y2goJCkKICAgICAgICAgfSBlbHNpZiAo
JGRlbGV0aW9uKSB7CiAgICAgICAgICAgICAjIERlbGV0aW9uCiAgICAgICAgICAgICBhcHBseVBh
dGNoKCRwYXRjaCwgJGZ1bGxQYXRoLCBbIi0tZm9yY2UiXSk7Ci0gICAgICAgICAgICBzeXN0ZW0g
InN2biIsICJybSIsICItLWZvcmNlIiwgJGZ1bGxQYXRoOworICAgICAgICAgICAgc2NtUmVtb3Zl
KCRmdWxsUGF0aCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAjIEFkZGl0aW9uCiAg
ICAgICAgICAgICByZW5hbWUoJGZ1bGxQYXRoLCAiJGZ1bGxQYXRoLm9yaWciKSBpZiAtZSAkZnVs
bFBhdGg7CiAgICAgICAgICAgICBhcHBseVBhdGNoKCRwYXRjaCwgJGZ1bGxQYXRoKTsKICAgICAg
ICAgICAgIHVubGluaygiJGZ1bGxQYXRoLm9yaWciKSBpZiAtZSAiJGZ1bGxQYXRoLm9yaWciICYm
IGNoZWNrc3VtKCRmdWxsUGF0aCkgZXEgY2hlY2tzdW0oIiRmdWxsUGF0aC5vcmlnIik7Ci0gICAg
ICAgICAgICBzeXN0ZW0gInN2biIsICJhZGQiLCAkZnVsbFBhdGg7Ci0gICAgICAgICAgICBzeXN0
ZW0gInN2biIsICJzdGF0IiwgIiRmdWxsUGF0aC5vcmlnIiBpZiAtZSAiJGZ1bGxQYXRoLm9yaWci
OworICAgICAgICAgICAgc2NtQWRkKCRmdWxsUGF0aCk7CisgICAgICAgICAgICAjIFdoYXQgaXMg
dGhpcyBmb3I/CisgICAgICAgICAgICBzeXN0ZW0gInN2biIsICJzdGF0IiwgIiRmdWxsUGF0aC5v
cmlnIiBpZiAkaXNTVk4gJiYgLWUgIiRmdWxsUGF0aC5vcmlnIjsKICAgICAgICAgfQogICAgIH0K
IH0KQEAgLTM3OSwxNCArMzk1LDcgQEAgc3ViIHJlbW92ZURpcmVjdG9yaWVzSWZOZWVkZWQoKQog
ewogICAgIGZvcmVhY2ggbXkgJGRpciAocmV2ZXJzZSBzb3J0IGtleXMgJWNoZWNrZWREaXJlY3Rv
cmllcykgewogICAgICAgICBpZiAoaXNEaXJlY3RvcnlFbXB0eUZvclJlbW92YWwoJGRpcikpIHsK
LSAgICAgICAgICAgIG15ICRzdm5PdXRwdXQ7Ci0gICAgICAgICAgICBvcGVuIFNWTiwgInN2biBy
bSAnJGRpcicgfCIgb3IgZGllOwotICAgICAgICAgICAgIyBPbmx5IHNhdmUgdGhlIGxhc3QgbGlu
ZSBzaW5jZSBTdWJ2ZXJzaW9uIGxpc3RzIGFsbCBjaGFuZ2VkIHN0YXR1c2VzIGJlbG93ICRkaXIK
LSAgICAgICAgICAgIHdoaWxlICg8U1ZOPikgewotICAgICAgICAgICAgICAgICRzdm5PdXRwdXQg
PSAkXzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNsb3NlIFNWTjsKLSAgICAgICAgICAg
IHByaW50ICRzdm5PdXRwdXQgaWYgJHN2bk91dHB1dDsKKyAgICAgICAgICAgIHNjbVJlbW92ZSgk
ZGlyKTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTQ0MSwzICs0NTAsNzUgQEAgc3ViIHN2blN0
YXR1cygkKQogICAgIGNsb3NlIFNWTjsKICAgICByZXR1cm4gJHN2blN0YXR1czsKIH0KKworIyBU
aGlzIGNvdWxkIGJlIG1hZGUgaW50byBhIG1vcmUgZ2VuZXJhbCAic3RhdHVzIiBjYWxsLCBleGNl
cHQgc3ZuIGFuZCBnaXQKKyMgaGF2ZSBkaWZmZXJlbnQgaWRlYXMgYWJvdXQgIm1vdmluZyIgZmls
ZXMgd2hpY2ggbWlnaHQgZ2V0IGNvbmZ1c2luZy4KK3N1YiBzY21XaWxsRGVsZXRlRmlsZSgkKQor
eworICAgIG15ICgkcGF0aCkgPSBAXzsKKyAgICBpZiAoJGlzU1ZOKSB7CisgICAgICAgIG15ICRz
dm5PdXRwdXQgPSBzdm5TdGF0dXMoJHBhdGgpOworICAgICAgICByZXR1cm4gMSBpZiAkc3ZuT3V0
cHV0ICYmIHN1YnN0cigkc3ZuT3V0cHV0LCAwLCAxKSBlcSAiRCI7CisgICAgfSBlbHNpZiAoJGlz
R2l0KSB7CisgICAgICAgIG15ICRnaXRPdXRwdXQgPSBgZ2l0IGRpZmYtaW5kZXggLS1uYW1lLXN0
YXR1cyBoZWFkIC0tICRwYXRoYDsKKyAgICAgICAgcmV0dXJuIDEgaWYgJGdpdE91dHB1dCAmJiBz
dWJzdHIoJGdpdE91dHB1dCwgMCwgMSkgZXEgIkQiOworICAgIH0KKyAgICByZXR1cm4gMDsKK30K
Kworc3ViIHNjbUtub3dzT2ZGaWxlKCQpCit7CisgICAgbXkgKCRwYXRoKSA9IEBfOworICAgIGlm
ICgkaXNTVk4pIHsKKyAgICAgICAgbXkgJHN2bk91dHB1dCA9IHN2blN0YXR1cygkcGF0aCk7Cisg
ICAgICAgICMgVGhpcyB3aWxsIG1hdGNoIG1vcmUgdGhhbiBpbnRlbmRlZC4gID8gbWlnaHQgbm90
IGJlIHRoZSBmaXJzdCBmaWVsZCBpbiB0aGUgc3RhdHVzCisgICAgICAgIGlmICgkc3ZuT3V0cHV0
ICYmICRzdm5PdXRwdXQgPX4gbSNcP1xzKyRwYXRoXG4jKSB7CisgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgfQorICAgICAgICAjIFRoaXMgZG9lcyBub3QgaGFuZGxlIGVycm9ycyB3ZWxs
LgorICAgICAgICByZXR1cm4gMTsKKyAgICB9IGVsc2lmICgkaXNHaXQpIHsKKyAgICAgICAgYGdp
dCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggLS0gJHBhdGhgOworICAgICAgICBteSAkZXhpdENv
ZGUgPSAkPyA+PiA4OworICAgICAgICByZXR1cm4gJGV4aXRDb2RlID09IDA7CisgICAgfQorfQor
CitzdWIgc2NtQ29weSgkJCkKK3sKKyAgICBteSAoJHNvdXJjZSwgJGRlc3RpbmF0aW9uKSA9IEBf
OworICAgIGlmICgkaXNTVk4pIHsKKyAgICAgICAgc3lzdGVtICJzdm4iLCAiY29weSIsICRzb3Vy
Y2UsICRkZXN0aW5hdGlvbjsKKyAgICB9IGVsc2lmICgkaXNHaXQpIHsKKyAgICAgICAgc3lzdGVt
ICJjcCIsICRzb3VyY2UsICRkZXN0aW5hdGlvbjsKKyAgICAgICAgc3lzdGVtICJnaXQiLCAiYWRk
IiwgJGRlc3RpbmF0aW9uOworICAgIH0KK30KKworc3ViIHNjbUFkZCgkKQoreworICAgIG15ICgk
cGF0aCkgPSBAXzsKKyAgICBpZiAoJGlzU1ZOKSB7CisgICAgICAgIHN5c3RlbSAic3ZuIiwgImFk
ZCIsICRwYXRoOworICAgIH0gZWxzaWYgKCRpc0dpdCkgeworICAgICAgICBzeXN0ZW0gImdpdCIs
ICJhZGQiLCAkcGF0aDsKKyAgICB9Cit9CisKK3N1YiBzY21SZW1vdmUoJCkKK3sKKyAgICBteSAo
JHBhdGgpID0gQF87CisgICAgaWYgKCRpc1NWTikgeworICAgICAgICAjIFNWTiBpcyB2ZXJ5IHZl
cmJvc2Ugd2hlbiByZW1vdmluZyBkaXJlY3Rvcmllcy4gIFNxdWVsY2ggYWxsIG91dHB1dCBleGNl
cHQgdGhlIGxhc3QgbGluZS4KKyAgICAgICAgbXkgJHN2bk91dHB1dDsKKyAgICAgICAgb3BlbiBT
Vk4sICJzdm4gcm0gLS1mb3JjZSAnJHBhdGgnIHwiIG9yIGRpZSAic3ZuIHJtIC0tZm9yY2UgJyRw
YXRoJyBmYWlsZWQhIjsKKyAgICAgICAgIyBPbmx5IHByaW50IHRoZSBsYXN0IGxpbmUuICBTdWJ2
ZXJzaW9uIG91dHB1dHMgYWxsIGNoYW5nZWQgc3RhdHVzZXMgYmVsb3cgJGRpcgorICAgICAgICB3
aGlsZSAoPFNWTj4pIHsKKyAgICAgICAgICAgICRzdm5PdXRwdXQgPSAkXzsKKyAgICAgICAgfQor
ICAgICAgICBjbG9zZSBTVk47CisgICAgICAgIHByaW50ICRzdm5PdXRwdXQgaWYgJHN2bk91dHB1
dDsKKyAgICB9IGVsc2lmICgkaXNHaXQpIHsKKyAgICAgICAgc3lzdGVtICJnaXQiLCAicm0iLCAi
LS1mb3JjZSIsICRwYXRoOworICAgIH0KK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31831</attachid>
            <date>2009-06-24 20:38:09 -0700</date>
            <delta_ts>2009-06-24 23:57:09 -0700</delta_ts>
            <desc>Make svn-apply work with Git and return non-zero on patch failure</desc>
            <filename>bugzilla_requires_a_filename.patch</filename>
            <type>text/plain</type>
            <size>10305</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NDYyMGE0OTNlYjkyNzQ5NDJhMTMxMGUwZTYzMDQ5Y2I0NjMxNDdmMwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDY5NjMyYzQu
LjFlYTE5YTIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wNi0yNCAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWFrZSBzdm4tYXBwbHkgd29yayB3aXRoIEdpdCB0b28KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2Mjk5CisgICAgICAgIAorICAg
ICAgICBBZGQgYW4gLS1mb3JjZSBvcHRpb24gdG8gc3ZuLWFwcGx5IGFuZCBvdGhlcndpc2UgbWFr
ZSBzdm4tYXBwbHkKKyAgICAgICAgZXhpdCBub24temVybyB3aGVuIHBhdGNoIGFwcGxpY2F0aW9u
IGZhaWxzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjYzMDAKKworICAgICAgICBJIGRpZCBub3QgdXBkYXRlIHN2bi11bmFwcGx5LCBiZWNhdXNlIGl0
IG1ha2VzIG5vIHNlbnNlIGluIGEgR2l0IHdvcmxkLgorICAgICAgICBZb3UgZG9uJ3Qgcm9sbCBp
biBhbmQgb3V0IHBhdGNoIGZpbGVzLiAgWW91IG1ha2UgY29tbWl0cyBhbmQgZGVhbCB3aXRoIHRo
b3NlLgorICAgICAgICBHaXQgdXNlcnMgY2FuIGp1c3QgZ2l0IHJlc2V0IC0taGFyZCB0byBnZXQg
dGhlIHNhbWUgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIFNjcmlwdHMvc3ZuLWFwcGx5Ogor
CiAyMDA5LTA2LTIzICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXZlIExldmluLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9z
dm4tYXBwbHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3N2bi1hcHBseQppbmRleCAwMDliZGQwLi5m
ZjY0MTEzIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3N2bi1hcHBseQorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3N2bi1hcHBseQpAQCAtNywxMyArNywxMyBAQAogIyBhcmUgbWV0
OgogIwogIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAjIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAogIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQogIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCiAjIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9m
CiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorIyAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogIwogIyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC01OSw3ICs1OSw2IEBACiB1c2Ugc3RyaWN0
OwogdXNlIHdhcm5pbmdzOwogCi11c2UgQ3dkOwogdXNlIERpZ2VzdDo6TUQ1OwogdXNlIEZpbGU6
OkJhc2VuYW1lOwogdXNlIEZpbGU6OlNwZWM7CkBAIC02Nyw2ICs2NiwxMCBAQCB1c2UgR2V0b3B0
OjpMb25nOwogdXNlIE1JTUU6OkJhc2U2NDsKIHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7CiAKK3Vz
ZSBGaW5kQmluOwordXNlIGxpYiAkRmluZEJpbjo6QmluOwordXNlIFZDU1V0aWxzOworCiBzdWIg
YWRkRGlyZWN0b3JpZXNJZk5lZWRlZCgkKTsKIHN1YiBhcHBseVBhdGNoKCQkOyQpOwogc3ViIGNo
ZWNrc3VtKCQpOwpAQCAtNzksMjAgKzgyLDQxIEBAIHN1YiByZW1vdmVEaXJlY3Rvcmllc0lmTmVl
ZGVkKCk7CiBzdWIgc2V0Q2hhbmdlTG9nRGF0ZUFuZFJldmlld2VyKCQkKTsKIHN1YiBzdm5TdGF0
dXMoJCk7CiAKKyMgVGhlc2Ugc2hvdWxkIGJlIHJlcGxhY2VkIGJ5IGFuIHNjbSBjbGFzcy9tb2R1
bGU6CitzdWIgc2NtS25vd3NPZkZpbGUoJCk7CitzdWIgc2NtQ29weSgkJCk7CitzdWIgc2NtQWRk
KCQpOworc3ViIHNjbVJlbW92ZSgkKTsKKworCiAjIFByb2plY3QgdGltZSB6b25lIGZvciBDdXBl
cnRpbm8sIENBLCBVUwogbXkgJGNoYW5nZUxvZ1RpbWVab25lID0gIlBTVDhQRFQiOwogCiBteSAk
bWVyZ2UgPSAwOwogbXkgJHNob3dIZWxwID0gMDsKIG15ICRyZXZpZXdlcjsKLWlmICghR2V0T3B0
aW9ucygibWVyZ2UhIiA9PiBcJG1lcmdlLCAiaGVscCEiID0+IFwkc2hvd0hlbHAsICJyZXZpZXdl
cj1zIiA9PiBcJHJldmlld2VyKSB8fCAkc2hvd0hlbHApIHsKLSAgICBwcmludCBTVERFUlIgYmFz
ZW5hbWUoJDApIC4gIiBbLWh8LS1oZWxwXSBbLW18LS1tZXJnZV0gWy1yfC0tcmV2aWV3ZXIgbmFt
ZV0gcGF0Y2gxIFtwYXRjaDIgLi4uXVxuIjsKK215ICRmb3JjZSA9IDA7CisKK215ICRvcHRpb25Q
YXJzZVN1Y2Nlc3MgPSBHZXRPcHRpb25zKAorICAgICJtZXJnZSEiID0+IFwkbWVyZ2UsCisgICAg
ImhlbHAhIiA9PiBcJHNob3dIZWxwLAorICAgICJyZXZpZXdlcj1zIiA9PiBcJHJldmlld2VyLAor
ICAgICJmb3JjZSEiID0+IFwkZm9yY2UKKyk7CisKK2lmICghJG9wdGlvblBhcnNlU3VjY2VzcyB8
fCAkc2hvd0hlbHApIHsKKyAgICBwcmludCBTVERFUlIgYmFzZW5hbWUoJDApIC4gIiBbLWh8LS1o
ZWxwXSBbLS1mb3JjZV0gWy1tfC0tbWVyZ2VdIFstcnwtLXJldmlld2VyIG5hbWVdIHBhdGNoMSBb
cGF0Y2gyIC4uLl1cbiI7CiAgICAgZXhpdCAxOwogfQogCitteSAkaXNHaXQgPSBpc0dpdERpcmVj
dG9yeSgiLiIpOworbXkgJGlzU1ZOID0gaXNTVk5EaXJlY3RvcnkoIi4iKTsKKyRpc1NWTiB8fCAk
aXNHaXQgfHwgZGllICJDb3VsZG4ndCBkZXRlcm1pbmUgeW91ciB2ZXJzaW9uIGNvbnRyb2wgc3lz
dGVtLiI7CisKIG15ICVyZW1vdmVEaXJlY3RvcnlJZ25vcmVMaXN0ID0gKAogICAgICcuJyA9PiAx
LAogICAgICcuLicgPT4gMSwKKyAgICAnLmdpdCcgPT4gMSwKICAgICAnLnN2bicgPT4gMSwKICAg
ICAnX3N2bicgPT4gMSwKICk7CkBAIC0xNDgsNiArMTcyLDggQEAgaWYgKCRwYXRjaCAmJiAhJGNv
cGllZEZyb21QYXRoKSB7CiB9CiAKIGlmICgkbWVyZ2UpIHsKKyAgICBkaWUgIi0tbWVyZ2UgaXMg
Y3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIGZvciBTVk4iIHVubGVzcyAkaXNTVk47CisgICAgIyBI
b3cgZG8gd2UgaGFuZGxlIEdpdCBwYXRjaGVzIGFwcGxpZWQgdG8gYW4gU1ZOIGNoZWNrb3V0IGhl
cmU/CiAgICAgZm9yIG15ICRmaWxlIChzb3J0IGtleXMgJXZlcnNpb25zKSB7CiAgICAgICAgIHBy
aW50ICJHZXR0aW5nIHZlcnNpb24gJHZlcnNpb25zeyRmaWxlfSBvZiAkZmlsZVxuIjsKICAgICAg
ICAgc3lzdGVtICJzdm4iLCAidXBkYXRlIiwgIi1yIiwgJHZlcnNpb25zeyRmaWxlfSwgJGZpbGU7
CkBAIC0xNTcsNyArMTgzLDcgQEAgaWYgKCRtZXJnZSkgewogIyBIYW5kbGUgY29waWVkIGFuZCBt
b3ZlZCBmaWxlcyBmaXJzdCBzaW5jZSBtb3ZlZCBmaWxlcyBtYXkgaGF2ZSB0aGVpciBzb3VyY2Ug
ZGVsZXRlZCBiZWZvcmUgdGhlIG1vdmUuCiBmb3IgbXkgJGZpbGUgKGtleXMgJWNvcGllZEZpbGVz
KSB7CiAgICAgYWRkRGlyZWN0b3JpZXNJZk5lZWRlZChkaXJuYW1lKCRmaWxlKSk7Ci0gICAgc3lz
dGVtICJzdm4iLCAiY29weSIsICRjb3BpZWRGaWxlc3skZmlsZX0sICRmaWxlOworICAgIHNjbUNv
cHkoJGNvcGllZEZpbGVzeyRmaWxlfSwgJGZpbGUpOwogfQogCiBmb3IgJHBhdGNoIChAcGF0Y2hl
cykgewpAQCAtMTc4LDE4ICsyMDQsMjEgQEAgc3ViIGFkZERpcmVjdG9yaWVzSWZOZWVkZWQoJCkK
ICAgICAgICAgbmV4dCBpZiBleGlzdHMgJGNoZWNrZWREaXJlY3Rvcmllc3skZGlyfTsKICAgICAg
ICAgaWYgKCEgLWUgJGRpcikgewogICAgICAgICAgICAgbWtkaXIgJGRpciBvciBkaWUgIkZhaWxl
ZCB0byBjcmVhdGUgcmVxdWlyZWQgZGlyZWN0b3J5ICckZGlyJyBmb3IgcGF0aCAnJHBhdGgnXG4i
OwotICAgICAgICAgICAgc3lzdGVtICJzdm4iLCAiYWRkIiwgJGRpcjsKKyAgICAgICAgICAgIHNj
bUFkZCgkZGlyKTsKICAgICAgICAgICAgICRjaGVja2VkRGlyZWN0b3JpZXN7JGRpcn0gPSAxOwog
ICAgICAgICB9CiAgICAgICAgIGVsc2lmICgtZCAkZGlyKSB7Ci0gICAgICAgICAgICBteSAkc3Zu
T3V0cHV0ID0gc3ZuU3RhdHVzKCRkaXIpOwotICAgICAgICAgICAgaWYgKCRzdm5PdXRwdXQgJiYg
JHN2bk91dHB1dCA9fiBtI1w/XHMrJGRpclxuIykgewotICAgICAgICAgICAgICAgIHN5c3RlbSAi
c3ZuIiwgImFkZCIsICRkaXI7CisgICAgICAgICAgICAjIFNWTiBwcmludHMgInN2bjogd2Fybmlu
ZzogJ2RpcmVjdG9yeScgaXMgYWxyZWFkeSB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCisgICAgICAg
ICAgICAjIGlmIHlvdSB0cnkgYW5kIGFkZCBhIGRpcmVjdG9yeSB3aGljaCBpcyBhbHJlYWR5IGlu
IHRoZSByZXBvc2l0b3J5LgorICAgICAgICAgICAgIyBHaXQgd2lsbCBpZ25vcmUgdGhlIGFkZCwg
YnV0IHJlLWFkZGluZyBsYXJnZSBkaXJlY3RvcmllcyBjYW4gYmUgc2xvb29vdy4KKyAgICAgICAg
ICAgICMgU28gd2UgY2hlY2sgZmlyc3QgdG8gc2VlIGlmIHRoZSBkaXJlY3RvcnkgaXMgdW5kZXIg
dmVyc2lvbiBjb250cm9sIGZpcnN0LgorICAgICAgICAgICAgaWYgKCFzY21Lbm93c09mRmlsZSgk
ZGlyKSkgeworICAgICAgICAgICAgICAgIHNjbUFkZCgkZGlyKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICRjaGVja2VkRGlyZWN0b3JpZXN7JGRpcn0gPSAxOwogICAgICAgICB9CiAgICAg
ICAgIGVsc2UgewotICAgICAgICAgICAgZGllICInJGRpcicgaXMgbm90IGEgZGlyZWN0b3J5IjsK
KyAgICAgICAgICAgIGRpZSAiJyRkaXInIGV4aXN0cywgYnV0IGlzIG5vdCBhIGRpcmVjdG9yeSI7
CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0yMDIsNiArMjMxLDEyIEBAIHN1YiBhcHBseVBhdGNo
KCQkOyQpCiAgICAgb3BlbiBQQVRDSCwgInwgJGNvbW1hbmQiIG9yIGRpZSAiRmFpbGVkIHRvIHBh
dGNoICRmdWxsUGF0aFxuIjsKICAgICBwcmludCBQQVRDSCAkcGF0Y2g7CiAgICAgY2xvc2UgUEFU
Q0g7CisKKyAgICBteSAkZXhpdENvZGUgPSAkPyA+PiA4OworICAgIGlmICgkZXhpdENvZGUgIT0g
MCkgeworICAgICAgICBwcmludCAicGF0Y2ggLXAwIFwiJGZ1bGxQYXRoXCIgcmV0dXJuZWQgJGV4
aXRDb2RlLiAgUGFzcyAtLWZvcmNlIHRvIGlnbm9yZSBwYXRjaCBmYWlsdXJlcy5cbiI7CisgICAg
ICAgIGV4aXQoJGV4aXRDb2RlKTsKKyAgICB9CiB9CiAKIHN1YiBjaGVja3N1bSgkKQpAQCAtMjkw
LDE3ICszMjUsMTMgQEAgc3ViIGhhbmRsZUJpbmFyeUNoYW5nZSgkJCkKICAgICAgICAgb3BlbiBG
SUxFLCAiPiIsICRmdWxsUGF0aCBvciBkaWU7CiAgICAgICAgIHByaW50IEZJTEUgZGVjb2RlX2Jh
c2U2NCgkMSk7CiAgICAgICAgIGNsb3NlIEZJTEU7Ci0gICAgICAgIG15ICRzdm5PdXRwdXQgPSBz
dm5TdGF0dXMoJGZ1bGxQYXRoKTsKLSAgICAgICAgaWYgKCRzdm5PdXRwdXQgJiYgc3Vic3RyKCRz
dm5PdXRwdXQsIDAsIDEpIGVxICI/IikgeworICAgICAgICBpZiAoIXNjbUtub3dzT2ZGaWxlKCRm
dWxsUGF0aCkpIHsKICAgICAgICAgICAgICMgQWRkaXRpb24KLSAgICAgICAgICAgIHN5c3RlbSAi
c3ZuIiwgImFkZCIsICRmdWxsUGF0aDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICMg
TW9kaWZpY2F0aW9uCi0gICAgICAgICAgICBwcmludCAkc3ZuT3V0cHV0IGlmICRzdm5PdXRwdXQ7
CisgICAgICAgICAgICBzY21BZGQoJGZ1bGxQYXRoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7
CiAgICAgICAgICMgRGVsZXRpb24KLSAgICAgICAgc3lzdGVtICJzdm4iLCAicm0iLCAkZnVsbFBh
dGg7CisgICAgICAgIHNjbVJlbW92ZSgkZnVsbFBhdGgpOwogICAgIH0KIH0KIApAQCAtMzE0LDgg
KzM0NSw3IEBAIHN1YiBpc0RpcmVjdG9yeUVtcHR5Rm9yUmVtb3ZhbCgkKQogICAgICAgICBpZiAo
ISAtZCBGaWxlOjpTcGVjLT5jYXRkaXIoJGRpciwgJGl0ZW0pKSB7CiAgICAgICAgICAgICAkZGly
ZWN0b3J5SXNFbXB0eSA9IDA7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBteSAkc3Zu
T3V0cHV0ID0gc3ZuU3RhdHVzKEZpbGU6OlNwZWMtPmNhdGRpcigkZGlyLCAkaXRlbSkpOwotICAg
ICAgICAgICAgbmV4dCBpZiAkc3ZuT3V0cHV0ICYmIHN1YnN0cigkc3ZuT3V0cHV0LCAwLCAxKSBl
cSAiRCI7CisgICAgICAgICAgICBuZXh0IGlmIChzY21XaWxsRGVsZXRlRmlsZShGaWxlOjpTcGVj
LT5jYXRkaXIoJGRpciwgJGl0ZW0pKSk7CiAgICAgICAgICAgICAkZGlyZWN0b3J5SXNFbXB0eSA9
IDA7CiAgICAgICAgIH0KICAgICB9CkBAIC0zNjMsMTQgKzM5MywxNSBAQCBzdWIgcGF0Y2goJCkK
ICAgICAgICAgfSBlbHNpZiAoJGRlbGV0aW9uKSB7CiAgICAgICAgICAgICAjIERlbGV0aW9uCiAg
ICAgICAgICAgICBhcHBseVBhdGNoKCRwYXRjaCwgJGZ1bGxQYXRoLCBbIi0tZm9yY2UiXSk7Ci0g
ICAgICAgICAgICBzeXN0ZW0gInN2biIsICJybSIsICItLWZvcmNlIiwgJGZ1bGxQYXRoOworICAg
ICAgICAgICAgc2NtUmVtb3ZlKCRmdWxsUGF0aCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICAjIEFkZGl0aW9uCiAgICAgICAgICAgICByZW5hbWUoJGZ1bGxQYXRoLCAiJGZ1bGxQYXRo
Lm9yaWciKSBpZiAtZSAkZnVsbFBhdGg7CiAgICAgICAgICAgICBhcHBseVBhdGNoKCRwYXRjaCwg
JGZ1bGxQYXRoKTsKICAgICAgICAgICAgIHVubGluaygiJGZ1bGxQYXRoLm9yaWciKSBpZiAtZSAi
JGZ1bGxQYXRoLm9yaWciICYmIGNoZWNrc3VtKCRmdWxsUGF0aCkgZXEgY2hlY2tzdW0oIiRmdWxs
UGF0aC5vcmlnIik7Ci0gICAgICAgICAgICBzeXN0ZW0gInN2biIsICJhZGQiLCAkZnVsbFBhdGg7
Ci0gICAgICAgICAgICBzeXN0ZW0gInN2biIsICJzdGF0IiwgIiRmdWxsUGF0aC5vcmlnIiBpZiAt
ZSAiJGZ1bGxQYXRoLm9yaWciOworICAgICAgICAgICAgc2NtQWRkKCRmdWxsUGF0aCk7CisgICAg
ICAgICAgICAjIFdoYXQgaXMgdGhpcyBmb3I/CisgICAgICAgICAgICBzeXN0ZW0gInN2biIsICJz
dGF0IiwgIiRmdWxsUGF0aC5vcmlnIiBpZiAkaXNTVk4gJiYgLWUgIiRmdWxsUGF0aC5vcmlnIjsK
ICAgICAgICAgfQogICAgIH0KIH0KQEAgLTM3OSwxNCArNDEwLDcgQEAgc3ViIHJlbW92ZURpcmVj
dG9yaWVzSWZOZWVkZWQoKQogewogICAgIGZvcmVhY2ggbXkgJGRpciAocmV2ZXJzZSBzb3J0IGtl
eXMgJWNoZWNrZWREaXJlY3RvcmllcykgewogICAgICAgICBpZiAoaXNEaXJlY3RvcnlFbXB0eUZv
clJlbW92YWwoJGRpcikpIHsKLSAgICAgICAgICAgIG15ICRzdm5PdXRwdXQ7Ci0gICAgICAgICAg
ICBvcGVuIFNWTiwgInN2biBybSAnJGRpcicgfCIgb3IgZGllOwotICAgICAgICAgICAgIyBPbmx5
IHNhdmUgdGhlIGxhc3QgbGluZSBzaW5jZSBTdWJ2ZXJzaW9uIGxpc3RzIGFsbCBjaGFuZ2VkIHN0
YXR1c2VzIGJlbG93ICRkaXIKLSAgICAgICAgICAgIHdoaWxlICg8U1ZOPikgewotICAgICAgICAg
ICAgICAgICRzdm5PdXRwdXQgPSAkXzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNsb3Nl
IFNWTjsKLSAgICAgICAgICAgIHByaW50ICRzdm5PdXRwdXQgaWYgJHN2bk91dHB1dDsKKyAgICAg
ICAgICAgIHNjbVJlbW92ZSgkZGlyKTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTQ0MSwzICs0
NjUsNzUgQEAgc3ViIHN2blN0YXR1cygkKQogICAgIGNsb3NlIFNWTjsKICAgICByZXR1cm4gJHN2
blN0YXR1czsKIH0KKworIyBUaGlzIGNvdWxkIGJlIG1hZGUgaW50byBhIG1vcmUgZ2VuZXJhbCAi
c3RhdHVzIiBjYWxsLCBleGNlcHQgc3ZuIGFuZCBnaXQKKyMgaGF2ZSBkaWZmZXJlbnQgaWRlYXMg
YWJvdXQgIm1vdmluZyIgZmlsZXMgd2hpY2ggbWlnaHQgZ2V0IGNvbmZ1c2luZy4KK3N1YiBzY21X
aWxsRGVsZXRlRmlsZSgkKQoreworICAgIG15ICgkcGF0aCkgPSBAXzsKKyAgICBpZiAoJGlzU1ZO
KSB7CisgICAgICAgIG15ICRzdm5PdXRwdXQgPSBzdm5TdGF0dXMoJHBhdGgpOworICAgICAgICBy
ZXR1cm4gMSBpZiAkc3ZuT3V0cHV0ICYmIHN1YnN0cigkc3ZuT3V0cHV0LCAwLCAxKSBlcSAiRCI7
CisgICAgfSBlbHNpZiAoJGlzR2l0KSB7CisgICAgICAgIG15ICRnaXRPdXRwdXQgPSBgZ2l0IGRp
ZmYtaW5kZXggLS1uYW1lLXN0YXR1cyBoZWFkIC0tICRwYXRoYDsKKyAgICAgICAgcmV0dXJuIDEg
aWYgJGdpdE91dHB1dCAmJiBzdWJzdHIoJGdpdE91dHB1dCwgMCwgMSkgZXEgIkQiOworICAgIH0K
KyAgICByZXR1cm4gMDsKK30KKworc3ViIHNjbUtub3dzT2ZGaWxlKCQpCit7CisgICAgbXkgKCRw
YXRoKSA9IEBfOworICAgIGlmICgkaXNTVk4pIHsKKyAgICAgICAgbXkgJHN2bk91dHB1dCA9IHN2
blN0YXR1cygkcGF0aCk7CisgICAgICAgICMgVGhpcyB3aWxsIG1hdGNoIG1vcmUgdGhhbiBpbnRl
bmRlZC4gID8gbWlnaHQgbm90IGJlIHRoZSBmaXJzdCBmaWVsZCBpbiB0aGUgc3RhdHVzCisgICAg
ICAgIGlmICgkc3ZuT3V0cHV0ICYmICRzdm5PdXRwdXQgPX4gbSNcP1xzKyRwYXRoXG4jKSB7Cisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICAjIFRoaXMgZG9lcyBub3Qg
aGFuZGxlIGVycm9ycyB3ZWxsLgorICAgICAgICByZXR1cm4gMTsKKyAgICB9IGVsc2lmICgkaXNH
aXQpIHsKKyAgICAgICAgYGdpdCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggLS0gJHBhdGhgOwor
ICAgICAgICBteSAkZXhpdENvZGUgPSAkPyA+PiA4OworICAgICAgICByZXR1cm4gJGV4aXRDb2Rl
ID09IDA7CisgICAgfQorfQorCitzdWIgc2NtQ29weSgkJCkKK3sKKyAgICBteSAoJHNvdXJjZSwg
JGRlc3RpbmF0aW9uKSA9IEBfOworICAgIGlmICgkaXNTVk4pIHsKKyAgICAgICAgc3lzdGVtICJz
dm4iLCAiY29weSIsICRzb3VyY2UsICRkZXN0aW5hdGlvbjsKKyAgICB9IGVsc2lmICgkaXNHaXQp
IHsKKyAgICAgICAgc3lzdGVtICJjcCIsICRzb3VyY2UsICRkZXN0aW5hdGlvbjsKKyAgICAgICAg
c3lzdGVtICJnaXQiLCAiYWRkIiwgJGRlc3RpbmF0aW9uOworICAgIH0KK30KKworc3ViIHNjbUFk
ZCgkKQoreworICAgIG15ICgkcGF0aCkgPSBAXzsKKyAgICBpZiAoJGlzU1ZOKSB7CisgICAgICAg
IHN5c3RlbSAic3ZuIiwgImFkZCIsICRwYXRoOworICAgIH0gZWxzaWYgKCRpc0dpdCkgeworICAg
ICAgICBzeXN0ZW0gImdpdCIsICJhZGQiLCAkcGF0aDsKKyAgICB9Cit9CisKK3N1YiBzY21SZW1v
dmUoJCkKK3sKKyAgICBteSAoJHBhdGgpID0gQF87CisgICAgaWYgKCRpc1NWTikgeworICAgICAg
ICAjIFNWTiBpcyB2ZXJ5IHZlcmJvc2Ugd2hlbiByZW1vdmluZyBkaXJlY3Rvcmllcy4gIFNxdWVs
Y2ggYWxsIG91dHB1dCBleGNlcHQgdGhlIGxhc3QgbGluZS4KKyAgICAgICAgbXkgJHN2bk91dHB1
dDsKKyAgICAgICAgb3BlbiBTVk4sICJzdm4gcm0gLS1mb3JjZSAnJHBhdGgnIHwiIG9yIGRpZSAi
c3ZuIHJtIC0tZm9yY2UgJyRwYXRoJyBmYWlsZWQhIjsKKyAgICAgICAgIyBPbmx5IHByaW50IHRo
ZSBsYXN0IGxpbmUuICBTdWJ2ZXJzaW9uIG91dHB1dHMgYWxsIGNoYW5nZWQgc3RhdHVzZXMgYmVs
b3cgJGRpcgorICAgICAgICB3aGlsZSAoPFNWTj4pIHsKKyAgICAgICAgICAgICRzdm5PdXRwdXQg
PSAkXzsKKyAgICAgICAgfQorICAgICAgICBjbG9zZSBTVk47CisgICAgICAgIHByaW50ICRzdm5P
dXRwdXQgaWYgJHN2bk91dHB1dDsKKyAgICB9IGVsc2lmICgkaXNHaXQpIHsKKyAgICAgICAgc3lz
dGVtICJnaXQiLCAicm0iLCAiLS1mb3JjZSIsICRwYXRoOworICAgIH0KK30K
</data>
<flag name="review"
          id="16408"
          type_id="1"
          status="+"
          setter="vestbo"
    />
          </attachment>
      

    </bug>

</bugzilla>