<?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>97107</bug_id>
          
          <creation_ts>2005-01-15 23:49:58 +0000</creation_ts>
          <short_desc>weather info not shown for stations needing maintenance</short_desc>
          <delta_ts>2006-12-25 23:26:58 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>kweather-kde3</product>
          <component>general</component>
          <version>unspecified</version>
          <rep_platform>Gentoo Packages</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>wishlist</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Sok Ann Yap">sokann</reporter>
          <assigned_to>geiseri</assigned_to>
          <cc>kde</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>303370</commentid>
    <comment_count>0</comment_count>
    <who name="Sok Ann Yap">sokann</who>
    <bug_when>2005-01-15 23:49:58 +0000</bug_when>
    <thetext>Version:            (using KDE KDE 3.3.91)
Installed from:    Gentoo Packages

This wishlist is in regard to the following commit:
( http://webcvs.kde.org/kdetoys/kweather/weatherservice.h?rev=1.28&amp;view=markup )

&quot;For stations needing maintenance I added a new DCOP function: bool stationNeedsMaintenance(const QString &amp;StationID), which returns true
if the station needs maintenance. The dockwidget then uses this new DCOP function to check and display a somewhat informative tool tip.  Also the icon will be &quot;dunno&quot; for stations that need maintenance.  I added this support because for some reason the station near me started going into this &quot;needs maintenance&quot; state.  I noticed that weather.com has switched my area report to a different station, which is something we could think about doing in the future.&quot;

Unfortunately, my nearest station, KLNK, seems to be having this $ maintenance flag all the time, so kweather can only show me the &quot;dunno&quot; icon plus all the ???.

If you go to http://weather.noaa.gov/weather/current/KLNK.html , things seem to be fine.

Also, quoting from the FAQ at http://shadow.agry.purdue.edu/sc.hly-faq.html#q7 , &quot;$ flag indicates only that maintenance is needed, not necessarily that the data are erroneous. Often observers at the ASOS site can catch errors in an observation and change suspect values before the observation is transmitted to users&quot;.

So, I suggest to change the code such that it will still calculate the weather information regardless of the maintenance flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303372</commentid>
    <comment_count>1</comment_count>
      <attachid>9110</attachid>
    <who name="Sok Ann Yap">sokann</who>
    <bug_when>2005-01-15 23:55:57 +0000</bug_when>
    <thetext>Created attachment 9110
Patch to disregard the maintenance flag

After applying the patch, kweather finally shows me the weather infos. Compared
to the results from websites such as weather.com and weather.yahoo.com, I can
say that they are accurate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303381</commentid>
    <comment_count>2</comment_count>
      <attachid>9112</attachid>
    <who name="Sok Ann Yap">sokann</who>
    <bug_when>2005-01-16 00:29:07 +0000</bug_when>
    <thetext>Created attachment 9112
Complete patch

Ahh... I forgot to update the frontend in the previous patch. Please see this
one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344542</commentid>
    <comment_count>3</comment_count>
    <who name="Christian Loose">christian.loose</who>
    <bug_when>2005-05-23 15:17:52 +0000</bug_when>
    <thetext>*** Bug 95870 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495994</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Koller">martin</who>
    <bug_when>2006-12-25 23:26:56 +0000</bug_when>
    <thetext>SVN commit 616506 by mkoller:

BUG: 97107
BUG: 134426
BUG: 108427

Display weather data even if station needs maintenance
Patch included from Sok Ann Yap sokann@gmail.com

Make the tooltip more informative by showing station name
and more data



 M  +56 -31    dockwidget.cpp  
 M  +3 -6      metar_parser.cpp  
 M  +6 -10     reportview.cpp  
 M  +1 -4      weatherlib.cpp  


--- branches/KDE/3.5/kdetoys/kweather/dockwidget.cpp #616505:616506
@@ -41,7 +41,8 @@
     setBackgroundOrigin( AncestorOrigin );
 }
 
