<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>249976</bug_id>
          
          <creation_ts>2010-09-03 09:14:48 +0000</creation_ts>
          <short_desc>kompare complains about malformed diffs</short_desc>
          <delta_ts>2023-11-14 10:29:49 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>kompare</product>
          <component>parser</component>
          <version>4.1.3</version>
          <rep_platform>openSUSE</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mathias Homann">Mathias.Homann</reporter>
          <assigned_to name="Kompare bugs">kompare-bugs-null</assigned_to>
          <cc>gokcen.eraslan</cc>
    
    <cc>gronslet</cc>
    
    <cc>k.kapuscik</cc>
    
    <cc>mikzyth</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin>4.5.4</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>60</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1013629</commentid>
    <comment_count>0</comment_count>
      <attachid>51261</attachid>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2010-09-03 09:14:48 +0000</bug_when>
    <thetext>Created attachment 51261
a diff that gets parsed only partially, or so kompare says.

Version:           4.0.0 (using KDE 4.5.0) 
OS:                Linux

When I open a diff (made with diff -burNE file1 file2), kompare more often than not complains about &quot;malformed diff&quot; and tells me that not all lines are shown in the view.

one such diff is attached.

the same diff parses fine in older versions of kompare.

Reproducible: Sometimes

Steps to Reproduce:
reproducibility sometimes = happens with a lot of diffs but not all of them.
reproduce: open the attached diff in kompare.

Actual Results:  
&quot;the diff is malformed. some lines could not be parsed and will not be displayed in the diff view&quot;.

Expected Results:  
I want to see all lines of the diff parsed, or a better explanation as to which ones were malformed.

OS: Linux (i686) release 2.6.34-12-pae
Compiler: gcc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013797</commentid>
    <comment_count>1</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2010-09-03 16:34:37 +0000</bug_when>
    <thetext>Well, FYI, Kompare still displays the exact same thing as before, it just warns you that it might not be complete.

I cannot reproduce this with the diff you attached, maybe it got mangled during processing? Please try reattaching it in a compressed format (.xz / .bz2 / .gz).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013807</commentid>
    <comment_count>2</comment_count>
      <attachid>51274</attachid>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2010-09-03 16:50:34 +0000</bug_when>
    <thetext>Created attachment 51274
same diff but bzipped</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033548</commentid>
    <comment_count>3</comment_count>
    <who name="MartinG">gronslet</who>
    <bug_when>2010-10-17 21:54:32 +0000</bug_when>
    <thetext>*** This bug has been confirmed by popular vote. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033577</commentid>
    <comment_count>4</comment_count>
    <who name="MartinG">gronslet</who>
    <bug_when>2010-10-17 22:32:46 +0000</bug_when>
    <thetext>I see the same sometimes when I do &quot;svn diff | kompare -o -&quot;. If I do &quot;svn diff fileX | kompare -o -&quot; for all differing files separately, I do not get the error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034190</commentid>
    <comment_count>5</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2010-10-19 14:28:12 +0000</bug_when>
    <thetext>*** Bug 252371 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034817</commentid>
    <comment_count>6</comment_count>
    <who name="Krzysztof Kapuscik">k.kapuscik</who>
    <bug_when>2010-10-20 19:06:47 +0000</bug_when>
    <thetext>I have done some analysis and debugging. The problem is that the svn diff output format is:

Index: somedir/filename.xyz
===================================================================
--- somedir/filename.xyz        (revision 5)
+++ somedir/filename.xyz        (working copy)
@@ -1,3 +1,48 @@
 A = B
-C = D
Index: somedir/filename.abc
===================================================================
--- somedir/filename.abc        (revision 5)
+++ somedir/filename.abc        (working copy)
@@ -1,3 +1,48 @@
 A = B
+C = D

When parsing such file Kompare uses the CVS diff parser with universal format enabled. Unified parses skips first 2 lines (Index and ===) and moves to --- as it is recognized by the regexp. After parsing first hunk the iterator points at next &quot;Index:&quot; but unified parses expects (using function checkHeader()) that the iterator will point at &quot;---&quot; - and the malformed flag is set by checkHeader(). Because the parses actually skips the &apos;invalid&apos; lines the files gets successfully parsed but the warning popup is still shown.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040782</commentid>
    <comment_count>7</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2010-11-05 23:12:45 +0000</bug_when>
    <thetext>Hmmm, duh, I couldn&apos;t reproduce this in comment #1 because I was trying with 4.4.5 whereas I only committed the malformed diff checks to 4.5 (because of the added string).

I can reproduce it now with 4.5.2 (and heck, is it annoying!), I&apos;m working on fixing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040796</commentid>
    <comment_count>8</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2010-11-05 23:47:28 +0000</bug_when>
    <thetext>SVN commit 1193415 by kkofler:

Make the malformed diff check more tolerant to prevent choking on SVN-generated diffs or on diffs resulting from the use of diff &gt;&gt;.
It could probably use a better fix than such simple whitelisting, but this should fix the annoyance for now.
Tested on Fedora 13, kdelibs 4.5.2.

BUG: 249976

 M  +3 -1      parserbase.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=1193415</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040798</commentid>
    <comment_count>9</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2010-11-05 23:49:06 +0000</bug_when>
    <thetext>SVN commit 1193416 by kkofler:

Make the malformed diff check more tolerant to prevent choking on SVN-generated diffs or on diffs resulting from the use of diff &gt;&gt;.
It could probably use a better fix than such simple whitelisting, but this should fix the annoyance for now.
Tested on Fedora 13, kdelibs 4.5.2.

Backport revision 1193415 from trunk.

CCBUG: 249976

 M  +3 -1      parserbase.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=1193416</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040812</commentid>
    <comment_count>10</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2010-11-06 00:05:03 +0000</bug_when>
    <thetext>Fixed for the upcoming kdesdk 4.5.4 and 4.6.0 releases.
