<?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>47052</bug_id>
          
          <creation_ts>2010-10-02 08:48:06 -0700</creation_ts>
          <short_desc>[Qt] Hook up DeviceOrientation data for Qt support</short_desc>
          <delta_ts>2010-10-04 12:50:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>47050</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Diego Gonzalez">diegohcg</reporter>
          <assigned_to name="Diego Gonzalez">diegohcg</assigned_to>
          <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>288696</commentid>
    <comment_count>0</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 08:48:06 -0700</bug_when>
    <thetext>Get DeviceOrientation necessary data via Qt mobility library using a provider class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288702</commentid>
    <comment_count>1</comment_count>
      <attachid>69577</attachid>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 09:11:09 -0700</bug_when>
    <thetext>Created attachment 69577
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288705</commentid>
    <comment_count>2</comment_count>
      <attachid>69577</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-02 11:55:36 -0700</bug_when>
    <thetext>Comment on attachment 69577
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=69577&amp;action=review

&gt; WebCore/WebCore.pro:3266
&gt; +        ../WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h \

None of this depends directly on QtMobility?

&gt; WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp:41
&gt; +    m_provider = 0;
&gt; +    delete m_provider;

This is wrong! you are leaking!

&gt; WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp:72
&gt; +    if (m_controller)
&gt; +        m_controller-&gt;didChangeDeviceOrientation(orientation);

I like the following more

if (!m_controller)
    return;

m_controller-&gt;...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288707</commentid>
    <comment_count>3</comment_count>
      <attachid>69577</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-02 12:13:47 -0700</bug_when>
    <thetext>Comment on attachment 69577
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=69577&amp;action=review

&gt; WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp:60
&gt; +    // Qt mobility provide these data via QRatationSensor using the

R_o_tation!

&gt; WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp:69
&gt; +            true, reading-&gt;x(), true, reading-&gt;y());

What is true here? Please add a /* ... */ comment in front like /* strict */ true... etc

&gt; WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h:26
&gt; +#include &lt;QRotationFilter&gt;

So I guess this is QtMobility dependent... I guess that needs some qmake changes then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288708</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-02 12:15:28 -0700</bug_when>
    <thetext>Are you going to implement DeviceMotionClientQt.cpp using QAccelerometerReading ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288709</commentid>
    <comment_count>5</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 12:20:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 69577 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69577&amp;action=review
&gt; 
&gt; &gt; WebCore/WebCore.pro:3266
&gt; &gt; +        ../WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h \
&gt; 
&gt; None of this depends directly on QtMobility?
&gt; 

It will be added in WebCore.pro by the patch in bug 47051:
+    CONFIG += mobility
+    MOBILITY += sensors

&gt; &gt; WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp:41
&gt; &gt; +    m_provider = 0;
&gt; &gt; +    delete m_provider;
&gt; 
&gt; This is wrong! you are leaking!
&gt; 

Will check this.

&gt; &gt; WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp:72
&gt; &gt; +    if (m_controller)
&gt; &gt; +        m_controller-&gt;didChangeDeviceOrientation(orientation);
&gt; 
&gt; I like the following more
&gt; 
&gt; if (!m_controller)
&gt;     return;
&gt; 
&gt; m_controller-&gt;...

OK!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288710</commentid>
    <comment_count>6</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 12:21:32 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Are you going to implement DeviceMotionClientQt.cpp using QAccelerometerReading ?

Yes, almost done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288720</commentid>
    <comment_count>7</comment_count>
      <attachid>69581</attachid>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 14:17:41 -0700</bug_when>
    <thetext>Created attachment 69581
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288727</commentid>
    <comment_count>8</comment_count>
      <attachid>69581</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-10-02 16:13:54 -0700</bug_when>
    <thetext>Comment on attachment 69581
Patch v2

View in context: https://bugs.webkit.org/attachment.cgi?id=69581&amp;action=review

Otherwise LGTM, leaving final review for Kenneth.

&gt; WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h:51
&gt; +    PassRefPtr&lt;DeviceOrientation&gt; m_orientation;

This should be a RefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288732</commentid>
    <comment_count>9</comment_count>
      <attachid>69581</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-02 18:50:07 -0700</bug_when>
    <thetext>Comment on attachment 69581
Patch v2

View in context: https://bugs.webkit.org/attachment.cgi?id=69581&amp;action=review

r+ if you fix the RefPtr issue.