-dockwidget::~dockwidget(){
+dockwidget::~dockwidget()
+{
     delete m_weatherService;
 }
 
@@ -77,51 +78,74 @@
 
 void dockwidget::showWeather()
 {
-    QString tip;
+    QString tip = &quot;&lt;qt&gt;&quot;;
 
     QString temp     = &quot;?&quot;;
     QString wind     = &quot;?&quot;;
     QString pressure = &quot;?&quot;;
 
-    if ( !m_locationCode.isEmpty() &amp;&amp; m_weatherService-&gt;stationNeedsMaintenance( m_locationCode ) )
+    if ( !m_locationCode.isEmpty() )
     {
-        tip = i18n(&quot;Station reports that it needs maintenance\n&quot;
-                   &quot;Please try again later&quot;);
-    }
-    else
-    {
-        if ( !m_locationCode.isEmpty() )
-        {
-            temp     = m_weatherService-&gt;temperature( m_locationCode );
-            wind     = m_weatherService-&gt;wind( m_locationCode );
-            pressure = m_weatherService-&gt;pressure( m_locationCode );
-        }
+        temp     = m_weatherService-&gt;temperature( m_locationCode );
+        wind     = m_weatherService-&gt;wind( m_locationCode );
+        pressure = m_weatherService-&gt;pressure( m_locationCode );
 
-        if (m_mode != ShowAll)
-        {
-            tip = i18n(&quot;Temperature: &quot;) + temp;
-            tip += i18n(&quot;\nWind: &quot;) + wind;
-            tip += i18n(&quot;\nAir pressure: &quot;) + pressure;
-        }
+        QString dewPoint    = m_weatherService-&gt;dewPoint( m_locationCode);
+        QString relHumidity = m_weatherService-&gt;relativeHumidity( m_locationCode );
+        QString heatIndex   = m_weatherService-&gt;heatIndex( m_locationCode );
+        QString windChill   = m_weatherService-&gt;windChill( m_locationCode );
+        QString sunRiseTime = m_weatherService-&gt;sunRiseTime( m_locationCode );
+        QString sunSetTime  = m_weatherService-&gt;sunSetTime( m_locationCode );
+
+        tip += &quot;&lt;h3&gt;&lt;center&gt;&lt;nobr&gt;&quot; +
+               m_weatherService-&gt;stationName( m_locationCode ) + &quot; (&quot; +
+               m_weatherService-&gt;stationCountry( m_locationCode ) + &quot;)&lt;/nobr&gt;&lt;/center&gt;&lt;/h3&gt;&lt;br&gt;&quot;;
+
+        tip += QString(&quot;&lt;table&gt;&quot;
+                &quot;&lt;tr&gt;&lt;th&gt;&lt;nobr&gt;&quot; + i18n( &quot;Temperature:&quot;   ) + &quot;&lt;/nobr&gt;&lt;/th&gt;&lt;td&gt;&lt;nobr&gt;%1&lt;/nobr&gt;&lt;/td&gt;&quot;
+                    &quot;&lt;th&gt;&lt;nobr&gt;&quot; + i18n( &quot;Dew Point:&quot;     ) + &quot;&lt;/nobr&gt;&lt;/th&gt;&lt;td&gt;&lt;nobr&gt;%2&lt;/nobr&gt;&lt;/td&gt;&lt;/nobr&gt;&lt;/tr&gt;&quot;
+
+                &quot;&lt;tr&gt;&lt;th&gt;&lt;nobr&gt;&quot; + i18n( &quot;Air Pressure:&quot;  ) + &quot;&lt;/nobr&gt;&lt;/th&gt;&lt;td&gt;&lt;nobr&gt;%3&lt;/nobr&gt;&lt;/td&gt;&quot;
+                    &quot;&lt;th&gt;&lt;nobr&gt;&quot; + i18n( &quot;Rel. Humidity:&quot; ) + &quot;&lt;/nobr&gt;&lt;/th&gt;&lt;td&gt;&lt;nobr&gt;%4&lt;/nobr&gt;&lt;/td&gt;&lt;/nobr&gt;&lt;/tr&gt;&quot;
+
+                &quot;&lt;tr&gt;&lt;th&gt;&lt;nobr&gt;&quot; + i18n( &quot;Wind Speed:&quot;    ) + &quot;&lt;/nobr&gt;&lt;/th&gt;&lt;td&gt;&lt;nobr&gt;%5&lt;/nobr&gt;&lt;/td&gt;&quot;)
+                .arg(temp).arg(dewPoint).arg(pressure).arg(relHumidity).arg(wind);
+
+        if ( !heatIndex.isEmpty() )
+            tip += QString(&quot;&lt;th&gt;&lt;nobr&gt;&quot; + i18n( &quot;Heat Index:&quot; ) + &quot;&lt;/nobr&gt;&lt;/th&gt;&lt;td&gt;&lt;nobr&gt;%1&lt;/nobr&gt;&lt;/td&gt;&quot;).arg(heatIndex);
+        else if ( !windChill.isEmpty() )
+            tip += QString(&quot;&lt;th&gt;&lt;nobr&gt;&quot; + i18n( &quot;Wind Chill:&quot; ) + &quot;&lt;/nobr&gt;&lt;/th&gt;&lt;td&gt;&lt;nobr&gt;%1&lt;/nobr&gt;&lt;/td&gt;&quot;).arg(windChill);
         else
+            tip += &quot;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&quot;;
+        tip += &quot;&lt;/tr&gt;&quot;;
+
+        tip += QString(&quot;&lt;tr&gt;&lt;th&gt;&lt;nobr&gt;&quot; + i18n( &quot;Sunrise:&quot; ) + &quot;&lt;/nobr&gt;&lt;/th&gt;&lt;td&gt;&lt;nobr&gt;%1&lt;/nobr&gt;&lt;/td&gt;&quot; +
+                           &quot;&lt;th&gt;&lt;nobr&gt;&quot; + i18n( &quot;Sunset:&quot;  ) + &quot;&lt;/nobr&gt;&lt;/th&gt;&lt;td&gt;&lt;nobr&gt;%2&lt;/nobr&gt;&lt;/td&gt;&quot;)
+                 .arg(sunRiseTime).arg(sunSetTime);
+
+        tip += &quot;&lt;/tr&gt;&lt;/table&gt;&quot;;
+
+        if ( m_weatherService-&gt;stationNeedsMaintenance( m_locationCode ) )
         {
-            tip = i18n(&quot;Click here to see\nthe detailed weather report...&quot;);
+            tip += &quot;&lt;br&gt;&quot; + i18n(&quot;Station reports that it needs maintenance\n&quot;
+                                 &quot;Please try again later&quot;);
         }
     }
+    else
+    {
+        tip += i18n(&quot;Temperature: &quot;) + temp + &quot;&lt;br&gt;&quot;;
+        tip += i18n(&quot;\nWind: &quot;) + wind + &quot;&lt;br&gt;&quot;;
+        tip += i18n(&quot;\nAir pressure: &quot;) + pressure + &quot;&lt;br&gt;&quot;;
+    }
 
+    tip += &quot;&lt;/qt&gt;&quot;;
+
     // On null or empty location code, or if the station needs maintenance, this will return the dunno icon.
     QPixmap icon = m_weatherService-&gt;icon( m_locationCode );
 
-    if ( ! m_locationCode.isEmpty() )
-    {
-        tip = m_weatherService-&gt;stationName( m_locationCode ) + &quot;\n&quot; +
-              m_weatherService-&gt;stationCountry( m_locationCode ) + &quot;\n&quot; +
-              tip;
-    }
+    QToolTip::remove(this);
+    QToolTip::add(this, tip);
 
-    QToolTip::remove(m_button);
-    QToolTip::add(m_button, tip);
-
     kdDebug(12004) &lt;&lt; &quot;show weather: &quot; &lt;&lt; endl;
     kdDebug(12004) &lt;&lt; &quot;location: &quot; &lt;&lt; m_locationCode &lt;&lt; endl;
     kdDebug(12004) &lt;&lt; &quot;temp,wind,pressure: &quot; &lt;&lt; temp &lt;&lt; &quot; &quot; &lt;&lt; wind &lt;&lt; &quot; &quot; &lt;&lt; pressure &lt;&lt; endl;
@@ -134,7 +158,8 @@
     m_button-&gt;setPixmap( icon );
 }
 
-void dockwidget::initDock(){
+void dockwidget::initDock()
+{
     kdDebug(12004) &lt;&lt; &quot;Init dockwidget &quot; &lt;&lt; endl;
 
     m_button= new WeatherButton(this,&quot;m_button&quot;);
--- branches/KDE/3.5/kdetoys/kweather/metar_parser.cpp #616505:616506
@@ -135,12 +135,9 @@
 		}
 	}
 
-	if (!weatherInfo.stationNeedsMaintenance)
-	{
-		calcTemperatureVariables();
-		calcWindChill();
-		calcCurrentIcon();
-	}
+	calcTemperatureVariables();
+	calcWindChill();
+	calcCurrentIcon();
 	
 	return weatherInfo;
 }
