<?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>74074</bug_id>
          
          <creation_ts>2011-12-08 04:33:21 -0800</creation_ts>
          <short_desc>[Qt] Visualize mock points in the Qt MiniBrowser</short_desc>
          <delta_ts>2011-12-08 10:39:14 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>74098</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Alexander Færøy">ahf</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kenneth</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>517301</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-08 04:33:21 -0800</bug_when>
    <thetext>SSIA.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517304</commentid>
    <comment_count>1</comment_count>
      <attachid>118363</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-08 04:46:42 -0800</bug_when>
    <thetext>Created attachment 118363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517312</commentid>
    <comment_count>2</comment_count>
      <attachid>118363</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-08 05:02:39 -0800</bug_when>
    <thetext>Comment on attachment 118363
Patch

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

&gt; Tools/ChangeLog:16
&gt; +        * MiniBrowser/qt/qml/TouchMockPoint.qml: Copied from Tools/MiniBrowser/qt/BrowserWindow.h.

Pretty stupid comment :-) pls remove and add Added

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:88
&gt; +    QHash&lt;int, QQuickItem*&gt;::iterator iter = m_touchMockPoints.find(id);

we normally use the name &quot;it&quot; in webkit

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:99
&gt; +
&gt; +    iter.value()-&gt;setX(position.x() / 2);
&gt; +    iter.value()-&gt;setY(position.y() / 2);
&gt; +    iter.value()-&gt;setOpacity(opacity);

why not (*it)-&gt;set...

&gt; Tools/MiniBrowser/qt/MiniBrowserApplication.cpp:174
&gt; +            // Get rid of touch-points that are no longer valid

+ . at the end :-)

&gt; Tools/MiniBrowser/qt/qml/TouchMockPoint.qml:31
&gt; +    visible: true

isn&apos;t that default?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517321</commentid>
    <comment_count>3</comment_count>
      <attachid>118363</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2011-12-08 05:21:20 -0800</bug_when>
    <thetext>Comment on attachment 118363
Patch

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

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:86
&gt; +void BrowserWindow::updateTouchMockPoint(int id, const QPointF&amp; position, qreal opacity)

updateMockTouchPoints

&gt;&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:88
&gt;&gt; +    QHash&lt;int, QQuickItem*&gt;::iterator iter = m_touchMockPoints.find(id);
&gt; 
&gt; we normally use the name &quot;it&quot; in webkit

Look up old touch points that you can re-use from the engine based on the id, instead of keeping a list.

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:97
&gt; +    iter.value()-&gt;setX(position.x() / 2);

set the x and y, and do the offsetting to center it in the qml

&gt;&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:99
&gt;&gt; +    iter.value()-&gt;setOpacity(opacity);
&gt; 
&gt; why not (*it)-&gt;set...

i&apos;d rather see a &quot;pressed&quot; property that you set and unset based on the point being released or not, and you can then deal with how you hide it in the qml

&gt; Tools/MiniBrowser/qt/MiniBrowserApplication.cpp:163
&gt; +

do we ever have a situation without a browser window?

&gt; Tools/MiniBrowser/qt/MiniBrowserApplication.cpp:168
&gt; +        qreal opacity = 1.0;

see comment about &quot;pressed&quot;. we should not deal with opacity here, that&apos;s an implementation detail of the visual component</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517322</commentid>
    <comment_count>4</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2011-12-08 05:22:17 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 118363 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=118363&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:86
&gt; &gt; +void BrowserWindow::updateTouchMockPoint(int id, const QPointF&amp; position, qreal opacity)
&gt; 
&gt; updateMockTouchPoints

Or, updateVisualMockTouchPoints</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517373</commentid>
    <comment_count>5</comment_count>
      <attachid>118382</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-08 06:39:52 -0800</bug_when>
    <thetext>Created attachment 118382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517385</commentid>
    <comment_count>6</comment_count>
      <attachid>118383</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-08 06:58:25 -0800</bug_when>
    <thetext>Created attachment 118383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517394</commentid>
    <comment_count>7</comment_count>
      <attachid>118383</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2011-12-08 07:19:16 -0800</bug_when>
    <thetext>Comment on attachment 118383
Patch

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

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:107
&gt; +        foreach (QQuickItem* item, rootObject()-&gt;childItems()) {
&gt; +            QVariant itemId = item-&gt;property(&quot;id&quot;);
&gt; +
&gt; +            if (itemId.toString() == mockTouchPointIdentifier) {
&gt; +                mockTouchPointItem = item;
&gt; +                break;
&gt; +            }
&gt; +        }

Set the objectName instead of the id, and use rootObject()-&gt;findChild&lt;QQuickItem*&gt;(mockTouchPointIdentifier);

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:118
&gt; +        mockTouchPointItem-&gt;setProperty(&quot;pressed&quot;, QVariant(pressed));

replace the pressed variable with touchPoint.state == Qt::TouchPointReleased

&gt; Tools/MiniBrowser/qt/MiniBrowserApplication.cpp:166
&gt; +    BrowserWindow* browserWindow = dynamic_cast&lt;BrowserWindow*&gt;(targetWindow);
&gt; +
&gt; +    if (browserWindow)
&gt; +        browserWindow-&gt;updateVisualMockTouchPoints(m_touchPoints.values());
&gt; +

if (BrowserWindow* browserWindow = qobject_cast&lt;BrowserWindow*&gt;(targetWindow))
    browserWindow-&gt;updateVisualMockTouchPoints(m_touchPoints.values());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517425</commentid>
    <comment_count>8</comment_count>
      <attachid>118393</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-08 08:13:15 -0800</bug_when>
    <thetext>Created attachment 118393
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517463</commentid>
    <comment_count>9</comment_count>
      <attachid>118393</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2011-12-08 09:11:12 -0800</bug_when>
    <thetext>Comment on attachment 118393
Patch

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

&gt; Tools/MiniBrowser/qt/BrowserWindow.cpp:92
&gt; +        bool pressed = touchPoint.state != Qt::TouchPointReleased;
&gt; +        QPointF position = touchPoint.area.topLeft();
&gt; +        position.rx() -= geometry().x();
&gt; +        position.ry() -= geometry().y();

Move this down to where you set it, and remove the pressed-variable, you can set the property directly based on touchPoint.state != Qt::TouchPointReleased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517465</commentid>
    <comment_count>10</comment_count>
      <attachid>118403</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-08 09:17:28 -0800</bug_when>
    <thetext>Created attachment 118403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517470</commentid>
    <comment_count>11</comment_count>
      <attachid>118403</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2011-12-08 09:24:28 -0800</bug_when>
    <thetext>Comment on attachment 118403
Patch

great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517535</commentid>
    <comment_count>12</comment_count>
      <attachid>118403</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 10:39:09 -0800</bug_when>
    <thetext>Comment on attachment 118403
Patch

Clearing flags on attachment: 118403

Committed r102348: &lt;http://trac.webkit.org/changeset/102348&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517536</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 10:39:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118363</attachid>
            <date>2011-12-08 04:46:42 -0800</date>
            <delta_ts>2011-12-08 06:39:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74074-20111208135318.patch</filename>
            <type>text/plain</type>
            <size>9583</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWE0MGEyN2JkZmQ5YmIyOTEwZWMzNTgxZGQ5M2JkZDRm