&gt; WebCore/WebCore.pro:@
&gt;  contains(DEFINES, ENABLE_DEVICE_ORIENTATION=1) {

This is disabled by default? Would be nice to have enabled on the buildbots

&gt;&gt; WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h:51
&gt;&gt; +    PassRefPtr&lt;DeviceOrientation&gt; m_orientation;
&gt; 
&gt; This should be a RefPtr.

This will need to be fixed before landing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289086</commentid>
    <comment_count>10</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-04 12:48:47 -0700</bug_when>
    <thetext>Thanks guys</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289088</commentid>
    <comment_count>11</comment_count>
      <attachid>69581</attachid>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-04 12:50:20 -0700</bug_when>
    <thetext>Comment on attachment 69581
Patch v2

Clearing flags. Patch landed at r69024</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69577</attachid>
            <date>2010-10-02 09:11:09 -0700</date>
            <delta_ts>2010-10-02 14:17:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-Hook-up-DeviceOrientation-data-for-Qt-support.diff</filename>
            <type>text/plain</type>
            <size>13473</size>
            <attacher name="Diego Gonzalez">diegohcg</attacher>
            
              <data encoding="base64">RnJvbSA2ODNhYmI3NGJlYmUyNGQ1NDk4ZWM1NWNmOTJlYzlmMGRlMTNkYjc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBHb256YWxleiA8ZGllZ29oY2dAd2Via2l0Lm9yZz4K
RGF0ZTogU2F0LCAyIE9jdCAyMDEwIDEyOjA5OjM1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gW1F0
XSBIb29rIHVwIERldmljZU9yaWVudGF0aW9uIGRhdGEgZm9yIFF0IHN1cHBvcnQKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzA1MgoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpHZXQgRGV2aWNlT3JpZW50YXRpb24gbmVjZXNzYXJ5IGRhdGEgdmlhIFF0IG1v
YmlsaXR5IGxpYnJhcnkKdXNpbmcgYSBwcm92aWRlciBjbGFzcy4KCldlYkNvcmU6CgoqIFdlYkNv
cmUucHJvOgoKV2ViS2l0L3F0OgoKKiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudFF0LmNwcDoKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OkRldmljZU9y
aWVudGF0aW9uQ2xpZW50UXQpOgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6
fkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQpOgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25D
bGllbnRRdDo6c3RhcnRVcGRhdGluZyk6CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dFF0OjpzdG9wVXBkYXRpbmcpOgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6
bGFzdE9yaWVudGF0aW9uKToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OmNo
YW5nZURldmljZU9yaWVudGF0aW9uKToKKiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlv
bkNsaWVudFF0Lmg6CiogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0
LmNwcDogQWRkZWQuCihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6Omluc3Rh
bmNlKToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6RGV2aWNlT3JpZW50
YXRpb25Qcm92aWRlclF0KToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6
fkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdCk6CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlv
blByb3ZpZGVyUXQ6OnN0YXJ0KToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJR
dDo6c3RvcCk6CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6OmZpbHRlcik6
CiogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0Lmg6IEFkZGVkLgoo
V2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0Ojppc0FjdGl2ZSk6CihXZWJDb3Jl
OjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6Om9yaWVudGF0aW9uKToKKFdlYkNvcmU6OkRl
dmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6aGFzQWxwaGEpOgotLS0KIFdlYkNvcmUvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMiArKysKIFdlYkNvcmUv
V2ViQ29yZS5wcm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBXZWJL
aXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzAgKysr
KysrKysKIC4uLi9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmNwcCAg
IHwgICAyMSArKysrKy0KIC4uLi9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudFF0LmggIHwgICAgOCArKy0KIC4uLi9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlv
blByb3ZpZGVyUXQuY3BwIHwgICA3NyArKysrKysrKysrKysrKysrKysrKwogLi4uL1dlYkNvcmVT
dXBwb3J0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oICAgfCAgIDU4ICsrKysrKysrKysr
KysrKwogNyBmaWxlcyBjaGFuZ2VkLCAyMDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50
YXRpb25Qcm92aWRlclF0LmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuaAoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODZhYWM2ZC4uNDQxOTkyYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTIsNiArMiwxOCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisg
ICAgICAgIFtRdF0gSG9vayB1cCBEZXZpY2VPcmllbnRhdGlvbiBkYXRhIGZvciBRdCBzdXBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzA1Mgor
CisgICAgICAgIEdldCBEZXZpY2VPcmllbnRhdGlvbiBuZWNlc3NhcnkgZGF0YSB2aWEgUXQgbW9i
aWxpdHkgbGlicmFyeQorICAgICAgICB1c2luZyBhIHByb3ZpZGVyIGNsYXNzLgorCisgICAgICAg
ICogV2ViQ29yZS5wcm86CisKKzIwMTAtMTAtMDIgIERpZWdvIEdvbnphbGV6ICA8ZGllZ29oY2dA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAg
ICAgICBbUXRdIFByb3ZpZGUgUXQgc3VwcG9ydCBmb3IgRGV2aWNlTW90aW9uL09yaWVudGF0aW9u
IGNsaWVudHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQ3MDUxCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNv
cmUucHJvCmluZGV4IGE2ZDM3MGIuLjIyM2QxNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMzI2MywxMCArMzI2MywxMiBAQCBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OPTEpIHsKICAgICBIRUFE
RVJTICs9IFwKICAgICAgICAgLi4vV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlv
bkNsaWVudFF0LmggXAogICAgICAgICAuLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNl
T3JpZW50YXRpb25DbGllbnRRdC5oIFwKKyAgICAgICAgLi4vV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oIFwKICAgICAgICAgYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAg
Li4vV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmNwcCBcCiAg
ICAgICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVu
dFF0LmNwcCBcCisgICAgICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmll
bnRhdGlvblByb3ZpZGVyUXQuY3BwIFwKICAgICAgICAgYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmNwcAogCiAgICAgQ09ORklHICs9IG1vYmlsaXR5CmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA3NWMyN2Jk
Li40YmFjZTIyIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9x
dC9DaGFuZ2VMb2cKQEAgLTIsNiArMiwzNiBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgogCisgICAgICAgIFtRdF0gSG9vayB1cCBEZXZpY2VPcmllbnRhdGlvbiBkYXRh
IGZvciBRdCBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00NzA1MgorCisgICAgICAgIEdldCBEZXZpY2VPcmllbnRhdGlvbiBuZWNlc3Nhcnkg
ZGF0YSB2aWEgUXQgbW9iaWxpdHkgbGlicmFyeQorICAgICAgICB1c2luZyBhIHByb3ZpZGVyIGNs
YXNzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudFF0KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0
aW9uQ2xpZW50UXQ6On5EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KToKKyAgICAgICAgKFdlYkNv
cmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OnN0YXJ0VXBkYXRpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c3RvcFVwZGF0aW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6Omxhc3RPcmllbnRhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpjaGFuZ2VEZXZp
Y2VPcmllbnRhdGlvbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRp
b25DbGllbnRRdC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9u
UHJvdmlkZXJRdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRp
b25Qcm92aWRlclF0OjppbnN0YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRh
dGlvblByb3ZpZGVyUXQ6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdCk6CisgICAgICAgIChX
ZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6On5EZXZpY2VPcmllbnRhdGlvblBy
b3ZpZGVyUXQpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0
OjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6
OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0Ojpm
aWx0ZXIpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uUHJvdmlk
ZXJRdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlk
ZXJRdDo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92
aWRlclF0OjpvcmllbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlv
blByb3ZpZGVyUXQ6Omhhc0FscGhhKToKKworMjAxMC0xMC0wMiAgRGllZ28gR29uemFsZXogIDxk
aWVnb2hjZ0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCiAgICAgICAgIFtRdF0gUHJvdmlkZSBRdCBzdXBwb3J0IGZvciBEZXZpY2VNb3Rpb24vT3Jp
ZW50YXRpb24gY2xpZW50cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDcwNTEKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Rl
dmljZU9yaWVudGF0aW9uQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Rl
dmljZU9yaWVudGF0aW9uQ2xpZW50UXQuY3BwCmluZGV4IGFjZjRhMzguLjlmNmEyYzMgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0
LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGll
bnRRdC5jcHAKQEAgLTIwLDYgKzIwLDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmgiCiAKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQu
aCIKICNpbmNsdWRlICJxd2VicGFnZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNyw3
ICsyOSwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0
OjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KFFXZWJQYWdlICpwYWdlKQogICAgIDogbV9wYWdl
KHBhZ2UpCiAgICAgLCBtX2NvbnRyb2xsZXIoMCkKKyAgICAsIG1fcHJvdmlkZXIoRGV2aWNlT3Jp
ZW50YXRpb25Qcm92aWRlclF0OjppbnN0YW5jZSgpKQogeworICAgIGNvbm5lY3QobV9wcm92aWRl
ciwgU0lHTkFMKGRldmljZU9yaWVudGF0aW9uQ2hhbmdlZChEZXZpY2VPcmllbnRhdGlvbiopKSwg
U0xPVChjaGFuZ2VEZXZpY2VPcmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbiopKSk7Cit9CisK
K0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6On5EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KCkK
K3sKKyAgICBkaXNjb25uZWN0KCk7CisgICAgbV9wcm92aWRlciA9IDA7CisgICAgZGVsZXRlIG1f
cHJvdmlkZXI7CiB9CiAKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c2V0Q29udHJv
bGxlcihEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIpCkBAIC0zNywxNSAr
NDgsMTcgQEAgdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzZXRDb250cm9sbGVyKERl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlciogY29udHIKIAogdm9pZCBEZXZpY2VPcmllbnRhdGlv
bkNsaWVudFF0OjpzdGFydFVwZGF0aW5nKCkKIHsKKyAgICBtX3Byb3ZpZGVyLT5zdGFydCgpOwog
fQogCiB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OnN0b3BVcGRhdGluZygpCiB7Cisg
ICAgbV9wcm92aWRlci0+c3RvcCgpOwogfQogCiBEZXZpY2VPcmllbnRhdGlvbiogRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRRdDo6bGFzdE9yaWVudGF0aW9uKCkgY29uc3QKIHsKLSAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gbV9wcm92aWRlci0+b3JpZW50YXRpb24oKTsKIH0KIAogdm9pZCBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudFF0OjpkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95
ZWQoKQpAQCAtNTMsNiArNjYsMTIgQEAgdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojpk
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwog
fQogCit2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OmNoYW5nZURldmljZU9yaWVudGF0
aW9uKERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbikKK3sKKyAgICBpZiAobV9jb250cm9s
bGVyKQorICAgICAgICBtX2NvbnRyb2xsZXItPmRpZENoYW5nZURldmljZU9yaWVudGF0aW9uKG9y
aWVudGF0aW9uKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjaW5jbHVkZSAibW9j
X0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuaCBiL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmgKaW5kZXggNTc0ZDhmZi4uNThh
Y2I2YyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0
aW9uQ2xpZW50UXQuaAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50
YXRpb25DbGllbnRRdC5oCkBAIC0yOSwxMSArMjksMTMgQEAgY2xhc3MgUVdlYlBhZ2U7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0Owor
CiBjbGFzcyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0IDogcHVibGljIFFPYmplY3QsIHB1Ymxp
YyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCB7CiAgICAgUV9PQkpFQ1QKIHB1YmxpYzoKICAgICBE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KFFXZWJQYWdlICpwYWdlKTsKLSAgICB2aXJ0dWFsIH5E
ZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KCkge30KKyAgICB2aXJ0dWFsIH5EZXZpY2VPcmllbnRh
dGlvbkNsaWVudFF0KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygp
OwpAQCAtNDEsOSArNDMsMTMgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRGV2aWNlT3JpZW50YXRp
b24qIGxhc3RPcmllbnRhdGlvbigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKIAorcHVibGljIFFfU0xPVFM6CisgICAgdm9p
ZCBjaGFuZ2VEZXZpY2VPcmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbiopOworCiBwcml2YXRl
OgogICAgIFFXZWJQYWdlKiBtX3BhZ2U7CiAgICAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
KiBtX2NvbnRyb2xsZXI7CisgICAgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0KiBtX3Byb3Zp
ZGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5jcHAgYi9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDkyNzc5Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5jcHAK
QEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0KiBEZXZpY2VPcmllbnRhdGlvblBy
b3ZpZGVyUXQ6Omluc3RhbmNlKCkKK3sKKyAgICBzdGF0aWMgRGV2aWNlT3JpZW50YXRpb25Qcm92
aWRlclF0KiBpbnN0YW5jZSA9IDA7CisgICAgaWYgKCFpbnN0YW5jZSkKKyAgICAgICAgaW5zdGFu
Y2UgPSBuZXcgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OworCisgICAgcmV0dXJuIGluc3Rh
bmNlOworfQorCitEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6OkRldmljZU9yaWVudGF0aW9u
UHJvdmlkZXJRdCgpCit7CisgICAgbV9yb3RhdGlvbi5hZGRGaWx0ZXIodGhpcyk7CisgICAgbV9v
cmllbnRhdGlvbiA9IERldmljZU9yaWVudGF0aW9uOjpjcmVhdGUoKTsKK30KKworRGV2aWNlT3Jp
ZW50YXRpb25Qcm92aWRlclF0Ojp+RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0KCkKK3sKKyAg
ICBEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQqIGluc3RhbmNlID0gdGhpcy0+aW5zdGFuY2Uo
KTsKKyAgICBkZWxldGUgaW5zdGFuY2U7Cit9CisKK3ZvaWQgRGV2aWNlT3JpZW50YXRpb25Qcm92
aWRlclF0OjpzdGFydCgpCit7CisgICAgbV9yb3RhdGlvbi5zdGFydCgpOworfQorCit2b2lkIERl
dmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6c3RvcCgpCit7CisgICAgbV9yb3RhdGlvbi5zdG9w
KCk7Cit9CisKK2Jvb2wgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpmaWx0ZXIoUVJvdGF0
aW9uUmVhZGluZyogcmVhZGluZykKK3sKKyAgICAvLyBQcm92aWRlIGRldmljZSBvcmllbnRhdGlv
biBkYXRhIGFjY29yZGluZyBXM0Mgc3BlYzoKKyAgICAvLyBodHRwOi8vZGV2LnczLm9yZy9nZW8v
YXBpL3NwZWMtc291cmNlLW9yaWVudGF0aW9uLmh0bWwKKyAgICAvLyBRdCBtb2JpbGl0eSBwcm92
aWRlIHRoZXNlIGRhdGEgdmlhIFFSYXRhdGlvblNlbnNvciB1c2luZyB0aGUKKyAgICAvLyBRUm90
YXRpb25SZWFkaW5nIGNsYXNzOgorICAgIC8vICAtIHRoZSByb3RhdGlvbiBhcm91bmQgeiBheGlz
IChhbHBoYSkgaXMgZ2l2ZW4gYXMgeiBpbiBRUm90YXRpb25SZWFkaW5nOworICAgIC8vICAtIHRo
ZSByb3RhdGlvbiBhcm91bmQgeCBheGlzIChiZXRhKSBpcyBnaXZlbiBhcyB4IGluIFFSb3RhdGlv
blJlYWRpbmc7CisgICAgLy8gIC0gdGhlIHJvdGF0aW9uIGFyb3VuZCB5IGF4aXMgKGdhbW1hKSBp
cyBnaXZlbiBhcyB5IGluIFFSb3RhdGlvblJlYWRpbmc7CisgICAgLy8gU2VlOiBodHRwOi8vZG9j
LnF0Lm5va2lhLmNvbS9xdG1vYmlsaXR5LTEuMC9xcm90YXRpb25yZWFkaW5nLmh0bWwKKyAgICAv
LyBUaGUgWiAoYWxwaGEpIHJvdGF0aW9uIGFuZ2xlIGlzIGNoZWNrZWQgdmlhIGhhc0FscGhhKCkg
cHJpdmF0ZSBtZXRob2QsCisgICAgLy8gZGVwZW5kaW5nIGlmIHRoZSBkZXZpY2UgaXMgYWJsZSBk
byBkZXRlY3QgdGhlIGFscGhhIHJvdGF0aW9uLgorICAgIG1fb3JpZW50YXRpb24gPSBEZXZpY2VP
cmllbnRhdGlvbjo6Y3JlYXRlKGhhc0FscGhhKCksIHJlYWRpbmctPnooKSwKKyAgICAgICAgICAg
IHRydWUsIHJlYWRpbmctPngoKSwgdHJ1ZSwgcmVhZGluZy0+eSgpKTsKKyAgICBlbWl0IGRldmlj
ZU9yaWVudGF0aW9uQ2hhbmdlZChtX29yaWVudGF0aW9uLmdldCgpKTsKKworICAgIHJldHVybiBm
YWxzZTsKK30KKworfQorCisjaW5jbHVkZSAibW9jX0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJR
dC5jcHAiCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50
YXRpb25Qcm92aWRlclF0LmggYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50
YXRpb25Qcm92aWRlclF0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg4
YjdkYwotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VP
cmllbnRhdGlvblByb3ZpZGVyUXQuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8K
KyNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0X2gKKyNkZWZpbmUgRGV2aWNlT3Jp
ZW50YXRpb25Qcm92aWRlclF0X2gKKworI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCisK
KyNpbmNsdWRlIDxRT2JqZWN0PgorI2luY2x1ZGUgPFFSb3RhdGlvbkZpbHRlcj4KKworUVRNX1VT
RV9OQU1FU1BBQ0UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VPcmllbnRh
dGlvbkNsaWVudFF0OworCitjbGFzcyBEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQgOiBwdWJs
aWMgUU9iamVjdCwgcHVibGljIFFSb3RhdGlvbkZpbHRlciB7CisgICAgUV9PQkpFQ1QKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0KiBpbnN0YW5jZSgpOwor
ICAgIH5EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQoKTsKKworICAgIGJvb2wgZmlsdGVyKFFS
b3RhdGlvblJlYWRpbmcqKTsKKyAgICB2b2lkIHN0YXJ0KCk7CisgICAgdm9pZCBzdG9wKCk7Cisg
ICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcm90YXRpb24uaXNBY3RpdmUoKTsg
fQorICAgIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
b3JpZW50YXRpb24uZ2V0KCk7IH0KKyAgICBib29sIGhhc0FscGhhKCkgY29uc3QgeyByZXR1cm4g
bV9yb3RhdGlvbi5wcm9wZXJ0eSgiaGFzWiIpLnRvQm9vbCgpOyB9CisKK1FfU0lHTkFMUzoKKyAg
ICB2b2lkIGRldmljZU9yaWVudGF0aW9uQ2hhbmdlZChEZXZpY2VPcmllbnRhdGlvbiopOworCitw
cml2YXRlOgorICAgIERldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdCgpOworICAgIFBhc3NSZWZQ
dHI8RGV2aWNlT3JpZW50YXRpb24+IG1fb3JpZW50YXRpb247CisgICAgUVJvdGF0aW9uU2Vuc29y
IG1fcm90YXRpb247Cit9OworCit9CisKKyNlbmRpZiAvLyBEZXZpY2VPcmllbnRhdGlvblByb3Zp
ZGVyUXRfaAotLSAKMS43LjAuNAoK
</data>
<flag name="review"
          id="59288"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69581</attachid>
            <date>2010-10-02 14:17:41 -0700</date>
            <delta_ts>2010-10-04 12:50:20 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>0001-Qt-Hook-up-DeviceOrientation-data-for-Qt-support.diff</filename>
            <type>text/plain</type>
            <size>13279</size>
            <attacher name="Diego Gonzalez">diegohcg</attacher>
            
              <data encoding="base64">RnJvbSBkZTViYzBhMjRkYWVjYTNkZmI3M2Q2NjUzMjhhYmI3ZTdiMjk0ZGQxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBHb256YWxleiA8ZGllZ29oY2dAd2Via2l0Lm9yZz4K
RGF0ZTogU2F0LCAyIE9jdCAyMDEwIDEyOjA5OjM1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gW1F0
XSBIb29rIHVwIERldmljZU9yaWVudGF0aW9uIGRhdGEgZm9yIFF0IHN1cHBvcnQKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzA1MgoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpHZXQgRGV2aWNlT3JpZW50YXRpb24gbmVjZXNzYXJ5IGRhdGEgdmlhIFF0IG1v
YmlsaXR5IGxpYnJhcnkKdXNpbmcgYSBwcm92aWRlciBjbGFzcy4KCldlYkNvcmU6CgoqIFdlYkNv
cmUucHJvOgoKV2ViS2l0L3F0OgoKKiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudFF0LmNwcDoKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OkRldmljZU9y
aWVudGF0aW9uQ2xpZW50UXQpOgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6
fkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQpOgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25D
bGllbnRRdDo6c3RhcnRVcGRhdGluZyk6CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dFF0OjpzdG9wVXBkYXRpbmcpOgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6
bGFzdE9yaWVudGF0aW9uKToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OmNo
YW5nZURldmljZU9yaWVudGF0aW9uKToKKiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlv
bkNsaWVudFF0Lmg6CiogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0
LmNwcDogQWRkZWQuCihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6Omluc3Rh
bmNlKToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6RGV2aWNlT3JpZW50
YXRpb25Qcm92aWRlclF0KToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6
fkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdCk6CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlv
blByb3ZpZGVyUXQ6OnN0YXJ0KToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJR
dDo6c3RvcCk6CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6OmZpbHRlcik6
CiogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0Lmg6IEFkZGVkLgoo
V2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0Ojppc0FjdGl2ZSk6CihXZWJDb3Jl
OjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6Om9yaWVudGF0aW9uKToKKFdlYkNvcmU6OkRl
dmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6aGFzQWxwaGEpOgotLS0KIFdlYkNvcmUvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMiArKysrCiBXZWJDb3Jl
L1dlYkNvcmUucHJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDUgKysKIFdl
YktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMCAr
KysrKysrKysKIC4uLi9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmNw
cCAgIHwgICAyMiArKysrKystCiAuLi4vcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRp
b25DbGllbnRRdC5oICB8ICAgIDggKystCiAuLi4vV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50
YXRpb25Qcm92aWRlclF0LmNwcCB8ICAgNjggKysrKysrKysrKysrKysrKysrKysKIC4uLi9XZWJD
b3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuaCAgIHwgICA1NyArKysrKysr
KysrKysrKysrCiA3IGZpbGVzIGNoYW5nZWQsIDIwMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u
cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VP
cmllbnRhdGlvblByb3ZpZGVyUXQuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oCgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4NmFhYzZkLi40NDE5
OTJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMiw2ICsyLDE4IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CiAKKyAgICAgICAgW1F0XSBIb29rIHVwIERldmljZU9yaWVudGF0aW9uIGRhdGEgZm9yIFF0IHN1
cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3
MDUyCisKKyAgICAgICAgR2V0IERldmljZU9yaWVudGF0aW9uIG5lY2Vzc2FyeSBkYXRhIHZpYSBR
dCBtb2JpbGl0eSBsaWJyYXJ5CisgICAgICAgIHVzaW5nIGEgcHJvdmlkZXIgY2xhc3MuCisKKyAg
ICAgICAgKiBXZWJDb3JlLnBybzoKKworMjAxMC0xMC0wMiAgRGllZ28gR29uemFsZXogIDxkaWVn
b2hjZ0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CiAgICAgICAgIFtRdF0gUHJvdmlkZSBRdCBzdXBwb3J0IGZvciBEZXZpY2VNb3Rpb24vT3JpZW50
YXRpb24gY2xpZW50cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDcwNTEKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggMWM3ZDc4My4uMjIzZDE0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMjYzLDExICszMjYzLDE2
IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT049MSkgewogICAg
IEhFQURFUlMgKz0gXAogICAgICAgICAuLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNl
TW90aW9uQ2xpZW50UXQuaCBcCiAgICAgICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
ZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmggXAorICAgICAgICAuLi9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmggXAogICAgICAgICBiaW5kaW5n
cy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAogICAgIFNPVVJDRVMgKz0gXAogICAg
ICAgICAuLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50UXQuY3Bw
IFwKICAgICAgICAgLi4vV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9u
Q2xpZW50UXQuY3BwIFwKKyAgICAgICAgLi4vV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Rldmlj
ZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5jcHAgXAogICAgICAgICBiaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisKKyAgICBDT05GSUcgKz0gbW9iaWxpdHkKKyAgICBN
T0JJTElUWSArPSBzZW5zb3JzCiB9CiAKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkg
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cK
aW5kZXggNzVjMjdiZC4uNGJhY2UyMiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMzYgQEAKIAogICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbUXRdIEhvb2sgdXAgRGV2aWNlT3Jp
ZW50YXRpb24gZGF0YSBmb3IgUXQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDcwNTIKKworICAgICAgICBHZXQgRGV2aWNlT3JpZW50YXRp
b24gbmVjZXNzYXJ5IGRhdGEgdmlhIFF0IG1vYmlsaXR5IGxpYnJhcnkKKyAgICAgICAgdXNpbmcg
YSBwcm92aWRlciBjbGFzcy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVu
dGF0aW9uQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25D
bGllbnRRdDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCk6CisgICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojp+RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzdGFydFVwZGF0aW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OnN0b3BVcGRh
dGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpsYXN0
T3JpZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRR
dDo6Y2hhbmdlRGV2aWNlT3JpZW50YXRpb24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Rl
dmljZU9yaWVudGF0aW9uQ2xpZW50UXQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EZXZp
Y2VPcmllbnRhdGlvblByb3ZpZGVyUXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRl
dmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6aW5zdGFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQp
OgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0Ojp+RGV2aWNl
T3JpZW50YXRpb25Qcm92aWRlclF0KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0
aW9uUHJvdmlkZXJRdDo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRp
b25Qcm92aWRlclF0OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9u
UHJvdmlkZXJRdDo6ZmlsdGVyKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmll
bnRhdGlvblByb3ZpZGVyUXQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmll
bnRhdGlvblByb3ZpZGVyUXQ6OmlzQWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9y
aWVudGF0aW9uUHJvdmlkZXJRdDo6b3JpZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RGV2
aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpoYXNBbHBoYSk6CisKKzIwMTAtMTAtMDIgIERpZWdv
IEdvbnphbGV6ICA8ZGllZ29oY2dAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBbUXRdIFByb3ZpZGUgUXQgc3VwcG9ydCBmb3IgRGV2
aWNlTW90aW9uL09yaWVudGF0aW9uIGNsaWVudHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MDUxCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmNwcAppbmRleCBhY2Y0YTM4Li5h
ZjY4YThjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50
YXRpb25DbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9y
aWVudGF0aW9uQ2xpZW50UXQuY3BwCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oIgogCisjaW5jbHVkZSAi
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRp
b25Qcm92aWRlclF0LmgiCiAjaW5jbHVkZSAicXdlYnBhZ2UuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtMjcsNyArMjksMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogRGV2aWNlT3JpZW50
YXRpb25DbGllbnRRdDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChRV2ViUGFnZSAqcGFnZSkK
ICAgICA6IG1fcGFnZShwYWdlKQogICAgICwgbV9jb250cm9sbGVyKDApCisgICAgLCBtX3Byb3Zp
ZGVyKG5ldyBEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQoKSkKIHsKKyAgICBjb25uZWN0KG1f
cHJvdmlkZXIsIFNJR05BTChkZXZpY2VPcmllbnRhdGlvbkNoYW5nZWQoRGV2aWNlT3JpZW50YXRp
b24qKSksIFNMT1QoY2hhbmdlRGV2aWNlT3JpZW50YXRpb24oRGV2aWNlT3JpZW50YXRpb24qKSkp
OworfQorCitEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojp+RGV2aWNlT3JpZW50YXRpb25DbGll
bnRRdCgpCit7CisgICAgZGlzY29ubmVjdCgpOworICAgIGRlbGV0ZSBtX3Byb3ZpZGVyOwogfQog
CiB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OnNldENvbnRyb2xsZXIoRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyKiBjb250cm9sbGVyKQpAQCAtMzcsMTUgKzQ3LDE3IEBAIHZvaWQg
RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c2V0Q29udHJvbGxlcihEZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIqIGNvbnRyCiAKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c3Rh
cnRVcGRhdGluZygpCiB7CisgICAgbV9wcm92aWRlci0+c3RhcnQoKTsKIH0KIAogdm9pZCBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudFF0OjpzdG9wVXBkYXRpbmcoKQogeworICAgIG1fcHJvdmlkZXIt
PnN0b3AoKTsKIH0KIAogRGV2aWNlT3JpZW50YXRpb24qIERldmljZU9yaWVudGF0aW9uQ2xpZW50
UXQ6Omxhc3RPcmllbnRhdGlvbigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJu
IG1fcHJvdmlkZXItPm9yaWVudGF0aW9uKCk7CiB9CiAKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25D
bGllbnRRdDo6ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkKQEAgLTUzLDYg
KzY1LDE0IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6ZGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyRGVzdHJveWVkKCkKICAgICBkZWxldGUgdGhpczsKIH0KIAordm9pZCBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudFF0OjpjaGFuZ2VEZXZpY2VPcmllbnRhdGlvbihEZXZpY2VPcmll
bnRhdGlvbiogb3JpZW50YXRpb24pCit7CisgICAgaWYgKCFtX2NvbnRyb2xsZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIG1fY29udHJvbGxlci0+ZGlkQ2hhbmdlRGV2aWNlT3JpZW50YXRpb24o
b3JpZW50YXRpb24pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNpbmNsdWRlICJt
b2NfRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHAiCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oIGIvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuaAppbmRleCA1NzRkOGZmLi41
OGFjYjZjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50
YXRpb25DbGllbnRRdC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudFF0LmgKQEAgLTI5LDExICsyOSwxMyBAQCBjbGFzcyBRV2ViUGFnZTsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ7
CisKIGNsYXNzIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQgOiBwdWJsaWMgUU9iamVjdCwgcHVi
bGljIERldmljZU9yaWVudGF0aW9uQ2xpZW50IHsKICAgICBRX09CSkVDVAogcHVibGljOgogICAg
IERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQoUVdlYlBhZ2UgKnBhZ2UpOwotICAgIHZpcnR1YWwg
fkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQoKSB7fQorICAgIHZpcnR1YWwgfkRldmljZU9yaWVu
dGF0aW9uQ2xpZW50UXQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVyKERldmlj
ZU9yaWVudGF0aW9uQ29udHJvbGxlciopOwogICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5n
KCk7CkBAIC00MSw5ICs0MywxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBEZXZpY2VPcmllbnRh
dGlvbiogbGFzdE9yaWVudGF0aW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGRldmljZU9y
aWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpOwogCitwdWJsaWMgUV9TTE9UUzoKKyAgICB2
b2lkIGNoYW5nZURldmljZU9yaWVudGF0aW9uKERldmljZU9yaWVudGF0aW9uKik7CisKIHByaXZh
dGU6CiAgICAgUVdlYlBhZ2UqIG1fcGFnZTsKICAgICBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXIqIG1fY29udHJvbGxlcjsKKyAgICBEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQqIG1fcHJv
dmlkZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmNwcCBiL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1MWViYTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmNw
cApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBv
cmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6OkRldmljZU9yaWVudGF0aW9u
UHJvdmlkZXJRdCgpCit7CisgICAgbV9yb3RhdGlvbi5hZGRGaWx0ZXIodGhpcyk7CisgICAgbV9v
cmllbnRhdGlvbiA9IERldmljZU9yaWVudGF0aW9uOjpjcmVhdGUoKTsKK30KKworRGV2aWNlT3Jp
ZW50YXRpb25Qcm92aWRlclF0Ojp+RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0KCkKK3sKK30K
Kwordm9pZCBEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6OnN0YXJ0KCkKK3sKKyAgICBtX3Jv
dGF0aW9uLnN0YXJ0KCk7Cit9CisKK3ZvaWQgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0Ojpz
dG9wKCkKK3sKKyAgICBtX3JvdGF0aW9uLnN0b3AoKTsKK30KKworYm9vbCBEZXZpY2VPcmllbnRh
dGlvblByb3ZpZGVyUXQ6OmZpbHRlcihRUm90YXRpb25SZWFkaW5nKiByZWFkaW5nKQoreworICAg
IC8vIFByb3ZpZGUgZGV2aWNlIG9yaWVudGF0aW9uIGRhdGEgYWNjb3JkaW5nIFczQyBzcGVjOgor
ICAgIC8vIGh0dHA6Ly9kZXYudzMub3JnL2dlby9hcGkvc3BlYy1zb3VyY2Utb3JpZW50YXRpb24u
aHRtbAorICAgIC8vIFF0IG1vYmlsaXR5IHByb3ZpZGUgdGhlc2UgZGF0YSB2aWEgUVJvdGF0aW9u
U2Vuc29yIHVzaW5nIHRoZQorICAgIC8vIFFSb3RhdGlvblJlYWRpbmcgY2xhc3M6CisgICAgLy8g
IC0gdGhlIHJvdGF0aW9uIGFyb3VuZCB6IGF4aXMgKGFscGhhKSBpcyBnaXZlbiBhcyB6IGluIFFS
b3RhdGlvblJlYWRpbmc7CisgICAgLy8gIC0gdGhlIHJvdGF0aW9uIGFyb3VuZCB4IGF4aXMgKGJl
dGEpIGlzIGdpdmVuIGFzIHggaW4gUVJvdGF0aW9uUmVhZGluZzsKKyAgICAvLyAgLSB0aGUgcm90
YXRpb24gYXJvdW5kIHkgYXhpcyAoZ2FtbWEpIGlzIGdpdmVuIGFzIHkgaW4gUVJvdGF0aW9uUmVh
ZGluZzsKKyAgICAvLyBTZWU6IGh0dHA6Ly9kb2MucXQubm9raWEuY29tL3F0bW9iaWxpdHktMS4w
L3Fyb3RhdGlvbnJlYWRpbmcuaHRtbAorICAgIC8vIFRoZSBaIChhbHBoYSkgcm90YXRpb24gYW5n
bGUgaXMgY2hlY2tlZCB2aWEgaGFzQWxwaGEoKSBwcml2YXRlIG1ldGhvZCwKKyAgICAvLyBkZXBl
bmRpbmcgaWYgdGhlIGRldmljZSBpcyBhYmxlIGRvIGRldGVjdCB0aGUgYWxwaGEgcm90YXRpb24u
IFggKGJldGEpIGFuZAorICAgIC8vIFkgKGdhbW1hKSBheGlzIGFyZSBhdmFpbGJsZSBpbiB0aGlz
IGNvbnRleHQuCisgICAgbV9vcmllbnRhdGlvbiA9IERldmljZU9yaWVudGF0aW9uOjpjcmVhdGUo
aGFzQWxwaGEoKSwgcmVhZGluZy0+eigpLAorICAgICAgICAgICAgLyogeCBhdmFpbGFibGUgKi8g
dHJ1ZSwgcmVhZGluZy0+eCgpLAorICAgICAgICAgICAgLyogeSBhdmFpbGFibGUgKi8gdHJ1ZSwg
cmVhZGluZy0+eSgpKTsKKyAgICBlbWl0IGRldmljZU9yaWVudGF0aW9uQ2hhbmdlZChtX29yaWVu
dGF0aW9uLmdldCgpKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworfQorCisjaW5jbHVkZSAi
bW9jX0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5jcHAiCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmggYi9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUyYmM1ZQotLS0gL2Rldi9udWxsCisrKyBiL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuaApAQCAt
MCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9u
IGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKyNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25Q
cm92aWRlclF0X2gKKyNkZWZpbmUgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0X2gKKworI2lu
Y2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCisKKyNpbmNsdWRlIDxRT2JqZWN0PgorI2luY2x1
ZGUgPFFSb3RhdGlvbkZpbHRlcj4KKworUVRNX1VTRV9OQU1FU1BBQ0UKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OworCitjbGFzcyBEZXZp
Y2VPcmllbnRhdGlvblByb3ZpZGVyUXQgOiBwdWJsaWMgUU9iamVjdCwgcHVibGljIFFSb3RhdGlv
bkZpbHRlciB7CisgICAgUV9PQkpFQ1QKK3B1YmxpYzoKKyAgICBEZXZpY2VPcmllbnRhdGlvblBy
b3ZpZGVyUXQoKTsKKyAgICB+RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0KCk7CisKKyAgICBi
b29sIGZpbHRlcihRUm90YXRpb25SZWFkaW5nKik7CisgICAgdm9pZCBzdGFydCgpOworICAgIHZv
aWQgc3RvcCgpOworICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBtX3JvdGF0aW9u
LmlzQWN0aXZlKCk7IH0KKyAgICBEZXZpY2VPcmllbnRhdGlvbiogb3JpZW50YXRpb24oKSBjb25z
dCB7IHJldHVybiBtX29yaWVudGF0aW9uLmdldCgpOyB9CisgICAgYm9vbCBoYXNBbHBoYSgpIGNv
bnN0IHsgcmV0dXJuIG1fcm90YXRpb24ucHJvcGVydHkoImhhc1oiKS50b0Jvb2woKTsgfQorCitR
X1NJR05BTFM6CisgICAgdm9pZCBkZXZpY2VPcmllbnRhdGlvbkNoYW5nZWQoRGV2aWNlT3JpZW50
YXRpb24qKTsKKworcHJpdmF0ZToKKyAgICBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBt
X29yaWVudGF0aW9uOworICAgIFFSb3RhdGlvblNlbnNvciBtX3JvdGF0aW9uOworfTsKKworfQor
CisjZW5kaWYgLy8gRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0X2gKLS0gCjEuNy4wLjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>