<?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>22022</bug_id>
          
          <creation_ts>2008-10-31 17:08:14 -0700</creation_ts>
          <short_desc>[GTK] add a GeoLocation implementation</short_desc>
          <delta_ts>2009-02-02 05:45:30 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bolsinga</cc>
    
    <cc>jmalonzo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>97338</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-10-31 17:08:14 -0700</bug_when>
    <thetext>At least for Linux/*BSD/freedesktop.org we need a Geolocation implementation. The candidates include gpsd, gypsy and GeoClue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97340</commentid>
    <comment_count>1</comment_count>
      <attachid>24824</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-10-31 17:21:29 -0700</bug_when>
    <thetext>Created attachment 24824
Add configure.ac support for geo location</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97341</commentid>
    <comment_count>2</comment_count>
      <attachid>24825</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-10-31 17:23:30 -0700</bug_when>
    <thetext>Created attachment 24825
Add stubs for GeolocationServiceGtk

Stubs and makefile changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97342</commentid>
    <comment_count>3</comment_count>
      <attachid>24826</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-10-31 17:25:58 -0700</bug_when>
    <thetext>Created attachment 24826
Implementation using the gypsy library

An attempt at using the gypsy library. This mostly compiles and links but is completely untested, it is uploaded for reference. The error handling and mixing of querying the information and listening to signals probably needs debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97371</commentid>
    <comment_count>4</comment_count>
      <attachid>24833</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-01 09:03:58 -0700</bug_when>
    <thetext>Created attachment 24833
configure.ac changes for Geolocation support

Add a new configure option for geolocation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97372</commentid>
    <comment_count>5</comment_count>
      <attachid>24834</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-01 09:05:38 -0700</bug_when>
    <thetext>Created attachment 24834
Add stubs and GNUmakefile.am changes

Add stubs for a GeolocationServiceGtk, make the idl generation use ENABLE_GEOLOCATION=1, compile with ENABLE_GEOLOCATION=1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97373</commentid>
    <comment_count>6</comment_count>
      <attachid>24835</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-01 09:08:25 -0700</bug_when>
    <thetext>Created attachment 24835
GeolocationServiceGtk implementation using GeoClue

Implement GeolocationServiceGtk with GeoClue. This is mostly untested, the velocity, suspend, resume handling is missing (not implementable ATM), the accuracy information might not be accurate and there is no API for browser developers yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97405</commentid>
    <comment_count>7</comment_count>
      <attachid>24843</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-02 08:30:16 -0800</bug_when>
    <thetext>Created attachment 24843
GelocationServiceGtk implementation using GeoClue

Fixed a couple of crashes in the startUpdating method. PositionOptions* can be null, it can fail to create a GeoClueMasterClient...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100204</commentid>
    <comment_count>8</comment_count>
      <attachid>24833</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2008-11-25 06:18:56 -0800</bug_when>
    <thetext>Comment on attachment 24833
configure.ac changes for Geolocation support

Looks sane.  r=me

Please add a ChangeLog entry before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100206</commentid>
    <comment_count>9</comment_count>
      <attachid>24834</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2008-11-25 06:21:37 -0800</bug_when>
    <thetext>Comment on attachment 24834
Add stubs and GNUmakefile.am changes

Looks good.  r=me

Please add a ChangeLog entry before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100308</commentid>
    <comment_count>10</comment_count>
      <attachid>24833</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-25 15:18:19 -0800</bug_when>
    <thetext>Comment on attachment 24833
configure.ac changes for Geolocation support

Clearing the review flag. The patch was landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100309</commentid>
    <comment_count>11</comment_count>
      <attachid>24834</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-25 15:19:53 -0800</bug_when>
    <thetext>Comment on attachment 24834
Add stubs and GNUmakefile.am changes

Clearing the review flag. The patch was landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100327</commentid>
    <comment_count>12</comment_count>
      <attachid>24843</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-25 16:26:00 -0800</bug_when>
    <thetext>Comment on attachment 24843
GelocationServiceGtk implementation using GeoClue

Looks sane. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100393</commentid>
    <comment_count>13</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2008-11-26 03:59:53 -0800</bug_when>
    <thetext>Hi Holger,

Just out of curiosity, should we be implementing GeolocationServiceClient instead of having our own GeolocationService impl?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102347</commentid>
    <comment_count>14</comment_count>
      <attachid>25980</attachid>
    <who name="Aurelian Maga">aurelianmaga</who>
    <bug_when>2008-12-12 07:19:12 -0800</bug_when>
    <thetext>Created attachment 25980
tested patch with geoclue

here is a new version of the patch with some minor bugs fixed (also tested with geoclue)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102360</commentid>
    <comment_count>15</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-12-12 10:05:33 -0800</bug_when>
    <thetext>Where is the difference to the not landed patch? Could you generate a patch just showing the additional changes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102361</commentid>
    <comment_count>16</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-12-12 10:06:59 -0800</bug_when>
    <thetext>One thing that held me back to land the patch is privacy. There is currently no API that can allow/disable access to Geo data...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102371</commentid>
    <comment_count>17</comment_count>
      <attachid>25984</attachid>
    <who name="Aurelian Maga">aurelianmaga</who>
    <bug_when>2008-12-12 12:33:55 -0800</bug_when>
    <thetext>Created attachment 25984
added only delta between not landed patch and the one tested

the reason I had to use GEOCLUE_ACCURACY_LEVEL_DETAILED as default was because the options object being passed was null even when I created one</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102437</commentid>
    <comment_count>18</comment_count>
      <attachid>25984</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-12-13 08:27:23 -0800</bug_when>
    <thetext>Comment on attachment 25984
added only delta between not landed patch and the one tested

&gt; diff -Naur a/WebCore/page/PositionError.h b/WebCore/page/PositionError.h

&gt; -        TIMEOUT = 3
&gt; +        TIMEOUT = 3,
&gt; +        LOCATION_PROVIDER_ERROR = 4,
&gt; +        POSITION_NOT_FOUND_ERROR = 5
&gt; +
&gt;      };

This is plain wrong. The enum is matching the PositionError of the w3c geolocation API. You may not just add values to it...

&gt;      
&gt;      static PassRefPtr&lt;PositionError&gt; create(ErrorCode code, const String&amp; message) { return adoptRef(new PositionError(code, message)); }
&gt; diff -Naur a/WebCore/page/PositionError.idl b/WebCore/page/PositionError.idl
&gt; --- a/WebCore/page/PositionError.idl	2008-11-24 08:36:41.000000000 -0500
&gt; +++ b/WebCore/page/PositionError.idl	2008-12-12 15:26:40.000000000 -0500
&gt; @@ -35,6 +35,9 @@
&gt;          const unsigned short PERMISSION_DENIED = 1;
&gt;          const unsigned short POSITION_UNAVAILABLE = 2;
&gt;          const unsigned short TIMEOUT = 3;
&gt; +        const unsigned short LOCATION_PROVIDER_ERROR = 4;
&gt; +        const unsigned short POSITION_NOT_FOUND_ERROR = 5;
&gt; +
&gt;      };

wrong, for the same reason. If you think this should be there then please participate in the W3C geolocation discussion?!

  
&gt;  }
&gt; diff -Naur a/WebCore/platform/gtk/GeolocationServiceGtk.cpp b/WebCore/platform/gtk/GeolocationServiceGtk.cpp
&gt; --- a/WebCore/platform/gtk/GeolocationServiceGtk.cpp	2008-12-12 15:24:56.000000000 -0500
&gt; +++ b/WebCore/platform/gtk/GeolocationServiceGtk.cpp	2008-12-12 15:26:40.000000000 -0500
&gt; @@ -88,7 +88,7 @@
&gt;          return false;
&gt;      }
&gt;  
&gt; -    GeoclueAccuracyLevel accuracyLevel = GEOCLUE_ACCURACY_LEVEL_LOCALITY;
&gt; +    GeoclueAccuracyLevel accuracyLevel = GEOCLUE_ACCURACY_LEVEL_DETAILED;

hmm, could you explain that part? It feels odd to treat a non existing option like a request for a high accuracy...

&gt;  
&gt;  void GeolocationServiceGtk::stopUpdating()
&gt; @@ -168,16 +168,16 @@
&gt;      if (error) {
&gt;          setError(PositionError::POSITION_NOT_FOUND_ERROR, error-&gt;message);
&gt;          return;
&gt; -    } else if (fields &amp; GEOCLUE_POSITION_FIELDS_LATITUDE &amp;&amp; fields &amp; GEOCLUE_POSITION_FIELDS_LONGITUDE) {
&gt; +    } else if (!(fields &amp; GEOCLUE_POSITION_FIELDS_LATITUDE &amp;&amp; fields &amp; GEOCLUE_POSITION_FIELDS_LONGITUDE)) {

oops.


&gt;  
&gt; -
&gt; +    // don&apos;t update now, wait for Geoclue to trigger 
&gt;      // The m_altitudeAccuracy accuracy is likely to be wrong
&gt; -    GeoclueAccuracyLevel level;
&gt; -    geoclue_accuracy_get_details(accuracy.get(), &amp;level, &amp;m_accuracy, &amp;m_altitudeAccuracy);
&gt; -    updatePosition();
&gt; +    //GeoclueAccuracyLevel level;
&gt; +    //geoclue_accuracy_get_details(accuracy.get(), &amp;level, &amp;m_accuracy, &amp;m_altitudeAccuracy);
&gt; +    //updatePosition();


oh well, could you point me to the gurantee that we will get a signal? I could not find anything in the GeoClue API doing that. And in general we do not comment out code...we remove it.


&gt; +    if (!(fields &amp; GEOCLUE_POSITION_FIELDS_LATITUDE &amp;&amp; fields &amp; GEOCLUE_POSITION_FIELDS_LONGITUDE)) {

yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102459</commentid>
    <comment_count>19</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2008-12-13 14:56:50 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 25984 [review])
&gt; &gt; diff -Naur a/WebCore/page/PositionError.h b/WebCore/page/PositionError.h
&gt; 
&gt; &gt; -        TIMEOUT = 3
&gt; &gt; +        TIMEOUT = 3,
&gt; &gt; +        LOCATION_PROVIDER_ERROR = 4,
&gt; &gt; +        POSITION_NOT_FOUND_ERROR = 5
&gt; &gt; +
&gt; &gt;      };
&gt; 
&gt; This is plain wrong. The enum is matching the PositionError of the w3c
&gt; geolocation API. You may not just add values to it...

Correct. These are up to the current spec, available at:

http://dev.w3.org/geo/api/spec-source.html

Please do not add these values to the enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102663</commentid>
    <comment_count>20</comment_count>
      <attachid>26052</attachid>
    <who name="Aurelian Maga">aurelianmaga</who>
    <bug_when>2008-12-16 07:50:10 -0800</bug_when>
    <thetext>Created attachment 26052
updated patch

I’m sending this new patch which hopefully addresses Holger’s and Greg comments.

&gt;This is plain wrong. The enum is matching the PositionError of the w3c
&gt;geolocation API. You may not just add values to it...

agreed

&gt;wrong, for the same reason. If you think this should be there then please
&gt;participate in the W3C geolocation discussion?!

agreed. Is there any reason to have PositionError::LOCATION_PROVIDER_ERROR and PositionError::POSITION_NOT_FOUND_ERROR in the first place?

&gt;hmm, could you explain that part? It feels odd to treat a non existing option
&gt;like a request for a high accuracy...

agreed. I was trying to get around bug 22847

&gt;oh well, could you point me to the gurantee that we will get a signal? I could
&gt;not find anything in the GeoClue API doing that. And in general we do not
&gt;comment out code...we remove it

in geoclue/example/master-pos-example.c position_changed_cb is triggered periodically</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103048</commentid>
    <comment_count>21</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2008-12-19 15:40:32 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; &gt;wrong, for the same reason. If you think this should be there then please
&gt; &gt;participate in the W3C geolocation discussion?!
&gt; 
&gt; agreed. Is there any reason to have PositionError::LOCATION_PROVIDER_ERROR and
&gt; PositionError::POSITION_NOT_FOUND_ERROR in the first place?

Mostly because the JS client will not know what to do with them. You can find the discussion on the Geolocation mailing list of how these names and values came to be. The Thread Subject is &quot;PositionError Requests&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107951</commentid>
    <comment_count>22</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-02-02 04:21:07 -0800</bug_when>
    <thetext>I did land the original patch and the delta in r40441 and 40442.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24824</attachid>
            <date>2008-10-31 17:21:29 -0700</date>
            <delta_ts>2008-11-01 09:03:58 -0700</delta_ts>
            <desc>Add configure.ac support for geo location</desc>
            <filename>0001-Add-Geolocation-support-to-the-configure.ac.patch</filename>
            <type>text/plain</type>
            <size>2190</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA0ODM4YzlhNTE2MGQ3NjkzNDBhM2NlODJlZjU0ZDRjNTcyM2E0NDNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IEZyaSwgMzEgT2N0IDIwMDggMjA6NDk6MzEgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBBZGQgR2VvbG9jYXRpb24gc3VwcG9ydCB0byB0aGUgY29uZmlndXJlLmFjCgogICAg
QWRkIGFuIG9wdGlvbiB0byBidWlsZCBXZWJLaXQvR3RrKyB3aXRoIEdlb2xvY2F0aW9uLiBUaGUK
ICAgIGltcGxlbWVudGF0aW9uIHdpbGwgYmUgdXNpbmcgR3lwc3kuCi0tLQogY29uZmlndXJlLmFj
IHwgICAxMCArKysrKysrKysrCiAxIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDAg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmlu
ZGV4IDAyNWNhMTIuLjNlYmVhZDMgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25m
aWd1cmUuYWMKQEAgLTQ0NCw2ICs0NDQsMTQgQEAgQUNfQVJHX0VOQUJMRSh4c2x0LAogICAgICAg
ICAgICAgICBbXSxbZW5hYmxlX3hzbHQ9InllcyJdKQogQUNfTVNHX1JFU1VMVChbJGVuYWJsZV94
c2x0XSkKIAorIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBnZW9sb2NhdGlvbiBzdXBwb3J0CitB
Q19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIGdlb2xvY2F0aW9uIHN1cHBvcnRdKQor
QUNfQVJHX0VOQUJMRShnZW9sb2NhdGlvbiwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkco
Wy0tZW5hYmxlLWdlb2xvY2F0aW9uXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vu
YWJsZSBzdXBwb3J0IGZvciBnZW9sb2NhdGlvbiBbZGVmYXVsdD15ZXNdXSksCisgICAgICAgICAg
ICAgIFtdLFtlbmFibGVfZ2VvbG9jYXRpb249InllcyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJs
ZV9nZW9sb2NhdGlvbl0pCisKICMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgU1ZHIHN1cHBvcnQK
IEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgU1ZHIHN1cHBvcnRdKQogQUNfQVJH
X0VOQUJMRShzdmcsCkBAIC02OTQsNiArNzAyLDcgQEAgQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9E
QVRBQkFTRV0sW3Rlc3QgIiRlbmFibGVfZGF0YWJhc2UiID0gInllcyJdKQogQU1fQ09ORElUSU9O
QUwoW0VOQUJMRV9JQ09OREFUQUJBU0VdLFt0ZXN0ICIkZW5hYmxlX2ljb25fZGF0YWJhc2UiID0g
InllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9YUEFUSF0sW3Rlc3QgIiRlbmFibGVfeHBh
dGgiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9YU0xUXSxbdGVzdCAiJGVuYWJs
ZV94c2x0IiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfR0VPTE9DQVRJT05dLCBb
dGVzdCAiJGVuYWJsZV9nZW9sb2NhdGlvbiIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5B
QkxFX1ZJREVPXSxbdGVzdCAiJGVuYWJsZV92aWRlbyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05B
TChbRU5BQkxFX1NWR10sW3Rlc3QgIiRlbmFibGVfc3ZnIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElP
TkFMKFtFTkFCTEVfU1ZHX0FOSU1BVElPTl0sW3Rlc3QgIiRlbmFibGVfc3ZnX2FuaW1hdGlvbiIg
PSAieWVzIl0pCkBAIC03NDQsNiArNzUzLDcgQEAgRmVhdHVyZXM6CiAgU1ZHIHVzZSBlbGVtZW50
IHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX3N2Z191
c2VfZWxlbWVudAogIFhQQVRIIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogJGVuYWJsZV94cGF0aAogIFhTTFQgc3VwcG9ydCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV94c2x0CisgR2VvbG9jYXRp
b24gc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxl
X2dlb2xvY2F0aW9uCiBHVEsrIGNvbmZpZ3VyYXRpb246CiAgR0RLIHRhcmdldCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2l0aF90YXJnZXQKICBIaWxk
b24gVUkgZXh0ZW5zaW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3
aXRoX2hpbGRvbgotLSAKMS41LjYuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24825</attachid>
            <date>2008-10-31 17:23:30 -0700</date>
            <delta_ts>2008-11-01 09:05:38 -0700</delta_ts>
            <desc>Add stubs for GeolocationServiceGtk</desc>
            <filename>0002-Add-GeoleocationServiceGtk-stubs-and-integrate-it-in.patch</filename>
            <type>text/plain</type>
            <size>4905</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA3NjVlMGZiYWY2N2MwZTkxMmVlMzIwNDI1Y2I3Nzc0NDZmOGJlNzJiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IEZyaSwgMzEgT2N0IDIwMDggMjE6MDM6NDkgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBBZGQgR2VvbGVvY2F0aW9uU2VydmljZUd0ayBzdHVicyBhbmQgaW50ZWdyYXRlIGl0
IGludG8gdGhlIGJ1aWxkc3lzdGVtCgogICAgQWRkIHN0dWJzLiBUaGUgaW1wbGVtZW50YXRpb24g
d2lsbCB1c2UgR3lwc3kgc28gaXQgbWlnaHQgbWFrZSBzZW5zZQogICAgdG8gbW92ZSB0aGlzIGNv
ZGUgdG8gV2ViQ29yZS9wbGF0Zm9ybS9neXBzeSBvbmNlIGl0IGlzIHJldXNlZCBieQogICAgb3Ro
ZXIgTGludXggcG9ydHMuCi0tLQogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTMgKysrKysKIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9u
U2VydmljZUd0ay5jcHAgfCAgIDYxICsrKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmggICB8ICAgNDEgKysrKysrKysrKysr
KysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMTUgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZp
Y2VHdGsuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9j
YXRpb25TZXJ2aWNlR3RrLmgKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBjMDE0YWM2Li5kNDU5OGM2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAg
LTI5NjUsNiArMjk2NSwxOSBAQCB3ZWJpbnNwZWN0b3JpbWFnZXNkaXIgPSAke2RhdGFkaXJ9L3dl
YmtpdC0xLjAvd2ViaW5zcGVjdG9yL0ltYWdlcwogZGlzdF93ZWJpbnNwZWN0b3JpbWFnZXNfREFU
QSA9IFwKIAkkKHNoZWxsIGxzICQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMv
Ki5wbmcpCiAKKyMgLS0tLQorIyBHZW9sb2NhdGlvbgorIyAtLS0tCitpZiBFTkFCTEVfR0VPTE9D
QVRJT04KKword2ViY29yZV9jcHBmbGFncyArPSBcCisJLURFTkFCTEVfR0VPTE9DQVRJT049MQor
Cit3ZWJjb3JlX3NvdXJjZXMgKz0gXAorCVdlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9u
U2VydmljZUd0ay5oIFwKKwlXZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VH
dGsuY3BwCitlbmRpZiAjIEVORCBFTkFCTEVfR0VPTE9DQVRJT04KKwogIyBDbGVhbiBydWxlcyBm
b3IgV2ViQ29yZQogCiBDTEVBTkZJTEVTICs9IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9H
ZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjBjODBkZDYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9s
b2NhdGlvblNlcnZpY2VHdGsuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDggSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkdlb2xvY2F0aW9uU2VydmljZUd0ay5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK0dlb2xvY2F0aW9uU2VydmljZSogR2VvbG9jYXRpb25TZXJ2aWNlOjpjcmVhdGUoR2VvbG9j
YXRpb25TZXJ2aWNlQ2xpZW50KiBjbGllbnQpCit7CisgICAgcmV0dXJuIG5ldyBHZW9sb2NhdGlv
blNlcnZpY2VHdGsoY2xpZW50KTsKK30KKworR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpHZW9sb2Nh
dGlvblNlcnZpY2VHdGsoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50KiBjbGllbnQpCisgICAgOiBH
ZW9sb2NhdGlvblNlcnZpY2UoY2xpZW50KQore30KKworYm9vbCBHZW9sb2NhdGlvblNlcnZpY2VH
dGs6OnN0YXJ0VXBkYXRpbmcoUG9zaXRpb25PcHRpb25zKikKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK3ZvaWQgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpzdG9wVXBkYXRpbmcoKQoreworfQor
Cit2b2lkIEdlb2xvY2F0aW9uU2VydmljZUd0azo6c3VzcGVuZCgpCit7Cit9CisKK3ZvaWQgR2Vv
bG9jYXRpb25TZXJ2aWNlR3RrOjpyZXN1bWUoKQoreworfQorCitHZW9wb3NpdGlvbiogR2VvbG9j
YXRpb25TZXJ2aWNlR3RrOjpsYXN0UG9zaXRpb24oKSBjb25zdAoreworICAgIHJldHVybiAwOwor
fQorCitQb3NpdGlvbkVycm9yKiBHZW9sb2NhdGlvblNlcnZpY2VHdGs6Omxhc3RFcnJvcigpIGNv
bnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2Vv
bG9jYXRpb25TZXJ2aWNlR3RrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MDJhZmYyZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0
aW9uU2VydmljZUd0ay5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDggSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBHZW9sb2NhdGlvblNlcnZpY2VH
dGtfaAorI2RlZmluZSBHZW9sb2NhdGlvblNlcnZpY2VHdGtfaAorCisjaW5jbHVkZSAiR2VvbG9j
YXRpb25TZXJ2aWNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICBjbGFzcyBHZW9sb2Nh
dGlvblNlcnZpY2VHdGsgOiBwdWJsaWMgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAgICBwdWJsaWM6
CisgICAgICAgIEdlb2xvY2F0aW9uU2VydmljZUd0ayhHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQq
KTsKKworICAgICAgICB2aXJ0dWFsIGJvb2wgc3RhcnRVcGRhdGluZyhQb3NpdGlvbk9wdGlvbnMq
KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOworCisgICAgICAgIHZpcnR1
YWwgdm9pZCBzdXNwZW5kKCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCByZXN1bWUoKTsKKworICAg
ICAgICBHZW9wb3NpdGlvbiogbGFzdFBvc2l0aW9uKCkgY29uc3Q7CisgICAgICAgIFBvc2l0aW9u
RXJyb3IqIGxhc3RFcnJvcigpIGNvbnN0OworICAgIH07Cit9CisKKyNlbmRpZgotLSAKMS41LjYu
MwoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24826</attachid>
            <date>2008-10-31 17:25:58 -0700</date>
            <delta_ts>2008-10-31 17:25:58 -0700</delta_ts>
            <desc>Implementation using the gypsy library</desc>
            <filename>0003-Implement-GeolocationService-using-the-Gypsy-library.patch</filename>
            <type>text/plain</type>
            <size>13409</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSAyZmU1NGUxNDI0ZDQzMTg5ODk0ZDNjYzBkNjIzNjNkMmZlMjE2ZDE0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IEZyaSwgMzEgT2N0IDIwMDggMjI6MjU6NTUgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBJbXBsZW1lbnQgR2VvbG9jYXRpb25TZXJ2aWNlIHVzaW5nIHRoZSBHeXBzeSBsaWJy
YXJ5CgpVbnRlc3RlZCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgR2VvbG9jYXRpb25TZXJ2aWNlIHVz
aW5nIHRoZSBneXBzeQpsaWJyYXJ5LiBUaGUgZXJyb3IgYW5kIHNpZ25hbCBoYW5kbGluZyBuZWVk
cyB2ZXJpZmljYXRpb24uIFRoaXMKaXMganVzdCBmb3IgcmVmZXJlbmNlLgotLS0KIEdOVW1ha2Vm
aWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJDb3Jl
L3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwIHwgIDIzOCArKysrKysrKysr
KysrKysrKysrKysrKy0KIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0
ay5oICAgfCAgIDQ4ICsrKysrCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgOCArCiA0IGZpbGVzIGNoYW5nZWQsIDI5MyBpbnNlcnRpb25zKCspLCA1
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUu
YW0KaW5kZXggMmQ2Mzk5My4uYjBjNDZiOSAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysr
IGIvR05VbWFrZWZpbGUuYW0KQEAgLTE4Myw3ICsxODMsOCBAQCBsaWJXZWJDb3JlX2xhX0NGTEFH
UyA9IFwKIAkkKEdTVFJFQU1FUl9DRkxBR1MpIFwKIAkkKExJQlhTTFRfQ0ZMQUdTKSBcCiAJJChD
T1ZFUkFHRV9DRkxBR1MpIFwKLQkkKEhJTERPTl9DRkxBR1MpCisJJChISUxET05fQ0ZMQUdTKSBc
CisJJChHWVBTWV9DRkxBR1MpCiAKIGxpYldlYkNvcmVfbGFfQ1BQRkxBR1MgPSBcCiAJJChnbG9i
YWxfY3BwZmxhZ3MpIFwKQEAgLTIxMiw2ICsyMTMsNyBAQCBsaWJXZWJDb3JlX2xhX0xJQkFERCA9
IFwKIAkkKEhJTERPTl9MSUJTKSBcCiAJJChKUEVHX0xJQlMpIFwKIAkkKFBOR19MSUJTKSBcCisJ
JChHWVBTWV9MSUJTKSBcCiAJLWxwdGhyZWFkCiAKICMgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmNwcAppbmRleCAwYzgwZGQ2Li41MDA3MTdi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsu
Y3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5jcHAK
QEAgLTIwLDggKzIwLDE0IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR2VvbG9j
YXRpb25TZXJ2aWNlR3RrLmgiCiAKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisjaW5jbHVkZSAiR093
blB0ci5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorU3RyaW5nIEdlb2xvY2F0aW9uU2VydmljZUd0azo6c19ncHNQYXRoID0gIi9kZXYvZ3Bz
IjsKKwogR2VvbG9jYXRpb25TZXJ2aWNlKiBHZW9sb2NhdGlvblNlcnZpY2U6OmNyZWF0ZShHZW9s
b2NhdGlvblNlcnZpY2VDbGllbnQqIGNsaWVudCkKIHsKICAgICByZXR1cm4gbmV3IEdlb2xvY2F0
aW9uU2VydmljZUd0ayhjbGllbnQpOwpAQCAtMjksMzMgKzM1LDI1NyBAQCBHZW9sb2NhdGlvblNl
cnZpY2UqIEdlb2xvY2F0aW9uU2VydmljZTo6Y3JlYXRlKEdlb2xvY2F0aW9uU2VydmljZUNsaWVu
dCogY2xpZW50KQogCiBHZW9sb2NhdGlvblNlcnZpY2VHdGs6Okdlb2xvY2F0aW9uU2VydmljZUd0
ayhHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqIGNsaWVudCkKICAgICA6IEdlb2xvY2F0aW9uU2Vy
dmljZShjbGllbnQpCi17fQorICAgICwgbV9neXBzeUNvbnRyb2woZ3lwc3lfY29udHJvbF9nZXRf
ZGVmYXVsdCgpKQorICAgICwgbV9neXBzeURldmljZSgwKQorICAgICwgbV9neXBzeVBvc2l0aW9u
KDApCisgICAgLCBtX2d5cHN5QWNjdXJhY3koMCkKKyAgICAsIG1fZ3lwc3lDb3Vyc2UoMCkKKyAg
ICAsIG1fZXJyb3JDb2RlKFBvc2l0aW9uRXJyb3I6OlVOS05PV05fRVJST1IpCisgICAgLCBtX2xh
dGl0dWRlKDAuMCkKKyAgICAsIG1fbG9uZ2l0dWRlKDAuMCkKKyAgICAsIG1fYWx0aXR1ZGUoMC4w
KQorICAgICwgbV9hbHRpdHVkZUFjY3VyYWN5KDAuMCkKKyAgICAsIG1faGVhZGluZygwLjApCisg
ICAgLCBtX3NwZWVkKDAuMCkKKyAgICAsIG1fdGltZXN0YW1wKDApCisgICAgLCBtX25vRXJyb3Io
ZmFsc2UpCit7CisgICAgR0Vycm9yICplcnJvcjsKKyAgICBjaGFyKiBkZXZpY2VQYXRoID0gZ3lw
c3lfY29udHJvbF9jcmVhdGUobV9neXBzeUNvbnRyb2wsIHNfZ3BzUGF0aC51dGY4KCkuZGF0YSgp
LCAmZXJyb3IpOyAKKworICAgIGlmICghZGV2aWNlUGF0aCkgeworICAgICAgICBMT0dfRVJST1Io
IkZhaWxlZCB0byBjcmVhdGUgYSBneXBzeSBjb25uZWN0aW9uIGZvciAnJXMnIiwgc19ncHNQYXRo
LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBnX2Vycm9yX2ZyZWUoZXJyb3IpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgbV9neXBzeURldmljZSA9IGd5cHN5X2RldmljZV9uZXcoZGV2
aWNlUGF0aCk7IAorICAgIG1fZ3lwc3lQb3NpdGlvbiA9IGd5cHN5X3Bvc2l0aW9uX25ldyhkZXZp
Y2VQYXRoKTsKKyAgICBtX2d5cHN5Q291cnNlID0gZ3lwc3lfY291cnNlX25ldyhkZXZpY2VQYXRo
KTsKKyAgICBtX2d5cHN5QWNjdXJhY3kgPSBneXBzeV9hY2N1cmFjeV9uZXcoZGV2aWNlUGF0aCk7
CisKKyAgICBnX3NpZ25hbF9jb25uZWN0KEdfT0JKRUNUKG1fZ3lwc3lQb3NpdGlvbiksICJwb3Np
dG9uLWNoYW5nZWQiLAorICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyhwb3NpdG9uX2No
YW5nZWQpLCB0aGlzKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KEdfT0JKRUNUKG1fZ3lwc3lDb3Vy
c2UpLCAiY291cnNlLWNoYW5nZWQiLAorICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyhj
b3Vyc2VfY2hhbmdlZCksIHRoaXMpOworICAgIGdfc2lnbmFsX2Nvbm5lY3QoR19PQkpFQ1QobV9n
eXBzeUFjY3VyYWN5KSwgImFjY3VyYWN5LWNoYW5nZWQiLAorICAgICAgICAgICAgICAgICAgICAg
R19DQUxMQkFDSyhhY2N1cmFjeV9jaGFuZ2VkKSwgdGhpcyk7CisgICAgZ19zaWduYWxfY29ubmVj
dChHX09CSkVDVChtX2d5cHN5RGV2aWNlKSwgImNvbm5lY3Rpb24tY2hhbmdlZCIsCisgICAgICAg
ICAgICAgICAgICAgICBHX0NBTExCQUNLKGNvbm5lY3Rpb25fY2hhbmdlZCksIHRoaXMpOworICAg
IGdfc2lnbmFsX2Nvbm5lY3QoR19PQkpFQ1QobV9neXBzeURldmljZSksICJmaXgtc3RhdHVzLWNo
YW5nZWQiLAorICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyhmaXhfc3RhdHVzX2NoYW5n
ZWQpLCB0aGlzKTsKKworICAgIC8vIG5vdCBzdXJlIHRoYXQgdGhlIGFib3ZlIHRha2UgYSBjb3B5
IG9mIHRoZSBzdHJpbmcKKyAgICBnX2ZyZWUoZGV2aWNlUGF0aCk7Cit9CisKK0dlb2xvY2F0aW9u
U2VydmljZUd0azo6fkdlb2xvY2F0aW9uU2VydmljZUd0aygpCit7CisgICAgZ19vYmplY3RfdW5y
ZWYobV9neXBzeUNvbnRyb2wpOworCisgICAgaWYgKG1fZ3lwc3lEZXZpY2UpCisgICAgICAgIGdf
b2JqZWN0X3VucmVmKG1fZ3lwc3lEZXZpY2UpOworICAgIAorICAgIGlmIChtX2d5cHN5UG9zaXRp
b24pCisgICAgICAgIGdfb2JqZWN0X3VucmVmKG1fZ3lwc3lQb3NpdGlvbik7CisKKyAgICBpZiAo
bV9neXBzeUFjY3VyYWN5KQorICAgICAgICBnX29iamVjdF91bnJlZihtX2d5cHN5QWNjdXJhY3kp
OworCisgICAgaWYgKG1fZ3lwc3lDb3Vyc2UpCisgICAgICAgIGdfb2JqZWN0X3VucmVmKG1fZ3lw
c3lDb3Vyc2UpOworfQogCiBib29sIEdlb2xvY2F0aW9uU2VydmljZUd0azo6c3RhcnRVcGRhdGlu
ZyhQb3NpdGlvbk9wdGlvbnMqKQogewotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIW1fZ3lw
c3lEZXZpY2UpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEdPd25QdHI8R0Vycm9yPiBl
cnJvcjsKKyAgICByZXR1cm4gZ3lwc3lfZGV2aWNlX3N0YXJ0KG1fZ3lwc3lEZXZpY2UsICZlcnJv
ci5vdXRQdHIoKSk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpzdG9wVXBkYXRp
bmcoKQogeworICAgIGlmICghbV9neXBzeURldmljZSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
R093blB0cjxHRXJyb3I+IGVycm9yOworICAgIGd5cHN5X2RldmljZV9zdG9wKG1fZ3lwc3lEZXZp
Y2UsICZlcnJvci5vdXRQdHIoKSk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpz
dXNwZW5kKCkKIHsKKyAgICAvLyBub3QgYXZhaWxhYmxlIHdpdGggZ3lwc3kgeWV0CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnJlc3VtZSgp
CiB7CisgICAgLy8gbm90IGF2YWlsYWJsZSB3aXRoIGd5cHN5IHlldAorICAgIG5vdEltcGxlbWVu
dGVkKCk7CiB9CiAKIEdlb3Bvc2l0aW9uKiBHZW9sb2NhdGlvblNlcnZpY2VHdGs6Omxhc3RQb3Np
dGlvbigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIDA7CisgICAgLy8gV2UgZGlkbid0IGdldCBhIHNp
Z25hbCB5ZXQsIHRyeSB0byBnZXQgYSBwb3NpdGlvbgorICAgIGlmICghbV9sYXN0UG9zaXRpb24g
JiYgbV9neXBzeURldmljZSkgeworICAgICAgICBHZW9sb2NhdGlvblNlcnZpY2VHdGsqIHRoYXQg
PSBjb25zdF9jYXN0PEdlb2xvY2F0aW9uU2VydmljZUd0ayo+KHRoaXMpOworICAgICAgICB0aGF0
LT5mZXRjaEdQU0luZm9ybWF0aW9uKCk7CisgICAgICAgIHRoYXQtPnVwZGF0ZVBvc2l0aW9uQW5k
RXJyb3IoKTsKKyAgICB9CisKKyAgICByZXR1cm4gbV9sYXN0UG9zaXRpb24uZ2V0KCk7CiB9CiAK
IFBvc2l0aW9uRXJyb3IqIEdlb2xvY2F0aW9uU2VydmljZUd0azo6bGFzdEVycm9yKCkgY29uc3QK
IHsKLSAgICByZXR1cm4gMDsKKyAgICBpZiAoIW1fbGFzdEVycm9yICYmIG1fZ3lwc3lEZXZpY2Up
IHsKKyAgICAgICAgR2VvbG9jYXRpb25TZXJ2aWNlR3RrKiB0aGF0ID0gY29uc3RfY2FzdDxHZW9s
b2NhdGlvblNlcnZpY2VHdGsqPih0aGlzKTsKKyAgICAgICAgdGhhdC0+ZmV0Y2hHUFNJbmZvcm1h
dGlvbigpOworICAgICAgICB0aGF0LT51cGRhdGVQb3NpdGlvbkFuZEVycm9yKCk7CisgICAgfQor
CisgICAgcmV0dXJuIG1fbGFzdEVycm9yLmdldCgpOworfQorCisvLyBzaWdoLCBzbyBtYW55IHJv
dW5kdHJpcHMKK3ZvaWQgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpmZXRjaEdQU0luZm9ybWF0aW9u
KCkKK3sKKyAgICBtX25vRXJyb3IgPSBmYWxzZTsKKworICAgIEdPd25QdHI8R0Vycm9yPiBlcnJv
cjsKKyAgICBpZiAoIWd5cHN5X2RldmljZV9nZXRfY29ubmVjdGlvbl9zdGF0dXMobV9neXBzeURl
dmljZSwgJmVycm9yLm91dFB0cigpKSkgeworICAgICAgICBtX2Vycm9yQ29kZSA9IFBvc2l0aW9u
RXJyb3I6OkxPQ0FUSU9OX1BST1ZJREVSX0VSUk9SOworICAgICAgICBtX2Vycm9yTWVzc2FnZSA9
IFN0cmluZzo6ZnJvbVVURjgoZXJyb3ItPm1lc3NhZ2UpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKCFneXBzeV9kZXZpY2VfZ2V0X2ZpeF9zdGF0dXMobV9neXBzeURldmljZSwg
JmVycm9yLm91dFB0cigpKSA+IEdZUFNZX0RFVklDRV9GSVhfU1RBVFVTX05PTkUpIHsKKyAgICAg
ICAgbV9lcnJvckNvZGUgPSBQb3NpdGlvbkVycm9yOjpQT1NJVElPTl9OT1RfRk9VTkRfRVJST1I7
CisgICAgICAgIG1fZXJyb3JNZXNzYWdlID0gU3RyaW5nOjpmcm9tVVRGOChlcnJvci0+bWVzc2Fn
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoZ3lwc3lfcG9zaXRpb25fZ2V0
X3Bvc2l0aW9uKG1fZ3lwc3lQb3NpdGlvbiwgJm1fdGltZXN0YW1wLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJm1fbGF0aXR1ZGUsICZtX2xvbmdpdHVkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtX2FsdGl0dWRlLCAmZXJyb3Iub3V0UHRyKCkp
ID09IEdZUFNZX1BPU0lUSU9OX0ZJRUxEU19OT05FKSB7CisgICAgICAgIG1fZXJyb3JDb2RlID0g
UG9zaXRpb25FcnJvcjo6UE9TSVRJT05fTk9UX0ZPVU5EX0VSUk9SOworICAgICAgICBtX2Vycm9y
TWVzc2FnZSA9IFN0cmluZzo6ZnJvbVVURjgoZXJyb3ItPm1lc3NhZ2UpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaW50IGR1bW15X2ludDsKKyAgICBkb3VibGUgZHVtbXlfZG91Ymxl
OworICAgIGlmIChneXBzeV9jb3Vyc2VfZ2V0X2NvdXJzZShtX2d5cHN5Q291cnNlLCAmZHVtbXlf
aW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbV9zcGVlZCwgJm1faGVhZGlu
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmR1bW15X2RvdWJsZSwgJmVycm9y
Lm91dFB0cigpKSA9PSBHWVBTWV9DT1VSU0VfRklFTERTX05PTkUpIHsKKyAgICAgICAgbV9lcnJv
ckNvZGUgPSBQb3NpdGlvbkVycm9yOjpQT1NJVElPTl9OT1RfRk9VTkRfRVJST1I7CisgICAgICAg
IG1fZXJyb3JNZXNzYWdlID0gU3RyaW5nOjpmcm9tVVRGOChlcnJvci0+bWVzc2FnZSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoZ3lwc3lfYWNjdXJhY3lfZ2V0X2FjY3VyYWN5
KG1fZ3lwc3lBY2N1cmFjeSwgJm1fYWNjdXJhY3ksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmbV9hbHRpdHVkZUFjY3VyYWN5LCAmZHVtbXlfZG91YmxlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yLm91dFB0cigpKSA9PSBHWVBTWV9BQ0NV
UkFDWV9GSUVMRFNfTk9ORSkgeworICAgICAgICBtX2Vycm9yQ29kZSA9IFBvc2l0aW9uRXJyb3I6
OlBPU0lUSU9OX05PVF9GT1VORF9FUlJPUjsKKyAgICAgICAgbV9lcnJvck1lc3NhZ2UgPSBTdHJp
bmc6OmZyb21VVEY4KGVycm9yLT5tZXNzYWdlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIG1fbm9FcnJvciA9IHRydWU7Cit9CisKK3ZvaWQgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjp1
cGRhdGVQb3NpdGlvbkFuZEVycm9yKCkKK3sKKyAgICBtX2xhc3RQb3NpdGlvbiA9IG1fbm9FcnJv
ciA/IEdlb3Bvc2l0aW9uOjpjcmVhdGUobV9sYXRpdHVkZSwgbV9sb25naXR1ZGUsIG1fYWx0aXR1
ZGUsIG1fYWNjdXJhY3ksIG1fYWx0aXR1ZGVBY2N1cmFjeSwgbV9oZWFkaW5nLCBtX3NwZWVkLCBt
X3RpbWVzdGFtcCoxMDAwLjApIDogMDsKKyAgICBtX2xhc3RFcnJvciA9IG1fbm9FcnJvciA/IDAg
OiBQb3NpdGlvbkVycm9yOjpjcmVhdGUobV9lcnJvckNvZGUsIG1fZXJyb3JNZXNzYWdlKTsKK30K
Kwordm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnBvc2l0b25fY2hhbmdlZChHeXBzeVBvc2l0
aW9uKiwgR3lwc3lQb3NpdGlvbkZpZWxkcyBmaWVsZHMsIGludCB0aW1lc3RhbXAsIGRvdWJsZSBs
YXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFsdGl0dWRlLCBHZW9sb2NhdGlvblNl
cnZpY2VHdGsqIHRoYXQpCit7CisgICAgaWYgKGZpZWxkcyA9PSBHWVBTWV9QT1NJVElPTl9GSUVM
RFNfTk9ORSkgeworICAgICAgICB0aGF0LT5tX25vRXJyb3IgPSBmYWxzZTsKKyAgICAgICAgdGhh
dC0+bV9lcnJvckNvZGUgPSBQb3NpdGlvbkVycm9yOjpQT1NJVElPTl9OT1RfRk9VTkRfRVJST1I7
CisgICAgICAgIHRoYXQtPm1fZXJyb3JNZXNzYWdlID0gU3RyaW5nKCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgdGhhdC0+bV90aW1lc3RhbXAgPSB0aW1lc3RhbXA7CisgICAgICAgIHRoYXQtPm1f
bGF0aXR1ZGUgPSBsYXRpdHVkZTsKKyAgICAgICAgdGhhdC0+bV9sb25naXR1ZGUgPSBsb25naXR1
ZGU7CisgICAgICAgIHRoYXQtPm1fYWx0aXR1ZGUgPSBhbHRpdHVkZTsKKyAgICAgICAgdGhhdC0+
bV9ub0Vycm9yID0gdHJ1ZTsKKyAgICB9CisKKyAgICB0aGF0LT51cGRhdGVQb3NpdGlvbkFuZEVy
cm9yKCk7CisgICAgdGhhdC0+cG9zaXRpb25DaGFuZ2VkKCk7Cit9CisKK3ZvaWQgR2VvbG9jYXRp
b25TZXJ2aWNlR3RrOjphY2N1cmFjeV9jaGFuZ2VkKEd5cHN5QWNjdXJhY3kqLCBHeXBzeUFjY3Vy
YWN5RmllbGRzIGZpZWxkcywgZmxvYXQgcGRvcCwgZmxvYXQgaGRvcCwgZmxvYXQsIEdlb2xvY2F0
aW9uU2VydmljZUd0ayogdGhhdCkKK3sKKyAgICBpZiAoZmllbGRzID09IEdZUFNZX0FDQ1VSQUNZ
X0ZJRUxEU19OT05FKSB7CisgICAgICAgIHRoYXQtPm1fbm9FcnJvciA9IGZhbHNlOworICAgICAg
ICB0aGF0LT5tX2Vycm9yQ29kZSA9IFBvc2l0aW9uRXJyb3I6OlBPU0lUSU9OX05PVF9GT1VORF9F
UlJPUjsKKyAgICAgICAgdGhhdC0+bV9lcnJvck1lc3NhZ2UgPSBTdHJpbmcoKTsKKyAgICB9IGVs
c2UgeworICAgICAgICB0aGF0LT5tX2FjY3VyYWN5ID0gcGRvcDsKKyAgICAgICAgdGhhdC0+bV9h
bHRpdHVkZUFjY3VyYWN5ID0gaGRvcDsKKyAgICAgICAgdGhhdC0+bV9ub0Vycm9yID0gdHJ1ZTsK
KyAgICB9CisKKyAgICB0aGF0LT51cGRhdGVQb3NpdGlvbkFuZEVycm9yKCk7CisgICAgdGhhdC0+
cG9zaXRpb25DaGFuZ2VkKCk7Cit9CisKK3ZvaWQgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpjb3Vy
c2VfY2hhbmdlZChHeXBzeUNvdXJzZSosIEd5cHN5Q291cnNlRmllbGRzIGZpZWxkcywgZG91Ymxl
LCBkb3VibGUgc3BlZWQsIGRvdWJsZSBkaXJlY3Rpb24sIGRvdWJsZSwgR2VvbG9jYXRpb25TZXJ2
aWNlR3RrKiB0aGF0KQoreworICAgIGlmIChmaWVsZHMgPT0gR1lQU1lfQ09VUlNFX0ZJRUxEU19O
T05FKSB7CisgICAgICAgIHRoYXQtPm1fbm9FcnJvciA9IGZhbHNlOworICAgICAgICB0aGF0LT5t
X2Vycm9yQ29kZSA9IFBvc2l0aW9uRXJyb3I6OlBPU0lUSU9OX05PVF9GT1VORF9FUlJPUjsKKyAg
ICAgICAgdGhhdC0+bV9lcnJvck1lc3NhZ2UgPSBTdHJpbmcoKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICB0aGF0LT5tX3NwZWVkID0gc3BlZWQ7CisgICAgICAgIHRoYXQtPm1faGVhZGluZyA9IGRp
cmVjdGlvbjsKKyAgICAgICAgdGhhdC0+bV9ub0Vycm9yID0gdHJ1ZTsKKyAgICB9CisKKyAgICB0
aGF0LT51cGRhdGVQb3NpdGlvbkFuZEVycm9yKCk7CisgICAgdGhhdC0+cG9zaXRpb25DaGFuZ2Vk
KCk7Cit9CisKK3ZvaWQgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpjb25uZWN0aW9uX2NoYW5nZWQo
R3lwc3lEZXZpY2UqLCBnYm9vbGVhbiBjb25uZWN0ZWQsIEdlb2xvY2F0aW9uU2VydmljZUd0ayog
dGhhdCkKK3sKKyAgICBpZiAoY29ubmVjdGVkKSB7CisgICAgICAgIHRoYXQtPm1fbm9FcnJvciA9
IHRydWU7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGhhdC0+bV9ub0Vycm9yID0gZmFsc2U7Cisg
ICAgICAgIHRoYXQtPm1fZXJyb3JDb2RlID0gUG9zaXRpb25FcnJvcjo6UE9TSVRJT05fTk9UX0ZP
VU5EX0VSUk9SOworICAgICAgICB0aGF0LT5tX2Vycm9yTWVzc2FnZSA9IFN0cmluZygpOworICAg
IH0KKworICAgIHRoYXQtPnVwZGF0ZVBvc2l0aW9uQW5kRXJyb3IoKTsKKyAgICB0aGF0LT5wb3Np
dGlvbkNoYW5nZWQoKTsKK30KKwordm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OmZpeF9zdGF0
dXNfY2hhbmdlZChHeXBzeURldmljZSosIEd5cHN5RGV2aWNlRml4U3RhdHVzIHN0YXR1cywgR2Vv
bG9jYXRpb25TZXJ2aWNlR3RrKiB0aGF0KQoreworICAgIGlmIChzdGF0dXMgPT0gR1lQU1lfREVW
SUNFX0ZJWF9TVEFUVVNfMkQgfHwgc3RhdHVzID09IEdZUFNZX0RFVklDRV9GSVhfU1RBVFVTXzNE
KSB7CisgICAgICAgIHRoYXQtPm1fbm9FcnJvciA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgdGhhdC0+bV9ub0Vycm9yID0gZmFsc2U7CisgICAgICAgIHRoYXQtPm1fZXJyb3JDb2RlID0g
UG9zaXRpb25FcnJvcjo6UE9TSVRJT05fTk9UX0ZPVU5EX0VSUk9SOworICAgICAgICB0aGF0LT5t
X2Vycm9yTWVzc2FnZSA9IFN0cmluZygpOworICAgIH0KKworICAgIHRoYXQtPnVwZGF0ZVBvc2l0
aW9uQW5kRXJyb3IoKTsKKyAgICB0aGF0LT5wb3NpdGlvbkNoYW5nZWQoKTsKK30KKworLy8gV2Ug
bmVlZCB0byBwYXNzIGEgcGF0aCB0byBneXBzeSBidXQgd2UgZG8gbm90IGtub3cgd2hpY2ggb25l
LiBTdGFydAorLy8gd2l0aCBhIHNhbmUgZGVmYXVsdCBidXQgdGhpcyBjYW4gYmUgY2hhbmdlZCB3
aXRoIHRoaXMgZnVuY3Rpb24uIEFQSQorLy8gd291bGQgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0
aGlzIGlzIGludm9rZWQgYmVmb3JlIGFueXRoaW5nIGVsc2UuCit2b2lkIEdlb2xvY2F0aW9uU2Vy
dmljZUd0azo6c2V0R1BTUGF0aChjb25zdCBTdHJpbmcmIGdwc1BhdGgpCit7CisgICAgc19ncHNQ
YXRoID0gZ3BzUGF0aDsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
R2VvbG9jYXRpb25TZXJ2aWNlR3RrLmggYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlv
blNlcnZpY2VHdGsuaAppbmRleCAwMmFmZjJkLi4zYmY3ZTdmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuaApAQCAtMjEsMTEgKzIxLDIxIEBACiAjZGVm
aW5lIEdlb2xvY2F0aW9uU2VydmljZUd0a19oCiAKICNpbmNsdWRlICJHZW9sb2NhdGlvblNlcnZp
Y2UuaCIKKyNpbmNsdWRlICJHZW9wb3NpdGlvbi5oIgorI2luY2x1ZGUgIlBvc2l0aW9uRXJyb3Iu
aCIKKyNpbmNsdWRlICJSZWZQdHIuaCIKKworI2luY2x1ZGUgPGd5cHN5L2d5cHN5LWFjY3VyYWN5
Lmg+CisjaW5jbHVkZSA8Z3lwc3kvZ3lwc3ktY29udHJvbC5oPgorI2luY2x1ZGUgPGd5cHN5L2d5
cHN5LWNvdXJzZS5oPgorI2luY2x1ZGUgPGd5cHN5L2d5cHN5LWRldmljZS5oPgorI2luY2x1ZGUg
PGd5cHN5L2d5cHN5LXBvc2l0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBHZW9sb2NhdGlvblNlcnZpY2VHdGsgOiBwdWJsaWMgR2VvbG9jYXRpb25TZXJ2aWNlIHsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEdlb2xvY2F0aW9uU2VydmljZUd0ayhHZW9sb2NhdGlvblNlcnZp
Y2VDbGllbnQqKTsKKyAgICAgICAgfkdlb2xvY2F0aW9uU2VydmljZUd0aygpOwogCiAgICAgICAg
IHZpcnR1YWwgYm9vbCBzdGFydFVwZGF0aW5nKFBvc2l0aW9uT3B0aW9ucyopOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CkBAIC0zNSw2ICs0NSw0NCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAgICAgR2VvcG9zaXRpb24qIGxhc3RQb3NpdGlvbigpIGNvbnN0Owog
ICAgICAgICBQb3NpdGlvbkVycm9yKiBsYXN0RXJyb3IoKSBjb25zdDsKKworICAgICAgICBzdGF0
aWMgdm9pZCBzZXRHUFNQYXRoKGNvbnN0IFN0cmluZyYpOworCisgICAgcHJpdmF0ZToKKyAgICAg
ICAgdm9pZCBmZXRjaEdQU0luZm9ybWF0aW9uKCk7CisgICAgICAgIHZvaWQgdXBkYXRlUG9zaXRp
b25BbmRFcnJvcigpOworCisgICAgICAgIHN0YXRpYyB2b2lkIHBvc2l0b25fY2hhbmdlZChHeXBz
eVBvc2l0aW9uKiwgR3lwc3lQb3NpdGlvbkZpZWxkcywgaW50LCBkb3VibGUsIGRvdWJsZSwgZG91
YmxlLCBHZW9sb2NhdGlvblNlcnZpY2VHdGsqKTsKKyAgICAgICAgc3RhdGljIHZvaWQgYWNjdXJh
Y3lfY2hhbmdlZChHeXBzeUFjY3VyYWN5KiwgR3lwc3lBY2N1cmFjeUZpZWxkcywgZmxvYXQsIGZs
b2F0LCBmbG9hdCwgR2VvbG9jYXRpb25TZXJ2aWNlR3RrKik7CisgICAgICAgIHN0YXRpYyB2b2lk
IGNvdXJzZV9jaGFuZ2VkKEd5cHN5Q291cnNlKiwgR3lwc3lDb3Vyc2VGaWVsZHMsIGRvdWJsZSwg
ZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgR2VvbG9jYXRpb25TZXJ2aWNlR3RrKik7CisgICAgICAg
IHN0YXRpYyB2b2lkIGNvbm5lY3Rpb25fY2hhbmdlZChHeXBzeURldmljZSosIGdib29sZWFuLCBH
ZW9sb2NhdGlvblNlcnZpY2VHdGsqKTsKKyAgICAgICAgc3RhdGljIHZvaWQgZml4X3N0YXR1c19j
aGFuZ2VkKEd5cHN5RGV2aWNlKiwgR3lwc3lEZXZpY2VGaXhTdGF0dXMsIEdlb2xvY2F0aW9uU2Vy
dmljZUd0ayopOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgUmVmUHRyPEdlb3Bvc2l0aW9uPiBt
X2xhc3RQb3NpdGlvbjsKKyAgICAgICAgUmVmUHRyPFBvc2l0aW9uRXJyb3I+IG1fbGFzdEVycm9y
OworCisgICAgICAgIC8vIHN0YXRlIG9iamVjdHMKKyAgICAgICAgR3lwc3lDb250cm9sKiBtX2d5
cHN5Q29udHJvbDsKKyAgICAgICAgR3lwc3lEZXZpY2UqIG1fZ3lwc3lEZXZpY2U7CisgICAgICAg
IEd5cHN5UG9zaXRpb24qIG1fZ3lwc3lQb3NpdGlvbjsKKyAgICAgICAgR3lwc3lBY2N1cmFjeSog
bV9neXBzeUFjY3VyYWN5OworICAgICAgICBHeXBzeUNvdXJzZSogbV9neXBzeUNvdXJzZTsKKwor
ICAgICAgICAvLyBFcnJvciBhbmQgUG9zaXRpb24gc3RhdGUKKyAgICAgICAgUG9zaXRpb25FcnJv
cjo6RXJyb3JDb2RlIG1fZXJyb3JDb2RlOworICAgICAgICBTdHJpbmcgbV9lcnJvck1lc3NhZ2U7
CisgICAgICAgIGRvdWJsZSBtX2xhdGl0dWRlOworICAgICAgICBkb3VibGUgbV9sb25naXR1ZGU7
CisgICAgICAgIGRvdWJsZSBtX2FsdGl0dWRlOworICAgICAgICBkb3VibGUgbV9hY2N1cmFjeTsK
KyAgICAgICAgZG91YmxlIG1fYWx0aXR1ZGVBY2N1cmFjeTsKKyAgICAgICAgZG91YmxlIG1faGVh
ZGluZzsKKyAgICAgICAgZG91YmxlIG1fc3BlZWQ7CisgICAgICAgIGludCBtX3RpbWVzdGFtcDsK
KyAgICAgICAgYm9vbCBtX25vRXJyb3I7CisKKyAgICAgICAgc3RhdGljIFN0cmluZyBzX2dwc1Bh
dGg7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFj
CmluZGV4IDNlYmVhZDMuLjVkMjMzODAgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9j
b25maWd1cmUuYWMKQEAgLTY0OCw2ICs2NDgsMTQgQEAgaWYgdGVzdCAiJGVuYWJsZV94c2x0IiA9
ICJ5ZXMiOyB0aGVuCiAgICBBQ19TVUJTVChbTElCWFNMVF9MSUJTXSkKIGZpCiAKKyMgY2hlY2sg
aWYgbGliZ3lwc3kgaXMgYXZhaWxhYmxlCitpZiB0ZXN0ICIkZW5hYmxlX2dlb2xvY2F0aW9uIiA9
ICJ5ZXMiOyB0aGVuCisgICAgUEtHX0NIRUNLX01PRFVMRVMoW0dZUFNZXSwgW2d5cHN5XSkKKyAg
ICBBQ19TVUJTVChbR1lQU1lfQ0ZMQUdTXSkKKyAgICBBQ19TVUJTVChbR1lQU1lfTElCU10pCitm
aQorCisKICMgY2hlY2sgaWYgZ3N0cmVhbWVyIGlzIGF2YWlsYWJsZQogaWYgdGVzdCAiJGVuYWJs
ZV92aWRlbyIgPSAieWVzIjsgdGhlbgogICAgUEtHX0NIRUNLX01PRFVMRVMoW0dTVFJFQU1FUl0s
Ci0tIAoxLjUuNi4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24833</attachid>
            <date>2008-11-01 09:03:58 -0700</date>
            <delta_ts>2008-11-25 15:18:19 -0800</delta_ts>
            <desc>configure.ac changes for Geolocation support</desc>
            <filename>0001-Add-Geolocation-support-to-the-configure.ac.patch</filename>
            <type>text/plain</type>
            <size>2190</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA0ODM4YzlhNTE2MGQ3NjkzNDBhM2NlODJlZjU0ZDRjNTcyM2E0NDNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IEZyaSwgMzEgT2N0IDIwMDggMjA6NDk6MzEgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBBZGQgR2VvbG9jYXRpb24gc3VwcG9ydCB0byB0aGUgY29uZmlndXJlLmFjCgogICAg
QWRkIGFuIG9wdGlvbiB0byBidWlsZCBXZWJLaXQvR3RrKyB3aXRoIEdlb2xvY2F0aW9uLiBUaGUK
ICAgIGltcGxlbWVudGF0aW9uIHdpbGwgYmUgdXNpbmcgR3lwc3kuCi0tLQogY29uZmlndXJlLmFj
IHwgICAxMCArKysrKysrKysrCiAxIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDAg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmlu
ZGV4IDAyNWNhMTIuLjNlYmVhZDMgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25m
aWd1cmUuYWMKQEAgLTQ0NCw2ICs0NDQsMTQgQEAgQUNfQVJHX0VOQUJMRSh4c2x0LAogICAgICAg
ICAgICAgICBbXSxbZW5hYmxlX3hzbHQ9InllcyJdKQogQUNfTVNHX1JFU1VMVChbJGVuYWJsZV94
c2x0XSkKIAorIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBnZW9sb2NhdGlvbiBzdXBwb3J0CitB
Q19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIGdlb2xvY2F0aW9uIHN1cHBvcnRdKQor
QUNfQVJHX0VOQUJMRShnZW9sb2NhdGlvbiwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkco
Wy0tZW5hYmxlLWdlb2xvY2F0aW9uXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vu
YWJsZSBzdXBwb3J0IGZvciBnZW9sb2NhdGlvbiBbZGVmYXVsdD15ZXNdXSksCisgICAgICAgICAg
ICAgIFtdLFtlbmFibGVfZ2VvbG9jYXRpb249InllcyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJs
ZV9nZW9sb2NhdGlvbl0pCisKICMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgU1ZHIHN1cHBvcnQK
IEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgU1ZHIHN1cHBvcnRdKQogQUNfQVJH
X0VOQUJMRShzdmcsCkBAIC02OTQsNiArNzAyLDcgQEAgQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9E
QVRBQkFTRV0sW3Rlc3QgIiRlbmFibGVfZGF0YWJhc2UiID0gInllcyJdKQogQU1fQ09ORElUSU9O
QUwoW0VOQUJMRV9JQ09OREFUQUJBU0VdLFt0ZXN0ICIkZW5hYmxlX2ljb25fZGF0YWJhc2UiID0g
InllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9YUEFUSF0sW3Rlc3QgIiRlbmFibGVfeHBh
dGgiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9YU0xUXSxbdGVzdCAiJGVuYWJs
ZV94c2x0IiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfR0VPTE9DQVRJT05dLCBb
dGVzdCAiJGVuYWJsZV9nZW9sb2NhdGlvbiIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5B
QkxFX1ZJREVPXSxbdGVzdCAiJGVuYWJsZV92aWRlbyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05B
TChbRU5BQkxFX1NWR10sW3Rlc3QgIiRlbmFibGVfc3ZnIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElP
TkFMKFtFTkFCTEVfU1ZHX0FOSU1BVElPTl0sW3Rlc3QgIiRlbmFibGVfc3ZnX2FuaW1hdGlvbiIg
PSAieWVzIl0pCkBAIC03NDQsNiArNzUzLDcgQEAgRmVhdHVyZXM6CiAgU1ZHIHVzZSBlbGVtZW50
IHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX3N2Z191
c2VfZWxlbWVudAogIFhQQVRIIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogJGVuYWJsZV94cGF0aAogIFhTTFQgc3VwcG9ydCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV94c2x0CisgR2VvbG9jYXRp
b24gc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxl
X2dlb2xvY2F0aW9uCiBHVEsrIGNvbmZpZ3VyYXRpb246CiAgR0RLIHRhcmdldCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2l0aF90YXJnZXQKICBIaWxk
b24gVUkgZXh0ZW5zaW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3
aXRoX2hpbGRvbgotLSAKMS41LjYuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24834</attachid>
            <date>2008-11-01 09:05:38 -0700</date>
            <delta_ts>2008-11-25 15:19:53 -0800</delta_ts>
            <desc>Add stubs and GNUmakefile.am changes</desc>
            <filename>0002-Add-GeoleocationServiceGtk-stubs-and-integrate-it-in.patch</filename>
            <type>text/plain</type>
            <size>4833</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSAzZGYzMDYzMGVkYzFkN2JkMTRiNTcwMzM4M2ZkMjNlZjdhOTBmMDg1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IEZyaSwgMzEgT2N0IDIwMDggMjE6MDM6NDkgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBBZGQgR2VvbGVvY2F0aW9uU2VydmljZUd0ayBzdHVicyBhbmQgaW50ZWdyYXRlIGl0
IGludG8gdGhlIGJ1aWxkc3lzdGVtCgogICAgQWRkIHN0dWJzIGZvciBhIEd0ayBJbXBsZW1lbnRh
dGlvbi4KLS0tCiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAxNCArKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3Rr
LmNwcCB8ICAgNjEgKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL3BsYXRmb3JtL2d0
ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuaCAgIHwgICA0MSArKysrKysrKysrKysrKysrCiAzIGZp
bGVzIGNoYW5nZWQsIDExNiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5jcHAK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZp
Y2VHdGsuaAoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCmluZGV4IGMwMTRhYzYuLmYwZDE3MmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjk2NSw2ICsy
OTY1LDIwIEBAIHdlYmluc3BlY3RvcmltYWdlc2RpciA9ICR7ZGF0YWRpcn0vd2Via2l0LTEuMC93
ZWJpbnNwZWN0b3IvSW1hZ2VzCiBkaXN0X3dlYmluc3BlY3RvcmltYWdlc19EQVRBID0gXAogCSQo
c2hlbGwgbHMgJChXZWJDb3JlKS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy8qLnBuZykKIAor
IyAtLS0tCisjIEdlb2xvY2F0aW9uCisjIC0tLS0KK2lmIEVOQUJMRV9HRU9MT0NBVElPTgorCitG
RUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfR0VPTE9DQVRJT049MQord2ViY29y
ZV9jcHBmbGFncyArPSBcCisJLURFTkFCTEVfR0VPTE9DQVRJT049MQorCit3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAorCVdlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5oIFwK
KwlXZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwCitlbmRpZiAj
IEVORCBFTkFCTEVfR0VPTE9DQVRJT04KKwogIyBDbGVhbiBydWxlcyBmb3IgV2ViQ29yZQogCiBD
TEVBTkZJTEVTICs9IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0
aW9uU2VydmljZUd0ay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZp
Y2VHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjODBkZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VH
dGsuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSG9sZ2Vy
IEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkdlb2xv
Y2F0aW9uU2VydmljZUd0ay5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0dlb2xvY2F0aW9u
U2VydmljZSogR2VvbG9jYXRpb25TZXJ2aWNlOjpjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xp
ZW50KiBjbGllbnQpCit7CisgICAgcmV0dXJuIG5ldyBHZW9sb2NhdGlvblNlcnZpY2VHdGsoY2xp
ZW50KTsKK30KKworR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpHZW9sb2NhdGlvblNlcnZpY2VHdGso
R2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50KiBjbGllbnQpCisgICAgOiBHZW9sb2NhdGlvblNlcnZp
Y2UoY2xpZW50KQore30KKworYm9vbCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnN0YXJ0VXBkYXRp
bmcoUG9zaXRpb25PcHRpb25zKikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgR2Vv
bG9jYXRpb25TZXJ2aWNlR3RrOjpzdG9wVXBkYXRpbmcoKQoreworfQorCit2b2lkIEdlb2xvY2F0
aW9uU2VydmljZUd0azo6c3VzcGVuZCgpCit7Cit9CisKK3ZvaWQgR2VvbG9jYXRpb25TZXJ2aWNl
R3RrOjpyZXN1bWUoKQoreworfQorCitHZW9wb3NpdGlvbiogR2VvbG9jYXRpb25TZXJ2aWNlR3Rr
OjpsYXN0UG9zaXRpb24oKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitQb3NpdGlvbkVy
cm9yKiBHZW9sb2NhdGlvblNlcnZpY2VHdGs6Omxhc3RFcnJvcigpIGNvbnN0Cit7CisgICAgcmV0
dXJuIDA7Cit9CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0
aW9uU2VydmljZUd0ay5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNl
R3RrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJhZmYyZAotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5o
CkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSG9sZ2VyIEhhbnMg
UGV0ZXIgRnJleXRoZXIKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisgKi8KKworI2lmbmRlZiBHZW9sb2NhdGlvblNlcnZpY2VHdGtfaAorI2RlZmluZSBH
ZW9sb2NhdGlvblNlcnZpY2VHdGtfaAorCisjaW5jbHVkZSAiR2VvbG9jYXRpb25TZXJ2aWNlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICBjbGFzcyBHZW9sb2NhdGlvblNlcnZpY2VHdGsg
OiBwdWJsaWMgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEdlb2xv
Y2F0aW9uU2VydmljZUd0ayhHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsKKworICAgICAgICB2
aXJ0dWFsIGJvb2wgc3RhcnRVcGRhdGluZyhQb3NpdGlvbk9wdGlvbnMqKTsKKyAgICAgICAgdmly
dHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOworCisgICAgICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5k
KCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCByZXN1bWUoKTsKKworICAgICAgICBHZW9wb3NpdGlv
biogbGFzdFBvc2l0aW9uKCkgY29uc3Q7CisgICAgICAgIFBvc2l0aW9uRXJyb3IqIGxhc3RFcnJv
cigpIGNvbnN0OworICAgIH07Cit9CisKKyNlbmRpZgotLSAKMS41LjYuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24835</attachid>
            <date>2008-11-01 09:08:25 -0700</date>
            <delta_ts>2008-11-02 08:30:16 -0800</delta_ts>
            <desc>GeolocationServiceGtk implementation using GeoClue</desc>
            <filename>0003-Implement-GeolocationService-using-the-Geoclue-libra.patch</filename>
            <type>text/plain</type>
            <size>9381</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSBjMzY2ODEyMmViMDFlMzE1NDhhYzA2ZDhhMjI1OWE2N2ZhMmNjNmY1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IEZyaSwgMzEgT2N0IDIwMDggMjI6MjU6NTUgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBJbXBsZW1lbnQgR2VvbG9jYXRpb25TZXJ2aWNlIHVzaW5nIHRoZSBHZW9jbHVlIGxp
YnJhcnkKClVudGVzdGVkIGltcGxlbWVudGF0aW9uIG9mIHRoZSBHZW9sb2NhdGlvblNlcnZpY2Ug
dXNpbmcgdGhlIGdlb2NsdWUKbGlicmFyeS4gVmVsb2NpdHkgaGFuZGxpbmcgaXMgY29tcGxldGVs
eSBtaXNzaW5nIGFuZCB0aGUgYWNjdXJhY3kKaGFuZGxpbmcgbWlnaHQgYmUgd3JvbmcuCi0tLQog
R05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0K
IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5jcHAgfCAgMTUyICsr
KysrKysrKysrKysrKysrKysrKysrLQogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25T
ZXJ2aWNlR3RrLmggICB8ICAgMzAgKysrKysKIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgICA4ICsrCiA0IGZpbGVzIGNoYW5nZWQsIDE4OCBpbnNlcnRp
b25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05V
bWFrZWZpbGUuYW0KaW5kZXggMmQ2Mzk5My4uZWY1ZWZlMSAxMDA2NDQKLS0tIGEvR05VbWFrZWZp
bGUuYW0KKysrIGIvR05VbWFrZWZpbGUuYW0KQEAgLTE4Myw3ICsxODMsOCBAQCBsaWJXZWJDb3Jl
X2xhX0NGTEFHUyA9IFwKIAkkKEdTVFJFQU1FUl9DRkxBR1MpIFwKIAkkKExJQlhTTFRfQ0ZMQUdT
KSBcCiAJJChDT1ZFUkFHRV9DRkxBR1MpIFwKLQkkKEhJTERPTl9DRkxBR1MpCisJJChISUxET05f
Q0ZMQUdTKSBcCisJJChHRU9DTFVFX0NGTEFHUykKIAogbGliV2ViQ29yZV9sYV9DUFBGTEFHUyA9
IFwKIAkkKGdsb2JhbF9jcHBmbGFncykgXApAQCAtMjEyLDYgKzIxMyw3IEBAIGxpYldlYkNvcmVf
bGFfTElCQUREID0gXAogCSQoSElMRE9OX0xJQlMpIFwKIAkkKEpQRUdfTElCUykgXAogCSQoUE5H
X0xJQlMpIFwKKwkkKEdFT0NMVUVfTElCUykgXAogCS1scHRocmVhZAogCiAjIFdlYktpdApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmNwcCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5jcHAKaW5kZXggMGM4
MGRkNi4uOTZiOTdlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRp
b25TZXJ2aWNlR3RrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNl
cnZpY2VHdGsuY3BwCkBAIC0yMCw2ICsyMCwyMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkdlb2xvY2F0aW9uU2VydmljZUd0ay5oIgogCisjaW5jbHVkZSAiQ1N0cmluZy5oIgor
I2luY2x1ZGUgIkdPd25QdHIuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1
ZGUgIlBvc2l0aW9uT3B0aW9ucy5oIgorCituYW1lc3BhY2UgV1RGIHsKKyAgICB0ZW1wbGF0ZTw+
IHZvaWQgZnJlZU93bmVkR1B0cjxHZW9jbHVlQWNjdXJhY3k+KEdlb2NsdWVBY2N1cmFjeSogYWNj
dXJhY3kpCisgICAgeworICAgICAgICBpZiAoIWFjY3VyYWN5KQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIGdlb2NsdWVfYWNjdXJhY3lfZnJlZShhY2N1cmFjeSk7CisgICAgfQorfQor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdlb2xvY2F0aW9uU2VydmljZSogR2VvbG9jYXRpb25T
ZXJ2aWNlOjpjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50KiBjbGllbnQpCkBAIC0yOSwz
MyArNDQsMTYwIEBAIEdlb2xvY2F0aW9uU2VydmljZSogR2VvbG9jYXRpb25TZXJ2aWNlOjpjcmVh
dGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50KiBjbGllbnQpCiAKIEdlb2xvY2F0aW9uU2Vydmlj
ZUd0azo6R2VvbG9jYXRpb25TZXJ2aWNlR3RrKEdlb2xvY2F0aW9uU2VydmljZUNsaWVudCogY2xp
ZW50KQogICAgIDogR2VvbG9jYXRpb25TZXJ2aWNlKGNsaWVudCkKLXt9CisgICAgLCBtX2dlb2Ns
dWVDbGllbnQoMCkKKyAgICAsIG1fZ2VvY2x1ZVBvc2l0aW9uKDApCisgICAgLCBtX2xhdGl0dWRl
KDAuMCkKKyAgICAsIG1fbG9uZ2l0dWRlKDAuMCkKKyAgICAsIG1fYWx0aXR1ZGUoMC4wKQorICAg
ICwgbV9hbHRpdHVkZUFjY3VyYWN5KDAuMCkKKyAgICAsIG1fdGltZXN0YW1wKDApCit7Cit9CiAK
LWJvb2wgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpzdGFydFVwZGF0aW5nKFBvc2l0aW9uT3B0aW9u
cyopCitHZW9sb2NhdGlvblNlcnZpY2VHdGs6On5HZW9sb2NhdGlvblNlcnZpY2VHdGsoKQogewot
ICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobV9nZW9jbHVlQ2xpZW50KQorICAgICAgICBnX29i
amVjdF91bnJlZihtX2dlb2NsdWVDbGllbnQpOworCisgICAgaWYgKG1fZ2VvY2x1ZVBvc2l0aW9u
KQorICAgICAgICBnX29iamVjdF91bnJlZihtX2dlb2NsdWVQb3NpdGlvbik7Cit9CisKKy8vCisv
LyAxLikgSW5pdGlhbGl6ZSBHZW9jbHVlIHdpdGggb3VyIHJlcXVpcmVtZW50cworLy8gMi4pIFRy
eSB0byBnZXQgYSBHZW9jbHVlUG9zaXRpb24KKy8vIDMuKSBVcGRhdGUgdGhlIEluZm9ybWF0aW9u
IGFuZCBnZXQgdGhlIGN1cnJlbnQgcG9zaXRpb24KKy8vCisvLyBUT0RPOiBBbHNvIGdldCBHZW9j
bHVlVmVsb2NpdHkgYnV0IHRoZXJlIGlzIG5vIG1hc3RlciBjbGllbnQKKy8vICAgICAgIEFQSSBm
b3IgdGhhdC4KKy8vCitib29sIEdlb2xvY2F0aW9uU2VydmljZUd0azo6c3RhcnRVcGRhdGluZyhQ
b3NpdGlvbk9wdGlvbnMqIG9wdGlvbnMpCit7CisgICAgQVNTRVJUKCFtX2dlb2NsdWVDbGllbnQp
OworCisgICAgbV9sYXN0UG9zaXRpb24gPSAwOworICAgIG1fbGFzdEVycm9yID0gMDsKKworICAg
IEdPd25QdHI8R0Vycm9yPiBlcnJvcjsKKyAgICBHZW9jbHVlTWFzdGVyKiBtYXN0ZXIgPSBnZW9j
bHVlX21hc3Rlcl9nZXRfZGVmYXVsdCgpOworICAgIEdlb2NsdWVNYXN0ZXJDbGllbnQqIGNsaWVu
dCA9IGdlb2NsdWVfbWFzdGVyX2NyZWF0ZV9jbGllbnQobWFzdGVyLCAwLCAwKTsKKyAgICBnX29i
amVjdF91bnJlZihtYXN0ZXIpOworCisgICAgZ2Jvb2xlYW4gcmVzdWx0ID0gZ2VvY2x1ZV9tYXN0
ZXJfY2xpZW50X3NldF9yZXF1aXJlbWVudHMoY2xpZW50LAorICAgICAgICAgICAgICAgICAgICBv
cHRpb25zLT5lbmFibGVIaWdoQWNjdXJhY3koKSA/IEdFT0NMVUVfQUNDVVJBQ1lfTEVWRUxfREVU
QUlMRUQgOiBHRU9DTFVFX0FDQ1VSQUNZX0xFVkVMX0xPQ0FMSVRZLAorICAgICAgICAgICAgICAg
ICAgICBvcHRpb25zLT50aW1lb3V0KCksIHRydWUsIEdFT0NMVUVfUkVTT1VSQ0VfQUxMLCAmZXJy
b3Iub3V0UHRyKCkpOworCisgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAgc2V0RXJyb3IoUG9z
aXRpb25FcnJvcjo6TE9DQVRJT05fUFJPVklERVJfRVJST1IsIGVycm9yLT5tZXNzYWdlKTsKKyAg
ICAgICAgZ19vYmplY3RfdW5yZWYoY2xpZW50KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIG1fZ2VvY2x1ZVBvc2l0aW9uID0gZ2VvY2x1ZV9tYXN0ZXJfY2xpZW50X2NyZWF0
ZV9wb3NpdGlvbihtX2dlb2NsdWVDbGllbnQsICZlcnJvci5vdXRQdHIoKSk7CisgICAgaWYgKCFt
X2dlb2NsdWVQb3NpdGlvbikgeworICAgICAgICBzZXRFcnJvcihQb3NpdGlvbkVycm9yOjpMT0NB
VElPTl9QUk9WSURFUl9FUlJPUiwgZXJyb3ItPm1lc3NhZ2UpOworICAgICAgICBnX29iamVjdF91
bnJlZihjbGllbnQpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ19zaWdu
YWxfY29ubmVjdChHX09CSkVDVChtX2dlb2NsdWVQb3NpdGlvbiksICJwb3NpdGlvbi1jaGFuZ2Vk
IiwKKyAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0socG9zaXRpb25fY2hhbmdlZCksIHRo
aXMpOworCisgICAgbV9nZW9jbHVlQ2xpZW50ID0gY2xpZW50OworICAgIHVwZGF0ZUxvY2F0aW9u
SW5mb3JtYXRpb24oKTsKKworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgR2VvbG9jYXRp
b25TZXJ2aWNlR3RrOjpzdG9wVXBkYXRpbmcoKQogeworICAgIEFTU0VSVChtX2dlb2NsdWVDbGll
bnQpOworCisgICAgZ19vYmplY3RfdW5yZWYobV9nZW9jbHVlUG9zaXRpb24pOworICAgIGdfb2Jq
ZWN0X3VucmVmKG1fZ2VvY2x1ZUNsaWVudCk7CisKKyAgICBtX2dlb2NsdWVQb3NpdGlvbiA9IDA7
CisgICAgbV9nZW9jbHVlQ2xpZW50ID0gMDsKIH0KIAogdm9pZCBHZW9sb2NhdGlvblNlcnZpY2VH
dGs6OnN1c3BlbmQoKQogeworICAgIC8vIG5vdCBhdmFpbGFibGUgd2l0aCBnZW9jbHVlCisgICAg
bm90SW1wbGVtZW50ZWQoKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnJlc3Vt
ZSgpCiB7CisgICAgLy8gbm90IGF2YWlsYWJsZSB3aXRoIGdlb2NsdWUKKyAgICBub3RJbXBsZW1l
bnRlZCgpOwogfQogCiBHZW9wb3NpdGlvbiogR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpsYXN0UG9z
aXRpb24oKSBjb25zdAogewotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2xhc3RQb3NpdGlv
bi5nZXQoKTsKIH0KIAogUG9zaXRpb25FcnJvciogR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpsYXN0
RXJyb3IoKSBjb25zdAogewotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2xhc3RFcnJvci5n
ZXQoKTsKK30KKwordm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnVwZGF0ZUxvY2F0aW9uSW5m
b3JtYXRpb24oKQoreworICAgIEFTU0VSVChtX2dlb2NsdWVQb3NpdGlvbik7CisKKyAgICBHT3du
UHRyPEdFcnJvcj4gZXJyb3I7CisgICAgR093blB0cjxHZW9jbHVlQWNjdXJhY3k+IGFjY3VyYWN5
OworCisgICAgR2VvY2x1ZVBvc2l0aW9uRmllbGRzIGZpZWxkcyA9IGdlb2NsdWVfcG9zaXRpb25f
Z2V0X3Bvc2l0aW9uKG1fZ2VvY2x1ZVBvc2l0aW9uLCAmbV90aW1lc3RhbXAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZt
X2xhdGl0dWRlLCAmbV9sb25naXR1ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtX2FsdGl0dWRlLCAmYWNjdXJhY3ku
b3V0UHRyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZlcnJvci5vdXRQdHIoKSk7CisgICAgaWYgKGVycm9yKSB7Cisg
ICAgICAgIHNldEVycm9yKFBvc2l0aW9uRXJyb3I6OlBPU0lUSU9OX05PVF9GT1VORF9FUlJPUiwg
ZXJyb3ItPm1lc3NhZ2UpOworICAgICAgICByZXR1cm47CisgICAgfSBlbHNlIGlmIChmaWVsZHMg
JiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MQVRJVFVERSAmJiBmaWVsZHMgJiBHRU9DTFVFX1BP
U0lUSU9OX0ZJRUxEU19MT05HSVRVREUpIHsKKyAgICAgICAgc2V0RXJyb3IoUG9zaXRpb25FcnJv
cjo6UE9TSVRJT05fTk9UX0ZPVU5EX0VSUk9SLCAiUG9zaXRpb24gY291bGQgbm90IGJlIGRldGVy
bWluZWQuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIC8vIFRoZSBtX2FsdGl0
dWRlQWNjdXJhY3kgYWNjdXJhY3kgaXMgbGlrZWx5IHRvIGJlIHdyb25nCisgICAgR2VvY2x1ZUFj
Y3VyYWN5TGV2ZWwgbGV2ZWw7CisgICAgZ2VvY2x1ZV9hY2N1cmFjeV9nZXRfZGV0YWlscyhhY2N1
cmFjeS5nZXQoKSwgJmxldmVsLCAmbV9hY2N1cmFjeSwgJm1fYWx0aXR1ZGVBY2N1cmFjeSk7ICAg
ICAgCisgICAgdXBkYXRlUG9zaXRpb24oKTsKK30KKwordm9pZCBHZW9sb2NhdGlvblNlcnZpY2VH
dGs6OnVwZGF0ZVBvc2l0aW9uKCkKK3sKKyAgICBtX2xhc3RFcnJvciA9IDA7CisgICAgbV9sYXN0
UG9zaXRpb24gPSBHZW9wb3NpdGlvbjo6Y3JlYXRlKG1fbGF0aXR1ZGUsIG1fbG9uZ2l0dWRlLCBt
X2FsdGl0dWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2Fj
Y3VyYWN5LCBtX2FsdGl0dWRlQWNjdXJhY3ksIDAuMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMC4wLCBtX3RpbWVzdGFtcCoxMDAwLjApOworICAgIHBvc2l0aW9u
Q2hhbmdlZCgpOworfQorCit2b2lkIEdlb2xvY2F0aW9uU2VydmljZUd0azo6cG9zaXRpb25fY2hh
bmdlZChHZW9jbHVlUG9zaXRpb24qLCBHZW9jbHVlUG9zaXRpb25GaWVsZHMgZmllbGRzLCBpbnQg
dGltZXN0YW1wLCBkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhbHRp
dHVkZSwgR2VvY2x1ZUFjY3VyYWN5KiBhY2N1cmFjeSwgR2VvbG9jYXRpb25TZXJ2aWNlR3RrKiB0
aGF0KQoreworICAgIGlmIChmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MQVRJVFVE
RSAmJiBmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MT05HSVRVREUpIHsKKyAgICAg
ICAgdGhhdC0+c2V0RXJyb3IoUG9zaXRpb25FcnJvcjo6UE9TSVRJT05fTk9UX0ZPVU5EX0VSUk9S
LCAiUG9zaXRpb24gY291bGQgbm90IGJlIGRldGVybWluZWQuIik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICB0aGF0LT5tX3RpbWVzdGFtcCA9IHRpbWVzdGFtcDsKKyAgICB0aGF0LT5t
X2xhdGl0dWRlID0gbGF0aXR1ZGU7CisgICAgdGhhdC0+bV9sb25naXR1ZGUgPSBsb25naXR1ZGU7
CisgICAgdGhhdC0+bV9hbHRpdHVkZSA9IGFsdGl0dWRlOworCisgICAgR2VvY2x1ZUFjY3VyYWN5
TGV2ZWwgbGV2ZWw7CisgICAgZ2VvY2x1ZV9hY2N1cmFjeV9nZXRfZGV0YWlscyhhY2N1cmFjeSwg
JmxldmVsLCAmdGhhdC0+bV9hY2N1cmFjeSwgJnRoYXQtPm1fYWx0aXR1ZGVBY2N1cmFjeSk7ICAg
ICAgCisgICAgdGhhdC0+dXBkYXRlUG9zaXRpb24oKTsKK30KKwordm9pZCBHZW9sb2NhdGlvblNl
cnZpY2VHdGs6OnNldEVycm9yKFBvc2l0aW9uRXJyb3I6OkVycm9yQ29kZSBlcnJvckNvZGUsIGNv
bnN0IGNoYXIqIG1lc3NhZ2UpCit7CisgICAgbV9sYXN0UG9zaXRpb24gPSAwOworICAgIG1fbGFz
dEVycm9yID0gUG9zaXRpb25FcnJvcjo6Y3JlYXRlKGVycm9yQ29kZSwgU3RyaW5nOjpmcm9tVVRG
OChtZXNzYWdlKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dl
b2xvY2F0aW9uU2VydmljZUd0ay5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25T
ZXJ2aWNlR3RrLmgKaW5kZXggMDJhZmYyZC4uOTA2OTlhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgKQEAgLTIxLDExICsyMSwxOCBAQAogI2RlZmlu
ZSBHZW9sb2NhdGlvblNlcnZpY2VHdGtfaAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb25TZXJ2aWNl
LmgiCisjaW5jbHVkZSAiR2VvcG9zaXRpb24uaCIKKyNpbmNsdWRlICJQb3NpdGlvbkVycm9yLmgi
CisjaW5jbHVkZSAiUmVmUHRyLmgiCisKKyNpbmNsdWRlIDxnZW9jbHVlL2dlb2NsdWUtbWFzdGVy
Lmg+CisjaW5jbHVkZSA8Z2VvY2x1ZS9nZW9jbHVlLXBvc2l0aW9uLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBHZW9sb2NhdGlvblNlcnZpY2VHdGsgOiBwdWJsaWMgR2VvbG9j
YXRpb25TZXJ2aWNlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIEdlb2xvY2F0aW9uU2VydmljZUd0
ayhHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsKKyAgICAgICAgfkdlb2xvY2F0aW9uU2Vydmlj
ZUd0aygpOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdGFydFVwZGF0aW5nKFBvc2l0aW9uT3B0
aW9ucyopOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CkBAIC0zNSw2ICs0
MiwyOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgR2VvcG9zaXRpb24qIGxhc3RQ
b3NpdGlvbigpIGNvbnN0OwogICAgICAgICBQb3NpdGlvbkVycm9yKiBsYXN0RXJyb3IoKSBjb25z
dDsKKworICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgdXBkYXRlTG9jYXRpb25JbmZvcm1hdGlv
bigpOworICAgICAgICB2b2lkIHNldEVycm9yKFBvc2l0aW9uRXJyb3I6OkVycm9yQ29kZSwgY29u
c3QgY2hhciogbWVzc2FnZSk7CisgICAgICAgIHZvaWQgdXBkYXRlUG9zaXRpb24oKTsKKworICAg
ICAgICBzdGF0aWMgdm9pZCBwb3NpdGlvbl9jaGFuZ2VkKEdlb2NsdWVQb3NpdGlvbiosIEdlb2Ns
dWVQb3NpdGlvbkZpZWxkcywgaW50LCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBHZW9jbHVlQWNj
dXJhY3kqLCBHZW9sb2NhdGlvblNlcnZpY2VHdGsqKTsKKworICAgIHByaXZhdGU6CisgICAgICAg
IFJlZlB0cjxHZW9wb3NpdGlvbj4gbV9sYXN0UG9zaXRpb247CisgICAgICAgIFJlZlB0cjxQb3Np
dGlvbkVycm9yPiBtX2xhc3RFcnJvcjsKKworICAgICAgICAvLyBzdGF0ZSBvYmplY3RzCisgICAg
ICAgIEdlb2NsdWVNYXN0ZXJDbGllbnQqIG1fZ2VvY2x1ZUNsaWVudDsKKyAgICAgICAgR2VvY2x1
ZVBvc2l0aW9uKiBtX2dlb2NsdWVQb3NpdGlvbjsKKworICAgICAgICAvLyBFcnJvciBhbmQgUG9z
aXRpb24gc3RhdGUKKyAgICAgICAgZG91YmxlIG1fbGF0aXR1ZGU7CisgICAgICAgIGRvdWJsZSBt
X2xvbmdpdHVkZTsKKyAgICAgICAgZG91YmxlIG1fYWx0aXR1ZGU7CisgICAgICAgIGRvdWJsZSBt
X2FjY3VyYWN5OworICAgICAgICBkb3VibGUgbV9hbHRpdHVkZUFjY3VyYWN5OworICAgICAgICBp
bnQgbV90aW1lc3RhbXA7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIv
Y29uZmlndXJlLmFjCmluZGV4IDNlYmVhZDMuLjhiZTc5ZTkgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3Vy
ZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTY0OCw2ICs2NDgsMTQgQEAgaWYgdGVzdCAiJGVu
YWJsZV94c2x0IiA9ICJ5ZXMiOyB0aGVuCiAgICBBQ19TVUJTVChbTElCWFNMVF9MSUJTXSkKIGZp
CiAKKyMgY2hlY2sgaWYgZ2VvY2x1ZSBpcyBhdmFpbGFibGUKK2lmIHRlc3QgIiRlbmFibGVfZ2Vv
bG9jYXRpb24iID0gInllcyI7IHRoZW4KKyAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbR0VPQ0xVRV0s
IFtnZW9jbHVlXSkKKyAgICBBQ19TVUJTVChbR0VPQ0xVRV9DRkxBR1NdKQorICAgIEFDX1NVQlNU
KFtHRU9DTFVFX0xJQlNdKQorZmkKKworCiAjIGNoZWNrIGlmIGdzdHJlYW1lciBpcyBhdmFpbGFi
bGUKIGlmIHRlc3QgIiRlbmFibGVfdmlkZW8iID0gInllcyI7IHRoZW4KICAgIFBLR19DSEVDS19N
T0RVTEVTKFtHU1RSRUFNRVJdLAotLSAKMS41LjYuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24843</attachid>
            <date>2008-11-02 08:30:16 -0800</date>
            <delta_ts>2009-01-19 16:59:00 -0800</delta_ts>
            <desc>GelocationServiceGtk implementation using GeoClue</desc>
            <filename>0003-Implement-GeolocationService-using-the-Geoclue-libra.patch</filename>
            <type>text/plain</type>
            <size>9741</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSAwZDQ4ZjZjNmE3YWU3NDZhNGNmNzA1M2JkODA0NGYxOTg2NGUxYzY4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IEZyaSwgMzEgT2N0IDIwMDggMjI6MjU6NTUgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBJbXBsZW1lbnQgR2VvbG9jYXRpb25TZXJ2aWNlIHVzaW5nIHRoZSBHZW9jbHVlIGxp
YnJhcnkKClVudGVzdGVkIGltcGxlbWVudGF0aW9uIG9mIHRoZSBHZW9sb2NhdGlvblNlcnZpY2Ug
dXNpbmcgdGhlIGdlb2NsdWUKbGlicmFyeS4gVmVsb2NpdHkgaGFuZGxpbmcgaXMgY29tcGxldGVs
eSBtaXNzaW5nIGFuZCB0aGUgYWNjdXJhY3kKaGFuZGxpbmcgbWlnaHQgYmUgd3JvbmcuCi0tLQog
R05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0K
IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5jcHAgfCAgMTY0ICsr
KysrKysrKysrKysrKysrKysrKysrLQogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25T
ZXJ2aWNlR3RrLmggICB8ICAgMzAgKysrKysKIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgICA4ICsKIDQgZmlsZXMgY2hhbmdlZCwgMjAwIGluc2VydGlv
bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVt
YWtlZmlsZS5hbQppbmRleCAyZDYzOTkzLi5lZjVlZmUxIDEwMDY0NAotLS0gYS9HTlVtYWtlZmls
ZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtMTgzLDcgKzE4Myw4IEBAIGxpYldlYkNvcmVf
bGFfQ0ZMQUdTID0gXAogCSQoR1NUUkVBTUVSX0NGTEFHUykgXAogCSQoTElCWFNMVF9DRkxBR1Mp
IFwKIAkkKENPVkVSQUdFX0NGTEFHUykgXAotCSQoSElMRE9OX0NGTEFHUykKKwkkKEhJTERPTl9D
RkxBR1MpIFwKKwkkKEdFT0NMVUVfQ0ZMQUdTKQogCiBsaWJXZWJDb3JlX2xhX0NQUEZMQUdTID0g
XAogCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCkBAIC0yMTIsNiArMjEzLDcgQEAgbGliV2ViQ29yZV9s
YV9MSUJBREQgPSBcCiAJJChISUxET05fTElCUykgXAogCSQoSlBFR19MSUJTKSBcCiAJJChQTkdf
TElCUykgXAorCSQoR0VPQ0xVRV9MSUJTKSBcCiAJLWxwdGhyZWFkCiAKICMgV2ViS2l0CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmNwcAppbmRleCAwYzgw
ZGQ2Li44OWY3NGM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlv
blNlcnZpY2VHdGsuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2Vy
dmljZUd0ay5jcHAKQEAgLTIwLDYgKzIwLDIxIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgiCiAKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisj
aW5jbHVkZSAiR093blB0ci5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVk
ZSAiUG9zaXRpb25PcHRpb25zLmgiCisKK25hbWVzcGFjZSBXVEYgeworICAgIHRlbXBsYXRlPD4g
dm9pZCBmcmVlT3duZWRHUHRyPEdlb2NsdWVBY2N1cmFjeT4oR2VvY2x1ZUFjY3VyYWN5KiBhY2N1
cmFjeSkKKyAgICB7CisgICAgICAgIGlmICghYWNjdXJhY3kpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgZ2VvY2x1ZV9hY2N1cmFjeV9mcmVlKGFjY3VyYWN5KTsKKyAgICB9Cit9CisK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR2VvbG9jYXRpb25TZXJ2aWNlKiBHZW9sb2NhdGlvblNl
cnZpY2U6OmNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqIGNsaWVudCkKQEAgLTI5LDMz
ICs0NCwxNzIgQEAgR2VvbG9jYXRpb25TZXJ2aWNlKiBHZW9sb2NhdGlvblNlcnZpY2U6OmNyZWF0
ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqIGNsaWVudCkKIAogR2VvbG9jYXRpb25TZXJ2aWNl
R3RrOjpHZW9sb2NhdGlvblNlcnZpY2VHdGsoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50KiBjbGll
bnQpCiAgICAgOiBHZW9sb2NhdGlvblNlcnZpY2UoY2xpZW50KQote30KKyAgICAsIG1fZ2VvY2x1
ZUNsaWVudCgwKQorICAgICwgbV9nZW9jbHVlUG9zaXRpb24oMCkKKyAgICAsIG1fbGF0aXR1ZGUo
MC4wKQorICAgICwgbV9sb25naXR1ZGUoMC4wKQorICAgICwgbV9hbHRpdHVkZSgwLjApCisgICAg
LCBtX2FsdGl0dWRlQWNjdXJhY3koMC4wKQorICAgICwgbV90aW1lc3RhbXAoMCkKK3sKK30KKwor
R2VvbG9jYXRpb25TZXJ2aWNlR3RrOjp+R2VvbG9jYXRpb25TZXJ2aWNlR3RrKCkKK3sKKyAgICBp
ZiAobV9nZW9jbHVlQ2xpZW50KQorICAgICAgICBnX29iamVjdF91bnJlZihtX2dlb2NsdWVDbGll
bnQpOworCisgICAgaWYgKG1fZ2VvY2x1ZVBvc2l0aW9uKQorICAgICAgICBnX29iamVjdF91bnJl
ZihtX2dlb2NsdWVQb3NpdGlvbik7Cit9CiAKLWJvb2wgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpz
dGFydFVwZGF0aW5nKFBvc2l0aW9uT3B0aW9ucyopCisvLworLy8gMS4pIEluaXRpYWxpemUgR2Vv
Y2x1ZSB3aXRoIG91ciByZXF1aXJlbWVudHMKKy8vIDIuKSBUcnkgdG8gZ2V0IGEgR2VvY2x1ZVBv
c2l0aW9uCisvLyAzLikgVXBkYXRlIHRoZSBJbmZvcm1hdGlvbiBhbmQgZ2V0IHRoZSBjdXJyZW50
IHBvc2l0aW9uCisvLworLy8gVE9ETzogQWxzbyBnZXQgR2VvY2x1ZVZlbG9jaXR5IGJ1dCB0aGVy
ZSBpcyBubyBtYXN0ZXIgY2xpZW50CisvLyAgICAgICBBUEkgZm9yIHRoYXQuCisvLworYm9vbCBH
ZW9sb2NhdGlvblNlcnZpY2VHdGs6OnN0YXJ0VXBkYXRpbmcoUG9zaXRpb25PcHRpb25zKiBvcHRp
b25zKQogewotICAgIHJldHVybiBmYWxzZTsKKyAgICBBU1NFUlQoIW1fZ2VvY2x1ZUNsaWVudCk7
CisKKyAgICBtX2xhc3RQb3NpdGlvbiA9IDA7CisgICAgbV9sYXN0RXJyb3IgPSAwOworCisgICAg
R093blB0cjxHRXJyb3I+IGVycm9yOworICAgIEdlb2NsdWVNYXN0ZXIqIG1hc3RlciA9IGdlb2Ns
dWVfbWFzdGVyX2dldF9kZWZhdWx0KCk7CisgICAgR2VvY2x1ZU1hc3RlckNsaWVudCogY2xpZW50
ID0gZ2VvY2x1ZV9tYXN0ZXJfY3JlYXRlX2NsaWVudChtYXN0ZXIsIDAsIDApOworICAgIGdfb2Jq
ZWN0X3VucmVmKG1hc3Rlcik7CisKKyAgICBpZiAoIWNsaWVudCkgeworICAgICAgICBzZXRFcnJv
cihQb3NpdGlvbkVycm9yOjpMT0NBVElPTl9QUk9WSURFUl9FUlJPUiwgIkNvdWxkIG5vdCBjb25u
ZWN0IHRvIGxvY2F0aW9uIHByb3ZpZGVyLiIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgR2VvY2x1ZUFjY3VyYWN5TGV2ZWwgYWNjdXJhY3lMZXZlbCA9IEdFT0NMVUVfQUND
VVJBQ1lfTEVWRUxfTE9DQUxJVFk7CisgICAgaW50IHRpbWVvdXQgPSAwOworICAgIGlmIChvcHRp
b25zKSB7CisgICAgICAgIGFjY3VyYWN5TGV2ZWwgPSBvcHRpb25zLT5lbmFibGVIaWdoQWNjdXJh
Y3koKSA/IEdFT0NMVUVfQUNDVVJBQ1lfTEVWRUxfREVUQUlMRUQgOiBHRU9DTFVFX0FDQ1VSQUNZ
X0xFVkVMX0xPQ0FMSVRZOworICAgICAgICB0aW1lb3V0ID0gb3B0aW9ucy0+dGltZW91dCgpOwor
ICAgIH0KKworICAgIGdib29sZWFuIHJlc3VsdCA9IGdlb2NsdWVfbWFzdGVyX2NsaWVudF9zZXRf
cmVxdWlyZW1lbnRzKGNsaWVudCwgYWNjdXJhY3lMZXZlbCwgdGltZW91dCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCBH
RU9DTFVFX1JFU09VUkNFX0FMTCwgJmVycm9yLm91dFB0cigpKTsKKworICAgIGlmICghcmVzdWx0
KSB7CisgICAgICAgIHNldEVycm9yKFBvc2l0aW9uRXJyb3I6OkxPQ0FUSU9OX1BST1ZJREVSX0VS
Uk9SLCBlcnJvci0+bWVzc2FnZSk7CisgICAgICAgIGdfb2JqZWN0X3VucmVmKGNsaWVudCk7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBtX2dlb2NsdWVQb3NpdGlvbiA9IGdl
b2NsdWVfbWFzdGVyX2NsaWVudF9jcmVhdGVfcG9zaXRpb24oY2xpZW50LCAmZXJyb3Iub3V0UHRy
KCkpOworICAgIGlmICghbV9nZW9jbHVlUG9zaXRpb24pIHsKKyAgICAgICAgc2V0RXJyb3IoUG9z
aXRpb25FcnJvcjo6TE9DQVRJT05fUFJPVklERVJfRVJST1IsIGVycm9yLT5tZXNzYWdlKTsKKyAg
ICAgICAgZ19vYmplY3RfdW5yZWYoY2xpZW50KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIGdfc2lnbmFsX2Nvbm5lY3QoR19PQkpFQ1QobV9nZW9jbHVlUG9zaXRpb24pLCAi
cG9zaXRpb24tY2hhbmdlZCIsCisgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLKHBvc2l0
aW9uX2NoYW5nZWQpLCB0aGlzKTsKKworICAgIG1fZ2VvY2x1ZUNsaWVudCA9IGNsaWVudDsKKyAg
ICB1cGRhdGVMb2NhdGlvbkluZm9ybWF0aW9uKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OwogfQog
CiB2b2lkIEdlb2xvY2F0aW9uU2VydmljZUd0azo6c3RvcFVwZGF0aW5nKCkKIHsKKyAgICBpZiAo
IW1fZ2VvY2x1ZUNsaWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZ19vYmplY3RfdW5yZWYo
bV9nZW9jbHVlUG9zaXRpb24pOworICAgIGdfb2JqZWN0X3VucmVmKG1fZ2VvY2x1ZUNsaWVudCk7
CisKKyAgICBtX2dlb2NsdWVQb3NpdGlvbiA9IDA7CisgICAgbV9nZW9jbHVlQ2xpZW50ID0gMDsK
IH0KIAogdm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnN1c3BlbmQoKQogeworICAgIC8vIG5v
dCBhdmFpbGFibGUgd2l0aCBnZW9jbHVlCisgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAogdm9p
ZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnJlc3VtZSgpCiB7CisgICAgLy8gbm90IGF2YWlsYWJs
ZSB3aXRoIGdlb2NsdWUKKyAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCiBHZW9wb3NpdGlvbiog
R2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpsYXN0UG9zaXRpb24oKSBjb25zdAogewotICAgIHJldHVy
biAwOworICAgIHJldHVybiBtX2xhc3RQb3NpdGlvbi5nZXQoKTsKIH0KIAogUG9zaXRpb25FcnJv
ciogR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpsYXN0RXJyb3IoKSBjb25zdAogewotICAgIHJldHVy
biAwOworICAgIHJldHVybiBtX2xhc3RFcnJvci5nZXQoKTsKK30KKwordm9pZCBHZW9sb2NhdGlv
blNlcnZpY2VHdGs6OnVwZGF0ZUxvY2F0aW9uSW5mb3JtYXRpb24oKQoreworICAgIEFTU0VSVCht
X2dlb2NsdWVQb3NpdGlvbik7CisKKyAgICBHT3duUHRyPEdFcnJvcj4gZXJyb3I7CisgICAgR093
blB0cjxHZW9jbHVlQWNjdXJhY3k+IGFjY3VyYWN5OworCisgICAgR2VvY2x1ZVBvc2l0aW9uRmll
bGRzIGZpZWxkcyA9IGdlb2NsdWVfcG9zaXRpb25fZ2V0X3Bvc2l0aW9uKG1fZ2VvY2x1ZVBvc2l0
aW9uLCAmbV90aW1lc3RhbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtX2xhdGl0dWRlLCAmbV9sb25naXR1ZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZtX2FsdGl0dWRlLCAmYWNjdXJhY3kub3V0UHRyKCksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvci5v
dXRQdHIoKSk7CisgICAgaWYgKGVycm9yKSB7CisgICAgICAgIHNldEVycm9yKFBvc2l0aW9uRXJy
b3I6OlBPU0lUSU9OX05PVF9GT1VORF9FUlJPUiwgZXJyb3ItPm1lc3NhZ2UpOworICAgICAgICBy
ZXR1cm47CisgICAgfSBlbHNlIGlmIChmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19M
QVRJVFVERSAmJiBmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MT05HSVRVREUpIHsK
KyAgICAgICAgc2V0RXJyb3IoUG9zaXRpb25FcnJvcjo6UE9TSVRJT05fTk9UX0ZPVU5EX0VSUk9S
LCAiUG9zaXRpb24gY291bGQgbm90IGJlIGRldGVybWluZWQuIik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKworICAgIC8vIFRoZSBtX2FsdGl0dWRlQWNjdXJhY3kgYWNjdXJhY3kgaXMgbGlr
ZWx5IHRvIGJlIHdyb25nCisgICAgR2VvY2x1ZUFjY3VyYWN5TGV2ZWwgbGV2ZWw7CisgICAgZ2Vv
Y2x1ZV9hY2N1cmFjeV9nZXRfZGV0YWlscyhhY2N1cmFjeS5nZXQoKSwgJmxldmVsLCAmbV9hY2N1
cmFjeSwgJm1fYWx0aXR1ZGVBY2N1cmFjeSk7CisgICAgdXBkYXRlUG9zaXRpb24oKTsKK30KKwor
dm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnVwZGF0ZVBvc2l0aW9uKCkKK3sKKyAgICBtX2xh
c3RFcnJvciA9IDA7CisgICAgbV9sYXN0UG9zaXRpb24gPSBHZW9wb3NpdGlvbjo6Y3JlYXRlKG1f
bGF0aXR1ZGUsIG1fbG9uZ2l0dWRlLCBtX2FsdGl0dWRlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX2FjY3VyYWN5LCBtX2FsdGl0dWRlQWNjdXJhY3ksIDAuMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wLCBtX3RpbWVzdGFt
cCoxMDAwLjApOworICAgIHBvc2l0aW9uQ2hhbmdlZCgpOworfQorCit2b2lkIEdlb2xvY2F0aW9u
U2VydmljZUd0azo6cG9zaXRpb25fY2hhbmdlZChHZW9jbHVlUG9zaXRpb24qLCBHZW9jbHVlUG9z
aXRpb25GaWVsZHMgZmllbGRzLCBpbnQgdGltZXN0YW1wLCBkb3VibGUgbGF0aXR1ZGUsIGRvdWJs
ZSBsb25naXR1ZGUsIGRvdWJsZSBhbHRpdHVkZSwgR2VvY2x1ZUFjY3VyYWN5KiBhY2N1cmFjeSwg
R2VvbG9jYXRpb25TZXJ2aWNlR3RrKiB0aGF0KQoreworICAgIGlmIChmaWVsZHMgJiBHRU9DTFVF
X1BPU0lUSU9OX0ZJRUxEU19MQVRJVFVERSAmJiBmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJ
RUxEU19MT05HSVRVREUpIHsKKyAgICAgICAgdGhhdC0+c2V0RXJyb3IoUG9zaXRpb25FcnJvcjo6
UE9TSVRJT05fTk9UX0ZPVU5EX0VSUk9SLCAiUG9zaXRpb24gY291bGQgbm90IGJlIGRldGVybWlu
ZWQuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB0aGF0LT5tX3RpbWVzdGFtcCA9
IHRpbWVzdGFtcDsKKyAgICB0aGF0LT5tX2xhdGl0dWRlID0gbGF0aXR1ZGU7CisgICAgdGhhdC0+
bV9sb25naXR1ZGUgPSBsb25naXR1ZGU7CisgICAgdGhhdC0+bV9hbHRpdHVkZSA9IGFsdGl0dWRl
OworCisgICAgR2VvY2x1ZUFjY3VyYWN5TGV2ZWwgbGV2ZWw7CisgICAgZ2VvY2x1ZV9hY2N1cmFj
eV9nZXRfZGV0YWlscyhhY2N1cmFjeSwgJmxldmVsLCAmdGhhdC0+bV9hY2N1cmFjeSwgJnRoYXQt
Pm1fYWx0aXR1ZGVBY2N1cmFjeSk7CisgICAgdGhhdC0+dXBkYXRlUG9zaXRpb24oKTsKK30KKwor
dm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnNldEVycm9yKFBvc2l0aW9uRXJyb3I6OkVycm9y
Q29kZSBlcnJvckNvZGUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpCit7CisgICAgbV9sYXN0UG9zaXRp
b24gPSAwOworICAgIG1fbGFzdEVycm9yID0gUG9zaXRpb25FcnJvcjo6Y3JlYXRlKGVycm9yQ29k
ZSwgU3RyaW5nOjpmcm9tVVRGOChtZXNzYWdlKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgKaW5kZXggMDJhZmYyZC4uOTA2OTlhZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgKQEAgLTIxLDEx
ICsyMSwxOCBAQAogI2RlZmluZSBHZW9sb2NhdGlvblNlcnZpY2VHdGtfaAogCiAjaW5jbHVkZSAi
R2VvbG9jYXRpb25TZXJ2aWNlLmgiCisjaW5jbHVkZSAiR2VvcG9zaXRpb24uaCIKKyNpbmNsdWRl
ICJQb3NpdGlvbkVycm9yLmgiCisjaW5jbHVkZSAiUmVmUHRyLmgiCisKKyNpbmNsdWRlIDxnZW9j
bHVlL2dlb2NsdWUtbWFzdGVyLmg+CisjaW5jbHVkZSA8Z2VvY2x1ZS9nZW9jbHVlLXBvc2l0aW9u
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBHZW9sb2NhdGlvblNlcnZpY2VH
dGsgOiBwdWJsaWMgR2VvbG9jYXRpb25TZXJ2aWNlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIEdl
b2xvY2F0aW9uU2VydmljZUd0ayhHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsKKyAgICAgICAg
fkdlb2xvY2F0aW9uU2VydmljZUd0aygpOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdGFydFVw
ZGF0aW5nKFBvc2l0aW9uT3B0aW9ucyopOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0
aW5nKCk7CkBAIC0zNSw2ICs0MiwyOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
R2VvcG9zaXRpb24qIGxhc3RQb3NpdGlvbigpIGNvbnN0OwogICAgICAgICBQb3NpdGlvbkVycm9y
KiBsYXN0RXJyb3IoKSBjb25zdDsKKworICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgdXBkYXRl
TG9jYXRpb25JbmZvcm1hdGlvbigpOworICAgICAgICB2b2lkIHNldEVycm9yKFBvc2l0aW9uRXJy
b3I6OkVycm9yQ29kZSwgY29uc3QgY2hhciogbWVzc2FnZSk7CisgICAgICAgIHZvaWQgdXBkYXRl
UG9zaXRpb24oKTsKKworICAgICAgICBzdGF0aWMgdm9pZCBwb3NpdGlvbl9jaGFuZ2VkKEdlb2Ns
dWVQb3NpdGlvbiosIEdlb2NsdWVQb3NpdGlvbkZpZWxkcywgaW50LCBkb3VibGUsIGRvdWJsZSwg
ZG91YmxlLCBHZW9jbHVlQWNjdXJhY3kqLCBHZW9sb2NhdGlvblNlcnZpY2VHdGsqKTsKKworICAg
IHByaXZhdGU6CisgICAgICAgIFJlZlB0cjxHZW9wb3NpdGlvbj4gbV9sYXN0UG9zaXRpb247Cisg
ICAgICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yPiBtX2xhc3RFcnJvcjsKKworICAgICAgICAvLyBz
dGF0ZSBvYmplY3RzCisgICAgICAgIEdlb2NsdWVNYXN0ZXJDbGllbnQqIG1fZ2VvY2x1ZUNsaWVu
dDsKKyAgICAgICAgR2VvY2x1ZVBvc2l0aW9uKiBtX2dlb2NsdWVQb3NpdGlvbjsKKworICAgICAg
ICAvLyBFcnJvciBhbmQgUG9zaXRpb24gc3RhdGUKKyAgICAgICAgZG91YmxlIG1fbGF0aXR1ZGU7
CisgICAgICAgIGRvdWJsZSBtX2xvbmdpdHVkZTsKKyAgICAgICAgZG91YmxlIG1fYWx0aXR1ZGU7
CisgICAgICAgIGRvdWJsZSBtX2FjY3VyYWN5OworICAgICAgICBkb3VibGUgbV9hbHRpdHVkZUFj
Y3VyYWN5OworICAgICAgICBpbnQgbV90aW1lc3RhbXA7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0
IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDNlYmVhZDMuLjhiZTc5ZTkgMTAw
NjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTY0OCw2ICs2NDgs
MTQgQEAgaWYgdGVzdCAiJGVuYWJsZV94c2x0IiA9ICJ5ZXMiOyB0aGVuCiAgICBBQ19TVUJTVChb
TElCWFNMVF9MSUJTXSkKIGZpCiAKKyMgY2hlY2sgaWYgZ2VvY2x1ZSBpcyBhdmFpbGFibGUKK2lm
IHRlc3QgIiRlbmFibGVfZ2VvbG9jYXRpb24iID0gInllcyI7IHRoZW4KKyAgICBQS0dfQ0hFQ0tf
TU9EVUxFUyhbR0VPQ0xVRV0sIFtnZW9jbHVlXSkKKyAgICBBQ19TVUJTVChbR0VPQ0xVRV9DRkxB
R1NdKQorICAgIEFDX1NVQlNUKFtHRU9DTFVFX0xJQlNdKQorZmkKKworCiAjIGNoZWNrIGlmIGdz
dHJlYW1lciBpcyBhdmFpbGFibGUKIGlmIHRlc3QgIiRlbmFibGVfdmlkZW8iID0gInllcyI7IHRo
ZW4KICAgIFBLR19DSEVDS19NT0RVTEVTKFtHU1RSRUFNRVJdLAotLSAKMS41LjYuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25980</attachid>
            <date>2008-12-12 07:19:12 -0800</date>
            <delta_ts>2009-02-02 05:45:08 -0800</delta_ts>
            <desc>tested patch with geoclue</desc>
            <filename>geoclue.patch</filename>
            <type>text/plain</type>
            <size>10283</size>
            <attacher name="Aurelian Maga">aurelianmaga</attacher>
            
              <data encoding="base64">SW5kZXg6IEdOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEdOVW1ha2VmaWxlLmFtCShyZXZp
c2lvbiAzOTIxNCkKKysrIEdOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsNyAr
MTgxLDggQEAgbGliV2ViQ29yZV9sYV9DRkxBR1MgPSBcCiAJJChHU1RSRUFNRVJfQ0ZMQUdTKSBc
CiAJJChMSUJYU0xUX0NGTEFHUykgXAogCSQoQ09WRVJBR0VfQ0ZMQUdTKSBcCi0JJChISUxET05f
Q0ZMQUdTKQorCSQoSElMRE9OX0NGTEFHUykgXAorCSQoR0VPQ0xVRV9DRkxBR1MpCiAKIGxpYldl
YkNvcmVfbGFfQ1BQRkxBR1MgPSBcCiAJJChnbG9iYWxfY3BwZmxhZ3MpIFwKQEAgLTIxMCw2ICsy
MTEsNyBAQCBsaWJXZWJDb3JlX2xhX0xJQkFERCA9IFwKIAkkKEhJTERPTl9MSUJTKSBcCiAJJChK
UEVHX0xJQlMpIFwKIAkkKFBOR19MSUJTKSBcCisJJChHRU9DTFVFX0xJQlMpIFwKIAktbHB0aHJl
YWQKIAogIyBXZWJLaXQKSW5kZXg6IGNvbmZpZ3VyZS5hYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjb25maWd1
cmUuYWMJKHJldmlzaW9uIDM5MjE0KQorKysgY29uZmlndXJlLmFjCSh3b3JraW5nIGNvcHkpCkBA
IC02NzUsNiArNjc1LDE0IEBAIGlmIHRlc3QgIiRlbmFibGVfeHNsdCIgPSAieWVzIjsgdGhlbgog
ICAgQUNfU1VCU1QoW0xJQlhTTFRfTElCU10pCiBmaQogCisjIGNoZWNrIGlmIGdlb2NsdWUgaXMg
YXZhaWxhYmxlCitpZiB0ZXN0ICIkZW5hYmxlX2dlb2xvY2F0aW9uIiA9ICJ5ZXMiOyB0aGVuCisg
ICAgUEtHX0NIRUNLX01PRFVMRVMoW0dFT0NMVUVdLCBbZ2VvY2x1ZV0pCisgICAgQUNfU1VCU1Qo
W0dFT0NMVUVfQ0ZMQUdTXSkKKyAgICBBQ19TVUJTVChbR0VPQ0xVRV9MSUJTXSkKK2ZpCisKKwog
IyBjaGVjayBpZiBnc3RyZWFtZXIgaXMgYXZhaWxhYmxlCiBpZiB0ZXN0ICIkZW5hYmxlX3ZpZGVv
IiA9ICJ5ZXMiOyB0aGVuCiAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbR1NUUkVBTUVSXSwKSW5kZXg6
IFdlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L1Bvc2l0aW9uRXJyb3IuaAkocmV2aXNpb24gMzkyMTQpCisrKyBXZWJDb3JlL3BhZ2UvUG9zaXRp
b25FcnJvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCwxMCBAQCBwdWJsaWM6CiAgICAg
ICAgIFVOS05PV05fRVJST1IgPSAwLAogICAgICAgICBQRVJNSVNTSU9OX0RFTklFRCA9IDEsCiAg
ICAgICAgIFBPU0lUSU9OX1VOQVZBSUxBQkxFID0gMiwKLSAgICAgICAgVElNRU9VVCA9IDMKKyAg
ICAgICAgVElNRU9VVCA9IDMsCisgICAgICAgIExPQ0FUSU9OX1BST1ZJREVSX0VSUk9SID0gNCwK
KyAgICAgICAgUE9TSVRJT05fTk9UX0ZPVU5EX0VSUk9SID0gNQorCiAgICAgfTsKICAgICAKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxQb3NpdGlvbkVycm9yPiBjcmVhdGUoRXJyb3JDb2RlIGNvZGUs
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBvc2l0aW9uRXJy
b3IoY29kZSwgbWVzc2FnZSkpOyB9CkluZGV4OiBXZWJDb3JlL3BhZ2UvUG9zaXRpb25FcnJvci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3IuaWRsCShyZXZpc2lv
biAzOTIxNCkKKysrIFdlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzUsNiArMzUsOSBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFBFUk1JU1NJT05fREVOSUVEID0gMTsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgUE9TSVRJT05fVU5BVkFJTEFCTEUgPSAyOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBUSU1FT1VUID0gMzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTE9DQVRJT05fUFJP
VklERVJfRVJST1IgPSA0OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQT1NJVElPTl9O
T1RfRk9VTkRfRVJST1IgPSA1OworCiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwCShyZXZpc2lvbiAzOTIxNCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIwLDYgKzIwLDIxIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
R2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgiCiAKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisjaW5jbHVk
ZSAiR093blB0ci5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUG9z
aXRpb25PcHRpb25zLmgiCisKK25hbWVzcGFjZSBXVEYgeworICAgIHRlbXBsYXRlPD4gdm9pZCBm
cmVlT3duZWRHUHRyPEdlb2NsdWVBY2N1cmFjeT4oR2VvY2x1ZUFjY3VyYWN5KiBhY2N1cmFjeSkK
KyAgICB7CisgICAgICAgIGlmICghYWNjdXJhY3kpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgZ2VvY2x1ZV9hY2N1cmFjeV9mcmVlKGFjY3VyYWN5KTsKKyAgICB9Cit9CisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogR2VvbG9jYXRpb25TZXJ2aWNlKiBHZW9sb2NhdGlvblNlcnZpY2U6
OmNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqIGNsaWVudCkKQEAgLTI5LDMzICs0NCwx
NzIgQEAgR2VvbG9jYXRpb25TZXJ2aWNlKiBHZW9sb2NhdGlvblNlcnZpY2U6OgogCiBHZW9sb2Nh
dGlvblNlcnZpY2VHdGs6Okdlb2xvY2F0aW9uU2VydmljZUd0ayhHZW9sb2NhdGlvblNlcnZpY2VD
bGllbnQqIGNsaWVudCkKICAgICA6IEdlb2xvY2F0aW9uU2VydmljZShjbGllbnQpCi17fQorICAg
ICwgbV9nZW9jbHVlQ2xpZW50KDApCisgICAgLCBtX2dlb2NsdWVQb3NpdGlvbigwKQorICAgICwg
bV9sYXRpdHVkZSgwLjApCisgICAgLCBtX2xvbmdpdHVkZSgwLjApCisgICAgLCBtX2FsdGl0dWRl
KDAuMCkKKyAgICAsIG1fYWx0aXR1ZGVBY2N1cmFjeSgwLjApCisgICAgLCBtX3RpbWVzdGFtcCgw
KQoreworfQorCitHZW9sb2NhdGlvblNlcnZpY2VHdGs6On5HZW9sb2NhdGlvblNlcnZpY2VHdGso
KQoreworICAgIGlmIChtX2dlb2NsdWVDbGllbnQpCisgICAgICAgIGdfb2JqZWN0X3VucmVmKG1f
Z2VvY2x1ZUNsaWVudCk7CisKKyAgICBpZiAobV9nZW9jbHVlUG9zaXRpb24pCisgICAgICAgIGdf
b2JqZWN0X3VucmVmKG1fZ2VvY2x1ZVBvc2l0aW9uKTsKK30KKworLy8KKy8vIDEuKSBJbml0aWFs
aXplIEdlb2NsdWUgd2l0aCBvdXIgcmVxdWlyZW1lbnRzCisvLyAyLikgVHJ5IHRvIGdldCBhIEdl
b2NsdWVQb3NpdGlvbgorLy8gMy4pIFVwZGF0ZSB0aGUgSW5mb3JtYXRpb24gYW5kIGdldCB0aGUg
Y3VycmVudCBwb3NpdGlvbgorLy8KKy8vIFRPRE86IEFsc28gZ2V0IEdlb2NsdWVWZWxvY2l0eSBi
dXQgdGhlcmUgaXMgbm8gbWFzdGVyIGNsaWVudAorLy8gICAgICAgQVBJIGZvciB0aGF0LgorLy8K
K2Jvb2wgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpzdGFydFVwZGF0aW5nKFBvc2l0aW9uT3B0aW9u
cyogb3B0aW9ucykKK3sKKyAgICBBU1NFUlQoIW1fZ2VvY2x1ZUNsaWVudCk7CisKKyAgICBtX2xh
c3RQb3NpdGlvbiA9IDA7CisgICAgbV9sYXN0RXJyb3IgPSAwOworCisgICAgR093blB0cjxHRXJy
b3I+IGVycm9yOworICAgIEdlb2NsdWVNYXN0ZXIqIG1hc3RlciA9IGdlb2NsdWVfbWFzdGVyX2dl
dF9kZWZhdWx0KCk7CisgICAgR2VvY2x1ZU1hc3RlckNsaWVudCogY2xpZW50ID0gZ2VvY2x1ZV9t
YXN0ZXJfY3JlYXRlX2NsaWVudChtYXN0ZXIsIDAsIDApOworICAgIGdfb2JqZWN0X3VucmVmKG1h
c3Rlcik7CisKKyAgICBpZiAoIWNsaWVudCkgeworICAgICAgICBzZXRFcnJvcihQb3NpdGlvbkVy
cm9yOjpMT0NBVElPTl9QUk9WSURFUl9FUlJPUiwgIkNvdWxkIG5vdCBjb25uZWN0IHRvIGxvY2F0
aW9uIHByb3ZpZGVyLiIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgR2Vv
Y2x1ZUFjY3VyYWN5TGV2ZWwgYWNjdXJhY3lMZXZlbCA9IEdFT0NMVUVfQUNDVVJBQ1lfTEVWRUxf
REVUQUlMRUQ7CisgICAgaW50IHRpbWVvdXQgPSAwOworICAgIGlmIChvcHRpb25zKSB7CisgICAg
ICAgIGFjY3VyYWN5TGV2ZWwgPSBvcHRpb25zLT5lbmFibGVIaWdoQWNjdXJhY3koKSA/IEdFT0NM
VUVfQUNDVVJBQ1lfTEVWRUxfREVUQUlMRUQgOiBHRU9DTFVFX0FDQ1VSQUNZX0xFVkVMX0xPQ0FM
SVRZOworICAgICAgICB0aW1lb3V0ID0gb3B0aW9ucy0+dGltZW91dCgpOworICAgIH0KKworICAg
IGdib29sZWFuIHJlc3VsdCA9IGdlb2NsdWVfbWFzdGVyX2NsaWVudF9zZXRfcmVxdWlyZW1lbnRz
KGNsaWVudCwgYWNjdXJhY3lMZXZlbCwgdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCBHRU9DTFVFX1JFU09V
UkNFX0FMTCwgJmVycm9yLm91dFB0cigpKTsKKworICAgIGlmICghcmVzdWx0KSB7CisgICAgICAg
IHNldEVycm9yKFBvc2l0aW9uRXJyb3I6OkxPQ0FUSU9OX1BST1ZJREVSX0VSUk9SLCBlcnJvci0+
bWVzc2FnZSk7CisgICAgICAgIGdfb2JqZWN0X3VucmVmKGNsaWVudCk7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisKKyAgICBtX2dlb2NsdWVQb3NpdGlvbiA9IGdlb2NsdWVfbWFzdGVy
X2NsaWVudF9jcmVhdGVfcG9zaXRpb24oY2xpZW50LCAmZXJyb3Iub3V0UHRyKCkpOworICAgIGlm
ICghbV9nZW9jbHVlUG9zaXRpb24pIHsKKyAgICAgICAgc2V0RXJyb3IoUG9zaXRpb25FcnJvcjo6
TE9DQVRJT05fUFJPVklERVJfRVJST1IsIGVycm9yLT5tZXNzYWdlKTsKKyAgICAgICAgZ19vYmpl
Y3RfdW5yZWYoY2xpZW50KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAotYm9vbCBH
ZW9sb2NhdGlvblNlcnZpY2VHdGs6OnN0YXJ0VXBkYXRpbmcoUG9zaXRpb25PcHRpb25zKikKLXsK
LSAgICByZXR1cm4gZmFsc2U7CisgICAgZ19zaWduYWxfY29ubmVjdChHX09CSkVDVChtX2dlb2Ns
dWVQb3NpdGlvbiksICJwb3NpdGlvbi1jaGFuZ2VkIiwKKyAgICAgICAgICAgICAgICAgICAgIEdf
Q0FMTEJBQ0socG9zaXRpb25fY2hhbmdlZCksIHRoaXMpOworCisgICAgbV9nZW9jbHVlQ2xpZW50
ID0gY2xpZW50OworICAgIHVwZGF0ZUxvY2F0aW9uSW5mb3JtYXRpb24oKTsKKworICAgIHJldHVy
biB0cnVlOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uU2VydmljZUd0azo6c3RvcFVwZGF0aW5nKCkK
IHsKKyAgICBpZiAoIW1fZ2VvY2x1ZUNsaWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZ19v
YmplY3RfdW5yZWYobV9nZW9jbHVlUG9zaXRpb24pOworICAgIGdfb2JqZWN0X3VucmVmKG1fZ2Vv
Y2x1ZUNsaWVudCk7CisKKyAgICBtX2dlb2NsdWVQb3NpdGlvbiA9IDA7CisgICAgbV9nZW9jbHVl
Q2xpZW50ID0gMDsKIH0KIAogdm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnN1c3BlbmQoKQog
eworICAgIC8vIG5vdCBhdmFpbGFibGUgd2l0aCBnZW9jbHVlCisgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnJlc3VtZSgpCiB7CisgICAgLy8g
bm90IGF2YWlsYWJsZSB3aXRoIGdlb2NsdWUKKyAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCiBH
ZW9wb3NpdGlvbiogR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpsYXN0UG9zaXRpb24oKSBjb25zdAog
ewotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2xhc3RQb3NpdGlvbi5nZXQoKTsKIH0KIAog
UG9zaXRpb25FcnJvciogR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpsYXN0RXJyb3IoKSBjb25zdAog
ewotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2xhc3RFcnJvci5nZXQoKTsKK30KKwordm9p
ZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnVwZGF0ZUxvY2F0aW9uSW5mb3JtYXRpb24oKQorewor
ICAgIEFTU0VSVChtX2dlb2NsdWVQb3NpdGlvbik7CisKKyAgICBHT3duUHRyPEdFcnJvcj4gZXJy
b3I7CisgICAgR093blB0cjxHZW9jbHVlQWNjdXJhY3k+IGFjY3VyYWN5OworCisgICAgR2VvY2x1
ZVBvc2l0aW9uRmllbGRzIGZpZWxkcyA9IGdlb2NsdWVfcG9zaXRpb25fZ2V0X3Bvc2l0aW9uKG1f
Z2VvY2x1ZVBvc2l0aW9uLCAmbV90aW1lc3RhbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtX2xhdGl0dWRlLCAmbV9s
b25naXR1ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZtX2FsdGl0dWRlLCAmYWNjdXJhY3kub3V0UHRyKCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZlcnJvci5vdXRQdHIoKSk7CisgICAgaWYgKGVycm9yKSB7CisgICAgICAgIHNldEVycm9y
KFBvc2l0aW9uRXJyb3I6OlBPU0lUSU9OX05PVF9GT1VORF9FUlJPUiwgZXJyb3ItPm1lc3NhZ2Up
OworICAgICAgICByZXR1cm47CisgICAgfSBlbHNlIGlmICghKGZpZWxkcyAmIEdFT0NMVUVfUE9T
SVRJT05fRklFTERTX0xBVElUVURFICYmIGZpZWxkcyAmIEdFT0NMVUVfUE9TSVRJT05fRklFTERT
X0xPTkdJVFVERSkpIHsKKyAgICAgICAgc2V0RXJyb3IoUG9zaXRpb25FcnJvcjo6UE9TSVRJT05f
Tk9UX0ZPVU5EX0VSUk9SLCAiUG9zaXRpb24gY291bGQgbm90IGJlIGRldGVybWluZWQuIik7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBkb24ndCB1cGRhdGUgbm93LCB3YWl0IGZv
ciBHZW9jbHVlIHRvIHRyaWdnZXIgCisgICAgLy8gVGhlIG1fYWx0aXR1ZGVBY2N1cmFjeSBhY2N1
cmFjeSBpcyBsaWtlbHkgdG8gYmUgd3JvbmcKKyAgICAvL0dlb2NsdWVBY2N1cmFjeUxldmVsIGxl
dmVsOworICAgIC8vZ2VvY2x1ZV9hY2N1cmFjeV9nZXRfZGV0YWlscyhhY2N1cmFjeS5nZXQoKSwg
JmxldmVsLCAmbV9hY2N1cmFjeSwgJm1fYWx0aXR1ZGVBY2N1cmFjeSk7CisgICAgLy91cGRhdGVQ
b3NpdGlvbigpOworfQorCit2b2lkIEdlb2xvY2F0aW9uU2VydmljZUd0azo6dXBkYXRlUG9zaXRp
b24oKQoreworICAgIG1fbGFzdEVycm9yID0gMDsKKyAgICBtX2xhc3RQb3NpdGlvbiA9IEdlb3Bv
c2l0aW9uOjpjcmVhdGUobV9sYXRpdHVkZSwgbV9sb25naXR1ZGUsIG1fYWx0aXR1ZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWNjdXJhY3ksIG1fYWx0aXR1
ZGVBY2N1cmFjeSwgMC4wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAwLjAsIG1fdGltZXN0YW1wKjEwMDAuMCk7CisgICAgcG9zaXRpb25DaGFuZ2VkKCk7Cit9CisK
K3ZvaWQgR2VvbG9jYXRpb25TZXJ2aWNlR3RrOjpwb3NpdGlvbl9jaGFuZ2VkKEdlb2NsdWVQb3Np
dGlvbiosIEdlb2NsdWVQb3NpdGlvbkZpZWxkcyBmaWVsZHMsIGludCB0aW1lc3RhbXAsIGRvdWJs
ZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFsdGl0dWRlLCBHZW9jbHVlQWNj
dXJhY3kqIGFjY3VyYWN5LCBHZW9sb2NhdGlvblNlcnZpY2VHdGsqIHRoYXQpCit7CisgICAgaWYg
KCEoZmllbGRzICYgR0VPQ0xVRV9QT1NJVElPTl9GSUVMRFNfTEFUSVRVREUgJiYgZmllbGRzICYg
R0VPQ0xVRV9QT1NJVElPTl9GSUVMRFNfTE9OR0lUVURFKSkgeworICAgICAgICB0aGF0LT5zZXRF
cnJvcihQb3NpdGlvbkVycm9yOjpQT1NJVElPTl9OT1RfRk9VTkRfRVJST1IsICJQb3NpdGlvbiBj
b3VsZCBub3QgYmUgZGV0ZXJtaW5lZC4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IHRoYXQtPm1fdGltZXN0YW1wID0gdGltZXN0YW1wOworICAgIHRoYXQtPm1fbGF0aXR1ZGUgPSBs
YXRpdHVkZTsKKyAgICB0aGF0LT5tX2xvbmdpdHVkZSA9IGxvbmdpdHVkZTsKKyAgICB0aGF0LT5t
X2FsdGl0dWRlID0gYWx0aXR1ZGU7CisKKyAgICBHZW9jbHVlQWNjdXJhY3lMZXZlbCBsZXZlbDsK
KyAgICBnZW9jbHVlX2FjY3VyYWN5X2dldF9kZXRhaWxzKGFjY3VyYWN5LCAmbGV2ZWwsICZ0aGF0
LT5tX2FjY3VyYWN5LCAmdGhhdC0+bV9hbHRpdHVkZUFjY3VyYWN5KTsKKyAgICB0aGF0LT51cGRh
dGVQb3NpdGlvbigpOworfQorCit2b2lkIEdlb2xvY2F0aW9uU2VydmljZUd0azo6c2V0RXJyb3Io
UG9zaXRpb25FcnJvcjo6RXJyb3JDb2RlIGVycm9yQ29kZSwgY29uc3QgY2hhciogbWVzc2FnZSkK
K3sKKyAgICBtX2xhc3RQb3NpdGlvbiA9IDA7CisgICAgbV9sYXN0RXJyb3IgPSBQb3NpdGlvbkVy
cm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBTdHJpbmc6OmZyb21VVEY4KG1lc3NhZ2UpKTsKIH0KIAog
fQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmgJ
KHJldmlzaW9uIDM5MjE0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2
aWNlR3RrLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDExICsyMSwxOCBAQAogI2RlZmluZSBHZW9s
b2NhdGlvblNlcnZpY2VHdGtfaAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb25TZXJ2aWNlLmgiCisj
aW5jbHVkZSAiR2VvcG9zaXRpb24uaCIKKyNpbmNsdWRlICJQb3NpdGlvbkVycm9yLmgiCisjaW5j
bHVkZSAiUmVmUHRyLmgiCisKKyNpbmNsdWRlIDxnZW9jbHVlL2dlb2NsdWUtbWFzdGVyLmg+Cisj
aW5jbHVkZSA8Z2VvY2x1ZS9nZW9jbHVlLXBvc2l0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBHZW9sb2NhdGlvblNlcnZpY2VHdGsgOiBwdWJsaWMgR2VvbG9jYXRpb25T
ZXJ2aWNlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIEdlb2xvY2F0aW9uU2VydmljZUd0ayhHZW9s
b2NhdGlvblNlcnZpY2VDbGllbnQqKTsKKyAgICAgICAgfkdlb2xvY2F0aW9uU2VydmljZUd0aygp
OwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdGFydFVwZGF0aW5nKFBvc2l0aW9uT3B0aW9ucyop
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CkBAIC0zNSw2ICs0MiwyOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgR2VvcG9zaXRpb24qIGxhc3RQb3NpdGlv
bigpIGNvbnN0OwogICAgICAgICBQb3NpdGlvbkVycm9yKiBsYXN0RXJyb3IoKSBjb25zdDsKKwor
ICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgdXBkYXRlTG9jYXRpb25JbmZvcm1hdGlvbigpOwor
ICAgICAgICB2b2lkIHNldEVycm9yKFBvc2l0aW9uRXJyb3I6OkVycm9yQ29kZSwgY29uc3QgY2hh
ciogbWVzc2FnZSk7CisgICAgICAgIHZvaWQgdXBkYXRlUG9zaXRpb24oKTsKKworICAgICAgICBz
dGF0aWMgdm9pZCBwb3NpdGlvbl9jaGFuZ2VkKEdlb2NsdWVQb3NpdGlvbiosIEdlb2NsdWVQb3Np
dGlvbkZpZWxkcywgaW50LCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBHZW9jbHVlQWNjdXJhY3kq
LCBHZW9sb2NhdGlvblNlcnZpY2VHdGsqKTsKKworICAgIHByaXZhdGU6CisgICAgICAgIFJlZlB0
cjxHZW9wb3NpdGlvbj4gbV9sYXN0UG9zaXRpb247CisgICAgICAgIFJlZlB0cjxQb3NpdGlvbkVy
cm9yPiBtX2xhc3RFcnJvcjsKKworICAgICAgICAvLyBzdGF0ZSBvYmplY3RzCisgICAgICAgIEdl
b2NsdWVNYXN0ZXJDbGllbnQqIG1fZ2VvY2x1ZUNsaWVudDsKKyAgICAgICAgR2VvY2x1ZVBvc2l0
aW9uKiBtX2dlb2NsdWVQb3NpdGlvbjsKKworICAgICAgICAvLyBFcnJvciBhbmQgUG9zaXRpb24g
c3RhdGUKKyAgICAgICAgZG91YmxlIG1fbGF0aXR1ZGU7CisgICAgICAgIGRvdWJsZSBtX2xvbmdp
dHVkZTsKKyAgICAgICAgZG91YmxlIG1fYWx0aXR1ZGU7CisgICAgICAgIGRvdWJsZSBtX2FjY3Vy
YWN5OworICAgICAgICBkb3VibGUgbV9hbHRpdHVkZUFjY3VyYWN5OworICAgICAgICBpbnQgbV90
aW1lc3RhbXA7CiAgICAgfTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25984</attachid>
            <date>2008-12-12 12:33:55 -0800</date>
            <delta_ts>2008-12-12 12:33:55 -0800</delta_ts>
            <desc>added only delta between not landed patch and the one tested</desc>
            <filename>diff_tested_geoclue.patch</filename>
            <type>text/plain</type>
            <size>3476</size>
            <attacher name="Aurelian Maga">aurelianmaga</attacher>
            
              <data encoding="base64">ZGlmZiAtTmF1ciBhL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yLmggYi9XZWJDb3JlL3BhZ2Uv
UG9zaXRpb25FcnJvci5oCi0tLSBhL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yLmgJMjAwOC0x
MS0yNCAwODozNjo0MS4wMDAwMDAwMDAgLTA1MDAKKysrIGIvV2ViQ29yZS9wYWdlL1Bvc2l0aW9u
RXJyb3IuaAkyMDA4LTEyLTEyIDE1OjI2OjQwLjAwMDAwMDAwMCAtMDUwMApAQCAtMzgsNyArMzgs
MTAgQEAKICAgICAgICAgVU5LTk9XTl9FUlJPUiA9IDAsCiAgICAgICAgIFBFUk1JU1NJT05fREVO
SUVEID0gMSwKICAgICAgICAgUE9TSVRJT05fVU5BVkFJTEFCTEUgPSAyLAotICAgICAgICBUSU1F
T1VUID0gMworICAgICAgICBUSU1FT1VUID0gMywKKyAgICAgICAgTE9DQVRJT05fUFJPVklERVJf
RVJST1IgPSA0LAorICAgICAgICBQT1NJVElPTl9OT1RfRk9VTkRfRVJST1IgPSA1CisKICAgICB9
OwogICAgIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBvc2l0aW9uRXJyb3I+IGNyZWF0ZShFcnJv
ckNvZGUgY29kZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKSB7IHJldHVybiBhZG9wdFJlZihuZXcg
UG9zaXRpb25FcnJvcihjb2RlLCBtZXNzYWdlKSk7IH0KZGlmZiAtTmF1ciBhL1dlYkNvcmUvcGFn
ZS9Qb3NpdGlvbkVycm9yLmlkbCBiL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yLmlkbAotLS0g
YS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25FcnJvci5pZGwJMjAwOC0xMS0yNCAwODozNjo0MS4wMDAw
MDAwMDAgLTA1MDAKKysrIGIvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3IuaWRsCTIwMDgtMTIt
MTIgMTU6MjY6NDAuMDAwMDAwMDAwIC0wNTAwCkBAIC0zNSw2ICszNSw5IEBACiAgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFBFUk1JU1NJT05fREVOSUVEID0gMTsKICAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgUE9TSVRJT05fVU5BVkFJTEFCTEUgPSAyOwogICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBUSU1FT1VUID0gMzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
TE9DQVRJT05fUFJPVklERVJfRVJST1IgPSA0OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBQT1NJVElPTl9OT1RfRk9VTkRfRVJST1IgPSA1OworCiAgICAgfTsKIAogfQpkaWZmIC1OYXVy
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5jcHAKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvR2VvbG9jYXRpb25TZXJ2aWNlR3RrLmNwcAkyMDA4LTEyLTEyIDE1OjI0OjU2
LjAwMDAwMDAwMCAtMDUwMAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNl
cnZpY2VHdGsuY3BwCTIwMDgtMTItMTIgMTU6MjY6NDAuMDAwMDAwMDAwIC0wNTAwCkBAIC04OCw3
ICs4OCw3IEBACiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBHZW9jbHVlQWNj
dXJhY3lMZXZlbCBhY2N1cmFjeUxldmVsID0gR0VPQ0xVRV9BQ0NVUkFDWV9MRVZFTF9MT0NBTElU
WTsKKyAgICBHZW9jbHVlQWNjdXJhY3lMZXZlbCBhY2N1cmFjeUxldmVsID0gR0VPQ0xVRV9BQ0NV
UkFDWV9MRVZFTF9ERVRBSUxFRDsKICAgICBpbnQgdGltZW91dCA9IDA7CiAgICAgaWYgKG9wdGlv
bnMpIHsKICAgICAgICAgYWNjdXJhY3lMZXZlbCA9IG9wdGlvbnMtPmVuYWJsZUhpZ2hBY2N1cmFj
eSgpID8gR0VPQ0xVRV9BQ0NVUkFDWV9MRVZFTF9ERVRBSUxFRCA6IEdFT0NMVUVfQUNDVVJBQ1lf
TEVWRUxfTE9DQUxJVFk7CkBAIC0xMTcsNyArMTE3LDcgQEAKICAgICBtX2dlb2NsdWVDbGllbnQg
PSBjbGllbnQ7CiAgICAgdXBkYXRlTG9jYXRpb25JbmZvcm1hdGlvbigpOwogCi0gICAgcmV0dXJu
IHJlc3VsdDsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvblNlcnZpY2VH
dGs6OnN0b3BVcGRhdGluZygpCkBAIC0xNjgsMTYgKzE2OCwxNiBAQAogICAgIGlmIChlcnJvcikg
ewogICAgICAgICBzZXRFcnJvcihQb3NpdGlvbkVycm9yOjpQT1NJVElPTl9OT1RfRk9VTkRfRVJS
T1IsIGVycm9yLT5tZXNzYWdlKTsKICAgICAgICAgcmV0dXJuOwotICAgIH0gZWxzZSBpZiAoZmll
bGRzICYgR0VPQ0xVRV9QT1NJVElPTl9GSUVMRFNfTEFUSVRVREUgJiYgZmllbGRzICYgR0VPQ0xV
RV9QT1NJVElPTl9GSUVMRFNfTE9OR0lUVURFKSB7CisgICAgfSBlbHNlIGlmICghKGZpZWxkcyAm
IEdFT0NMVUVfUE9TSVRJT05fRklFTERTX0xBVElUVURFICYmIGZpZWxkcyAmIEdFT0NMVUVfUE9T
SVRJT05fRklFTERTX0xPTkdJVFVERSkpIHsKICAgICAgICAgc2V0RXJyb3IoUG9zaXRpb25FcnJv
cjo6UE9TSVRJT05fTk9UX0ZPVU5EX0VSUk9SLCAiUG9zaXRpb24gY291bGQgbm90IGJlIGRldGVy
bWluZWQuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLQorICAgIC8vIGRvbid0IHVwZGF0
ZSBub3csIHdhaXQgZm9yIEdlb2NsdWUgdG8gdHJpZ2dlciAKICAgICAvLyBUaGUgbV9hbHRpdHVk
ZUFjY3VyYWN5IGFjY3VyYWN5IGlzIGxpa2VseSB0byBiZSB3cm9uZwotICAgIEdlb2NsdWVBY2N1
cmFjeUxldmVsIGxldmVsOwotICAgIGdlb2NsdWVfYWNjdXJhY3lfZ2V0X2RldGFpbHMoYWNjdXJh
Y3kuZ2V0KCksICZsZXZlbCwgJm1fYWNjdXJhY3ksICZtX2FsdGl0dWRlQWNjdXJhY3kpOwotICAg
IHVwZGF0ZVBvc2l0aW9uKCk7CisgICAgLy9HZW9jbHVlQWNjdXJhY3lMZXZlbCBsZXZlbDsKKyAg
ICAvL2dlb2NsdWVfYWNjdXJhY3lfZ2V0X2RldGFpbHMoYWNjdXJhY3kuZ2V0KCksICZsZXZlbCwg
Jm1fYWNjdXJhY3ksICZtX2FsdGl0dWRlQWNjdXJhY3kpOworICAgIC8vdXBkYXRlUG9zaXRpb24o
KTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvblNlcnZpY2VHdGs6OnVwZGF0ZVBvc2l0aW9uKCkKQEAg
LTE5MSw3ICsxOTEsNyBAQAogCiB2b2lkIEdlb2xvY2F0aW9uU2VydmljZUd0azo6cG9zaXRpb25f
Y2hhbmdlZChHZW9jbHVlUG9zaXRpb24qLCBHZW9jbHVlUG9zaXRpb25GaWVsZHMgZmllbGRzLCBp
bnQgdGltZXN0YW1wLCBkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBh
bHRpdHVkZSwgR2VvY2x1ZUFjY3VyYWN5KiBhY2N1cmFjeSwgR2VvbG9jYXRpb25TZXJ2aWNlR3Rr
KiB0aGF0KQogewotICAgIGlmIChmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MQVRJ
VFVERSAmJiBmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MT05HSVRVREUpIHsKKyAg
ICBpZiAoIShmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MQVRJVFVERSAmJiBmaWVs
ZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MT05HSVRVREUpKSB7CiAgICAgICAgIHRoYXQt
PnNldEVycm9yKFBvc2l0aW9uRXJyb3I6OlBPU0lUSU9OX05PVF9GT1VORF9FUlJPUiwgIlBvc2l0
aW9uIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26052</attachid>
            <date>2008-12-16 07:50:10 -0800</date>
            <delta_ts>2009-02-02 05:45:30 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>geoclue2.patch</filename>
            <type>text/plain</type>
            <size>3192</size>
            <attacher name="Aurelian Maga">aurelianmaga</attacher>
            
              <data encoding="base64">ZGlmZiAtTmF1ciBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5j
cHAgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HZW9sb2NhdGlvblNlcnZpY2VHdGsuY3BwCi0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0dlb2xvY2F0aW9uU2VydmljZUd0ay5jcHAJMjAwOC0xMi0x
NiAxMDoxMjo1Ni4wMDAwMDAwMDAgLTA1MDAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR2Vv
bG9jYXRpb25TZXJ2aWNlR3RrLmNwcAkyMDA4LTEyLTE2IDEwOjQxOjUzLjAwMDAwMDAwMCAtMDUw
MApAQCAtODQsNyArODQsNyBAQAogICAgIGdfb2JqZWN0X3VucmVmKG1hc3Rlcik7CiAKICAgICBp
ZiAoIWNsaWVudCkgewotICAgICAgICBzZXRFcnJvcihQb3NpdGlvbkVycm9yOjpMT0NBVElPTl9Q
Uk9WSURFUl9FUlJPUiwgIkNvdWxkIG5vdCBjb25uZWN0IHRvIGxvY2F0aW9uIHByb3ZpZGVyLiIp
OworICAgICAgICBzZXRFcnJvcihQb3NpdGlvbkVycm9yOjpVTktOT1dOX0VSUk9SLCAiQ291bGQg
bm90IGNvbm5lY3QgdG8gbG9jYXRpb24gcHJvdmlkZXIuIik7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKQEAgLTk5LDE0ICs5OSwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsIEdFT0NMVUVfUkVTT1VS
Q0VfQUxMLCAmZXJyb3Iub3V0UHRyKCkpOwogCiAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAg
c2V0RXJyb3IoUG9zaXRpb25FcnJvcjo6TE9DQVRJT05fUFJPVklERVJfRVJST1IsIGVycm9yLT5t
ZXNzYWdlKTsKKyAgICAgICAgc2V0RXJyb3IoUG9zaXRpb25FcnJvcjo6VU5LTk9XTl9FUlJPUiwg
ZXJyb3ItPm1lc3NhZ2UpOwogICAgICAgICBnX29iamVjdF91bnJlZihjbGllbnQpOwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgbV9nZW9jbHVlUG9zaXRpb24gPSBnZW9jbHVl
X21hc3Rlcl9jbGllbnRfY3JlYXRlX3Bvc2l0aW9uKGNsaWVudCwgJmVycm9yLm91dFB0cigpKTsK
ICAgICBpZiAoIW1fZ2VvY2x1ZVBvc2l0aW9uKSB7Ci0gICAgICAgIHNldEVycm9yKFBvc2l0aW9u
RXJyb3I6OkxPQ0FUSU9OX1BST1ZJREVSX0VSUk9SLCBlcnJvci0+bWVzc2FnZSk7CisgICAgICAg
IHNldEVycm9yKFBvc2l0aW9uRXJyb3I6OlVOS05PV05fRVJST1IsIGVycm9yLT5tZXNzYWdlKTsK
ICAgICAgICAgZ19vYmplY3RfdW5yZWYoY2xpZW50KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KQEAgLTExNyw3ICsxMTcsNyBAQAogICAgIG1fZ2VvY2x1ZUNsaWVudCA9IGNsaWVudDsK
ICAgICB1cGRhdGVMb2NhdGlvbkluZm9ybWF0aW9uKCk7CiAKLSAgICByZXR1cm4gcmVzdWx0Owor
ICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uU2VydmljZUd0azo6c3RvcFVw
ZGF0aW5nKCkKQEAgLTE2NiwxOCArMTY2LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtX2FsdGl0dWRlLCAmYWNj
dXJhY3kub3V0UHRyKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvci5vdXRQdHIoKSk7CiAgICAgaWYgKGVycm9y
KSB7Ci0gICAgICAgIHNldEVycm9yKFBvc2l0aW9uRXJyb3I6OlBPU0lUSU9OX05PVF9GT1VORF9F
UlJPUiwgZXJyb3ItPm1lc3NhZ2UpOworICAgICAgICBzZXRFcnJvcihQb3NpdGlvbkVycm9yOjpQ
T1NJVElPTl9VTkFWQUlMQUJMRSwgZXJyb3ItPm1lc3NhZ2UpOwogICAgICAgICByZXR1cm47Ci0g
ICAgfSBlbHNlIGlmIChmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MQVRJVFVERSAm
JiBmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MT05HSVRVREUpIHsKLSAgICAgICAg
c2V0RXJyb3IoUG9zaXRpb25FcnJvcjo6UE9TSVRJT05fTk9UX0ZPVU5EX0VSUk9SLCAiUG9zaXRp
b24gY291bGQgbm90IGJlIGRldGVybWluZWQuIik7CisgICAgfSBlbHNlIGlmICghKGZpZWxkcyAm
IEdFT0NMVUVfUE9TSVRJT05fRklFTERTX0xBVElUVURFICYmIGZpZWxkcyAmIEdFT0NMVUVfUE9T
SVRJT05fRklFTERTX0xPTkdJVFVERSkpIHsKKyAgICAgICAgc2V0RXJyb3IoUG9zaXRpb25FcnJv
cjo6UE9TSVRJT05fVU5BVkFJTEFCTEUsICJQb3NpdGlvbiBjb3VsZCBub3QgYmUgZGV0ZXJtaW5l
ZC4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogCi0gICAgLy8gVGhlIG1fYWx0aXR1ZGVB
Y2N1cmFjeSBhY2N1cmFjeSBpcyBsaWtlbHkgdG8gYmUgd3JvbmcKLSAgICBHZW9jbHVlQWNjdXJh
Y3lMZXZlbCBsZXZlbDsKLSAgICBnZW9jbHVlX2FjY3VyYWN5X2dldF9kZXRhaWxzKGFjY3VyYWN5
LmdldCgpLCAmbGV2ZWwsICZtX2FjY3VyYWN5LCAmbV9hbHRpdHVkZUFjY3VyYWN5KTsKLSAgICB1
cGRhdGVQb3NpdGlvbigpOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uU2VydmljZUd0azo6dXBkYXRl
UG9zaXRpb24oKQpAQCAtMTkxLDggKzE4Nyw4IEBACiAKIHZvaWQgR2VvbG9jYXRpb25TZXJ2aWNl
R3RrOjpwb3NpdGlvbl9jaGFuZ2VkKEdlb2NsdWVQb3NpdGlvbiosIEdlb2NsdWVQb3NpdGlvbkZp
ZWxkcyBmaWVsZHMsIGludCB0aW1lc3RhbXAsIGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdp
dHVkZSwgZG91YmxlIGFsdGl0dWRlLCBHZW9jbHVlQWNjdXJhY3kqIGFjY3VyYWN5LCBHZW9sb2Nh
dGlvblNlcnZpY2VHdGsqIHRoYXQpCiB7Ci0gICAgaWYgKGZpZWxkcyAmIEdFT0NMVUVfUE9TSVRJ
T05fRklFTERTX0xBVElUVURFICYmIGZpZWxkcyAmIEdFT0NMVUVfUE9TSVRJT05fRklFTERTX0xP
TkdJVFVERSkgewotICAgICAgICB0aGF0LT5zZXRFcnJvcihQb3NpdGlvbkVycm9yOjpQT1NJVElP
Tl9OT1RfRk9VTkRfRVJST1IsICJQb3NpdGlvbiBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZC4iKTsK
KyAgICBpZiAoIShmaWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MQVRJVFVERSAmJiBm
aWVsZHMgJiBHRU9DTFVFX1BPU0lUSU9OX0ZJRUxEU19MT05HSVRVREUpKSB7CisgICAgICAgIHRo
YXQtPnNldEVycm9yKFBvc2l0aW9uRXJyb3I6OlBPU0lUSU9OX1VOQVZBSUxBQkxFLCAiUG9zaXRp
b24gY291bGQgbm90IGJlIGRldGVybWluZWQuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
</data>
<flag name="review"
          id="12277"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>