MDllMmEyYy4uNjhhMmM4ODA5MWI5Y2EwOGNjM2JkNmMyNWUwZDU0ZWFjMTk0YzdlOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDExLTEyLTA4ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9r
aWEuY29tPgorCisgICAgICAgIFtRdF0gVmlzdWFsaXplIG1vY2sgcG9pbnRzIGluIHRoZSBRdCBN
aW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzQwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3Nlcldp
bmRvdzo6dXBkYXRlVG91Y2hNb2NrUG9pbnQpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6fkJy
b3dzZXJXaW5kb3cpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaDoK
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5xcmM6CisgICAgICAgICogTWlu
aUJyb3dzZXIvcXQvTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5jcHA6CisgICAgICAgIChNaW5pQnJv
d3NlckFwcGxpY2F0aW9uOjpzZW5kVG91Y2hFdmVudCk6CisgICAgICAgICogTWluaUJyb3dzZXIv
cXQvaWNvbnMvdG91Y2hwb2ludC5wbmc6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0
L3FtbC9Ub3VjaE1vY2tQb2ludC5xbWw6IENvcGllZCBmcm9tIFRvb2xzL01pbmlCcm93c2VyL3F0
L0Jyb3dzZXJXaW5kb3cuaC4KKwogMjAxMS0xMi0wNiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBiaW5hcmllcyBpbiB3ZWJraXQuZ3lwIHNob3VsZCBiZSBz
cGxpdCBpbnRvIGEgbmV3IGZpbGUgdG8gYnJlYWsgY2lyY3VsYXIgZGVwZW5kZW5jaWVzIG9uIHdl
YmtpdF9zdXBwb3J0CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2lu
ZG93LmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCmluZGV4IGNh
ZDU1YjFmZjNhYjgxNTliOTZlNmRkNWRmZTM1MjI5N2I5N2Y1ZDcuLjEwNDRhNWQ1MzY3YjU1MWQ1
ZjBkZWU3ZTBkNjU2MWZlNzViZThhNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0
L0Jyb3dzZXJXaW5kb3cuY3BwCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5k
b3cuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAKICNpbmNsdWRlIDxRRGVjbGFyYXRpdmVFbmdpbmU+
CiAjaW5jbHVkZSA8UURpcj4KKyNpbmNsdWRlIDxRUG9pbnRGPgogCiBCcm93c2VyV2luZG93OjpC
cm93c2VyV2luZG93KFdpbmRvd09wdGlvbnMqIG9wdGlvbnMpCiB7CkBAIC04Miw2ICs4MywyMiBA
QCBCcm93c2VyV2luZG93KiBCcm93c2VyV2luZG93OjpuZXdXaW5kb3coY29uc3QgUVN0cmluZyYg
dXJsKQogICAgIHJldHVybiB3aW5kb3c7CiB9CiAKK3ZvaWQgQnJvd3NlcldpbmRvdzo6dXBkYXRl
VG91Y2hNb2NrUG9pbnQoaW50IGlkLCBjb25zdCBRUG9pbnRGJiBwb3NpdGlvbiwgcXJlYWwgb3Bh
Y2l0eSkKK3sKKyAgICBRSGFzaDxpbnQsIFFRdWlja0l0ZW0qPjo6aXRlcmF0b3IgaXRlciA9IG1f
dG91Y2hNb2NrUG9pbnRzLmZpbmQoaWQpOworCisgICAgaWYgKGl0ZXIgPT0gbV90b3VjaE1vY2tQ
b2ludHMuZW5kKCkpIHsKKyAgICAgICAgUURlY2xhcmF0aXZlQ29tcG9uZW50IHRvdWNoTW9ja1Bv
aW50Q29tcG9uZW50KGVuZ2luZSgpLCBRVXJsKCJxcmM6L3FtbC9Ub3VjaE1vY2tQb2ludC5xbWwi
KSk7CisgICAgICAgIFFRdWlja0l0ZW0qIHRvdWNoTW9ja1BvaW50ID0gcW9iamVjdF9jYXN0PFFR
dWlja0l0ZW0qPih0b3VjaE1vY2tQb2ludENvbXBvbmVudC5jcmVhdGUoKSk7CisgICAgICAgIHRv
dWNoTW9ja1BvaW50LT5zZXRQYXJlbnRJdGVtKHJvb3RPYmplY3QoKSk7CisgICAgICAgIGl0ZXIg
PSBtX3RvdWNoTW9ja1BvaW50cy5pbnNlcnQoaWQsIHRvdWNoTW9ja1BvaW50KTsKKyAgICB9CisK
KyAgICBpdGVyLnZhbHVlKCktPnNldFgocG9zaXRpb24ueCgpIC8gMik7CisgICAgaXRlci52YWx1
ZSgpLT5zZXRZKHBvc2l0aW9uLnkoKSAvIDIpOworICAgIGl0ZXIudmFsdWUoKS0+c2V0T3BhY2l0
eShvcGFjaXR5KTsKK30KKwogdm9pZCBCcm93c2VyV2luZG93OjpzY3JlZW5zaG90KCkKIHsKIH0K
QEAgLTkyLDQgKzEwOSw1IEBAIHZvaWQgQnJvd3NlcldpbmRvdzo6dXBkYXRlVXNlckFnZW50TGlz
dCgpCiAKIEJyb3dzZXJXaW5kb3c6On5Ccm93c2VyV2luZG93KCkKIHsKKyAgICBxRGVsZXRlQWxs
KG1fdG91Y2hNb2NrUG9pbnRzKTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0
L0Jyb3dzZXJXaW5kb3cuaCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaApp
bmRleCA3NjllOTdkOWQwYjIzOGFkMWU1ZTNlNWE2OWZlOTNhMzljOTliNTZiLi4xYzBmMDhiMGZi
YWMwZjZkMzcyMjA2OTA1YTAxNzRkMDZjMjRkYWIyIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJv
d3Nlci9xdC9Ccm93c2VyV2luZG93LmgKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3Nl
cldpbmRvdy5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8UVN0cmluZ0xpc3Q+CiAjaW5j
bHVkZSA8UXREZWNsYXJhdGl2ZS9RUXVpY2tWaWV3PgogCitjbGFzcyBRUG9pbnRGOwogY2xhc3Mg
UVF1aWNrV2ViVmlldzsKIAogY2xhc3MgQnJvd3NlcldpbmRvdyA6IHB1YmxpYyBRUXVpY2tWaWV3
IHsKQEAgLTQ0LDYgKzQ1LDggQEAgcHVibGljOgogICAgIHZvaWQgbG9hZChjb25zdCBRU3RyaW5n
JiB1cmwpOwogICAgIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcoKSBjb25zdDsKIAorICAgIHZvaWQg
dXBkYXRlVG91Y2hNb2NrUG9pbnQoaW50IGlkLCBjb25zdCBRUG9pbnRGJiBwb3NpdGlvbiwgcXJl
YWwgb3BhY2l0eSk7CisKIHB1YmxpYyBzbG90czoKICAgICBCcm93c2VyV2luZG93KiBuZXdXaW5k
b3coY29uc3QgUVN0cmluZyYgdXJsID0gImFib3V0OmJsYW5rIik7CiAKQEAgLTUzLDYgKzU2LDcg
QEAgcHJvdGVjdGVkIHNsb3RzOgogcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVVzZXJBZ2VudExp
c3QoKTsKICAgICBRU3RyaW5nTGlzdCBtX3VzZXJBZ2VudExpc3Q7CisgICAgUUhhc2g8aW50LCBR
UXVpY2tJdGVtKj4gbV90b3VjaE1vY2tQb2ludHM7CiB9OwogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYyBiL1Rvb2xzL01pbmlCcm93c2Vy
L3F0L01pbmlCcm93c2VyLnFyYwppbmRleCBhNTdhOTU0NGY0MTUzMzNkYjE0NWIzZWIzZGVmODM0
NDVhYTAzMWE4Li45NGEzMTkyNGQ2Nzg4MGEzMjBkOWI1YTI4MWRiYWRkNTZhOGI4NmU1IDEwMDY0
NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5xcmMKKysrIGIvVG9vbHMv
TWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJjCkBAIC00LDcgKzQsOSBAQAogICAgICAgICA8
ZmlsZT5pY29ucy9wcmV2aW91cy5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPmljb25zL3JlZnJl
c2gucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9zdG9wLnBuZzwvZmlsZT4KKyAgICAg
ICAgPGZpbGU+aWNvbnMvdG91Y2hwb2ludC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9C
cm93c2VyV2luZG93LnFtbDwvZmlsZT4KKyAgICAgICAgPGZpbGU+cW1sL1RvdWNoTW9ja1BvaW50
LnFtbDwvZmlsZT4KICAgICAgICAgPGZpbGU+dXNlcmFnZW50bGlzdC50eHQ8L2ZpbGU+CiAgICAg
PC9xcmVzb3VyY2U+CiA8L1JDQz4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01p
bmlCcm93c2VyQXBwbGljYXRpb24uY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dz
ZXJBcHBsaWNhdGlvbi5jcHAKaW5kZXggYzc0ZDBlMjk2YTcwZjg1Y2M5OGJhOWYzN2YyODY4YTZj
ZGE4MWM1Zi4uYjdmMDQyMDYxZTNjMDkxNmY0YzkyNjYyMzQ5ZDNmNTBkNzFmYmJkNCAxMDA2NDQK
LS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5jcHAKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5jcHAKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIk1pbmlCcm93c2VyQXBwbGljYXRpb24uaCIKIAorI2lu
Y2x1ZGUgIkJyb3dzZXJXaW5kb3cuaCIKICNpbmNsdWRlICJ1dGlscy5oIgogI2luY2x1ZGUgPFFS
ZWdFeHA+CiAjaW5jbHVkZSA8UUV2ZW50PgpAQCAtMTU4LDEwICsxNTksMjQgQEAgdm9pZCBNaW5p
QnJvd3NlckFwcGxpY2F0aW9uOjpzZW5kVG91Y2hFdmVudChRV2luZG93KiB0YXJnZXRXaW5kb3cp
CiAgICAgbV9wZW5kaW5nRmFrZVRvdWNoRXZlbnRDb3VudCsrOwogICAgIFFXaW5kb3dTeXN0ZW1J
bnRlcmZhY2U6OmhhbmRsZVRvdWNoRXZlbnQodGFyZ2V0V2luZG93LCBRRXZlbnQ6Ok5vbmUsIFFU
b3VjaEV2ZW50OjpUb3VjaFNjcmVlbiwgbV90b3VjaFBvaW50cy52YWx1ZXMoKSk7CiAKLSAgICAv
LyBHZXQgcmlkIG9mIHRvdWNoLXBvaW50cyB0aGF0IGFyZSBubyBsb25nZXIgdmFsaWQKKyAgICBC
cm93c2VyV2luZG93KiBicm93c2VyV2luZG93ID0gcW9iamVjdF9jYXN0PEJyb3dzZXJXaW5kb3cq
Pih0YXJnZXRXaW5kb3cpOworCisgICAgaWYgKCFicm93c2VyV2luZG93KQorICAgICAgICByZXR1
cm47CisKICAgICBmb3JlYWNoIChjb25zdCBRV2luZG93U3lzdGVtSW50ZXJmYWNlOjpUb3VjaFBv
aW50JiB0b3VjaFBvaW50LCBtX3RvdWNoUG9pbnRzKSB7Ci0gICAgaWYgKHRvdWNoUG9pbnQuc3Rh
dGUgPT0gIFF0OjpUb3VjaFBvaW50UmVsZWFzZWQpCi0gICAgICAgIG1fdG91Y2hQb2ludHMucmVt
b3ZlKHRvdWNoUG9pbnQuaWQpOworICAgICAgICBxcmVhbCBvcGFjaXR5ID0gMS4wOworICAgICAg
ICBRUG9pbnRGIHBvc2l0aW9uID0gdG91Y2hQb2ludC5hcmVhLnRvcExlZnQoKTsKKyAgICAgICAg
cG9zaXRpb24ucngoKSAtPSB0YXJnZXRXaW5kb3ctPmdlb21ldHJ5KCkueCgpOworICAgICAgICBw
b3NpdGlvbi5yeSgpIC09IHRhcmdldFdpbmRvdy0+Z2VvbWV0cnkoKS55KCk7CisKKyAgICAgICAg
aWYgKHRvdWNoUG9pbnQuc3RhdGUgPT0gUXQ6OlRvdWNoUG9pbnRSZWxlYXNlZCkgeworICAgICAg
ICAgICAgLy8gR2V0IHJpZCBvZiB0b3VjaC1wb2ludHMgdGhhdCBhcmUgbm8gbG9uZ2VyIHZhbGlk
CisgICAgICAgICAgICBtX3RvdWNoUG9pbnRzLnJlbW92ZSh0b3VjaFBvaW50LmlkKTsKKyAgICAg
ICAgICAgIG9wYWNpdHkgPSAwLjA7CisgICAgICAgIH0KKworICAgICAgICBicm93c2VyV2luZG93
LT51cGRhdGVUb3VjaE1vY2tQb2ludCh0b3VjaFBvaW50LmlkLCBwb3NpdGlvbiwgb3BhY2l0eSk7
CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy90b3Vj
aHBvaW50LnBuZyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25zL3RvdWNocG9pbnQucG5nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc2NDllZTk5MWE4YzdjNzI0ZjE1YWYyMzJlODU4ZGQ5MmMxYjY3MjEKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDEzMzEKemNtVi0zMTxkLTFQKTxoOzNLfExrMDAwZTFOSkxUcTAw
MWxpMDAxZm8xXkBzNiRsYlhkMDAwMDFiNWNoXzBJdHApCno9PlB4IzI0WUpgTDsoSyl7e2E3Pnl7
RDReMDAwU2FOTGgwTDAxRmNVMDFGY1YwR2daXzAwMDA3YlYqR2AyaXB0Pgp6M15oQ1VEblNBTzAw
Z3MxTF90KG8hX31FeE9qfjZiJE4lU1RQZFdYVG1YPC1HNEolO19HaVZzSE1UT35MNjY0TUEKeiFq
SHJ5Kz5tJm8oSG9aRmwkcWNwI3RUUT4tRUtAVWFxKHUwaU9Db1lRbit3e1EpaDQqViN7fDIjVEg3
eGQlbkI/CnppRns8ZEojOFdUVSFMPXY9bHNybHtfcDMqQVBhU1NybWI7YVk2NVR5enwjUFowPFol
eDBUMlBpMDBhUXwwODljSAp6RF5RY1dwVDFOUFJRZ1V2JHdRcmstWmxWbDE5KE5AZCt6fUZ1Qlh9
a088c1hKMmZaQnRKXjxpQVpuT3hYeDJNX3QKeldsbilWQURLTkxOZWV2eWp3MyglT1VJSlZQdEhg
XyR7UDY2cCFjZUAoVyhjYi1reFVuaGwrcWIpMnBXMi1xN358CnpUNXohSFoqKUhPIzthQTxefVRN
QXkpSTc3aHBvNTBwQEJueTElUV4zeHdWMWU+NSFFZ189bDxCTyN0O2NKa3tVdgp6dUhLe3F7JGd+
ZFBtdHZYckVkfT84RzxOKjdiUz9JbG5yITR3YGFRVnVeenRsRiEwYChLa3tgWlN0Vko8cWV2UncK
el4oMUIhSld8czNab3g3VkR6cSR8Q0p5Qlc0T0ErVTVwfWdxX3hePXZPME1rIVVKTko4dTF6ZFgw
bnBNV2RsWDR3CnpFRCp5I2Y9bUB9Q1AyTWk1MHt6Q2dnTWJ4UShTZS1aZGxsNmlKX1UqRT9RVmds
SlZQZTNfdHAjKVVXXiRtVmtrIQp6NyQqRllPemZmXm5oQUk5XjY8bHpjc3RHMHZNbDRMcjZfKTBP
RFo8IWdHZF5sI2RUYHZ4JUZoYkh4I2VoMGBDN2kKekxfSWJCNXNjJXtOSUw2Yno/VHM1JVd7bDV7
QDB+Z2B4Zng7T1ZQSno5dHVRTHhFRDwzWjB2ZHZObj5fQk1ITT80Cnoqa0J8ODVLOGk4RyolY31p
UlhPNDliYnQ7bD1rbGpETTJjbVRUMypNJCkoODBSSU04cXUkLTIxNGpkTU1nKHpKcwp6JiNhfStr
ZCp7fmt8dm47KkQyOSNtQGZCOW9JZ2d3MzkqVk0qZE5heXVyRGM0I2Y5UjBFczJSekRVfkk3SWQ4
eSUKejFTJWlMYyVoVUNmQHF8ZkM8d3pLcE9XU01mcTc5ajU8RSNfNyFYI2FpdEhDaDJtP1VNRkFH
SVhmdHJhQjlaVVEpCnozNXp0VXl1b1QhR1N3PGgkRXk2S2tXKXw1QnJWciNAJkBlRygmYUFGdlF4
eVNYWWJQbHlBMWdRYntoKyo7X1EwJQp6S0I9fUZLQk18Tm9kKUZ2eCRtUGs0UkQwQUY8ZlRPTGpi
XzAqRE8kTncyQlJvTnA4cEVRI1I5UHJ7MiVNV1dpelAKek1oTzVzWXQhR0xObldVQmFuYEVPOFNI
Wnc0bzNfdVJjd3ZqYUFSdz1jREI7ZUxIbzFhN0E8Tm1ULUxCQmoyaEd3Cno+OFJ1RE57IWRJP0tv
O21IWklWcCl+M2hISGt+NFNOVjFJNlJ0fjMyM303ZnsmcXxCLXkySCMoP0hhR1VoSjB+ZQp6bEJx
WUx0NFJVbCVNcntjPV9WQmklYj4xVTUxWU9xbFckRENkJE9kO1JqNkE0MFFMWHhKbnR9SF52dGhP
Wn1TVHwKekhDa01TMiohOSFOMFY0ZzJuZ15abjlaJWUkVmV6dzZGNHt4b0YpIyVseiFkekglcDhj
fEFYQ2dNKlFtRGR8eDElCnpla1U3JE59RFMkbiVANjc4OHp4fUtXY1BjKm1ueFFKblMxdWleQC1i
YXY9aFlVVEpuV1FrfHs2ZEJXYUdmYm0xKgp6OWRBOHVZbyQ2ezFBdUN+QV4zVz0/SG1GNjQqfENT
d014c214LXdIeChXPnQ5dTx2U0dsbj4tVVRnQD1OLUF6WjgKejljYl85aTAxPipiWTRwYTdMTSln
YytyYEMkemFEZy1OOCQ4UEt6PnhMR1A4TzkyYUdGPmU4VU1PP25jX1VWQilACnA4aT1NZERsQSZH
P0E/d1JvUWV5Snt7ckFmI2d6aGNYcy1ZTzAwMm92UERITGtWMW5iP1dVPkdOCgpsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvVG91Y2hN
b2NrUG9pbnQucW1sIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL1RvdWNoTW9ja1BvaW50LnFt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZTRiNDBjZjU3YWNlMzBmNmNlNjI4ZjlhODY3NGVjMjNjZjcxOWI0Ci0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL1RvdWNoTW9ja1BvaW50
LnFtbApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworaW1wb3J0IFF0UXVpY2sgMi4wCisKK0l0ZW0geworICAgIHZpc2li
bGU6IHRydWUKKyAgICBvcGFjaXR5OiAwLjAKKworICAgIEltYWdlIHsKKyAgICAgICAgc291cmNl
OiAiLi4vaWNvbnMvdG91Y2hwb2ludC5wbmciCisgICAgICAgIHg6IHBhcmVudC54IC0gd2lkdGgg
LyAyCisgICAgICAgIHk6IHBhcmVudC55IC0gaGVpZ2h0IC8gMgorICAgICAgICBvcGFjaXR5OiBw
YXJlbnQub3BhY2l0eSAqIDAuOAorCisgICAgICAgIEJlaGF2aW9yIG9uIG9wYWNpdHkgeworICAg
ICAgICAgICAgTnVtYmVyQW5pbWF0aW9uIHsgZHVyYXRpb246IDI1MCB9CisgICAgICAgIH0KKyAg
ICB9Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118382</attachid>
            <date>2011-12-08 06:39:52 -0800</date>
            <delta_ts>2011-12-08 06:58:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74074-20111208154628.patch</filename>
            <type>text/plain</type>
            <size>9423</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWE0MGEyN2JkZmQ5YmIyOTEwZWMzNTgxZGQ5M2JkZDRm