--- branches/KDE/3.5/kdetoys/kweather/reportview.cpp #616505:616506
@@ -100,18 +100,14 @@
     if ( m_weatherService-&gt;stationNeedsMaintenance( m_locationCode ) )
     {
         weatherText += &quot;&lt;li&gt;&quot; + i18n( &quot;Station reports that it needs maintenance&quot; ) + &quot; \n&quot;;
-        weatherText += &quot;&lt;li&gt;&quot; + i18n( &quot;Please try a different one&quot; ) + &quot; \n&quot;;
     }
-    else
-    {
-        for (QStringList::const_iterator it = cover.begin();
-                it != cover.end(); ++it)
-            weatherText += &quot;&lt;li&gt;&quot; + *it + &quot;\n&quot;;
+    for (QStringList::const_iterator it = cover.begin();
+            it != cover.end(); ++it)
+        weatherText += &quot;&lt;li&gt;&quot; + *it + &quot;\n&quot;;
 
-        for (QStringList::const_iterator it = weather.begin();
-                it != weather.end(); ++it)
-            weatherText += &quot;&lt;li&gt;&quot; + *it + &quot;\n&quot;;
-    }
+    for (QStringList::const_iterator it = weather.begin();
+            it != weather.end(); ++it)
+        weatherText += &quot;&lt;li&gt;&quot; + *it + &quot;\n&quot;;
 
     weatherText += &quot;&lt;/ul&gt;\n&quot;;
 
