<?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>54334</bug_id>
          
          <creation_ts>2011-02-11 21:25:27 -0800</creation_ts>
          <short_desc>[QT] Implement mock client-based geolocation for layout testing</short_desc>
          <delta_ts>2014-02-03 03:17:15 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42629</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mahesh Kulkarni">maheshk</reporter>
          <assigned_to name="Mahesh Kulkarni">maheshk</assigned_to>
          <cc>bulach</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>jarred</cc>
    
    <cc>jknotten</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mitz</cc>
    
    <cc>steveblock</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>350230</commentid>
    <comment_count>0</comment_count>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2011-02-11 21:25:27 -0800</bug_when>
    <thetext>This is a follow up bug #42629

This bug is to track implementation of layout testing for client-based geolocation implementation for qtwebkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361136</commentid>
    <comment_count>1</comment_count>
      <attachid>84479</attachid>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2011-03-02 15:52:29 -0800</bug_when>
    <thetext>Created attachment 84479
patch

Enables layout testing for client-based geolocation. 

One case related to multiple windows escaped and will raise a different bug to fix this. This needs little more work in DRT.

Please review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361496</commentid>
    <comment_count>2</comment_count>
      <attachid>84479</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-03 03:24:44 -0800</bug_when>
    <thetext>Comment on attachment 84479
patch

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

&gt; Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h:146
&gt; +    static void mockGeolocationReset(QWebPage*);

resetGeolocationMock feels more natural to me.

&gt; Source/WebKit/qt/Api/qwebpage.cpp:338
&gt; +    // Incase running in DumpRenderTree mode set the controller to mock provider.

in case are two words

&gt; Source/WebKit/qt/Api/qwebpage.cpp:340
&gt; +    if (QWebPagePrivate::drtRun)
&gt; +        static_cast&lt;GeolocationClientMock*&gt;(pageClients.geolocationClient)-&gt;setController(page-&gt;geolocationController());

You could create a 

GeolocationClientMock* toGeolocationClientMock(...)
{
     ASSERT(QWebPagePrivate::drtRun);
     return static...
}

if you ever need to use this in more places.

&gt; Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp:425
&gt; +    // set running in DRT mode for qwebpage to create testable objects

In general we try to write proper sentences, ie. start with capital and end with a punctuation mark of some kind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361845</commentid>
    <comment_count>3</comment_count>
      <attachid>84609</attachid>
    <who name="Mahesh Kulkarni">maheshk</who>
    <bug_when>2011-03-03 12:38:54 -0800</bug_when>
    <thetext>Created attachment 84609
patch

Updated patch as per above comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361849</commentid>
    <comment_count>4</comment_count>
      <attachid>84609</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-03-03 12:44:23 -0800</bug_when>
    <thetext>Comment on attachment 84609
patch

cq+ for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362244</commentid>
    <comment_count>5</comment_count>
      <attachid>84609</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-03 21:13:30 -0800</bug_when>
    <thetext>Comment on attachment 84609
patch

Clearing flags on attachment: 84609

Committed r80319: &lt;http://trac.webkit.org/changeset/80319&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363057</commentid>
    <comment_count>6</comment_count>
      <attachid>84479</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-03-06 04:53:43 -0800</bug_when>
    <thetext>Comment on attachment 84479
patch

Clearing r+ to take it out from the pending commit list as the patch has been landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363295</commentid>
    <comment_count>7</comment_count>
      <attachid>84609</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-07 04:10:39 -0800</bug_when>
    <thetext>Comment on attachment 84609
patch

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

&gt; Source/WebCore/page/GeolocationController.h:60
&gt; +    GeolocationClient* client() { return m_client; }

I&apos;m surprised that you had to add this - it wasn&apos;t needed by other ports - can you explain why? It seems odd that a port would need to query the Page/GeolocationController to get a client that it has itself supplied to that Page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975179</commentid>
    <comment_count>8</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:17:15 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84479</attachid>
            <date>2011-03-02 15:52:29 -0800</date>
            <delta_ts>2011-03-06 04:53:43 -0800</delta_ts>
            <desc>patch</desc>
            <filename>54334.patch</filename>
            <type>text/plain</type>
            <size>15583</size>
            <attacher name="Mahesh Kulkarni">maheshk</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkocmV2aXNpb24gODAxNzcpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0yODg3LDcgKzI4ODcs
NiBAQAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCiAjIG5ldyBza2lwcGVkIHRlc3RzIHlldCB0
byBiZSBzb3J0ZWQKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwotZmFzdC9kb20vR2VvbG9jYXRp
b24vY2FsbGJhY2stdG8tcmVtb3RlLWNvbnRleHQyLmh0bWwKIGZhc3QvZG9tL0dlb2xvY2F0aW9u
L3BhZ2UtcmVsb2FkLWNhbmNlbC1wZXJtaXNzaW9uLXJlcXVlc3RzLmh0bWwKIGZhc3QvZG9tL0dl
b2xvY2F0aW9uL2lmcmFtZS1yZXBhcmVudC5odG1sCiAKQEAgLTMxNjYsMTAgKzMxNjUsNiBAQAog
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ3MjUKIGVkaXRpbmcv
c2VsZWN0aW9uL21peGVkLWVkaXRhYmlsaXR5LTEwLmh0bWwKIAotIyAtLS0tLSBGSVhNRTogUXRX
ZWJraXQgc3VwcG9ydHMgY2xpZW50IGJhc2VkIGFuZCBMYXlvdXRUZXN0IGZvciB0aGUgc2FtZSBp
cyB5ZXQgdG8gYmUgaW1wbGVtZW50ZWQuIFRyYWNrZWQgaW4gIzU0MzM0IC0tLS0tLSAKLWZhc3Qv
ZG9tL0dlb2xvY2F0aW9uCi1mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZ2VvbG9j
YXRpb24uaHRtbAotCiAjIFtRdF0gR2VuZXJhdGUgcmVzdWx0cyBmb3IgbWVkaWEvYXVkaW8tcmVw
YWludC5odG1sIGFuZCBtZWRpYS9tZWRpYS1kb2N1bWVudC1hdWRpby1yZXBhaW50Lmh0bWwKICMg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0OTg0CiBtZWRpYS9hdWRp
by1yZXBhaW50Lmh0bWwKQEAgLTMxODksMyArMzE4NCw2IEBACiBodHRwL3Rlc3RzL3htbHZpZXdl
ci9kdW1wQXNUZXh0L3htbHZpZXdlci54bWwKIGh0dHAvdGVzdHMveG1sdmlld2VyL2R1bXBBc1Rl
eHQveHNsLXN0eWxlc2hlZXQueG1sCiBodHRwL3Rlc3RzL3htbHZpZXdlci9kdW1wQXNUZXh0L3h1
bC54bWwKKworIyBbUXRdIGdlb2xvY2F0aW9uIGNhc2UgZmFpbGluZyBhcyBuZWVkcyBpbXBsZW1l
bnRhdGlvbiBpbiBEdW1wUmVuZGVyVHJlZSA6IFRPRE8gYnVnCitmYXN0L2RvbS9HZW9sb2NhdGlv
bi93aW5kb3ctY2xvc2UtY3Jhc2guaHRtbApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODAxNzcpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAx
MS0wMy0wMiAgTWFoZXNoIEt1bGthcm5pICA8bWFoZXNoLmt1bGthcm5pQG5va2lhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUVRdIEltcGxl
bWVudCBtb2NrIGNsaWVudC1iYXNlZCBnZW9sb2NhdGlvbiBmb3IgbGF5b3V0IHRlc3RpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MzM0CisKKyAg
ICAgICAgUmUtZW5hYmxlIGdlb2xvY2F0aW9uIGxheW91dCB0ZXN0aW5nIGZvciBxdCBwb3J0LiBB
bHNvIGVuYWJsZSBhIGxvbmcgcGVuZGluZworICAgICAgICBmYWlsdXJlIHdpdGggZ2VvbG9jYXRp
b24gYXMgaXQgd29ya3Mgd2l0aCBjbGllbnQtYmFzZWQgZ2VvbG9jYXRpb24uIAorICAgICAgICBT
a2lwcGVkIG9uZSBsYXN0IGNhc2UgcmVsYXRlZCB0byBtdWx0aXBsZSB3aW5kb3cgd2hpY2ggbmVl
ZHMgc29tZSBjb2RlIGNsZWFudXAgaW4gcXQgRFJULgorCisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDoKKwogMjAxMS0wMy0wMiAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGV4cGVjdGF0aW9ucyB1cGRhdGUuCkluZGV4OiBT
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25D
bGllbnRRdC5jcHAJKHJldmlzaW9uIDgwMTc3KQorKysgU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyAr
NDMsNyBAQAogCiBzdGF0aWMgY29uc3QgY2hhciBmYWlsZWRUb1N0YXJ0U2VydmljZUVycm9yTWVz
c2FnZVtdID0gIkZhaWxlZCB0byBzdGFydCBHZW9sb2NhdGlvbiBzZXJ2aWNlIjsKIAotR2VvbG9j
YXRpb25DbGllbnRRdDo6R2VvbG9jYXRpb25DbGllbnRRdChRV2ViUGFnZSogcGFnZSkKK0dlb2xv
Y2F0aW9uQ2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xpZW50UXQoY29uc3QgUVdlYlBhZ2UqIHBhZ2Up
CiAgICAgOiBtX3BhZ2UocGFnZSkKICAgICAsIG1fbGFzdFBvc2l0aW9uKDApCiAgICAgLCBtX2xv
Y2F0aW9uKDApCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAkocmV2aXNpb24gODAxNzcpCisr
KyBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsOSArNDUsMTEgQEAKICNpbmNsdWRlICJWOEdDQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNlbmRpZgotI2luY2x1ZGUgIkdlb2xv
Y2F0aW9uLmgiCi0jaW5jbHVkZSAiR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5oIgotI2luY2x1ZGUg
Ikdlb3Bvc2l0aW9uLmgiCisjaW5jbHVkZSAiR2VvbG9jYXRpb25DbGllbnQuaCIKKyNpbmNsdWRl
ICJHZW9sb2NhdGlvbkNsaWVudE1vY2suaCIKKyNpbmNsdWRlICJHZW9sb2NhdGlvbkNvbnRyb2xs
ZXIuaCIKKyNpbmNsdWRlICJHZW9sb2NhdGlvbkVycm9yLmgiCisjaW5jbHVkZSAiR2VvbG9jYXRp
b25Qb3NpdGlvbi5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAiSFRNTElu
cHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKQEAgLTc2NCwy
MiArNzY2LDUzIEBACiAjZW5kaWYKIH0KIAotdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6
c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0
dWRlLCBkb3VibGUgYWNjdXJhY3kpCit2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojptb2Nr
R2VvbG9jYXRpb25SZXNldChRV2ViUGFnZSogcGFnZSkKIHsKLSNpZiBFTkFCTEUoR0VPTE9DQVRJ
T04pCi0gICAgUmVmUHRyPEdlb3Bvc2l0aW9uPiBnZW9wb3NpdGlvbiA9IEdlb3Bvc2l0aW9uOjpj
cmVhdGUoQ29vcmRpbmF0ZXM6OmNyZWF0ZShsYXRpdHVkZSwgbG9uZ2l0dWRlLCBmYWxzZSwgMCwg
YWNjdXJhY3ksIHRydWUsIDAsIGZhbHNlLCAwLCBmYWxzZSwgMCksIGN1cnJlbnRUaW1lKCkgKiAx
MDAwLjApOwotICAgIEdlb2xvY2F0aW9uU2VydmljZU1vY2s6OnNldFBvc2l0aW9uKGdlb3Bvc2l0
aW9uKTsKKyNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQorICAgIFBhZ2UqIGNv
cmVQYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBhZ2UpOworICAgIEdlb2xvY2F0aW9uQ2xp
ZW50TW9jayogbW9ja0NsaWVudCA9IHN0YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xpZW50TW9jayo+
KGNvcmVQYWdlLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+Y2xpZW50KCkpOworICAgIG1vY2tD
bGllbnQtPnJlc2V0KCk7CiAjZW5kaWYKIH0KIAotdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dDo6c2V0TW9ja0dlb2xvY2F0aW9uRXJyb3IoaW50IGVycm9yQ29kZSwgY29uc3QgUVN0cmluZyYg
bWVzc2FnZSkKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tHZW9sb2NhdGlv
blBlcm1pc3Npb24oUVdlYlBhZ2UqIHBhZ2UsIGJvb2wgYWxsb3dlZCkKIHsKLSNpZiBFTkFCTEUo
R0VPTE9DQVRJT04pCi0gICAgUmVmUHRyPFBvc2l0aW9uRXJyb3I+IHBvc2l0aW9uRXJyb3IgPSBQ
b3NpdGlvbkVycm9yOjpjcmVhdGUoc3RhdGljX2Nhc3Q8UG9zaXRpb25FcnJvcjo6RXJyb3JDb2Rl
PihlcnJvckNvZGUpLCBtZXNzYWdlKTsKLSAgICBHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjpzZXRF
cnJvcihwb3NpdGlvbkVycm9yKTsKKyNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9O
KQorICAgIFBhZ2UqIGNvcmVQYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBhZ2UpOworICAg
IEdlb2xvY2F0aW9uQ2xpZW50TW9jayogbW9ja0NsaWVudCA9IHN0YXRpY19jYXN0PEdlb2xvY2F0
aW9uQ2xpZW50TW9jayo+KGNvcmVQYWdlLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+Y2xpZW50
KCkpOworICAgIG1vY2tDbGllbnQtPnNldFBlcm1pc3Npb24oYWxsb3dlZCk7CiAjZW5kaWYKIH0K
IAordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRp
b24oUVdlYlBhZ2UqIHBhZ2UsIGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91
YmxlIGFjY3VyYWN5KQoreworI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCisg
ICAgUGFnZSogY29yZVBhZ2UgPSBRV2ViUGFnZVByaXZhdGU6OmNvcmUocGFnZSk7CisgICAgR2Vv
bG9jYXRpb25DbGllbnRNb2NrKiBtb2NrQ2xpZW50ID0gc3RhdGljX2Nhc3Q8R2VvbG9jYXRpb25D
bGllbnRNb2NrKj4oY29yZVBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5jbGllbnQoKSk7
CisgICAgbW9ja0NsaWVudC0+c2V0UG9zaXRpb24oR2VvbG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRl
KGN1cnJlbnRUaW1lKCksIGxhdGl0dWRlLCBsb25naXR1ZGUsIGFjY3VyYWN5KSk7CisjZW5kaWYK
K30KKwordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uRXJy
b3IoUVdlYlBhZ2UqIHBhZ2UsIGludCBlcnJvckNvZGUsIGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2Up
Cit7CisjaWYgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKKyAgICBQYWdlKiBjb3Jl
UGFnZSA9IFFXZWJQYWdlUHJpdmF0ZTo6Y29yZShwYWdlKTsKKworICAgIEdlb2xvY2F0aW9uRXJy
b3I6OkVycm9yQ29kZSBjb2RlID0gR2VvbG9jYXRpb25FcnJvcjo6UG9zaXRpb25VbmF2YWlsYWJs
ZTsKKyAgICBzd2l0Y2ggKGVycm9yQ29kZSkgeworICAgIGNhc2UgUG9zaXRpb25FcnJvcjo6UEVS
TUlTU0lPTl9ERU5JRUQ6CisgICAgICAgIGNvZGUgPSBHZW9sb2NhdGlvbkVycm9yOjpQZXJtaXNz
aW9uRGVuaWVkOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBvc2l0aW9uRXJyb3I6OlBPU0lU
SU9OX1VOQVZBSUxBQkxFOgorICAgICAgICBjb2RlID0gR2VvbG9jYXRpb25FcnJvcjo6UG9zaXRp
b25VbmF2YWlsYWJsZTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgR2VvbG9jYXRpb25D
bGllbnRNb2NrKiBtb2NrQ2xpZW50ID0gc3RhdGljX2Nhc3Q8R2VvbG9jYXRpb25DbGllbnRNb2Nr
Kj4oY29yZVBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5jbGllbnQoKSk7CisgICAgbW9j
a0NsaWVudC0+c2V0RXJyb3IoR2VvbG9jYXRpb25FcnJvcjo6Y3JlYXRlKGNvZGUsIG1lc3NhZ2Up
KTsKKyNlbmRpZgorfQorCiBib29sIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojppc1RhcmdldEl0
ZW0oY29uc3QgUVdlYkhpc3RvcnlJdGVtJiBoaXN0b3J5SXRlbSkKIHsKICAgICBRV2ViSGlzdG9y
eUl0ZW0gaXQgPSBoaXN0b3J5SXRlbTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oCShyZXZpc2lvbiA4MDE3NykK
KysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBACiAgICAgUV9PQkpFQ1QKIAogcHVibGlj
OgotICAgIEdlb2xvY2F0aW9uQ2xpZW50UXQoUVdlYlBhZ2UqKTsKKyAgICBHZW9sb2NhdGlvbkNs
aWVudFF0KGNvbnN0IFFXZWJQYWdlKik7CiAgICAgdmlydHVhbCB+R2VvbG9jYXRpb25DbGllbnRR
dCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uRGVzdHJveWVkKCk7CkBAIC02Myw3
ICs2Myw3IEBACiAgICAgdm9pZCBwb3NpdGlvblVwZGF0ZWQoY29uc3QgUUdlb1Bvc2l0aW9uSW5m
byYpOwogCiBwcml2YXRlOgotICAgIFFXZWJQYWdlKiBtX3BhZ2U7CisgICAgY29uc3QgUVdlYlBh
Z2UqIG1fcGFnZTsKICAgICBSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9sYXN0UG9zaXRp
b247CiAgICAgUXRNb2JpbGl0eTo6UUdlb1Bvc2l0aW9uSW5mb1NvdXJjZSogbV9sb2NhdGlvbjsK
IH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCShyZXZpc2lvbiA4MDE3NykKKysrIFNvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQzLDggKzE0MywxMCBAQAogICAgIHN0YXRpYyB2b2lkIHJlbW92ZU1vY2tE
ZXZpY2VPcmllbnRhdGlvbigpOwogICAgIHN0YXRpYyB2b2lkIHNldE1vY2tEZXZpY2VPcmllbnRh
dGlvbihib29sIGNhblByb3ZpZGVBbHBoYSwgZG91YmxlIGFscGhhLCBib29sIGNhblByb3ZpZGVC
ZXRhLCBkb3VibGUgYmV0YSwgYm9vbCBjYW5Qcm92aWRlR2FtbWEsIGRvdWJsZSBnYW1tYSk7CiAK
LSAgICBzdGF0aWMgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihkb3VibGUgbGF0aXR1
ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSk7Ci0gICAgc3RhdGljIHZvaWQg
c2V0TW9ja0dlb2xvY2F0aW9uRXJyb3IoaW50IGVycm9yQ29kZSwgY29uc3QgUVN0cmluZyYgbWVz
c2FnZSk7CisgICAgc3RhdGljIHZvaWQgbW9ja0dlb2xvY2F0aW9uUmVzZXQoUVdlYlBhZ2UqKTsK
KyAgICBzdGF0aWMgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25QZXJtaXNzaW9uKFFXZWJQYWdlKiwg
Ym9vbCBhbGxvd2VkKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlv
bihRV2ViUGFnZSosIGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFj
Y3VyYWN5KTsKKyAgICBzdGF0aWMgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihRV2ViUGFn
ZSosIGludCBlcnJvckNvZGUsIGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpOwogCiAgICAgc3RhdGlj
IGludCB3b3JrZXJUaHJlYWRDb3VudCgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkocmV2aXNpb24g
ODAxNzcpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDI1IEBACisyMDExLTAzLTAyICBNYWhlc2ggS3Vsa2FybmkgIDxtYWhlc2gua3Vsa2Fy
bmlAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRVF0gSW1wbGVtZW50IG1vY2sgY2xpZW50LWJhc2VkIGdlb2xvY2F0aW9uIGZvciBs
YXlvdXQgdGVzdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTQzMzQKKworICAgICAgICBJbXBsZW1lbnQgbGF5b3V0IHRlc3RpbmcgZm9yIENsaWVu
dC1CYXNlZCBnZW9sb2NhdGlvbi4gSWYgZHJ0X3J1biBpcyBzZXQgCisgICAgICAgIHRoZW4gY3Jl
YXRlIG1vY2sgZ2VvbG9jYXRpb25DbGllbnQgYW5kIHVwZGF0ZSB0aGUgc2FtZSB3aXRoIGNvbnRy
b2xsZXIuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2VQ
cml2YXRlOjpRV2ViUGFnZVByaXZhdGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
Ojptb2NrR2VvbG9jYXRpb25SZXNldCk6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dDo6c2V0TW9ja0dlb2xvY2F0aW9uUGVybWlzc2lvbik6CisgICAgICAgIChEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24pOgorICAgICAgICAoRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tHZW9sb2NhdGlvbkVycm9yKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
bG9jYXRpb25DbGllbnRRdDo6R2VvbG9jYXRpb25DbGllbnRRdCk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5oOgorCiAyMDExLTAzLTAxICBCcmlhbiBXZWlu
c3RlaW4gIDxid2VpbnN0ZWluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFt
IFJvYmVuLgpJbmRleDogU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAkocmV2aXNpb24gODAxNzcp
CisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTYyLDExICs2MiwxMCBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50UXQuaCIKICNpbmNs
dWRlICJGcmFtZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKLQotI2lmIEVOQUJMRShH
RU9MT0NBVElPTikKKyNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQorI2luY2x1
ZGUgIkdlb2xvY2F0aW9uQ2xpZW50TW9jay5oIgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uQ2xpZW50
UXQuaCIKLSNlbmRpZgotCisjZW5kaWYgLy8gQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OCiAjaW5j
bHVkZSAiR2VvbG9jYXRpb25QZXJtaXNzaW9uQ2xpZW50UXQuaCIKICNpbmNsdWRlICJIVE1MRm9y
bUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKQEAgLTMyNywx
MSArMzI2LDE5IEBACiAgICAgcGFnZUNsaWVudHMuZGV2aWNlT3JpZW50YXRpb25DbGllbnQgPSBu
ZXcgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChxKTsKICAgICBwYWdlQ2xpZW50cy5kZXZpY2VN
b3Rpb25DbGllbnQgPSBuZXcgRGV2aWNlTW90aW9uQ2xpZW50UXQocSk7CiAjZW5kaWYKLSNpZiBF
TkFCTEUoR0VPTE9DQVRJT04pCi0gICAgcGFnZUNsaWVudHMuZ2VvbG9jYXRpb25DbGllbnQgPSBu
ZXcgR2VvbG9jYXRpb25DbGllbnRRdChxKTsKKyNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xP
Q0FUSU9OKQorICAgIGlmIChRV2ViUGFnZVByaXZhdGU6OmRydFJ1bikKKyAgICAgICAgcGFnZUNs
aWVudHMuZ2VvbG9jYXRpb25DbGllbnQgPSBuZXcgR2VvbG9jYXRpb25DbGllbnRNb2NrKCk7Cisg
ICAgZWxzZQorICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9s
b2NhdGlvbkNsaWVudFF0KHEpOwogI2VuZGlmCiAgICAgcGFnZSA9IG5ldyBQYWdlKHBhZ2VDbGll
bnRzKTsKIAorI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCisgICAgLy8gSW5j
YXNlIHJ1bm5pbmcgaW4gRHVtcFJlbmRlclRyZWUgbW9kZSBzZXQgdGhlIGNvbnRyb2xsZXIgdG8g
bW9jayBwcm92aWRlci4KKyAgICBpZiAoUVdlYlBhZ2VQcml2YXRlOjpkcnRSdW4pCisgICAgICAg
IHN0YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xpZW50TW9jayo+KHBhZ2VDbGllbnRzLmdlb2xvY2F0
aW9uQ2xpZW50KS0+c2V0Q29udHJvbGxlcihwYWdlLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKSk7
CisjZW5kaWYKICAgICBzZXR0aW5ncyA9IG5ldyBRV2ViU2V0dGluZ3MocGFnZS0+c2V0dGluZ3Mo
KSk7CiAKICAgICBoaXN0b3J5LmQgPSBuZXcgUVdlYkhpc3RvcnlQcml2YXRlKHN0YXRpY19jYXN0
PFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdEltcGwqPihwYWdlLT5iYWNrRm9yd2FyZExpc3QoKSkp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODAxNzcpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMy0wMiAgTWFoZXNo
IEt1bGthcm5pICA8bWFoZXNoLmt1bGthcm5pQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUVRdIEltcGxlbWVudCBtb2NrIGNsaWVu
dC1iYXNlZCBnZW9sb2NhdGlvbiBmb3IgbGF5b3V0IHRlc3RpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MzM0CisKKyAgICAgICAgSW1wbGVtZW50
cyBjbGllbnQoKSB0byBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgdG8gcmUtdXNlIGdlb2xvY2F0aW9u
Q2xpZW50TW9jayBjbGFzcworICAgICAgICBmb3IgbGF5b3V0IHRlc3RpbmcgcHVycG9zZS4KKwor
ICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmNsaWVudCk6CisKIDIwMTEtMDMtMDIgIERhbmllbCBD
aGVuZyAgPGRjaGVuZ0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IGZyYW1lLXNwZWNp
ZmljIFdlYkNsaXBib2FyZCBjaGFuZ2VzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xv
Y2F0aW9uQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvR2Vv
bG9jYXRpb25Db250cm9sbGVyLmgJKHJldmlzaW9uIDgwMTc3KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcs
OCBAQAogCiAgICAgR2VvbG9jYXRpb25Qb3NpdGlvbiogbGFzdFBvc2l0aW9uKCk7CiAKKyAgICBH
ZW9sb2NhdGlvbkNsaWVudCogY2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQ7IH0KKwogcHJpdmF0
ZToKICAgICBQYWdlKiBtX3BhZ2U7CiAgICAgR2VvbG9jYXRpb25DbGllbnQqIG1fY2xpZW50OwpJ
bmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAJKHJldmlzaW9uIDgwMTc3KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDcgQEAK
ICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoZmFs
c2UsIGZhbHNlKTsKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6ZHVtcEhpc3RvcnlDYWxs
YmFja3MoZmFsc2UpOwogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpkdW1wVmlzaXRlZExp
bmtzQ2FsbGJhY2tzKGZhbHNlKTsKKyAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6bW9ja0dl
b2xvY2F0aW9uUmVzZXQobV9kcnQtPndlYlBhZ2UoKSk7CiAgICAgc2V0SWNvbkRhdGFiYXNlRW5h
YmxlZChmYWxzZSk7CiAgICAgY2xlYXJBbGxEYXRhYmFzZXMoKTsKIApAQCAtNzYyLDcgKzc2Myw3
IEBACiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24o
Ym9vbCBhbGxvdykKIHsKICAgICBzZXRHZW9sb2NhdGlvblBlcm1pc3Npb25Db21tb24oYWxsb3cp
OwotICAgIGVtaXQgZ2VvbG9jYXRpb25QZXJtaXNzaW9uU2V0KCk7CisgICAgRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQ6OnNldE1vY2tHZW9sb2NhdGlvblBlcm1pc3Npb24obV9kcnQtPndlYlBhZ2Uo
KSwgYWxsb3cpOwogfQogCiBpbnQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om51bWJlck9mUGVuZGlu
Z0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKCkKQEAgLTc3OSwxMiArNzgwLDEyIEBACiAK
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldE1vY2tHZW9sb2NhdGlvbkVycm9yKGludCBj
b2RlLCBjb25zdCBRU3RyaW5nJiBtZXNzYWdlKQogewotICAgIER1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0OjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihjb2RlLCBtZXNzYWdlKTsKKyAgICBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uRXJyb3IobV9kcnQtPndlYlBhZ2Uo
KSwgY29kZSwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldE1v
Y2tHZW9sb2NhdGlvblBvc2l0aW9uKGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwg
ZG91YmxlIGFjY3VyYWN5KQogewotICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRNb2Nr
R2VvbG9jYXRpb25Qb3NpdGlvbihsYXRpdHVkZSwgbG9uZ2l0dWRlLCBhY2N1cmFjeSk7CisgICAg
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKG1fZHJ0
LT53ZWJQYWdlKCksIGxhdGl0dWRlLCBsb25naXR1ZGUsIGFjY3VyYWN5KTsKIH0KIAogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkTW9ja1NwZWVjaElucHV0UmVzdWx0KGNvbnN0IFFTdHJp
bmcmIHJlc3VsdCwgZG91YmxlIGNvbmZpZGVuY2UsIGNvbnN0IFFTdHJpbmcmIGxhbmd1YWdlKQpJ
bmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAJKHJl
dmlzaW9uIDgwMTc3KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVR
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxOCwxMSArNDE4LDEyIEBACiAgICAgLCBtX2dyYXBo
aWNzQmFzZWQoZmFsc2UpCiAgICAgLCBtX3BlcnNpc3RlbnRTdG9yYWdlUGF0aChRU3RyaW5nKGdl
dGVudigiRFVNUFJFTkRFUlRSRUVfVEVNUCIpKSkKIHsKLQogICAgIFFCeXRlQXJyYXkgdmlld01v
ZGUgPSBnZXRlbnYoIlFUX0RSVF9XRUJWSUVXX01PREUiKTsKICAgICBpZiAodmlld01vZGUgPT0g
ImdyYXBoaWNzIikKICAgICAgICAgc2V0R3JhcGhpY3NCYXNlZCh0cnVlKTsKIAorICAgIC8vIHNl
dCBydW5uaW5nIGluIERSVCBtb2RlIGZvciBxd2VicGFnZSB0byBjcmVhdGUgdGVzdGFibGUgb2Jq
ZWN0cworICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXREdW1wUmVuZGVyVHJlZU1vZGVF
bmFibGVkKHRydWUpOwogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpvdmVyd3JpdGVQbHVn
aW5EaXJlY3RvcmllcygpOwogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjphY3RpdmVNb2Nr
RGV2aWNlT3JpZW50YXRpb25DbGllbnQodHJ1ZSk7CiAgICAgUVdlYlNldHRpbmdzOjplbmFibGVQ
ZXJzaXN0ZW50U3RvcmFnZShtX3BlcnNpc3RlbnRTdG9yYWdlUGF0aCk7CkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MDE3NykK
KysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEx
LTAzLTAyICBNYWhlc2ggS3Vsa2FybmkgIDxtYWhlc2gua3Vsa2FybmlAbm9raWEuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRVF0gSW1wbGVt
ZW50IG1vY2sgY2xpZW50LWJhc2VkIGdlb2xvY2F0aW9uIGZvciBsYXlvdXQgdGVzdGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQzMzQKKworICAg
ICAgICBJbXBsZW1lbnQgdGVzdGluZyBmb3IgQ2xpZW50LUJhc2VkIGdlb2xvY2F0aW9uIGZvciBR
dFdlYmtpdC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6OkR1bXBSZW5kZXJUcmVlKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoK
KyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpyZXNldCk6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKToKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcik6CisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24pOgorCiAyMDExLTAz
LTAyICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXYWl0IGZvciBm
b3JjZSBhIHBhaW50IGluIFdlYktpdFRlc3RSdW5uZXIgdW50aWwgd2UncmUgYWN0dWFsbHkgcmVh
ZHkgdG8gZHVtcCB0aGUgb3V0cHV0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84609</attachid>
            <date>2011-03-03 12:38:54 -0800</date>
            <delta_ts>2011-03-07 04:10:39 -0800</delta_ts>
            <desc>patch</desc>
            <filename>54334.patch</filename>
            <type>text/plain</type>
            <size>16170</size>
            <attacher name="Mahesh Kulkarni">maheshk</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwMjY5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDMtMDIgIE1haGVzaCBL