MDllMmEyYy4uM2Y0MzAwZWYzNGZiZmFhZjY2YTdmNzQwMjc1Yjc5NWE5YmM4ODE5NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDExLTEyLTA4ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9r
aWEuY29tPgorCisgICAgICAgIFtRdF0gVmlzdWFsaXplIG1vY2sgcG9pbnRzIGluIHRoZSBRdCBN
aW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzQwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3Nlcldp
bmRvdzo6dXBkYXRlVmlzdWFsTW9ja1RvdWNoUG9pbnRzKToKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyV2luZG93Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvTWluaUJyb3dz
ZXIucXJjOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRpb24u
Y3BwOgorICAgICAgICAoTWluaUJyb3dzZXJBcHBsaWNhdGlvbjo6c2VuZFRvdWNoRXZlbnQpOgor
ICAgICAgICAqIE1pbmlCcm93c2VyL3F0L2ljb25zL3RvdWNocG9pbnQucG5nOiBBZGRlZC4KKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci9xdC9xbWwvTW9ja1RvdWNoUG9pbnQucW1sOiBBZGRlZC4KKwog
MjAxMS0xMi0wNiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBiaW5hcmllcyBpbiB3ZWJraXQuZ3lwIHNob3VsZCBiZSBzcGxpdCBpbnRvIGEgbmV3IGZpbGUg
dG8gYnJlYWsgY2lyY3VsYXIgZGVwZW5kZW5jaWVzIG9uIHdlYmtpdF9zdXBwb3J0CmRpZmYgLS1n
aXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcCBiL1Rvb2xzL01pbmlC
cm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCmluZGV4IGNhZDU1YjFmZjNhYjgxNTliOTZlNmRk
NWRmZTM1MjI5N2I5N2Y1ZDcuLmI3YTQ5OTY1ZDVlMGEyNTY0MWJlZjUxZTBmMTU4M2JkZWFlYTM4
YTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCisr
KyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCkBAIC0zNCw2ICszNCw3
IEBACiAKICNpbmNsdWRlIDxRRGVjbGFyYXRpdmVFbmdpbmU+CiAjaW5jbHVkZSA8UURpcj4KKyNp
bmNsdWRlIDxRUG9pbnRGPgogCiBCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09w
dGlvbnMqIG9wdGlvbnMpCiB7CkBAIC04Miw2ICs4Myw0MyBAQCBCcm93c2VyV2luZG93KiBCcm93
c2VyV2luZG93OjpuZXdXaW5kb3coY29uc3QgUVN0cmluZyYgdXJsKQogICAgIHJldHVybiB3aW5k
b3c7CiB9CiAKK3ZvaWQgQnJvd3NlcldpbmRvdzo6dXBkYXRlVmlzdWFsTW9ja1RvdWNoUG9pbnRz
KGNvbnN0IFFMaXN0PFFXaW5kb3dTeXN0ZW1JbnRlcmZhY2U6OlRvdWNoUG9pbnQ+JiB0b3VjaFBv
aW50cykKK3sKKyAgICBmb3JlYWNoIChjb25zdCBRV2luZG93U3lzdGVtSW50ZXJmYWNlOjpUb3Vj
aFBvaW50JiB0b3VjaFBvaW50LCB0b3VjaFBvaW50cykgeworICAgICAgICBib29sIHByZXNzZWQg
PSB0cnVlOworICAgICAgICBRUG9pbnRGIHBvc2l0aW9uID0gdG91Y2hQb2ludC5hcmVhLnRvcExl
ZnQoKTsKKyAgICAgICAgcG9zaXRpb24ucngoKSAtPSBnZW9tZXRyeSgpLngoKTsKKyAgICAgICAg
cG9zaXRpb24ucnkoKSAtPSBnZW9tZXRyeSgpLnkoKTsKKworICAgICAgICBpZiAodG91Y2hQb2lu
dC5zdGF0ZSA9PSBRdDo6VG91Y2hQb2ludFJlbGVhc2VkKQorICAgICAgICAgICAgcHJlc3NlZCA9
IGZhbHNlOworCisgICAgICAgIFFTdHJpbmcgbW9ja1RvdWNoUG9pbnRJZGVudGlmaWVyID0gUVN0
cmluZygibW9ja1RvdWNoUG9pbnQlMSIpLmFyZyh0b3VjaFBvaW50LmlkKTsKKyAgICAgICAgUVF1
aWNrSXRlbSogbW9ja1RvdWNoUG9pbnRJdGVtID0gMDsKKworICAgICAgICBmb3JlYWNoIChRUXVp
Y2tJdGVtKiBpdGVtLCByb290T2JqZWN0KCktPmNoaWxkSXRlbXMoKSkgeworICAgICAgICAgICAg
UVZhcmlhbnQgaXRlbUlkID0gaXRlbS0+cHJvcGVydHkoImlkIik7CisKKyAgICAgICAgICAgIGlm
IChpdGVtSWQudG9TdHJpbmcoKSA9PSBtb2NrVG91Y2hQb2ludElkZW50aWZpZXIpIHsKKyAgICAg
ICAgICAgICAgICBtb2NrVG91Y2hQb2ludEl0ZW0gPSBpdGVtOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKCFtb2NrVG91Y2hQ
b2ludEl0ZW0pIHsKKyAgICAgICAgICAgIFFEZWNsYXJhdGl2ZUNvbXBvbmVudCB0b3VjaE1vY2tQ
b2ludENvbXBvbmVudChlbmdpbmUoKSwgUVVybCgicXJjOi9xbWwvTW9ja1RvdWNoUG9pbnQucW1s
IikpOworICAgICAgICAgICAgbW9ja1RvdWNoUG9pbnRJdGVtID0gcW9iamVjdF9jYXN0PFFRdWlj
a0l0ZW0qPih0b3VjaE1vY2tQb2ludENvbXBvbmVudC5jcmVhdGUoKSk7CisgICAgICAgICAgICBt
b2NrVG91Y2hQb2ludEl0ZW0tPnNldFBhcmVudEl0ZW0ocm9vdE9iamVjdCgpKTsKKyAgICAgICAg
ICAgIG1vY2tUb3VjaFBvaW50SXRlbS0+c2V0UHJvcGVydHkoImlkIiwgUVZhcmlhbnQobW9ja1Rv
dWNoUG9pbnRJZGVudGlmaWVyKSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBGSVhNRTogRmln
dXJlIG91dCB3aHkgd2UgaGF2ZSB0byBkaXZpZGUgYnkgdHdvIGhlcmUuCisgICAgICAgIG1vY2tU
b3VjaFBvaW50SXRlbS0+c2V0WChwb3NpdGlvbi54KCkgLyAyKTsKKyAgICAgICAgbW9ja1RvdWNo
UG9pbnRJdGVtLT5zZXRZKHBvc2l0aW9uLnkoKSAvIDIpOworICAgICAgICBtb2NrVG91Y2hQb2lu
dEl0ZW0tPnNldFByb3BlcnR5KCJwcmVzc2VkIiwgUVZhcmlhbnQocHJlc3NlZCkpOworICAgIH0K
K30KKwogdm9pZCBCcm93c2VyV2luZG93OjpzY3JlZW5zaG90KCkKIHsKIH0KZGlmZiAtLWdpdCBh
L1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaCBiL1Rvb2xzL01pbmlCcm93c2Vy
L3F0L0Jyb3dzZXJXaW5kb3cuaAppbmRleCA3NjllOTdkOWQwYjIzOGFkMWU1ZTNlNWE2OWZlOTNh
MzljOTliNTZiLi42NmRjYTBiMzljN2UzZjZlZWFjNTJmMmJmMDNkYWY2YzQ2NDg0NmI4IDEwMDY0
NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgKKysrIGIvVG9vbHMv
TWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCkBAIC00NCw2ICs0NCw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGxvYWQoY29uc3QgUVN0cmluZyYgdXJsKTsKICAgICBRUXVpY2tXZWJWaWV3KiB3
ZWJWaWV3KCkgY29uc3Q7CiAKKyAgICB2b2lkIHVwZGF0ZVZpc3VhbE1vY2tUb3VjaFBvaW50cyhj
b25zdCBRTGlzdDxRV2luZG93U3lzdGVtSW50ZXJmYWNlOjpUb3VjaFBvaW50PiYgdG91Y2hQb2lu
dHMpOworCiBwdWJsaWMgc2xvdHM6CiAgICAgQnJvd3NlcldpbmRvdyogbmV3V2luZG93KGNvbnN0
IFFTdHJpbmcmIHVybCA9ICJhYm91dDpibGFuayIpOwogCmRpZmYgLS1naXQgYS9Ub29scy9NaW5p
QnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5xcmMgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJv
d3Nlci5xcmMKaW5kZXggYTU3YTk1NDRmNDE1MzMzZGIxNDViM2ViM2RlZjgzNDQ1YWEwMzFhOC4u
N2YwNTUyNjdkNjAzNDNlNWE1ZGJiMGY5MWFlYjE4OWEyYjk1NmQ4MiAxMDA2NDQKLS0tIGEvVG9v
bHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJjCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
L3F0L01pbmlCcm93c2VyLnFyYwpAQCAtNCw3ICs0LDkgQEAKICAgICAgICAgPGZpbGU+aWNvbnMv
cHJldmlvdXMucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9yZWZyZXNoLnBuZzwvZmls
ZT4KICAgICAgICAgPGZpbGU+aWNvbnMvc3RvcC5wbmc8L2ZpbGU+CisgICAgICAgIDxmaWxlPmlj
b25zL3RvdWNocG9pbnQucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwvQnJvd3NlcldpbmRv
dy5xbWw8L2ZpbGU+CisgICAgICAgIDxmaWxlPnFtbC9Nb2NrVG91Y2hQb2ludC5xbWw8L2ZpbGU+
CiAgICAgICAgIDxmaWxlPnVzZXJhZ2VudGxpc3QudHh0PC9maWxlPgogICAgIDwvcXJlc291cmNl
PgogPC9SQ0M+CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3NlckFw
cGxpY2F0aW9uLmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRp
b24uY3BwCmluZGV4IGM3NGQwZTI5NmE3MGY4NWNjOThiYTlmMzdmMjg2OGE2Y2RhODFjNWYuLjNk
ODRjMTFjN2Q5YTAwM2RiNmZhYjUwMmVjMmYyYjg5NTgxNjVmZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRpb24uY3BwCisrKyBiL1Rvb2xzL01p
bmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRpb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBA
CiAKICNpbmNsdWRlICJNaW5pQnJvd3NlckFwcGxpY2F0aW9uLmgiCiAKKyNpbmNsdWRlICJCcm93
c2VyV2luZG93LmgiCiAjaW5jbHVkZSAidXRpbHMuaCIKICNpbmNsdWRlIDxRUmVnRXhwPgogI2lu
Y2x1ZGUgPFFFdmVudD4KQEAgLTE1OCw2ICsxNTksMTEgQEAgdm9pZCBNaW5pQnJvd3NlckFwcGxp
Y2F0aW9uOjpzZW5kVG91Y2hFdmVudChRV2luZG93KiB0YXJnZXRXaW5kb3cpCiAgICAgbV9wZW5k
aW5nRmFrZVRvdWNoRXZlbnRDb3VudCsrOwogICAgIFFXaW5kb3dTeXN0ZW1JbnRlcmZhY2U6Omhh
bmRsZVRvdWNoRXZlbnQodGFyZ2V0V2luZG93LCBRRXZlbnQ6Ok5vbmUsIFFUb3VjaEV2ZW50OjpU
b3VjaFNjcmVlbiwgbV90b3VjaFBvaW50cy52YWx1ZXMoKSk7CiAKKyAgICBCcm93c2VyV2luZG93
KiBicm93c2VyV2luZG93ID0gZHluYW1pY19jYXN0PEJyb3dzZXJXaW5kb3cqPih0YXJnZXRXaW5k
b3cpOworCisgICAgaWYgKGJyb3dzZXJXaW5kb3cpCisgICAgICAgIGJyb3dzZXJXaW5kb3ctPnVw
ZGF0ZVZpc3VhbE1vY2tUb3VjaFBvaW50cyhtX3RvdWNoUG9pbnRzLnZhbHVlcygpKTsKKwogICAg
IC8vIEdldCByaWQgb2YgdG91Y2gtcG9pbnRzIHRoYXQgYXJlIG5vIGxvbmdlciB2YWxpZAogICAg
IGZvcmVhY2ggKGNvbnN0IFFXaW5kb3dTeXN0ZW1JbnRlcmZhY2U6OlRvdWNoUG9pbnQmIHRvdWNo
UG9pbnQsIG1fdG91Y2hQb2ludHMpIHsKICAgICBpZiAodG91Y2hQb2ludC5zdGF0ZSA9PSAgUXQ6
OlRvdWNoUG9pbnRSZWxlYXNlZCkKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L2lj
b25zL3RvdWNocG9pbnQucG5nIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvdG91Y2hwb2lu
dC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzY0OWVlOTkxYThjN2M3MjRmMTVhZjIzMmU4NThkZDkyYzFiNjcy
MQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTMzMQp6Y21WLTMxPGQtMVApPGg7M0t8TGswMDBl
MU5KTFRxMDAxbGkwMDFmbzFeQHM2JGxiWGQwMDAwMWI1Y2hfMEl0cCkKej0+UHgjMjRZSmBMOyhL
KXt7YTc+eXtENF4wMDBTYU5MaDBMMDFGY1UwMUZjVjBHZ1pfMDAwMDdiVipHYDJpcHQ+CnozXmhD
VURuU0FPMDBnczFMX3QobyFffUV4T2p+NmIkTiVTVFBkV1hUbVg8LUc0SiU7X0dpVnNITVRPfkw2
NjRNQQp6IWpIcnkrPm0mbyhIb1pGbCRxY3AjdFRRPi1FS0BVYXEodTBpT0NvWVFuK3d7USloNCpW
I3t8MiNUSDd4ZCVuQj8KemlGezxkSiM4V1RVIUw9dj1sc3Jse19wMypBUGFTU3JtYjthWTY1VHl6
fCNQWjA8WiV4MFQyUGkwMGFRfDA4OWNICnpEXlFjV3BUMU5QUlFnVXYkd1Fyay1abFZsMTkoTkBk
K3p9RnVCWH1rTzxzWEoyZlpCdEpePGlBWm5PeFh4Mk1fdAp6V2xuKVZBREtOTE5lZXZ5anczKCVP
VUlKVlB0SGBfJHtQNjZwIWNlQChXKGNiLWt4VW5obCtxYikycFcyLXE3fnwKelQ1eiFIWiopSE8j
O2FBPF59VE1BeSlJNzdocG81MHBAQm55MSVRXjN4d1YxZT41IUVnXz1sPEJPI3Q7Y0pre1V2Cnp1
SEt7cXskZ35kUG10dlhyRWR9PzhHPE4qN2JTP0lsbnIhNHdgYVFWdV56dGxGITBgKEtre2BaU3RW
SjxxZXZSdwp6XigxQiFKV3xzM1pveDdWRHpxJHxDSnlCVzRPQStVNXB9Z3FfeF49dk8wTWshVUpO
Sjh1MXpkWDBucE1XZGxYNHcKekVEKnkjZj1tQH1DUDJNaTUwe3pDZ2dNYnhRKFNlLVpkbGw2aUpf
VSpFP1FWZ2xKVlBlM190cCMpVVdeJG1Wa2shCno3JCpGWU96ZmZebmhBSTleNjxsemNzdEcwdk1s
NExyNl8pME9EWjwhZ0dkXmwjZFRgdnglRmhiSHgjZWgwYEM3aQp6TF9JYkI1c2Mle05JTDZiej9U
czUlV3tsNXtAMH5nYHhmeDtPVlBKejl0dVFMeEVEPDNaMHZkdk5uPl9CTUhNPzQKeiprQnw4NUs4
aThHKiVjfWlSWE80OWJidDtsPWtsakRNMmNtVFQzKk0kKSg4MFJJTThxdSQtMjE0amRNTWcoekpz
CnomI2F9K2tkKnt+a3x2bjsqRDI5I21AZkI5b0lnZ3czOSpWTSpkTmF5dXJEYzQjZjlSMEVzMlJ6
RFV+STdJZDh5JQp6MVMlaUxjJWhVQ2ZAcXxmQzx3ektwT1dTTWZxNzlqNTxFI183IVgjYWl0SENo
Mm0/VU1GQUdJWGZ0cmFCOVpVUSkKejM1enRVeXVvVCFHU3c8aCRFeTZLa1cpfDVCclZyI0AmQGVH
KCZhQUZ2UXh5U1hZYlBseUExZ1Fie2grKjtfUTAlCnpLQj19RktCTXxOb2QpRnZ4JG1QazRSRDBB
RjxmVE9MamJfMCpETyROdzJCUm9OcDhwRVEjUjlQcnsyJU1XV2l6UAp6TWhPNXNZdCFHTE5uV1VC
YW5gRU84U0hadzRvM191UmN3dmphQVJ3PWNEQjtlTEhvMWE3QTxObVQtTEJCajJoR3cKej44UnVE
TnshZEk/S287bUhaSVZwKX4zaEhIa340U05WMUk2UnR+MzIzfTdmeyZxfEIteTJIIyg/SGFHVWhK
MH5lCnpsQnFZTHQ0UlVsJU1ye2M9X1ZCaSViPjFVNTFZT3FsVyREQ2QkT2Q7Umo2QTQwUUxYeEpu
dH1IXnZ0aE9afVNUfAp6SENrTVMyKiE5IU4wVjRnMm5nXlpuOVolZSRWZXp3NkY0e3hvRikjJWx6
IWR6SCVwOGN8QVhDZ00qUW1EZHx4MSUKemVrVTckTn1EUyRuJUA2Nzg4enh9S1djUGMqbW54UUpu
UzF1aV5ALWJhdj1oWVVUSm5XUWt8ezZkQldhR2ZibTEqCno5ZEE4dVlvJDZ7MUF1Q35BXjNXPT9I
bUY2NCp8Q1N3TXhzbXgtd0h4KFc+dDl1PHZTR2xuPi1VVGdAPU4tQXpaOAp6OWNiXzlpMDE+KmJZ
NHBhN0xNKWdjK3JgQyR6YURnLU44JDhQS3o+eExHUDhPOTJhR0Y+ZThVTU8/bmNfVVZCKUAKcDhp
PU1kRGxBJkc/QT93Um9RZXlKe3tyQWYjZ3poY1hzLVlPMDAyb3ZQREhMa1YxbmI/V1U+R04KCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L3Ft
bC9Nb2NrVG91Y2hQb2ludC5xbWwgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvTW9ja1RvdWNo
UG9pbnQucW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmOTY4MGMwNWUyYjAyZjIxNTE3ZmMwOTIwNzM0YWY1NjA2
NDViNGUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvTW9ja1Rv
dWNoUG9pbnQucW1sCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitpbXBvcnQgUXRRdWljayAyLjAKKworSXRlbSB7Cisg
ICAgcHJvcGVydHkgYm9vbCBwcmVzc2VkOiBmYWxzZQorCisgICAgSW1hZ2UgeworICAgICAgICBz
b3VyY2U6ICIuLi9pY29ucy90b3VjaHBvaW50LnBuZyIKKyAgICAgICAgeDogcGFyZW50LnggLSB3
aWR0aCAvIDIKKyAgICAgICAgeTogcGFyZW50LnkgLSBoZWlnaHQgLyAyCisgICAgICAgIG9wYWNp
dHk6IHBhcmVudC5wcmVzc2VkID8gMC44IDogMC4wCisKKyAgICAgICAgQmVoYXZpb3Igb24gb3Bh
Y2l0eSB7CisgICAgICAgICAgICBOdW1iZXJBbmltYXRpb24geyBkdXJhdGlvbjogMjAwIH0KKyAg
ICAgICAgfQorICAgIH0KK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118383</attachid>
            <date>2011-12-08 06:58:25 -0800</date>
            <delta_ts>2011-12-08 08:13:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74074-20111208160501.patch</filename>
            <type>text/plain</type>
            <size>9334</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWE0MGEyN2JkZmQ5YmIyOTEwZWMzNTgxZGQ5M2JkZDRm