--- branches/KDE/3.5/kdetoys/kweather/weatherlib.cpp #616505:616506
@@ -276,10 +276,7 @@
 	if ( !stationID.isEmpty() )
 	{
 		Data *d = findData(stationID);
-		if (!d-&gt;wi.stationNeedsMaintenance)
-		{
-			result = d-&gt;wi.theWeather;
-		}
+		result = d-&gt;wi.theWeather;
 	}
 	
 	return result;
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9110</attachid>
            <date>2005-01-15 23:55:57 +0000</date>
            <delta_ts>2005-01-16 00:27:13 +0000</delta_ts>
            <desc>Patch to disregard the maintenance flag</desc>
            <filename>nomaint.diff</filename>
            <type>text/plain</type>
            <size>433</size>
            <attacher name="Sok Ann Yap">sokann</attacher>
            
              <data encoding="base64">LS0tIGt3ZWF0aGVyL21ldGFyX3BhcnNlci5jcHAub3JpZwkyMDA1LTAxLTE1IDE2OjQwOjAwLjAw
ODg1MTY0MCAtMDYwMAorKysga3dlYXRoZXIvbWV0YXJfcGFyc2VyLmNwcAkyMDA1LTAxLTE1IDE2
OjQwOjI5LjE4NDQxNjI4MCAtMDYwMApAQCAtMTM1LDEyICsxMzUsOSBAQCBzdHJ1Y3QgV2VhdGhl
ckluZm8gTWV0YXJQYXJzZXI6OnByb2Nlc3NECiAJCX0KIAl9CiAKLQlpZiAoIXdlYXRoZXJJbmZv
LnN0YXRpb25OZWVkc01haW50ZW5hbmNlKQotCXsKLQkJY2FsY1RlbXBlcmF0dXJlVmFyaWFibGVz
KCk7Ci0JCWNhbGNXaW5kQ2hpbGwoKTsKLQkJY2FsY0N1cnJlbnRJY29uKCk7Ci0JfQorCWNhbGNU
ZW1wZXJhdHVyZVZhcmlhYmxlcygpOworCWNhbGNXaW5kQ2hpbGwoKTsKKwljYWxjQ3VycmVudElj
b24oKTsKIAkKIAlyZXR1cm4gd2VhdGhlckluZm87CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9112</attachid>
            <date>2005-01-16 00:29:07 +0000</date>
            <delta_ts>2005-01-16 00:29:07 +0000</delta_ts>
            <desc>Complete patch</desc>
            <filename>nomaint.diff</filename>
            <type>text/plain</type>
            <size>3746</size>
            <attacher name="Sok Ann Yap">sokann</attacher>
            
              <data encoding="base64">LS0tIGt3ZWF0aGVyL2RvY2t3aWRnZXQuY3BwLm9yaWcJMjAwNS0wMS0xNSAxNzowOToyMC41MTE0