dWxrYXJuaSAgPG1haGVzaC5rdWxrYXJuaUBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgW1FUXSBJbXBsZW1lbnQg
bW9jayBjbGllbnQtYmFzZWQgZ2VvbG9jYXRpb24gZm9yIGxheW91dCB0ZXN0aW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDMzNAorCisgICAgICAg
IEltcGxlbWVudHMgY2xpZW50KCkgdG8gR2VvbG9jYXRpb25Db250cm9sbGVyIHRvIHJlLXVzZSBn
ZW9sb2NhdGlvbkNsaWVudE1vY2sgY2xhc3MKKyAgICAgICAgZm9yIGxheW91dCB0ZXN0aW5nIHB1
cnBvc2UuCisKKyAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyOjpjbGllbnQpOgorCiAyMDExLTAzLTAz
ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9j
YXRpb25Db250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9HZW9s
b2NhdGlvbkNvbnRyb2xsZXIuaAkocmV2aXNpb24gODAyNjkpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw4
IEBAIHB1YmxpYzoKIAogICAgIEdlb2xvY2F0aW9uUG9zaXRpb24qIGxhc3RQb3NpdGlvbigpOwog
CisgICAgR2VvbG9jYXRpb25DbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50OyB9CisK
IHByaXZhdGU6CiAgICAgUGFnZSogbV9wYWdlOwogICAgIEdlb2xvY2F0aW9uQ2xpZW50KiBtX2Ns
aWVudDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MDI2OSkKKysrIFNvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMt
MDMgIE1haGVzaCBLdWxrYXJuaSAgPG1haGVzaC5rdWxrYXJuaUBub2tpYS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgW1FU
XSBJbXBsZW1lbnQgbW9jayBjbGllbnQtYmFzZWQgZ2VvbG9jYXRpb24gZm9yIGxheW91dCB0ZXN0
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDMz
NAorCisgICAgICAgIEltcGxlbWVudCBsYXlvdXQgdGVzdGluZyBmb3IgQ2xpZW50LUJhc2VkIGdl
b2xvY2F0aW9uLiBJZiBkcnRfcnVuIGlzIHNldCAKKyAgICAgICAgdGhlbiBjcmVhdGUgbW9jayBn
ZW9sb2NhdGlvbkNsaWVudCBhbmQgdXBkYXRlIHRoZSBzYW1lIHdpdGggY29udHJvbGxlci4KKwor
ICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OlFX
ZWJQYWdlUHJpdmF0ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6Om1vY2tHZW9s
b2NhdGlvblJlc2V0KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRNb2Nr
R2VvbG9jYXRpb25QZXJtaXNzaW9uKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
OjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbik6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uRXJyb3IpOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
R2VvbG9jYXRpb25DbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNs
aWVudFF0OjpHZW9sb2NhdGlvbkNsaWVudFF0KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9H
ZW9sb2NhdGlvbkNsaWVudFF0Lmg6CisKIDIwMTEtMDMtMDMgIFBldGVyIEthc3RpbmcgIDxwa2Fz
dGluZ0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgpJ
bmRleDogU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAkocmV2aXNpb24gODAyNjkpCisrKyBTb3Vy
Y2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDExICs2
MiwxMCBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50UXQuaCIKICNpbmNsdWRlICJGcmFt
ZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKLQotI2lmIEVOQUJMRShHRU9MT0NBVElP
TikKKyNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQorI2luY2x1ZGUgIkdlb2xv
Y2F0aW9uQ2xpZW50TW9jay5oIgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uQ2xpZW50UXQuaCIKLSNl
bmRpZgotCisjZW5kaWYgLy8gQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OCiAjaW5jbHVkZSAiR2Vv
bG9jYXRpb25QZXJtaXNzaW9uQ2xpZW50UXQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKQEAgLTMyNywxMSArMzI2LDE5
IEBAIFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKFFXZWJQYWcKICAgICBwYWdlQ2xp
ZW50cy5kZXZpY2VPcmllbnRhdGlvbkNsaWVudCA9IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dFF0KHEpOwogICAgIHBhZ2VDbGllbnRzLmRldmljZU1vdGlvbkNsaWVudCA9IG5ldyBEZXZpY2VN
b3Rpb25DbGllbnRRdChxKTsKICNlbmRpZgotI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLSAgICBw
YWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9sb2NhdGlvbkNsaWVudFF0KHEp
OworI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCisgICAgaWYgKFFXZWJQYWdl
UHJpdmF0ZTo6ZHJ0UnVuKQorICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9
IG5ldyBHZW9sb2NhdGlvbkNsaWVudE1vY2soKTsKKyAgICBlbHNlCisgICAgICAgIHBhZ2VDbGll
bnRzLmdlb2xvY2F0aW9uQ2xpZW50ID0gbmV3IEdlb2xvY2F0aW9uQ2xpZW50UXQocSk7CiAjZW5k
aWYKICAgICBwYWdlID0gbmV3IFBhZ2UocGFnZUNsaWVudHMpOwogCisjaWYgRU5BQkxFKENMSUVO
VF9CQVNFRF9HRU9MT0NBVElPTikKKyAgICAvLyBJbiBjYXNlIHJ1bm5pbmcgaW4gRHVtcFJlbmRl
clRyZWUgbW9kZSBzZXQgdGhlIGNvbnRyb2xsZXIgdG8gbW9jayBwcm92aWRlci4KKyAgICBpZiAo
UVdlYlBhZ2VQcml2YXRlOjpkcnRSdW4pCisgICAgICAgIHN0YXRpY19jYXN0PEdlb2xvY2F0aW9u
Q2xpZW50TW9jayo+KHBhZ2VDbGllbnRzLmdlb2xvY2F0aW9uQ2xpZW50KS0+c2V0Q29udHJvbGxl
cihwYWdlLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKSk7CisjZW5kaWYKICAgICBzZXR0aW5ncyA9
IG5ldyBRV2ViU2V0dGluZ3MocGFnZS0+c2V0dGluZ3MoKSk7CiAKICAgICBoaXN0b3J5LmQgPSBu
ZXcgUVdlYkhpc3RvcnlQcml2YXRlKHN0YXRpY19jYXN0PFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlz
dEltcGwqPihwYWdlLT5iYWNrRm9yd2FyZExpc3QoKSkpOwpJbmRleDogU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5jcHAJKHJldmlzaW9uIDgwMjY5KQorKysgU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDkgKzQ1
LDExIEBACiAjaW5jbHVkZSAiVjhHQ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJWOFByb3h5Lmgi
CiAjZW5kaWYKLSNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgotI2luY2x1ZGUgIkdlb2xvY2F0aW9u
U2VydmljZU1vY2suaCIKLSNpbmNsdWRlICJHZW9wb3NpdGlvbi5oIgorI2luY2x1ZGUgIkdlb2xv
Y2F0aW9uQ2xpZW50LmgiCisjaW5jbHVkZSAiR2VvbG9jYXRpb25DbGllbnRNb2NrLmgiCisjaW5j
bHVkZSAiR2VvbG9jYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiR2VvbG9jYXRpb25FcnJv
ci5oIgorI2luY2x1ZGUgIkdlb2xvY2F0aW9uUG9zaXRpb24uaCIKICNpbmNsdWRlICJIaXN0b3J5
SXRlbS5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JDb250cm9sbGVyLmgiCkBAIC04OSw2ICs5MSwxNCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogUU1hcDxpbnQsIFFXZWJTY3JpcHRXb3JsZCo+IG1fd29ybGRNYXA7CiAKKyNpZiBFTkFC
TEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQorR2VvbG9jYXRpb25DbGllbnRNb2NrKiB0b0dl
b2xvY2F0aW9uQ2xpZW50TW9jayhHZW9sb2NhdGlvbkNsaWVudCogY2xpZW50KQoreworICAgICBB
U1NFUlQoUVdlYlBhZ2VQcml2YXRlOjpkcnRSdW4pOworICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
R2VvbG9jYXRpb25DbGllbnRNb2NrKj4oY2xpZW50KTsKK30KKyNlbmRpZgorCiBRRFJUTm9kZTo6
UURSVE5vZGUoKQogICAgIDogbV9ub2RlKDApCiB7CkBAIC03NjQsMTkgKzc3NCw1MCBAQCB2b2lk
IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRNb2NrRGV2CiAjZW5kaWYKIH0KIAotdm9pZCBE
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oZG91Ymxl
IGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3VibGUgYWNjdXJhY3kpCit2b2lkIER1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0OjpyZXNldEdlb2xvY2F0aW9uTW9jayhRV2ViUGFnZSogcGFnZSkK
K3sKKyNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQorICAgIFBhZ2UqIGNvcmVQ
YWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBhZ2UpOworICAgIEdlb2xvY2F0aW9uQ2xpZW50
TW9jayogbW9ja0NsaWVudCA9IHRvR2VvbG9jYXRpb25DbGllbnRNb2NrKGNvcmVQYWdlLT5nZW9s
b2NhdGlvbkNvbnRyb2xsZXIoKS0+Y2xpZW50KCkpOworICAgIG1vY2tDbGllbnQtPnJlc2V0KCk7
CisjZW5kaWYKK30KKwordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xv
Y2F0aW9uUGVybWlzc2lvbihRV2ViUGFnZSogcGFnZSwgYm9vbCBhbGxvd2VkKQogewotI2lmIEVO
QUJMRShHRU9MT0NBVElPTikKLSAgICBSZWZQdHI8R2VvcG9zaXRpb24+IGdlb3Bvc2l0aW9uID0g
R2VvcG9zaXRpb246OmNyZWF0ZShDb29yZGluYXRlczo6Y3JlYXRlKGxhdGl0dWRlLCBsb25naXR1
ZGUsIGZhbHNlLCAwLCBhY2N1cmFjeSwgdHJ1ZSwgMCwgZmFsc2UsIDAsIGZhbHNlLCAwKSwgY3Vy
cmVudFRpbWUoKSAqIDEwMDAuMCk7Ci0gICAgR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6c2V0UG9z
aXRpb24oZ2VvcG9zaXRpb24pOworI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04p
CisgICAgUGFnZSogY29yZVBhZ2UgPSBRV2ViUGFnZVByaXZhdGU6OmNvcmUocGFnZSk7CisgICAg
R2VvbG9jYXRpb25DbGllbnRNb2NrKiBtb2NrQ2xpZW50ID0gdG9HZW9sb2NhdGlvbkNsaWVudE1v
Y2soY29yZVBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5jbGllbnQoKSk7CisgICAgbW9j
a0NsaWVudC0+c2V0UGVybWlzc2lvbihhbGxvd2VkKTsKICNlbmRpZgogfQogCi12b2lkIER1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihpbnQgZXJyb3JDb2Rl
LCBjb25zdCBRU3RyaW5nJiBtZXNzYWdlKQordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6
c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oUVdlYlBhZ2UqIHBhZ2UsIGRvdWJsZSBsYXRpdHVk
ZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFjY3VyYWN5KQogewotI2lmIEVOQUJMRShHRU9M
T0NBVElPTikKLSAgICBSZWZQdHI8UG9zaXRpb25FcnJvcj4gcG9zaXRpb25FcnJvciA9IFBvc2l0
aW9uRXJyb3I6OmNyZWF0ZShzdGF0aWNfY2FzdDxQb3NpdGlvbkVycm9yOjpFcnJvckNvZGU+KGVy
cm9yQ29kZSksIG1lc3NhZ2UpOwotICAgIEdlb2xvY2F0aW9uU2VydmljZU1vY2s6OnNldEVycm9y
KHBvc2l0aW9uRXJyb3IpOworI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCisg
ICAgUGFnZSogY29yZVBhZ2UgPSBRV2ViUGFnZVByaXZhdGU6OmNvcmUocGFnZSk7CisgICAgR2Vv
bG9jYXRpb25DbGllbnRNb2NrKiBtb2NrQ2xpZW50ID0gdG9HZW9sb2NhdGlvbkNsaWVudE1vY2so
Y29yZVBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5jbGllbnQoKSk7CisgICAgbW9ja0Ns
aWVudC0+c2V0UG9zaXRpb24oR2VvbG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRlKGN1cnJlbnRUaW1l
KCksIGxhdGl0dWRlLCBsb25naXR1ZGUsIGFjY3VyYWN5KSk7CisjZW5kaWYKK30KKwordm9pZCBE
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uRXJyb3IoUVdlYlBhZ2Uq
IHBhZ2UsIGludCBlcnJvckNvZGUsIGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UpCit7CisjaWYgRU5B
QkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKKyAgICBQYWdlKiBjb3JlUGFnZSA9IFFXZWJQ
YWdlUHJpdmF0ZTo6Y29yZShwYWdlKTsKKworICAgIEdlb2xvY2F0aW9uRXJyb3I6OkVycm9yQ29k
ZSBjb2RlID0gR2VvbG9jYXRpb25FcnJvcjo6UG9zaXRpb25VbmF2YWlsYWJsZTsKKyAgICBzd2l0
Y2ggKGVycm9yQ29kZSkgeworICAgIGNhc2UgUG9zaXRpb25FcnJvcjo6UEVSTUlTU0lPTl9ERU5J
RUQ6CisgICAgICAgIGNvZGUgPSBHZW9sb2NhdGlvbkVycm9yOjpQZXJtaXNzaW9uRGVuaWVkOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBvc2l0aW9uRXJyb3I6OlBPU0lUSU9OX1VOQVZBSUxB
QkxFOgorICAgICAgICBjb2RlID0gR2VvbG9jYXRpb25FcnJvcjo6UG9zaXRpb25VbmF2YWlsYWJs
ZTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgR2VvbG9jYXRpb25DbGllbnRNb2NrKiBt
b2NrQ2xpZW50ID0gc3RhdGljX2Nhc3Q8R2VvbG9jYXRpb25DbGllbnRNb2NrKj4oY29yZVBhZ2Ut
Pmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5jbGllbnQoKSk7CisgICAgbW9ja0NsaWVudC0+c2V0
RXJyb3IoR2VvbG9jYXRpb25FcnJvcjo6Y3JlYXRlKGNvZGUsIG1lc3NhZ2UpKTsKICNlbmRpZgog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCShyZXZpc2lvbiA4MDI2OSkKKysrIFNvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQzLDggKzE0MywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVt
b3ZlTW9ja0RldmljZU9yaWVudGF0aW9uKCk7CiAgICAgc3RhdGljIHZvaWQgc2V0TW9ja0Rldmlj
ZU9yaWVudGF0aW9uKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2Fu
UHJvdmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdh
bW1hKTsKIAotICAgIHN0YXRpYyB2b2lkIHNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKGRvdWJs
ZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFjY3VyYWN5KTsKLSAgICBzdGF0
aWMgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihpbnQgZXJyb3JDb2RlLCBjb25zdCBRU3Ry
aW5nJiBtZXNzYWdlKTsKKyAgICBzdGF0aWMgdm9pZCByZXNldEdlb2xvY2F0aW9uTW9jayhRV2Vi
UGFnZSopOworICAgIHN0YXRpYyB2b2lkIHNldE1vY2tHZW9sb2NhdGlvblBlcm1pc3Npb24oUVdl
YlBhZ2UqLCBib29sIGFsbG93ZWQpOworICAgIHN0YXRpYyB2b2lkIHNldE1vY2tHZW9sb2NhdGlv
blBvc2l0aW9uKFFXZWJQYWdlKiwgZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBk
b3VibGUgYWNjdXJhY3kpOworICAgIHN0YXRpYyB2b2lkIHNldE1vY2tHZW9sb2NhdGlvbkVycm9y
KFFXZWJQYWdlKiwgaW50IGVycm9yQ29kZSwgY29uc3QgUVN0cmluZyYgbWVzc2FnZSk7CiAKICAg
ICBzdGF0aWMgaW50IHdvcmtlclRocmVhZENvdW50KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcAko
cmV2aXNpb24gODAyNjkpCisrKyBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dlb2xv
Y2F0aW9uQ2xpZW50UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIgZmFpbGVkVG9TdGFydFNlcnZpY2VF
cnJvck1lc3NhZ2VbXSA9ICJGYWlsZWQgdG8gc3RhcnQgR2VvbG9jYXRpb24gc2VydmljZSI7CiAK
LUdlb2xvY2F0aW9uQ2xpZW50UXQ6Okdlb2xvY2F0aW9uQ2xpZW50UXQoUVdlYlBhZ2UqIHBhZ2Up
CitHZW9sb2NhdGlvbkNsaWVudFF0OjpHZW9sb2NhdGlvbkNsaWVudFF0KGNvbnN0IFFXZWJQYWdl
KiBwYWdlKQogICAgIDogbV9wYWdlKHBhZ2UpCiAgICAgLCBtX2xhc3RQb3NpdGlvbigwKQogICAg
ICwgbV9sb2NhdGlvbigwKQpJbmRleDogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9H
ZW9sb2NhdGlvbkNsaWVudFF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgJKHJldmlzaW9uIDgwMjY5KQorKysgU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgR2VvbG9jYXRpb25DbGllbnRRdCA6IHB1
YmxpYyBRT2JqZQogICAgIFFfT0JKRUNUCiAKIHB1YmxpYzoKLSAgICBHZW9sb2NhdGlvbkNsaWVu
dFF0KFFXZWJQYWdlKik7CisgICAgR2VvbG9jYXRpb25DbGllbnRRdChjb25zdCBRV2ViUGFnZSop
OwogICAgIHZpcnR1YWwgfkdlb2xvY2F0aW9uQ2xpZW50UXQoKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBnZW9sb2NhdGlvbkRlc3Ryb3llZCgpOwpAQCAtNjMsNyArNjMsNyBAQCBwcml2YXRlIFFfU0xP
VFM6CiAgICAgdm9pZCBwb3NpdGlvblVwZGF0ZWQoY29uc3QgUUdlb1Bvc2l0aW9uSW5mbyYpOwog
CiBwcml2YXRlOgotICAgIFFXZWJQYWdlKiBtX3BhZ2U7CisgICAgY29uc3QgUVdlYlBhZ2UqIG1f
cGFnZTsKICAgICBSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9sYXN0UG9zaXRpb247CiAg
ICAgUXRNb2JpbGl0eTo6UUdlb1Bvc2l0aW9uSW5mb1NvdXJjZSogbV9sb2NhdGlvbjsKIH07Cklu
ZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA4MDI2OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIwIEBACisyMDExLTAzLTAzICBNYWhlc2ggS3Vsa2FybmkgIDxtYWhlc2gua3Vsa2FybmlAbm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2Vu
LgorCisgICAgICAgIFtRVF0gSW1wbGVtZW50IG1vY2sgY2xpZW50LWJhc2VkIGdlb2xvY2F0aW9u
IGZvciBsYXlvdXQgdGVzdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTQzMzQKKworICAgICAgICBJbXBsZW1lbnQgdGVzdGluZyBmb3IgQ2xpZW50
LUJhc2VkIGdlb2xvY2F0aW9uIGZvciBRdFdlYmtpdC4KKworICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRl
clRyZWU6OkR1bXBSZW5kZXJUcmVlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpy
ZXNldCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRpb25QZXJt
aXNzaW9uKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRNb2NrR2VvbG9jYXRp
b25FcnJvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xvY2F0
aW9uUG9zaXRpb24pOgorCiAyMDExLTAzLTAzICBRaSBaaGFuZyAgPHFpLjIuemhhbmdAbm9raWEu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAkocmV2aXNpb24gODAyNjkpCisrKyBUb29scy9EdW1w
UmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE4
LDExICs0MTgsMTIgQEAgRHVtcFJlbmRlclRyZWU6OkR1bXBSZW5kZXJUcmVlKCkKICAgICAsIG1f
Z3JhcGhpY3NCYXNlZChmYWxzZSkKICAgICAsIG1fcGVyc2lzdGVudFN0b3JhZ2VQYXRoKFFTdHJp
bmcoZ2V0ZW52KCJEVU1QUkVOREVSVFJFRV9URU1QIikpKQogewotCiAgICAgUUJ5dGVBcnJheSB2
aWV3TW9kZSA9IGdldGVudigiUVRfRFJUX1dFQlZJRVdfTU9ERSIpOwogICAgIGlmICh2aWV3TW9k
ZSA9PSAiZ3JhcGhpY3MiKQogICAgICAgICBzZXRHcmFwaGljc0Jhc2VkKHRydWUpOwogCisgICAg
Ly8gU2V0IHJ1bm5pbmcgaW4gRFJUIG1vZGUgZm9yIHF3ZWJwYWdlIHRvIGNyZWF0ZSB0ZXN0YWJs
ZSBvYmplY3RzLgorICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXREdW1wUmVuZGVyVHJl
ZU1vZGVFbmFibGVkKHRydWUpOwogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpvdmVyd3Jp
dGVQbHVnaW5EaXJlY3RvcmllcygpOwogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjphY3Rp
dmVNb2NrRGV2aWNlT3JpZW50YXRpb25DbGllbnQodHJ1ZSk7CiAgICAgUVdlYlNldHRpbmdzOjpl
bmFibGVQZXJzaXN0ZW50U3RvcmFnZShtX3BlcnNpc3RlbnRTdG9yYWdlUGF0aCk7CkluZGV4OiBU
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNw
cAkocmV2aXNpb24gODAyNjkpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0
Q29udHJvbGxlclF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQCB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpyZXNldCgpCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6
OnNldEN1c3RvbVBvbGljeURlbGVnYXRlKGZhbHNlLCBmYWxzZSk7CiAgICAgRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQ6OmR1bXBIaXN0b3J5Q2FsbGJhY2tzKGZhbHNlKTsKICAgICBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdDo6ZHVtcFZpc2l0ZWRMaW5rc0NhbGxiYWNrcyhmYWxzZSk7CisgICAgRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQ6OnJlc2V0R2VvbG9jYXRpb25Nb2NrKG1fZHJ0LT53ZWJQYWdl
KCkpOwogICAgIHNldEljb25EYXRhYmFzZUVuYWJsZWQoZmFsc2UpOwogICAgIGNsZWFyQWxsRGF0
YWJhc2VzKCk7CiAKQEAgLTc2Miw3ICs3NjMsNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpzZXRNb2NrRGV2aWNlCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRHZW9sb2NhdGlv
blBlcm1pc3Npb24oYm9vbCBhbGxvdykKIHsKICAgICBzZXRHZW9sb2NhdGlvblBlcm1pc3Npb25D
b21tb24oYWxsb3cpOwotICAgIGVtaXQgZ2VvbG9jYXRpb25QZXJtaXNzaW9uU2V0KCk7CisgICAg
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tHZW9sb2NhdGlvblBlcm1pc3Npb24obV9k
cnQtPndlYlBhZ2UoKSwgYWxsb3cpOwogfQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRHZW9sb2NhdGlvblBlcm1pc3Npb25Db21tb24oYm9vbCBhbGxvdykKQEAgLTc3MywxMiArNzc0
LDEyIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEdlb2xvY2F0aW8KIAogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xvY2F0aW9uRXJyb3IoaW50IGNvZGUsIGNv
bnN0IFFTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNl
dE1vY2tHZW9sb2NhdGlvbkVycm9yKGNvZGUsIG1lc3NhZ2UpOworICAgIER1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0OjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihtX2RydC0+d2ViUGFnZSgpLCBjb2Rl
LCBtZXNzYWdlKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xv
Y2F0aW9uUG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3VibGUg
YWNjdXJhY3kpCiB7Ci0gICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tHZW9sb2Nh
dGlvblBvc2l0aW9uKGxhdGl0dWRlLCBsb25naXR1ZGUsIGFjY3VyYWN5KTsKKyAgICBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24obV9kcnQtPndlYlBh
Z2UoKSwgbGF0aXR1ZGUsIGxvbmdpdHVkZSwgYWNjdXJhY3kpOwogfQogCiB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjphZGRNb2NrU3BlZWNoSW5wdXRSZXN1bHQoY29uc3QgUVN0cmluZyYgcmVz
dWx0LCBkb3VibGUgY29uZmlkZW5jZSwgY29uc3QgUVN0cmluZyYgbGFuZ3VhZ2UpCkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA4MDI2OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTAzLTAzICBNYWhlc2ggS3Vsa2FybmkgIDxtYWhlc2gu
a3Vsa2FybmlAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUg
Q2hyaXN0aWFuc2VuLgorCisgICAgICAgIFtRVF0gSW1wbGVtZW50IG1vY2sgY2xpZW50LWJhc2Vk
IGdlb2xvY2F0aW9uIGZvciBsYXlvdXQgdGVzdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQzMzQKKworICAgICAgICBSZS1lbmFibGUgZ2VvbG9j
YXRpb24gbGF5b3V0IHRlc3RpbmcgZm9yIHF0IHBvcnQuIEFsc28gZW5hYmxlIGEgbG9uZyBwZW5k
aW5nCisgICAgICAgIGZhaWx1cmUgd2l0aCBnZW9sb2NhdGlvbiBhcyBpdCB3b3JrcyB3aXRoIGNs
aWVudC1iYXNlZCBnZW9sb2NhdGlvbi4gCisgICAgICAgIFNraXBwZWQgb25lIGxhc3QgY2FzZSBy
ZWxhdGVkIHRvIG11bHRpcGxlIHdpbmRvdyB3aGljaCBuZWVkcyBzb21lIGNvZGUgY2xlYW51cCBp
biBxdCBEUlQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDExLTAzLTAz
ICBLZW5qaSBJbWFzYWtpICA8aW1hc2FraUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgTWloYWkgUGFycGFyaXRhLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZp
c2lvbiA4MDI2OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcg
Y29weSkKQEAgLTI4ODYsNyArMjg4Niw2IEBAIG1lZGlhL3ZpZGVvLWRlbGF5LWxvYWQtZXZlbnQu
aHRtbAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCiAjIG5ldyBza2lwcGVkIHRlc3RzIHlldCB0
byBiZSBzb3J0ZWQKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwotZmFzdC9kb20vR2VvbG9jYXRp
b24vY2FsbGJhY2stdG8tcmVtb3RlLWNvbnRleHQyLmh0bWwKIAogIyBMaW5rIHByZWZldGNoIGlz
IGRpc2FibGVkIGJ5IGRlZmF1bHQKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9saW5rLWFuZC1z
dWJyZXNvdXJjZS10ZXN0Lmh0bWwKQEAgLTMxNjMsMTAgKzMxNjIsNiBAQCBpbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01NDcyNQogZWRpdGluZy9zZWxlY3Rpb24vbWl4ZWQtZWRpdGFiaWxpdHkt
MTAuaHRtbAogCi0jIC0tLS0tIEZJWE1FOiBRdFdlYmtpdCBzdXBwb3J0cyBjbGllbnQgYmFzZWQg
YW5kIExheW91dFRlc3QgZm9yIHRoZSBzYW1lIGlzIHlldCB0byBiZSBpbXBsZW1lbnRlZC4gVHJh
Y2tlZCBpbiAjNTQzMzQgLS0tLS0tIAotZmFzdC9kb20vR2VvbG9jYXRpb24KLWZhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy1nZW9sb2NhdGlvbi5odG1sCi0KICMgW1F0XSBHZW5lcmF0
ZSByZXN1bHRzIGZvciBtZWRpYS9hdWRpby1yZXBhaW50Lmh0bWwgYW5kIG1lZGlhL21lZGlhLWRv
Y3VtZW50LWF1ZGlvLXJlcGFpbnQuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTQ5ODQKIG1lZGlhL2F1ZGlvLXJlcGFpbnQuaHRtbApAQCAtMzE4NiwzICsz
MTgxLDYgQEAgaHR0cC90ZXN0cy94bWx2aWV3ZXIvZHVtcEFzVGV4dC94bWx2aWV3ZQogaHR0cC90
ZXN0cy94bWx2aWV3ZXIvZHVtcEFzVGV4dC94bWx2aWV3ZXIueG1sCiBodHRwL3Rlc3RzL3htbHZp
ZXdlci9kdW1wQXNUZXh0L3hzbC1zdHlsZXNoZWV0LnhtbAogaHR0cC90ZXN0cy94bWx2aWV3ZXIv
ZHVtcEFzVGV4dC94dWwueG1sCisKKyMgW1F0XSBnZW9sb2NhdGlvbiBjYXNlIGZhaWxpbmcgYXMg
bmVlZHMgaW1wbGVtZW50YXRpb24gaW4gRHVtcFJlbmRlclRyZWUgOiBUT0RPIGJ1ZworZmFzdC9k
b20vR2VvbG9jYXRpb24vd2luZG93LWNsb3NlLWNyYXNoLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>