MDllMmEyYy4uM2Y0MzAwZWYzNGZiZmFhZjY2YTdmNzQwMjc1Yjc5NWE5YmM4ODE5NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDExLTEyLTA4ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9r
aWEuY29tPgorCisgICAgICAgIFtRdF0gVmlzdWFsaXplIG1vY2sgcG9pbnRzIGluIHRoZSBRdCBN
aW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzQwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3Nlcldp
bmRvdzo6dXBkYXRlVmlzdWFsTW9ja1RvdWNoUG9pbnRzKToKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyV2luZG93Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvTWluaUJyb3dz
ZXIucXJjOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRpb24u
Y3BwOgorICAgICAgICAoTWluaUJyb3dzZXJBcHBsaWNhdGlvbjo6c2VuZFRvdWNoRXZlbnQpOgor
ICAgICAgICAqIE1pbmlCcm93c2VyL3F0L2ljb25zL3RvdWNocG9pbnQucG5nOiBBZGRlZC4KKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci9xdC9xbWwvTW9ja1RvdWNoUG9pbnQucW1sOiBBZGRlZC4KKwog
MjAxMS0xMi0wNiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBiaW5hcmllcyBpbiB3ZWJraXQuZ3lwIHNob3VsZCBiZSBzcGxpdCBpbnRvIGEgbmV3IGZpbGUg
dG8gYnJlYWsgY2lyY3VsYXIgZGVwZW5kZW5jaWVzIG9uIHdlYmtpdF9zdXBwb3J0CmRpZmYgLS1n
aXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcCBiL1Rvb2xzL01pbmlC
cm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCmluZGV4IGNhZDU1YjFmZjNhYjgxNTliOTZlNmRk
NWRmZTM1MjI5N2I5N2Y1ZDcuLmZjOTY5NWFlYWVmYTM3MmRkNTcwZDZkMGI4MGRkNWJkODc5OTFm
OWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCisr
KyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwCkBAIC0zNCw2ICszNCw3
IEBACiAKICNpbmNsdWRlIDxRRGVjbGFyYXRpdmVFbmdpbmU+CiAjaW5jbHVkZSA8UURpcj4KKyNp
bmNsdWRlIDxRUG9pbnRGPgogCiBCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93KFdpbmRvd09w
dGlvbnMqIG9wdGlvbnMpCiB7CkBAIC04Miw2ICs4Myw0MiBAQCBCcm93c2VyV2luZG93KiBCcm93
c2VyV2luZG93OjpuZXdXaW5kb3coY29uc3QgUVN0cmluZyYgdXJsKQogICAgIHJldHVybiB3aW5k
b3c7CiB9CiAKK3ZvaWQgQnJvd3NlcldpbmRvdzo6dXBkYXRlVmlzdWFsTW9ja1RvdWNoUG9pbnRz
KGNvbnN0IFFMaXN0PFFXaW5kb3dTeXN0ZW1JbnRlcmZhY2U6OlRvdWNoUG9pbnQ+JiB0b3VjaFBv
aW50cykKK3sKKyAgICBmb3JlYWNoIChjb25zdCBRV2luZG93U3lzdGVtSW50ZXJmYWNlOjpUb3Vj
aFBvaW50JiB0b3VjaFBvaW50LCB0b3VjaFBvaW50cykgeworICAgICAgICBib29sIHByZXNzZWQg
PSB0cnVlOworICAgICAgICBRUG9pbnRGIHBvc2l0aW9uID0gdG91Y2hQb2ludC5hcmVhLnRvcExl
ZnQoKTsKKyAgICAgICAgcG9zaXRpb24ucngoKSAtPSBnZW9tZXRyeSgpLngoKTsKKyAgICAgICAg
cG9zaXRpb24ucnkoKSAtPSBnZW9tZXRyeSgpLnkoKTsKKworICAgICAgICBpZiAodG91Y2hQb2lu
dC5zdGF0ZSA9PSBRdDo6VG91Y2hQb2ludFJlbGVhc2VkKQorICAgICAgICAgICAgcHJlc3NlZCA9
IGZhbHNlOworCisgICAgICAgIFFTdHJpbmcgbW9ja1RvdWNoUG9pbnRJZGVudGlmaWVyID0gUVN0
cmluZygibW9ja1RvdWNoUG9pbnQlMSIpLmFyZyh0b3VjaFBvaW50LmlkKTsKKyAgICAgICAgUVF1
aWNrSXRlbSogbW9ja1RvdWNoUG9pbnRJdGVtID0gMDsKKworICAgICAgICBmb3JlYWNoIChRUXVp
Y2tJdGVtKiBpdGVtLCByb290T2JqZWN0KCktPmNoaWxkSXRlbXMoKSkgeworICAgICAgICAgICAg
UVZhcmlhbnQgaXRlbUlkID0gaXRlbS0+cHJvcGVydHkoImlkIik7CisKKyAgICAgICAgICAgIGlm
IChpdGVtSWQudG9TdHJpbmcoKSA9PSBtb2NrVG91Y2hQb2ludElkZW50aWZpZXIpIHsKKyAgICAg
ICAgICAgICAgICBtb2NrVG91Y2hQb2ludEl0ZW0gPSBpdGVtOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKCFtb2NrVG91Y2hQ
b2ludEl0ZW0pIHsKKyAgICAgICAgICAgIFFEZWNsYXJhdGl2ZUNvbXBvbmVudCB0b3VjaE1vY2tQ
b2ludENvbXBvbmVudChlbmdpbmUoKSwgUVVybCgicXJjOi9xbWwvTW9ja1RvdWNoUG9pbnQucW1s
IikpOworICAgICAgICAgICAgbW9ja1RvdWNoUG9pbnRJdGVtID0gcW9iamVjdF9jYXN0PFFRdWlj
a0l0ZW0qPih0b3VjaE1vY2tQb2ludENvbXBvbmVudC5jcmVhdGUoKSk7CisgICAgICAgICAgICBt
b2NrVG91Y2hQb2ludEl0ZW0tPnNldFBhcmVudEl0ZW0ocm9vdE9iamVjdCgpKTsKKyAgICAgICAg
ICAgIG1vY2tUb3VjaFBvaW50SXRlbS0+c2V0UHJvcGVydHkoImlkIiwgUVZhcmlhbnQobW9ja1Rv
dWNoUG9pbnRJZGVudGlmaWVyKSk7CisgICAgICAgIH0KKworICAgICAgICBtb2NrVG91Y2hQb2lu
dEl0ZW0tPnNldFgocG9zaXRpb24ueCgpKTsKKyAgICAgICAgbW9ja1RvdWNoUG9pbnRJdGVtLT5z
ZXRZKHBvc2l0aW9uLnkoKSk7CisgICAgICAgIG1vY2tUb3VjaFBvaW50SXRlbS0+c2V0UHJvcGVy
dHkoInByZXNzZWQiLCBRVmFyaWFudChwcmVzc2VkKSk7CisgICAgfQorfQorCiB2b2lkIEJyb3dz
ZXJXaW5kb3c6OnNjcmVlbnNob3QoKQogewogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dz
ZXIvcXQvQnJvd3NlcldpbmRvdy5oIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRv
dy5oCmluZGV4IDc2OWU5N2Q5ZDBiMjM4YWQxZTVlM2U1YTY5ZmU5M2EzOWM5OWI1NmIuLjY2ZGNh
MGIzOWM3ZTNmNmVlYWM1MmYyYmYwM2RhZjZjNDY0ODQ2YjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL01p
bmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9C
cm93c2VyV2luZG93LmgKQEAgLTQ0LDYgKzQ0LDggQEAgcHVibGljOgogICAgIHZvaWQgbG9hZChj
b25zdCBRU3RyaW5nJiB1cmwpOwogICAgIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcoKSBjb25zdDsK
IAorICAgIHZvaWQgdXBkYXRlVmlzdWFsTW9ja1RvdWNoUG9pbnRzKGNvbnN0IFFMaXN0PFFXaW5k
b3dTeXN0ZW1JbnRlcmZhY2U6OlRvdWNoUG9pbnQ+JiB0b3VjaFBvaW50cyk7CisKIHB1YmxpYyBz
bG90czoKICAgICBCcm93c2VyV2luZG93KiBuZXdXaW5kb3coY29uc3QgUVN0cmluZyYgdXJsID0g
ImFib3V0OmJsYW5rIik7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlC
cm93c2VyLnFyYyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYwppbmRleCBh
NTdhOTU0NGY0MTUzMzNkYjE0NWIzZWIzZGVmODM0NDVhYTAzMWE4Li43ZjA1NTI2N2Q2MDM0M2U1
YTVkYmIwZjkxYWViMTg5YTJiOTU2ZDgyIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9x
dC9NaW5pQnJvd3Nlci5xcmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIu
cXJjCkBAIC00LDcgKzQsOSBAQAogICAgICAgICA8ZmlsZT5pY29ucy9wcmV2aW91cy5wbmc8L2Zp
bGU+CiAgICAgICAgIDxmaWxlPmljb25zL3JlZnJlc2gucG5nPC9maWxlPgogICAgICAgICA8Zmls
ZT5pY29ucy9zdG9wLnBuZzwvZmlsZT4KKyAgICAgICAgPGZpbGU+aWNvbnMvdG91Y2hwb2ludC5w
bmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9Ccm93c2VyV2luZG93LnFtbDwvZmlsZT4KKyAg
ICAgICAgPGZpbGU+cW1sL01vY2tUb3VjaFBvaW50LnFtbDwvZmlsZT4KICAgICAgICAgPGZpbGU+
dXNlcmFnZW50bGlzdC50eHQ8L2ZpbGU+CiAgICAgPC9xcmVzb3VyY2U+CiA8L1JDQz4KZGlmZiAt
LWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRpb24uY3BwIGIv
VG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5jcHAKaW5kZXggYzc0
ZDBlMjk2YTcwZjg1Y2M5OGJhOWYzN2YyODY4YTZjZGE4MWM1Zi4uM2Q4NGMxMWM3ZDlhMDAzZGI2
ZmFiNTAyZWMyZjJiODk1ODE2NWZmNCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvcXQv
TWluaUJyb3dzZXJBcHBsaWNhdGlvbi5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWlu
aUJyb3dzZXJBcHBsaWNhdGlvbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIk1p
bmlCcm93c2VyQXBwbGljYXRpb24uaCIKIAorI2luY2x1ZGUgIkJyb3dzZXJXaW5kb3cuaCIKICNp
bmNsdWRlICJ1dGlscy5oIgogI2luY2x1ZGUgPFFSZWdFeHA+CiAjaW5jbHVkZSA8UUV2ZW50PgpA
QCAtMTU4LDYgKzE1OSwxMSBAQCB2b2lkIE1pbmlCcm93c2VyQXBwbGljYXRpb246OnNlbmRUb3Vj
aEV2ZW50KFFXaW5kb3cqIHRhcmdldFdpbmRvdykKICAgICBtX3BlbmRpbmdGYWtlVG91Y2hFdmVu
dENvdW50Kys7CiAgICAgUVdpbmRvd1N5c3RlbUludGVyZmFjZTo6aGFuZGxlVG91Y2hFdmVudCh0
YXJnZXRXaW5kb3csIFFFdmVudDo6Tm9uZSwgUVRvdWNoRXZlbnQ6OlRvdWNoU2NyZWVuLCBtX3Rv
dWNoUG9pbnRzLnZhbHVlcygpKTsKIAorICAgIEJyb3dzZXJXaW5kb3cqIGJyb3dzZXJXaW5kb3cg
PSBkeW5hbWljX2Nhc3Q8QnJvd3NlcldpbmRvdyo+KHRhcmdldFdpbmRvdyk7CisKKyAgICBpZiAo
YnJvd3NlcldpbmRvdykKKyAgICAgICAgYnJvd3NlcldpbmRvdy0+dXBkYXRlVmlzdWFsTW9ja1Rv
dWNoUG9pbnRzKG1fdG91Y2hQb2ludHMudmFsdWVzKCkpOworCiAgICAgLy8gR2V0IHJpZCBvZiB0
b3VjaC1wb2ludHMgdGhhdCBhcmUgbm8gbG9uZ2VyIHZhbGlkCiAgICAgZm9yZWFjaCAoY29uc3Qg
UVdpbmRvd1N5c3RlbUludGVyZmFjZTo6VG91Y2hQb2ludCYgdG91Y2hQb2ludCwgbV90b3VjaFBv
aW50cykgewogICAgIGlmICh0b3VjaFBvaW50LnN0YXRlID09ICBRdDo6VG91Y2hQb2ludFJlbGVh
c2VkKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvdG91Y2hwb2ludC5w
bmcgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy90b3VjaHBvaW50LnBuZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43NjQ5ZWU5OTFhOGM3YzcyNGYxNWFmMjMyZTg1OGRkOTJjMWI2NzIxCkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAxMzMxCnpjbVYtMzE8ZC0xUCk8aDszS3xMazAwMGUxTkpMVHEwMDFsaTAwMWZv
MV5AczYkbGJYZDAwMDAxYjVjaF8wSXRwKQp6PT5QeCMyNFlKYEw7KEspe3thNz55e0Q0XjAwMFNh
TkxoMEwwMUZjVTAxRmNWMEdnWl8wMDAwN2JWKkdgMmlwdD4KejNeaENVRG5TQU8wMGdzMUxfdChv
IV99RXhPan42YiROJVNUUGRXWFRtWDwtRzRKJTtfR2lWc0hNVE9+TDY2NE1BCnohakhyeSs+bSZv
KEhvWkZsJHFjcCN0VFE+LUVLQFVhcSh1MGlPQ29ZUW4rd3tRKWg0KlYje3wyI1RIN3hkJW5CPwp6
aUZ7PGRKIzhXVFUhTD12PWxzcmx7X3AzKkFQYVNTcm1iO2FZNjVUeXp8I1BaMDxaJXgwVDJQaTAw
YVF8MDg5Y0gKekReUWNXcFQxTlBSUWdVdiR3UXJrLVpsVmwxOShOQGQren1GdUJYfWtPPHNYSjJm
WkJ0Sl48aUFabk94WHgyTV90CnpXbG4pVkFES05MTmVldnlqdzMoJU9VSUpWUHRIYF8ke1A2NnAh
Y2VAKFcoY2Ita3hVbmhsK3FiKTJwVzItcTd+fAp6VDV6IUhaKilITyM7YUE8Xn1UTUF5KUk3N2hw
bzUwcEBCbnkxJVFeM3h3VjFlPjUhRWdfPWw8Qk8jdDtjSmt7VXYKenVIS3txeyRnfmRQbXR2WHJF
ZH0/OEc8Tio3YlM/SWxuciE0d2BhUVZ1Xnp0bEYhMGAoS2t7YFpTdFZKPHFldlJ3CnpeKDFCIUpX
fHMzWm94N1ZEenEkfENKeUJXNE9BK1U1cH1ncV94Xj12TzBNayFVSk5KOHUxemRYMG5wTVdkbFg0
dwp6RUQqeSNmPW1AfUNQMk1pNTB7ekNnZ01ieFEoU2UtWmRsbDZpSl9VKkU/UVZnbEpWUGUzX3Rw
IylVV14kbVZrayEKejckKkZZT3pmZl5uaEFJOV42PGx6Y3N0RzB2TWw0THI2XykwT0RaPCFnR2Re
bCNkVGB2eCVGaGJIeCNlaDBgQzdpCnpMX0liQjVzYyV7TklMNmJ6P1RzNSVXe2w1e0AwfmdgeGZ4
O09WUEp6OXR1UUx4RUQ8M1owdmR2Tm4+X0JNSE0/NAp6KmtCfDg1SzhpOEcqJWN9aVJYTzQ5YmJ0
O2w9a2xqRE0yY21UVDMqTSQpKDgwUklNOHF1JC0yMTRqZE1NZyh6SnMKeiYjYX0ra2Qqe35rfHZu
OypEMjkjbUBmQjlvSWdndzM5KlZNKmROYXl1ckRjNCNmOVIwRXMyUnpEVX5JN0lkOHklCnoxUyVp
TGMlaFVDZkBxfGZDPHd6S3BPV1NNZnE3OWo1PEUjXzchWCNhaXRIQ2gybT9VTUZBR0lYZnRyYUI5
WlVRKQp6MzV6dFV5dW9UIUdTdzxoJEV5NktrVyl8NUJyVnIjQCZAZUcoJmFBRnZReHlTWFliUGx5
QTFnUWJ7aCsqO19RMCUKektCPX1GS0JNfE5vZClGdngkbVBrNFJEMEFGPGZUT0xqYl8wKkRPJE53
MkJSb05wOHBFUSNSOVByezIlTVdXaXpQCnpNaE81c1l0IUdMTm5XVUJhbmBFTzhTSFp3NG8zX3VS
Y3d2amFBUnc9Y0RCO2VMSG8xYTdBPE5tVC1MQkJqMmhHdwp6PjhSdUROeyFkST9LbzttSFpJVnAp
fjNoSEhrfjRTTlYxSTZSdH4zMjN9N2Z7JnF8Qi15MkgjKD9IYUdVaEowfmUKemxCcVlMdDRSVWwl
TXJ7Yz1fVkJpJWI+MVU1MVlPcWxXJERDZCRPZDtSajZBNDBRTFh4Sm50fUhednRoT1p9U1R8CnpI
Q2tNUzIqITkhTjBWNGcybmdeWm45WiVlJFZlenc2RjR7eG9GKSMlbHohZHpIJXA4Y3xBWENnTSpR
bURkfHgxJQp6ZWtVNyROfURTJG4lQDY3ODh6eH1LV2NQYyptbnhRSm5TMXVpXkAtYmF2PWhZVVRK
bldRa3x7NmRCV2FHZmJtMSoKejlkQTh1WW8kNnsxQXVDfkFeM1c9P0htRjY0KnxDU3dNeHNteC13
SHgoVz50OXU8dlNHbG4+LVVUZ0A9Ti1Belo4Cno5Y2JfOWkwMT4qYlk0cGE3TE0pZ2MrcmBDJHph
RGctTjgkOFBLej54TEdQOE85MmFHRj5lOFVNTz9uY19VVkIpQApwOGk9TWREbEEmRz9BP3dSb1Fl
eUp7e3JBZiNnemhjWHMtWU8wMDJvdlBESExrVjFuYj9XVT5HTgoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL01vY2tUb3VjaFBvaW50
LnFtbCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9Nb2NrVG91Y2hQb2ludC5xbWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjgwZDA0NWVmZmVkYzlkZmNhMTRlYTk3NmY0NGIxMTI0MjExMzk1NwotLS0gL2Rldi9u
dWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9Nb2NrVG91Y2hQb2ludC5xbWwKQEAg
LTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09N
UFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK2ltcG9ydCBRdFF1aWNrIDIuMAorCitJdGVtIHsKKyAgICBwcm9wZXJ0eSBib29s
IHByZXNzZWQ6IGZhbHNlCisKKyAgICBJbWFnZSB7CisgICAgICAgIHNvdXJjZTogIi4uL2ljb25z
L3RvdWNocG9pbnQucG5nIgorICAgICAgICB4OiAtKHdpZHRoIC8gMikKKyAgICAgICAgeTogLSho
ZWlnaHQgLyAyKQorICAgICAgICBvcGFjaXR5OiBwYXJlbnQucHJlc3NlZCA/IDAuOCA6IDAuMAor
CisgICAgICAgIEJlaGF2aW9yIG9uIG9wYWNpdHkgeworICAgICAgICAgICAgTnVtYmVyQW5pbWF0
aW9uIHsgZHVyYXRpb246IDIwMCB9CisgICAgICAgIH0KKyAgICB9Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118393</attachid>
            <date>2011-12-08 08:13:15 -0800</date>
            <delta_ts>2011-12-08 09:17:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74074-20111208171951.patch</filename>
            <type>text/plain</type>
            <size>11234</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWE0MGEyN2JkZmQ5YmIyOTEwZWMzNTgxZGQ5M2JkZDRm