NDIyOTYgLTA2MDAKKysrIGt3ZWF0aGVyL2RvY2t3aWRnZXQuY3BwCTIwMDUtMDEtMTUgMTc6MTA6
MjkuNzU2OTE1Mzg0IC0wNjAwCkBAIC04MiwzMCArODIsMjcgQEAgdm9pZCBkb2Nrd2lkZ2V0Ojpz
aG93V2VhdGhlcigpCiAgICAgUVN0cmluZyB3aW5kICAgICA9ICI/IjsKICAgICBRU3RyaW5nIHBy
ZXNzdXJlID0gIj8iOwogCi0gICAgaWYgKCBtX3dlYXRoZXJTZXJ2aWNlLT5zdGF0aW9uTmVlZHNN
YWludGVuYW5jZSggbV9sb2NhdGlvbkNvZGUgKSApCisgICAgaWYgKCAhbV9sb2NhdGlvbkNvZGUu
aXNFbXB0eSgpICkKKyAgICB7CisgICAgICAgIHRlbXAgICAgID0gbV93ZWF0aGVyU2VydmljZS0+
dGVtcGVyYXR1cmUoIG1fbG9jYXRpb25Db2RlICk7CisgICAgICAgIHdpbmQgICAgID0gbV93ZWF0
aGVyU2VydmljZS0+d2luZCggbV9sb2NhdGlvbkNvZGUgKTsKKyAgICAgICAgcHJlc3N1cmUgPSBt
X3dlYXRoZXJTZXJ2aWNlLT5wcmVzc3VyZSggbV9sb2NhdGlvbkNvZGUgKTsKKyAgICB9CisKKyAg
ICBpZiAobV9tb2RlICE9IFNob3dBbGwpCiAgICAgewotICAgICAgICB0aXAgPSBpMThuKCJTdGF0
aW9uIHJlcG9ydHMgdGhhdCBpdCBuZWVkcyBtYWludGVuYW5jZVxuIgotICAgICAgICAgICAgICAg
ICAgICJQbGVhc2UgdHJ5IGFnYWluIGxhdGVyIik7CisgICAgICAgIHRpcCA9IGkxOG4oIlRlbXBl
cmF0dXJlOiAiKSArIHRlbXA7CisgICAgICAgIHRpcCArPSBpMThuKCJcbldpbmQ6ICIpICsgd2lu
ZDsKKyAgICAgICAgdGlwICs9IGkxOG4oIlxuQWlyIHByZXNzdXJlOiAiKSArIHByZXNzdXJlOwog
ICAgIH0KICAgICBlbHNlCiAgICAgewotICAgICAgICBpZiAoICFtX2xvY2F0aW9uQ29kZS5pc0Vt
cHR5KCkgKQotICAgICAgICB7Ci0gICAgICAgICAgICB0ZW1wICAgICA9IG1fd2VhdGhlclNlcnZp
Y2UtPnRlbXBlcmF0dXJlKCBtX2xvY2F0aW9uQ29kZSApOwotICAgICAgICAgICAgd2luZCAgICAg
PSBtX3dlYXRoZXJTZXJ2aWNlLT53aW5kKCBtX2xvY2F0aW9uQ29kZSApOwotICAgICAgICAgICAg
cHJlc3N1cmUgPSBtX3dlYXRoZXJTZXJ2aWNlLT5wcmVzc3VyZSggbV9sb2NhdGlvbkNvZGUgKTsK
LSAgICAgICAgfQorICAgICAgICB0aXAgPSBpMThuKCJDbGljayBoZXJlIHRvIHNlZVxudGhlIGRl
dGFpbGVkIHdlYXRoZXIgcmVwb3J0Li4uIik7CisgICAgfQogCi0gICAgICAgIGlmIChtX21vZGUg
IT0gU2hvd0FsbCkKLSAgICAgICAgewotICAgICAgICAgICAgdGlwID0gaTE4bigiVGVtcGVyYXR1
cmU6ICIpICsgdGVtcDsKLSAgICAgICAgICAgIHRpcCArPSBpMThuKCJcbldpbmQ6ICIpICsgd2lu
ZDsKLSAgICAgICAgICAgIHRpcCArPSBpMThuKCJcbkFpciBwcmVzc3VyZTogIikgKyBwcmVzc3Vy
ZTsKLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRpcCA9
IGkxOG4oIkNsaWNrIGhlcmUgdG8gc2VlXG50aGUgZGV0YWlsZWQgd2VhdGhlciByZXBvcnQuLi4i
KTsKLSAgICAgICAgfQorICAgIGlmICggbV93ZWF0aGVyU2VydmljZS0+c3RhdGlvbk5lZWRzTWFp
bnRlbmFuY2UoIG1fbG9jYXRpb25Db2RlICkgKQorICAgIHsKKyAgICAgICAgdGlwICs9IGkxOG4o
IlN0YXRpb24gcmVwb3J0cyB0aGF0IGl0IG5lZWRzIG1haW50ZW5hbmNlIik7CiAgICAgfQogCiAg
ICAgLy8gT24gbnVsbCBvciBlbXB0eSBsb2NhdGlvbiBjb2RlLCBvciBpZiB0aGUgc3RhdGlvbiBu
ZWVkcyBtYWludGVuYW5jZSwgdGhpcyB3aWxsIHJldHVybiB0aGUgZHVubm8gaWNvbi4KLS0tIGt3
ZWF0aGVyL21ldGFyX3BhcnNlci5jcHAub3JpZwkyMDA1LTAxLTE1IDE2OjQwOjAwLjAwODg1MTY0
MCAtMDYwMAorKysga3dlYXRoZXIvbWV0YXJfcGFyc2VyLmNwcAkyMDA1LTAxLTE1IDE2OjQwOjI5
LjE4NDQxNjI4MCAtMDYwMApAQCAtMTM1LDEyICsxMzUsOSBAQCBzdHJ1Y3QgV2VhdGhlckluZm8g
TWV0YXJQYXJzZXI6OnByb2Nlc3NECiAJCX0KIAl9CiAKLQlpZiAoIXdlYXRoZXJJbmZvLnN0YXRp
b25OZWVkc01haW50ZW5hbmNlKQotCXsKLQkJY2FsY1RlbXBlcmF0dXJlVmFyaWFibGVzKCk7Ci0J
CWNhbGNXaW5kQ2hpbGwoKTsKLQkJY2FsY0N1cnJlbnRJY29uKCk7Ci0JfQorCWNhbGNUZW1wZXJh
dHVyZVZhcmlhYmxlcygpOworCWNhbGNXaW5kQ2hpbGwoKTsKKwljYWxjQ3VycmVudEljb24oKTsK
IAkKIAlyZXR1cm4gd2VhdGhlckluZm87CiB9Ci0tLSBrd2VhdGhlci9yZXBvcnR2aWV3LmNwcC5v
cmlnCTIwMDUtMDEtMTUgMTc6MTU6MDQuMDM1NTA0NzY4IC0wNjAwCisrKyBrd2VhdGhlci9yZXBv
cnR2aWV3LmNwcAkyMDA1LTAxLTE1IDE3OjE2OjA1LjM3MjE4MDE3NiAtMDYwMApAQCAtOTksMTgg
Kzk5LDE0IEBAIHZvaWQgcmVwb3J0Vmlldzo6cmVuZGVyKCl7CiAgICAgaWYgKCBtX3dlYXRoZXJT
ZXJ2aWNlLT5zdGF0aW9uTmVlZHNNYWludGVuYW5jZSggbV9sb2NhdGlvbkNvZGUgKSApCiAgICAg
ewogICAgICAgICB3ZWF0aGVyVGV4dCArPSAiPGxpPiIgKyBpMThuKCAiU3RhdGlvbiByZXBvcnRz
IHRoYXQgaXQgbmVlZHMgbWFpbnRlbmFuY2UiICkgKyAiIFxuIjsKLSAgICAgICAgd2VhdGhlclRl
eHQgKz0gIjxsaT4iICsgaTE4biggIlBsZWFzZSB0cnkgYSBkaWZmZXJlbnQgb25lIiApICsgIiBc
biI7Ci0gICAgfQotICAgIGVsc2UKLSAgICB7Ci0gICAgICAgIGZvciAoUVN0cmluZ0xpc3Q6OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gY292ZXIuYmVnaW4oKTsKLSAgICAgICAgICAgICAgICBpdCAhPSBj
b3Zlci5lbmQoKTsgKytpdCkKLSAgICAgICAgICAgIHdlYXRoZXJUZXh0ICs9ICI8bGk+IiArICpp
dCArICJcbiI7Ci0KLSAgICAgICAgZm9yIChRU3RyaW5nTGlzdDo6Y29uc3RfaXRlcmF0b3IgaXQg
PSB3ZWF0aGVyLmJlZ2luKCk7Ci0gICAgICAgICAgICAgICAgaXQgIT0gd2VhdGhlci5lbmQoKTsg
KytpdCkKLSAgICAgICAgICAgIHdlYXRoZXJUZXh0ICs9ICI8bGk+IiArICppdCArICJcbiI7CiAg
ICAgfQorICAgIGZvciAoUVN0cmluZ0xpc3Q6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gY292ZXIuYmVn
aW4oKTsKKyAgICAgICAgICAgIGl0ICE9IGNvdmVyLmVuZCgpOyArK2l0KQorICAgICAgICB3ZWF0
aGVyVGV4dCArPSAiPGxpPiIgKyAqaXQgKyAiXG4iOworCisgICAgZm9yIChRU3RyaW5nTGlzdDo6
Y29uc3RfaXRlcmF0b3IgaXQgPSB3ZWF0aGVyLmJlZ2luKCk7CisgICAgICAgICAgICBpdCAhPSB3
ZWF0aGVyLmVuZCgpOyArK2l0KQorICAgICAgICB3ZWF0aGVyVGV4dCArPSAiPGxpPiIgKyAqaXQg
KyAiXG4iOwogCiAgICAgd2VhdGhlclRleHQgKz0gIjwvdWw+XG4iOwogCi0tLSBrd2VhdGhlci93
ZWF0aGVybGliLmNwcC5vcmlnCTIwMDUtMDEtMTUgMTc6MTg6MDkuOTg4MjM1NjU2IC0wNjAwCisr
KyBrd2VhdGhlci93ZWF0aGVybGliLmNwcAkyMDA1LTAxLTE1IDE3OjE4OjMxLjk2Mjg5NTAwMCAt
MDYwMApAQCAtMjc2LDEwICsyNzYsNyBAQCBRU3RyaW5nIFdlYXRoZXJMaWI6Omljb25OYW1lKGNv
bnN0IFFTdHJpCiAJaWYgKCAhc3RhdGlvbklELmlzRW1wdHkoKSApCiAJewogCQlEYXRhICpkID0g
ZmluZERhdGEoc3RhdGlvbklEKTsKLQkJaWYgKCFkLT53aS5zdGF0aW9uTmVlZHNNYWludGVuYW5j
ZSkKLQkJewotCQkJcmVzdWx0ID0gZC0+d2kudGhlV2VhdGhlcjsKLQkJfQorCQlyZXN1bHQgPSBk
LT53aS50aGVXZWF0aGVyOwogCX0KIAkKIAlyZXR1cm4gcmVzdWx0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>