<?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>26830</bug_id>
          
          <creation_ts>2009-06-29 23:41:56 -0700</creation_ts>
          <short_desc>svn-apply can not handle git binary diffs</short_desc>
          <delta_ts>2009-11-12 23:26:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>hamaji</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>128958</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-29 23:41:56 -0700</bug_when>
    <thetext>svn-apply can not handle git binary diffs

https://bugs.webkit.org/attachment.cgi?id=32000
is one such example:

diff --git a/WebCore/English.lproj/localizedStrings.js b/WebCore/English.lproj/localizedStrings.js
index b85f91a91e5f88be8e7190e862bc615efe7487c5..f01d8a5e0266b361d11b4991f3aadcc8faf49a35 100644
GIT binary patch
delta 22
ecmaDfkMYtx#tk1lCRcfiOy==S+g#=Of)xOJZVC1P

delta 30
ocmV+(0O9}Ao&amp;n;X0kH5$lVV96lbS{_linF3liWxYvtmi`1&gt;Uv|q5uE@</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128963</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-30 00:15:18 -0700</bug_when>
    <thetext>There is a (sadly GPL) python module which seems to know how to deal with git binary patches here:
http://modular.math.washington.edu/home/nathan/sage-dev/local/lib/python/mercurial/patch.py</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157331</commentid>
    <comment_count>2</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-10-23 15:04:00 -0700</bug_when>
    <thetext>I&apos;m interested in fixing git issues in svn-apply. I think we may be able to handle the git-style binary patches (base85 &amp; zlib) and actually I could write base85 decoder in perl. However, I think the better way is just using git-apply(1) instead of patch(1) for git binary patches, of course, we still need to call svn add and rm after patching though. In this way we don&apos;t need to maintain the code to handle git patches. What do you think? If this plan sounds, I&apos;m happy to work on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157332</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-23 15:10:02 -0700</bug_when>
    <thetext>Another way would be to teach svn-create-patch to work with git, so that tools like bugzilla-tool patches could just upload svn patches always.  I&apos;m not sure that&apos;s better, but it&apos;s another option.

I think either option (using git-apply, or teaching svn-apply how to decode git binary patches) woudl be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157341</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-23 15:37:12 -0700</bug_when>
    <thetext>Using ‘git apply’ isn’t ideal since most people don’t have git on their system.  I’m not convinced that fixing svn-create-patch would help here either given that most Git users are unlikely to use that when creating patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157351</commentid>
    <comment_count>5</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-10-23 15:54:35 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Using ‘git apply’ isn’t ideal since most people don’t have git on their system.

Hmm... I thought the most typical user of svn-apply is commit-queue now. So, I guessed using git-apply is OK because we just need to make sure git is installed in the machine for commit-queue. Is my guess wrong? Is svn-apply often used even after commit-queue was developed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157354</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-23 15:57:49 -0700</bug_when>
    <thetext>Lots of folks who are not the commit-queue use svn-apply. :)  Many WebKit developers use svn and not git.  I don&apos;t know the exact breakdown of usage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157363</commentid>
    <comment_count>7</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-10-23 16:22:49 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Lots of folks who are not the commit-queue use svn-apply. :)

Ah, I didn&apos;t imagine that folks are using svn-apply for their usual works...

OK, I&apos;ll learn how git is handling delta. I think it&apos;s not so difficult anyway. I hope git won&apos;t add other formats for binary diff in future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162355</commentid>
    <comment_count>8</comment_count>
      <attachid>42929</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-11-10 23:02:48 -0800</bug_when>
    <thetext>Created attachment 42929
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162367</commentid>
    <comment_count>9</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-11-10 23:49:28 -0800</bug_when>
    <thetext>Let me add some comments on my patch.

This adds support of git style patch for binary addition, deletion, move, and some cases of modification. As for modification, git produces two types of patches for binary modification depending the size of difference. One is labeled &quot;literal&quot; (used when the difference is big) and another is &quot;delta&quot; (used when the difference is small). &quot;literal&quot; patch has both original files and new files as is, and &quot;delta&quot; patch has a binary diff and another binary diff for reverse patching. This patch only supports &quot;literal&quot; type for now. I think it&apos;s still useful because we may be able to handle most of expected.png modifications only with this change.

I removed two lines from gitdiff2svndiff function not to delete &quot;new file mode...&quot; line. I think it&apos;s OK to remove this code, but I&apos;m not 100% sure. I hope someone confirm it.

I think it&apos;s nice if bugzilla can show binary difference in git patches like it is working for svn patches. What is the best way for this? I guess modifying WebKit/BugsSite would be the best, but I&apos;m not sure if we can use modules in WebKitTools/Scripts from BugsSite.

Any comments will be appreciated. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162372</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-11 00:00:26 -0800</bug_when>
    <thetext>PrettyPatch (which shows the patch images) is written in ruby, this is written in perl, which would make it difficutl to share code.

This is going to need some sort of testing.  I should have added perl unit testing to run-webkit-unittests when I last changed this code.  You can also test it using scm_unittest.py if you prefer.

I think this is fantastic!  Even if we don&apos;t support &quot;delta&quot; yet, &quot;literal&quot; support is a big win.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162622</commentid>
    <comment_count>11</comment_count>
      <attachid>42990</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-11-11 12:46:30 -0800</bug_when>
    <thetext>Created attachment 42990
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162631</commentid>
    <comment_count>12</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-11-11 12:57:51 -0800</bug_when>
    <thetext>Thanks for the comment!

(In reply to comment #10)
&gt; PrettyPatch (which shows the patch images) is written in ruby, this is written
&gt; in perl, which would make it difficutl to share code.

Hmm, I see. By the way, what is the most recommended script language in WebKit? I was surprised that there are ruby code. I thought python is the current official language. Is it still allowed to write new code in ruby or perl?

&gt; This is going to need some sort of testing.  I should have added perl unit
&gt; testing to run-webkit-unittests when I last changed this code.  You can also
&gt; test it using scm_unittest.py if you prefer.

OK, I wrote a unittest in scm_unittest.py. Which checks if we can apply git binary patches in both SVN repository and git repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162739</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-11 17:32:18 -0800</bug_when>
    <thetext>I don&apos;t think WebKit has any &quot;official&quot; language for scripts.  I write in python due to personal preference.  I happen to have written many of the recent scripts.  Others have written in the language of their preference.  Personally I&apos;d like to move more of our perl scripts over to python, but it&apos;s possible that others would say the opposite. :)

Thank you very much for taking this on!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162777</commentid>
    <comment_count>14</comment_count>
      <attachid>42990</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-11-11 20:19:31 -0800</bug_when>
    <thetext>Comment on attachment 42990
Patch v2

Clearing flags on attachment: 42990

Committed r50863: &lt;http://trac.webkit.org/changeset/50863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162778</commentid>
    <comment_count>15</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-11-11 20:19:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162837</commentid>
    <comment_count>16</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-11-12 01:15:08 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; I don&apos;t think WebKit has any &quot;official&quot; language for scripts.  I write in
&gt; python due to personal preference.  I happen to have written many of the recent
&gt; scripts.  Others have written in the language of their preference.  Personally
&gt; I&apos;d like to move more of our perl scripts over to python, but it&apos;s possible
&gt; that others would say the opposite. :)

Interesting situation. Luckily, I know python, perl, and ruby and like to try several programming languages, but some people would feel uncomfortable... Anyway, thanks for the description!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163239</commentid>
    <comment_count>17</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2009-11-12 23:26:58 -0800</bug_when>
    <thetext>*** Bug 28456 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42929</attachid>
            <date>2009-11-10 23:02:48 -0800</date>
            <delta_ts>2009-11-11 12:46:23 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-26830-20091111160246.patch</filename>
            <type>text/plain</type>
            <size>8337</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5NTc4YmRjLi4zYmUwN2ViIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMTEt
MTAgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzdm4tYXBwbHkgY2FuIG5vdCBo
YW5kbGUgZ2l0IGJpbmFyeSBkaWZmcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjY4MzAKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06Cisg
ICAgICAgICogU2NyaXB0cy9zdm4tYXBwbHk6CisKIDIwMDktMTEtMTAgIE1hcmsgUm93ZSAgPG1y
b3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbSBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvVkNTVXRpbHMucG0KaW5kZXggYWJmNzMzNS4uZDM4N2Q0MSAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0
aWxzLnBtCkBAIC00NCw2ICs0NCw3IEBAIEJFR0lOIHsKICAgICAgICAgJmNoYW5nZUxvZ0VtYWls
QWRkcmVzcwogICAgICAgICAmY2hhbmdlTG9nTmFtZQogICAgICAgICAmY2hkaXJSZXR1cm5pbmdS
ZWxhdGl2ZVBhdGgKKyAgICAgICAgJmRlY29kZUdpdEJpbmFyeVBhdGNoCiAgICAgICAgICZkZXRl
cm1pbmVTVk5Sb290CiAgICAgICAgICZkZXRlcm1pbmVWQ1NSb290CiAgICAgICAgICZmaXhDaGFu
Z2VMb2dQYXRjaApAQCAtMzQ1LDggKzM0Niw2IEBAIHN1YiBnaXRkaWZmMnN2bmRpZmYoJCkKICAg
ICAkXyA9IHNoaWZ0IEBfOwogICAgIGlmIChtI15kaWZmIC0tZ2l0IGEvKC4rKSBiLyguKykjKSB7
CiAgICAgICAgIHJldHVybiAiSW5kZXg6ICQxIjsKLSAgICB9IGVsc2lmIChtL15uZXcgZmlsZS4q
LykgewotICAgICAgICByZXR1cm4gIiI7CiAgICAgfSBlbHNpZiAobSNeaW5kZXggWzAtOWEtZl17
N31cLlwuWzAtOWEtZl17N30gWzAtOV17Nn0jKSB7CiAgICAgICAgIHJldHVybiAiPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PSI7CiAgICAgfSBlbHNpZiAobSNeLS0tIGEvKC4rKSMpIHsKQEAgLTQ3NCw0ICs0NzMsMTAwIEBA
IHN1YiBjaGFuZ2VMb2dFbWFpbEFkZHJlc3MoKQogICAgIHJldHVybiAkZW1haWxBZGRyZXNzOwog
fQogCisjIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzE5MjQKK3N1YiBkZWNvZGVCYXNl
ODUoJCkKK3sKKyAgICBteSAoJGVuY29kZWQpID0gQF87CisgICAgbXkgJXRhYmxlOworICAgIG15
IEBjaGFyYWN0ZXJzID0gKCcwJy4uJzknLCAnQScuLidaJywgJ2EnLi4neicsICchJywgJyMnLCAn
JCcsICclJywgJyYnLCAnKCcsICcpJywgJyonLCAnKycsICctJywgJzsnLCAnPCcsICc9JywgJz4n
LCAnPycsICdAJywgJ14nLCAnXycsICdgJywgJ3snLCAnfCcsICd9JywgJ34nKTsKKyAgICBmb3Ig
KG15ICRpID0gMDsgJGkgPCA4NTsgJGkrKykgeworICAgICAgICAkdGFibGV7JGNoYXJhY3RlcnNb
JGldfSA9ICRpOworICAgIH0KKworICAgIG15ICRkZWNvZGVkID0gJyc7CisgICAgbXkgQGVuY29k
ZWRDaGFycyA9ICRlbmNvZGVkID1+IC8uL2c7CisKKyAgICBmb3IgKG15ICRlbmNvZGVkSXRlciA9
IDA7IGRlZmluZWQoJGVuY29kZWRDaGFyc1skZW5jb2RlZEl0ZXJdKTspIHsKKyAgICAgICAgbXkg
JGRpZ2l0ID0gMDsKKyAgICAgICAgZm9yIChteSAkaSA9IDA7ICRpIDwgNTsgJGkrKykgeworICAg
ICAgICAgICAgJGRpZ2l0ICo9IDg1OworICAgICAgICAgICAgbXkgJGNoYXIgPSAkZW5jb2RlZENo
YXJzWyRlbmNvZGVkSXRlcl07CisgICAgICAgICAgICAkZGlnaXQgKz0gJHRhYmxleyRjaGFyfTsK
KyAgICAgICAgICAgICRlbmNvZGVkSXRlcisrOworICAgICAgICB9CisKKyAgICAgICAgZm9yICht
eSAkaSA9IDA7ICRpIDwgNDsgJGkrKykgeworICAgICAgICAgICAgJGRlY29kZWQgLj0gY2hyKCgk
ZGlnaXQgPj4gKDMgLSAkaSkgKiA4KSAmIDI1NSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4gJGRlY29kZWQ7Cit9CisKK3N1YiBkZWNvZGVHaXRCaW5hcnlDaHVuaygkKQoreworICAg
IG15ICgkY29udGVudHMpID0gQF87CisKKyAgICAjIExvYWQgdGhpcyBtb2R1bGUgbGF6aWx5IGlu
IGNhc2UgdGhlIHVzZXIgZG9uJ3QgaGF2ZSB0aGlzIG1vZHVsZQorICAgICMgYW5kIHdvbid0IGhh
bmRsZSBnaXQgYmluYXJ5IHBhdGNoZXMuCisgICAgcmVxdWlyZSBDb21wcmVzczo6WmxpYjsKKwor
ICAgIG15ICRlbmNvZGVkID0gIiI7CisgICAgbXkgJGNvbXByZXNzZWRTaXplID0gMDsKKyAgICB3
aGlsZSAoJGNvbnRlbnRzID1+IC9eKFtBLVphLXpdKSguKikkL2dtKSB7CisgICAgICAgIG15ICRs
aW5lID0gJDI7CisgICAgICAgIG5leHQgaWYgJGxpbmUgZXEgIiI7CisgICAgICAgIHJldHVybiAo
IiIsICJVbmV4cGVjdGVkIHNpemUgb2YgYSBsaW5lOiAkJiIpIGlmIGxlbmd0aCgkMikgJSA1ICE9
IDA7CisgICAgICAgIG15ICRhY3R1YWxTaXplID0gbGVuZ3RoKCQyKSAvIDUgKiA0OworICAgICAg
ICBteSAkZW5jb2RlZEV4cGVjdGVkU2l6ZSA9IG9yZCgkMSk7CisgICAgICAgIG15ICRleHBlY3Rl
ZFNpemUgPSAkZW5jb2RlZEV4cGVjdGVkU2l6ZSA8PSBvcmQoIloiKSA/ICRlbmNvZGVkRXhwZWN0
ZWRTaXplIC0gb3JkKCJBIikgKyAxIDogJGVuY29kZWRFeHBlY3RlZFNpemUgLSBvcmQoImEiKSAr
IDI3OworCisgICAgICAgIHJldHVybiAoIiIsICJVbmV4cGVjdGVkIHNpemUgb2YgYSBsaW5lOiAk
JiIpIGlmIGludCgoJGV4cGVjdGVkU2l6ZSArIDMpIC8gNCkgKiA0ICE9ICRhY3R1YWxTaXplOwor
ICAgICAgICAkY29tcHJlc3NlZFNpemUgKz0gJGV4cGVjdGVkU2l6ZTsKKyAgICAgICAgJGVuY29k
ZWQgLj0gJGxpbmU7CisgICAgfQorCisgICAgbXkgJGNvbXByZXNzZWQgPSBkZWNvZGVCYXNlODUo
JGVuY29kZWQpOworICAgICRjb21wcmVzc2VkID0gc3Vic3RyKCRjb21wcmVzc2VkLCAwLCAkY29t
cHJlc3NlZFNpemUpOworICAgIHJldHVybiAoQ29tcHJlc3M6OlpsaWI6OnVuY29tcHJlc3MoJGNv
bXByZXNzZWQpLCAwKTsKK30KKworc3ViIGRlY29kZUdpdEJpbmFyeVBhdGNoKCQpCit7CisgICAg
bXkgKCRjb250ZW50cykgPSBAXzsKKworICAgICMgR2l0IGJpbmFyeSBwYXRjaCBoYXMgdHdvIGNo
dW5rcy4gT25lIGlzIGZvciB0aGUgbm9ybWFsIHBhdGNoaW5nCisgICAgIyBhbmQgYW5vdGhlciBp
cyBmb3IgdGhlIHJldmVyc2UgcGF0Y2hpbmcuCisgICAgIworICAgICMgRWFjaCBjaHVuayBhIGxp
bmUgd2hpY2ggc3RhcnRzIGZyb20gZWl0aGVyICJsaXRlcmFsIiBvciAiZGVsdGEiLAorICAgICMg
Zm9sbG93ZWQgYnkgYSBudW1iZXIgd2hpY2ggc3BlY2lmaWVzIGRlY29kZWQgc2l6ZSBvZiB0aGUg
Y2h1bmsuCisgICAgIyBUaGUgImRlbHRhIiB0eXBlIGNodW5rcyBhcmVuJ3Qgc3VwcG9ydGVkIGJ5
IHRoaXMgZnVuY3Rpb24geWV0LgorICAgICMKKyAgICAjIFRoZW4sIGNvbnRlbnQgb2YgdGhlIGNo
dW5rIGNvbWVzLiBUbyBkZWNvZGUgdGhlIGNvbnRlbnQsIHdlCisgICAgIyBuZWVkIGRlY29kZSBp
dCB3aXRoIGJhc2U4NSBmaXJzdCwgYW5kIHRoZW4gemxpYi4KKyAgICBteSAkZ2l0UGF0Y2hSZWdF
eHAgPSAnKGxpdGVyYWx8ZGVsdGEpIChbMC05XSspXG4oW0EtWmEtejAtOSEjJCUmKCkqKy07PD0+
P0BeX2B7fH1+XFxuXSo/KVxuXG4nOworICAgIGlmICgkY29udGVudHMgIX4gbSJcbkdJVCBiaW5h
cnkgcGF0Y2hcbiRnaXRQYXRjaFJlZ0V4cCRnaXRQYXRjaFJlZ0V4cFxaIikgeworICAgICAgICBy
ZXR1cm4gKCIiLCAiIiwgIlVua25vd24gZ2l0IGJpbmFyeSBwYXRjaCBmb3JtYXQiKTsKKyAgICB9
CisKKyAgICBteSAkYmluYXJ5Q2h1bmtUeXBlID0gJDE7CisgICAgbXkgJGJpbmFyeUNodW5rRXhw
ZWN0ZWRTaXplID0gJDI7CisgICAgbXkgJGVuY29kZWRDaHVuayA9ICQzOworICAgIG15ICRyZXZl
cnNlQmluYXJ5Q2h1bmtUeXBlID0gJDQ7CisgICAgbXkgJHJldmVyc2VCaW5hcnlDaHVua0V4cGVj
dGVkU2l6ZSA9ICQ1OworICAgIG15ICRlbmNvZGVkUmV2ZXJzZUNodW5rID0gJDY7CisKKyAgICBt
eSAoJGJpbmFyeUNodW5rLCAkZXJyb3IxKSA9IGRlY29kZUdpdEJpbmFyeUNodW5rKCRlbmNvZGVk
Q2h1bmspOworICAgIHJldHVybiAoIiIsICIiLCAkZXJyb3IxKSBpZiAkZXJyb3IxOworICAgIG15
ICRiaW5hcnlDaHVua0FjdHVhbFNpemUgPSBsZW5ndGgoJGJpbmFyeUNodW5rKTsKKyAgICBteSAo
JHJldmVyc2VCaW5hcnlDaHVuaywgJGVycm9yMikgPSBkZWNvZGVHaXRCaW5hcnlDaHVuaygkZW5j
b2RlZFJldmVyc2VDaHVuayk7CisgICAgcmV0dXJuICgiIiwgIiIsICRlcnJvcjIpIGlmICRlcnJv
cjI7CisgICAgbXkgJHJldmVyc2VCaW5hcnlDaHVua0FjdHVhbFNpemUgPSBsZW5ndGgoJHJldmVy
c2VCaW5hcnlDaHVuayk7CisKKyAgICByZXR1cm4gKCIiLCAiIiwgIlVuZXhwZWN0ZWQgc2l6ZSBv
ZiB0aGUgZmlyc3QgY2h1bmsgKGV4cGVjdGVkICRiaW5hcnlDaHVua0V4cGVjdGVkU2l6ZSBidXQg
d2FzICRiaW5hcnlDaHVua0FjdHVhbFNpemUiKSBpZiAoJGJpbmFyeUNodW5rRXhwZWN0ZWRTaXpl
ICE9ICRiaW5hcnlDaHVua0FjdHVhbFNpemUpOworICAgIHJldHVybiAoIiIsICIiLCAiVW5leHBl
Y3RlZCBzaXplIG9mIHRoZSBzZWNvbmQgY2h1bmsgKGV4cGVjdGVkICRyZXZlcnNlQmluYXJ5Q2h1
bmtFeHBlY3RlZFNpemUgYnV0IHdhcyAkcmV2ZXJzZUJpbmFyeUNodW5rQWN0dWFsU2l6ZSIpIGlm
ICgkcmV2ZXJzZUJpbmFyeUNodW5rRXhwZWN0ZWRTaXplICE9ICRyZXZlcnNlQmluYXJ5Q2h1bmtB
Y3R1YWxTaXplKTsKKworICAgIHJldHVybiAoJGJpbmFyeUNodW5rVHlwZSwgJGJpbmFyeUNodW5r
LCAkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSwgJHJldmVyc2VCaW5hcnlDaHVuaywgIiIpOworfQor
CiAxOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3N2bi1hcHBseQppbmRleCA0MjA0NjI1Li41M2I1ZDI3IDEwMDc1NQotLS0g
YS9XZWJLaXRUb29scy9TY3JpcHRzL3N2bi1hcHBseQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRz
L3N2bi1hcHBseQpAQCAtNTUsNyArNTUsNyBAQAogIyAgIE5vdGljZSBhIHBhdGNoIHRoYXQncyBi
ZWluZyBhcHBsaWVkIGF0IHRoZSAid3JvbmcgbGV2ZWwiIGFuZCBtYWtlIGl0IHdvcmsgYW55d2F5
LgogIyAgIERvIGEgZHJ5IHJ1biBvbiB0aGUgd2hvbGUgcGF0Y2ggYW5kIGRvbid0IGRvIGFueXRo
aW5nIGlmIHBhcnQgb2YgdGhlIHBhdGNoIGlzCiAjICAgICAgIGdvaW5nIHRvIGZhaWwgKHByb2Jh
Ymx5IHRvbyBzdHJpY3QgdW5sZXNzIHdlIGV4Y2x1ZGUgQ2hhbmdlTG9nKS4KLSMgICBIYW5kbGUg
Z2l0LWRpZmYgcGF0Y2hlcyB3aXRoIGJpbmFyeSBjaGFuZ2VzCisjICAgSGFuZGxlIGdpdC1kaWZm
IHBhdGNoZXMgd2l0aCBiaW5hcnkgZGVsdGEKIAogdXNlIHN0cmljdDsKIHVzZSB3YXJuaW5nczsK
QEAgLTc1LDYgKzc1LDcgQEAgc3ViIGFkZERpcmVjdG9yaWVzSWZOZWVkZWQoJCk7CiBzdWIgYXBw
bHlQYXRjaCgkJDskKTsKIHN1YiBjaGVja3N1bSgkKTsKIHN1YiBoYW5kbGVCaW5hcnlDaGFuZ2Uo
JCQpOworc3ViIGhhbmRsZUdpdEJpbmFyeUNoYW5nZSgkJCk7CiBzdWIgaXNEaXJlY3RvcnlFbXB0
eUZvclJlbW92YWwoJCk7CiBzdWIgcGF0Y2goJCk7CiBzdWIgcmVtb3ZlRGlyZWN0b3JpZXNJZk5l
ZWRlZCgpOwpAQCAtMjc2LDYgKzI3Nyw0MCBAQCBzdWIgaGFuZGxlQmluYXJ5Q2hhbmdlKCQkKQog
ICAgIH0KIH0KIAorc3ViIGhhbmRsZUdpdEJpbmFyeUNoYW5nZSgkJCkKK3sKKyAgICBteSAoJGZ1
bGxQYXRoLCAkY29udGVudHMpID0gQF87CisKKyAgICBteSAoJGJpbmFyeUNodW5rVHlwZSwgJGJp
bmFyeUNodW5rLCAkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSwgJHJldmVyc2VCaW5hcnlDaHVuaywg
JGVycm9yKSA9IGRlY29kZUdpdEJpbmFyeVBhdGNoKCRjb250ZW50cyk7CisgICAgZGllICJFcnJv
ciBpbiAkZnVsbFBhdGg6ICRlcnJvciIgaWYgJGVycm9yOworICAgICMgRklYTUU6IHN1cHBvcnQg
ImRlbHRhIiB0eXBlLgorICAgIGRpZSAib25seSBsaXRlcmFsIHR5cGUgaXMgc3VwcG9ydGVkIG5v
dyIgaWYgKCRiaW5hcnlDaHVua1R5cGUgbmUgImxpdGVyYWwiIHx8ICRyZXZlcnNlQmluYXJ5Q2h1
bmtUeXBlIG5lICJsaXRlcmFsIik7CisKKyAgICBteSAkaXNGaWxlQWRkaXRpb24gPSAkY29udGVu
dHMgPX4gL1xubmV3IGZpbGUgbW9kZSBcZCtcbi87CisgICAgbXkgJGlzRmlsZURlbGV0aW9uID0g
JGNvbnRlbnRzID1+IC9cbmRlbGV0ZWQgZmlsZSBtb2RlIFxkK1xuLzsKKworICAgIG15ICRvcmln
Q29udGVudHMgPSAiIjsKKyAgICBpZiAob3BlbiBGSUxFLCAkZnVsbFBhdGgpIHsKKyAgICAgICAg
ZGllICIkZnVsbFBhdGggYWxyZWFkeSBleGlzdHMiIGlmICRpc0ZpbGVBZGRpdGlvbjsKKworICAg
ICAgICAkb3JpZ0NvbnRlbnRzID0gam9pbigiIiwgPEZJTEU+KTsKKyAgICAgICAgY2xvc2UgRklM
RTsKKyAgICB9CisgICAgZGllICJPcmlnaW5hbCBjb250ZW50IG9mICRmdWxsUGF0aCBtaXNtYXRj
aGVzIiBpZiAkb3JpZ0NvbnRlbnRzIG5lICRyZXZlcnNlQmluYXJ5Q2h1bms7CisKKyAgICBpZiAo
JGlzRmlsZURlbGV0aW9uKSB7CisgICAgICAgIHNjbVJlbW92ZSgkZnVsbFBhdGgpOworICAgIH0g
ZWxzZSB7CisgICAgICAgICMgQWRkaXRpb24gb3IgTW9kaWZpY2F0aW9uCisgICAgICAgIG9wZW4g
RklMRSwgIj4iLCAkZnVsbFBhdGggb3IgZGllICJGYWlsZWQgdG8gb3BlbiAkZnVsbFBhdGguIjsK
KyAgICAgICAgcHJpbnQgRklMRSAkYmluYXJ5Q2h1bms7CisgICAgICAgIGNsb3NlIEZJTEU7Cisg
ICAgICAgIGlmICgkaXNGaWxlQWRkaXRpb24pIHsKKyAgICAgICAgICAgIHNjbUFkZCgkZnVsbFBh
dGgpOworICAgICAgICB9CisgICAgfQorfQorCiBzdWIgaXNEaXJlY3RvcnlFbXB0eUZvclJlbW92
YWwoJCkKIHsKICAgICBteSAoJGRpcikgPSBAXzsKQEAgLTMxMCwxMiArMzQ1LDE0IEBAIHN1YiBw
YXRjaCgkKQogICAgIG15ICRkZWxldGlvbiA9IDA7CiAgICAgbXkgJGFkZGl0aW9uID0gMDsKICAg
ICBteSAkaXNCaW5hcnkgPSAwOworICAgIG15ICRpc0dpdEJpbmFyeSA9IDA7CiAKICAgICAkYWRk
aXRpb24gPSAxIGlmICgkcGF0Y2ggPX4gL1xuLS0tIC4rXChyZXZpc2lvbiAwXClccj9cbi8gfHwg
JHBhdGNoID1+IC9cbkBAIC0wLDAgLiogQEAvKSAmJiAhZXhpc3RzKCRjb3BpZWRGaWxlc3skZnVs
bFBhdGh9KTsKICAgICAkZGVsZXRpb24gPSAxIGlmICRwYXRjaCA9fiAvXG5AQCAuKiBcKzAsMCBA
QC87CiAgICAgJGlzQmluYXJ5ID0gMSBpZiAkcGF0Y2ggPX4gL1xuQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGVcLi87CisgICAgJGlzR2l0QmluYXJ5ID0gMSBpZiAk
cGF0Y2ggPX4gL1xuR0lUIGJpbmFyeSBwYXRjaFxuLzsKIAotICAgIGlmICghJGFkZGl0aW9uICYm
ICEkZGVsZXRpb24gJiYgISRpc0JpbmFyeSkgeworICAgIGlmICghJGFkZGl0aW9uICYmICEkZGVs
ZXRpb24gJiYgISRpc0JpbmFyeSAmJiAhJGlzR2l0QmluYXJ5KSB7CiAgICAgICAgICMgU3RhbmRh
cmQgcGF0Y2gsIHBhdGNoIHRvb2wgY2FuIGhhbmRsZSB0aGlzLgogICAgICAgICBpZiAoYmFzZW5h
bWUoJGZ1bGxQYXRoKSBlcSAiQ2hhbmdlTG9nIikgewogICAgICAgICAgICAgbXkgJGNoYW5nZUxv
Z0RvdE9yaWdFeGlzdGVkID0gLWYgIiR7ZnVsbFBhdGh9Lm9yaWciOwpAQCAtMzMyLDYgKzM2OSw5
IEBAIHN1YiBwYXRjaCgkKQogICAgICAgICBpZiAoJGlzQmluYXJ5KSB7CiAgICAgICAgICAgICAj
IEJpbmFyeSBjaGFuZ2UKICAgICAgICAgICAgIGhhbmRsZUJpbmFyeUNoYW5nZSgkZnVsbFBhdGgs
ICRwYXRjaCk7CisgICAgICAgIH0gZWxzaWYgKCRpc0dpdEJpbmFyeSkgeworICAgICAgICAgICAg
IyBHaXQgYmluYXJ5IGNoYW5nZQorICAgICAgICAgICAgaGFuZGxlR2l0QmluYXJ5Q2hhbmdlKCRm
dWxsUGF0aCwgJHBhdGNoKTsKICAgICAgICAgfSBlbHNpZiAoJGRlbGV0aW9uKSB7CiAgICAgICAg
ICAgICAjIERlbGV0aW9uCiAgICAgICAgICAgICBhcHBseVBhdGNoKCRwYXRjaCwgJGZ1bGxQYXRo
LCBbIi0tZm9yY2UiXSk7
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42990</attachid>
            <date>2009-11-11 12:46:30 -0800</date>
            <delta_ts>2009-11-11 20:19:31 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-26830-20091112054628.patch</filename>
            <type>text/plain</type>
            <size>12766</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5NTc4YmRjLi5kZjk3Nzk1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMTEt
MTEgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzdm4tYXBwbHkgY2FuIG5vdCBo
YW5kbGUgZ2l0IGJpbmFyeSBkaWZmcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjY4MzAKKworICAgICAgICBTdXBwb3J0ICJsaXRlcmFsIiB0eXBlIGdp
dCBiaW5hcnkgZGlmZnMuCisKKyAgICAgICAgKiBTY3JpcHRzL1ZDU1V0aWxzLnBtOgorICAgICAg
ICAqIFNjcmlwdHMvbW9kdWxlcy9zY21fdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy9z
dm4tYXBwbHk6CisKIDIwMDktMTEtMTAgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy9WQ1NVdGlscy5wbSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KaW5k
ZXggYWJmNzMzNS4uNzYzODEwMiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NV
dGlscy5wbQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCkBAIC00NCw2ICs0
NCw3IEBAIEJFR0lOIHsKICAgICAgICAgJmNoYW5nZUxvZ0VtYWlsQWRkcmVzcwogICAgICAgICAm
Y2hhbmdlTG9nTmFtZQogICAgICAgICAmY2hkaXJSZXR1cm5pbmdSZWxhdGl2ZVBhdGgKKyAgICAg
ICAgJmRlY29kZUdpdEJpbmFyeVBhdGNoCiAgICAgICAgICZkZXRlcm1pbmVTVk5Sb290CiAgICAg
ICAgICZkZXRlcm1pbmVWQ1NSb290CiAgICAgICAgICZmaXhDaGFuZ2VMb2dQYXRjaApAQCAtMzQ1
LDggKzM0Niw2IEBAIHN1YiBnaXRkaWZmMnN2bmRpZmYoJCkKICAgICAkXyA9IHNoaWZ0IEBfOwog
ICAgIGlmIChtI15kaWZmIC0tZ2l0IGEvKC4rKSBiLyguKykjKSB7CiAgICAgICAgIHJldHVybiAi
SW5kZXg6ICQxIjsKLSAgICB9IGVsc2lmIChtL15uZXcgZmlsZS4qLykgewotICAgICAgICByZXR1
cm4gIiI7CiAgICAgfSBlbHNpZiAobSNeaW5kZXggWzAtOWEtZl17N31cLlwuWzAtOWEtZl17N30g
WzAtOV17Nn0jKSB7CiAgICAgICAgIHJldHVybiAiPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSI7CiAgICAgfSBlbHNpZiAo
bSNeLS0tIGEvKC4rKSMpIHsKQEAgLTQ3NCw0ICs0NzMsOTggQEAgc3ViIGNoYW5nZUxvZ0VtYWls
QWRkcmVzcygpCiAgICAgcmV0dXJuICRlbWFpbEFkZHJlc3M7CiB9CiAKKyMgaHR0cDovL3Rvb2xz
LmlldGYub3JnL2h0bWwvcmZjMTkyNAorc3ViIGRlY29kZUJhc2U4NSgkKQoreworICAgIG15ICgk
ZW5jb2RlZCkgPSBAXzsKKyAgICBteSAldGFibGU7CisgICAgbXkgQGNoYXJhY3RlcnMgPSAoJzAn
Li4nOScsICdBJy4uJ1onLCAnYScuLid6JywgJyEnLCAnIycsICckJywgJyUnLCAnJicsICcoJywg
JyknLCAnKicsICcrJywgJy0nLCAnOycsICc8JywgJz0nLCAnPicsICc/JywgJ0AnLCAnXicsICdf
JywgJ2AnLCAneycsICd8JywgJ30nLCAnficpOworICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDg1
OyAkaSsrKSB7CisgICAgICAgICR0YWJsZXskY2hhcmFjdGVyc1skaV19ID0gJGk7CisgICAgfQor
CisgICAgbXkgJGRlY29kZWQgPSAnJzsKKyAgICBteSBAZW5jb2RlZENoYXJzID0gJGVuY29kZWQg
PX4gLy4vZzsKKworICAgIGZvciAobXkgJGVuY29kZWRJdGVyID0gMDsgZGVmaW5lZCgkZW5jb2Rl
ZENoYXJzWyRlbmNvZGVkSXRlcl0pOykgeworICAgICAgICBteSAkZGlnaXQgPSAwOworICAgICAg
ICBmb3IgKG15ICRpID0gMDsgJGkgPCA1OyAkaSsrKSB7CisgICAgICAgICAgICAkZGlnaXQgKj0g
ODU7CisgICAgICAgICAgICBteSAkY2hhciA9ICRlbmNvZGVkQ2hhcnNbJGVuY29kZWRJdGVyXTsK
KyAgICAgICAgICAgICRkaWdpdCArPSAkdGFibGV7JGNoYXJ9OworICAgICAgICAgICAgJGVuY29k
ZWRJdGVyKys7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKG15ICRpID0gMDsgJGkgPCA0OyAk
aSsrKSB7CisgICAgICAgICAgICAkZGVjb2RlZCAuPSBjaHIoKCRkaWdpdCA+PiAoMyAtICRpKSAq
IDgpICYgMjU1KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiAkZGVjb2RlZDsKK30K
Kworc3ViIGRlY29kZUdpdEJpbmFyeUNodW5rKCQkKQoreworICAgIG15ICgkY29udGVudHMsICRm
dWxsUGF0aCkgPSBAXzsKKworICAgICMgTG9hZCB0aGlzIG1vZHVsZSBsYXppbHkgaW4gY2FzZSB0
aGUgdXNlciBkb24ndCBoYXZlIHRoaXMgbW9kdWxlCisgICAgIyBhbmQgd29uJ3QgaGFuZGxlIGdp
dCBiaW5hcnkgcGF0Y2hlcy4KKyAgICByZXF1aXJlIENvbXByZXNzOjpabGliOworCisgICAgbXkg
JGVuY29kZWQgPSAiIjsKKyAgICBteSAkY29tcHJlc3NlZFNpemUgPSAwOworICAgIHdoaWxlICgk
Y29udGVudHMgPX4gL14oW0EtWmEtel0pKC4qKSQvZ20pIHsKKyAgICAgICAgbXkgJGxpbmUgPSAk
MjsKKyAgICAgICAgbmV4dCBpZiAkbGluZSBlcSAiIjsKKyAgICAgICAgZGllICIkZnVsbFBhdGg6
IHVuZXhwZWN0ZWQgc2l6ZSBvZiBhIGxpbmU6ICQmIiBpZiBsZW5ndGgoJDIpICUgNSAhPSAwOwor
ICAgICAgICBteSAkYWN0dWFsU2l6ZSA9IGxlbmd0aCgkMikgLyA1ICogNDsKKyAgICAgICAgbXkg
JGVuY29kZWRFeHBlY3RlZFNpemUgPSBvcmQoJDEpOworICAgICAgICBteSAkZXhwZWN0ZWRTaXpl
ID0gJGVuY29kZWRFeHBlY3RlZFNpemUgPD0gb3JkKCJaIikgPyAkZW5jb2RlZEV4cGVjdGVkU2l6
ZSAtIG9yZCgiQSIpICsgMSA6ICRlbmNvZGVkRXhwZWN0ZWRTaXplIC0gb3JkKCJhIikgKyAyNzsK
KworICAgICAgICBkaWUgIiRmdWxsUGF0aDogdW5leHBlY3RlZCBzaXplIG9mIGEgbGluZTogJCYi
IGlmIGludCgoJGV4cGVjdGVkU2l6ZSArIDMpIC8gNCkgKiA0ICE9ICRhY3R1YWxTaXplOworICAg
ICAgICAkY29tcHJlc3NlZFNpemUgKz0gJGV4cGVjdGVkU2l6ZTsKKyAgICAgICAgJGVuY29kZWQg
Lj0gJGxpbmU7CisgICAgfQorCisgICAgbXkgJGNvbXByZXNzZWQgPSBkZWNvZGVCYXNlODUoJGVu
Y29kZWQpOworICAgICRjb21wcmVzc2VkID0gc3Vic3RyKCRjb21wcmVzc2VkLCAwLCAkY29tcHJl
c3NlZFNpemUpOworICAgIHJldHVybiBDb21wcmVzczo6WmxpYjo6dW5jb21wcmVzcygkY29tcHJl
c3NlZCk7Cit9CisKK3N1YiBkZWNvZGVHaXRCaW5hcnlQYXRjaCgkJCkKK3sKKyAgICBteSAoJGNv
bnRlbnRzLCAkZnVsbFBhdGgpID0gQF87CisKKyAgICAjIEdpdCBiaW5hcnkgcGF0Y2ggaGFzIHR3
byBjaHVua3MuIE9uZSBpcyBmb3IgdGhlIG5vcm1hbCBwYXRjaGluZworICAgICMgYW5kIGFub3Ro
ZXIgaXMgZm9yIHRoZSByZXZlcnNlIHBhdGNoaW5nLgorICAgICMKKyAgICAjIEVhY2ggY2h1bmsg
YSBsaW5lIHdoaWNoIHN0YXJ0cyBmcm9tIGVpdGhlciAibGl0ZXJhbCIgb3IgImRlbHRhIiwKKyAg
ICAjIGZvbGxvd2VkIGJ5IGEgbnVtYmVyIHdoaWNoIHNwZWNpZmllcyBkZWNvZGVkIHNpemUgb2Yg
dGhlIGNodW5rLgorICAgICMgVGhlICJkZWx0YSIgdHlwZSBjaHVua3MgYXJlbid0IHN1cHBvcnRl
ZCBieSB0aGlzIGZ1bmN0aW9uIHlldC4KKyAgICAjCisgICAgIyBUaGVuLCBjb250ZW50IG9mIHRo
ZSBjaHVuayBjb21lcy4gVG8gZGVjb2RlIHRoZSBjb250ZW50LCB3ZQorICAgICMgbmVlZCBkZWNv
ZGUgaXQgd2l0aCBiYXNlODUgZmlyc3QsIGFuZCB0aGVuIHpsaWIuCisgICAgbXkgJGdpdFBhdGNo
UmVnRXhwID0gJyhsaXRlcmFsfGRlbHRhKSAoWzAtOV0rKVxuKFtBLVphLXowLTkhIyQlJigpKist
Ozw9Pj9AXl9ge3x9flxcbl0qPylcblxuJzsKKyAgICBpZiAoJGNvbnRlbnRzICF+IG0iXG5HSVQg
YmluYXJ5IHBhdGNoXG4kZ2l0UGF0Y2hSZWdFeHAkZ2l0UGF0Y2hSZWdFeHBcWiIpIHsKKyAgICAg
ICAgZGllICIkZnVsbFBhdGg6IHVua25vd24gZ2l0IGJpbmFyeSBwYXRjaCBmb3JtYXQiCisgICAg
fQorCisgICAgbXkgJGJpbmFyeUNodW5rVHlwZSA9ICQxOworICAgIG15ICRiaW5hcnlDaHVua0V4
cGVjdGVkU2l6ZSA9ICQyOworICAgIG15ICRlbmNvZGVkQ2h1bmsgPSAkMzsKKyAgICBteSAkcmV2
ZXJzZUJpbmFyeUNodW5rVHlwZSA9ICQ0OworICAgIG15ICRyZXZlcnNlQmluYXJ5Q2h1bmtFeHBl
Y3RlZFNpemUgPSAkNTsKKyAgICBteSAkZW5jb2RlZFJldmVyc2VDaHVuayA9ICQ2OworCisgICAg
bXkgJGJpbmFyeUNodW5rID0gZGVjb2RlR2l0QmluYXJ5Q2h1bmsoJGVuY29kZWRDaHVuaywgJGZ1
bGxQYXRoKTsKKyAgICBteSAkYmluYXJ5Q2h1bmtBY3R1YWxTaXplID0gbGVuZ3RoKCRiaW5hcnlD
aHVuayk7CisgICAgbXkgJHJldmVyc2VCaW5hcnlDaHVuayA9IGRlY29kZUdpdEJpbmFyeUNodW5r
KCRlbmNvZGVkUmV2ZXJzZUNodW5rLCAkZnVsbFBhdGgpOworICAgIG15ICRyZXZlcnNlQmluYXJ5
Q2h1bmtBY3R1YWxTaXplID0gbGVuZ3RoKCRyZXZlcnNlQmluYXJ5Q2h1bmspOworCisgICAgZGll
ICIkZnVsbFBhdGg6IHVuZXhwZWN0ZWQgc2l6ZSBvZiB0aGUgZmlyc3QgY2h1bmsgKGV4cGVjdGVk
ICRiaW5hcnlDaHVua0V4cGVjdGVkU2l6ZSBidXQgd2FzICRiaW5hcnlDaHVua0FjdHVhbFNpemUi
IGlmICgkYmluYXJ5Q2h1bmtFeHBlY3RlZFNpemUgIT0gJGJpbmFyeUNodW5rQWN0dWFsU2l6ZSk7
CisgICAgZGllICIkZnVsbFBhdGg6IHVuZXhwZWN0ZWQgc2l6ZSBvZiB0aGUgc2Vjb25kIGNodW5r
IChleHBlY3RlZCAkcmV2ZXJzZUJpbmFyeUNodW5rRXhwZWN0ZWRTaXplIGJ1dCB3YXMgJHJldmVy
c2VCaW5hcnlDaHVua0FjdHVhbFNpemUiIGlmICgkcmV2ZXJzZUJpbmFyeUNodW5rRXhwZWN0ZWRT
aXplICE9ICRyZXZlcnNlQmluYXJ5Q2h1bmtBY3R1YWxTaXplKTsKKworICAgIHJldHVybiAoJGJp
bmFyeUNodW5rVHlwZSwgJGJpbmFyeUNodW5rLCAkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSwgJHJl
dmVyc2VCaW5hcnlDaHVuayk7Cit9CisKIDE7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3Jp
cHRzL21vZHVsZXMvc2NtX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVz
L3NjbV91bml0dGVzdC5weQppbmRleCBhNmEzYjcxLi4zZjg2ZWY1IDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9TY3JpcHRzL21vZHVsZXMvc2NtX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9zY21fdW5pdHRlc3QucHkKQEAgLTI5LDYgKzI5LDcgQEAKIAogaW1w
b3J0IGJhc2U2NAogaW1wb3J0IG9zCitpbXBvcnQgb3MucGF0aAogaW1wb3J0IHJlCiBpbXBvcnQg
c3RhdAogaW1wb3J0IHN1YnByb2Nlc3MKQEAgLTIwMyw2ICsyMDQsODMgQEAgY2xhc3MgU0NNVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5zZWFyY2go
J3Rlc3QyJywgcjNfcGF0Y2gpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUuc2VhcmNoKCd0
ZXN0MicsIHNlbGYuc2NtLmRpZmZfZm9yX3JldmlzaW9uKDIpKSkKIAorICAgIGRlZiBfc2hhcmVk
X3Rlc3Rfc3ZuX2FwcGx5X2dpdF9wYXRjaChzZWxmKToKKyAgICAgICAgc2VsZi5fc2V0dXBfd2Vi
a2l0dG9vbHNfc2NyaXB0c19zeW1saW5rKHNlbGYuc2NtKQorICAgICAgICBnaXRfYmluYXJ5X2Fk
ZGl0aW9uID0gIiIiZGlmZiAtLWdpdCBhL2ZpenpidXp6Ny5naWYgYi9maXp6YnV6ejcuZ2lmCitu
ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjRhOTUzMmU3Nzk0ZmNkNzkxZjZmMTIxNTc0MDZkOTAKKzYwMTUxNjkwCitH
SVQgYmluYXJ5IHBhdGNoCitsaXRlcmFsIDUxMgoremNtWj93YmhFSGJSQXh8TVV8P2lXe0t4Y34/
S29mRDtja1k7SCsmNUhuSGwhIUdRTUQ3aCtzVXtfKWU5Zl5WM2M/Cit6aEpQIyNIZFpDIzRLfTdG
NjhAITFqZldRZzJkYUNtLWdzIzN8SlJFRFQ+YytwRzRMPF8yO3cjI1dNTyN5c1BQYXAKK3pMcXBB
ZjFPRTkzOHhBc1NwNCE1Zi1vPjw/VktlKCMwakVjd2ZIR0Y0JU0xXmtSczE0b1ZCcDJaRUx7RTFO
PC16SgorenNmTG1PdEt0YTsyXzsyYyNeUzEtOGNmPG5iIVFuR2w+YyFYZTZSWHZyRXRBV0J2U0RU
Z1RPMWozdkEzMVB1dyFBCit6cyg4N3Epal9tVkRUcUJvLVArMDMtUDVtSENFbkoreH1ZZEN1Uzcj
YkNDeWVQVWUoeW5LK3w0Yi0zcUspVD9aJikKK3pZRytgdGw0aD9HWnZfJHQ4Mn1YNCpEVEV8JDt7
REVpUHlGQClVLTErRmFYKytUOUh7JiVjYWdgVzF8elZQQGAlYgorenFpU2twNntCVHBXVGtDciE9
PEM2UT0/I35SOF5KZnJsaUFGNlFeZ1Y5SXVwOFJxQ1hxcWhxQ2Bxc3loazwtbmxCCit6MDBme1Fa
dmZLJnxObSNvWjBUUWxgWXIkQklhNkFAMTZPMjZ1ZDdIPFFNPXhsYHRvTEtuei0zaEA5YzlxJndt
fFgKK3p7ODlJfFdQeUQhKk0/Z3Y/cWA7TD0yWUZlWHJKUU50aTQ/fXMhekZvPTVDemVCeEM2OXhB
PHpyalA8d1VjQ1JoNAorcHRVbC1aRzwlYX4jTHdrSVd2JnEhS1NDSDd0UThjSkRpdyt8R1Y/TU4p
UmpZNTBSVGIteHZUJkgKKworbGl0ZXJhbCAwCitIY21WP2QwMDAwMQorCisiIiIKKyAgICAgICAg
c2VsZi5zY20uYXBwbHlfcGF0Y2goc2VsZi5fY3JlYXRlX3BhdGNoKGdpdF9iaW5hcnlfYWRkaXRp
b24pKQorICAgICAgICBhZGRlZCA9IHJlYWRfZnJvbV9wYXRoKCdmaXp6YnV6ejcuZ2lmJykKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCg1MTIsIGxlbihhZGRlZCkpCisgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShhZGRlZC5zdGFydHN3aXRoKCdHSUY4OWEnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKCdmaXp6YnV6ejcuZ2lmJyBpbiBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKCkpCisKKyAgICAg
ICAgIyBUaGUgZmlsZSBhbHJlYWR5IGV4aXN0cy4KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMo
U2NyaXB0RXJyb3IsIHNlbGYuc2NtLmFwcGx5X3BhdGNoLCBzZWxmLl9jcmVhdGVfcGF0Y2goZ2l0
X2JpbmFyeV9hZGRpdGlvbikpCisKKyAgICAgICAgZ2l0X2JpbmFyeV9tb2RpZmljYXRpb24gPSAi
IiJkaWZmIC0tZ2l0IGEvZml6emJ1eno3LmdpZiBiL2ZpenpidXp6Ny5naWYKK2luZGV4IDY0YTk1
MzJlNzc5NGZjZDc5MWY2ZjEyMTU3NDA2ZDkwNjAxNTE2OTAuLjMyM2ZhZTAzZjQ2MDZlYTk5OTFk
ZjhiZWZiYjJmY2E3CitHSVQgYmluYXJ5IHBhdGNoCitsaXRlcmFsIDcKK09jbVlleCZyZUQkO3NP
OCpGOUwpQgorCitsaXRlcmFsIDUxMgoremNtWj93YmhFSGJSQXh8TVV8P2lXe0t4Y34/S29mRDtj
a1k7SCsmNUhuSGwhIUdRTUQ3aCtzVXtfKWU5Zl5WM2M/Cit6aEpQIyNIZFpDIzRLfTdGNjhAITFq
ZldRZzJkYUNtLWdzIzN8SlJFRFQ+YytwRzRMPF8yO3cjI1dNTyN5c1BQYXAKK3pMcXBBZjFPRTkz
OHhBc1NwNCE1Zi1vPjw/VktlKCMwakVjd2ZIR0Y0JU0xXmtSczE0b1ZCcDJaRUx7RTFOPC16Sgor
enNmTG1PdEt0YTsyXzsyYyNeUzEtOGNmPG5iIVFuR2w+YyFYZTZSWHZyRXRBV0J2U0RUZ1RPMWoz
dkEzMVB1dyFBCit6cyg4N3Epal9tVkRUcUJvLVArMDMtUDVtSENFbkoreH1ZZEN1UzcjYkNDeWVQ
VWUoeW5LK3w0Yi0zcUspVD9aJikKK3pZRytgdGw0aD9HWnZfJHQ4Mn1YNCpEVEV8JDt7REVpUHlG
QClVLTErRmFYKytUOUh7JiVjYWdgVzF8elZQQGAlYgorenFpU2twNntCVHBXVGtDciE9PEM2UT0/
I35SOF5KZnJsaUFGNlFeZ1Y5SXVwOFJxQ1hxcWhxQ2Bxc3loazwtbmxCCit6MDBme1FadmZLJnxO
bSNvWjBUUWxgWXIkQklhNkFAMTZPMjZ1ZDdIPFFNPXhsYHRvTEtuei0zaEA5YzlxJndtfFgKK3p7
ODlJfFdQeUQhKk0/Z3Y/cWA7TD0yWUZlWHJKUU50aTQ/fXMhekZvPTVDemVCeEM2OXhBPHpyalA8
d1VjQ1JoNAorcHRVbC1aRzwlYX4jTHdrSVd2JnEhS1NDSDd0UThjSkRpdyt8R1Y/TU4pUmpZNTBS
VGIteHZUJkgKKworIiIiCisgICAgICAgIHNlbGYuc2NtLmFwcGx5X3BhdGNoKHNlbGYuX2NyZWF0
ZV9wYXRjaChnaXRfYmluYXJ5X21vZGlmaWNhdGlvbikpCisgICAgICAgIG1vZGlmaWVkID0gcmVh
ZF9mcm9tX3BhdGgoJ2ZpenpidXp6Ny5naWYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdm
b29iYXJcbicsIG1vZGlmaWVkKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJ2ZpenpidXp6Ny5n
aWYnIGluIHNlbGYuc2NtLmNoYW5nZWRfZmlsZXMoKSkKKworICAgICAgICAjIEFwcGx5aW5nIHRo
ZSBzYW1lIG1vZGlmaWNhdGlvbiBzaG91bGQgZmFpbC4KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlz
ZXMoU2NyaXB0RXJyb3IsIHNlbGYuc2NtLmFwcGx5X3BhdGNoLCBzZWxmLl9jcmVhdGVfcGF0Y2go
Z2l0X2JpbmFyeV9tb2RpZmljYXRpb24pKQorCisgICAgICAgIGdpdF9iaW5hcnlfZGVsZXRpb24g
PSAiIiJkaWZmIC0tZ2l0IGEvZml6emJ1eno3LmdpZiBiL2ZpenpidXp6Ny5naWYKK2RlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMzIzZmFlMC4uMDAwMDAwMAorR0lUIGJpbmFyeSBwYXRj
aAorbGl0ZXJhbCAwCitIY21WP2QwMDAwMQorCitsaXRlcmFsIDcKK09jbVlleCZyZUQkO3NPOCpG
OUwpQgorCisiIiIKKyAgICAgICAgc2VsZi5zY20uYXBwbHlfcGF0Y2goc2VsZi5fY3JlYXRlX3Bh
dGNoKGdpdF9iaW5hcnlfZGVsZXRpb24pKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBh
dGguZXhpc3RzKCdmaXp6YnV6ejcuZ2lmJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ2Zp
enpidXp6Ny5naWYnIGluIHNlbGYuc2NtLmNoYW5nZWRfZmlsZXMoKSkKKworICAgICAgICAjIENh
bm5vdCBkZWxldGUgYWdhaW4uCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFNjcmlwdEVycm9y
LCBzZWxmLnNjbS5hcHBseV9wYXRjaCwgc2VsZi5fY3JlYXRlX3BhdGNoKGdpdF9iaW5hcnlfZGVs
ZXRpb24pKQorCiAKIGNsYXNzIFNWTlRlc3QoU0NNVGVzdCk6CiAKQEAgLTM4Nyw2ICs0NjUsOCBA
QCBRMWRUQngwQUFBQjQyaXRnNEdsZ1lKakd3TUREeU9ETXhNRHczNEdCZ1FFQUpQUURKQT09CiAg
ICAgZGVmIHRlc3RfZGlmZl9mb3JfcmV2aXNpb24oc2VsZik6CiAgICAgICAgIHNlbGYuX3NoYXJl
ZF90ZXN0X2RpZmZfZm9yX3JldmlzaW9uKCkKIAorICAgIGRlZiB0ZXN0X3N2bl9hcHBseV9naXRf
cGF0Y2goc2VsZik6CisgICAgICAgIHNlbGYuX3NoYXJlZF90ZXN0X3N2bl9hcHBseV9naXRfcGF0
Y2goKQogCiBjbGFzcyBHaXRUZXN0KFNDTVRlc3QpOgogCkBAIC00NzcsNSArNTU3LDggQEAgY2xh
c3MgR2l0VGVzdChTQ01UZXN0KToKICAgICBkZWYgdGVzdF9kaWZmX2Zvcl9yZXZpc2lvbihzZWxm
KToKICAgICAgICAgc2VsZi5fc2hhcmVkX3Rlc3RfZGlmZl9mb3JfcmV2aXNpb24oKQogCisgICAg
ZGVmIHRlc3Rfc3ZuX2FwcGx5X2dpdF9wYXRjaChzZWxmKToKKyAgICAgICAgc2VsZi5fc2hhcmVk
X3Rlc3Rfc3ZuX2FwcGx5X2dpdF9wYXRjaCgpCisKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6
CiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3N2
bi1hcHBseSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CmluZGV4IDQyMDQ2MjUuLjAz
NzNhYTUgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CkBAIC01NSw3ICs1NSw3IEBACiAjICAgTm90aWNl
IGEgcGF0Y2ggdGhhdCdzIGJlaW5nIGFwcGxpZWQgYXQgdGhlICJ3cm9uZyBsZXZlbCIgYW5kIG1h
a2UgaXQgd29yayBhbnl3YXkuCiAjICAgRG8gYSBkcnkgcnVuIG9uIHRoZSB3aG9sZSBwYXRjaCBh
bmQgZG9uJ3QgZG8gYW55dGhpbmcgaWYgcGFydCBvZiB0aGUgcGF0Y2ggaXMKICMgICAgICAgZ29p
bmcgdG8gZmFpbCAocHJvYmFibHkgdG9vIHN0cmljdCB1bmxlc3Mgd2UgZXhjbHVkZSBDaGFuZ2VM
b2cpLgotIyAgIEhhbmRsZSBnaXQtZGlmZiBwYXRjaGVzIHdpdGggYmluYXJ5IGNoYW5nZXMKKyMg
ICBIYW5kbGUgZ2l0LWRpZmYgcGF0Y2hlcyB3aXRoIGJpbmFyeSBkZWx0YQogCiB1c2Ugc3RyaWN0
OwogdXNlIHdhcm5pbmdzOwpAQCAtNzUsNiArNzUsNyBAQCBzdWIgYWRkRGlyZWN0b3JpZXNJZk5l
ZWRlZCgkKTsKIHN1YiBhcHBseVBhdGNoKCQkOyQpOwogc3ViIGNoZWNrc3VtKCQpOwogc3ViIGhh
bmRsZUJpbmFyeUNoYW5nZSgkJCk7CitzdWIgaGFuZGxlR2l0QmluYXJ5Q2hhbmdlKCQkKTsKIHN1
YiBpc0RpcmVjdG9yeUVtcHR5Rm9yUmVtb3ZhbCgkKTsKIHN1YiBwYXRjaCgkKTsKIHN1YiByZW1v
dmVEaXJlY3Rvcmllc0lmTmVlZGVkKCk7CkBAIC0yNzYsNiArMjc3LDM5IEBAIHN1YiBoYW5kbGVC
aW5hcnlDaGFuZ2UoJCQpCiAgICAgfQogfQogCitzdWIgaGFuZGxlR2l0QmluYXJ5Q2hhbmdlKCQk
KQoreworICAgIG15ICgkZnVsbFBhdGgsICRjb250ZW50cykgPSBAXzsKKworICAgIG15ICgkYmlu
YXJ5Q2h1bmtUeXBlLCAkYmluYXJ5Q2h1bmssICRyZXZlcnNlQmluYXJ5Q2h1bmtUeXBlLCAkcmV2
ZXJzZUJpbmFyeUNodW5rKSA9IGRlY29kZUdpdEJpbmFyeVBhdGNoKCRjb250ZW50cywgJGZ1bGxQ
YXRoKTsKKyAgICAjIEZJWE1FOiBzdXBwb3J0ICJkZWx0YSIgdHlwZS4KKyAgICBkaWUgIm9ubHkg
bGl0ZXJhbCB0eXBlIGlzIHN1cHBvcnRlZCBub3ciIGlmICgkYmluYXJ5Q2h1bmtUeXBlIG5lICJs
aXRlcmFsIiB8fCAkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSBuZSAibGl0ZXJhbCIpOworCisgICAg
bXkgJGlzRmlsZUFkZGl0aW9uID0gJGNvbnRlbnRzID1+IC9cbm5ldyBmaWxlIG1vZGUgXGQrXG4v
OworICAgIG15ICRpc0ZpbGVEZWxldGlvbiA9ICRjb250ZW50cyA9fiAvXG5kZWxldGVkIGZpbGUg
bW9kZSBcZCtcbi87CisKKyAgICBteSAkb3JpZ2luYWxDb250ZW50cyA9ICIiOworICAgIGlmIChv
cGVuIEZJTEUsICRmdWxsUGF0aCkgeworICAgICAgICBkaWUgIiRmdWxsUGF0aCBhbHJlYWR5IGV4
aXN0cyIgaWYgJGlzRmlsZUFkZGl0aW9uOworCisgICAgICAgICRvcmlnaW5hbENvbnRlbnRzID0g
am9pbigiIiwgPEZJTEU+KTsKKyAgICAgICAgY2xvc2UgRklMRTsKKyAgICB9CisgICAgZGllICJP
cmlnaW5hbCBjb250ZW50IG9mICRmdWxsUGF0aCBtaXNtYXRjaGVzIiBpZiAkb3JpZ2luYWxDb250
ZW50cyBuZSAkcmV2ZXJzZUJpbmFyeUNodW5rOworCisgICAgaWYgKCRpc0ZpbGVEZWxldGlvbikg
eworICAgICAgICBzY21SZW1vdmUoJGZ1bGxQYXRoKTsKKyAgICB9IGVsc2UgeworICAgICAgICAj
IEFkZGl0aW9uIG9yIE1vZGlmaWNhdGlvbgorICAgICAgICBvcGVuIEZJTEUsICI+IiwgJGZ1bGxQ
YXRoIG9yIGRpZSAiRmFpbGVkIHRvIG9wZW4gJGZ1bGxQYXRoLiI7CisgICAgICAgIHByaW50IEZJ
TEUgJGJpbmFyeUNodW5rOworICAgICAgICBjbG9zZSBGSUxFOworICAgICAgICBpZiAoJGlzRmls
ZUFkZGl0aW9uKSB7CisgICAgICAgICAgICBzY21BZGQoJGZ1bGxQYXRoKTsKKyAgICAgICAgfQor
ICAgIH0KK30KKwogc3ViIGlzRGlyZWN0b3J5RW1wdHlGb3JSZW1vdmFsKCQpCiB7CiAgICAgbXkg
KCRkaXIpID0gQF87CkBAIC0zMTAsMTIgKzM0NCwxNCBAQCBzdWIgcGF0Y2goJCkKICAgICBteSAk
ZGVsZXRpb24gPSAwOwogICAgIG15ICRhZGRpdGlvbiA9IDA7CiAgICAgbXkgJGlzQmluYXJ5ID0g
MDsKKyAgICBteSAkaXNHaXRCaW5hcnkgPSAwOwogCiAgICAgJGFkZGl0aW9uID0gMSBpZiAoJHBh
dGNoID1+IC9cbi0tLSAuK1wocmV2aXNpb24gMFwpXHI/XG4vIHx8ICRwYXRjaCA9fiAvXG5AQCAt
MCwwIC4qIEBALykgJiYgIWV4aXN0cygkY29waWVkRmlsZXN7JGZ1bGxQYXRofSk7CiAgICAgJGRl
bGV0aW9uID0gMSBpZiAkcGF0Y2ggPX4gL1xuQEAgLiogXCswLDAgQEAvOwogICAgICRpc0JpbmFy
eSA9IDEgaWYgJHBhdGNoID1+IC9cbkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJp
bmFyeSB0eXBlXC4vOworICAgICRpc0dpdEJpbmFyeSA9IDEgaWYgJHBhdGNoID1+IC9cbkdJVCBi
aW5hcnkgcGF0Y2hcbi87CiAKLSAgICBpZiAoISRhZGRpdGlvbiAmJiAhJGRlbGV0aW9uICYmICEk
aXNCaW5hcnkpIHsKKyAgICBpZiAoISRhZGRpdGlvbiAmJiAhJGRlbGV0aW9uICYmICEkaXNCaW5h
cnkgJiYgISRpc0dpdEJpbmFyeSkgewogICAgICAgICAjIFN0YW5kYXJkIHBhdGNoLCBwYXRjaCB0
b29sIGNhbiBoYW5kbGUgdGhpcy4KICAgICAgICAgaWYgKGJhc2VuYW1lKCRmdWxsUGF0aCkgZXEg
IkNoYW5nZUxvZyIpIHsKICAgICAgICAgICAgIG15ICRjaGFuZ2VMb2dEb3RPcmlnRXhpc3RlZCA9
IC1mICIke2Z1bGxQYXRofS5vcmlnIjsKQEAgLTMzMiw2ICszNjgsOSBAQCBzdWIgcGF0Y2goJCkK
ICAgICAgICAgaWYgKCRpc0JpbmFyeSkgewogICAgICAgICAgICAgIyBCaW5hcnkgY2hhbmdlCiAg
ICAgICAgICAgICBoYW5kbGVCaW5hcnlDaGFuZ2UoJGZ1bGxQYXRoLCAkcGF0Y2gpOworICAgICAg
ICB9IGVsc2lmICgkaXNHaXRCaW5hcnkpIHsKKyAgICAgICAgICAgICMgR2l0IGJpbmFyeSBjaGFu
Z2UKKyAgICAgICAgICAgIGhhbmRsZUdpdEJpbmFyeUNoYW5nZSgkZnVsbFBhdGgsICRwYXRjaCk7
CiAgICAgICAgIH0gZWxzaWYgKCRkZWxldGlvbikgewogICAgICAgICAgICAgIyBEZWxldGlvbgog
ICAgICAgICAgICAgYXBwbHlQYXRjaCgkcGF0Y2gsICRmdWxsUGF0aCwgWyItLWZvcmNlIl0pOw==
</data>

          </attachment>
      

    </bug>

</bugzilla>