MDllMmEyYy4uNThhN2I1MGJjNTRjM2U2ZWJjNGYwNTgwNmFiMWQ3ZDFhYTI0ZTJhYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDExLTEyLTA4ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9r
aWEuY29tPgorCisgICAgICAgIFtRdF0gVmlzdWFsaXplIG1vY2sgcG9pbnRzIGluIHRoZSBRdCBN
aW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzQwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3Nlcldp
bmRvdzo6dXBkYXRlVmlzdWFsTW9ja1RvdWNoUG9pbnRzKToKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyV2luZG93Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvTWluaUJyb3dz
ZXIucXJjOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRpb24u
Y3BwOgorICAgICAgICAoTWluaUJyb3dzZXJBcHBsaWNhdGlvbjo6bm90aWZ5KToKKyAgICAgICAg
KE1pbmlCcm93c2VyQXBwbGljYXRpb246OnNlbmRUb3VjaEV2ZW50KToKKyAgICAgICAgKiBNaW5p
QnJvd3Nlci9xdC9NaW5pQnJvd3NlckFwcGxpY2F0aW9uLmg6CisgICAgICAgICogTWluaUJyb3dz
ZXIvcXQvaWNvbnMvdG91Y2hwb2ludC5wbmc6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2Vy
L3F0L3FtbC9Nb2NrVG91Y2hQb2ludC5xbWw6IEFkZGVkLgorCiAyMDExLTEyLTA2ICBEaXJrIFBy
YW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIGJpbmFyaWVzIGluIHdlYmtp
dC5neXAgc2hvdWxkIGJlIHNwbGl0IGludG8gYSBuZXcgZmlsZSB0byBicmVhayBjaXJjdWxhciBk
ZXBlbmRlbmNpZXMgb24gd2Via2l0X3N1cHBvcnQKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3Nlcldp
bmRvdy5jcHAKaW5kZXggY2FkNTViMWZmM2FiODE1OWI5NmU2ZGQ1ZGZlMzUyMjk3Yjk3ZjVkNy4u
ZTg3MmMzODYyOWUxZGE1MjkyNjQwNmZkM2ZiZjNhZjc0NDI1M2VkOCAxMDA2NDQKLS0tIGEvVG9v
bHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dz
ZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKIAogI2luY2x1ZGUgPFFE
ZWNsYXJhdGl2ZUVuZ2luZT4KICNpbmNsdWRlIDxRRGlyPgorI2luY2x1ZGUgPFFQb2ludEY+CiAK
IEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93T3B0aW9ucyogb3B0aW9ucykKIHsK
QEAgLTgyLDYgKzgzLDMxIEBAIEJyb3dzZXJXaW5kb3cqIEJyb3dzZXJXaW5kb3c6Om5ld1dpbmRv
dyhjb25zdCBRU3RyaW5nJiB1cmwpCiAgICAgcmV0dXJuIHdpbmRvdzsKIH0KIAordm9pZCBCcm93
c2VyV2luZG93Ojp1cGRhdGVWaXN1YWxNb2NrVG91Y2hQb2ludHMoY29uc3QgUUxpc3Q8UVdpbmRv
d1N5c3RlbUludGVyZmFjZTo6VG91Y2hQb2ludD4mIHRvdWNoUG9pbnRzKQoreworICAgIGZvcmVh
Y2ggKGNvbnN0IFFXaW5kb3dTeXN0ZW1JbnRlcmZhY2U6OlRvdWNoUG9pbnQmIHRvdWNoUG9pbnQs
IHRvdWNoUG9pbnRzKSB7CisgICAgICAgIGJvb2wgcHJlc3NlZCA9IHRvdWNoUG9pbnQuc3RhdGUg
IT0gUXQ6OlRvdWNoUG9pbnRSZWxlYXNlZDsKKyAgICAgICAgUVBvaW50RiBwb3NpdGlvbiA9IHRv
dWNoUG9pbnQuYXJlYS50b3BMZWZ0KCk7CisgICAgICAgIHBvc2l0aW9uLnJ4KCkgLT0gZ2VvbWV0
cnkoKS54KCk7CisgICAgICAgIHBvc2l0aW9uLnJ5KCkgLT0gZ2VvbWV0cnkoKS55KCk7CisKKyAg
ICAgICAgUVN0cmluZyBtb2NrVG91Y2hQb2ludElkZW50aWZpZXIgPSBRU3RyaW5nKCJtb2NrVG91
Y2hQb2ludCUxIikuYXJnKHRvdWNoUG9pbnQuaWQpOworICAgICAgICBRUXVpY2tJdGVtKiBtb2Nr
VG91Y2hQb2ludEl0ZW0gPSByb290T2JqZWN0KCktPmZpbmRDaGlsZDxRUXVpY2tJdGVtKj4obW9j
a1RvdWNoUG9pbnRJZGVudGlmaWVyLCBRdDo6RmluZERpcmVjdENoaWxkcmVuT25seSk7CisKKyAg
ICAgICAgaWYgKCFtb2NrVG91Y2hQb2ludEl0ZW0pIHsKKyAgICAgICAgICAgIFFEZWNsYXJhdGl2
ZUNvbXBvbmVudCB0b3VjaE1vY2tQb2ludENvbXBvbmVudChlbmdpbmUoKSwgUVVybCgicXJjOi9x
bWwvTW9ja1RvdWNoUG9pbnQucW1sIikpOworICAgICAgICAgICAgbW9ja1RvdWNoUG9pbnRJdGVt
ID0gcW9iamVjdF9jYXN0PFFRdWlja0l0ZW0qPih0b3VjaE1vY2tQb2ludENvbXBvbmVudC5jcmVh
dGUoKSk7CisgICAgICAgICAgICBtb2NrVG91Y2hQb2ludEl0ZW0tPnNldE9iamVjdE5hbWUobW9j
a1RvdWNoUG9pbnRJZGVudGlmaWVyKTsKKyAgICAgICAgICAgIG1vY2tUb3VjaFBvaW50SXRlbS0+
c2V0UGFyZW50KHJvb3RPYmplY3QoKSk7CisgICAgICAgICAgICBtb2NrVG91Y2hQb2ludEl0ZW0t
PnNldFBhcmVudEl0ZW0ocm9vdE9iamVjdCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIG1vY2tU
b3VjaFBvaW50SXRlbS0+c2V0WChwb3NpdGlvbi54KCkpOworICAgICAgICBtb2NrVG91Y2hQb2lu
dEl0ZW0tPnNldFkocG9zaXRpb24ueSgpKTsKKyAgICAgICAgbW9ja1RvdWNoUG9pbnRJdGVtLT5z
ZXRQcm9wZXJ0eSgicHJlc3NlZCIsIFFWYXJpYW50KHByZXNzZWQpKTsKKyAgICB9Cit9CisKIHZv
aWQgQnJvd3NlcldpbmRvdzo6c2NyZWVuc2hvdCgpCiB7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9N
aW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmggYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9Ccm93
c2VyV2luZG93LmgKaW5kZXggNzY5ZTk3ZDlkMGIyMzhhZDFlNWUzZTVhNjlmZTkzYTM5Yzk5YjU2
Yi4uNjZkY2EwYjM5YzdlM2Y2ZWVhYzUyZjJiZjAzZGFmNmM0NjQ4NDZiOCAxMDA2NDQKLS0tIGEv
VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5oCisrKyBiL1Rvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaApAQCAtNDQsNiArNDQsOCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBsb2FkKGNvbnN0IFFTdHJpbmcmIHVybCk7CiAgICAgUVF1aWNrV2ViVmlldyogd2ViVmlldygp
IGNvbnN0OwogCisgICAgdm9pZCB1cGRhdGVWaXN1YWxNb2NrVG91Y2hQb2ludHMoY29uc3QgUUxp
c3Q8UVdpbmRvd1N5c3RlbUludGVyZmFjZTo6VG91Y2hQb2ludD4mIHRvdWNoUG9pbnRzKTsKKwog
cHVibGljIHNsb3RzOgogICAgIEJyb3dzZXJXaW5kb3cqIG5ld1dpbmRvdyhjb25zdCBRU3RyaW5n
JiB1cmwgPSAiYWJvdXQ6YmxhbmsiKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
cXQvTWluaUJyb3dzZXIucXJjIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJj
CmluZGV4IGE1N2E5NTQ0ZjQxNTMzM2RiMTQ1YjNlYjNkZWY4MzQ0NWFhMDMxYTguLjdmMDU1MjY3
ZDYwMzQzZTVhNWRiYjBmOTFhZWIxODlhMmI5NTZkODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlC
cm93c2VyL3F0L01pbmlCcm93c2VyLnFyYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5p
QnJvd3Nlci5xcmMKQEAgLTQsNyArNCw5IEBACiAgICAgICAgIDxmaWxlPmljb25zL3ByZXZpb3Vz
LnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+aWNvbnMvcmVmcmVzaC5wbmc8L2ZpbGU+CiAgICAg
ICAgIDxmaWxlPmljb25zL3N0b3AucG5nPC9maWxlPgorICAgICAgICA8ZmlsZT5pY29ucy90b3Vj
aHBvaW50LnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0Jyb3dzZXJXaW5kb3cucW1sPC9m
aWxlPgorICAgICAgICA8ZmlsZT5xbWwvTW9ja1RvdWNoUG9pbnQucW1sPC9maWxlPgogICAgICAg
ICA8ZmlsZT51c2VyYWdlbnRsaXN0LnR4dDwvZmlsZT4KICAgICA8L3FyZXNvdXJjZT4KIDwvUkND
PgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXJBcHBsaWNhdGlv
bi5jcHAgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3NlckFwcGxpY2F0aW9uLmNwcApp
bmRleCBjNzRkMGUyOTZhNzBmODVjYzk4YmE5ZjM3ZjI4NjhhNmNkYTgxYzVmLi5iMDE5YWNiMjRm
NDA1NTBjMGJkODQ4Zjc0MWFmZWIzODFiMjlhYjMyIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJv
d3Nlci9xdC9NaW5pQnJvd3NlckFwcGxpY2F0aW9uLmNwcAorKysgYi9Ub29scy9NaW5pQnJvd3Nl
ci9xdC9NaW5pQnJvd3NlckFwcGxpY2F0aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5j
bHVkZSAiTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5oIgogCisjaW5jbHVkZSAiQnJvd3NlcldpbmRv
dy5oIgogI2luY2x1ZGUgInV0aWxzLmgiCiAjaW5jbHVkZSA8UVJlZ0V4cD4KICNpbmNsdWRlIDxR
RXZlbnQ+CkBAIC05MiwxNiArOTMsMTcgQEAgYm9vbCBNaW5pQnJvd3NlckFwcGxpY2F0aW9uOjpu
b3RpZnkoUU9iamVjdCogdGFyZ2V0LCBRRXZlbnQqIGV2ZW50KQogICAgICAgICByZXR1cm4gUUFw
cGxpY2F0aW9uOjpub3RpZnkodGFyZ2V0LCBldmVudCk7CiAgICAgfQogCi0gICAgUVdpbmRvdyog
dGFyZ2V0V2luZG93ID0gcW9iamVjdF9jYXN0PFFXaW5kb3cqPih0YXJnZXQpOworICAgIEJyb3dz
ZXJXaW5kb3cqIGJyb3dzZXJXaW5kb3cgPSBxb2JqZWN0X2Nhc3Q8QnJvd3NlcldpbmRvdyo+KHRh
cmdldCk7CisgICAgUV9BU1NFUlQoYnJvd3NlcldpbmRvdyk7CiAgICAgaWYgKGV2ZW50LT50eXBl
KCkgPT0gUUV2ZW50OjpLZXlSZWxlYXNlICYmIHN0YXRpY19jYXN0PFFLZXlFdmVudCo+KGV2ZW50
KS0+a2V5KCkgPT0gUXQ6OktleV9Db250cm9sKSB7CiAgICAgICAgIGZvcmVhY2ggKGludCBpZCwg
bV9oZWxkVG91Y2hQb2ludHMpCiAgICAgICAgICAgICBpZiAobV90b3VjaFBvaW50cy5jb250YWlu
cyhpZCkpCiAgICAgICAgICAgICAgICAgbV90b3VjaFBvaW50c1tpZF0uc3RhdGUgPSBRdDo6VG91
Y2hQb2ludFJlbGVhc2VkOwogICAgICAgICBtX2hlbGRUb3VjaFBvaW50cy5jbGVhcigpOwotICAg
ICAgICBzZW5kVG91Y2hFdmVudCh0YXJnZXRXaW5kb3cpOworICAgICAgICBzZW5kVG91Y2hFdmVu
dChicm93c2VyV2luZG93KTsKICAgICB9CiAKLSAgICBpZiAodGFyZ2V0V2luZG93ICYmIGlzTW91
c2VFdmVudChldmVudCkpIHsKKyAgICBpZiAoYnJvd3NlcldpbmRvdyAmJiBpc01vdXNlRXZlbnQo
ZXZlbnQpKSB7CiAgICAgICAgIGNvbnN0IFFNb3VzZUV2ZW50KiBjb25zdCBtb3VzZUV2ZW50ID0g
c3RhdGljX2Nhc3Q8UU1vdXNlRXZlbnQqPihldmVudCk7CiAKICAgICAgICAgUVdpbmRvd1N5c3Rl
bUludGVyZmFjZTo6VG91Y2hQb2ludCB0b3VjaFBvaW50OwpAQCAtMTQ3LDE2ICsxNDksMTggQEAg
Ym9vbCBNaW5pQnJvd3NlckFwcGxpY2F0aW9uOjpub3RpZnkoUU9iamVjdCogdGFyZ2V0LCBRRXZl
bnQqIGV2ZW50KQogICAgICAgICAgICAgICAgIGl0LnZhbHVlKCkuc3RhdGUgPSBRdDo6VG91Y2hQ
b2ludFN0YXRpb25hcnk7CiAgICAgICAgIH0KIAotICAgICAgICBzZW5kVG91Y2hFdmVudCh0YXJn
ZXRXaW5kb3cpOworICAgICAgICBzZW5kVG91Y2hFdmVudChicm93c2VyV2luZG93KTsKICAgICB9
CiAKICAgICByZXR1cm4gUUFwcGxpY2F0aW9uOjpub3RpZnkodGFyZ2V0LCBldmVudCk7CiB9CiAK
LXZvaWQgTWluaUJyb3dzZXJBcHBsaWNhdGlvbjo6c2VuZFRvdWNoRXZlbnQoUVdpbmRvdyogdGFy
Z2V0V2luZG93KQordm9pZCBNaW5pQnJvd3NlckFwcGxpY2F0aW9uOjpzZW5kVG91Y2hFdmVudChC
cm93c2VyV2luZG93KiBicm93c2VyV2luZG93KQogewogICAgIG1fcGVuZGluZ0Zha2VUb3VjaEV2
ZW50Q291bnQrKzsKLSAgICBRV2luZG93U3lzdGVtSW50ZXJmYWNlOjpoYW5kbGVUb3VjaEV2ZW50
KHRhcmdldFdpbmRvdywgUUV2ZW50OjpOb25lLCBRVG91Y2hFdmVudDo6VG91Y2hTY3JlZW4sIG1f
dG91Y2hQb2ludHMudmFsdWVzKCkpOworICAgIFFXaW5kb3dTeXN0ZW1JbnRlcmZhY2U6OmhhbmRs
ZVRvdWNoRXZlbnQoYnJvd3NlcldpbmRvdywgUUV2ZW50OjpOb25lLCBRVG91Y2hFdmVudDo6VG91
Y2hTY3JlZW4sIG1fdG91Y2hQb2ludHMudmFsdWVzKCkpOworCisgICAgYnJvd3NlcldpbmRvdy0+
dXBkYXRlVmlzdWFsTW9ja1RvdWNoUG9pbnRzKG1fdG91Y2hQb2ludHMudmFsdWVzKCkpOwogCiAg
ICAgLy8gR2V0IHJpZCBvZiB0b3VjaC1wb2ludHMgdGhhdCBhcmUgbm8gbG9uZ2VyIHZhbGlkCiAg
ICAgZm9yZWFjaCAoY29uc3QgUVdpbmRvd1N5c3RlbUludGVyZmFjZTo6VG91Y2hQb2ludCYgdG91
Y2hQb2ludCwgbV90b3VjaFBvaW50cykgewpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
cXQvTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5oIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJy
b3dzZXJBcHBsaWNhdGlvbi5oCmluZGV4IGNmZmJmNDg1MDUzODI4OTE1YTYzMTE3OWJiOTlhODM2
YzA1ZWE1ODguLjcxOWM3OWRlNjQ2MjIxMmEzOGM5ZmE0MWM4MTdmZDk0YTVmN2NmYzEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRpb24uaAorKysg
Yi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3NlckFwcGxpY2F0aW9uLmgKQEAgLTM4LDYg
KzM4LDggQEAKICNpbmNsdWRlIDxRVXJsPgogI2luY2x1ZGUgInF3aW5kb3dzeXN0ZW1pbnRlcmZh
Y2VfcXBhLmgiCiAKK2NsYXNzIEJyb3dzZXJXaW5kb3c7CisKIGNsYXNzIFdpbmRvd09wdGlvbnMg
OiBwdWJsaWMgUU9iamVjdCB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKGJvb2wgcHJp
bnRMb2FkZWRVcmxzIFJFQUQgcHJpbnRMb2FkZWRVcmxzKQpAQCAtODgsNyArOTAsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIG5vdGlmeShRT2JqZWN0KiwgUUV2ZW50Kik7CiAKIHByaXZh
dGU6Ci0gICAgdm9pZCBzZW5kVG91Y2hFdmVudChRV2luZG93KiB0YXJnZXRXaW5kb3cpOworICAg
IHZvaWQgc2VuZFRvdWNoRXZlbnQoQnJvd3NlcldpbmRvdyopOwogICAgIHZvaWQgaGFuZGxlVXNl
ck9wdGlvbnMoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0
L2ljb25zL3RvdWNocG9pbnQucG5nIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvdG91Y2hw
b2ludC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY0OWVlOTkxYThjN2M3MjRmMTVhZjIzMmU4NThkZDkyYzFi
NjcyMQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTMzMQp6Y21WLTMxPGQtMVApPGg7M0t8TGsw
MDBlMU5KTFRxMDAxbGkwMDFmbzFeQHM2JGxiWGQwMDAwMWI1Y2hfMEl0cCkKej0+UHgjMjRZSmBM
OyhLKXt7YTc+eXtENF4wMDBTYU5MaDBMMDFGY1UwMUZjVjBHZ1pfMDAwMDdiVipHYDJpcHQ+Cnoz
XmhDVURuU0FPMDBnczFMX3QobyFffUV4T2p+NmIkTiVTVFBkV1hUbVg8LUc0SiU7X0dpVnNITVRP
fkw2NjRNQQp6IWpIcnkrPm0mbyhIb1pGbCRxY3AjdFRRPi1FS0BVYXEodTBpT0NvWVFuK3d7USlo
NCpWI3t8MiNUSDd4ZCVuQj8KemlGezxkSiM4V1RVIUw9dj1sc3Jse19wMypBUGFTU3JtYjthWTY1
VHl6fCNQWjA8WiV4MFQyUGkwMGFRfDA4OWNICnpEXlFjV3BUMU5QUlFnVXYkd1Fyay1abFZsMTko
TkBkK3p9RnVCWH1rTzxzWEoyZlpCdEpePGlBWm5PeFh4Mk1fdAp6V2xuKVZBREtOTE5lZXZ5ancz
KCVPVUlKVlB0SGBfJHtQNjZwIWNlQChXKGNiLWt4VW5obCtxYikycFcyLXE3fnwKelQ1eiFIWiop
SE8jO2FBPF59VE1BeSlJNzdocG81MHBAQm55MSVRXjN4d1YxZT41IUVnXz1sPEJPI3Q7Y0pre1V2
Cnp1SEt7cXskZ35kUG10dlhyRWR9PzhHPE4qN2JTP0lsbnIhNHdgYVFWdV56dGxGITBgKEtre2Ba
U3RWSjxxZXZSdwp6XigxQiFKV3xzM1pveDdWRHpxJHxDSnlCVzRPQStVNXB9Z3FfeF49dk8wTWsh
VUpOSjh1MXpkWDBucE1XZGxYNHcKekVEKnkjZj1tQH1DUDJNaTUwe3pDZ2dNYnhRKFNlLVpkbGw2
aUpfVSpFP1FWZ2xKVlBlM190cCMpVVdeJG1Wa2shCno3JCpGWU96ZmZebmhBSTleNjxsemNzdEcw
dk1sNExyNl8pME9EWjwhZ0dkXmwjZFRgdnglRmhiSHgjZWgwYEM3aQp6TF9JYkI1c2Mle05JTDZi
ej9UczUlV3tsNXtAMH5nYHhmeDtPVlBKejl0dVFMeEVEPDNaMHZkdk5uPl9CTUhNPzQKeiprQnw4
NUs4aThHKiVjfWlSWE80OWJidDtsPWtsakRNMmNtVFQzKk0kKSg4MFJJTThxdSQtMjE0amRNTWco
ekpzCnomI2F9K2tkKnt+a3x2bjsqRDI5I21AZkI5b0lnZ3czOSpWTSpkTmF5dXJEYzQjZjlSMEVz
MlJ6RFV+STdJZDh5JQp6MVMlaUxjJWhVQ2ZAcXxmQzx3ektwT1dTTWZxNzlqNTxFI183IVgjYWl0
SENoMm0/VU1GQUdJWGZ0cmFCOVpVUSkKejM1enRVeXVvVCFHU3c8aCRFeTZLa1cpfDVCclZyI0Am
QGVHKCZhQUZ2UXh5U1hZYlBseUExZ1Fie2grKjtfUTAlCnpLQj19RktCTXxOb2QpRnZ4JG1QazRS
RDBBRjxmVE9MamJfMCpETyROdzJCUm9OcDhwRVEjUjlQcnsyJU1XV2l6UAp6TWhPNXNZdCFHTE5u
V1VCYW5gRU84U0hadzRvM191UmN3dmphQVJ3PWNEQjtlTEhvMWE3QTxObVQtTEJCajJoR3cKej44
UnVETnshZEk/S287bUhaSVZwKX4zaEhIa340U05WMUk2UnR+MzIzfTdmeyZxfEIteTJIIyg/SGFH
VWhKMH5lCnpsQnFZTHQ0UlVsJU1ye2M9X1ZCaSViPjFVNTFZT3FsVyREQ2QkT2Q7Umo2QTQwUUxY
eEpudH1IXnZ0aE9afVNUfAp6SENrTVMyKiE5IU4wVjRnMm5nXlpuOVolZSRWZXp3NkY0e3hvRikj
JWx6IWR6SCVwOGN8QVhDZ00qUW1EZHx4MSUKemVrVTckTn1EUyRuJUA2Nzg4enh9S1djUGMqbW54
UUpuUzF1aV5ALWJhdj1oWVVUSm5XUWt8ezZkQldhR2ZibTEqCno5ZEE4dVlvJDZ7MUF1Q35BXjNX
PT9IbUY2NCp8Q1N3TXhzbXgtd0h4KFc+dDl1PHZTR2xuPi1VVGdAPU4tQXpaOAp6OWNiXzlpMDE+
KmJZNHBhN0xNKWdjK3JgQyR6YURnLU44JDhQS3o+eExHUDhPOTJhR0Y+ZThVTU8/bmNfVVZCKUAK
cDhpPU1kRGxBJkc/QT93Um9RZXlKe3tyQWYjZ3poY1hzLVlPMDAyb3ZQREhMa1YxbmI/V1U+R04K
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0
L3FtbC9Nb2NrVG91Y2hQb2ludC5xbWwgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvTW9ja1Rv
dWNoUG9pbnQucW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MGQwNDVlZmZlZGM5ZGZjYTE0ZWE5NzZmNDRiMTEy
NDIxMTM5NTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvTW9j
a1RvdWNoUG9pbnQucW1sCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICog
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitpbXBvcnQgUXRRdWljayAyLjAKKworSXRlbSB7
CisgICAgcHJvcGVydHkgYm9vbCBwcmVzc2VkOiBmYWxzZQorCisgICAgSW1hZ2UgeworICAgICAg
ICBzb3VyY2U6ICIuLi9pY29ucy90b3VjaHBvaW50LnBuZyIKKyAgICAgICAgeDogLSh3aWR0aCAv
IDIpCisgICAgICAgIHk6IC0oaGVpZ2h0IC8gMikKKyAgICAgICAgb3BhY2l0eTogcGFyZW50LnBy
ZXNzZWQgPyAwLjggOiAwLjAKKworICAgICAgICBCZWhhdmlvciBvbiBvcGFjaXR5IHsKKyAgICAg
ICAgICAgIE51bWJlckFuaW1hdGlvbiB7IGR1cmF0aW9uOiAyMDAgfQorICAgICAgICB9CisgICAg
fQorfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118403</attachid>
            <date>2011-12-08 09:17:28 -0800</date>
            <delta_ts>2011-12-08 10:39:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74074-20111208182405.patch</filename>
            <type>text/plain</type>
            <size>11201</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWE0MGEyN2JkZmQ5YmIyOTEwZWMzNTgxZGQ5M2JkZDRm