Also fixed in Fedora packaging of 4.5.3 as of kdesdk-4.5.3-3.fc15.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040889</commentid>
    <comment_count>11</comment_count>
    <who name="Gökçen Eraslan">gokcen.eraslan</who>
    <bug_when>2010-11-06 11:34:18 +0000</bug_when>
    <thetext>It&apos;s fixed, thank you very much. Can you also look at #252359 ? Kompare still cannot parse some SVN diff outputs :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041061</commentid>
    <comment_count>12</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2010-11-06 18:03:32 +0000</bug_when>
    <thetext>Hmmm, and another issue with SVN diffs I just thought of now is that sometimes SVN writes lines like &quot;Binary files X and Y differ&quot; in the middle of a diff, which will also trigger the &quot;malformed&quot; complaint. And there I&apos;m not sure how to whitelist them because SVN translates that text. (Plus, ideally, we probably want to display that information somehow, but 1. I don&apos;t know how to fit this in Kompare&apos;s UI and 2. I really don&apos;t know how to parse those messages, since they could be written in ANY language.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041074</commentid>
    <comment_count>13</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2010-11-06 18:46:31 +0000</bug_when>
    <thetext>PS: Actually, plain diff also reports binary files that differ in that broken way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263490</commentid>
    <comment_count>14</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2012-06-08 12:43:40 +0000</bug_when>
    <thetext>KDE 4.8.3, kompare 4.1.1, bug is back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263698</commentid>
    <comment_count>15</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2012-06-08 20:55:49 +0000</bug_when>
    <thetext>It&apos;s not back. What you&apos;re seeing is bug #252359, which is still open.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470620</commentid>
    <comment_count>16</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2014-09-11 08:06:19 +0000</bug_when>
    <thetext>Actually in my case the diff I&apos;m trying to parse is *not* generated from svn, I&apos;m passing two folders as argoments to kompare that do not contain version information from .hg or anything other.
There are lots of bitmap files and UTF16 files in the trees, maybe that is what diff chokes on?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470622</commentid>
    <comment_count>17</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2014-09-11 08:06:39 +0000</bug_when>
    <thetext>*** Bug 339002 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940400</commentid>
    <comment_count>18</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2020-06-29 08:31:21 +0000</bug_when>
    <thetext>kompare 4.1.3, bug is still there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940401</commentid>
    <comment_count>19</comment_count>
      <attachid>129754</attachid>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2020-06-29 08:32:05 +0000</bug_when>
    <thetext>Created attachment 129754
a diff generated by dif -burNE that kompare chokes on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940422</commentid>
    <comment_count>20</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2020-06-29 09:18:35 +0000</bug_when>
    <thetext>*** Bug 339002 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940424</commentid>
    <comment_count>21</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2020-06-29 09:20:12 +0000</bug_when>
    <thetext>It complains about diff reporting that binary files differ, in a translated message that is not reasonably machine-parsable. I have no way to distinguish this from actually invalid diffs where some parts cannot be displayed. Hence, warning the user about the unparsable lines is by design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940427</commentid>
    <comment_count>22</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2020-06-29 09:31:31 +0000</bug_when>
    <thetext>And strictly speaking, the warning is actually correct, because the differing binary files cannot be displayed in the diff viewer. (We cannot even show which files differ because we cannot parse the translated messages.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940440</commentid>
    <comment_count>23</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2020-06-29 10:30:50 +0000</bug_when>
    <thetext>(In reply to Kevin Kofler from comment #22)
&gt; parse the translated messages...


NOW we are finally getting somewhere.

I created a script that unsets LANG and then just calls diff with all argumets passed to it, and told kompare to use that script instead of the regular diff command, and voila, no more &quot;malformed diff&quot; errors anymore. Don&apos;t even have to exclude image files by pattern anymore.

maybe that script should be part of kompare...

#!/bin/bash
unset LANG
/usr/bin/diff $@

sits in ~/bin on my home folder, and due to my $PATH gets preference before /usr/bin/diff...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940457</commentid>
    <comment_count>24</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2020-06-29 11:01:39 +0000</bug_when>
    <thetext>That would not help with diffs coming from elsewhere (possibly downloaded from the Internet) that you open in Kompare.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940478</commentid>
    <comment_count>25</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2020-06-29 12:34:50 +0000</bug_when>
    <thetext>guess i didn&apos;t make myself clear enough:

if kompare has problems with non-english output from diff, then kompare should run diff in a way that ensures english output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940634</commentid>
    <comment_count>26</comment_count>
    <who name="Kevin Kofler">kevin.kofler</who>
    <bug_when>2020-06-29 22:46:37 +0000</bug_when>
    <thetext>But Kompare can also be used to view diffs that are already in a .diff file. I cannot control how diff was run in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1974658</commentid>
    <comment_count>27</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2020-11-12 22:33:26 +0000</bug_when>
    <thetext>(In reply to Kevin Kofler from comment #26)
&gt; But Kompare can also be used to view diffs that are already in a .diff file.
&gt; I cannot control how diff was run in that case.

...in which case we can tell the user about it. But that&apos;s no reason not to &quot;do it right&quot; when you *can* control how diff is run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1974660</commentid>
    <comment_count>28</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2020-11-12 22:34:35 +0000</bug_when>
    <thetext>by the way, my script to run diff with LANG=&quot;&quot; doesn&apos;t help anymore for some reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1974665</commentid>
    <comment_count>29</comment_count>
    <who name="Mathias Homann">Mathias.Homann</who>
    <bug_when>2020-11-12 22:41:34 +0000</bug_when>
    <thetext>actually that last comment&apos;s invalid - the reason for the error *was* because of some binary files...</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>51261</attachid>
            <date>2010-09-03 09:14:48 +0000</date>
            <delta_ts>2010-09-03 16:28:18 +0000</delta_ts>
            <desc>a diff that gets parsed only partially, or so kompare says.</desc>
            <filename>slviewer-0-v12350-DoubleClickTeleport_v5.patch</filename>
            <type>text/x-patch</type>
            <size>4860</size>
            <attacher name="Mathias Homann">Mathias.Homann</attacher>
            
              <data encoding="base64">ZGlmZiAtdXJOIGxpbmRlbi9pbmRyYS9uZXd2aWV3L2FwcF9zZXR0aW5ncy9zZXR0aW5ncy54bWwg
bGluZGVuLXBhdGNoZWQvaW5kcmEvbmV3dmlldy9hcHBfc2V0dGluZ3Mvc2V0dGluZ3MueG1sCi0t
LSBsaW5kZW4vaW5kcmEvbmV3dmlldy9hcHBfc2V0dGluZ3Mvc2V0dGluZ3MueG1sCTIwMTAtMDEt
MTQgMTk6MTQ6MjEuMDAwMDAwMDAwICswMTAwCisrKyBsaW5kZW4tcGF0Y2hlZC9pbmRyYS9uZXd2
aWV3L2FwcF9zZXR0aW5ncy9zZXR0aW5ncy54bWwJMjAxMC0wNy0xNCAxMToyOTo0NS4wMDAwMDAw
MDAgKzAyMDAKQEAgLTMwNDgsNiArMzA0OCwxNyBAQAogICAgICAgPGtleT5WYWx1ZTwva2V5Pgog
ICAgICAgPGludGVnZXI+MDwvaW50ZWdlcj4KICAgICA8L21hcD4KKyAgICA8a2V5PkRvdWJsZUNs
aWNrVGVsZXBvcnQ8L2tleT4KKyAgICA8bWFwPgorICAgICAgPGtleT5Db21tZW50PC9rZXk+Cisg
ICAgICA8c3RyaW5nPkVuYWJsZSBkb3VibGUtY2xpY2sgdGVsZXBvcnQ8L3N0cmluZz4KKyAgICAg
IDxrZXk+UGVyc2lzdDwva2V5PgorICAgICAgPGludGVnZXI+MTwvaW50ZWdlcj4KKyAgICAgIDxr
ZXk+VHlwZTwva2V5PgorICAgICAgPHN0cmluZz5Cb29sZWFuPC9zdHJpbmc+CisgICAgICA8a2V5
PlZhbHVlPC9rZXk+CisgICAgICA8aW50ZWdlcj4wPC9pbnRlZ2VyPgorICAgIDwvbWFwPgogICAg
IDxrZXk+RHJhZ0FuZERyb3BUb29sVGlwRGVsYXk8L2tleT4KICAgICA8bWFwPgogICAgICAgPGtl
eT5Db21tZW50PC9rZXk+CmRpZmYgLXVyTiBsaW5kZW4vaW5kcmEvbmV3dmlldy9sbG5ldG1hcC5j
cHAgbGluZGVuLXBhdGNoZWQvaW5kcmEvbmV3dmlldy9sbG5ldG1hcC5jcHAKLS0tIGxpbmRlbi9p
bmRyYS9uZXd2aWV3L2xsbmV0bWFwLmNwcAkyMDEwLTAxLTE0IDE5OjE0OjIwLjAwMDAwMDAwMCAr
MDEwMAorKysgbGluZGVuLXBhdGNoZWQvaW5kcmEvbmV3dmlldy9sbG5ldG1hcC5jcHAJMjAxMC0w
Ny0xNCAxMToyOTo0NS4wMDAwMDAwMDAgKzAyMDAKQEAgLTcyNiw3ICs3MjYsMjggQEAKIAogQk9P
TCBMTE5ldE1hcDo6aGFuZGxlRG91YmxlQ2xpY2soIFMzMiB4LCBTMzIgeSwgTUFTSyBtYXNrICkK
IHsKLQlMTEZsb2F0ZXJXb3JsZE1hcDo6c2hvdyhOVUxMLCBGQUxTRSk7CisJTExWZWN0b3IzZCBw
b3NfZ2xvYmFsID0gdmlld1Bvc1RvR2xvYmFsKHgsIHksIHNNaW5pTWFwUm90YXRlKTsKKwlCT09M
IG5ld190YXJnZXQgPSBGQUxTRTsKKwlpZiAoIUxMVHJhY2tlcjo6aXNUcmFja2luZyhOVUxMKSkK
Kwl7CisJCWdGbG9hdGVyV29ybGRNYXAtPnRyYWNrTG9jYXRpb24ocG9zX2dsb2JhbCk7CisJCW5l
d190YXJnZXQgPSBUUlVFOworCX0KKworCWlmIChnU2F2ZWRTZXR0aW5ncy5nZXRCT09MKCJEb3Vi
bGVDbGlja1RlbGVwb3J0IikKKy8vTUsKKyNpZmRlZiBMTF9SUklOVEVSRkFDRV9ICisJCSYmICEo
Z1JSZW5hYmxlZCAmJiBnQWdlbnQubVJSSW50ZXJmYWNlLmNvbnRhaW5zICgidHBsb2MiKSkKKyNl
bmRpZgorLy9taworCQkpCisJeworCQlnQWdlbnQudGVsZXBvcnRWaWFMb2NhdGlvbihwb3NfZ2xv
YmFsKTsKKwl9CisJZWxzZSAKKwl7CisJCUxMRmxvYXRlcldvcmxkTWFwOjpzaG93KE5VTEwsIG5l
d190YXJnZXQpOworCX0KIAlyZXR1cm4gVFJVRTsKIH0KIApkaWZmIC11ck4gbGluZGVuL2luZHJh
L25ld3ZpZXcvbGx0b29scGllLmNwcCBsaW5kZW4tcGF0Y2hlZC9pbmRyYS9uZXd2aWV3L2xsdG9v
bHBpZS5jcHAKLS0tIGxpbmRlbi9pbmRyYS9uZXd2aWV3L2xsdG9vbHBpZS5jcHAJMjAxMC0wMS0x
NCAxOToxNDoyMS4wMDAwMDAwMDAgKzAxMDAKKysrIGxpbmRlbi1wYXRjaGVkL2luZHJhL25ld3Zp
ZXcvbGx0b29scGllLmNwcAkyMDEwLTA3LTE0IDExOjI5OjQ1LjAwMDAwMDAwMCArMDIwMApAQCAt
NjU3LDYgKzY1NywyOSBAQAogCQkJcmV0dXJuIFRSVUU7CiAJCX0KIAl9CisJZWxzZSBpZiAoZ1Nh
dmVkU2V0dGluZ3MuZ2V0Qk9PTCgiRG91YmxlQ2xpY2tUZWxlcG9ydCIpCisvL01LCisjaWZkZWYg
TExfUlJJTlRFUkZBQ0VfSAorCQkmJiAhKGdSUmVuYWJsZWQgJiYgZ0FnZW50Lm1SUkludGVyZmFj
ZS5jb250YWlucyAoInRwbG9jIikpCisjZW5kaWYKKy8vbWsKKwkJCSkKKwl7CisJCUxMVmlld2Vy
T2JqZWN0KiBvYmpwID0gbVBpY2suZ2V0T2JqZWN0KCk7CisJCUxMVmlld2VyT2JqZWN0KiBwYXJl
bnRwID0gb2JqcCA/IG9ianAtPmdldFJvb3RFZGl0KCkgOiBOVUxMOworCQlib29sIGlzX2luX3dv
cmxkID0gbVBpY2subU9iamVjdElELm5vdE51bGwoKSAmJiBvYmpwICYmICFvYmpwLT5pc0hVREF0
dGFjaG1lbnQoKTsKKwkJYm9vbCBpc19sYW5kID0gbVBpY2subVBpY2tUeXBlID09IExMUGlja0lu
Zm86OlBJQ0tfTEFORDsKKwkJYm9vbCBwb3Nfbm9uX3plcm8gPSAhbVBpY2subVBvc0dsb2JhbC5p
c0V4YWN0bHlaZXJvKCk7CisJCWJvb2wgaGFzX3RvdWNoX2hhbmRsZXIgPSAob2JqcCAmJiBvYmpw
LT5mbGFnSGFuZGxlVG91Y2goKSkgfHwgKHBhcmVudHAgJiYgcGFyZW50cC0+ZmxhZ0hhbmRsZVRv
dWNoKCkpOworCQlib29sIGhhc19jbGlja19hY3Rpb24gPSBmaW5hbF9jbGlja19hY3Rpb24ob2Jq
cCk7CisJCWlmIChwb3Nfbm9uX3plcm8gJiYgKGlzX2xhbmQgfHwgKGlzX2luX3dvcmxkICYmICFo
YXNfdG91Y2hfaGFuZGxlciAmJiAhaGFzX2NsaWNrX2FjdGlvbikpKQorCQl7CisJCQlMTFZlY3Rv
cjNkIHBvcyA9IG1QaWNrLm1Qb3NHbG9iYWw7CisJCQlwb3MubWRWW1ZaXSArPSBnQWdlbnQuZ2V0
QXZhdGFyT2JqZWN0KCktPmdldFBlbHZpc1RvRm9vdCgpOworCQkJZ0FnZW50LnRlbGVwb3J0Vmlh
TG9jYXRpb24ocG9zKTsKKwkJCXJldHVybiBUUlVFOworCQl9CisJfQogCiAJcmV0dXJuIEZBTFNF
OwogCmRpZmYgLXVyTiBsaW5kZW4vaW5kcmEvbmV3dmlldy9sbHZpZXdlcm1lbnUuY3BwIGxpbmRl
bi1wYXRjaGVkL2luZHJhL25ld3ZpZXcvbGx2aWV3ZXJtZW51LmNwcAotLS0gbGluZGVuL2luZHJh
L25ld3ZpZXcvbGx2aWV3ZXJtZW51LmNwcAkyMDEwLTAxLTE0IDE5OjE0OjIwLjAwMDAwMDAwMCAr
MDEwMAorKysgbGluZGVuLXBhdGNoZWQvaW5kcmEvbmV3dmlldy9sbHZpZXdlcm1lbnUuY3BwCTIw
MTAtMDctMTQgMTE6MzY6NDguMDAwMDAwMDAwICswMjAwCkBAIC0xMDQ3LDYgKzEwNDcsOSBAQAog
CW1lbnUtPmFwcGVuZChuZXcgTExNZW51SXRlbUNoZWNrR0woIkRvdWJsZS1DbGljayBBdXRvLVBp
bG90IiwgCiAJCW1lbnVfdG9nZ2xlX2NvbnRyb2wsIE5VTEwsIG1lbnVfY2hlY2tfY29udHJvbCwg
CiAJCSh2b2lkKikiRG91YmxlQ2xpY2tBdXRvUGlsb3QiKSk7CisJbWVudS0+YXBwZW5kKG5ldyBM
TE1lbnVJdGVtQ2hlY2tHTCgiRG91YmxlLUNsaWNrIFRlbGVwb3J0IiwgCisJCW1lbnVfdG9nZ2xl
X2NvbnRyb2wsIE5VTEwsIG1lbnVfY2hlY2tfY29udHJvbCwgCisJCSh2b2lkKikiRG91YmxlQ2xp
Y2tUZWxlcG9ydCIpKTsKIAltZW51LT5hcHBlbmRTZXBhcmF0b3IoKTsKIC8vCW1lbnUtPmFwcGVu
ZChuZXcgTExNZW51SXRlbUNhbGxHTCggIlByaW50IFBhY2tldHMgTG9zdCIsCQkJJnByaW50X3Bh
Y2tldHNfbG9zdCwgTlVMTCwgTlVMTCwgJ0wnLCBNQVNLX1NISUZUICkpOwogCW1lbnUtPmFwcGVu
ZChuZXcgTExNZW51SXRlbVRvZ2dsZUdMKCJEZWJ1ZyBTZWxlY3RNZ3IiLCAmZ0RlYnVnU2VsZWN0
TWdyKSk7CkBAIC02MTcxLDEzICs2MTc0LDI3IEBACiAvLyBUb21ZIFRPRE8gREVQUkVDQVRFICYg
UkVNT1ZFCiB2b2lkIG1lbnVfdG9nZ2xlX2NvbnRyb2woIHZvaWQqIHVzZXJfZGF0YSApCiB7Ci0g
ICAgICAgIEJPT0wgY2hlY2tlZCA9IGdTYXZlZFNldHRpbmdzLmdldEJPT0woIHN0YXRpY19jYXN0
PGNoYXIqPih1c2VyX2RhdGEpICk7Ci0gICAgICAgIGlmIChzdGQ6OnN0cmluZyhzdGF0aWNfY2Fz
dDxjaGFyKj4odXNlcl9kYXRhKSkgPT0gIkhpZ2hSZXNTbmFwc2hvdCIgJiYgIWNoZWNrZWQpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAvLyBIaWdoIFJlcyBTbmFwc2hvdCBhY3RpdmUsIG11
c3QgdW5jaGVjayBSZW5kZXJVSUluU25hcHNob3QKLSAgICAgICAgICAgICAgICBnU2F2ZWRTZXR0
aW5ncy5zZXRCT09MKCAiUmVuZGVyVUlJblNuYXBzaG90IiwgRkFMU0UgKTsKLSAgICAgICAgfQot
ICAgICAgICBnU2F2ZWRTZXR0aW5ncy5zZXRCT09MKCBzdGF0aWNfY2FzdDxjaGFyKj4odXNlcl9k
YXRhKSwgIWNoZWNrZWQgKTsKKwlzdGQ6OnN0cmluZyBzZXR0aW5nKHN0YXRpY19jYXN0PGNoYXIq
Pih1c2VyX2RhdGEpKTsKKwlCT09MIGNoZWNrZWQgPSBnU2F2ZWRTZXR0aW5ncy5nZXRCT09MKHNl
dHRpbmcpOworCWlmICghY2hlY2tlZCkKKwl7CisJCWlmIChzZXR0aW5nID09ICJIaWdoUmVzU25h
cHNob3QiKQorCQl7CisJCQkvLyBIaWdoIFJlcyBTbmFwc2hvdCBhY3RpdmUsIG11c3QgdW5jaGVj
ayBSZW5kZXJVSUluU25hcHNob3QKKwkJCWdTYXZlZFNldHRpbmdzLnNldEJPT0woIlJlbmRlclVJ
SW5TbmFwc2hvdCIsIEZBTFNFKTsKKwkJfQorCQllbHNlIGlmIChzZXR0aW5nID09ICJEb3VibGVD
bGlja0F1dG9QaWxvdCIpCisJCXsKKwkJCS8vIERvdWJsZWNsaWNrIGFjdGlvbnMgLSB0aGVyZSBj
YW4gYmUgb25seSBvbmUKKwkJCWdTYXZlZFNldHRpbmdzLnNldEJPT0woIkRvdWJsZUNsaWNrVGVs
ZXBvcnQiLCBGQUxTRSk7CisJCX0KKwkJZWxzZSBpZiAoc2V0dGluZyA9PSAiRG91YmxlQ2xpY2tU
ZWxlcG9ydCIpCisJCXsKKwkJCS8vIERvdWJsZWNsaWNrIGFjdGlvbnMgLSB0aGVyZSBjYW4gYmUg
b25seSBvbmUKKwkJCWdTYXZlZFNldHRpbmdzLnNldEJPT0woIkRvdWJsZUNsaWNrQXV0b1BpbG90
IiwgRkFMU0UpOworCQl9CisJfQorCWdTYXZlZFNldHRpbmdzLnNldEJPT0woc2V0dGluZywgIWNo
ZWNrZWQpOwogfQogCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>51274</attachid>
            <date>2010-09-03 16:50:34 +0000</date>
            <delta_ts>2010-09-03 16:50:34 +0000</delta_ts>
            <desc>same diff but bzipped</desc>
            <filename>slviewer-0-v12350-DoubleClickTeleport_v5.patch.bz2</filename>
            <type>application/octet-stream</type>
            <size>1780</size>
            <attacher name="Mathias Homann">Mathias.Homann</attacher>
            
              <data encoding="base64">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
IFP/F3JFOFCQuCyWzw==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>129754</attachid>
            <date>2020-06-29 08:32:05 +0000</date>
            <delta_ts>2020-06-29 08:32:05 +0000</delta_ts>
            <desc>a diff generated by dif -burNE that kompare chokes on</desc>
            <filename>lc_fs.diff</filename>
            <type>text/plain</type>
            <size>21107</size>
            <attacher name="Mathias Homann">Mathias.Homann</attacher>
            
              <data encoding="base64">ZGlmZiAtYnVyTkUgJy0tZXhjbHVkZT0uZ2l0JyBPdGhlci9waG9lbml4LWZpcmVzdG9ybS1sZ3Bs
L2J1aWxkLmNtZCBsZW1teTA0L3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvYnVpbGQuY21kCi0tLSBP
dGhlci9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2J1aWxkLmNtZAkxOTcwLTAxLTAxIDAxOjAwOjAw
LjAwMDAwMDAwMCArMDEwMAorKysgbGVtbXkwNC9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2J1aWxk
LmNtZAkyMDIwLTA1LTIyIDEzOjQyOjAyLjc5OTA2ODkzNiArMDIwMApAQCAtMCwwICsxLDkgQEAK
K3NldCBBVVRPQlVJTERfVkFSSUFCTEVTX0ZJTEU9RDpcVXNlcnNcbGVtbXlcQnVpbGRcZnMtYnVp
bGQtdmFyaWFibGVzXHZhcmlhYmxlcworc2V0IExMX0JVSUxEPSIgIgorCithdXRvYnVpbGQgaW5z
dGFsbGFibGVzIGVkaXQgZm1vZHN0dWRpbyBwbGF0Zm9ybT13aW5kb3dzICAgaGFzaD03NWQxZTZj
ZGI0ODQ0ODYxOGYwNTg3ZjRkZjU0ZjUxZCB1cmw9ZmlsZTovLy9kOlxVc2Vyc1xsZW1teVxCdWls
ZFxmbW9kc3R1ZGlvLTIuMDEuMDEtd2luZG93cy0yMDE0MjA3MDQudGFyLmJ6MgorYXV0b2J1aWxk
IGluc3RhbGxhYmxlcyBlZGl0IGZtb2RzdHVkaW8gcGxhdGZvcm09d2luZG93czY0IGhhc2g9MWU4
YWE2YjZiZDEyMGU4NWI3MGVkNDY5YjQwZGEzZGUgdXJsPWZpbGU6Ly8vZDpcVXNlcnNcbGVtbXlc
QnVpbGRcZm1vZHN0dWRpby0yLjAxLjAxLXdpbmRvd3M2NC0yMDE0MjA3MDYudGFyLmJ6MgorCith
dXRvYnVpbGQgY29uZmlndXJlIC1BIDY0IC1jIFJlbGVhc2VGU19vcGVuIC0tIC0tY2hhbiBEZXZl
bG9wZXJ4NjQgLS1hdngyIC0tZm1vZHN0dWRpbyAtLWNsZWFuIC0tcGFja2FnZSAtREZTX1VQR1JB
REVDT0RFUz0wY2I2MDc4YS03Y2U2LTRlMDgtYWQyZS1jY2QwZWMxODZlMDEsNDJjYzQ1NzItMDY0
MC00OTMxLWI0M2QtNWVhYjNlMjBhN2MzIC1EVlNfRElTQUJMRV9GQVRBTF9XQVJOSU5HUzpCT09M
PU9GRiAtRERJU0NPUkRfQVBJX0tFWT0iNjIxNjc3MDYzODk1Nzc3MzEwIgorCithdXRvYnVpbGQg
YnVpbGQgLS1uby1jb25maWd1cmUgLUEgNjQgLWMgUmVsZWFzZUZTX29wZW4gLS0gLS1jaGFuIERl
dmVsb3Blcng2NCAtLWF2eDIgLS1mbW9kc3R1ZGlvIC0tY2xlYW4gLS1wYWNrYWdlIC1ERlNfVVBH
UkFERUNPREVTPTBjYjYwNzhhLTdjZTYtNGUwOC1hZDJlLWNjZDBlYzE4NmUwMSw0MmNjNDU3Mi0w
NjQwLTQ5MzEtYjQzZC01ZWFiM2UyMGE3YzMgLURWU19ESVNBQkxFX0ZBVEFMX1dBUk5JTkdTOkJP
T0w9T0ZGIC1ERElTQ09SRF9BUElfS0VZPSI2MjE2NzcwNjM4OTU3NzczMTAiCmRpZmYgLWJ1ck5F
ICctLWV4Y2x1ZGU9LmdpdCcgT3RoZXIvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9idWlsZC5jbWR+
IGxlbW15MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9idWlsZC5jbWR+Ci0tLSBPdGhlci9waG9l
bml4LWZpcmVzdG9ybS1sZ3BsL2J1aWxkLmNtZH4JMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAw
MDAgKzAxMDAKKysrIGxlbW15MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9idWlsZC5jbWR+CTIw
MjAtMDEtMjAgMTU6MzY6MDguMDAwMDAwMDAwICswMTAwCkBAIC0wLDAgKzEsOSBAQAorc2V0IEFV
VE9CVUlMRF9WQVJJQUJMRVNfRklMRT1EOlxVc2Vyc1xsZW1teVxCdWlsZFxmcy1idWlsZC12YXJp
YWJsZXNcdmFyaWFibGVzCitzZXQgTExfQlVJTEQ9IiAiCisKK2F1dG9idWlsZCBpbnN0YWxsYWJs
ZXMgZWRpdCBmbW9kc3R1ZGlvIHBsYXRmb3JtPXdpbmRvd3MgICBoYXNoPWFiMWVkZGUyZTQ4ODQ1
NThjMWFkMTZiNzIzZjM5YTFiIHVybD1maWxlOi8vL2Q6XFVzZXJzXGxlbW15XEJ1aWxkXGZtb2Rz
dHVkaW8tMi4wMC4wNy13aW5kb3dzLTIwMDE4MDc1Mi50YXIuYnoyCithdXRvYnVpbGQgaW5zdGFs
bGFibGVzIGVkaXQgZm1vZHN0dWRpbyBwbGF0Zm9ybT13aW5kb3dzNjQgaGFzaD1lNzUwZTBjNzcy
ODU0MWY1YzQzMGMzNWIwMTYxMTA0ZSB1cmw9ZmlsZTovLy9kOlxVc2Vyc1xsZW1teVxCdWlsZFxm
bW9kc3R1ZGlvLTIuMDAuMDctd2luZG93czY0LTIwMDE4MDc1NC50YXIuYnoyCisKK2F1dG9idWls
ZCBjb25maWd1cmUgLUEgNjQgLWMgUmVsZWFzZUZTX29wZW4gLS0gLS1jaGFuIERldmVsb3Blcng2
NCAtLWF2eDIgLS1mbW9kc3R1ZGlvIC0tY2xlYW4gLS1wYWNrYWdlIC1ERlNfVVBHUkFERUNPREVT
PTBjYjYwNzhhLTdjZTYtNGUwOC1hZDJlLWNjZDBlYzE4NmUwMSw0MmNjNDU3Mi0wNjQwLTQ5MzEt
YjQzZC01ZWFiM2UyMGE3YzMgLURWU19ESVNBQkxFX0ZBVEFMX1dBUk5JTkdTOkJPT0w9T0ZGIC1E
RElTQ09SRF9BUElfS0VZPSI2MjE2NzcwNjM4OTU3NzczMTAiCisKK2F1dG9idWlsZCBidWlsZCAt
LW5vLWNvbmZpZ3VyZSAtQSA2NCAtYyBSZWxlYXNlRlNfb3BlbiAtLSAtLWNoYW4gRGV2ZWxvcGVy
eDY0IC0tYXZ4MiAtLWZtb2RzdHVkaW8gLS1jbGVhbiAtLXBhY2thZ2UgLURGU19VUEdSQURFQ09E
RVM9MGNiNjA3OGEtN2NlNi00ZTA4LWFkMmUtY2NkMGVjMTg2ZTAxLDQyY2M0NTcyLTA2NDAtNDkz
MS1iNDNkLTVlYWIzZTIwYTdjMyAtRFZTX0RJU0FCTEVfRkFUQUxfV0FSTklOR1M6Qk9PTD1PRkYg
LURESVNDT1JEX0FQSV9LRVk9IjYyMTY3NzA2Mzg5NTc3NzMxMCIKQmluw6RyZGF0ZWllbiBPdGhl
ci9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2NvcmUgdW5kIGxlbW15MDQvcGhvZW5peC1maXJlc3Rv
cm0tbGdwbC9jb3JlIHNpbmQgdmVyc2NoaWVkZW4uCmRpZmYgLWJ1ck5FICctLWV4Y2x1ZGU9Lmdp
dCcgT3RoZXIvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9sbGNvbW1vbi9sbG1lbW9yeS5o
IGxlbW15MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9sbGNvbW1vbi9sbG1lbW9yeS5o
Ci0tLSBPdGhlci9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2luZHJhL2xsY29tbW9uL2xsbWVtb3J5
LmgJMjAxOS0xMi0yMiAwOTo0ODoyNC43NjQ2NDEwNTAgKzAxMDAKKysrIGxlbW15MDQvcGhvZW5p
eC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9sbGNvbW1vbi9sbG1lbW9yeS5oCTIwMTktMTItMjIgMTA6
MTM6MjQuNTgzOTIwMzcxICswMTAwCkBAIC0zMyw2ICszMywxMSBAQAogI2luY2x1ZGUgPHN0ZGlu
dC5oPgogI2VuZGlmCiAKKyNpbmNsdWRlICJsbHByZXByb2Nlc3Nvci5oIiAvLyBmb3IgR0NDX1ZF
UlNJT04KKyMgIGlmIEdDQ19WRVJTSU9OID49IDQwODAwIC8vIGdjYyA0LjggYW5kIHVwCisjICAg
ICBpbmNsdWRlIDxjc3RkaW50PgorIyAgZW5kaWYKKwogY2xhc3MgTExNdXRleCA7CiAKICNpZiBM
TF9XSU5ET1dTICYmIExMX0RFQlVHCmRpZmYgLWJ1ck5FICctLWV4Y2x1ZGU9LmdpdCcgT3RoZXIv
cGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2FwcF9zZXR0aW5ncy9sb2djb250
cm9sLnhtbCBsZW1teTA0L3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9hcHBf
c2V0dGluZ3MvbG9nY29udHJvbC54bWwKLS0tIE90aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxncGwv
aW5kcmEvbmV3dmlldy9hcHBfc2V0dGluZ3MvbG9nY29udHJvbC54bWwJMjAxOS0xMi0yMiAwOTo0
ODoyNC44OTY2NDA1MjEgKzAxMDAKKysrIGxlbW15MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9p
bmRyYS9uZXd2aWV3L2FwcF9zZXR0aW5ncy9sb2djb250cm9sLnhtbAkyMDE5LTEyLTIyIDEwOjEz
OjI0LjcxMTkxOTk1MCArMDEwMApAQCAtMSw3ICsxLDcgQEAKIDxsbHNkPgogCTxtYXA+CiAJCTwh
LS0gZGVmYXVsdC1sZXZlbCBjYW4gYmUgQUxMLCBERUJVRywgSU5GTywgV0FSTiwgRVJST1IsIG9y
IE5PTkUgLS0+Ci0JCTxrZXk+ZGVmYXVsdC1sZXZlbDwva2V5PiAgICA8c3RyaW5nPklORk88L3N0
cmluZz4KKwkJPGtleT5kZWZhdWx0LWxldmVsPC9rZXk+ICAgIDxzdHJpbmc+RVJST1I8L3N0cmlu
Zz4KIAkJPGtleT5wcmludC1sb2NhdGlvbjwva2V5PiAgIDxib29sZWFuPnRydWU8L2Jvb2xlYW4+
CiAJCTxrZXk+bG9nLWFsd2F5cy1mbHVzaDwva2V5PiAgIDxib29sZWFuPnRydWU8L2Jvb2xlYW4+
CiAJCTwhLS0gQWxsIGxvZyB0eXBlcyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0LiBDYW4gYmUgdG9n
Z2xlZCBpbmRpdmlkdWFsbHk7CmRpZmYgLWJ1ck5FICctLWV4Y2x1ZGU9LmdpdCcgT3RoZXIvcGhv
ZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xpbnV4X3Rvb2xzL2hhbmRsZV9zZWNv
bmRsaWZlcHJvdG9jb2wuc2ggbGVtbXkwNC9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2luZHJhL25l
d3ZpZXcvbGludXhfdG9vbHMvaGFuZGxlX3NlY29uZGxpZmVwcm90b2NvbC5zaAotLS0gT3RoZXIv
cGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xpbnV4X3Rvb2xzL2hhbmRsZV9z
ZWNvbmRsaWZlcHJvdG9jb2wuc2gJMjAxOS0xMi0yMiAwOTo0ODoyNS4zOTY2Mzg1MTkgKzAxMDAK
KysrIGxlbW15MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xpbnV4X3Rv
b2xzL2hhbmRsZV9zZWNvbmRsaWZlcHJvdG9jb2wuc2gJMjAxOS0xMi0yMiAxMDoxMzoyNS4xNzk5
MTg0MTEgKzAxMDAKQEAgLTEyLDggKzEyLDcgQEAKIGZpCiAKIFJVTl9QQVRIPWBkaXJuYW1lICIk
MCIgfHwgZWNobyAuYAotI2NkICIke1JVTl9QQVRIfS8uLiIKLWNoICIke1JVTl9QQVRIfSIKK2Nk
ICIke1JVTl9QQVRIfS8uLiIKIAogI2V4ZWMgLi9maXJlc3Rvcm0gLXVybCBcJyIke1VSTH0iXCcK
IGlmIFsgYHBpZG9mIGRvLW5vdC1kaXJlY3RseS1ydW4tZmlyZXN0b3JtLWJpbmAgXTsgdGhlbgpk
aWZmIC1idXJORSAnLS1leGNsdWRlPS5naXQnIE90aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxncGwv
aW5kcmEvbmV3dmlldy9saW51eF90b29scy9yZWZyZXNoX2Rlc2t0b3BfYXBwX2VudHJ5LnNoIGxl
bW15MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xpbnV4X3Rvb2xzL3Jl
ZnJlc2hfZGVza3RvcF9hcHBfZW50cnkuc2gKLS0tIE90aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxn
cGwvaW5kcmEvbmV3dmlldy9saW51eF90b29scy9yZWZyZXNoX2Rlc2t0b3BfYXBwX2VudHJ5LnNo
CTIwMTktMTItMjIgMDk6NDg6MjUuMzk2NjM4NTE5ICswMTAwCisrKyBsZW1teTA0L3Bob2VuaXgt
ZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9saW51eF90b29scy9yZWZyZXNoX2Rlc2t0b3Bf
YXBwX2VudHJ5LnNoCTIwMTktMTItMjIgMTA6MTM6MjUuMTc5OTE4NDExICswMTAwCkBAIC0xLDQg
KzEsNSBAQAogIyEvYmluL2Jhc2gKK2V4aXQgMAogCiBTQ1JJUFRTUkM9YHJlYWRsaW5rIC1mICIk
MCIgfHwgZWNobyAiJDAiYAogUlVOX1BBVEg9YGRpcm5hbWUgIiR7U0NSSVBUU1JDfSIgfHwgZWNo
byAuYApkaWZmIC1idXJORSAnLS1leGNsdWRlPS5naXQnIE90aGVyL3Bob2VuaXgtZmlyZXN0b3Jt
LWxncGwvaW5kcmEvbmV3dmlldy9saW51eF90b29scy93cmFwcGVyLnNoIGxlbW15MDQvcGhvZW5p
eC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xpbnV4X3Rvb2xzL3dyYXBwZXIuc2gKLS0t
IE90aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9saW51eF90b29scy93
cmFwcGVyLnNoCTIwMjAtMDYtMDMgMDk6MDY6MDkuMDg4NDQ1MTE3ICswMjAwCisrKyBsZW1teTA0
L3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9saW51eF90b29scy93cmFwcGVy
LnNoCTIwMjAtMDYtMDMgMDk6MDY6MTIuMzA0NDM2MzA0ICswMjAwCkBAIC01NSw2ICs1NSwxOCBA
QAogIyMgICBkcml2ZXIgYnVnLCB0cnkgZW5hYmxpbmcgdGhpcyBvcHRpb24gYW5kIHJlcG9ydCB3
aGV0aGVyIGl0IGhlbHBzOgogI2V4cG9ydCBMTF9BVElfTU9VU0VfQ1VSU09SX0JVRz14CiAKKwor
IyMgLSB1bnNldCB0aGUgaHR0cF9wcm94eSB2YXJzLCBzbyB0aGF0IGFuIGV2ZW50dWFsbHkgZXhp
c3RpbmcgcHJveHkgb25seQorIyMgICBnZXRzIHVzZWQgaWYgdGhlIHVzZXIgYWN0dWFsbHkgc2V0
cyBpdCBpbiB0aGUgdmlld2VyIHByZWZlcmVuY2VzCisjIwordW5zZXQgaHR0cF9wcm94eSBodHRw
c19wcm94eSBub19wcm94eSBIVFRQX1BST1hZIEhUVFBTX1BST1hZIE5PX1BST1hZCisKKworIyMg
LSBtaXNzaW5nIGZvbnRjb25maWcgZmlsZSBjYXVzZXMgbWFzc2l2ZSBmcmVlemVzIGV2ZXJ5IHRp
bWUgdGhlIHZpZXdlciBuZWVkcworIyMgICB0byBmaW5kIHNvbWUgZm9udHMKKyMjICAgZml4IGlz
IHNpbXBsZTogc2V0IHRoZSBmb250Y29uZmlnX3BhdGggdmFyaWFibGUgcHJvcGVybHkKK1sgLWYg
L2V0Yy9mb250cy9mb250cy5jb25mIF0gJiYgZXhwb3J0IEZPTlRDT05GSUdfUEFUSD0vZXRjL2Zv
bnRzCisKIGlmIFsgImB1bmFtZSAtbWAiID0gIng4Nl82NCIgXTsgdGhlbgogICAgIGVjaG8gJzY0
LWJpdCBMaW51eCBkZXRlY3RlZC4nCiBmaQpAQCAtNzEsNiArODMsMjUgQEAKICNleHBvcnQgTExf
V1JBUFBFUj0nZ2RiIC0tYXJncycKICNleHBvcnQgTExfV1JBUFBFUj0ndmFsZ3JpbmQgLS1zbWMt
Y2hlY2s9YWxsIC0tZXJyb3ItbGltaXQ9bm8gLS1sb2ctZmlsZT1zZWNvbmRsaWZlLnZnIC0tbGVh
ay1jaGVjaz1mdWxsIC0tc3VwcHJlc3Npb25zPS91c3IvbGliL3ZhbGdyaW5kL2dsaWJjLTIuNS5z
dXBwIC0tc3VwcHJlc3Npb25zPXNlY29uZGxpZmUtaTY4Ni5zdXBwJwogCisjIworIyMgZGV0ZWN0
IGJ1bWJsZWJlZSBhcmNoaXRlY3R1cmU6CisjIyAtIGJic3dpdGNoIG1vZHVsZSBpcyBsb2FkZWQK
KyMjIC0gb3B0aXJ1biBleGlzdCBhbmQgaXMgZXhlY3V0YWJsZQorIyMgaWYgc28sIHNldCBMTF9X
UkFQUEVSIHRvIG9wdGlydW4gKGFuZCBob3BlIGZvciB0aGUgYmVzdCkKK09QVElSVU49JCh0eXBl
IC1wICR7TExfQlVNQkxFQkVFOi1vcHRpcnVufSkKK1sgLXMgL3N5cy9tb2R1bGUvYmJzd2l0Y2gv
dmVyc2lvbiAtYSAtbiAiJHtPUFRJUlVOfSIgLWEgLXggIiR7T1BUSVJVTn0iIF0gJiYgTExfV1JB
UFBFUj0iJHtPUFRJUlVOfSIKKworIyMKKyMjIHRyeSB0byBkZXRlY3Qgd29ya2luZyBwcmltZSBy
ZW5kZXIgb2ZmbG9hZGluZworIyMgb25seSBpZiBvcHRpcnVuIHN0aWxsIGlzbid0IHNldCB1cAor
IyMKK05VTV9YUkFORFJfUFJPVklERVJTPSQoeHJhbmRyIC0tbGlzdHByb3ZpZGVycyB8Z3JlcCBQ
cm92aWRlcnN8Y3V0IC1kIiAiIC1mNCkKK1sgLXogIiR7T1BUSVJVTn0iIC1hICR7TlVNX1hSQU5E
Ul9QUk9WSURFUlN9IC1lcSAyIF0gJiYgeworIyMgd2Ugc2VlbSB0byBoYXZlIHR3byB4cmFuZHIg
cHJvdmlkZXJzLCBhbmQgbm8gb3B0aXJ1biBvciBwcmltdXNydW4sIGxldCdzIGp1c3Qgc2V0IHVw
IGZvciBwcmltZSByZW5kZXIgb2ZmbG9hZGluZywgYW5kIGhvcGUgZm9yIHRoZSBiZXN0CisgICAg
ICAgIFsgLXogIiR7X19OVl9QUklNRV9SRU5ERVJfT0ZGTE9BRH0iIF0gJiYgZXhwb3J0IF9fTlZf
UFJJTUVfUkVOREVSX09GRkxPQUQ9MQorICAgICAgICBbIC16ICIke19fR0xYX1ZFTkRPUl9MSUJS
QVJZX05BTUV9IiBdICYmIGV4cG9ydCBfX0dMWF9WRU5ET1JfTElCUkFSWV9OQU1FPW52aWRpYQor
fQorCiAjIyAtIEF2b2lkcyBhbiBvZnRlbi1idWdneSBYIGZlYXR1cmUgdGhhdCBkb2Vzbid0IHJl
YWxseSBiZW5lZml0IHVzIGFueXdheS4KIGV4cG9ydCBTRExfVklERU9fWDExX0RHQU1PVVNFPTAK
IApkaWZmIC1idXJORSAnLS1leGNsdWRlPS5naXQnIE90aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxn
cGwvaW5kcmEvbmV3dmlldy9sbGRyYXdwb29sYnVtcC5jcHAgbGVtbXkwNC9waG9lbml4LWZpcmVz
dG9ybS1sZ3BsL2luZHJhL25ld3ZpZXcvbGxkcmF3cG9vbGJ1bXAuY3BwCi0tLSBPdGhlci9waG9l
bml4LWZpcmVzdG9ybS1sZ3BsL2luZHJhL25ld3ZpZXcvbGxkcmF3cG9vbGJ1bXAuY3BwCTIwMjAt
MDUtMjggMTE6NDQ6MDMuNjEzMjgxNzk0ICswMjAwCisrKyBsZW1teTA0L3Bob2VuaXgtZmlyZXN0
b3JtLWxncGwvaW5kcmEvbmV3dmlldy9sbGRyYXdwb29sYnVtcC5jcHAJMjAyMC0wNS0yOCAxMTo0
NDoxMi4wNDEyNTg1ODcgKzAyMDAKQEAgLTY3LDYgKzY3LDkgQEAKIAogVTMyIExMRHJhd1Bvb2xC
dW1wOjpzVmVydGV4TWFzayA9IFZFUlRFWF9NQVNLX1NISU5ZOwogCisvL01LCitCT09MIExMRHJh
d1Bvb2xCdW1wOjpzUmVuZGVyRGVmZXJyZWRTaG93SW52aXNpcHJpbXMgPSBUUlVFOyAvL2dTYXZl
ZFNldHRpbmdzLmdldEJPT0woIlJlbmRlckRlZmVycmVkU2hvd0ludmlzaXByaW1zIik7CisvL21r
CiAKIHN0YXRpYyBMTEdMU0xTaGFkZXIqIHNoYWRlciA9IE5VTEw7CiBzdGF0aWMgUzMyIGN1YmVf
Y2hhbm5lbCA9IC0xOwpAQCAtMTY0MCwxOCArMTY0Myw0MSBAQAogCiB2b2lkIExMRHJhd1Bvb2xJ
bnZpc2libGU6OnJlbmRlckRlZmVycmVkKCBTMzIgcGFzcyApCiB7IC8vcmVuZGVyIGludmlzaXBy
aW1zOyB0aGlzIGRvZXNuJ3Qgd29yayBiZWNhdWUgaXQgYWxzbyBibG9ja3MgYWxsIHRoZSBwb3N0
LWRlZmVycmVkIHN0dWZmCi0jaWYgMCAKLQlMTF9SRUNPUkRfQkxPQ0tfVElNRShGVE1fUkVOREVS
X0lOVklTSUJMRSk7CisjaWYgMQorLy9NSworCWlmICghc1JlbmRlckRlZmVycmVkU2hvd0ludmlz
aXByaW1zKQorCXsKKwkJcmV0dXJuOworCX0KKy8vbWsKKworLy9NSyB3aXRoIHRoYW5rcyB0byBI
ZW5yaSBCZWF1Y2hhbXAKKwlpZiAoZ1BpcGVsaW5lLmNhblVzZVZlcnRleFNoYWRlcnMoKSkKKwl7
CisJCWdPY2NsdXNpb25Qcm9ncmFtLmJpbmQoKTsKKwl9CisvL21rCiAgIAogCVUzMiBpbnZpc2lf
bWFzayA9IExMVmVydGV4QnVmZmVyOjpNQVBfVkVSVEVYOwogCWdsU3RlbmNpbE1hc2soMCk7Ci0J
Z2xTdGVuY2lsT3AoR0xfWkVSTywgR0xfS0VFUCwgR0xfUkVQTEFDRSk7CisvL01LIHdpdGggdGhh
bmtzIHRvIEhlbnJpIEJlYXVjaGFtcAorLy8vLwlnbFN0ZW5jaWxPcChHTF9aRVJPLCBHTF9LRUVQ
LCBHTF9SRVBMQUNFKTsKKy8vbWsKIAlnR0wuc2V0Q29sb3JNYXNrKGZhbHNlLCBmYWxzZSk7CiAJ
cHVzaEJhdGNoZXMoTExSZW5kZXJQYXNzOjpQQVNTX0lOVklTSUJMRSwgaW52aXNpX21hc2ssIEZB
TFNFKTsKIAlnR0wuc2V0Q29sb3JNYXNrKHRydWUsIHRydWUpOwotCWdsU3RlbmNpbE9wKEdMX0tF
RVAsIEdMX0tFRVAsIEdMX1JFUExBQ0UpOworLy9NSyB3aXRoIHRoYW5rcyB0byBIZW5yaSBCZWF1
Y2hhbXAKKy8vLy8JZ2xTdGVuY2lsT3AoR0xfS0VFUCwgR0xfS0VFUCwgR0xfUkVQTEFDRSk7Cisv
L21rCiAJZ2xTdGVuY2lsTWFzaygweEZGRkZGRkZGKTsKIAkKKy8vTUsgd2l0aCB0aGFua3MgdG8g
SGVucmkgQmVhdWNoYW1wCisJaWYgKGdQaXBlbGluZS5jYW5Vc2VWZXJ0ZXhTaGFkZXJzKCkpCisJ
eworCQlnT2NjbHVzaW9uUHJvZ3JhbS51bmJpbmQoKTsKKwl9CisvL21rCisKIAlpZiAoZ1BpcGVs
aW5lLmhhc1JlbmRlckJhdGNoZXMoTExSZW5kZXJQYXNzOjpQQVNTX0lOVklTSV9TSElOWSkpCiAJ
ewogCQliZWdpblNoaW55KHRydWUpOwpkaWZmIC1idXJORSAnLS1leGNsdWRlPS5naXQnIE90aGVy
L3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9sbGRyYXdwb29sYnVtcC5oIGxl
bW15MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xsZHJhd3Bvb2xidW1w
LmgKLS0tIE90aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9sbGRyYXdw
b29sYnVtcC5oCTIwMTktMTItMjIgMDk6NDg6MjUuNDIwNjM4NDIzICswMTAwCisrKyBsZW1teTA0
L3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9sbGRyYXdwb29sYnVtcC5oCTIw
MTktMTItMjIgMTA6MTM6MjUuMjAzOTE4MzMyICswMTAwCkBAIC00Niw2ICs0NiwxMCBAQAogCXN0
YXRpYyBVMzIgc1ZlcnRleE1hc2s7CiAJQk9PTCBtU2hpbnk7CiAJCisvL01LCisJc3RhdGljIEJP
T0wgc1JlbmRlckRlZmVycmVkU2hvd0ludmlzaXByaW1zOworLy9taworCQogCXZpcnR1YWwgVTMy
IGdldFZlcnRleERhdGFNYXNrKCkgeyByZXR1cm4gc1ZlcnRleE1hc2s7IH0KIAogCUxMRHJhd1Bv
b2xCdW1wKCk7CmRpZmYgLWJ1ck5FICctLWV4Y2x1ZGU9LmdpdCcgT3RoZXIvcGhvZW5peC1maXJl
c3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xscGFuZWxtYWluaW52ZW50b3J5LmNwcCBsZW1teTA0
L3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9sbHBhbmVsbWFpbmludmVudG9y
eS5jcHAKLS0tIE90aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9sbHBh
bmVsbWFpbmludmVudG9yeS5jcHAJMjAyMC0wNS0yOCAxMTo0NDowMy42MzcyODE3MjggKzAyMDAK
KysrIGxlbW15MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xscGFuZWxt
YWluaW52ZW50b3J5LmNwcAkyMDIwLTA1LTI4IDExOjQ0OjEyLjA0MTI1ODU4NyArMDIwMApAQCAt
MjMzLDYgKzIzMyw4IEBACiAJCXJlY2VudF9pdGVtc19wYW5lbC0+c2V0U29ydE9yZGVyKGdTYXZl
ZFNldHRpbmdzLmdldFUzMihMTEludmVudG9yeVBhbmVsOjpSRUNFTlRJVEVNU19TT1JUX09SREVS
KSk7CiAJCS8vIDwvRlM6Wmk+CiAJCXJlY2VudF9pdGVtc19wYW5lbC0+c2V0U2hvd0ZvbGRlclN0
YXRlKExMSW52ZW50b3J5RmlsdGVyOjpTSE9XX05PTl9FTVBUWV9GT0xERVJTKTsKKyAgICAgICAg
ICAgICAgICAvLyA8RlM6QW5zYXJpZWw+IEZJUkUtMjYyOSAvIEZJUkUtMzI1NjogSGlkZSBsaW5r
cyBieSBkZWZhdWx0IGluIHJlY2VudCBpbnZlbnRvcnkgcGFuZWwKKyAgICAgICAgICAgICAgICBy
ZWNlbnRfaXRlbXNfcGFuZWwtPnNldEZpbHRlckxpbmtzKExMSW52ZW50b3J5RmlsdGVyOjpGSUxU
RVJMSU5LX0VYQ0xVREVfTElOS1MpOwogCQlMTEludmVudG9yeUZpbHRlciYgcmVjZW50X2ZpbHRl
ciA9IHJlY2VudF9pdGVtc19wYW5lbC0+Z2V0RmlsdGVyKCk7CiAJCXJlY2VudF9maWx0ZXIuc2V0
RmlsdGVyT2JqZWN0VHlwZXMocmVjZW50X2ZpbHRlci5nZXRGaWx0ZXJPYmplY3RUeXBlcygpICYg
figweDEgPDwgTExJbnZlbnRvcnlUeXBlOjpJVF9DQVRFR09SWSkpOwogCQlyZWNlbnRfZmlsdGVy
LnNldEVtcHR5TG9va3VwTWVzc2FnZSgiSW52ZW50b3J5Tm9NYXRjaGluZ1JlY2VudEl0ZW1zIik7
CmRpZmYgLWJ1ck5FICctLWV4Y2x1ZGU9LmdpdCcgT3RoZXIvcGhvZW5peC1maXJlc3Rvcm0tbGdw
bC9pbmRyYS9uZXd2aWV3L2xsdmlld2VycGFyY2VsbWVkaWEuY3BwIGxlbW15MDQvcGhvZW5peC1m
aXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xsdmlld2VycGFyY2VsbWVkaWEuY3BwCi0tLSBP
dGhlci9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2luZHJhL25ld3ZpZXcvbGx2aWV3ZXJwYXJjZWxt
ZWRpYS5jcHAJMjAxOS0xMi0yMiAwOTo0ODoyNS41NDA2Mzc5NDMgKzAxMDAKKysrIGxlbW15MDQv
cGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L2xsdmlld2VycGFyY2VsbWVkaWEu
Y3BwCTIwMTktMTItMjIgMTA6MTM6MjUuMzI3OTE3OTI0ICswMTAwCkBAIC0xNjExLDcgKzE2MTEs
NyBAQAogCiB2b2lkIExMVmlld2VyUGFyY2VsTWVkaWE6OnNhdmVEb21haW5GaWx0ZXJMaXN0KCkK
IHsKLQljb25zdCBzdGQ6OnN0cmluZyBtZWRpYWxpc3RfZmlsZW5hbWUgPSBnRGlyVXRpbHAtPmdl
dEV4cGFuZGVkRmlsZW5hbWUoTExfUEFUSF9QRVJfU0xfQUNDT1VOVCwgIm1lZGlhbGlzdC54bWwi
KTsKKwljb25zdCBzdGQ6OnN0cmluZyBtZWRpYWxpc3RfZmlsZW5hbWUgPSBnRGlyVXRpbHAtPmdl
dEV4cGFuZGVkRmlsZW5hbWUoTExfUEFUSF9VU0VSX1NFVFRJTkdTLCAibWVkaWFsaXN0LnhtbCIp
OwogCiAJbGxvZnN0cmVhbSBtZWRpYWxpc3Q7CiAJbWVkaWFsaXN0Lm9wZW4obWVkaWFsaXN0X2Zp
bGVuYW1lLmNfc3RyKCkpOwpAQCAtMTYyMSw3ICsxNjIxLDcgQEAKIAogdm9pZCBMTFZpZXdlclBh
cmNlbE1lZGlhOjpsb2FkRG9tYWluRmlsdGVyTGlzdCgpCiB7Ci0JY29uc3Qgc3RkOjpzdHJpbmcg
bWVkaWFsaXN0X2ZpbGVuYW1lID0gZ0RpclV0aWxwLT5nZXRFeHBhbmRlZEZpbGVuYW1lKExMX1BB
VEhfUEVSX1NMX0FDQ09VTlQsICJtZWRpYWxpc3QueG1sIik7CisJY29uc3Qgc3RkOjpzdHJpbmcg
bWVkaWFsaXN0X2ZpbGVuYW1lID0gZ0RpclV0aWxwLT5nZXRFeHBhbmRlZEZpbGVuYW1lKExMX1BB
VEhfVVNFUl9TRVRUSU5HUywgIm1lZGlhbGlzdC54bWwiKTsKIAogCWlmIChMTEZpbGU6OmlzZmls
ZShtZWRpYWxpc3RfZmlsZW5hbWUpKQogCXsKZGlmZiAtYnVyTkUgJy0tZXhjbHVkZT0uZ2l0JyBP
dGhlci9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2luZHJhL25ld3ZpZXcvbGx2aWV3ZXJ0ZXh0dXJl
LmNwcCBsZW1teTA0L3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9sbHZpZXdl
cnRleHR1cmUuY3BwCi0tLSBPdGhlci9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2luZHJhL25ld3Zp
ZXcvbGx2aWV3ZXJ0ZXh0dXJlLmNwcAkyMDIwLTA1LTI4IDExOjQ0OjAzLjY1NzI4MTY3MyArMDIw
MAorKysgbGVtbXkwNC9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2luZHJhL25ld3ZpZXcvbGx2aWV3
ZXJ0ZXh0dXJlLmNwcAkyMDIwLTA1LTI4IDExOjQ0OjEyLjAzNzI1ODU5OCArMDIwMApAQCAtMTY0
MCw2ICsxNjQwLDE1IEBACiAJCXNpemVfb2theSA9IGZhbHNlOwogCX0KIAkKKwlVOCByYXdfY29t
cG9uZW50cyA9IG1SYXdJbWFnZS0+Z2V0Q29tcG9uZW50cygpOyAgICAgICAgICAgICAvLyBudW1i
ZXIgb2YgY29tcG9uZW50cyAoY2hhbm5lbHMpIGluIGltYWdlIAorCWlmIChyYXdfY29tcG9uZW50
cyA8IDEgfHwgcmF3X2NvbXBvbmVudHMgPiA0KSAgICAgICAgICAgICAgIC8vIHZhbGlkYXRlIG51
bWJlciBvZiBjb21wb25lbnRzLgorCXsKKwkJLy8gTnVtYmVyIG9mIGltYWdlIGNvbXBvbmVudHMg
aXMgaW52YWxpZC4gMT1ncmV5c2NhbGUsIDI9Z3JleXNjYWxlIHdpdGggYWxwaGEsIDM9UkdCLCA0
PVJHQkEuIDUgaGFzIGJlZW4gc2VlbiwgYW5kIGNyYXNoZXMgdGhlIHRleHR1cmUgcmVhZGVyLgor
CQlMTF9JTkZPUygpIDw8ICJJbnZhbGlkIG51bWJlciBvZiBpbWFnZSBjb21wb25lbnRzOiAoIiA8
PCAoVTMyKXJhd19jb21wb25lbnRzIDw8ICIpIiA8PCBMTF9FTkRMOworCQlzaXplX29rYXkgPSBm
YWxzZTsKKwl9CisJCisJCiAJaWYoICFzaXplX29rYXkgKQogCXsKIAkJLy8gQW4gaW5hcHByb3By
aWF0ZWx5LXNpemVkIGltYWdlIHdhcyB1cGxvYWRlZCAodGhyb3VnaCBhIG5vbiBzdGFuZGFyZCBj
bGllbnQpCmRpZmYgLWJ1ck5FICctLWV4Y2x1ZGU9LmdpdCcgT3RoZXIvcGhvZW5peC1maXJlc3Rv
cm0tbGdwbC9pbmRyYS9uZXd2aWV3L3NraW5zL2RlZmF1bHQveHVpL2VuL21lbnVfdmlld2VyLnht
bCBsZW1teTA0L3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvaW5kcmEvbmV3dmlldy9za2lucy9kZWZh
dWx0L3h1aS9lbi9tZW51X3ZpZXdlci54bWwKLS0tIE90aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxn
cGwvaW5kcmEvbmV3dmlldy9za2lucy9kZWZhdWx0L3h1aS9lbi9tZW51X3ZpZXdlci54bWwJMjAy
MC0wNS0yOCAxMTo0NDowMy42ODUyODE1OTYgKzAyMDAKKysrIGxlbW15MDQvcGhvZW5peC1maXJl
c3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L3NraW5zL2RlZmF1bHQveHVpL2VuL21lbnVfdmlld2Vy
LnhtbAkyMDIwLTA1LTI4IDExOjQ0OjEyLjAyNTI1ODYzMSArMDIwMApAQCAtMjI1LDYgKzIyNSwx
NyBAQAogICAgICAgICAgICAgICAgIDxtZW51X2l0ZW1fY2hlY2sub25fY2xpY2sKICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbj0iU2VsZi50b2dnbGVJZ25vcmVQcmVKdW1wIiAvPgogCQkJPC9t
ZW51X2l0ZW1fY2hlY2s+CisgICAgICAgICAgPCEtLSAgIAkvL1tGSVggRklSRS0xOTI3IC0gZW5h
YmxlIERvdWJsZUNsaWNrVGVsZXBvcnQgc2hvcnRjdXQgOiBTSl0gLS0+CisgICAgICAgICAgPG1l
bnVfaXRlbV9jaGVjaworICAgICAgICAgICBsYWJlbD0iRG91YmxlQ2xpY2sgVGVsZXBvcnQiCisg
ICAgICAgICAgIG5hbWU9IkRvdWJsZUNsaWNrIFRlbGVwb3J0Ij4KKyAgICAgICAgICAgIDxvbl9j
aGVjaworICAgICAgICAgICAgICAgZnVuY3Rpb249IkNoZWNrQ29udHJvbCIKKyAgICAgICAgICAg
ICAgIHBhcmFtZXRlcj0iRG91YmxlQ2xpY2tUZWxlcG9ydCIgLz4KKyAgICAgICAgICAgIDxvbl9j
bGljaworICAgICAgICAgICAgICAgZnVuY3Rpb249IkFkdmFuY2VkLlRvZ2dsZURvdWJsZUNsaWNr
VGVsZXBvcnQiLz4KKyAgICAgICAgICA8L21lbnVfaXRlbV9jaGVjaz4KKyAgICAgICAgICA8IS0t
ICAgCS8vW0ZJWCBGSVJFLTE5MjcgLSBlbmFibGUgRG91YmxlQ2xpY2tUZWxlcG9ydCBzaG9ydGN1
dCA6IFNKXSAtLT4KIAkJPC9tZW51PgogCiAJCTxtZW51X2l0ZW1fY2hlY2sKQEAgLTMwMzgsMTkg
KzMwNDksNiBAQAogICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI9IlVzZURlYnVnTWVudXMiIC8+
CiAgICAgICAgICAgICA8L21lbnVfaXRlbV9jaGVjaz4KIAotICAgICAgICAgIDwhLS0gICAJLy9b
RklYIEZJUkUtMTkyNyAtIGVuYWJsZSBEb3VibGVDbGlja1RlbGVwb3J0IHNob3J0Y3V0IDogU0pd
IC0tPgotICAgICAgICAgIDxtZW51X2l0ZW1fY2hlY2sKLSAgICAgICAgICAgbGFiZWw9IkRvdWJs
ZUNsaWNrIFRlbGVwb3J0IgotICAgICAgICAgICBuYW1lPSJEb3VibGVDbGljayBUZWxlcG9ydCIK
LSAgICAgICAgICAgc2hvcnRjdXQ9ImNvbnRyb2x8c2hpZnR8RCI+Ci0gICAgICAgICAgICA8b25f
Y2hlY2sKLSAgICAgICAgICAgICAgIGZ1bmN0aW9uPSJDaGVja0NvbnRyb2wiCi0gICAgICAgICAg
ICAgICBwYXJhbWV0ZXI9IkRvdWJsZUNsaWNrVGVsZXBvcnQiIC8+Ci0gICAgICAgICAgICA8b25f
Y2xpY2sKLSAgICAgICAgICAgICAgIGZ1bmN0aW9uPSJBZHZhbmNlZC5Ub2dnbGVEb3VibGVDbGlj
a1RlbGVwb3J0Ii8+Ci0gICAgICAgICAgPC9tZW51X2l0ZW1fY2hlY2s+Ci0gICAgICAgICAgPCEt
LSAgIAkvL1tGSVggRklSRS0xOTI3IC0gZW5hYmxlIERvdWJsZUNsaWNrVGVsZXBvcnQgc2hvcnRj
dXQgOiBTSl0gLS0+Ci0KICAgICAgICAgICA8bWVudV9pdGVtX3NlcGFyYXRvci8+CiAKICAgICAg
ICAgICAgIDxtZW51X2l0ZW1fY2hlY2sKQEAgLTMxMDAsNyArMzA5OCw3IEBACiAgICAgICAgICAg
ICA8bWVudV9pdGVtX2NhbGwKICAgICAgICAgICAgICBsYWJlbD0iU25hcHNob3QgdG8gRGlzayIK
ICAgICAgICAgICAgICBuYW1lPSJTbmFwc2hvdCB0byBEaXNrIgotICAgICAgICAgICAgIHNob3J0
Y3V0PSJjb250cm9sfGAiCisgICAgICAgICAgICAgc2hvcnRjdXQ9ImNvbnRyb2x8c2hpZnR8RCIK
ICAgICAgICAgICAgICB1c2VfbWFjX2N0cmw9InRydWUiPgogICAgICAgICAgICAgICAgIDxtZW51
X2l0ZW1fY2FsbC5vbl9jbGljawogICAgICAgICAgICAgICAgICBmdW5jdGlvbj0iRmlsZS5UYWtl
U25hcHNob3RUb0Rpc2siIC8+CmRpZmYgLWJ1ck5FICctLWV4Y2x1ZGU9LmdpdCcgT3RoZXIvcGhv
ZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L3NraW5zL2RlZmF1bHQveHVpL2VuL3Bh
bmVsX2ZzX251aV9sb2dpbi54bWwgbGVtbXkwNC9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL2luZHJh
L25ld3ZpZXcvc2tpbnMvZGVmYXVsdC94dWkvZW4vcGFuZWxfZnNfbnVpX2xvZ2luLnhtbAotLS0g
T3RoZXIvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L3NraW5zL2RlZmF1bHQv
eHVpL2VuL3BhbmVsX2ZzX251aV9sb2dpbi54bWwJMjAyMC0wNS0wNCAwODo1NzozMi42NDgyOTU3
MTMgKzAyMDAKKysrIGxlbW15MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3
L3NraW5zL2RlZmF1bHQveHVpL2VuL3BhbmVsX2ZzX251aV9sb2dpbi54bWwJMjAyMC0wNS0wNCAw
ODo1NzozNS41NDQyODk1NTkgKzAyMDAKQEAgLTEwOCw3ICsxMDgsOCBAQAogICAgIGNvbWJvX2Vk
aXRvci5wcmV2YWxpZGF0ZV9jYWxsYmFjaz0iYXNjaWkiCiAgICAgdG9vbF90aXA9IlRoZSB1c2Vy
bmFtZSB5b3UgY2hvc2Ugd2hlbiB5b3UgcmVnaXN0ZXJlZCwgbGlrZSBib2JzbWl0aDEyIG9yIFN0
ZWxsZXIgU3Vuc2hpbmUiCiAgICAgbmFtZT0idXNlcm5hbWVfY29tYm8iCi0gICAgd2lkdGg9IjIw
MSI+CisgICAgd2lkdGg9IjIwMSIKKyAgICBjb21ib19idXR0b24uc2NhbGVfaW1hZ2U9InRydWUi
PgogICAgIDxjb21ib19ib3guY29tYm9fZWRpdG9yCiAgICAgICB0ZXh0X3BhZF9sZWZ0PSI4Igog
ICAgICAgdGV4dF9wYWRfcmlnaHQ9IjgiCmRpZmYgLWJ1ck5FICctLWV4Y2x1ZGU9LmdpdCcgT3Ro
ZXIvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L3NraW5zL2RlZmF1bHQveHVp
L2VuL3BhbmVsX3ByZWZlcmVuY2VzX2JhY2t1cC54bWwgbGVtbXkwNC9waG9lbml4LWZpcmVzdG9y
bS1sZ3BsL2luZHJhL25ld3ZpZXcvc2tpbnMvZGVmYXVsdC94dWkvZW4vcGFuZWxfcHJlZmVyZW5j
ZXNfYmFja3VwLnhtbAotLS0gT3RoZXIvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9pbmRyYS9uZXd2
aWV3L3NraW5zL2RlZmF1bHQveHVpL2VuL3BhbmVsX3ByZWZlcmVuY2VzX2JhY2t1cC54bWwJMjAx
OS0xMi0yMiAwOTo0ODoyNS43MjQ2MzcyMDYgKzAxMDAKKysrIGxlbW15MDQvcGhvZW5peC1maXJl
c3Rvcm0tbGdwbC9pbmRyYS9uZXd2aWV3L3NraW5zL2RlZmF1bHQveHVpL2VuL3BhbmVsX3ByZWZl
cmVuY2VzX2JhY2t1cC54bWwJMjAxOS0xMi0yMiAxMDoxMzoyNS41MTU5MTczMDUgKzAxMDAKQEAg
LTE2Niw2ICsxNjYsMTEgQEAKICAgICAgICAgICAgIDxjb2x1bW4gbmFtZT0icmVzdG9yZV9nbG9i
YWxfZmlsZXNfbGFiZWwiPkZhdm9yaXRlczwvY29sdW1uPgogICAgICAgICAgICAgPGNvbHVtbiBu
YW1lPSJ2YWx1ZSI+c3RvcmVkX2Zhdm9yaXRlcy54bWw8L2NvbHVtbj4KICAgICAgICAgPC9yb3c+
CisJPHJvdyBuYW1lPSJyZXN0b3JlX2dsb2JhbF9yb3dfbWVkaWFsaXN0cyI+CisgICAgICAgICAg
ICA8Y29sdW1uIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJyZXN0b3JlX2dsb2JhbF9maWxlc19jaGVj
ayIgdmFsdWU9InRydWUiIC8+CisgICAgICAgICAgICA8Y29sdW1uIG5hbWU9InJlc3RvcmVfZ2xv
YmFsX2ZpbGVzX2xhYmVsIj5NZWRpYSBCbGFjay9XaGl0ZWxpc3Q8L2NvbHVtbj4KKyAgICAgICAg
ICAgIDxjb2x1bW4gbmFtZT0idmFsdWUiPm1lZGlhbGlzdC54bWw8L2NvbHVtbj4KKyAgICAgICAg
PC9yb3c+CiAgICAgPC9zY3JvbGxfbGlzdD4KIAogICAgIDwvbGF5b3V0X3BhbmVsPgpAQCAtMjA4
LDExICsyMTMsNiBAQAogICAgICAgICAgICAgPGNvbHVtbiBuYW1lPSJyZXN0b3JlX3Blcl9hY2Nv
dW50X2ZpbGVzX2xhYmVsIj5JbnZlbnRvcnkgRmlsdGVyczwvY29sdW1uPgogICAgICAgICAgICAg
PGNvbHVtbiBuYW1lPSJ2YWx1ZSI+ZmlsdGVycy54bWw8L2NvbHVtbj4KICAgICAgICAgPC9yb3c+
Ci0gICAgICAgIDxyb3cgbmFtZT0icmVzdG9yZV9wZXJfYWNjb3VudF9yb3dfbWVkaWFsaXN0cyI+
Ci0gICAgICAgICAgICA8Y29sdW1uIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJyZXN0b3JlX3Blcl9h
Y2NvdW50X2ZpbGVzX2NoZWNrIiB2YWx1ZT0idHJ1ZSIgLz4KLSAgICAgICAgICAgIDxjb2x1bW4g
bmFtZT0icmVzdG9yZV9wZXJfYWNjb3VudF9maWxlc19sYWJlbCI+TWVkaWEgQmxhY2svV2hpdGVs
aXN0PC9jb2x1bW4+Ci0gICAgICAgICAgICA8Y29sdW1uIG5hbWU9InZhbHVlIj5tZWRpYWxpc3Qu
eG1sPC9jb2x1bW4+Ci0gICAgICAgIDwvcm93PgogICAgICAgICA8cm93IG5hbWU9InJlc3RvcmVf
cGVyX2FjY291bnRfcm93X3Rvb2xiYXJzIj4KICAgICAgICAgICAgIDxjb2x1bW4gdHlwZT0iY2hl
Y2tib3giIG5hbWU9InJlc3RvcmVfcGVyX2FjY291bnRfZmlsZXNfY2hlY2siIHZhbHVlPSJ0cnVl
IiAvPgogICAgICAgICAgICAgPGNvbHVtbiBuYW1lPSJyZXN0b3JlX3Blcl9hY2NvdW50X2ZpbGVz
X2xhYmVsIj5Ub29sYmFyczwvY29sdW1uPgpkaWZmIC1idXJORSAnLS1leGNsdWRlPS5naXQnIE90
aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvcHJlcGFyZS5jbWQgbGVtbXkwNC9waG9lbml4LWZp
cmVzdG9ybS1sZ3BsL3ByZXBhcmUuY21kCi0tLSBPdGhlci9waG9lbml4LWZpcmVzdG9ybS1sZ3Bs
L3ByZXBhcmUuY21kCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBsZW1t
eTA0L3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvcHJlcGFyZS5jbWQJMjAyMC0wMy0wMyAwODo1Mzow
MC4wMTM4NjIzNTggKzAxMDAKQEAgLTAsMCArMSw3IEBACitzZXQgQVVUT0JVSUxEX1ZBUklBQkxF
U19GSUxFPUQ6XFVzZXJzXGxlbW15XEJ1aWxkXGZzLWJ1aWxkLXZhcmlhYmxlc1x2YXJpYWJsZXMK
K3NldCBMTF9CVUlMRD0iICIKKworYXV0b2J1aWxkIGluc3RhbGxhYmxlcyBlZGl0IGZtb2RzdHVk
aW8gcGxhdGZvcm09d2luZG93cyAgIGhhc2g9MmEwYzEwNjUxMWMxMWU0NWI4ZGZlZDVkODJhMTZh
YzkgdXJsPWZpbGU6Ly8vZDpcVXNlcnNcbGVtbXlcQnVpbGRcZm1vZHN0dWRpby0yLjAwLjA4LXdp
bmRvd3MtMjAwNjMwNzQzLnRhci5iejIKK2F1dG9idWlsZCBpbnN0YWxsYWJsZXMgZWRpdCBmbW9k
c3R1ZGlvIHBsYXRmb3JtPXdpbmRvd3M2NCBoYXNoPTMyN2Q0OWJiYjI5YTU1MDUzZDQ4NzRhMjQ5
MTEzOTE4IHVybD1maWxlOi8vL2Q6XFVzZXJzXGxlbW15XEJ1aWxkXGZtb2RzdHVkaW8tMi4wMC4w
OC13aW5kb3dzNjQtMjAwNjMwNzM3LnRhci5iejIKKworYXV0b2J1aWxkIGNvbmZpZ3VyZSAtQSA2
NCAtYyBSZWxlYXNlRlNfb3BlbiAtLSAtLWNoYW4gRGV2ZWxvcGVyeDY0IC0tYXZ4MiAtLWZtb2Rz
dHVkaW8gLS1jbGVhbiAtLXBhY2thZ2UgLURGU19VUEdSQURFQ09ERVM9MGNiNjA3OGEtN2NlNi00
ZTA4LWFkMmUtY2NkMGVjMTg2ZTAxLDQyY2M0NTcyLTA2NDAtNDkzMS1iNDNkLTVlYWIzZTIwYTdj
MyAtRFZTX0RJU0FCTEVfRkFUQUxfV0FSTklOR1M6Qk9PTD1PRkYgLURESVNDT1JEX0FQSV9LRVk9
IjYyMTY3NzA2Mzg5NTc3NzMxMCIKZGlmZiAtYnVyTkUgJy0tZXhjbHVkZT0uZ2l0JyBPdGhlci9w
aG9lbml4LWZpcmVzdG9ybS1sZ3BsL3ByZXBhcmUuY21kfiBsZW1teTA0L3Bob2VuaXgtZmlyZXN0
b3JtLWxncGwvcHJlcGFyZS5jbWR+Ci0tLSBPdGhlci9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL3By
ZXBhcmUuY21kfgkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgbGVtbXkw
NC9waG9lbml4LWZpcmVzdG9ybS1sZ3BsL3ByZXBhcmUuY21kfgkyMDIwLTAxLTIwIDE1OjM2OjA4
LjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDcgQEAKK3NldCBBVVRPQlVJTERfVkFSSUFCTEVT
X0ZJTEU9RDpcVXNlcnNcbGVtbXlcQnVpbGRcZnMtYnVpbGQtdmFyaWFibGVzXHZhcmlhYmxlcwor
c2V0IExMX0JVSUxEPSIgIgorCithdXRvYnVpbGQgaW5zdGFsbGFibGVzIGVkaXQgZm1vZHN0dWRp
byBwbGF0Zm9ybT13aW5kb3dzICAgaGFzaD1hYjFlZGRlMmU0ODg0NTU4YzFhZDE2YjcyM2YzOWEx
YiB1cmw9ZmlsZTovLy9kOlxVc2Vyc1xsZW1teVxCdWlsZFxmbW9kc3R1ZGlvLTIuMDAuMDctd2lu
ZG93cy0yMDAxODA3NTIudGFyLmJ6MgorYXV0b2J1aWxkIGluc3RhbGxhYmxlcyBlZGl0IGZtb2Rz
dHVkaW8gcGxhdGZvcm09d2luZG93czY0IGhhc2g9ZTc1MGUwYzc3Mjg1NDFmNWM0MzBjMzViMDE2
MTEwNGUgdXJsPWZpbGU6Ly8vZDpcVXNlcnNcbGVtbXlcQnVpbGRcZm1vZHN0dWRpby0yLjAwLjA3
LXdpbmRvd3M2NC0yMDAxODA3NTQudGFyLmJ6MgorCithdXRvYnVpbGQgY29uZmlndXJlIC1BIDY0
IC1jIFJlbGVhc2VGU19vcGVuIC0tIC0tY2hhbiBEZXZlbG9wZXJ4NjQgLS1hdngyIC0tZm1vZHN0
dWRpbyAtLWNsZWFuIC0tcGFja2FnZSAtREZTX1VQR1JBREVDT0RFUz0wY2I2MDc4YS03Y2U2LTRl
MDgtYWQyZS1jY2QwZWMxODZlMDEsNDJjYzQ1NzItMDY0MC00OTMxLWI0M2QtNWVhYjNlMjBhN2Mz
IC1EVlNfRElTQUJMRV9GQVRBTF9XQVJOSU5HUzpCT09MPU9GRiAtRERJU0NPUkRfQVBJX0tFWT0i
NjIxNjc3MDYzODk1Nzc3MzEwIgpkaWZmIC1idXJORSAnLS1leGNsdWRlPS5naXQnIE90aGVyL3Bo
b2VuaXgtZmlyZXN0b3JtLWxncGwvc2NyaXB0cy9jb25maWd1cmVfZmlyZXN0b3JtLnNoIGxlbW15
MDQvcGhvZW5peC1maXJlc3Rvcm0tbGdwbC9zY3JpcHRzL2NvbmZpZ3VyZV9maXJlc3Rvcm0uc2gK
LS0tIE90aGVyL3Bob2VuaXgtZmlyZXN0b3JtLWxncGwvc2NyaXB0cy9jb25maWd1cmVfZmlyZXN0
b3JtLnNoCTIwMjAtMDYtMTYgMTM6NTM6MTkuODE0MTU0MjI0ICswMjAwCisrKyBsZW1teTA0L3Bo
b2VuaXgtZmlyZXN0b3JtLWxncGwvc2NyaXB0cy9jb25maWd1cmVfZmlyZXN0b3JtLnNoCTIwMjAt
MDYtMTYgMTM6NTM6MjMuMjE4MTU3MjQwICswMjAwCkBAIC0zOTcsNiArMzk3LDggQEAKIGlmIFsg
XCggJFdBTlRTX1ZFUlNJT04gLWVxICRUUlVFIFwpIC1vIFwoICRXQU5UU19DT05GSUcgLWVxICRU
UlVFIFwpIF0gOyB0aGVuCiAgICAgZWNobyAiVmVyc2lvbmluZy4uLiIKICAgICBwdXNoZCAuLgor
ICAgIGlmIFsgLXogIiR7cmV2aXNpb259IiBdCisgICAgdGhlbgogICAgIGlmIFsgLWQgLmdpdCBd
CiAgICAgdGhlbgogICAgICAgICBidWlsZFZlcj1gZ2l0IHJldi1saXN0IC0tY291bnQgSEVBRGAK
QEAgLTQwNCwxMSArNDA2LDE1IEBACiAgICAgICAgIGJ1aWxkVmVyPWBoZyBzdW1tYXJ5IHwgaGVh
ZCAtMSB8IGN1dCAtZCAiICIgIC1mIDIgfCBjdXQgLWQgOiAtZiAxIHwgZ3JlcCAiWzAtOV0qImAK
ICAgICBmaQogICAgIGV4cG9ydCByZXZpc2lvbj0ke2J1aWxkVmVyfQorICAgIGZpCiAKICAgICBt
YWpvclZlcj1gY2F0IGluZHJhL25ld3ZpZXcvVklFV0VSX1ZFUlNJT04udHh0IHwgY3V0IC1kICIu
IiAtZiAxYAogICAgIG1pbm9yVmVyPWBjYXQgaW5kcmEvbmV3dmlldy9WSUVXRVJfVkVSU0lPTi50
eHQgfCBjdXQgLWQgIi4iIC1mIDJgCiAgICAgcGF0Y2hWZXI9YGNhdCBpbmRyYS9uZXd2aWV3L1ZJ
RVdFUl9WRVJTSU9OLnR4dCB8IGN1dCAtZCAiLiIgLWYgM2AKKyAgICBpZiBbIC16ICIke2dpdEhh
c2h9IiBdCisgICAgdGhlbgogICAgIGdpdEhhc2g9YGdpdCBkZXNjcmliZSAtLWFsd2F5cyAtLWV4
Y2x1ZGUgJyonYAorICAgIGZpCiAgICAgZWNobyAiQ2hhbm5lbCA6ICR7Q0hBTk5FTH0iCiAgICAg
ZWNobyAiVmVyc2lvbiA6ICR7bWFqb3JWZXJ9LiR7bWlub3JWZXJ9LiR7cGF0Y2hWZXJ9LiR7YnVp
bGRWZXJ9IFske2dpdEhhc2h9XSIKICAgICBHSVRIQVNIPS1EVklFV0VSX1ZFUlNJT05fR0lUSEFT
SD1cIiR7Z2l0SGFzaH1cIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>