MDllMmEyYy4uNThhN2I1MGJjNTRjM2U2ZWJjNGYwNTgwNmFiMWQ3ZDFhYTI0ZTJhYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDExLTEyLTA4ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9r
aWEuY29tPgorCisgICAgICAgIFtRdF0gVmlzdWFsaXplIG1vY2sgcG9pbnRzIGluIHRoZSBRdCBN
aW5pQnJvd3NlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzQwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwOgorICAgICAgICAoQnJvd3Nlcldp
bmRvdzo6dXBkYXRlVmlzdWFsTW9ja1RvdWNoUG9pbnRzKToKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9xdC9Ccm93c2VyV2luZG93Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvTWluaUJyb3dz
ZXIucXJjOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyQXBwbGljYXRpb24u
Y3BwOgorICAgICAgICAoTWluaUJyb3dzZXJBcHBsaWNhdGlvbjo6bm90aWZ5KToKKyAgICAgICAg
KE1pbmlCcm93c2VyQXBwbGljYXRpb246OnNlbmRUb3VjaEV2ZW50KToKKyAgICAgICAgKiBNaW5p
QnJvd3Nlci9xdC9NaW5pQnJvd3NlckFwcGxpY2F0aW9uLmg6CisgICAgICAgICogTWluaUJyb3dz
ZXIvcXQvaWNvbnMvdG91Y2hwb2ludC5wbmc6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2Vy
L3F0L3FtbC9Nb2NrVG91Y2hQb2ludC5xbWw6IEFkZGVkLgorCiAyMDExLTEyLTA2ICBEaXJrIFBy
YW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIGJpbmFyaWVzIGluIHdlYmtp
dC5neXAgc2hvdWxkIGJlIHNwbGl0IGludG8gYSBuZXcgZmlsZSB0byBicmVhayBjaXJjdWxhciBk
ZXBlbmRlbmNpZXMgb24gd2Via2l0X3N1cHBvcnQKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyL3F0L0Jyb3dzZXJXaW5kb3cuY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3Nlcldp
bmRvdy5jcHAKaW5kZXggY2FkNTViMWZmM2FiODE1OWI5NmU2ZGQ1ZGZlMzUyMjk3Yjk3ZjVkNy4u
MDEwMjcxYTNkODYwMGFjMTk0YzkyNGQ0NTdhMTk0ZDIwYmQ1OTk2OSAxMDA2NDQKLS0tIGEvVG9v
bHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dz
ZXIvcXQvQnJvd3NlcldpbmRvdy5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKIAogI2luY2x1ZGUgPFFE
ZWNsYXJhdGl2ZUVuZ2luZT4KICNpbmNsdWRlIDxRRGlyPgorI2luY2x1ZGUgPFFQb2ludEY+CiAK
IEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3coV2luZG93T3B0aW9ucyogb3B0aW9ucykKIHsK
QEAgLTgyLDYgKzgzLDMwIEBAIEJyb3dzZXJXaW5kb3cqIEJyb3dzZXJXaW5kb3c6Om5ld1dpbmRv
dyhjb25zdCBRU3RyaW5nJiB1cmwpCiAgICAgcmV0dXJuIHdpbmRvdzsKIH0KIAordm9pZCBCcm93
c2VyV2luZG93Ojp1cGRhdGVWaXN1YWxNb2NrVG91Y2hQb2ludHMoY29uc3QgUUxpc3Q8UVdpbmRv
d1N5c3RlbUludGVyZmFjZTo6VG91Y2hQb2ludD4mIHRvdWNoUG9pbnRzKQoreworICAgIGZvcmVh
Y2ggKGNvbnN0IFFXaW5kb3dTeXN0ZW1JbnRlcmZhY2U6OlRvdWNoUG9pbnQmIHRvdWNoUG9pbnQs
IHRvdWNoUG9pbnRzKSB7CisgICAgICAgIFFTdHJpbmcgbW9ja1RvdWNoUG9pbnRJZGVudGlmaWVy
ID0gUVN0cmluZygibW9ja1RvdWNoUG9pbnQlMSIpLmFyZyh0b3VjaFBvaW50LmlkKTsKKyAgICAg
ICAgUVF1aWNrSXRlbSogbW9ja1RvdWNoUG9pbnRJdGVtID0gcm9vdE9iamVjdCgpLT5maW5kQ2hp
bGQ8UVF1aWNrSXRlbSo+KG1vY2tUb3VjaFBvaW50SWRlbnRpZmllciwgUXQ6OkZpbmREaXJlY3RD
aGlsZHJlbk9ubHkpOworCisgICAgICAgIGlmICghbW9ja1RvdWNoUG9pbnRJdGVtKSB7CisgICAg
ICAgICAgICBRRGVjbGFyYXRpdmVDb21wb25lbnQgdG91Y2hNb2NrUG9pbnRDb21wb25lbnQoZW5n
aW5lKCksIFFVcmwoInFyYzovcW1sL01vY2tUb3VjaFBvaW50LnFtbCIpKTsKKyAgICAgICAgICAg
IG1vY2tUb3VjaFBvaW50SXRlbSA9IHFvYmplY3RfY2FzdDxRUXVpY2tJdGVtKj4odG91Y2hNb2Nr
UG9pbnRDb21wb25lbnQuY3JlYXRlKCkpOworICAgICAgICAgICAgbW9ja1RvdWNoUG9pbnRJdGVt
LT5zZXRPYmplY3ROYW1lKG1vY2tUb3VjaFBvaW50SWRlbnRpZmllcik7CisgICAgICAgICAgICBt
b2NrVG91Y2hQb2ludEl0ZW0tPnNldFBhcmVudChyb290T2JqZWN0KCkpOworICAgICAgICAgICAg
bW9ja1RvdWNoUG9pbnRJdGVtLT5zZXRQYXJlbnRJdGVtKHJvb3RPYmplY3QoKSk7CisgICAgICAg
IH0KKworICAgICAgICBRUG9pbnRGIHBvc2l0aW9uID0gdG91Y2hQb2ludC5hcmVhLnRvcExlZnQo
KTsKKyAgICAgICAgcG9zaXRpb24ucngoKSAtPSBnZW9tZXRyeSgpLngoKTsKKyAgICAgICAgcG9z
aXRpb24ucnkoKSAtPSBnZW9tZXRyeSgpLnkoKTsKKworICAgICAgICBtb2NrVG91Y2hQb2ludEl0
ZW0tPnNldFgocG9zaXRpb24ueCgpKTsKKyAgICAgICAgbW9ja1RvdWNoUG9pbnRJdGVtLT5zZXRZ
KHBvc2l0aW9uLnkoKSk7CisgICAgICAgIG1vY2tUb3VjaFBvaW50SXRlbS0+c2V0UHJvcGVydHko
InByZXNzZWQiLCBRVmFyaWFudCh0b3VjaFBvaW50LnN0YXRlICE9IFF0OjpUb3VjaFBvaW50UmVs
ZWFzZWQpKTsKKyAgICB9Cit9CisKIHZvaWQgQnJvd3NlcldpbmRvdzo6c2NyZWVuc2hvdCgpCiB7
CiB9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmggYi9U
b29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmgKaW5kZXggNzY5ZTk3ZDlkMGIyMzhh
ZDFlNWUzZTVhNjlmZTkzYTM5Yzk5YjU2Yi4uNjZkY2EwYjM5YzdlM2Y2ZWVhYzUyZjJiZjAzZGFm
NmM0NjQ4NDZiOCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlcldpbmRv
dy5oCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJXaW5kb3cuaApAQCAtNDQsNiAr
NDQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkKGNvbnN0IFFTdHJpbmcmIHVybCk7CiAgICAg
UVF1aWNrV2ViVmlldyogd2ViVmlldygpIGNvbnN0OwogCisgICAgdm9pZCB1cGRhdGVWaXN1YWxN
b2NrVG91Y2hQb2ludHMoY29uc3QgUUxpc3Q8UVdpbmRvd1N5c3RlbUludGVyZmFjZTo6VG91Y2hQ
b2ludD4mIHRvdWNoUG9pbnRzKTsKKwogcHVibGljIHNsb3RzOgogICAgIEJyb3dzZXJXaW5kb3cq
IG5ld1dpbmRvdyhjb25zdCBRU3RyaW5nJiB1cmwgPSAiYWJvdXQ6YmxhbmsiKTsKIApkaWZmIC0t
Z2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJjIGIvVG9vbHMvTWluaUJy
b3dzZXIvcXQvTWluaUJyb3dzZXIucXJjCmluZGV4IGE1N2E5NTQ0ZjQxNTMzM2RiMTQ1YjNlYjNk
ZWY4MzQ0NWFhMDMxYTguLjdmMDU1MjY3ZDYwMzQzZTVhNWRiYjBmOTFhZWIxODlhMmI5NTZkODIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYworKysgYi9U
b29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5xcmMKQEAgLTQsNyArNCw5IEBACiAgICAg
ICAgIDxmaWxlPmljb25zL3ByZXZpb3VzLnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+aWNvbnMv
cmVmcmVzaC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPmljb25zL3N0b3AucG5nPC9maWxlPgor
ICAgICAgICA8ZmlsZT5pY29ucy90b3VjaHBvaW50LnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+
cW1sL0Jyb3dzZXJXaW5kb3cucW1sPC9maWxlPgorICAgICAgICA8ZmlsZT5xbWwvTW9ja1RvdWNo
UG9pbnQucW1sPC9maWxlPgogICAgICAgICA8ZmlsZT51c2VyYWdlbnRsaXN0LnR4dDwvZmlsZT4K
ICAgICA8L3FyZXNvdXJjZT4KIDwvUkNDPgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
cXQvTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5jcHAgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5p
QnJvd3NlckFwcGxpY2F0aW9uLmNwcAppbmRleCBjNzRkMGUyOTZhNzBmODVjYzk4YmE5ZjM3ZjI4
NjhhNmNkYTgxYzVmLi5iMDE5YWNiMjRmNDA1NTBjMGJkODQ4Zjc0MWFmZWIzODFiMjlhYjMyIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3NlckFwcGxpY2F0aW9uLmNw
cAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3NlckFwcGxpY2F0aW9uLmNwcApA
QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5oIgog
CisjaW5jbHVkZSAiQnJvd3NlcldpbmRvdy5oIgogI2luY2x1ZGUgInV0aWxzLmgiCiAjaW5jbHVk
ZSA8UVJlZ0V4cD4KICNpbmNsdWRlIDxRRXZlbnQ+CkBAIC05MiwxNiArOTMsMTcgQEAgYm9vbCBN
aW5pQnJvd3NlckFwcGxpY2F0aW9uOjpub3RpZnkoUU9iamVjdCogdGFyZ2V0LCBRRXZlbnQqIGV2
ZW50KQogICAgICAgICByZXR1cm4gUUFwcGxpY2F0aW9uOjpub3RpZnkodGFyZ2V0LCBldmVudCk7
CiAgICAgfQogCi0gICAgUVdpbmRvdyogdGFyZ2V0V2luZG93ID0gcW9iamVjdF9jYXN0PFFXaW5k
b3cqPih0YXJnZXQpOworICAgIEJyb3dzZXJXaW5kb3cqIGJyb3dzZXJXaW5kb3cgPSBxb2JqZWN0
X2Nhc3Q8QnJvd3NlcldpbmRvdyo+KHRhcmdldCk7CisgICAgUV9BU1NFUlQoYnJvd3NlcldpbmRv
dyk7CiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpLZXlSZWxlYXNlICYmIHN0YXRp
Y19jYXN0PFFLZXlFdmVudCo+KGV2ZW50KS0+a2V5KCkgPT0gUXQ6OktleV9Db250cm9sKSB7CiAg
ICAgICAgIGZvcmVhY2ggKGludCBpZCwgbV9oZWxkVG91Y2hQb2ludHMpCiAgICAgICAgICAgICBp
ZiAobV90b3VjaFBvaW50cy5jb250YWlucyhpZCkpCiAgICAgICAgICAgICAgICAgbV90b3VjaFBv
aW50c1tpZF0uc3RhdGUgPSBRdDo6VG91Y2hQb2ludFJlbGVhc2VkOwogICAgICAgICBtX2hlbGRU
b3VjaFBvaW50cy5jbGVhcigpOwotICAgICAgICBzZW5kVG91Y2hFdmVudCh0YXJnZXRXaW5kb3cp
OworICAgICAgICBzZW5kVG91Y2hFdmVudChicm93c2VyV2luZG93KTsKICAgICB9CiAKLSAgICBp
ZiAodGFyZ2V0V2luZG93ICYmIGlzTW91c2VFdmVudChldmVudCkpIHsKKyAgICBpZiAoYnJvd3Nl
cldpbmRvdyAmJiBpc01vdXNlRXZlbnQoZXZlbnQpKSB7CiAgICAgICAgIGNvbnN0IFFNb3VzZUV2
ZW50KiBjb25zdCBtb3VzZUV2ZW50ID0gc3RhdGljX2Nhc3Q8UU1vdXNlRXZlbnQqPihldmVudCk7
CiAKICAgICAgICAgUVdpbmRvd1N5c3RlbUludGVyZmFjZTo6VG91Y2hQb2ludCB0b3VjaFBvaW50
OwpAQCAtMTQ3LDE2ICsxNDksMTggQEAgYm9vbCBNaW5pQnJvd3NlckFwcGxpY2F0aW9uOjpub3Rp
ZnkoUU9iamVjdCogdGFyZ2V0LCBRRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgICAgIGl0LnZh
bHVlKCkuc3RhdGUgPSBRdDo6VG91Y2hQb2ludFN0YXRpb25hcnk7CiAgICAgICAgIH0KIAotICAg
ICAgICBzZW5kVG91Y2hFdmVudCh0YXJnZXRXaW5kb3cpOworICAgICAgICBzZW5kVG91Y2hFdmVu
dChicm93c2VyV2luZG93KTsKICAgICB9CiAKICAgICByZXR1cm4gUUFwcGxpY2F0aW9uOjpub3Rp
ZnkodGFyZ2V0LCBldmVudCk7CiB9CiAKLXZvaWQgTWluaUJyb3dzZXJBcHBsaWNhdGlvbjo6c2Vu
ZFRvdWNoRXZlbnQoUVdpbmRvdyogdGFyZ2V0V2luZG93KQordm9pZCBNaW5pQnJvd3NlckFwcGxp
Y2F0aW9uOjpzZW5kVG91Y2hFdmVudChCcm93c2VyV2luZG93KiBicm93c2VyV2luZG93KQogewog
ICAgIG1fcGVuZGluZ0Zha2VUb3VjaEV2ZW50Q291bnQrKzsKLSAgICBRV2luZG93U3lzdGVtSW50
ZXJmYWNlOjpoYW5kbGVUb3VjaEV2ZW50KHRhcmdldFdpbmRvdywgUUV2ZW50OjpOb25lLCBRVG91
Y2hFdmVudDo6VG91Y2hTY3JlZW4sIG1fdG91Y2hQb2ludHMudmFsdWVzKCkpOworICAgIFFXaW5k
b3dTeXN0ZW1JbnRlcmZhY2U6OmhhbmRsZVRvdWNoRXZlbnQoYnJvd3NlcldpbmRvdywgUUV2ZW50
OjpOb25lLCBRVG91Y2hFdmVudDo6VG91Y2hTY3JlZW4sIG1fdG91Y2hQb2ludHMudmFsdWVzKCkp
OworCisgICAgYnJvd3NlcldpbmRvdy0+dXBkYXRlVmlzdWFsTW9ja1RvdWNoUG9pbnRzKG1fdG91
Y2hQb2ludHMudmFsdWVzKCkpOwogCiAgICAgLy8gR2V0IHJpZCBvZiB0b3VjaC1wb2ludHMgdGhh
dCBhcmUgbm8gbG9uZ2VyIHZhbGlkCiAgICAgZm9yZWFjaCAoY29uc3QgUVdpbmRvd1N5c3RlbUlu
dGVyZmFjZTo6VG91Y2hQb2ludCYgdG91Y2hQb2ludCwgbV90b3VjaFBvaW50cykgewpkaWZmIC0t
Z2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5oIGIvVG9v
bHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXJBcHBsaWNhdGlvbi5oCmluZGV4IGNmZmJmNDg1
MDUzODI4OTE1YTYzMTE3OWJiOTlhODM2YzA1ZWE1ODguLjcxOWM3OWRlNjQ2MjIxMmEzOGM5ZmE0
MWM4MTdmZDk0YTVmN2NmYzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlC
cm93c2VyQXBwbGljYXRpb24uaAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nl
ckFwcGxpY2F0aW9uLmgKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlIDxRVXJsPgogI2luY2x1
ZGUgInF3aW5kb3dzeXN0ZW1pbnRlcmZhY2VfcXBhLmgiCiAKK2NsYXNzIEJyb3dzZXJXaW5kb3c7
CisKIGNsYXNzIFdpbmRvd09wdGlvbnMgOiBwdWJsaWMgUU9iamVjdCB7CiAgICAgUV9PQkpFQ1QK
ICAgICBRX1BST1BFUlRZKGJvb2wgcHJpbnRMb2FkZWRVcmxzIFJFQUQgcHJpbnRMb2FkZWRVcmxz
KQpAQCAtODgsNyArOTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIG5vdGlmeShRT2Jq
ZWN0KiwgUUV2ZW50Kik7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzZW5kVG91Y2hFdmVudChRV2lu
ZG93KiB0YXJnZXRXaW5kb3cpOworICAgIHZvaWQgc2VuZFRvdWNoRXZlbnQoQnJvd3NlcldpbmRv
dyopOwogICAgIHZvaWQgaGFuZGxlVXNlck9wdGlvbnMoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25zL3RvdWNocG9pbnQucG5nIGIvVG9vbHMvTWlu
aUJyb3dzZXIvcXQvaWNvbnMvdG91Y2hwb2ludC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY0OWVlOTkxYThj
N2M3MjRmMTVhZjIzMmU4NThkZDkyYzFiNjcyMQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTMz
MQp6Y21WLTMxPGQtMVApPGg7M0t8TGswMDBlMU5KTFRxMDAxbGkwMDFmbzFeQHM2JGxiWGQwMDAw
MWI1Y2hfMEl0cCkKej0+UHgjMjRZSmBMOyhLKXt7YTc+eXtENF4wMDBTYU5MaDBMMDFGY1UwMUZj
VjBHZ1pfMDAwMDdiVipHYDJpcHQ+CnozXmhDVURuU0FPMDBnczFMX3QobyFffUV4T2p+NmIkTiVT
VFBkV1hUbVg8LUc0SiU7X0dpVnNITVRPfkw2NjRNQQp6IWpIcnkrPm0mbyhIb1pGbCRxY3AjdFRR
Pi1FS0BVYXEodTBpT0NvWVFuK3d7USloNCpWI3t8MiNUSDd4ZCVuQj8KemlGezxkSiM4V1RVIUw9
dj1sc3Jse19wMypBUGFTU3JtYjthWTY1VHl6fCNQWjA8WiV4MFQyUGkwMGFRfDA4OWNICnpEXlFj
V3BUMU5QUlFnVXYkd1Fyay1abFZsMTkoTkBkK3p9RnVCWH1rTzxzWEoyZlpCdEpePGlBWm5PeFh4
Mk1fdAp6V2xuKVZBREtOTE5lZXZ5anczKCVPVUlKVlB0SGBfJHtQNjZwIWNlQChXKGNiLWt4VW5o
bCtxYikycFcyLXE3fnwKelQ1eiFIWiopSE8jO2FBPF59VE1BeSlJNzdocG81MHBAQm55MSVRXjN4
d1YxZT41IUVnXz1sPEJPI3Q7Y0pre1V2Cnp1SEt7cXskZ35kUG10dlhyRWR9PzhHPE4qN2JTP0ls
bnIhNHdgYVFWdV56dGxGITBgKEtre2BaU3RWSjxxZXZSdwp6XigxQiFKV3xzM1pveDdWRHpxJHxD
SnlCVzRPQStVNXB9Z3FfeF49dk8wTWshVUpOSjh1MXpkWDBucE1XZGxYNHcKekVEKnkjZj1tQH1D
UDJNaTUwe3pDZ2dNYnhRKFNlLVpkbGw2aUpfVSpFP1FWZ2xKVlBlM190cCMpVVdeJG1Wa2shCno3
JCpGWU96ZmZebmhBSTleNjxsemNzdEcwdk1sNExyNl8pME9EWjwhZ0dkXmwjZFRgdnglRmhiSHgj
ZWgwYEM3aQp6TF9JYkI1c2Mle05JTDZiej9UczUlV3tsNXtAMH5nYHhmeDtPVlBKejl0dVFMeEVE
PDNaMHZkdk5uPl9CTUhNPzQKeiprQnw4NUs4aThHKiVjfWlSWE80OWJidDtsPWtsakRNMmNtVFQz
Kk0kKSg4MFJJTThxdSQtMjE0amRNTWcoekpzCnomI2F9K2tkKnt+a3x2bjsqRDI5I21AZkI5b0ln
Z3czOSpWTSpkTmF5dXJEYzQjZjlSMEVzMlJ6RFV+STdJZDh5JQp6MVMlaUxjJWhVQ2ZAcXxmQzx3
ektwT1dTTWZxNzlqNTxFI183IVgjYWl0SENoMm0/VU1GQUdJWGZ0cmFCOVpVUSkKejM1enRVeXVv
VCFHU3c8aCRFeTZLa1cpfDVCclZyI0AmQGVHKCZhQUZ2UXh5U1hZYlBseUExZ1Fie2grKjtfUTAl
CnpLQj19RktCTXxOb2QpRnZ4JG1QazRSRDBBRjxmVE9MamJfMCpETyROdzJCUm9OcDhwRVEjUjlQ
cnsyJU1XV2l6UAp6TWhPNXNZdCFHTE5uV1VCYW5gRU84U0hadzRvM191UmN3dmphQVJ3PWNEQjtl
TEhvMWE3QTxObVQtTEJCajJoR3cKej44UnVETnshZEk/S287bUhaSVZwKX4zaEhIa340U05WMUk2
UnR+MzIzfTdmeyZxfEIteTJIIyg/SGFHVWhKMH5lCnpsQnFZTHQ0UlVsJU1ye2M9X1ZCaSViPjFV
NTFZT3FsVyREQ2QkT2Q7Umo2QTQwUUxYeEpudH1IXnZ0aE9afVNUfAp6SENrTVMyKiE5IU4wVjRn
Mm5nXlpuOVolZSRWZXp3NkY0e3hvRikjJWx6IWR6SCVwOGN8QVhDZ00qUW1EZHx4MSUKemVrVTck
Tn1EUyRuJUA2Nzg4enh9S1djUGMqbW54UUpuUzF1aV5ALWJhdj1oWVVUSm5XUWt8ezZkQldhR2Zi
bTEqCno5ZEE4dVlvJDZ7MUF1Q35BXjNXPT9IbUY2NCp8Q1N3TXhzbXgtd0h4KFc+dDl1PHZTR2xu
Pi1VVGdAPU4tQXpaOAp6OWNiXzlpMDE+KmJZNHBhN0xNKWdjK3JgQyR6YURnLU44JDhQS3o+eExH
UDhPOTJhR0Y+ZThVTU8/bmNfVVZCKUAKcDhpPU1kRGxBJkc/QT93Um9RZXlKe3tyQWYjZ3poY1hz
LVlPMDAyb3ZQREhMa1YxbmI/V1U+R04KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9Nb2NrVG91Y2hQb2ludC5xbWwgYi9Ub29scy9N
aW5pQnJvd3Nlci9xdC9xbWwvTW9ja1RvdWNoUG9pbnQucW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MGQwNDVl
ZmZlZGM5ZGZjYTE0ZWE5NzZmNDRiMTEyNDIxMTM5NTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9NaW5pQnJvd3Nlci9xdC9xbWwvTW9ja1RvdWNoUG9pbnQucW1sCkBAIC0wLDAgKzEsNDMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBz
dWJzaWRpYXJ5KC1pZXMpCisgKgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitpbXBv
cnQgUXRRdWljayAyLjAKKworSXRlbSB7CisgICAgcHJvcGVydHkgYm9vbCBwcmVzc2VkOiBmYWxz
ZQorCisgICAgSW1hZ2UgeworICAgICAgICBzb3VyY2U6ICIuLi9pY29ucy90b3VjaHBvaW50LnBu
ZyIKKyAgICAgICAgeDogLSh3aWR0aCAvIDIpCisgICAgICAgIHk6IC0oaGVpZ2h0IC8gMikKKyAg
ICAgICAgb3BhY2l0eTogcGFyZW50LnByZXNzZWQgPyAwLjggOiAwLjAKKworICAgICAgICBCZWhh
dmlvciBvbiBvcGFjaXR5IHsKKyAgICAgICAgICAgIE51bWJlckFuaW1hdGlvbiB7IGR1cmF0aW9u
OiAyMDAgfQorICAgICAgICB9CisgICAgfQorfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>