<?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>42887</bug_id>
          
          <creation_ts>2010-07-23 04:15:28 -0700</creation_ts>
          <short_desc>[Qt] Search input field doesn&apos;t have cancel button</short_desc>
          <delta_ts>2011-01-12 13:12:59 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>50778</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Robert Hogan">robert</assigned_to>
          <cc>abarth</cc>
    
    <cc>christian.webkit</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>koivisto</cc>
    
    <cc>robert</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>255293</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-07-23 04:15:28 -0700</bug_when>
    <thetext>This bug revealed by fast/forms/search-cancel-button-events.html introduced 
in http://trac.webkit.org/changeset/63929 (https://bugs.webkit.org/show_bug.cgi?id=34393)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255295</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-07-23 04:25:45 -0700</bug_when>
    <thetext>fast/forms/search-cancel-button-events.html is skipped by http://trac.webkit.org/changeset/63960 (until fix)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301180</commentid>
    <comment_count>2</comment_count>
      <attachid>72211</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-10-28 11:34:58 -0700</bug_when>
    <thetext>Created attachment 72211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301184</commentid>
    <comment_count>3</comment_count>
      <attachid>72211</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-28 11:40:00 -0700</bug_when>
    <thetext>Comment on attachment 72211
Patch

I would like to see a screenshot of this, and also when using the Qt mobile theme. (there is a compile flag for using the qt mobile theme)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301247</commentid>
    <comment_count>4</comment_count>
      <attachid>72220</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-10-28 12:48:29 -0700</bug_when>
    <thetext>Created attachment 72220
Screenshot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301251</commentid>
    <comment_count>5</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-10-28 12:58:18 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 72211 [details])
&gt; I would like to see a screenshot of this, and also when using the Qt mobile theme. (there is a compile flag for using the qt mobile theme)

I compile with CONFIG += use_qt_mobile_theme and the screenshot was the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312018</commentid>
    <comment_count>6</comment_count>
      <attachid>72211</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-11-20 18:03:45 -0800</bug_when>
    <thetext>Comment on attachment 72211
Patch

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

r=me

&gt; WebKit/qt/Api/qwebsettings.cpp:106
&gt; +        hash-&gt;insert(QWebSettings::SearchCancelButtonGraphic, QApplication::style()-&gt;standardPixmap(QStyle::SP_DialogCloseButton));
&gt; +        hash-&gt;insert(QWebSettings::SearchCancelButtonPressedGraphic, QApplication::style()-&gt;standardPixmap(QStyle::SP_DialogCloseButton));

Not a huge fan of the standardPixmap()s, but it&apos;s not a big deal, we can put some custom ones in later.

&gt; WebKit/qt/Api/qwebsettings.cpp:380
&gt; +    \value SearchCancelButtonGraphic The graphic shown for clearing the text in a search field.
&gt; +    \value SearchCancelButtonPressedGraphic The graphic shown when SearchCancelButtonGraphic is pressed.

FYI: These additions will be subject to API review (scheduled for next week.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312236</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-11-22 00:37:31 -0800</bug_when>
    <thetext>We might want to override these with our Mobile Theme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318988</commentid>
    <comment_count>8</comment_count>
      <attachid>72211</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-08 13:38:51 -0800</bug_when>
    <thetext>Comment on attachment 72211
Patch

Rejecting patch 72211 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=both&apos;]&quot; exit_code: 2
Last 500 characters of output:
ers.gcc.4_2
	CompileC /Projects/CommitQueue/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/JSCanvasPattern.o /Projects/CommitQueue/WebKitBuild/Debug/DerivedSources/WebCore/JSCanvasPattern.cpp normal x86_64 c++ com.apple.compilers.gcc.4_2
	CompileC /Projects/CommitQueue/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/JSConsoleCustom.o /Projects/CommitQueue/WebCore/bindings/js/JSConsoleCustom.cpp normal x86_64 c++ com.apple.compilers.gcc.4_2
(56 failures)


Full output: http://queues.webkit.org/results/6782106</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319633</commentid>
    <comment_count>9</comment_count>
      <attachid>72211</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-09 11:54:33 -0800</bug_when>
    <thetext>Comment on attachment 72211
Patch

Clearing flags on attachment: 72211

Committed r73635: &lt;http://trac.webkit.org/changeset/73635&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319634</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-09 11:54:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320868</commentid>
    <comment_count>11</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-12-12 12:22:34 -0800</bug_when>
    <thetext>Was it rolled out? Should be REOPENED?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320995</commentid>
    <comment_count>12</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-12-13 02:09:09 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Was it rolled out? Should be REOPENED?

It was rolled out by http://trac.webkit.org/changeset/73642</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331849</commentid>
    <comment_count>13</comment_count>
      <attachid>78431</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-10 12:46:07 -0800</bug_when>
    <thetext>Created attachment 78431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331862</commentid>
    <comment_count>14</comment_count>
      <attachid>78431</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-01-10 13:01:42 -0800</bug_when>
    <thetext>Comment on attachment 78431
Patch

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

Is it styled in the mobile theme?

&gt; WebCore/platform/graphics/qt/ImageQt.cpp:74
&gt;          pixmap = QWebSettings::webGraphic(QWebSettings::DeleteButtonGraphic);
&gt;      else if (!qstrcmp(name, &quot;inputSpeech&quot;))
&gt;          pixmap = QWebSettings::webGraphic(QWebSettings::InputSpeechButtonGraphic);
&gt; +    else if (!qstrcmp(name, &quot;searchCancelButton&quot;))
&gt; +        pixmap = QWebSettings::webGraphic(QWebSettings::SearchCancelButtonGraphic);
&gt; +    else if (!qstrcmp(name, &quot;searchCancelButtonPressed&quot;))
&gt; +        pixmap = QWebSettings::webGraphic(QWebSettings::SearchCancelButtonPressedGraphic);

So sad that none of this will work for WebKit2.

&gt; WebCore/platform/qt/RenderThemeQt.cpp:199
&gt; +    // FIXME: Need to add SearchFieldPart if it should be style-able

Use real sentences... add a dot at the end.

&gt; WebCore/platform/qt/RenderThemeQt.cpp:932
&gt; +    // Scale the button size based on the font size

Use real sentences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331865</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-01-10 13:02:57 -0800</bug_when>
    <thetext>Christian, can you get John to make some graphics for the mobile theme?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331866</commentid>
    <comment_count>16</comment_count>
      <attachid>78436</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-10 13:04:14 -0800</bug_when>
    <thetext>Created attachment 78436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331871</commentid>
    <comment_count>17</comment_count>
      <attachid>78438</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-10 13:07:41 -0800</bug_when>
    <thetext>Created attachment 78438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331880</commentid>
    <comment_count>18</comment_count>
      <attachid>78438</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-01-10 13:14:23 -0800</bug_when>
    <thetext>Comment on attachment 78438
Patch

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

It contains new API, but it looks fine with me from a webkit 1 perspective.

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:96
&gt; +// These values all match Safari/Win/Chromium

Add dot before landing. Would be good with a &quot;why&quot; they must match :-) because then I do not see why we all need to define them.

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:216
&gt; +// Remove this when SearchFieldPart is style-able in RenderTheme::isControlStyled

Add &quot;().&quot;

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:224
&gt; +        return (style-&gt;border() != border
&gt; +                || *style-&gt;backgroundLayers() != fill
&gt; +                || style-&gt;visitedDependentColor(CSSPropertyBackgroundColor) != backgroundColor);

So this part is covered with the layout tests? seems like something that should be common code

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:930
&gt; +    // Taken from RenderThemeChromium.cpp.

Here the comment is inside the method

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:939
&gt; +// Taken from RenderThemeChromium.cpp

Here it is outside? on purpose?

&gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:955
&gt; +    // Adapted from RenderThemeChromium.cpp.

the adaption means using qMax? or did you change logic? you should make that clear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331887</commentid>
    <comment_count>19</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-10 13:25:32 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 78431 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=78431&amp;action=review
&gt; 
&gt; Is it styled in the mobile theme?
&gt; 
(In reply to comment #14)
&gt; (From update of attachment 78431 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=78431&amp;action=review
&gt; 
&gt; Is it styled in the mobile theme?
&gt; 

I don&apos;t know to be honest.

Styling the search field widget will result in a couple of differences from the base expected results in:

fast/css/pseudo-cache-stale.html
fast/css/text-input-with-webkit-border-radius.html
fast/forms/search-cancel-button-style-sharing.html

These differences look like:

-        RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF] border: (2px inset #000000)]
+        RenderTextControl {INPUT} at (2,2) size 166x26

This happens because RenderTheme won&apos;t apply CSS styles to controls that are already styled by the UA. The fact that we also do :

    style-&gt;setBackgroundColor(Color::transparent);
    style-&gt;resetBorder();
    style-&gt;resetPadding();

for both adjustTextFieldStyle() and searchFieldStyle() also contributes to this difference in layout tests. I&apos;ve seen it elsewhere in layout test differences on Qt, so worth noting that this is why it happens.

Supporting styling is required to pass fast/css/pseudo-required-optional-006.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331890</commentid>
    <comment_count>20</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-01-10 13:28:24 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #14)
&gt; &gt; (From update of attachment 78431 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=78431&amp;action=review
&gt; &gt; 
&gt; &gt; Is it styled in the mobile theme?
&gt; &gt; 
&gt; (In reply to comment #14)
&gt; &gt; (From update of attachment 78431 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=78431&amp;action=review
&gt; &gt; 
&gt; &gt; Is it styled in the mobile theme?
&gt; &gt; 
&gt; 
&gt; I don&apos;t know to be honest.
&gt; 
&gt; Styling the search field widget will result in a couple of differences from the base expected results in:
&gt; 
&gt; fast/css/pseudo-cache-stale.html
&gt; fast/css/text-input-with-webkit-border-radius.html
&gt; fast/forms/search-cancel-button-style-sharing.html
&gt; 
&gt; These differences look like:
&gt; 
&gt; -        RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF] border: (2px inset #000000)]
&gt; +        RenderTextControl {INPUT} at (2,2) size 166x26
&gt; 
&gt; This happens because RenderTheme won&apos;t apply CSS styles to controls that are already styled by the UA. The fact that we also do :
&gt; 
&gt;     style-&gt;setBackgroundColor(Color::transparent);
&gt;     style-&gt;resetBorder();
&gt;     style-&gt;resetPadding();
&gt; 
&gt; for both adjustTextFieldStyle() and searchFieldStyle() also contributes to this difference in layout tests. I&apos;ve seen it elsewhere in layout test differences on Qt, so worth noting that this is why it happens.
&gt; 
&gt; Supporting styling is required to pass fast/css/pseudo-required-optional-006.html.

I think it would be good to add such comments in the code, noone will know about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331893</commentid>
    <comment_count>21</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-10 13:29:54 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 78438 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=78438&amp;action=review
&gt; 
&gt; It contains new API, but it looks fine with me from a webkit 1 perspective.
&gt; 

Implies this also lives in WebKit2?

&gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:96
&gt; &gt; +// These values all match Safari/Win/Chromium
&gt; 
&gt; Add dot before landing. Would be good with a &quot;why&quot; they must match :-) because then I do not see why we all need to define them.

Maybe a separate patch?

&gt; 
&gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:216
&gt; &gt; +// Remove this when SearchFieldPart is style-able in RenderTheme::isControlStyled
&gt; 
&gt; Add &quot;().&quot;

OK

&gt; 
&gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:224
&gt; &gt; +        return (style-&gt;border() != border
&gt; &gt; +                || *style-&gt;backgroundLayers() != fill
&gt; &gt; +                || style-&gt;visitedDependentColor(CSSPropertyBackgroundColor) != backgroundColor);
&gt; 
&gt; So this part is covered with the layout tests? seems like something that should be common code

Yes, copied from RenderTheme:isControlStyled(). I&apos;m just shimming a check for SearchFieldPart rather than uncommenting it in RenderTheme. We can remove this per the comment once Jocelyn confirms it&apos;s safe to do so I hope.

&gt; 
&gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:930
&gt; &gt; +    // Taken from RenderThemeChromium.cpp.
&gt; 
&gt; Here the comment is inside the method
&gt; 
&gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:939
&gt; &gt; +// Taken from RenderThemeChromium.cpp
&gt; 
&gt; Here it is outside? on purpose?

OK.

&gt; 
&gt; &gt; Source/WebCore/platform/qt/RenderThemeQt.cpp:955
&gt; &gt; +    // Adapted from RenderThemeChromium.cpp.
&gt; 
&gt; the adaption means using qMax? or did you change logic? you should make that clear

Will do - just qMax really.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331975</commentid>
    <comment_count>22</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-01-10 15:04:49 -0800</bug_when>
    <thetext>
&gt; Implies this also lives in WebKit2?

Yes, WebKit2/Qt is using our RenderThemeQt.
 
&gt; Maybe a separate patch?

Fine</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332447</commentid>
    <comment_count>23</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-11 10:50:11 -0800</bug_when>
    <thetext>Jocelyn, could you respond to the last part of https://bugs.webkit.org/show_bug.cgi?id=42887#c21 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332479</commentid>
    <comment_count>24</comment_count>
      <attachid>78562</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-11 11:27:26 -0800</bug_when>
    <thetext>Created attachment 78562
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332486</commentid>
    <comment_count>25</comment_count>
      <attachid>78564</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-11 11:31:45 -0800</bug_when>
    <thetext>Created attachment 78564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332637</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-11 14:06:25 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 78564:

http/tests/xmlhttprequest/cross-origin-no-credential-prompt.html bug 52249 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332984</commentid>
    <comment_count>27</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2011-01-12 02:42:28 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; Jocelyn, could you respond to the last part of https://bugs.webkit.org/show_bug.cgi?id=42887#c21 ?

Hei Robert, I couldn&apos;t catch you on IRC about the comment in RenderTheme.cpp, and never actually touched that file, so maybe something has messed up you git blame?

Though please slap me if my git log is broken and I&apos;m suffering amnesia.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333234</commentid>
    <comment_count>28</comment_count>
      <attachid>78564</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-12 12:27:59 -0800</bug_when>
    <thetext>Comment on attachment 78564
Patch

Clearing flags on attachment: 78564

Committed r75632: &lt;http://trac.webkit.org/changeset/75632&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333235</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-12 12:28:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333249</commentid>
    <comment_count>30</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-12 13:04:29 -0800</bug_when>
    <thetext>Committed r75634: &lt;http://trac.webkit.org/changeset/75634&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333250</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-12 13:08:28 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/75632 might have broken Qt Linux Release
The following tests are not passing:
fast/css/pseudo-cache-stale.html
fast/css/text-input-with-webkit-border-radius.html
fast/forms/search-cancel-button-style-sharing.html
fast/forms/search-vertical-alignment.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333252</commentid>
    <comment_count>32</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-01-12 13:12:59 -0800</bug_when>
    <thetext>Committed r75636: &lt;http://trac.webkit.org/changeset/75636&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72211</attachid>
            <date>2010-10-28 11:34:58 -0700</date>
            <delta_ts>2011-01-10 12:45:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42887-20101028193438.patch</filename>
            <type>text/plain</type>
            <size>15251</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MmZmYmZkYjgxMWYzZmQ0MmIyZWQ3ZmI3YmJkMmZjYjJhYjVhOTY4Li4xNmQzNWFj
NTM3ZDYyZjVjM2U5ZTg0NDdjMmRkMWVlZTAzOTM4OTI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAK
KzIwMTAtMTAtMjggIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gU2VhcmNoIGlucHV0
IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCisgICAgICAgIEFkZCBhIGNhbmNlbCBi
dXR0b24gdG8gdGhlIHNlYXJjaCBmaWVsZCBhbmQgbWFrZSBpdCBjdXN0b21pemFibGUKKyAgICAg
ICAgYnkgdGhlIGNsaWVudC4gRm9yIG5vdywgdXNlIHRoZSBjbG9zZSBkaWFsb2cgYnV0dG9uIGFz
c29jaWF0ZWQKKyAgICAgICAgd2l0aCB0aGUgYXBwbGljYXRpb24ncyBzdHlsZSBhcyB0aGUgZGVm
YXVsdC4KKworICAgICAgICBVbnNraXAgYSBidW5jaCBvZiBzZWFyY2ggZmllbGQgcmVsYXRlZCB0
ZXN0cyB0aGF0IHBhc3Mgbm93OgorCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1i
dXR0b24tbW91c2V1cC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLXJ0bC5odG1sCisg
ICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWFicy1wb3MtY2FuY2VsLWJ1dHRvbi5odG1sCisgICAg
ICAgIGZhc3QvZm9ybXMvc2VhcmNoLXN0eWxlZC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2Vh
cmNoLXRyYW5zZm9ybWVkLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtem9vbWVkLmh0
bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRvbi1zdHlsZS1zaGFyaW5n
Lmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtZGlzcGxheS1ub25lLWNhbmNlbC1idXR0
b24uaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1wbGFjZWhvbGRlci12YWx1ZS1jaGFu
Z2VkLmh0bWwKKyAgICAgICAgZmFzdC9yZXBhaW50L3NlYXJjaC1maWVsZC1jYW5jZWwuaHRtbAor
ICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLWV2ZW50cy5odG1sCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODg3CisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDEwLTEwLTE4ICBBbGVqYW5kcm8gRy4g
Q2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHNraXAgdGVz
dCBmYWlsaW5nIGluIHRoZSBib3RzLCBidWcgb3BlbmVkIHRvIGNoZWNrIHRoZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQKaW5kZXggNzk3NzRmZDRkNTIzNTY0MTE5YmUwZGVkYzc0NWIyNGI1NmYxNTg0
OC4uNDIwZTQzNmVmNTEwM2VlNzkxY2FmN2Y3NzQyNzE2NjBjMmMxMjI5NyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkCkBAIC01NDEsNyArNTQxLDYgQEAgZmFzdC9kb20vb3Blbi1hbmQtY2xvc2Ut
YnktRE9NLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9uZXctd2luZG93LW9wZW5lci5odG1sCiBmYXN0
L2Zvcm1zLzAwMS5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzMi5odG1sCi1mYXN0L2Zvcm1zL3NlYXJj
aC1jYW5jZWwtYnV0dG9uLW1vdXNldXAuaHRtbAogZmFzdC9mcmFtZXMvMDAxLmh0bWwKIGZhc3Qv
dGV4dC9tb25vc3BhY2Utd2lkdGgtY2FjaGUuaHRtbAogCkBAIC0yNDg3LDcgKzI0ODYsNiBAQCBm
YXN0L2Zvcm1zL2xpc3Rib3gtb25jaGFuZ2UuaHRtbAogZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVj
dGlvbi0yLmh0bWwKIGZhc3QvZm9ybXMvbGlzdGJveC1zZWxlY3Rpb24uaHRtbAogZmFzdC9mb3Jt
cy9vbnNlbGVjdC10ZXh0YXJlYS5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1ydGwuaHRtbAogZmFz
dC9mb3Jtcy9zZWxlY3Qtd3JpdGluZy1kaXJlY3Rpb24tbmF0dXJhbC5odG1sCiBmYXN0L2Zvcm1z
L3RhYmJpbmctaW5wdXQtaWZyYW1lLmh0bWwKIGZhc3QvZm9ybXMvdGV4dEFyZWFMaW5lSGVpZ2h0
Lmh0bWwKQEAgLTI1NDcsNyArMjU0NSw2IEBAIGZhc3QvZW5jb2RpbmcvaGVicmV3Lzg4NTktOC1p
Lmh0bWwKIGZhc3QvZW5jb2RpbmcvaGVicmV3L2xvZ2ljYWwuaHRtbAogZmFzdC9ldmVudHMvY3Jh
c2gtb24tbXV0YXRlLWR1cmluZy1kcm9wLmh0bWwKIGZhc3QvZm9ybXMvb3B0aW9uLW1vdXNlZXZl
bnRzLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLWFicy1wb3MtY2FuY2VsLWJ1dHRvbi5odG1sCiBm
YXN0L2Zvcm1zL3RleHQtY29udHJvbC1pbnRyaW5zaWMtd2lkdGhzLmh0bWwKIGZhc3QvZm9ybXMv
dGV4dGFyZWEtbWV0cmljcy5odG1sCiBmYXN0L2hpc3Rvcnkvd2luZG93LW9wZW4uaHRtbApAQCAt
MjYwNyw5ICsyNjA0LDYgQEAgZmFzdC9mb3Jtcy9saXN0Ym94LWRlc2VsZWN0LXNjcm9sbC5odG1s
CiBmYXN0L2Zvcm1zL2xpc3Rib3gtaGl0LXRlc3Qtem9vbWVkLmh0bWwKIGZhc3QvZm9ybXMvbmVn
YXRpdmVMaW5lSGVpZ2h0Lmh0bWwKIGZhc3QvZm9ybXMvcGxhY2Vob2xkZXItcHNldWRvLXN0eWxl
Lmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLXN0eWxlZC5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC10
cmFuc2Zvcm1lZC5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC16b29tZWQuaHRtbAogZmFzdC9mb3Jt
cy90ZXh0YXJlYS1hbGlnbi5odG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXNldGlubmVyaHRtbC5o
dG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXdpZHRoLmh0bWwKQEAgLTM0MDEsOSArMzM5NSw2IEBA
IGZhc3QvZm9ybXMvcmFkaW8tbmVzdGVkLWxhYmVscy5odG1sCiBmYXN0L2Zvcm1zL3JhZGlvX2No
ZWNrZWQuaHRtbAogZmFzdC9mb3Jtcy9yYWRpb19jaGVja2VkX2R5bmFtaWMuaHRtbAogZmFzdC9m
b3Jtcy9yYW5nZS10aHVtYi1oZWlnaHQtcGVyY2VudGFnZS5odG1sCi1mYXN0L2Zvcm1zL3NlYXJj
aC1jYW5jZWwtYnV0dG9uLXN0eWxlLXNoYXJpbmcuaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtZGlz
cGxheS1ub25lLWNhbmNlbC1idXR0b24uaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtcGxhY2Vob2xk
ZXItdmFsdWUtY2hhbmdlZC5odG1sCiBmYXN0L2Zvcm1zL3NlYXJjaGZpZWxkLWhlaWdodHMuaHRt
bAogZmFzdC9mb3Jtcy9zZWxlY3QtYWNjZXNza2V5Lmh0bWwKIGZhc3QvZm9ybXMvc2VsZWN0LWFs
aWduLmh0bWwKQEAgLTM3NDEsNyArMzczMiw2IEBAIGZhc3QvcmVwYWludC9yZWZsZWN0aW9uLXJl
ZHJhdy5odG1sCiBmYXN0L3JlcGFpbnQvcmVmbGVjdGlvbi1yZXBhaW50LXRlc3QuaHRtbAogZmFz
dC9yZXBhaW50L3JlbmRlcmVyLWRlc3RydWN0aW9uLWJ5LWludmFsaWRhdGVTZWxlY3Rpb24tY3Jh
c2guaHRtbAogZmFzdC9yZXBhaW50L3JlcGFpbnQtcmVzaXplZC1vdmVyZmxvdy5odG1sCi1mYXN0
L3JlcGFpbnQvc2VhcmNoLWZpZWxkLWNhbmNlbC5odG1sCiBmYXN0L3JlcGFpbnQvc2VsZWN0ZWQt
cmVwbGFjZWQuaHRtbAogZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1jbGVhci5odG1sCiBmYXN0L3Jl
cGFpbnQvc3RhdGljLXRvLXBvc2l0aW9uZWQuaHRtbApAQCAtNTM1OSwxMCArNTM0OSw2IEBAIGFu
aW1hdGlvbnMvcGxheS1zdGF0ZS5odG1sCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzkwNQogYW5pbWF0aW9ucy9zdXNwZW5kLXJlc3VtZS1hbmltYXRpb24uaHRt
bAogCi0jIFtRdF0gU2VhcmNoIGlucHV0IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9u
Ci0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg4NwotZmFzdC9m
b3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRvbi1ldmVudHMuaHRtbAotCiAjIFtRdF0gRFJUIHNpZGVl
ZmZlY3QgcmV2ZWFsZWQgYnkgcjYzNjU3CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MjU3OAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hdXRob3JpemF0aW9u
LWhlYWRlci5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDBiZTg0NzkyNjQwMzFmNTc1OWZmNDg2ZTdjM2I0Zjg0MTkxZjRiNDQuLjVm
YzlmZDRlZDRlNWY2NzVjZTBhZDVkN2RiODRjOGNkNmZlNGMxZWYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIw
MTAtMTAtMjggIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gU2VhcmNoIGlucHV0IGZp
ZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCisKKyAgICAgICAgQWRkIGEgY2FuY2VsIGJ1
dHRvbiB0byB0aGUgc2VhcmNoIGZpZWxkIGFuZCBtYWtlIGl0IGN1c3RvbWl6YWJsZQorICAgICAg
ICBieSB0aGUgY2xpZW50LiBGb3Igbm93LCB1c2UgdGhlIGNsb3NlIGRpYWxvZyBidXR0b24gYXNz
b2NpYXRlZAorICAgICAgICB3aXRoIHRoZSBhcHBsaWNhdGlvbidzIHN0eWxlIGFzIHRoZSBkZWZh
dWx0LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
Mjg4NworCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHA6CisgICAg
ICAgIChsb2FkUmVzb3VyY2VQaXhtYXApOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRo
ZW1lUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6Y29tcHV0ZVNpemVC
YXNlZE9uU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRTZWFy
Y2hGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hG
aWVsZFN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJj
aEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVR
dDo6Y29udmVydFRvUGFpbnRpbmdSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
UXQ6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24pOgorICAgICAgICAqIHBsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuaDoKKwogMjAxMC0xMC0xOCAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5y
b3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ltYWdlUXQuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9JbWFnZVF0LmNwcAppbmRleCBjMGNmYWU0ZTYw
MGFiZWNlODBjOWEzMzA5YzVjM2YyMjhkNzczNWYzLi44OTMzZDliYTkyMDA1NGUwYWQ1YWUzMTZl
MDRiMzMwY2U0MjQ4MDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ltYWdlUXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5j
cHAKQEAgLTY2LDYgKzY2LDEwIEBAIHN0YXRpYyBRUGl4bWFwIGxvYWRSZXNvdXJjZVBpeG1hcChj
b25zdCBjaGFyICpuYW1lKQogICAgICAgICBwaXhtYXAgPSBRV2ViU2V0dGluZ3M6OndlYkdyYXBo
aWMoUVdlYlNldHRpbmdzOjpEZWxldGVCdXR0b25HcmFwaGljKTsKICAgICBlbHNlIGlmICghcXN0
cmNtcChuYW1lLCAiaW5wdXRTcGVlY2giKSkKICAgICAgICAgcGl4bWFwID0gUVdlYlNldHRpbmdz
Ojp3ZWJHcmFwaGljKFFXZWJTZXR0aW5nczo6SW5wdXRTcGVlY2hCdXR0b25HcmFwaGljKTsKKyAg
ICBlbHNlIGlmICghcXN0cmNtcChuYW1lLCAic2VhcmNoQ2FuY2VsQnV0dG9uIikpCisgICAgICAg
IHBpeG1hcCA9IFFXZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhRV2ViU2V0dGluZ3M6OlNlYXJjaENh
bmNlbEJ1dHRvbkdyYXBoaWMpOworICAgIGVsc2UgaWYgKCFxc3RyY21wKG5hbWUsICJzZWFyY2hD
YW5jZWxCdXR0b25QcmVzc2VkIikpCisgICAgICAgIHBpeG1hcCA9IFFXZWJTZXR0aW5nczo6d2Vi
R3JhcGhpYyhRV2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRvblByZXNzZWRHcmFwaGljKTsK
IAogICAgIHJldHVybiBwaXhtYXA7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNw
cAppbmRleCA1MGI1ZGU2NmVjMzBkNmFiYjUwMjM3ODFmYzkzMTEwMWMwNjBiMmJiLi5jZTc2NWU0
ZDFjNzA3OTdiNTU5N2Y3ZWYwOWEyN2EyYjMzMDY4N2M0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5j
bHVkZSAiUVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJRdFN0eWxlT3B0aW9uV2ViQ29tYm9C
b3guaCIKKyNpbmNsdWRlICJxd2Vic2V0dGluZ3MuaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIK
ICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogI2luY2x1ZGUgIlJlbmRlclByb2dyZXNzLmgiCkBA
IC04MCw2ICs4MSwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CiAKKy8vIFRoZXNlIHZhbHVlcyBhbGwgbWF0Y2ggU2FmYXJpL1dpbi9DaHJvbWl1
bQorc3RhdGljIGNvbnN0IGZsb2F0IGRlZmF1bHRDb250cm9sRm9udFBpeGVsU2l6ZSA9IDEzOwor
c3RhdGljIGNvbnN0IGZsb2F0IGRlZmF1bHRDYW5jZWxCdXR0b25TaXplID0gOTsKK3N0YXRpYyBj
b25zdCBmbG9hdCBtaW5DYW5jZWxCdXR0b25TaXplID0gNTsKK3N0YXRpYyBjb25zdCBmbG9hdCBt
YXhDYW5jZWxCdXR0b25TaXplID0gMjE7CitzdGF0aWMgY29uc3QgZmxvYXQgZGVmYXVsdFNlYXJj
aEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplID0gMTM7CitzdGF0aWMgY29uc3QgZmxvYXQgbWlu
U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUgPSA5Oworc3RhdGljIGNvbnN0IGZsb2F0
IG1heFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplID0gMzA7CitzdGF0aWMgY29uc3Qg
ZmxvYXQgZGVmYXVsdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbldpZHRoID0gMTg7CisKIAogU3R5
bGVQYWludGVyOjpTdHlsZVBhaW50ZXIoUmVuZGVyVGhlbWVRdCogdGhlbWUsIGNvbnN0IFBhaW50
SW5mbyYgcGFpbnRJbmZvKQogewpAQCAtMzU4LDYgKzM2OSw3IEBAIHZvaWQgUmVuZGVyVGhlbWVR
dDo6Y29tcHV0ZVNpemVCYXNlZE9uU3R5bGUoUmVuZGVyU3R5bGUqIHJlbmRlclN0eWxlKSBjb25z
dAogCiAgICAgc3dpdGNoIChyZW5kZXJTdHlsZS0+YXBwZWFyYW5jZSgpKSB7CiAgICAgY2FzZSBU
ZXh0QXJlYVBhcnQ6CisgICAgY2FzZSBTZWFyY2hGaWVsZFBhcnQ6CiAgICAgY2FzZSBUZXh0Rmll
bGRQYXJ0OiB7CiAgICAgICAgIGludCBwYWRkaW5nID0gZmluZEZyYW1lTGluZVdpZHRoKHN0eWxl
KTsKIApAQCAtODM5LDI4ICs4NTEsNjkgQEAgdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTbGlk
ZXJUaHVtYlN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSogc3R5bGUKIGJvb2wg
UmVuZGVyVGhlbWVRdDo6cGFpbnRTZWFyY2hGaWVsZChSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBh
aW50SW5mbyYgcGksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
SW50UmVjdCYgcikKIHsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gcGFpbnRUZXh0Rmll
bGQobywgcGksIHIpOwogfQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxk
U3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50KiBlKSBjb25z
dAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgUmVuZGVyVGhlbWU6OmFkanVzdFNlYXJj
aEZpZWxkU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKKyAgICBzdHlsZS0+c2V0QmFja2dyb3Vu
ZENvbG9yKENvbG9yOjp0cmFuc3BhcmVudCk7CisgICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7Cisg
ICAgc3R5bGUtPnJlc2V0UGFkZGluZygpOworICAgIGNvbXB1dGVTaXplQmFzZWRPblN0eWxlKHN0
eWxlKTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZENhbmNlbEJ1
dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RWxlbWVudCogZSkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIFJlbmRlclRo
ZW1lOjphZGp1c3RTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxlKHNlbGVjdG9yLCBzdHlsZSwg
ZSk7CisgICAgLy8gVGFrZW4gZnJvbSBSZW5kZXJUaGVtZUNocm9taXVtLmNwcAorCisgICAgLy8g
U2NhbGUgdGhlIGJ1dHRvbiBzaXplIGJhc2VkIG9uIHRoZSBmb250IHNpemUKKyAgICBmbG9hdCBm
b250U2NhbGUgPSBzdHlsZS0+Zm9udFNpemUoKSAvIGRlZmF1bHRDb250cm9sRm9udFBpeGVsU2l6
ZTsKKyAgICBpbnQgY2FuY2VsQnV0dG9uU2l6ZSA9IGxyb3VuZGYocU1pbihxTWF4KG1pbkNhbmNl
bEJ1dHRvblNpemUsIGRlZmF1bHRDYW5jZWxCdXR0b25TaXplICogZm9udFNjYWxlKSwgbWF4Q2Fu
Y2VsQnV0dG9uU2l6ZSkpOworICAgIHN0eWxlLT5zZXRXaWR0aChMZW5ndGgoY2FuY2VsQnV0dG9u
U2l6ZSwgRml4ZWQpKTsKKyAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChjYW5jZWxCdXR0b25T
aXplLCBGaXhlZCkpOworfQorCisvLyBUYWtlbiBmcm9tIFJlbmRlclRoZW1lQ2hyb21pdW0uY3Bw
CitJbnRSZWN0IFJlbmRlclRoZW1lUXQ6OmNvbnZlcnRUb1BhaW50aW5nUmVjdChSZW5kZXJPYmpl
Y3QqIGlucHV0UmVuZGVyZXIsIGNvbnN0IFJlbmRlck9iamVjdCogcGFydFJlbmRlcmVyLCBJbnRS
ZWN0IHBhcnRSZWN0LCBjb25zdCBJbnRSZWN0JiBsb2NhbE9mZnNldCkgY29uc3QKK3sKKyAgICAv
LyBDb21wdXRlIGFuIG9mZnNldCBiZXR3ZWVuIHRoZSBwYXJ0IHJlbmRlcmVyIGFuZCB0aGUgaW5w
dXQgcmVuZGVyZXIuCisgICAgSW50U2l6ZSBvZmZzZXRGcm9tSW5wdXRSZW5kZXJlciA9IC0ocGFy
dFJlbmRlcmVyLT5vZmZzZXRGcm9tQW5jZXN0b3JDb250YWluZXIoaW5wdXRSZW5kZXJlcikpOwor
ICAgIC8vIE1vdmUgdGhlIHJlY3QgaW50byBwYXJ0UmVuZGVyZXIncyBjb29yZHMuCisgICAgcGFy
dFJlY3QubW92ZShvZmZzZXRGcm9tSW5wdXRSZW5kZXJlcik7CisgICAgLy8gQWNjb3VudCBmb3Ig
dGhlIGxvY2FsIGRyYXdpbmcgb2Zmc2V0LgorICAgIHBhcnRSZWN0Lm1vdmUobG9jYWxPZmZzZXQu
eCgpLCBsb2NhbE9mZnNldC55KCkpOworCisgICAgcmV0dXJuIHBhcnRSZWN0OwogfQogCiBib29s
IFJlbmRlclRoZW1lUXQ6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24oUmVuZGVyT2JqZWN0
KiBvLCBjb25zdCBQYWludEluZm8mIHBpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIHIpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICByZXR1cm4gUmVuZGVyVGhlbWU6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0
b24obywgcGksIHIpOworICAgIC8vIEFkYXB0ZWQgZnJvbSBSZW5kZXJUaGVtZUNocm9taXVtLmNw
cAorCisgICAgLy8gR2V0IHRoZSByZW5kZXJlciBvZiA8aW5wdXQ+IGVsZW1lbnQuCisgICAgTm9k
ZSogaW5wdXQgPSBvLT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOworICAgIGlmICghaW5w
dXQtPnJlbmRlcmVyKCktPmlzQm94KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBSZW5k
ZXJCb3gqIGlucHV0UmVuZGVyQm94ID0gdG9SZW5kZXJCb3goaW5wdXQtPnJlbmRlcmVyKCkpOwor
ICAgIEludFJlY3QgaW5wdXRDb250ZW50Qm94ID0gaW5wdXRSZW5kZXJCb3gtPmNvbnRlbnRCb3hS
ZWN0KCk7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxlZCBidXR0b24gc3RheXMgc3F1YXJl
IGFuZCB3aWxsIGZpdCBpbiBpdHMgcGFyZW50J3MgYm94LgorICAgIGludCBjYW5jZWxCdXR0b25T
aXplID0gcU1pbihpbnB1dENvbnRlbnRCb3gud2lkdGgoKSwgcU1pbihpbnB1dENvbnRlbnRCb3gu
aGVpZ2h0KCksIHIuaGVpZ2h0KCkpKTsKKyAgICAvLyBDYWxjdWxhdGUgY2FuY2VsIGJ1dHRvbidz
IGNvb3JkaW5hdGVzIHJlbGF0aXZlIHRvIHRoZSBpbnB1dCBlbGVtZW50LgorICAgIC8vIENlbnRl
ciB0aGUgYnV0dG9uIHZlcnRpY2FsbHkuICBSb3VuZCB1cCB0aG91Z2gsIHNvIGlmIGl0IGhhcyB0
byBiZSBvbmUgcGl4ZWwgb2ZmLWNlbnRlciwgaXQgd2lsbAorICAgIC8vIGJlIG9uZSBwaXhlbCBj
bG9zZXIgdG8gdGhlIGJvdHRvbSBvZiB0aGUgZmllbGQuICBUaGlzIHRlbmRzIHRvIGxvb2sgYmV0
dGVyIHdpdGggdGhlIHRleHQuCisgICAgSW50UmVjdCBjYW5jZWxCdXR0b25SZWN0KG8tPm9mZnNl
dEZyb21BbmNlc3RvckNvbnRhaW5lcihpbnB1dFJlbmRlckJveCkud2lkdGgoKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW5wdXRDb250ZW50Qm94LnkoKSArIChpbnB1dENvbnRlbnRC
b3guaGVpZ2h0KCkgLSBjYW5jZWxCdXR0b25TaXplICsgMSkgLyAyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjYW5jZWxCdXR0b25TaXplLCBjYW5jZWxCdXR0b25TaXplKTsKKyAgICBJ
bnRSZWN0IHBhaW50aW5nUmVjdCA9IGNvbnZlcnRUb1BhaW50aW5nUmVjdChpbnB1dFJlbmRlckJv
eCwgbywgY2FuY2VsQnV0dG9uUmVjdCwgcik7CisgICAgc3RhdGljIEltYWdlKiBjYW5jZWxJbWFn
ZSA9IEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSgic2VhcmNoQ2FuY2VsQnV0dG9uIikucmVs
ZWFzZVJlZigpOworICAgIHN0YXRpYyBJbWFnZSogY2FuY2VsUHJlc3NlZEltYWdlID0gSW1hZ2U6
OmxvYWRQbGF0Zm9ybVJlc291cmNlKCJzZWFyY2hDYW5jZWxCdXR0b25QcmVzc2VkIikucmVsZWFz
ZVJlZigpOworICAgIHBpLmNvbnRleHQtPmRyYXdJbWFnZShpc1ByZXNzZWQobykgPyBjYW5jZWxQ
cmVzc2VkSW1hZ2UgOiBjYW5jZWxJbWFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG8tPnN0eWxlKCktPmNvbG9yU3BhY2UoKSwgcGFpbnRpbmdSZWN0KTsKKyAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGREZWNvcmF0
aW9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKaW5kZXggN2FiNjc2OWJiNTE1ZTQwMzViOTFj
MWVmNDA4N2I1OTZmN2Q4NTEzZi4uMDU5MzA4YTkyODdhMTAyOWI4MWQwMDk2MDJmOTVjNDI1OTU0
N2ZhOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKQEAgLTE3Nyw2ICsxNzcsOCBA
QCBwcml2YXRlOgogCiAgICAgUVN0eWxlKiBmYWxsYmFja1N0eWxlKCkgY29uc3Q7CiAKKyAgICBJ
bnRSZWN0IGNvbnZlcnRUb1BhaW50aW5nUmVjdChSZW5kZXJPYmplY3QqIGlucHV0UmVuZGVyZXIs
IGNvbnN0IFJlbmRlck9iamVjdCogcGFydFJlbmRlcmVyLCBJbnRSZWN0IHBhcnRSZWN0LCBjb25z
dCBJbnRSZWN0JiBsb2NhbE9mZnNldCkgY29uc3Q7CisKICAgICBQYWdlKiBtX3BhZ2U7CiAKICNp
ZmRlZiBRX1dTX01BQwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3Bw
IGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IDNjZDM2ZjI0Nzg1M2VjYWRk
MjMxOGRlM2JhNzEyOTVjNTA4MTU3N2EuLjZlYzM4YmExMjQxMmMxZDhkZTdjNTcwYTZkYzNiYzg3
MDEzM2M4NTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAorKysg
Yi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNs
dWRlIDxRU2hhcmVkRGF0YT4KICNpbmNsdWRlIDxRVXJsPgogI2luY2x1ZGUgPFFGaWxlSW5mbz4K
KyNpbmNsdWRlIDxRU3R5bGU+CiAKICNpbmNsdWRlICJOZXR3b3JrU3RhdGVOb3RpZmllci5oIgog
CkBAIC0xMDEsNiArMTAyLDggQEAgc3RhdGljIFdlYkdyYXBoaWNIYXNoKiBncmFwaGljcygpCiAg
ICAgICAgIGhhc2gtPmluc2VydChRV2ViU2V0dGluZ3M6OlRleHRBcmVhU2l6ZUdyaXBDb3JuZXJH
cmFwaGljLCBRUGl4bWFwKFFMYXRpbjFTdHJpbmcoIjp3ZWJraXQvcmVzb3VyY2VzL3RleHRBcmVh
UmVzaXplQ29ybmVyLnBuZyIpKSk7CiAgICAgICAgIGhhc2gtPmluc2VydChRV2ViU2V0dGluZ3M6
OkRlbGV0ZUJ1dHRvbkdyYXBoaWMsIFFQaXhtYXAoUUxhdGluMVN0cmluZygiOndlYmtpdC9yZXNv
dXJjZXMvZGVsZXRlQnV0dG9uLnBuZyIpKSk7CiAgICAgICAgIGhhc2gtPmluc2VydChRV2ViU2V0
dGluZ3M6OklucHV0U3BlZWNoQnV0dG9uR3JhcGhpYywgUVBpeG1hcChRTGF0aW4xU3RyaW5nKCI6
d2Via2l0L3Jlc291cmNlcy9pbnB1dFNwZWVjaC5wbmciKSkpOworICAgICAgICBoYXNoLT5pbnNl
cnQoUVdlYlNldHRpbmdzOjpTZWFyY2hDYW5jZWxCdXR0b25HcmFwaGljLCBRQXBwbGljYXRpb246
OnN0eWxlKCktPnN0YW5kYXJkUGl4bWFwKFFTdHlsZTo6U1BfRGlhbG9nQ2xvc2VCdXR0b24pKTsK
KyAgICAgICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0aW5nczo6U2VhcmNoQ2FuY2VsQnV0dG9uUHJl
c3NlZEdyYXBoaWMsIFFBcHBsaWNhdGlvbjo6c3R5bGUoKS0+c3RhbmRhcmRQaXhtYXAoUVN0eWxl
OjpTUF9EaWFsb2dDbG9zZUJ1dHRvbikpOwogICAgIH0KIAogICAgIHJldHVybiBoYXNoOwpAQCAt
MzcyLDYgKzM3NSw5IEBAIFFXZWJTZXR0aW5ncyogUVdlYlNldHRpbmdzOjpnbG9iYWxTZXR0aW5n
cygpCiAgICAgXHZhbHVlIERlZmF1bHRGcmFtZUljb25HcmFwaGljIFRoZSBkZWZhdWx0IGljb24g
Zm9yIFFXZWJGcmFtZTo6aWNvbigpLgogICAgIFx2YWx1ZSBUZXh0QXJlYVNpemVHcmlwQ29ybmVy
R3JhcGhpYyBUaGUgZ3JhcGhpYyBzaG93biBmb3IgdGhlIHNpemUgZ3JpcCBvZiB0ZXh0IGFyZWFz
LgogICAgIFx2YWx1ZSBEZWxldGVCdXR0b25HcmFwaGljIFRoZSBncmFwaGljIHNob3duIGZvciB0
aGUgV2ViS2l0LUVkaXRpbmctRGVsZXRlLUJ1dHRvbiBpbiBEZWxldGlvbiBVSS4KKyAgICBcdmFs
dWUgSW5wdXRTcGVlY2hCdXR0b25HcmFwaGljIFRoZSBncmFwaGljIHNob3duIGluIGlucHV0IGZp
ZWxkcyB0aGF0IHN1cHBvcnQgc3BlZWNoIHJlY29nbml0aW9uLgorICAgIFx2YWx1ZSBTZWFyY2hD
YW5jZWxCdXR0b25HcmFwaGljIFRoZSBncmFwaGljIHNob3duIGZvciBjbGVhcmluZyB0aGUgdGV4
dCBpbiBhIHNlYXJjaCBmaWVsZC4KKyAgICBcdmFsdWUgU2VhcmNoQ2FuY2VsQnV0dG9uUHJlc3Nl
ZEdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24gd2hlbiBTZWFyY2hDYW5jZWxCdXR0b25HcmFwaGlj
IGlzIHByZXNzZWQuCiAqLwogCiAvKiEKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnNl
dHRpbmdzLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCmluZGV4IDdkYWQ3MmZjZDNl
YTMwODFmMzhhZWNkNDVmZmVlNTMyMmJkOTU4NTIuLmM1ZjU2OTQ5NTliZmY5NGIyMzZiZmQ5ZDcy
MjYwNWZlNjE0YTVkOTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgK
KysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaApAQCAtODUsNyArODUsOSBAQCBwdWJs
aWM6CiAgICAgICAgIERlZmF1bHRGcmFtZUljb25HcmFwaGljLAogICAgICAgICBUZXh0QXJlYVNp
emVHcmlwQ29ybmVyR3JhcGhpYywKICAgICAgICAgRGVsZXRlQnV0dG9uR3JhcGhpYywKLSAgICAg
ICAgSW5wdXRTcGVlY2hCdXR0b25HcmFwaGljCisgICAgICAgIElucHV0U3BlZWNoQnV0dG9uR3Jh
cGhpYywKKyAgICAgICAgU2VhcmNoQ2FuY2VsQnV0dG9uR3JhcGhpYywKKyAgICAgICAgU2VhcmNo
Q2FuY2VsQnV0dG9uUHJlc3NlZEdyYXBoaWMKICAgICB9OwogICAgIGVudW0gRm9udFNpemUgewog
ICAgICAgICBNaW5pbXVtRm9udFNpemUsCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9n
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAxMzBmNjE1MDgwYjQ1MjhmYjdhMTI5NDEwNmVl
YjA4NzVjZGQ2ZDRmLi43ZWI1ZmJlYzlkOWVkZTg5MmU0NGNmM2ExMGY3OTNkZTQ5ZWM2OWU1IDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMC0yOCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W1F0XSBTZWFyY2ggaW5wdXQgZmllbGQgZG9lc24ndCBoYXZlIGNhbmNlbCBidXR0b24KKworICAg
ICAgICBBZGQgYSBjYW5jZWwgYnV0dG9uIHRvIHRoZSBzZWFyY2ggZmllbGQgYW5kIG1ha2UgaXQg
Y3VzdG9taXphYmxlCisgICAgICAgIGJ5IHRoZSBjbGllbnQuIEZvciBub3csIHVzZSB0aGUgY2xv
c2UgZGlhbG9nIGJ1dHRvbiBhc3NvY2lhdGVkCisgICAgICAgIHdpdGggdGhlIGFwcGxpY2F0aW9u
J3Mgc3R5bGUgYXMgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQyODg3CisKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNw
cDoKKyAgICAgICAgKGdyYXBoaWNzKToKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmg6CisK
IDIwMTAtMTAtMTggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>72220</attachid>
            <date>2010-10-28 12:48:29 -0700</date>
            <delta_ts>2010-10-28 12:48:29 -0700</delta_ts>
            <desc>Screenshot</desc>
            <filename>33170.png</filename>
            <type>image/png</type>
            <size>27266</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">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
KZ2/78LUEvNTjFiUDrxo+WIBfc7xD8ppWe12XnnexZJSOuStNSfm1/zs9Jmd6dQPLkyDYkF61bgl
6dCvt6Xd37YknX5TJS3rz7HMlWq6Y0J351EtTKdNXTH2qcX0/k3mp9hwUTrgK8U08aL29MuHVj8v
5oU7imnCl9vSOd8upm8ctyyd/8dq6nqP9NzkjnTmUUvTXp8ppptmrn5ifp/X3/F4Ou+dLWmDPX68
+m10NX3cb5dmp8kXfSJtGhunfS64Lc2cPzPddv7H0sjYNO33g78s30d7u1+vnbaF96Xz9x2bWiJS
jNg+HXjRX1/c3qWZ6YoPDUvRMCbtsM+X0xV3/SGdMLYpbfSer6YfXfzpNDpelcZfdXeaOf+Z9Mf/
/kTaJDZLB1x2X5pX7uN6exlfZfG0dPsPPpU2izHpkB/dlWbUPsB0Pp2uO+6jabePHZKO/vJJ6eun
nZ6+d/0/u9weFqd7v/HONDQKadNxn0zfvfmn6ZM7fjhNuOxPy28PtY9fnd08nvXwWJXK89Lfrjq4
1797DeV56f4fH5JGx+h08GU3pRt/uJaX72kbvPe0NHl+zaIHPT1m97Y/9HT9u34pnXfWx9d4XO5x
u/Znv6ydmu6eK3Sdrx9NTjOXLOj3vjLtyVvSqR98dRoUQ9Krxn0wHfr1k9Pub9srnX7TjG7vQ7r9
/b3N95w5q41txux/rr6vPver7ud/jW26FvtcjR6fL/WyjcuzJ/U4L0uX9XB9/dnvKnPSb448JF29
8mT4yvPpmkM/l26YU7Nf9ut+j/8UteegFDo6OtLSpUtXBcvIkSPrEkr/0RaV4v1btceEmcNj7+6O
F8/Iwj93xEVzm+Nrey0/X6JcTDH998XYY3w1fvjUsNij/4dqr1fMW/cGcl7W9zlum5eiYaNCtLyM
i78DQI7mz3/xRM1hw4aFQImIQmFBvYcA8JKktFG9hwAA66Q2UF7ishSvDC/lgT0Vq/GHS9rioOPL
sdPZQ+LYvZpj97es/qZu2Vhajk+9ekk8cdSwuPbk5nh1QzX+eXcpzvtmZ4w6a1h86/09rIS0vjNv
3RvIeTHHAMAKXkFZzzxzfVsccHRH3DM7omFkY7zv44PiK6cOjj22KqzT0srrC/PWvYGcF3MMAOun
7g/xWrJk1TdHbrxxPcYFAACsh+bPm7fq82HDhztqAgAAyIdAAQAAsiFQAACAbAgUAAAgGwIFAADI
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
AEA2LDMMAADUTW2LeAUFAADIhkABAACy0RQRlhkGAADqwzLDAABArgQKAACQDYECAABkoymFZYYB
AID6sMwwAACQLYECAABkwzLDAABA/VhmGAAAyJVAAQAAsiFQAACAbDRFWGYYAACoD8sMAwAA2RIo
AABANiwzDAAA1E/XFuShVqAAAAm3SURBVEnJKygAAEA+BAoAAJANgQIAAGRDoAAAANnwPigAAEDd
1LaIVbwAAID6qWkRh3gBAADZECgAAEA2BAoAAJANgQIAAGRDoAAAANmwzDAAAFA3qebzpkjJMsMA
AEB9WGYYAADIlUABAACyIVAAAIBsCBQAACAbAgUAAMiGZYYBAIC6qW2RpuXflSgAAEAdWGYYAADI
lUABAACyIVAAAIBsCBQAACAbAgUAAMhGUwrLDAMAAPVhmWEAACAflhkGAAByJVAAAIBsCBQAACAb
AgUAAMiGQAEAALLRFGGZYQAAoD4sMwwAAOSja4uk5BAvAAAgHwIFAADIhkABAACyIVAAAIBsCBQA
ACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkAB
AADqrlgsRoRAAQAA6qxYLMbUqVOjWCwKFAAAoL5aW1tj++23j9bWVoECAADUX0opIhziBQAA1JlD
vAAAgGw4xAsAAMiKQ7wAAIAsOMQLAADIhkO8AACArLS0tESEQ7wAAICMCBQAACAbAgUAAMiGQAEA
ALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQA
ACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkAB
AACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgU
AAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZA
AQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwI
FAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiG
QAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBs
CBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADI
hkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACA
bAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAA
yIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAA
gGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUA
AMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAA
AIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIF
AADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQ
AACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsC
BQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIh
UAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAb
AgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACy
IVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAg
GwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAA
siFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAA
IBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEA
ALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQA
ACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgGwIFAADIhkAB
AACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZAAQAAsiFQAACAbAgU
AAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwIFAAAIBsCBQAAyIZA
AQAAsiFQAACAbAgUAAAgGwIFAADIhkABAACyIVAAAIBsCBQAACAbAgUAAMiGQAEAALIhUAAAgGwI
FAAAIBsCBQAAyIZAAQAAsiFQAACAbAgUAAAgG02133hh9ux6jAMAAMArKAAAQD4ECgAAkA2BAgAA
ZEOgAAAA2RAoAABAXYzabLM1vte/QFly+0CPBQAAWI+N2myzOGnChDW+31CtVvu+9PDdXoYhAQAA
66Oe4qRarfYzUAAAAAZA1zj58sknr/Zv1Wo1Girlcj3GBQAArGdq46T2HJRypRIN5UqlHmMDAADW
I93FSe1hXtVKJRoipXqMDwAAWE/0J04iVhziVXaIFwAA8DLpLU5qz0Epl8vOQQEAAF4efcVJ7Tko
1Wo1GpJDvAAAgAHWnzipPcwrVavRUPIKCgAAMIDWJU6KxWKUyuVoqFrFCwAAGCBrEycrz0EpFosx
derUaFu2LBpKpVJ9Rg4AALyirG2crDwHpbW1NbbffvtobGyMwpQHHkhNTU31+QsAAID1XrFYjNbW
1uWreM2aNave4wEAANYzxWJx1X+nTp0aHR0d8cysWdFw39/+Fu3t7XUeHgAAsL7oGiUrD+8qd3bG
CV/5ShROPPHEVCwWY+d3vzvGbrNNREQMGjSozkMGAABeydrb26OhoSEiIv45bVrcfc89MXTo0Pj/
U9wVBaRlRPcAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78431</attachid>
            <date>2011-01-10 12:46:07 -0800</date>
            <delta_ts>2011-01-10 13:04:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42887-20110110204604.patch</filename>
            <type>text/plain</type>
            <size>16845</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmMzRiZmQ2NTE3YTI4ZDMxOThhZTFlYmU5Y2E1NjFmZmM3NTBjMDMxLi4wNzQ0OWM1
NDYwNGI4MDcxZDBmOTlhMzMxNjM5Nzk1YzI4YWE1YWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAK
KzIwMTAtMTAtMjggIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gU2VhcmNoIGlucHV0
IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCisgICAgICAgIEFkZCBhIGNhbmNlbCBi
dXR0b24gdG8gdGhlIHNlYXJjaCBmaWVsZCBhbmQgbWFrZSBpdCBjdXN0b21pemFibGUKKyAgICAg
ICAgYnkgdGhlIGNsaWVudC4gRm9yIG5vdywgdXNlIHRoZSBjbG9zZSBkaWFsb2cgYnV0dG9uIGFz
c29jaWF0ZWQKKyAgICAgICAgd2l0aCB0aGUgYXBwbGljYXRpb24ncyBzdHlsZSBhcyB0aGUgZGVm
YXVsdC4KKworICAgICAgICBVbnNraXAgYSBidW5jaCBvZiBzZWFyY2ggZmllbGQgcmVsYXRlZCB0
ZXN0cyB0aGF0IHBhc3Mgbm93OgorCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1i
dXR0b24tbW91c2V1cC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLXJ0bC5odG1sCisg
ICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWFicy1wb3MtY2FuY2VsLWJ1dHRvbi5odG1sCisgICAg
ICAgIGZhc3QvZm9ybXMvc2VhcmNoLXN0eWxlZC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2Vh
cmNoLXRyYW5zZm9ybWVkLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtem9vbWVkLmh0
bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRvbi1zdHlsZS1zaGFyaW5n
Lmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtZGlzcGxheS1ub25lLWNhbmNlbC1idXR0
b24uaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1wbGFjZWhvbGRlci12YWx1ZS1jaGFu
Z2VkLmh0bWwKKyAgICAgICAgZmFzdC9yZXBhaW50L3NlYXJjaC1maWVsZC1jYW5jZWwuaHRtbAor
ICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLWV2ZW50cy5odG1sCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODg3CisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDExLTAxLTA3ICBOaWNvIFdlYmVyICA8
dGhha2lzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCB0ZXN0IGV4cGVjdGF0
aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDc3YjE3OTczNjg0YmRjYjEzYmQ5YWQ2
NTk4NzUwODAxZDU5Y2IxOTcuLjYwNmZmYzAzNWNlMzFmNDgyNDExNDdhYWU4N2RhNDc5NTYzNWVh
YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtNDg2LDcgKzQ4Niw2IEBAIGZhc3QvZG9t
L29wZW4tYW5kLWNsb3NlLWJ5LURPTS5odG1sCiBmYXN0L2RvbS9XaW5kb3cvbmV3LXdpbmRvdy1v
cGVuZXIuaHRtbAogZmFzdC9mb3Jtcy8wMDEuaHRtbAogZmFzdC9mb3Jtcy9mb2N1czIuaHRtbAot
ZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRvbi1tb3VzZXVwLmh0bWwKIGZhc3QvZnJhbWVz
LzAwMS5odG1sCiBmYXN0L3RleHQvbW9ub3NwYWNlLXdpZHRoLWNhY2hlLmh0bWwKIApAQCAtMjMy
MSw3ICsyMzIwLDYgQEAgZmFzdC9mb3Jtcy9saXN0Ym94LW9uY2hhbmdlLmh0bWwKIGZhc3QvZm9y
bXMvbGlzdGJveC1zZWxlY3Rpb24tMi5odG1sCiBmYXN0L2Zvcm1zL2xpc3Rib3gtc2VsZWN0aW9u
Lmh0bWwKIGZhc3QvZm9ybXMvb25zZWxlY3QtdGV4dGFyZWEuaHRtbAotZmFzdC9mb3Jtcy9zZWFy
Y2gtcnRsLmh0bWwKIGZhc3QvZm9ybXMvc2VsZWN0LXdyaXRpbmctZGlyZWN0aW9uLW5hdHVyYWwu
aHRtbAogZmFzdC9mb3Jtcy90YWJiaW5nLWlucHV0LWlmcmFtZS5odG1sCiBmYXN0L2Zvcm1zL3Rl
eHRBcmVhTGluZUhlaWdodC5odG1sCkBAIC0yMzgxLDcgKzIzNzksNiBAQCBmYXN0L2VuY29kaW5n
L2hlYnJldy84ODU5LTgtaS5odG1sCiBmYXN0L2VuY29kaW5nL2hlYnJldy9sb2dpY2FsLmh0bWwK
IGZhc3QvZXZlbnRzL2NyYXNoLW9uLW11dGF0ZS1kdXJpbmctZHJvcC5odG1sCiBmYXN0L2Zvcm1z
L29wdGlvbi1tb3VzZWV2ZW50cy5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1hYnMtcG9zLWNhbmNl
bC1idXR0b24uaHRtbAogZmFzdC9mb3Jtcy90ZXh0LWNvbnRyb2wtaW50cmluc2ljLXdpZHRocy5o
dG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLW1ldHJpY3MuaHRtbAogZmFzdC9oaXN0b3J5L3dpbmRv
dy1vcGVuLmh0bWwKQEAgLTI0MzksOSArMjQzNiw2IEBAIGZhc3QvZm9ybXMvbGlzdGJveC1kZXNl
bGVjdC1zY3JvbGwuaHRtbAogZmFzdC9mb3Jtcy9saXN0Ym94LWhpdC10ZXN0LXpvb21lZC5odG1s
CiBmYXN0L2Zvcm1zL25lZ2F0aXZlTGluZUhlaWdodC5odG1sCiBmYXN0L2Zvcm1zL3BsYWNlaG9s
ZGVyLXBzZXVkby1zdHlsZS5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1zdHlsZWQuaHRtbAotZmFz
dC9mb3Jtcy9zZWFyY2gtdHJhbnNmb3JtZWQuaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtem9vbWVk
Lmh0bWwKIGZhc3QvZm9ybXMvdGV4dGFyZWEtYWxpZ24uaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJl
YS1zZXRpbm5lcmh0bWwuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJlYS13aWR0aC5odG1sCkBAIC0z
MjE1LDkgKzMyMDksNiBAQCBmYXN0L2Zvcm1zL3JhZGlvLW5lc3RlZC1sYWJlbHMuaHRtbAogZmFz
dC9mb3Jtcy9yYWRpb19jaGVja2VkLmh0bWwKIGZhc3QvZm9ybXMvcmFkaW9fY2hlY2tlZF9keW5h
bWljLmh0bWwKIGZhc3QvZm9ybXMvcmFuZ2UtdGh1bWItaGVpZ2h0LXBlcmNlbnRhZ2UuaHRtbAot
ZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRvbi1zdHlsZS1zaGFyaW5nLmh0bWwKLWZhc3Qv
Zm9ybXMvc2VhcmNoLWRpc3BsYXktbm9uZS1jYW5jZWwtYnV0dG9uLmh0bWwKLWZhc3QvZm9ybXMv
c2VhcmNoLXBsYWNlaG9sZGVyLXZhbHVlLWNoYW5nZWQuaHRtbAogZmFzdC9mb3Jtcy9zZWFyY2hm
aWVsZC1oZWlnaHRzLmh0bWwKIGZhc3QvZm9ybXMvc2VsZWN0LWFjY2Vzc2tleS5odG1sCiBmYXN0
L2Zvcm1zL3NlbGVjdC1hbGlnbi5odG1sCkBAIC0zNTUyLDcgKzM1NDMsNiBAQCBmYXN0L3JlcGFp
bnQvcmVmbGVjdGlvbi1yZWRyYXcuaHRtbAogZmFzdC9yZXBhaW50L3JlZmxlY3Rpb24tcmVwYWlu
dC10ZXN0Lmh0bWwKIGZhc3QvcmVwYWludC9yZW5kZXJlci1kZXN0cnVjdGlvbi1ieS1pbnZhbGlk
YXRlU2VsZWN0aW9uLWNyYXNoLmh0bWwKIGZhc3QvcmVwYWludC9yZXBhaW50LXJlc2l6ZWQtb3Zl
cmZsb3cuaHRtbAotZmFzdC9yZXBhaW50L3NlYXJjaC1maWVsZC1jYW5jZWwuaHRtbAogZmFzdC9y
ZXBhaW50L3NlbGVjdGVkLXJlcGxhY2VkLmh0bWwKIGZhc3QvcmVwYWludC9zZWxlY3Rpb24tY2xl
YXIuaHRtbAogZmFzdC9yZXBhaW50L3N0YXRpYy10by1wb3NpdGlvbmVkLmh0bWwKQEAgLTUyMTUs
MTAgKzUyMDUsNiBAQCBhbmltYXRpb25zL3N1c3BlbmQtcmVzdW1lLWFuaW1hdGlvbi5odG1sCiBh
bmltYXRpb25zL3N1c3BlbmQtcmVzdW1lLWFuaW1hdGlvbi1ldmVudHMuaHRtbAogYW5pbWF0aW9u
cy9zdG9wLWFuaW1hdGlvbi1vbi1zdXNwZW5kLmh0bWwKIAotIyBbUXRdIFNlYXJjaCBpbnB1dCBm
aWVsZCBkb2Vzbid0IGhhdmUgY2FuY2VsIGJ1dHRvbgotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDI4ODcKLWZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24t
ZXZlbnRzLmh0bWwKLQogIyBbUXRdIERSVCBzaWRlZWZmZWN0IHJldmVhbGVkIGJ5IHI2MzY1Nwog
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI1NzgKIGh0dHAvdGVz
dHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWNzcy1pbi1tYWluLWZyYW1lLmh0bWwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Mjc5NTY1MTcyMzkzZTBjNzk0MGIzYjQwODEzNTU3MjhmM2EzNDA0OC4uZTk2M2NjYjhkMGIxM2Vm
MjRlZTc4Y2FiZmE3MWU0ODMyMDM4MmExMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0xMC0yOCAgUm9i
ZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBTZWFyY2ggaW5wdXQgZmllbGQgZG9lc24ndCBo
YXZlIGNhbmNlbCBidXR0b24KKworICAgICAgICBBZGQgYSBjYW5jZWwgYnV0dG9uIHRvIHRoZSBz
ZWFyY2ggZmllbGQgYW5kIG1ha2UgaXQgY3VzdG9taXphYmxlCisgICAgICAgIGJ5IHRoZSBjbGll
bnQuIEZvciBub3csIHVzZSB0aGUgY2xvc2UgZGlhbG9nIGJ1dHRvbiBhc3NvY2lhdGVkCisgICAg
ICAgIHdpdGggdGhlIGFwcGxpY2F0aW9uJ3Mgc3R5bGUgYXMgdGhlIGRlZmF1bHQuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODg3CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9JbWFnZVF0LmNwcDoKKyAgICAgICAgKGxvYWRSZXNv
dXJjZVBpeG1hcCk6CisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0Ojpjb21wdXRlU2l6ZUJhc2VkT25TdHlsZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRDYW5jZWxC
dXR0b25TdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0Ojpjb252ZXJ0VG9Q
YWludGluZ1JlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRTZWFy
Y2hGaWVsZENhbmNlbEJ1dHRvbik6CisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVR
dC5oOgorCiAyMDExLTAxLTA3ICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0ltYWdlUXQuY3BwCmluZGV4IDQ5YWZkMjlmNzRhYjFmNDlmNzFiZjk3N2M5
YThiYjZmY2QyYjRiNWMuLmI2NmExY2E3ODc4ZTg2YjdmZTBiMGIwOGZjZWVlNjA5OTFlZTBkOTgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9JbWFnZVF0LmNwcApAQCAtNjgsNiArNjgs
MTAgQEAgc3RhdGljIFFQaXhtYXAgbG9hZFJlc291cmNlUGl4bWFwKGNvbnN0IGNoYXIgKm5hbWUp
CiAgICAgICAgIHBpeG1hcCA9IFFXZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhRV2ViU2V0dGluZ3M6
OkRlbGV0ZUJ1dHRvbkdyYXBoaWMpOwogICAgIGVsc2UgaWYgKCFxc3RyY21wKG5hbWUsICJpbnB1
dFNwZWVjaCIpKQogICAgICAgICBwaXhtYXAgPSBRV2ViU2V0dGluZ3M6OndlYkdyYXBoaWMoUVdl
YlNldHRpbmdzOjpJbnB1dFNwZWVjaEJ1dHRvbkdyYXBoaWMpOworICAgIGVsc2UgaWYgKCFxc3Ry
Y21wKG5hbWUsICJzZWFyY2hDYW5jZWxCdXR0b24iKSkKKyAgICAgICAgcGl4bWFwID0gUVdlYlNl
dHRpbmdzOjp3ZWJHcmFwaGljKFFXZWJTZXR0aW5nczo6U2VhcmNoQ2FuY2VsQnV0dG9uR3JhcGhp
Yyk7CisgICAgZWxzZSBpZiAoIXFzdHJjbXAobmFtZSwgInNlYXJjaENhbmNlbEJ1dHRvblByZXNz
ZWQiKSkKKyAgICAgICAgcGl4bWFwID0gUVdlYlNldHRpbmdzOjp3ZWJHcmFwaGljKFFXZWJTZXR0
aW5nczo6U2VhcmNoQ2FuY2VsQnV0dG9uUHJlc3NlZEdyYXBoaWMpOwogCiAgICAgcmV0dXJuIHBp
eG1hcDsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5j
cHAgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCmluZGV4IDJjYzM2MjU3
Y2IzMWIzZDFkNmExNzI4ZTJjNGYwNjRhZTg1NGNmZTguLjNhYmQwZjE2M2IzZjk0NzExNDkzM2E0
Y2M3MDBmYmI4ZWZkOWM0YTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVy
VGhlbWVRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcApA
QCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJRV2ViUGFnZUNs
aWVudC5oIgogI2luY2x1ZGUgIlF0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oIgorI2luY2x1ZGUg
InF3ZWJzZXR0aW5ncy5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgogI2lmIEVOQUJMRShQUk9H
UkVTU19UQUcpCiAjaW5jbHVkZSAiUmVuZGVyUHJvZ3Jlc3MuaCIKQEAgLTkyLDYgKzkzLDE1IEBA
IGlubGluZSBzdGF0aWMgdm9pZCBpbml0U3R5bGVPcHRpb24oUVdpZGdldCAqd2lkZ2V0LCBRU3R5
bGVPcHRpb24mIG9wdGlvbikKICAgICAgICAgb3B0aW9uLnN0YXRlID0gUVN0eWxlOjpTdGF0ZV9B
Y3RpdmUgfCBRU3R5bGU6OlN0YXRlX0VuYWJsZWQ7CiAgICAgfQogfQorLy8gVGhlc2UgdmFsdWVz
IGFsbCBtYXRjaCBTYWZhcmkvV2luL0Nocm9taXVtCitzdGF0aWMgY29uc3QgZmxvYXQgZGVmYXVs
dENvbnRyb2xGb250UGl4ZWxTaXplID0gMTM7CitzdGF0aWMgY29uc3QgZmxvYXQgZGVmYXVsdENh
bmNlbEJ1dHRvblNpemUgPSA5Oworc3RhdGljIGNvbnN0IGZsb2F0IG1pbkNhbmNlbEJ1dHRvblNp
emUgPSA1Oworc3RhdGljIGNvbnN0IGZsb2F0IG1heENhbmNlbEJ1dHRvblNpemUgPSAyMTsKK3N0
YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUg
PSAxMzsKK3N0YXRpYyBjb25zdCBmbG9hdCBtaW5TZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9u
U2l6ZSA9IDk7CitzdGF0aWMgY29uc3QgZmxvYXQgbWF4U2VhcmNoRmllbGRSZXN1bHRzRGVjb3Jh
dGlvblNpemUgPSAzMDsKK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0U2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uV2lkdGggPSAxODsKIAogCiBTdHlsZVBhaW50ZXI6OlN0eWxlUGFpbnRlcihSZW5k
ZXJUaGVtZVF0KiB0aGVtZSwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8pCkBAIC0xODYsNiAr
MTk2LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0Ojppc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVy
U3R5bGUqIHN0eWxlLCBjb25zdCBCb3JkZXJEYXRhJgogICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6
CiAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorICAgIC8vIEZJ
WE1FOiBOZWVkIHRvIGFkZCBTZWFyY2hGaWVsZFBhcnQgaWYgaXQgc2hvdWxkIGJlIHN0eWxlLWFi
bGUKICAgICBjYXNlIFRleHRGaWVsZFBhcnQ6CiAgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CiAgICAg
ICAgIHJldHVybiB0cnVlOwpAQCAtMjAxLDYgKzIxMiwyMCBAQCBpbnQgUmVuZGVyVGhlbWVRdDo6
cG9wdXBJbnRlcm5hbFBhZGRpbmdCb3R0b20oUmVuZGVyU3R5bGUqIHN0eWxlKSBjb25zdAogewog
ICAgIHJldHVybiAxOwogfQorI2Vsc2UKKy8vIFJlbW92ZSB0aGlzIHdoZW4gU2VhcmNoRmllbGRQ
YXJ0IGlzIHN0eWxlLWFibGUgaW4gUmVuZGVyVGhlbWU6OmlzQ29udHJvbFN0eWxlZAorYm9vbCBS
ZW5kZXJUaGVtZVF0Ojppc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBj
b25zdCBCb3JkZXJEYXRhJiBib3JkZXIsIGNvbnN0IEZpbGxMYXllciYgZmlsbCwgY29uc3QgQ29s
b3ImIGJhY2tncm91bmRDb2xvcikgY29uc3QKK3sKKyAgICBzd2l0Y2ggKHN0eWxlLT5hcHBlYXJh
bmNlKCkpIHsKKyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKKyAgICAgICAgLy8gVGVzdCB0aGUg
c3R5bGUgdG8gc2VlIGlmIHRoZSBVQSBib3JkZXIgYW5kIGJhY2tncm91bmQgbWF0Y2guCisgICAg
ICAgIHJldHVybiAoc3R5bGUtPmJvcmRlcigpICE9IGJvcmRlcgorICAgICAgICAgICAgICAgIHx8
ICpzdHlsZS0+YmFja2dyb3VuZExheWVycygpICE9IGZpbGwKKyAgICAgICAgICAgICAgICB8fCBz
dHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yKSAh
PSBiYWNrZ3JvdW5kQ29sb3IpOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBSZW5kZXJU
aGVtZTo6aXNDb250cm9sU3R5bGVkKHN0eWxlLCBib3JkZXIsIGZpbGwsIGJhY2tncm91bmRDb2xv
cik7CisgICAgfQorfQogI2VuZGlmCiAKIC8vIGZvciBzb21lIHdpZGdldCBwYWludGluZywgd2Ug
bmVlZCB0byBmYWxsYmFjayB0byBXaW5kb3dzIHN0eWxlCkBAIC00MTMsNiArNDM4LDcgQEAgdm9p
ZCBSZW5kZXJUaGVtZVF0Ojpjb21wdXRlU2l6ZUJhc2VkT25TdHlsZShSZW5kZXJTdHlsZSogcmVu
ZGVyU3R5bGUpIGNvbnN0CiAKICAgICBzd2l0Y2ggKHJlbmRlclN0eWxlLT5hcHBlYXJhbmNlKCkp
IHsKICAgICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKICAg
ICBjYXNlIFRleHRGaWVsZFBhcnQ6IHsKICAgICAgICAgaW50IHBhZGRpbmcgPSBmaW5kRnJhbWVM
aW5lV2lkdGgoc3R5bGUpOwogCkBAIC04ODYsMjggKzkxMiw2OSBAQCB2b2lkIFJlbmRlclRoZW1l
UXQ6OmFkanVzdFNsaWRlclRodW1iU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxl
KiBzdHlsZQogYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkKFJlbmRlck9iamVj
dCogbywgY29uc3QgUGFpbnRJbmZvJiBwaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBJbnRSZWN0JiByKQogewotICAgIHJldHVybiB0cnVlOworICAgIHJldHVy
biBwYWludFRleHRGaWVsZChvLCBwaSwgcik7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRq
dXN0U2VhcmNoRmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVyU3R5
bGUqIHN0eWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVs
ZW1lbnQqIGUpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBSZW5kZXJUaGVt
ZTo6YWRqdXN0U2VhcmNoRmllbGRTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAgIHN0eWxl
LT5zZXRCYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OnRyYW5zcGFyZW50KTsKKyAgICBzdHlsZS0+cmVz
ZXRCb3JkZXIoKTsKKyAgICBzdHlsZS0+cmVzZXRQYWRkaW5nKCk7CisgICAgY29tcHV0ZVNpemVC
YXNlZE9uU3R5bGUoc3R5bGUpOwogfQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJj
aEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRl
clN0eWxlKiBzdHlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBFbGVtZW50KiBlKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgUmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUoc2Vs
ZWN0b3IsIHN0eWxlLCBlKTsKKyAgICAvLyBUYWtlbiBmcm9tIFJlbmRlclRoZW1lQ2hyb21pdW0u
Y3BwCisKKyAgICAvLyBTY2FsZSB0aGUgYnV0dG9uIHNpemUgYmFzZWQgb24gdGhlIGZvbnQgc2l6
ZQorICAgIGZsb2F0IGZvbnRTY2FsZSA9IHN0eWxlLT5mb250U2l6ZSgpIC8gZGVmYXVsdENvbnRy
b2xGb250UGl4ZWxTaXplOworICAgIGludCBjYW5jZWxCdXR0b25TaXplID0gbHJvdW5kZihxTWlu
KHFNYXgobWluQ2FuY2VsQnV0dG9uU2l6ZSwgZGVmYXVsdENhbmNlbEJ1dHRvblNpemUgKiBmb250
U2NhbGUpLCBtYXhDYW5jZWxCdXR0b25TaXplKSk7CisgICAgc3R5bGUtPnNldFdpZHRoKExlbmd0
aChjYW5jZWxCdXR0b25TaXplLCBGaXhlZCkpOworICAgIHN0eWxlLT5zZXRIZWlnaHQoTGVuZ3Ro
KGNhbmNlbEJ1dHRvblNpemUsIEZpeGVkKSk7Cit9CisKKy8vIFRha2VuIGZyb20gUmVuZGVyVGhl
bWVDaHJvbWl1bS5jcHAKK0ludFJlY3QgUmVuZGVyVGhlbWVRdDo6Y29udmVydFRvUGFpbnRpbmdS
ZWN0KFJlbmRlck9iamVjdCogaW5wdXRSZW5kZXJlciwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXJ0
UmVuZGVyZXIsIEludFJlY3QgcGFydFJlY3QsIGNvbnN0IEludFJlY3QmIGxvY2FsT2Zmc2V0KSBj
b25zdAoreworICAgIC8vIENvbXB1dGUgYW4gb2Zmc2V0IGJldHdlZW4gdGhlIHBhcnQgcmVuZGVy
ZXIgYW5kIHRoZSBpbnB1dCByZW5kZXJlci4KKyAgICBJbnRTaXplIG9mZnNldEZyb21JbnB1dFJl
bmRlcmVyID0gLShwYXJ0UmVuZGVyZXItPm9mZnNldEZyb21BbmNlc3RvckNvbnRhaW5lcihpbnB1
dFJlbmRlcmVyKSk7CisgICAgLy8gTW92ZSB0aGUgcmVjdCBpbnRvIHBhcnRSZW5kZXJlcidzIGNv
b3Jkcy4KKyAgICBwYXJ0UmVjdC5tb3ZlKG9mZnNldEZyb21JbnB1dFJlbmRlcmVyKTsKKyAgICAv
LyBBY2NvdW50IGZvciB0aGUgbG9jYWwgZHJhd2luZyBvZmZzZXQuCisgICAgcGFydFJlY3QubW92
ZShsb2NhbE9mZnNldC54KCksIGxvY2FsT2Zmc2V0LnkoKSk7CisKKyAgICByZXR1cm4gcGFydFJl
Y3Q7CiB9CiAKIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRTZWFyY2hGaWVsZENhbmNlbEJ1dHRv
bihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgcGksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgcikKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBSZW5kZXJUaGVtZTo6cGFpbnRTZWFyY2hG
aWVsZENhbmNlbEJ1dHRvbihvLCBwaSwgcik7CisgICAgLy8gQWRhcHRlZCBmcm9tIFJlbmRlclRo
ZW1lQ2hyb21pdW0uY3BwCisKKyAgICAvLyBHZXQgdGhlIHJlbmRlcmVyIG9mIDxpbnB1dD4gZWxl
bWVudC4KKyAgICBOb2RlKiBpbnB1dCA9IG8tPm5vZGUoKS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7
CisgICAgaWYgKCFpbnB1dC0+cmVuZGVyZXIoKS0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIFJlbmRlckJveCogaW5wdXRSZW5kZXJCb3ggPSB0b1JlbmRlckJveChpbnB1dC0+
cmVuZGVyZXIoKSk7CisgICAgSW50UmVjdCBpbnB1dENvbnRlbnRCb3ggPSBpbnB1dFJlbmRlckJv
eC0+Y29udGVudEJveFJlY3QoKTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgc2NhbGVkIGJ1dHRv
biBzdGF5cyBzcXVhcmUgYW5kIHdpbGwgZml0IGluIGl0cyBwYXJlbnQncyBib3guCisgICAgaW50
IGNhbmNlbEJ1dHRvblNpemUgPSBxTWluKGlucHV0Q29udGVudEJveC53aWR0aCgpLCBxTWluKGlu
cHV0Q29udGVudEJveC5oZWlnaHQoKSwgci5oZWlnaHQoKSkpOworICAgIC8vIENhbGN1bGF0ZSBj
YW5jZWwgYnV0dG9uJ3MgY29vcmRpbmF0ZXMgcmVsYXRpdmUgdG8gdGhlIGlucHV0IGVsZW1lbnQu
CisgICAgLy8gQ2VudGVyIHRoZSBidXR0b24gdmVydGljYWxseS4gIFJvdW5kIHVwIHRob3VnaCwg
c28gaWYgaXQgaGFzIHRvIGJlIG9uZSBwaXhlbCBvZmYtY2VudGVyLCBpdCB3aWxsCisgICAgLy8g
YmUgb25lIHBpeGVsIGNsb3NlciB0byB0aGUgYm90dG9tIG9mIHRoZSBmaWVsZC4gIFRoaXMgdGVu
ZHMgdG8gbG9vayBiZXR0ZXIgd2l0aCB0aGUgdGV4dC4KKyAgICBJbnRSZWN0IGNhbmNlbEJ1dHRv
blJlY3Qoby0+b2Zmc2V0RnJvbUFuY2VzdG9yQ29udGFpbmVyKGlucHV0UmVuZGVyQm94KS53aWR0
aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dENvbnRlbnRCb3gueSgpICsg
KGlucHV0Q29udGVudEJveC5oZWlnaHQoKSAtIGNhbmNlbEJ1dHRvblNpemUgKyAxKSAvIDIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblNpemUsIGNhbmNlbEJ1dHRv
blNpemUpOworICAgIEludFJlY3QgcGFpbnRpbmdSZWN0ID0gY29udmVydFRvUGFpbnRpbmdSZWN0
KGlucHV0UmVuZGVyQm94LCBvLCBjYW5jZWxCdXR0b25SZWN0LCByKTsKKyAgICBzdGF0aWMgSW1h
Z2UqIGNhbmNlbEltYWdlID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKCJzZWFyY2hDYW5j
ZWxCdXR0b24iKS5yZWxlYXNlUmVmKCk7CisgICAgc3RhdGljIEltYWdlKiBjYW5jZWxQcmVzc2Vk
SW1hZ2UgPSBJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoInNlYXJjaENhbmNlbEJ1dHRvblBy
ZXNzZWQiKS5yZWxlYXNlUmVmKCk7CisgICAgcGkuY29udGV4dC0+ZHJhd0ltYWdlKGlzUHJlc3Nl
ZChvKSA/IGNhbmNlbFByZXNzZWRJbWFnZSA6IGNhbmNlbEltYWdlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgby0+c3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBwYWludGluZ1JlY3Qp
OworICAgIHJldHVybiBmYWxzZTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFy
Y2hGaWVsZERlY29yYXRpb25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVy
U3R5bGUqIHN0eWxlLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVt
ZVF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAppbmRleCBjMjgxNjhh
MzQ0Njk0NjQzYzNlZjM2NjQ5MDc0MjUwNDc2MzQxN2MyLi42OTgxNjQxMzBmYmViMTQ3NDYyZmUy
MTc1ZjJkNTA3NWNjZDAzYjY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRl
clRoZW1lUXQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaApAQCAt
ODEsOCArODEsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50
ZXJ2YWwoKSBjb25zdDsKIAotI2lmIFVTRShRVF9NT0JJTEVfVEhFTUUpCiAgICAgdmlydHVhbCBi
b29sIGlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IEJvcmRlckRhdGEm
LCBjb25zdCBGaWxsTGF5ZXImLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKSBjb25zdDsK
KyNpZiBVU0UoUVRfTU9CSUxFX1RIRU1FKQogICAgIHZpcnR1YWwgaW50IHBvcHVwSW50ZXJuYWxQ
YWRkaW5nQm90dG9tKFJlbmRlclN0eWxlKikgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTgwLDYgKzE4
MCw4IEBAIHByaXZhdGU6CiAKICAgICBRU3R5bGUqIGZhbGxiYWNrU3R5bGUoKSBjb25zdDsKIAor
ICAgIEludFJlY3QgY29udmVydFRvUGFpbnRpbmdSZWN0KFJlbmRlck9iamVjdCogaW5wdXRSZW5k
ZXJlciwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXJ0UmVuZGVyZXIsIEludFJlY3QgcGFydFJlY3Qs
IGNvbnN0IEludFJlY3QmIGxvY2FsT2Zmc2V0KSBjb25zdDsKKwogICAgIFBhZ2UqIG1fcGFnZTsK
IAogI2lmZGVmIFFfV1NfTUFDCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5n
cy5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKaW5kZXggZWQ0MjVjMjhmOTkw
Njg0YWI3ZWI0NmZkOTFiZTA1MDM3OGQ1OTk4Yi4uNmM1OWQ3MzQxMTk4MTAwMzU4OTA0NWU0YTU1
Y2ZjOGFkNTMwM2Y5NiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3Bw
CisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcApAQCAtNDgsNiArNDgsNyBAQAog
I2luY2x1ZGUgPFFTaGFyZWREYXRhPgogI2luY2x1ZGUgPFFVcmw+CiAjaW5jbHVkZSA8UUZpbGVJ
bmZvPgorI2luY2x1ZGUgPFFTdHlsZT4KIAogI2luY2x1ZGUgIk5ldHdvcmtTdGF0ZU5vdGlmaWVy
LmgiCiAKQEAgLTEwMSw2ICsxMDIsOCBAQCBzdGF0aWMgV2ViR3JhcGhpY0hhc2gqIGdyYXBoaWNz
KCkKICAgICAgICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0aW5nczo6VGV4dEFyZWFTaXplR3JpcENv
cm5lckdyYXBoaWMsIFFQaXhtYXAoUUxhdGluMVN0cmluZygiOndlYmtpdC9yZXNvdXJjZXMvdGV4
dEFyZWFSZXNpemVDb3JuZXIucG5nIikpKTsKICAgICAgICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0
aW5nczo6RGVsZXRlQnV0dG9uR3JhcGhpYywgUVBpeG1hcChRTGF0aW4xU3RyaW5nKCI6d2Via2l0
L3Jlc291cmNlcy9kZWxldGVCdXR0b24ucG5nIikpKTsKICAgICAgICAgaGFzaC0+aW5zZXJ0KFFX
ZWJTZXR0aW5nczo6SW5wdXRTcGVlY2hCdXR0b25HcmFwaGljLCBRUGl4bWFwKFFMYXRpbjFTdHJp
bmcoIjp3ZWJraXQvcmVzb3VyY2VzL2lucHV0U3BlZWNoLnBuZyIpKSk7CisgICAgICAgIGhhc2gt
Pmluc2VydChRV2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRvbkdyYXBoaWMsIFFBcHBsaWNh
dGlvbjo6c3R5bGUoKS0+c3RhbmRhcmRQaXhtYXAoUVN0eWxlOjpTUF9EaWFsb2dDbG9zZUJ1dHRv
bikpOworICAgICAgICBoYXNoLT5pbnNlcnQoUVdlYlNldHRpbmdzOjpTZWFyY2hDYW5jZWxCdXR0
b25QcmVzc2VkR3JhcGhpYywgUUFwcGxpY2F0aW9uOjpzdHlsZSgpLT5zdGFuZGFyZFBpeG1hcChR
U3R5bGU6OlNQX0RpYWxvZ0Nsb3NlQnV0dG9uKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGhhc2g7
CkBAIC0zNzIsNiArMzc1LDkgQEAgUVdlYlNldHRpbmdzKiBRV2ViU2V0dGluZ3M6Omdsb2JhbFNl
dHRpbmdzKCkKICAgICBcdmFsdWUgRGVmYXVsdEZyYW1lSWNvbkdyYXBoaWMgVGhlIGRlZmF1bHQg
aWNvbiBmb3IgUVdlYkZyYW1lOjppY29uKCkuCiAgICAgXHZhbHVlIFRleHRBcmVhU2l6ZUdyaXBD
b3JuZXJHcmFwaGljIFRoZSBncmFwaGljIHNob3duIGZvciB0aGUgc2l6ZSBncmlwIG9mIHRleHQg
YXJlYXMuCiAgICAgXHZhbHVlIERlbGV0ZUJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24g
Zm9yIHRoZSBXZWJLaXQtRWRpdGluZy1EZWxldGUtQnV0dG9uIGluIERlbGV0aW9uIFVJLgorICAg
IFx2YWx1ZSBJbnB1dFNwZWVjaEJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24gaW4gaW5w
dXQgZmllbGRzIHRoYXQgc3VwcG9ydCBzcGVlY2ggcmVjb2duaXRpb24uCisgICAgXHZhbHVlIFNl
YXJjaENhbmNlbEJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24gZm9yIGNsZWFyaW5nIHRo
ZSB0ZXh0IGluIGEgc2VhcmNoIGZpZWxkLgorICAgIFx2YWx1ZSBTZWFyY2hDYW5jZWxCdXR0b25Q
cmVzc2VkR3JhcGhpYyBUaGUgZ3JhcGhpYyBzaG93biB3aGVuIFNlYXJjaENhbmNlbEJ1dHRvbkdy
YXBoaWMgaXMgcHJlc3NlZC4KICovCiAKIC8qIQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9x
d2Vic2V0dGluZ3MuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKaW5kZXggMDU2OWFi
MGYzMmQ2ZjcwZTIzZDFjNGZjMjgwNmIzZDc3ODkwZDY3ZS4uMDA4MDM1YmE3NjJjYTI5Yzk3YzEx
NGNlNzRhMjhiMjVhMjExZmJmMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGlu
Z3MuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCkBAIC04NSw3ICs4NSw5IEBA
IHB1YmxpYzoKICAgICAgICAgRGVmYXVsdEZyYW1lSWNvbkdyYXBoaWMsCiAgICAgICAgIFRleHRB
cmVhU2l6ZUdyaXBDb3JuZXJHcmFwaGljLAogICAgICAgICBEZWxldGVCdXR0b25HcmFwaGljLAot
ICAgICAgICBJbnB1dFNwZWVjaEJ1dHRvbkdyYXBoaWMKKyAgICAgICAgSW5wdXRTcGVlY2hCdXR0
b25HcmFwaGljLAorICAgICAgICBTZWFyY2hDYW5jZWxCdXR0b25HcmFwaGljLAorICAgICAgICBT
ZWFyY2hDYW5jZWxCdXR0b25QcmVzc2VkR3JhcGhpYwogICAgIH07CiAgICAgZW51bSBGb250U2l6
ZSB7CiAgICAgICAgIE1pbmltdW1Gb250U2l6ZSwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFu
Z2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDQyOThkMGVmNmM3ZWUzNDQ2MTEwNGRm
ODNmODA5NTNjZDU3YWYxNmYuLmUxZmUzMTYyNzNhOGUzMjc2ZGUyNmM2OGY2ZmNkMzc3Y2QwNjM0
YmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTEwLTI4ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIFNlYXJjaCBpbnB1dCBmaWVsZCBkb2Vzbid0IGhhdmUgY2FuY2VsIGJ1dHRvbgor
CisgICAgICAgIEFkZCBhIGNhbmNlbCBidXR0b24gdG8gdGhlIHNlYXJjaCBmaWVsZCBhbmQgbWFr
ZSBpdCBjdXN0b21pemFibGUKKyAgICAgICAgYnkgdGhlIGNsaWVudC4gRm9yIG5vdywgdXNlIHRo
ZSBjbG9zZSBkaWFsb2cgYnV0dG9uIGFzc29jaWF0ZWQKKyAgICAgICAgd2l0aCB0aGUgYXBwbGlj
YXRpb24ncyBzdHlsZSBhcyB0aGUgZGVmYXVsdC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4ODcKKworICAgICAgICAqIEFwaS9xd2Vic2V0dGlu
Z3MuY3BwOgorICAgICAgICAoZ3JhcGhpY3MpOgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3Mu
aDoKKwogMjAxMS0wMS0wNyAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78436</attachid>
            <date>2011-01-10 13:04:14 -0800</date>
            <delta_ts>2011-01-10 13:07:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42887-20110110210411.patch</filename>
            <type>text/plain</type>
            <size>17678</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNTJhYTM0YzhlMDI1YjRjODQwY2Q0ZTRmMzExM2NiOTUzYmVlNGE3Li45NWFmNDVk
YjU5YzFmOWY1ZGFhOTZhMTg4ZGU0NGQzNmM1MGJkNzk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDEtMTAgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gU2VhcmNoIGlucHV0
IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCisKKyAgICAgICAgQWRkIGEgY2FuY2Vs
IGJ1dHRvbiB0byB0aGUgc2VhcmNoIGZpZWxkIGFuZCBtYWtlIGl0IGN1c3RvbWl6YWJsZQorICAg
ICAgICBieSB0aGUgY2xpZW50LiBGb3Igbm93LCB1c2UgdGhlIGNsb3NlIGRpYWxvZyBidXR0b24g
YXNzb2NpYXRlZAorICAgICAgICB3aXRoIHRoZSBhcHBsaWNhdGlvbidzIHN0eWxlIGFzIHRoZSBk
ZWZhdWx0LgorCisgICAgICAgIFVuc2tpcCBhIGJ1bmNoIG9mIHNlYXJjaCBmaWVsZCByZWxhdGVk
IHRlc3RzIHRoYXQgcGFzcyBub3c6CisKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2Vs
LWJ1dHRvbi1tb3VzZXVwLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtcnRsLmh0bWwK
KyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtYWJzLXBvcy1jYW5jZWwtYnV0dG9uLmh0bWwKKyAg
ICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtc3R5bGVkLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9z
ZWFyY2gtdHJhbnNmb3JtZWQuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC16b29tZWQu
aHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLXN0eWxlLXNoYXJp
bmcuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1kaXNwbGF5LW5vbmUtY2FuY2VsLWJ1
dHRvbi5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLXBsYWNlaG9sZGVyLXZhbHVlLWNo
YW5nZWQuaHRtbAorICAgICAgICBmYXN0L3JlcGFpbnQvc2VhcmNoLWZpZWxkLWNhbmNlbC5odG1s
CisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tZXZlbnRzLmh0bWwKKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4ODcKKwor
ICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIwMTEtMDEtMTAgIEdhdmluIEJhcnJh
Y2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggOGUyNDVkM2NhMmM5YjU0OTE4
NTkyNjRlYjZiZmI4ZTdkYWNlZDRlZS4uYmYyZmM3YmRiZTc1ZjYyOWQ5NzVkNDZmNWRhZGQ2Zjgz
ZDE2M2JmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC00ODcsNyArNDg3LDYgQEAgZmFz
dC9kb20vb3Blbi1hbmQtY2xvc2UtYnktRE9NLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9uZXctd2lu
ZG93LW9wZW5lci5odG1sCiBmYXN0L2Zvcm1zLzAwMS5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzMi5o
dG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLW1vdXNldXAuaHRtbAogZmFzdC9m
cmFtZXMvMDAxLmh0bWwKIGZhc3QvdGV4dC9tb25vc3BhY2Utd2lkdGgtY2FjaGUuaHRtbAogCkBA
IC0yMzIyLDcgKzIzMjEsNiBAQCBmYXN0L2Zvcm1zL2xpc3Rib3gtb25jaGFuZ2UuaHRtbAogZmFz
dC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi0yLmh0bWwKIGZhc3QvZm9ybXMvbGlzdGJveC1zZWxl
Y3Rpb24uaHRtbAogZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0YXJlYS5odG1sCi1mYXN0L2Zvcm1z
L3NlYXJjaC1ydGwuaHRtbAogZmFzdC9mb3Jtcy9zZWxlY3Qtd3JpdGluZy1kaXJlY3Rpb24tbmF0
dXJhbC5odG1sCiBmYXN0L2Zvcm1zL3RhYmJpbmctaW5wdXQtaWZyYW1lLmh0bWwKIGZhc3QvZm9y
bXMvdGV4dEFyZWFMaW5lSGVpZ2h0Lmh0bWwKQEAgLTIzODIsNyArMjM4MCw2IEBAIGZhc3QvZW5j
b2RpbmcvaGVicmV3Lzg4NTktOC1pLmh0bWwKIGZhc3QvZW5jb2RpbmcvaGVicmV3L2xvZ2ljYWwu
aHRtbAogZmFzdC9ldmVudHMvY3Jhc2gtb24tbXV0YXRlLWR1cmluZy1kcm9wLmh0bWwKIGZhc3Qv
Zm9ybXMvb3B0aW9uLW1vdXNlZXZlbnRzLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLWFicy1wb3Mt
Y2FuY2VsLWJ1dHRvbi5odG1sCiBmYXN0L2Zvcm1zL3RleHQtY29udHJvbC1pbnRyaW5zaWMtd2lk
dGhzLmh0bWwKIGZhc3QvZm9ybXMvdGV4dGFyZWEtbWV0cmljcy5odG1sCiBmYXN0L2hpc3Rvcnkv
d2luZG93LW9wZW4uaHRtbApAQCAtMjQ0MCw5ICsyNDM3LDYgQEAgZmFzdC9mb3Jtcy9saXN0Ym94
LWRlc2VsZWN0LXNjcm9sbC5odG1sCiBmYXN0L2Zvcm1zL2xpc3Rib3gtaGl0LXRlc3Qtem9vbWVk
Lmh0bWwKIGZhc3QvZm9ybXMvbmVnYXRpdmVMaW5lSGVpZ2h0Lmh0bWwKIGZhc3QvZm9ybXMvcGxh
Y2Vob2xkZXItcHNldWRvLXN0eWxlLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLXN0eWxlZC5odG1s
Ci1mYXN0L2Zvcm1zL3NlYXJjaC10cmFuc2Zvcm1lZC5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC16
b29tZWQuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJlYS1hbGlnbi5odG1sCiBmYXN0L2Zvcm1zL3Rl
eHRhcmVhLXNldGlubmVyaHRtbC5odG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXdpZHRoLmh0bWwK
QEAgLTMyMTYsOSArMzIxMCw2IEBAIGZhc3QvZm9ybXMvcmFkaW8tbmVzdGVkLWxhYmVscy5odG1s
CiBmYXN0L2Zvcm1zL3JhZGlvX2NoZWNrZWQuaHRtbAogZmFzdC9mb3Jtcy9yYWRpb19jaGVja2Vk
X2R5bmFtaWMuaHRtbAogZmFzdC9mb3Jtcy9yYW5nZS10aHVtYi1oZWlnaHQtcGVyY2VudGFnZS5o
dG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLXN0eWxlLXNoYXJpbmcuaHRtbAot
ZmFzdC9mb3Jtcy9zZWFyY2gtZGlzcGxheS1ub25lLWNhbmNlbC1idXR0b24uaHRtbAotZmFzdC9m
b3Jtcy9zZWFyY2gtcGxhY2Vob2xkZXItdmFsdWUtY2hhbmdlZC5odG1sCiBmYXN0L2Zvcm1zL3Nl
YXJjaGZpZWxkLWhlaWdodHMuaHRtbAogZmFzdC9mb3Jtcy9zZWxlY3QtYWNjZXNza2V5Lmh0bWwK
IGZhc3QvZm9ybXMvc2VsZWN0LWFsaWduLmh0bWwKQEAgLTM1NTMsNyArMzU0NCw2IEBAIGZhc3Qv
cmVwYWludC9yZWZsZWN0aW9uLXJlZHJhdy5odG1sCiBmYXN0L3JlcGFpbnQvcmVmbGVjdGlvbi1y
ZXBhaW50LXRlc3QuaHRtbAogZmFzdC9yZXBhaW50L3JlbmRlcmVyLWRlc3RydWN0aW9uLWJ5LWlu
dmFsaWRhdGVTZWxlY3Rpb24tY3Jhc2guaHRtbAogZmFzdC9yZXBhaW50L3JlcGFpbnQtcmVzaXpl
ZC1vdmVyZmxvdy5odG1sCi1mYXN0L3JlcGFpbnQvc2VhcmNoLWZpZWxkLWNhbmNlbC5odG1sCiBm
YXN0L3JlcGFpbnQvc2VsZWN0ZWQtcmVwbGFjZWQuaHRtbAogZmFzdC9yZXBhaW50L3NlbGVjdGlv
bi1jbGVhci5odG1sCiBmYXN0L3JlcGFpbnQvc3RhdGljLXRvLXBvc2l0aW9uZWQuaHRtbApAQCAt
NTIxNiwxMCArNTIwNiw2IEBAIGFuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLmh0
bWwKIGFuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLWV2ZW50cy5odG1sCiBhbmlt
YXRpb25zL3N0b3AtYW5pbWF0aW9uLW9uLXN1c3BlbmQuaHRtbAogCi0jIFtRdF0gU2VhcmNoIGlu
cHV0IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCi0jIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg4NwotZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1
dHRvbi1ldmVudHMuaHRtbAotCiAjIFtRdF0gRFJUIHNpZGVlZmZlY3QgcmV2ZWFsZWQgYnkgcjYz
NjU3CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjU3OAogaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtY3NzLWluLW1haW4tZnJhbWUu
aHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDA3MTJiNWIyNDQ2N2Y2MmFlYWI2NjJjNTU5MTFkNGU4Y2E1NTkz
MTguLjI3NWI5NzdkYzgwNWM5MjMxZDgxOGViMjI1YThiODNkMjgwYzJkNTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0MSBAQAorMjAxMS0wMS0xMCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W1F0XSBTZWFyY2ggaW5wdXQgZmllbGQgZG9lc24ndCBoYXZlIGNhbmNlbCBidXR0b24KKworICAg
ICAgICBBZGQgYSBjYW5jZWwgYnV0dG9uIHRvIHRoZSBzZWFyY2ggZmllbGQgYW5kIG1ha2UgaXQg
Y3VzdG9taXphYmxlCisgICAgICAgIGJ5IHRoZSBjbGllbnQuIEZvciBub3csIHVzZSB0aGUgY2xv
c2UgZGlhbG9nIGJ1dHRvbiBhc3NvY2lhdGVkCisgICAgICAgIHdpdGggdGhlIGFwcGxpY2F0aW9u
J3Mgc3R5bGUgYXMgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgVW5za2lwIGEgYnVuY2ggb2Ygc2Vh
cmNoIGZpZWxkIHJlbGF0ZWQgdGVzdHMgdGhhdCBwYXNzIG5vdzoKKworICAgICAgICBmYXN0L2Zv
cm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLW1vdXNldXAuaHRtbAorICAgICAgICBmYXN0L2Zvcm1z
L3NlYXJjaC1ydGwuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1hYnMtcG9zLWNhbmNl
bC1idXR0b24uaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1zdHlsZWQuaHRtbAorICAg
ICAgICBmYXN0L2Zvcm1zL3NlYXJjaC10cmFuc2Zvcm1lZC5odG1sCisgICAgICAgIGZhc3QvZm9y
bXMvc2VhcmNoLXpvb21lZC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1i
dXR0b24tc3R5bGUtc2hhcmluZy5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWRpc3Bs
YXktbm9uZS1jYW5jZWwtYnV0dG9uLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtcGxh
Y2Vob2xkZXItdmFsdWUtY2hhbmdlZC5odG1sCisgICAgICAgIGZhc3QvcmVwYWludC9zZWFyY2gt
ZmllbGQtY2FuY2VsLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRv
bi1ldmVudHMuaHRtbAorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00Mjg4NworCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5j
cHA6CisgICAgICAgIChsb2FkUmVzb3VyY2VQaXhtYXApOgorICAgICAgICAqIHBsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6aXND
b250cm9sU3R5bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmNvbXB1dGVT
aXplQmFzZWRPblN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50
U2VhcmNoRmllbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2Vh
cmNoRmllbGRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RT
ZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lUXQ6OmNvbnZlcnRUb1BhaW50aW5nUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9SZW5kZXJUaGVtZVF0Lmg6CisKIDIwMTEtMDEtMTAgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbi5wb3VsYWluQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0ltYWdlUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvSW1hZ2VRdC5jcHAKaW5kZXggNDlhZmQyOWY3NGFiMWY0OWY3MWJmOTc3YzlhOGJiNmZj
ZDJiNGI1Yy4uYjY2YTFjYTc4NzhlODZiN2ZlMGIwYjA4ZmNlZWU2MDk5MWVlMGQ5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKQEAgLTY4
LDYgKzY4LDEwIEBAIHN0YXRpYyBRUGl4bWFwIGxvYWRSZXNvdXJjZVBpeG1hcChjb25zdCBjaGFy
ICpuYW1lKQogICAgICAgICBwaXhtYXAgPSBRV2ViU2V0dGluZ3M6OndlYkdyYXBoaWMoUVdlYlNl
dHRpbmdzOjpEZWxldGVCdXR0b25HcmFwaGljKTsKICAgICBlbHNlIGlmICghcXN0cmNtcChuYW1l
LCAiaW5wdXRTcGVlY2giKSkKICAgICAgICAgcGl4bWFwID0gUVdlYlNldHRpbmdzOjp3ZWJHcmFw
aGljKFFXZWJTZXR0aW5nczo6SW5wdXRTcGVlY2hCdXR0b25HcmFwaGljKTsKKyAgICBlbHNlIGlm
ICghcXN0cmNtcChuYW1lLCAic2VhcmNoQ2FuY2VsQnV0dG9uIikpCisgICAgICAgIHBpeG1hcCA9
IFFXZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhRV2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRv
bkdyYXBoaWMpOworICAgIGVsc2UgaWYgKCFxc3RyY21wKG5hbWUsICJzZWFyY2hDYW5jZWxCdXR0
b25QcmVzc2VkIikpCisgICAgICAgIHBpeG1hcCA9IFFXZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhR
V2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRvblByZXNzZWRHcmFwaGljKTsKIAogICAgIHJl
dHVybiBwaXhtYXA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9S
ZW5kZXJUaGVtZVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXQuY3BwCmluZGV4IDJjYzM2MjU3Y2IzMWIzZDFkNmExNzI4ZTJjNGYwNjRhZTg1NGNmZTguLjNh
YmQwZjE2M2IzZjk0NzExNDkzM2E0Y2M3MDBmYmI4ZWZkOWM0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCkBAIC01MCw2ICs1MCw3IEBACiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUXRT
dHlsZU9wdGlvbldlYkNvbWJvQm94LmgiCisjaW5jbHVkZSAicXdlYnNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiUmVuZGVyQm94LmgiCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICNpbmNsdWRlICJS
ZW5kZXJQcm9ncmVzcy5oIgpAQCAtOTIsNiArOTMsMTUgQEAgaW5saW5lIHN0YXRpYyB2b2lkIGlu
aXRTdHlsZU9wdGlvbihRV2lkZ2V0ICp3aWRnZXQsIFFTdHlsZU9wdGlvbiYgb3B0aW9uKQogICAg
ICAgICBvcHRpb24uc3RhdGUgPSBRU3R5bGU6OlN0YXRlX0FjdGl2ZSB8IFFTdHlsZTo6U3RhdGVf
RW5hYmxlZDsKICAgICB9CiB9CisvLyBUaGVzZSB2YWx1ZXMgYWxsIG1hdGNoIFNhZmFyaS9XaW4v
Q2hyb21pdW0KK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0Q29udHJvbEZvbnRQaXhlbFNpemUg
PSAxMzsKK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0Q2FuY2VsQnV0dG9uU2l6ZSA9IDk7Citz
dGF0aWMgY29uc3QgZmxvYXQgbWluQ2FuY2VsQnV0dG9uU2l6ZSA9IDU7CitzdGF0aWMgY29uc3Qg
ZmxvYXQgbWF4Q2FuY2VsQnV0dG9uU2l6ZSA9IDIxOworc3RhdGljIGNvbnN0IGZsb2F0IGRlZmF1
bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSA9IDEzOworc3RhdGljIGNvbnN0IGZs
b2F0IG1pblNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplID0gOTsKK3N0YXRpYyBjb25z
dCBmbG9hdCBtYXhTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSA9IDMwOworc3RhdGlj
IGNvbnN0IGZsb2F0IGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25XaWR0aCA9IDE4Owog
CiAKIFN0eWxlUGFpbnRlcjo6U3R5bGVQYWludGVyKFJlbmRlclRoZW1lUXQqIHRoZW1lLCBjb25z
dCBQYWludEluZm8mIHBhaW50SW5mbykKQEAgLTE4Niw2ICsxOTYsNyBAQCBib29sIFJlbmRlclRo
ZW1lUXQ6OmlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJv
cmRlckRhdGEmCiAgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKICAgICBjYXNlIEJ1dHRvblBhcnQ6
CiAgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIFNlYXJj
aEZpZWxkUGFydCBpZiBpdCBzaG91bGQgYmUgc3R5bGUtYWJsZQogICAgIGNhc2UgVGV4dEZpZWxk
UGFydDoKICAgICBjYXNlIFRleHRBcmVhUGFydDoKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0y
MDEsNiArMjEyLDIwIEBAIGludCBSZW5kZXJUaGVtZVF0Ojpwb3B1cEludGVybmFsUGFkZGluZ0Jv
dHRvbShSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIDE7CiB9CisjZWxz
ZQorLy8gUmVtb3ZlIHRoaXMgd2hlbiBTZWFyY2hGaWVsZFBhcnQgaXMgc3R5bGUtYWJsZSBpbiBS
ZW5kZXJUaGVtZTo6aXNDb250cm9sU3R5bGVkCitib29sIFJlbmRlclRoZW1lUXQ6OmlzQ29udHJv
bFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJvcmRlckRhdGEmIGJvcmRl
ciwgY29uc3QgRmlsbExheWVyJiBmaWxsLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKSBj
b25zdAoreworICAgIHN3aXRjaCAoc3R5bGUtPmFwcGVhcmFuY2UoKSkgeworICAgIGNhc2UgU2Vh
cmNoRmllbGRQYXJ0OgorICAgICAgICAvLyBUZXN0IHRoZSBzdHlsZSB0byBzZWUgaWYgdGhlIFVB
IGJvcmRlciBhbmQgYmFja2dyb3VuZCBtYXRjaC4KKyAgICAgICAgcmV0dXJuIChzdHlsZS0+Ym9y
ZGVyKCkgIT0gYm9yZGVyCisgICAgICAgICAgICAgICAgfHwgKnN0eWxlLT5iYWNrZ3JvdW5kTGF5
ZXJzKCkgIT0gZmlsbAorICAgICAgICAgICAgICAgIHx8IHN0eWxlLT52aXNpdGVkRGVwZW5kZW50
Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpICE9IGJhY2tncm91bmRDb2xvcik7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIFJlbmRlclRoZW1lOjppc0NvbnRyb2xTdHlsZWQo
c3R5bGUsIGJvcmRlciwgZmlsbCwgYmFja2dyb3VuZENvbG9yKTsKKyAgICB9Cit9CiAjZW5kaWYK
IAogLy8gZm9yIHNvbWUgd2lkZ2V0IHBhaW50aW5nLCB3ZSBuZWVkIHRvIGZhbGxiYWNrIHRvIFdp
bmRvd3Mgc3R5bGUKQEAgLTQxMyw2ICs0MzgsNyBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OmNvbXB1
dGVTaXplQmFzZWRPblN0eWxlKFJlbmRlclN0eWxlKiByZW5kZXJTdHlsZSkgY29uc3QKIAogICAg
IHN3aXRjaCAocmVuZGVyU3R5bGUtPmFwcGVhcmFuY2UoKSkgewogICAgIGNhc2UgVGV4dEFyZWFQ
YXJ0OgorICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgogICAgIGNhc2UgVGV4dEZpZWxkUGFydDog
ewogICAgICAgICBpbnQgcGFkZGluZyA9IGZpbmRGcmFtZUxpbmVXaWR0aChzdHlsZSk7CiAKQEAg
LTg4NiwyOCArOTEyLDY5IEBAIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2xpZGVyVGh1bWJT
dHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqIHN0eWxlCiBib29sIFJlbmRlclRo
ZW1lUXQ6OnBhaW50U2VhcmNoRmllbGQoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8m
IHBpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3Qm
IHIpCiB7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIHBhaW50VGV4dEZpZWxkKG8sIHBp
LCByKTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZFN0eWxlKENT
U1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxlbWVudCogZSkgY29uc3QKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOwotICAgIFJlbmRlclRoZW1lOjphZGp1c3RTZWFyY2hGaWVsZFN0
eWxlKHNlbGVjdG9yLCBzdHlsZSwgZSk7CisgICAgc3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihD
b2xvcjo6dHJhbnNwYXJlbnQpOworICAgIHN0eWxlLT5yZXNldEJvcmRlcigpOworICAgIHN0eWxl
LT5yZXNldFBhZGRpbmcoKTsKKyAgICBjb21wdXRlU2l6ZUJhc2VkT25TdHlsZShzdHlsZSk7CiB9
CiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRDYW5jZWxCdXR0b25TdHls
ZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVyU3R5bGUqIHN0eWxlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZW1lbnQq
IGUpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBSZW5kZXJUaGVtZTo6YWRq
dXN0U2VhcmNoRmllbGRDYW5jZWxCdXR0b25TdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAg
IC8vIFRha2VuIGZyb20gUmVuZGVyVGhlbWVDaHJvbWl1bS5jcHAKKworICAgIC8vIFNjYWxlIHRo
ZSBidXR0b24gc2l6ZSBiYXNlZCBvbiB0aGUgZm9udCBzaXplCisgICAgZmxvYXQgZm9udFNjYWxl
ID0gc3R5bGUtPmZvbnRTaXplKCkgLyBkZWZhdWx0Q29udHJvbEZvbnRQaXhlbFNpemU7CisgICAg
aW50IGNhbmNlbEJ1dHRvblNpemUgPSBscm91bmRmKHFNaW4ocU1heChtaW5DYW5jZWxCdXR0b25T
aXplLCBkZWZhdWx0Q2FuY2VsQnV0dG9uU2l6ZSAqIGZvbnRTY2FsZSksIG1heENhbmNlbEJ1dHRv
blNpemUpKTsKKyAgICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKGNhbmNlbEJ1dHRvblNpemUsIEZp
eGVkKSk7CisgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoY2FuY2VsQnV0dG9uU2l6ZSwgRml4
ZWQpKTsKK30KKworLy8gVGFrZW4gZnJvbSBSZW5kZXJUaGVtZUNocm9taXVtLmNwcAorSW50UmVj
dCBSZW5kZXJUaGVtZVF0Ojpjb252ZXJ0VG9QYWludGluZ1JlY3QoUmVuZGVyT2JqZWN0KiBpbnB1
dFJlbmRlcmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIHBhcnRSZW5kZXJlciwgSW50UmVjdCBwYXJ0
UmVjdCwgY29uc3QgSW50UmVjdCYgbG9jYWxPZmZzZXQpIGNvbnN0Cit7CisgICAgLy8gQ29tcHV0
ZSBhbiBvZmZzZXQgYmV0d2VlbiB0aGUgcGFydCByZW5kZXJlciBhbmQgdGhlIGlucHV0IHJlbmRl
cmVyLgorICAgIEludFNpemUgb2Zmc2V0RnJvbUlucHV0UmVuZGVyZXIgPSAtKHBhcnRSZW5kZXJl
ci0+b2Zmc2V0RnJvbUFuY2VzdG9yQ29udGFpbmVyKGlucHV0UmVuZGVyZXIpKTsKKyAgICAvLyBN
b3ZlIHRoZSByZWN0IGludG8gcGFydFJlbmRlcmVyJ3MgY29vcmRzLgorICAgIHBhcnRSZWN0Lm1v
dmUob2Zmc2V0RnJvbUlucHV0UmVuZGVyZXIpOworICAgIC8vIEFjY291bnQgZm9yIHRoZSBsb2Nh
bCBkcmF3aW5nIG9mZnNldC4KKyAgICBwYXJ0UmVjdC5tb3ZlKGxvY2FsT2Zmc2V0LngoKSwgbG9j
YWxPZmZzZXQueSgpKTsKKworICAgIHJldHVybiBwYXJ0UmVjdDsKIH0KIAogYm9vbCBSZW5kZXJU
aGVtZVF0OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKFJlbmRlck9iamVjdCogbywgY29u
c3QgUGFpbnRJbmZvJiBwaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBJbnRSZWN0JiByKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0g
ICAgcmV0dXJuIFJlbmRlclRoZW1lOjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKG8sIHBp
LCByKTsKKyAgICAvLyBBZGFwdGVkIGZyb20gUmVuZGVyVGhlbWVDaHJvbWl1bS5jcHAKKworICAg
IC8vIEdldCB0aGUgcmVuZGVyZXIgb2YgPGlucHV0PiBlbGVtZW50LgorICAgIE5vZGUqIGlucHV0
ID0gby0+bm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAgICBpZiAoIWlucHV0LT5yZW5k
ZXJlcigpLT5pc0JveCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgUmVuZGVyQm94KiBp
bnB1dFJlbmRlckJveCA9IHRvUmVuZGVyQm94KGlucHV0LT5yZW5kZXJlcigpKTsKKyAgICBJbnRS
ZWN0IGlucHV0Q29udGVudEJveCA9IGlucHV0UmVuZGVyQm94LT5jb250ZW50Qm94UmVjdCgpOwor
CisgICAgLy8gTWFrZSBzdXJlIHRoZSBzY2FsZWQgYnV0dG9uIHN0YXlzIHNxdWFyZSBhbmQgd2ls
bCBmaXQgaW4gaXRzIHBhcmVudCdzIGJveC4KKyAgICBpbnQgY2FuY2VsQnV0dG9uU2l6ZSA9IHFN
aW4oaW5wdXRDb250ZW50Qm94LndpZHRoKCksIHFNaW4oaW5wdXRDb250ZW50Qm94LmhlaWdodCgp
LCByLmhlaWdodCgpKSk7CisgICAgLy8gQ2FsY3VsYXRlIGNhbmNlbCBidXR0b24ncyBjb29yZGlu
YXRlcyByZWxhdGl2ZSB0byB0aGUgaW5wdXQgZWxlbWVudC4KKyAgICAvLyBDZW50ZXIgdGhlIGJ1
dHRvbiB2ZXJ0aWNhbGx5LiAgUm91bmQgdXAgdGhvdWdoLCBzbyBpZiBpdCBoYXMgdG8gYmUgb25l
IHBpeGVsIG9mZi1jZW50ZXIsIGl0IHdpbGwKKyAgICAvLyBiZSBvbmUgcGl4ZWwgY2xvc2VyIHRv
IHRoZSBib3R0b20gb2YgdGhlIGZpZWxkLiAgVGhpcyB0ZW5kcyB0byBsb29rIGJldHRlciB3aXRo
IHRoZSB0ZXh0LgorICAgIEludFJlY3QgY2FuY2VsQnV0dG9uUmVjdChvLT5vZmZzZXRGcm9tQW5j
ZXN0b3JDb250YWluZXIoaW5wdXRSZW5kZXJCb3gpLndpZHRoKCksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlucHV0Q29udGVudEJveC55KCkgKyAoaW5wdXRDb250ZW50Qm94LmhlaWdo
dCgpIC0gY2FuY2VsQnV0dG9uU2l6ZSArIDEpIC8gMiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2FuY2VsQnV0dG9uU2l6ZSwgY2FuY2VsQnV0dG9uU2l6ZSk7CisgICAgSW50UmVjdCBw
YWludGluZ1JlY3QgPSBjb252ZXJ0VG9QYWludGluZ1JlY3QoaW5wdXRSZW5kZXJCb3gsIG8sIGNh
bmNlbEJ1dHRvblJlY3QsIHIpOworICAgIHN0YXRpYyBJbWFnZSogY2FuY2VsSW1hZ2UgPSBJbWFn
ZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoInNlYXJjaENhbmNlbEJ1dHRvbiIpLnJlbGVhc2VSZWYo
KTsKKyAgICBzdGF0aWMgSW1hZ2UqIGNhbmNlbFByZXNzZWRJbWFnZSA9IEltYWdlOjpsb2FkUGxh
dGZvcm1SZXNvdXJjZSgic2VhcmNoQ2FuY2VsQnV0dG9uUHJlc3NlZCIpLnJlbGVhc2VSZWYoKTsK
KyAgICBwaS5jb250ZXh0LT5kcmF3SW1hZ2UoaXNQcmVzc2VkKG8pID8gY2FuY2VsUHJlc3NlZElt
YWdlIDogY2FuY2VsSW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLT5z
dHlsZSgpLT5jb2xvclNwYWNlKCksIHBhaW50aW5nUmVjdCk7CisgICAgcmV0dXJuIGZhbHNlOwog
fQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkRGVjb3JhdGlvblN0eWxl
KENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKaW5kZXggYzI4MTY4YTM0NDY5NDY0
M2MzZWYzNjY0OTA3NDI1MDQ3NjM0MTdjMi4uNjk4MTY0MTMwZmJlYjE0NzQ2MmZlMjE3NWYyZDUw
NzVjY2QwM2I2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVy
VGhlbWVRdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQu
aApAQCAtODEsOCArODEsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJs
aW5rSW50ZXJ2YWwoKSBjb25zdDsKIAotI2lmIFVTRShRVF9NT0JJTEVfVEhFTUUpCiAgICAgdmly
dHVhbCBib29sIGlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IEJvcmRl
ckRhdGEmLCBjb25zdCBGaWxsTGF5ZXImLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKSBj
b25zdDsKKyNpZiBVU0UoUVRfTU9CSUxFX1RIRU1FKQogICAgIHZpcnR1YWwgaW50IHBvcHVwSW50
ZXJuYWxQYWRkaW5nQm90dG9tKFJlbmRlclN0eWxlKikgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTgw
LDYgKzE4MCw4IEBAIHByaXZhdGU6CiAKICAgICBRU3R5bGUqIGZhbGxiYWNrU3R5bGUoKSBjb25z
dDsKIAorICAgIEludFJlY3QgY29udmVydFRvUGFpbnRpbmdSZWN0KFJlbmRlck9iamVjdCogaW5w
dXRSZW5kZXJlciwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXJ0UmVuZGVyZXIsIEludFJlY3QgcGFy
dFJlY3QsIGNvbnN0IEludFJlY3QmIGxvY2FsT2Zmc2V0KSBjb25zdDsKKwogICAgIFBhZ2UqIG1f
cGFnZTsKIAogI2lmZGVmIFFfV1NfTUFDCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJz
ZXR0aW5ncy5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKaW5kZXggZWQ0MjVj
MjhmOTkwNjg0YWI3ZWI0NmZkOTFiZTA1MDM3OGQ1OTk4Yi4uNmM1OWQ3MzQxMTk4MTAwMzU4OTA0
NWU0YTU1Y2ZjOGFkNTMwM2Y5NiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGlu
Z3MuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcApAQCAtNDgsNiArNDgs
NyBAQAogI2luY2x1ZGUgPFFTaGFyZWREYXRhPgogI2luY2x1ZGUgPFFVcmw+CiAjaW5jbHVkZSA8
UUZpbGVJbmZvPgorI2luY2x1ZGUgPFFTdHlsZT4KIAogI2luY2x1ZGUgIk5ldHdvcmtTdGF0ZU5v
dGlmaWVyLmgiCiAKQEAgLTEwMSw2ICsxMDIsOCBAQCBzdGF0aWMgV2ViR3JhcGhpY0hhc2gqIGdy
YXBoaWNzKCkKICAgICAgICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0aW5nczo6VGV4dEFyZWFTaXpl
R3JpcENvcm5lckdyYXBoaWMsIFFQaXhtYXAoUUxhdGluMVN0cmluZygiOndlYmtpdC9yZXNvdXJj
ZXMvdGV4dEFyZWFSZXNpemVDb3JuZXIucG5nIikpKTsKICAgICAgICAgaGFzaC0+aW5zZXJ0KFFX
ZWJTZXR0aW5nczo6RGVsZXRlQnV0dG9uR3JhcGhpYywgUVBpeG1hcChRTGF0aW4xU3RyaW5nKCI6
d2Via2l0L3Jlc291cmNlcy9kZWxldGVCdXR0b24ucG5nIikpKTsKICAgICAgICAgaGFzaC0+aW5z
ZXJ0KFFXZWJTZXR0aW5nczo6SW5wdXRTcGVlY2hCdXR0b25HcmFwaGljLCBRUGl4bWFwKFFMYXRp
bjFTdHJpbmcoIjp3ZWJraXQvcmVzb3VyY2VzL2lucHV0U3BlZWNoLnBuZyIpKSk7CisgICAgICAg
IGhhc2gtPmluc2VydChRV2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRvbkdyYXBoaWMsIFFB
cHBsaWNhdGlvbjo6c3R5bGUoKS0+c3RhbmRhcmRQaXhtYXAoUVN0eWxlOjpTUF9EaWFsb2dDbG9z
ZUJ1dHRvbikpOworICAgICAgICBoYXNoLT5pbnNlcnQoUVdlYlNldHRpbmdzOjpTZWFyY2hDYW5j
ZWxCdXR0b25QcmVzc2VkR3JhcGhpYywgUUFwcGxpY2F0aW9uOjpzdHlsZSgpLT5zdGFuZGFyZFBp
eG1hcChRU3R5bGU6OlNQX0RpYWxvZ0Nsb3NlQnV0dG9uKSk7CiAgICAgfQogCiAgICAgcmV0dXJu
IGhhc2g7CkBAIC0zNzIsNiArMzc1LDkgQEAgUVdlYlNldHRpbmdzKiBRV2ViU2V0dGluZ3M6Omds
b2JhbFNldHRpbmdzKCkKICAgICBcdmFsdWUgRGVmYXVsdEZyYW1lSWNvbkdyYXBoaWMgVGhlIGRl
ZmF1bHQgaWNvbiBmb3IgUVdlYkZyYW1lOjppY29uKCkuCiAgICAgXHZhbHVlIFRleHRBcmVhU2l6
ZUdyaXBDb3JuZXJHcmFwaGljIFRoZSBncmFwaGljIHNob3duIGZvciB0aGUgc2l6ZSBncmlwIG9m
IHRleHQgYXJlYXMuCiAgICAgXHZhbHVlIERlbGV0ZUJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBoaWMg
c2hvd24gZm9yIHRoZSBXZWJLaXQtRWRpdGluZy1EZWxldGUtQnV0dG9uIGluIERlbGV0aW9uIFVJ
LgorICAgIFx2YWx1ZSBJbnB1dFNwZWVjaEJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24g
aW4gaW5wdXQgZmllbGRzIHRoYXQgc3VwcG9ydCBzcGVlY2ggcmVjb2duaXRpb24uCisgICAgXHZh
bHVlIFNlYXJjaENhbmNlbEJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24gZm9yIGNsZWFy
aW5nIHRoZSB0ZXh0IGluIGEgc2VhcmNoIGZpZWxkLgorICAgIFx2YWx1ZSBTZWFyY2hDYW5jZWxC
dXR0b25QcmVzc2VkR3JhcGhpYyBUaGUgZ3JhcGhpYyBzaG93biB3aGVuIFNlYXJjaENhbmNlbEJ1
dHRvbkdyYXBoaWMgaXMgcHJlc3NlZC4KICovCiAKIC8qIQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0
L0FwaS9xd2Vic2V0dGluZ3MuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKaW5kZXgg
MDU2OWFiMGYzMmQ2ZjcwZTIzZDFjNGZjMjgwNmIzZDc3ODkwZDY3ZS4uMDA4MDM1YmE3NjJjYTI5
Yzk3YzExNGNlNzRhMjhiMjVhMjExZmJmMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCkBAIC04NSw3ICs4
NSw5IEBAIHB1YmxpYzoKICAgICAgICAgRGVmYXVsdEZyYW1lSWNvbkdyYXBoaWMsCiAgICAgICAg
IFRleHRBcmVhU2l6ZUdyaXBDb3JuZXJHcmFwaGljLAogICAgICAgICBEZWxldGVCdXR0b25HcmFw
aGljLAotICAgICAgICBJbnB1dFNwZWVjaEJ1dHRvbkdyYXBoaWMKKyAgICAgICAgSW5wdXRTcGVl
Y2hCdXR0b25HcmFwaGljLAorICAgICAgICBTZWFyY2hDYW5jZWxCdXR0b25HcmFwaGljLAorICAg
ICAgICBTZWFyY2hDYW5jZWxCdXR0b25QcmVzc2VkR3JhcGhpYwogICAgIH07CiAgICAgZW51bSBG
b250U2l6ZSB7CiAgICAgICAgIE1pbmltdW1Gb250U2l6ZSwKZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGNlNzE2ZDQyZDc3NzU2ZDQ3
NWVkMzk3MzNlNTVmMGNhMDc2MzI4ODIuLjc2YjI0ZGE3NzQ3YjNlYmU1N2I3YjAzYWMxMThiYTE0
OWZmNmEzM2UgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTAxLTEwICBSb2JlcnQgSG9nYW4gIDxy
b2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBbUXRdIFNlYXJjaCBpbnB1dCBmaWVsZCBkb2Vzbid0IGhhdmUgY2FuY2VsIGJ1
dHRvbgorCisgICAgICAgIEFkZCBhIGNhbmNlbCBidXR0b24gdG8gdGhlIHNlYXJjaCBmaWVsZCBh
bmQgbWFrZSBpdCBjdXN0b21pemFibGUKKyAgICAgICAgYnkgdGhlIGNsaWVudC4gRm9yIG5vdywg
dXNlIHRoZSBjbG9zZSBkaWFsb2cgYnV0dG9uIGFzc29jaWF0ZWQKKyAgICAgICAgd2l0aCB0aGUg
YXBwbGljYXRpb24ncyBzdHlsZSBhcyB0aGUgZGVmYXVsdC4KKworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4ODcKKworICAgICAgICAqIEFwaS9xd2Vi
c2V0dGluZ3MuY3BwOgorICAgICAgICAoZ3JhcGhpY3MpOgorICAgICAgICAqIEFwaS9xd2Vic2V0
dGluZ3MuaDoKKwogMjAxMS0wMS0xMCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluLnBvdWxh
aW5Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0
aWFuc2VuLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78438</attachid>
            <date>2011-01-10 13:07:41 -0800</date>
            <delta_ts>2011-01-11 11:27:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42887-20110110210733.patch</filename>
            <type>text/plain</type>
            <size>17682</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNTJhYTM0YzhlMDI1YjRjODQwY2Q0ZTRmMzExM2NiOTUzYmVlNGE3Li45NWFmNDVk
YjU5YzFmOWY1ZGFhOTZhMTg4ZGU0NGQzNmM1MGJkNzk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDEtMTAgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gU2VhcmNoIGlucHV0
IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCisKKyAgICAgICAgQWRkIGEgY2FuY2Vs
IGJ1dHRvbiB0byB0aGUgc2VhcmNoIGZpZWxkIGFuZCBtYWtlIGl0IGN1c3RvbWl6YWJsZQorICAg
ICAgICBieSB0aGUgY2xpZW50LiBGb3Igbm93LCB1c2UgdGhlIGNsb3NlIGRpYWxvZyBidXR0b24g
YXNzb2NpYXRlZAorICAgICAgICB3aXRoIHRoZSBhcHBsaWNhdGlvbidzIHN0eWxlIGFzIHRoZSBk
ZWZhdWx0LgorCisgICAgICAgIFVuc2tpcCBhIGJ1bmNoIG9mIHNlYXJjaCBmaWVsZCByZWxhdGVk
IHRlc3RzIHRoYXQgcGFzcyBub3c6CisKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2Vs
LWJ1dHRvbi1tb3VzZXVwLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtcnRsLmh0bWwK
KyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtYWJzLXBvcy1jYW5jZWwtYnV0dG9uLmh0bWwKKyAg
ICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtc3R5bGVkLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9z
ZWFyY2gtdHJhbnNmb3JtZWQuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC16b29tZWQu
aHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLXN0eWxlLXNoYXJp
bmcuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1kaXNwbGF5LW5vbmUtY2FuY2VsLWJ1
dHRvbi5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLXBsYWNlaG9sZGVyLXZhbHVlLWNo
YW5nZWQuaHRtbAorICAgICAgICBmYXN0L3JlcGFpbnQvc2VhcmNoLWZpZWxkLWNhbmNlbC5odG1s
CisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tZXZlbnRzLmh0bWwKKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4ODcKKwor
ICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIwMTEtMDEtMTAgIEdhdmluIEJhcnJh
Y2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggOGUyNDVkM2NhMmM5YjU0OTE4
NTkyNjRlYjZiZmI4ZTdkYWNlZDRlZS4uYmYyZmM3YmRiZTc1ZjYyOWQ5NzVkNDZmNWRhZGQ2Zjgz
ZDE2M2JmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC00ODcsNyArNDg3LDYgQEAgZmFz
dC9kb20vb3Blbi1hbmQtY2xvc2UtYnktRE9NLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9uZXctd2lu
ZG93LW9wZW5lci5odG1sCiBmYXN0L2Zvcm1zLzAwMS5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzMi5o
dG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLW1vdXNldXAuaHRtbAogZmFzdC9m
cmFtZXMvMDAxLmh0bWwKIGZhc3QvdGV4dC9tb25vc3BhY2Utd2lkdGgtY2FjaGUuaHRtbAogCkBA
IC0yMzIyLDcgKzIzMjEsNiBAQCBmYXN0L2Zvcm1zL2xpc3Rib3gtb25jaGFuZ2UuaHRtbAogZmFz
dC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi0yLmh0bWwKIGZhc3QvZm9ybXMvbGlzdGJveC1zZWxl
Y3Rpb24uaHRtbAogZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0YXJlYS5odG1sCi1mYXN0L2Zvcm1z
L3NlYXJjaC1ydGwuaHRtbAogZmFzdC9mb3Jtcy9zZWxlY3Qtd3JpdGluZy1kaXJlY3Rpb24tbmF0
dXJhbC5odG1sCiBmYXN0L2Zvcm1zL3RhYmJpbmctaW5wdXQtaWZyYW1lLmh0bWwKIGZhc3QvZm9y
bXMvdGV4dEFyZWFMaW5lSGVpZ2h0Lmh0bWwKQEAgLTIzODIsNyArMjM4MCw2IEBAIGZhc3QvZW5j
b2RpbmcvaGVicmV3Lzg4NTktOC1pLmh0bWwKIGZhc3QvZW5jb2RpbmcvaGVicmV3L2xvZ2ljYWwu
aHRtbAogZmFzdC9ldmVudHMvY3Jhc2gtb24tbXV0YXRlLWR1cmluZy1kcm9wLmh0bWwKIGZhc3Qv
Zm9ybXMvb3B0aW9uLW1vdXNlZXZlbnRzLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLWFicy1wb3Mt
Y2FuY2VsLWJ1dHRvbi5odG1sCiBmYXN0L2Zvcm1zL3RleHQtY29udHJvbC1pbnRyaW5zaWMtd2lk
dGhzLmh0bWwKIGZhc3QvZm9ybXMvdGV4dGFyZWEtbWV0cmljcy5odG1sCiBmYXN0L2hpc3Rvcnkv
d2luZG93LW9wZW4uaHRtbApAQCAtMjQ0MCw5ICsyNDM3LDYgQEAgZmFzdC9mb3Jtcy9saXN0Ym94
LWRlc2VsZWN0LXNjcm9sbC5odG1sCiBmYXN0L2Zvcm1zL2xpc3Rib3gtaGl0LXRlc3Qtem9vbWVk
Lmh0bWwKIGZhc3QvZm9ybXMvbmVnYXRpdmVMaW5lSGVpZ2h0Lmh0bWwKIGZhc3QvZm9ybXMvcGxh
Y2Vob2xkZXItcHNldWRvLXN0eWxlLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLXN0eWxlZC5odG1s
Ci1mYXN0L2Zvcm1zL3NlYXJjaC10cmFuc2Zvcm1lZC5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC16
b29tZWQuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJlYS1hbGlnbi5odG1sCiBmYXN0L2Zvcm1zL3Rl
eHRhcmVhLXNldGlubmVyaHRtbC5odG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXdpZHRoLmh0bWwK
QEAgLTMyMTYsOSArMzIxMCw2IEBAIGZhc3QvZm9ybXMvcmFkaW8tbmVzdGVkLWxhYmVscy5odG1s
CiBmYXN0L2Zvcm1zL3JhZGlvX2NoZWNrZWQuaHRtbAogZmFzdC9mb3Jtcy9yYWRpb19jaGVja2Vk
X2R5bmFtaWMuaHRtbAogZmFzdC9mb3Jtcy9yYW5nZS10aHVtYi1oZWlnaHQtcGVyY2VudGFnZS5o
dG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLXN0eWxlLXNoYXJpbmcuaHRtbAot
ZmFzdC9mb3Jtcy9zZWFyY2gtZGlzcGxheS1ub25lLWNhbmNlbC1idXR0b24uaHRtbAotZmFzdC9m
b3Jtcy9zZWFyY2gtcGxhY2Vob2xkZXItdmFsdWUtY2hhbmdlZC5odG1sCiBmYXN0L2Zvcm1zL3Nl
YXJjaGZpZWxkLWhlaWdodHMuaHRtbAogZmFzdC9mb3Jtcy9zZWxlY3QtYWNjZXNza2V5Lmh0bWwK
IGZhc3QvZm9ybXMvc2VsZWN0LWFsaWduLmh0bWwKQEAgLTM1NTMsNyArMzU0NCw2IEBAIGZhc3Qv
cmVwYWludC9yZWZsZWN0aW9uLXJlZHJhdy5odG1sCiBmYXN0L3JlcGFpbnQvcmVmbGVjdGlvbi1y
ZXBhaW50LXRlc3QuaHRtbAogZmFzdC9yZXBhaW50L3JlbmRlcmVyLWRlc3RydWN0aW9uLWJ5LWlu
dmFsaWRhdGVTZWxlY3Rpb24tY3Jhc2guaHRtbAogZmFzdC9yZXBhaW50L3JlcGFpbnQtcmVzaXpl
ZC1vdmVyZmxvdy5odG1sCi1mYXN0L3JlcGFpbnQvc2VhcmNoLWZpZWxkLWNhbmNlbC5odG1sCiBm
YXN0L3JlcGFpbnQvc2VsZWN0ZWQtcmVwbGFjZWQuaHRtbAogZmFzdC9yZXBhaW50L3NlbGVjdGlv
bi1jbGVhci5odG1sCiBmYXN0L3JlcGFpbnQvc3RhdGljLXRvLXBvc2l0aW9uZWQuaHRtbApAQCAt
NTIxNiwxMCArNTIwNiw2IEBAIGFuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLmh0
bWwKIGFuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLWV2ZW50cy5odG1sCiBhbmlt
YXRpb25zL3N0b3AtYW5pbWF0aW9uLW9uLXN1c3BlbmQuaHRtbAogCi0jIFtRdF0gU2VhcmNoIGlu
cHV0IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCi0jIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg4NwotZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1
dHRvbi1ldmVudHMuaHRtbAotCiAjIFtRdF0gRFJUIHNpZGVlZmZlY3QgcmV2ZWFsZWQgYnkgcjYz
NjU3CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjU3OAogaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtY3NzLWluLW1haW4tZnJhbWUu
aHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDA3MTJiNWIyNDQ2N2Y2MmFlYWI2NjJjNTU5MTFkNGU4Y2E1NTkz
MTguLjI3NWI5NzdkYzgwNWM5MjMxZDgxOGViMjI1YThiODNkMjgwYzJkNTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0MSBAQAorMjAxMS0wMS0xMCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W1F0XSBTZWFyY2ggaW5wdXQgZmllbGQgZG9lc24ndCBoYXZlIGNhbmNlbCBidXR0b24KKworICAg
ICAgICBBZGQgYSBjYW5jZWwgYnV0dG9uIHRvIHRoZSBzZWFyY2ggZmllbGQgYW5kIG1ha2UgaXQg
Y3VzdG9taXphYmxlCisgICAgICAgIGJ5IHRoZSBjbGllbnQuIEZvciBub3csIHVzZSB0aGUgY2xv
c2UgZGlhbG9nIGJ1dHRvbiBhc3NvY2lhdGVkCisgICAgICAgIHdpdGggdGhlIGFwcGxpY2F0aW9u
J3Mgc3R5bGUgYXMgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgVW5za2lwIGEgYnVuY2ggb2Ygc2Vh
cmNoIGZpZWxkIHJlbGF0ZWQgdGVzdHMgdGhhdCBwYXNzIG5vdzoKKworICAgICAgICBmYXN0L2Zv
cm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLW1vdXNldXAuaHRtbAorICAgICAgICBmYXN0L2Zvcm1z
L3NlYXJjaC1ydGwuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1hYnMtcG9zLWNhbmNl
bC1idXR0b24uaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1zdHlsZWQuaHRtbAorICAg
ICAgICBmYXN0L2Zvcm1zL3NlYXJjaC10cmFuc2Zvcm1lZC5odG1sCisgICAgICAgIGZhc3QvZm9y
bXMvc2VhcmNoLXpvb21lZC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1i
dXR0b24tc3R5bGUtc2hhcmluZy5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWRpc3Bs
YXktbm9uZS1jYW5jZWwtYnV0dG9uLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtcGxh
Y2Vob2xkZXItdmFsdWUtY2hhbmdlZC5odG1sCisgICAgICAgIGZhc3QvcmVwYWludC9zZWFyY2gt
ZmllbGQtY2FuY2VsLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRv
bi1ldmVudHMuaHRtbAorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00Mjg4NworCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5j
cHA6CisgICAgICAgIChsb2FkUmVzb3VyY2VQaXhtYXApOgorICAgICAgICAqIHBsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6aXND
b250cm9sU3R5bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmNvbXB1dGVT
aXplQmFzZWRPblN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50
U2VhcmNoRmllbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2Vh
cmNoRmllbGRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RT
ZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lUXQ6OmNvbnZlcnRUb1BhaW50aW5nUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9SZW5kZXJUaGVtZVF0Lmg6CisKIDIwMTEtMDEtMTAgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbi5wb3VsYWluQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0ltYWdlUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvSW1hZ2VRdC5jcHAKaW5kZXggNDlhZmQyOWY3NGFiMWY0OWY3MWJmOTc3YzlhOGJiNmZj
ZDJiNGI1Yy4uYjY2YTFjYTc4NzhlODZiN2ZlMGIwYjA4ZmNlZWU2MDk5MWVlMGQ5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKQEAgLTY4
LDYgKzY4LDEwIEBAIHN0YXRpYyBRUGl4bWFwIGxvYWRSZXNvdXJjZVBpeG1hcChjb25zdCBjaGFy
ICpuYW1lKQogICAgICAgICBwaXhtYXAgPSBRV2ViU2V0dGluZ3M6OndlYkdyYXBoaWMoUVdlYlNl
dHRpbmdzOjpEZWxldGVCdXR0b25HcmFwaGljKTsKICAgICBlbHNlIGlmICghcXN0cmNtcChuYW1l
LCAiaW5wdXRTcGVlY2giKSkKICAgICAgICAgcGl4bWFwID0gUVdlYlNldHRpbmdzOjp3ZWJHcmFw
aGljKFFXZWJTZXR0aW5nczo6SW5wdXRTcGVlY2hCdXR0b25HcmFwaGljKTsKKyAgICBlbHNlIGlm
ICghcXN0cmNtcChuYW1lLCAic2VhcmNoQ2FuY2VsQnV0dG9uIikpCisgICAgICAgIHBpeG1hcCA9
IFFXZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhRV2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRv
bkdyYXBoaWMpOworICAgIGVsc2UgaWYgKCFxc3RyY21wKG5hbWUsICJzZWFyY2hDYW5jZWxCdXR0
b25QcmVzc2VkIikpCisgICAgICAgIHBpeG1hcCA9IFFXZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhR
V2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRvblByZXNzZWRHcmFwaGljKTsKIAogICAgIHJl
dHVybiBwaXhtYXA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9S
ZW5kZXJUaGVtZVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXQuY3BwCmluZGV4IDJjYzM2MjU3Y2IzMWIzZDFkNmExNzI4ZTJjNGYwNjRhZTg1NGNmZTguLmRj
ZDJiZTI1ZWYzY2RjZWNkOTVhZWE3M2JhODQ2NmZlNWYzN2ZjOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCkBAIC01MCw2ICs1MCw3IEBACiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUXRT
dHlsZU9wdGlvbldlYkNvbWJvQm94LmgiCisjaW5jbHVkZSAicXdlYnNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiUmVuZGVyQm94LmgiCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICNpbmNsdWRlICJS
ZW5kZXJQcm9ncmVzcy5oIgpAQCAtOTIsNiArOTMsMTUgQEAgaW5saW5lIHN0YXRpYyB2b2lkIGlu
aXRTdHlsZU9wdGlvbihRV2lkZ2V0ICp3aWRnZXQsIFFTdHlsZU9wdGlvbiYgb3B0aW9uKQogICAg
ICAgICBvcHRpb24uc3RhdGUgPSBRU3R5bGU6OlN0YXRlX0FjdGl2ZSB8IFFTdHlsZTo6U3RhdGVf
RW5hYmxlZDsKICAgICB9CiB9CisvLyBUaGVzZSB2YWx1ZXMgYWxsIG1hdGNoIFNhZmFyaS9XaW4v
Q2hyb21pdW0KK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0Q29udHJvbEZvbnRQaXhlbFNpemUg
PSAxMzsKK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0Q2FuY2VsQnV0dG9uU2l6ZSA9IDk7Citz
dGF0aWMgY29uc3QgZmxvYXQgbWluQ2FuY2VsQnV0dG9uU2l6ZSA9IDU7CitzdGF0aWMgY29uc3Qg
ZmxvYXQgbWF4Q2FuY2VsQnV0dG9uU2l6ZSA9IDIxOworc3RhdGljIGNvbnN0IGZsb2F0IGRlZmF1
bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSA9IDEzOworc3RhdGljIGNvbnN0IGZs
b2F0IG1pblNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplID0gOTsKK3N0YXRpYyBjb25z
dCBmbG9hdCBtYXhTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSA9IDMwOworc3RhdGlj
IGNvbnN0IGZsb2F0IGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25XaWR0aCA9IDE4Owog
CiAKIFN0eWxlUGFpbnRlcjo6U3R5bGVQYWludGVyKFJlbmRlclRoZW1lUXQqIHRoZW1lLCBjb25z
dCBQYWludEluZm8mIHBhaW50SW5mbykKQEAgLTE4Niw2ICsxOTYsNyBAQCBib29sIFJlbmRlclRo
ZW1lUXQ6OmlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJv
cmRlckRhdGEmCiAgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKICAgICBjYXNlIEJ1dHRvblBhcnQ6
CiAgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIFNlYXJj
aEZpZWxkUGFydCBpZiBpdCBzaG91bGQgYmUgc3R5bGUtYWJsZS4KICAgICBjYXNlIFRleHRGaWVs
ZFBhcnQ6CiAgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAt
MjAxLDYgKzIxMiwyMCBAQCBpbnQgUmVuZGVyVGhlbWVRdDo6cG9wdXBJbnRlcm5hbFBhZGRpbmdC
b3R0b20oUmVuZGVyU3R5bGUqIHN0eWxlKSBjb25zdAogewogICAgIHJldHVybiAxOwogfQorI2Vs
c2UKKy8vIFJlbW92ZSB0aGlzIHdoZW4gU2VhcmNoRmllbGRQYXJ0IGlzIHN0eWxlLWFibGUgaW4g
UmVuZGVyVGhlbWU6OmlzQ29udHJvbFN0eWxlZAorYm9vbCBSZW5kZXJUaGVtZVF0Ojppc0NvbnRy
b2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBCb3JkZXJEYXRhJiBib3Jk
ZXIsIGNvbnN0IEZpbGxMYXllciYgZmlsbCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikg
Y29uc3QKK3sKKyAgICBzd2l0Y2ggKHN0eWxlLT5hcHBlYXJhbmNlKCkpIHsKKyAgICBjYXNlIFNl
YXJjaEZpZWxkUGFydDoKKyAgICAgICAgLy8gVGVzdCB0aGUgc3R5bGUgdG8gc2VlIGlmIHRoZSBV
QSBib3JkZXIgYW5kIGJhY2tncm91bmQgbWF0Y2guCisgICAgICAgIHJldHVybiAoc3R5bGUtPmJv
cmRlcigpICE9IGJvcmRlcgorICAgICAgICAgICAgICAgIHx8ICpzdHlsZS0+YmFja2dyb3VuZExh
eWVycygpICE9IGZpbGwKKyAgICAgICAgICAgICAgICB8fCBzdHlsZS0+dmlzaXRlZERlcGVuZGVu
dENvbG9yKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yKSAhPSBiYWNrZ3JvdW5kQ29sb3IpOwor
ICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBSZW5kZXJUaGVtZTo6aXNDb250cm9sU3R5bGVk
KHN0eWxlLCBib3JkZXIsIGZpbGwsIGJhY2tncm91bmRDb2xvcik7CisgICAgfQorfQogI2VuZGlm
CiAKIC8vIGZvciBzb21lIHdpZGdldCBwYWludGluZywgd2UgbmVlZCB0byBmYWxsYmFjayB0byBX
aW5kb3dzIHN0eWxlCkBAIC00MTMsNiArNDM4LDcgQEAgdm9pZCBSZW5kZXJUaGVtZVF0Ojpjb21w
dXRlU2l6ZUJhc2VkT25TdHlsZShSZW5kZXJTdHlsZSogcmVuZGVyU3R5bGUpIGNvbnN0CiAKICAg
ICBzd2l0Y2ggKHJlbmRlclN0eWxlLT5hcHBlYXJhbmNlKCkpIHsKICAgICBjYXNlIFRleHRBcmVh
UGFydDoKKyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKICAgICBjYXNlIFRleHRGaWVsZFBhcnQ6
IHsKICAgICAgICAgaW50IHBhZGRpbmcgPSBmaW5kRnJhbWVMaW5lV2lkdGgoc3R5bGUpOwogCkBA
IC04ODYsMjggKzkxMiw2OSBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNsaWRlclRodW1i
U3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZQogYm9vbCBSZW5kZXJU
aGVtZVF0OjpwYWludFNlYXJjaEZpZWxkKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZv
JiBwaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0
JiByKQogewotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBwYWludFRleHRGaWVsZChvLCBw
aSwgcik7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRTdHlsZShD
U1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVyU3R5bGUqIHN0eWxlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZW1lbnQqIGUpIGNvbnN0CiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBSZW5kZXJUaGVtZTo6YWRqdXN0U2VhcmNoRmllbGRT
dHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAgIHN0eWxlLT5zZXRCYWNrZ3JvdW5kQ29sb3Io
Q29sb3I6OnRyYW5zcGFyZW50KTsKKyAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKKyAgICBzdHls
ZS0+cmVzZXRQYWRkaW5nKCk7CisgICAgY29tcHV0ZVNpemVCYXNlZE9uU3R5bGUoc3R5bGUpOwog
fQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uU3R5
bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50
KiBlKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgUmVuZGVyVGhlbWU6OmFk
anVzdFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKKyAg
ICAvLyBUYWtlbiBmcm9tIFJlbmRlclRoZW1lQ2hyb21pdW0uY3BwLgorCisgICAgLy8gU2NhbGUg
dGhlIGJ1dHRvbiBzaXplIGJhc2VkIG9uIHRoZSBmb250IHNpemUuCisgICAgZmxvYXQgZm9udFNj
YWxlID0gc3R5bGUtPmZvbnRTaXplKCkgLyBkZWZhdWx0Q29udHJvbEZvbnRQaXhlbFNpemU7Cisg
ICAgaW50IGNhbmNlbEJ1dHRvblNpemUgPSBscm91bmRmKHFNaW4ocU1heChtaW5DYW5jZWxCdXR0
b25TaXplLCBkZWZhdWx0Q2FuY2VsQnV0dG9uU2l6ZSAqIGZvbnRTY2FsZSksIG1heENhbmNlbEJ1
dHRvblNpemUpKTsKKyAgICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKGNhbmNlbEJ1dHRvblNpemUs
IEZpeGVkKSk7CisgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoY2FuY2VsQnV0dG9uU2l6ZSwg
Rml4ZWQpKTsKK30KKworLy8gVGFrZW4gZnJvbSBSZW5kZXJUaGVtZUNocm9taXVtLmNwcAorSW50
UmVjdCBSZW5kZXJUaGVtZVF0Ojpjb252ZXJ0VG9QYWludGluZ1JlY3QoUmVuZGVyT2JqZWN0KiBp
bnB1dFJlbmRlcmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIHBhcnRSZW5kZXJlciwgSW50UmVjdCBw
YXJ0UmVjdCwgY29uc3QgSW50UmVjdCYgbG9jYWxPZmZzZXQpIGNvbnN0Cit7CisgICAgLy8gQ29t
cHV0ZSBhbiBvZmZzZXQgYmV0d2VlbiB0aGUgcGFydCByZW5kZXJlciBhbmQgdGhlIGlucHV0IHJl
bmRlcmVyLgorICAgIEludFNpemUgb2Zmc2V0RnJvbUlucHV0UmVuZGVyZXIgPSAtKHBhcnRSZW5k
ZXJlci0+b2Zmc2V0RnJvbUFuY2VzdG9yQ29udGFpbmVyKGlucHV0UmVuZGVyZXIpKTsKKyAgICAv
LyBNb3ZlIHRoZSByZWN0IGludG8gcGFydFJlbmRlcmVyJ3MgY29vcmRzLgorICAgIHBhcnRSZWN0
Lm1vdmUob2Zmc2V0RnJvbUlucHV0UmVuZGVyZXIpOworICAgIC8vIEFjY291bnQgZm9yIHRoZSBs
b2NhbCBkcmF3aW5nIG9mZnNldC4KKyAgICBwYXJ0UmVjdC5tb3ZlKGxvY2FsT2Zmc2V0LngoKSwg
bG9jYWxPZmZzZXQueSgpKTsKKworICAgIHJldHVybiBwYXJ0UmVjdDsKIH0KIAogYm9vbCBSZW5k
ZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKFJlbmRlck9iamVjdCogbywg
Y29uc3QgUGFpbnRJbmZvJiBwaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiByKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgcmV0dXJuIFJlbmRlclRoZW1lOjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKG8s
IHBpLCByKTsKKyAgICAvLyBBZGFwdGVkIGZyb20gUmVuZGVyVGhlbWVDaHJvbWl1bS5jcHAuCisK
KyAgICAvLyBHZXQgdGhlIHJlbmRlcmVyIG9mIDxpbnB1dD4gZWxlbWVudC4KKyAgICBOb2RlKiBp
bnB1dCA9IG8tPm5vZGUoKS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgaWYgKCFpbnB1dC0+
cmVuZGVyZXIoKS0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIFJlbmRlckJv
eCogaW5wdXRSZW5kZXJCb3ggPSB0b1JlbmRlckJveChpbnB1dC0+cmVuZGVyZXIoKSk7CisgICAg
SW50UmVjdCBpbnB1dENvbnRlbnRCb3ggPSBpbnB1dFJlbmRlckJveC0+Y29udGVudEJveFJlY3Qo
KTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgc2NhbGVkIGJ1dHRvbiBzdGF5cyBzcXVhcmUgYW5k
IHdpbGwgZml0IGluIGl0cyBwYXJlbnQncyBib3guCisgICAgaW50IGNhbmNlbEJ1dHRvblNpemUg
PSBxTWluKGlucHV0Q29udGVudEJveC53aWR0aCgpLCBxTWluKGlucHV0Q29udGVudEJveC5oZWln
aHQoKSwgci5oZWlnaHQoKSkpOworICAgIC8vIENhbGN1bGF0ZSBjYW5jZWwgYnV0dG9uJ3MgY29v
cmRpbmF0ZXMgcmVsYXRpdmUgdG8gdGhlIGlucHV0IGVsZW1lbnQuCisgICAgLy8gQ2VudGVyIHRo
ZSBidXR0b24gdmVydGljYWxseS4gIFJvdW5kIHVwIHRob3VnaCwgc28gaWYgaXQgaGFzIHRvIGJl
IG9uZSBwaXhlbCBvZmYtY2VudGVyLCBpdCB3aWxsCisgICAgLy8gYmUgb25lIHBpeGVsIGNsb3Nl
ciB0byB0aGUgYm90dG9tIG9mIHRoZSBmaWVsZC4gIFRoaXMgdGVuZHMgdG8gbG9vayBiZXR0ZXIg
d2l0aCB0aGUgdGV4dC4KKyAgICBJbnRSZWN0IGNhbmNlbEJ1dHRvblJlY3Qoby0+b2Zmc2V0RnJv
bUFuY2VzdG9yQ29udGFpbmVyKGlucHV0UmVuZGVyQm94KS53aWR0aCgpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnB1dENvbnRlbnRCb3gueSgpICsgKGlucHV0Q29udGVudEJveC5o
ZWlnaHQoKSAtIGNhbmNlbEJ1dHRvblNpemUgKyAxKSAvIDIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNhbmNlbEJ1dHRvblNpemUsIGNhbmNlbEJ1dHRvblNpemUpOworICAgIEludFJl
Y3QgcGFpbnRpbmdSZWN0ID0gY29udmVydFRvUGFpbnRpbmdSZWN0KGlucHV0UmVuZGVyQm94LCBv
LCBjYW5jZWxCdXR0b25SZWN0LCByKTsKKyAgICBzdGF0aWMgSW1hZ2UqIGNhbmNlbEltYWdlID0g
SW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKCJzZWFyY2hDYW5jZWxCdXR0b24iKS5yZWxlYXNl
UmVmKCk7CisgICAgc3RhdGljIEltYWdlKiBjYW5jZWxQcmVzc2VkSW1hZ2UgPSBJbWFnZTo6bG9h
ZFBsYXRmb3JtUmVzb3VyY2UoInNlYXJjaENhbmNlbEJ1dHRvblByZXNzZWQiKS5yZWxlYXNlUmVm
KCk7CisgICAgcGkuY29udGV4dC0+ZHJhd0ltYWdlKGlzUHJlc3NlZChvKSA/IGNhbmNlbFByZXNz
ZWRJbWFnZSA6IGNhbmNlbEltYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
by0+c3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBwYWludGluZ1JlY3QpOworICAgIHJldHVybiBmYWxz
ZTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZERlY29yYXRpb25T
dHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVyU3R5bGUqIHN0eWxlLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCmluZGV4IGMyODE2OGEzNDQ2
OTQ2NDNjM2VmMzY2NDkwNzQyNTA0NzYzNDE3YzIuLjY5ODE2NDEzMGZiZWIxNDc0NjJmZTIxNzVm
MmQ1MDc1Y2NkMDNiNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1Jl
bmRlclRoZW1lUXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVt
ZVF0LmgKQEAgLTgxLDggKzgxLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBkb3VibGUgY2Fy
ZXRCbGlua0ludGVydmFsKCkgY29uc3Q7CiAKLSNpZiBVU0UoUVRfTU9CSUxFX1RIRU1FKQogICAg
IHZpcnR1YWwgYm9vbCBpc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBC
b3JkZXJEYXRhJiwgY29uc3QgRmlsbExheWVyJiwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xv
cikgY29uc3Q7CisjaWYgVVNFKFFUX01PQklMRV9USEVNRSkKICAgICB2aXJ0dWFsIGludCBwb3B1
cEludGVybmFsUGFkZGluZ0JvdHRvbShSZW5kZXJTdHlsZSopIGNvbnN0OwogI2VuZGlmCiAKQEAg
LTE4MCw2ICsxODAsOCBAQCBwcml2YXRlOgogCiAgICAgUVN0eWxlKiBmYWxsYmFja1N0eWxlKCkg
Y29uc3Q7CiAKKyAgICBJbnRSZWN0IGNvbnZlcnRUb1BhaW50aW5nUmVjdChSZW5kZXJPYmplY3Qq
IGlucHV0UmVuZGVyZXIsIGNvbnN0IFJlbmRlck9iamVjdCogcGFydFJlbmRlcmVyLCBJbnRSZWN0
IHBhcnRSZWN0LCBjb25zdCBJbnRSZWN0JiBsb2NhbE9mZnNldCkgY29uc3Q7CisKICAgICBQYWdl
KiBtX3BhZ2U7CiAKICNpZmRlZiBRX1dTX01BQwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9x
d2Vic2V0dGluZ3MuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IGVk
NDI1YzI4Zjk5MDY4NGFiN2ViNDZmZDkxYmUwNTAzNzhkNTk5OGIuLjZjNTlkNzM0MTE5ODEwMDM1
ODkwNDVlNGE1NWNmYzhhZDUzMDNmOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnNl
dHRpbmdzLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKQEAgLTQ4LDYg
KzQ4LDcgQEAKICNpbmNsdWRlIDxRU2hhcmVkRGF0YT4KICNpbmNsdWRlIDxRVXJsPgogI2luY2x1
ZGUgPFFGaWxlSW5mbz4KKyNpbmNsdWRlIDxRU3R5bGU+CiAKICNpbmNsdWRlICJOZXR3b3JrU3Rh
dGVOb3RpZmllci5oIgogCkBAIC0xMDEsNiArMTAyLDggQEAgc3RhdGljIFdlYkdyYXBoaWNIYXNo
KiBncmFwaGljcygpCiAgICAgICAgIGhhc2gtPmluc2VydChRV2ViU2V0dGluZ3M6OlRleHRBcmVh
U2l6ZUdyaXBDb3JuZXJHcmFwaGljLCBRUGl4bWFwKFFMYXRpbjFTdHJpbmcoIjp3ZWJraXQvcmVz
b3VyY2VzL3RleHRBcmVhUmVzaXplQ29ybmVyLnBuZyIpKSk7CiAgICAgICAgIGhhc2gtPmluc2Vy
dChRV2ViU2V0dGluZ3M6OkRlbGV0ZUJ1dHRvbkdyYXBoaWMsIFFQaXhtYXAoUUxhdGluMVN0cmlu
ZygiOndlYmtpdC9yZXNvdXJjZXMvZGVsZXRlQnV0dG9uLnBuZyIpKSk7CiAgICAgICAgIGhhc2gt
Pmluc2VydChRV2ViU2V0dGluZ3M6OklucHV0U3BlZWNoQnV0dG9uR3JhcGhpYywgUVBpeG1hcChR
TGF0aW4xU3RyaW5nKCI6d2Via2l0L3Jlc291cmNlcy9pbnB1dFNwZWVjaC5wbmciKSkpOworICAg
ICAgICBoYXNoLT5pbnNlcnQoUVdlYlNldHRpbmdzOjpTZWFyY2hDYW5jZWxCdXR0b25HcmFwaGlj
LCBRQXBwbGljYXRpb246OnN0eWxlKCktPnN0YW5kYXJkUGl4bWFwKFFTdHlsZTo6U1BfRGlhbG9n
Q2xvc2VCdXR0b24pKTsKKyAgICAgICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0aW5nczo6U2VhcmNo
Q2FuY2VsQnV0dG9uUHJlc3NlZEdyYXBoaWMsIFFBcHBsaWNhdGlvbjo6c3R5bGUoKS0+c3RhbmRh
cmRQaXhtYXAoUVN0eWxlOjpTUF9EaWFsb2dDbG9zZUJ1dHRvbikpOwogICAgIH0KIAogICAgIHJl
dHVybiBoYXNoOwpAQCAtMzcyLDYgKzM3NSw5IEBAIFFXZWJTZXR0aW5ncyogUVdlYlNldHRpbmdz
OjpnbG9iYWxTZXR0aW5ncygpCiAgICAgXHZhbHVlIERlZmF1bHRGcmFtZUljb25HcmFwaGljIFRo
ZSBkZWZhdWx0IGljb24gZm9yIFFXZWJGcmFtZTo6aWNvbigpLgogICAgIFx2YWx1ZSBUZXh0QXJl
YVNpemVHcmlwQ29ybmVyR3JhcGhpYyBUaGUgZ3JhcGhpYyBzaG93biBmb3IgdGhlIHNpemUgZ3Jp
cCBvZiB0ZXh0IGFyZWFzLgogICAgIFx2YWx1ZSBEZWxldGVCdXR0b25HcmFwaGljIFRoZSBncmFw
aGljIHNob3duIGZvciB0aGUgV2ViS2l0LUVkaXRpbmctRGVsZXRlLUJ1dHRvbiBpbiBEZWxldGlv
biBVSS4KKyAgICBcdmFsdWUgSW5wdXRTcGVlY2hCdXR0b25HcmFwaGljIFRoZSBncmFwaGljIHNo
b3duIGluIGlucHV0IGZpZWxkcyB0aGF0IHN1cHBvcnQgc3BlZWNoIHJlY29nbml0aW9uLgorICAg
IFx2YWx1ZSBTZWFyY2hDYW5jZWxCdXR0b25HcmFwaGljIFRoZSBncmFwaGljIHNob3duIGZvciBj
bGVhcmluZyB0aGUgdGV4dCBpbiBhIHNlYXJjaCBmaWVsZC4KKyAgICBcdmFsdWUgU2VhcmNoQ2Fu
Y2VsQnV0dG9uUHJlc3NlZEdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24gd2hlbiBTZWFyY2hDYW5j
ZWxCdXR0b25HcmFwaGljIGlzIHByZXNzZWQuCiAqLwogCiAvKiEKZGlmZiAtLWdpdCBhL1dlYktp
dC9xdC9BcGkvcXdlYnNldHRpbmdzLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCmlu
ZGV4IDA1NjlhYjBmMzJkNmY3MGUyM2QxYzRmYzI4MDZiM2Q3Nzg5MGQ2N2UuLjAwODAzNWJhNzYy
Y2EyOWM5N2MxMTRjZTc0YTI4YjI1YTIxMWZiZjEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkv
cXdlYnNldHRpbmdzLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaApAQCAtODUs
NyArODUsOSBAQCBwdWJsaWM6CiAgICAgICAgIERlZmF1bHRGcmFtZUljb25HcmFwaGljLAogICAg
ICAgICBUZXh0QXJlYVNpemVHcmlwQ29ybmVyR3JhcGhpYywKICAgICAgICAgRGVsZXRlQnV0dG9u
R3JhcGhpYywKLSAgICAgICAgSW5wdXRTcGVlY2hCdXR0b25HcmFwaGljCisgICAgICAgIElucHV0
U3BlZWNoQnV0dG9uR3JhcGhpYywKKyAgICAgICAgU2VhcmNoQ2FuY2VsQnV0dG9uR3JhcGhpYywK
KyAgICAgICAgU2VhcmNoQ2FuY2VsQnV0dG9uUHJlc3NlZEdyYXBoaWMKICAgICB9OwogICAgIGVu
dW0gRm9udFNpemUgewogICAgICAgICBNaW5pbXVtRm9udFNpemUsCmRpZmYgLS1naXQgYS9XZWJL
aXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBjZTcxNmQ0MmQ3Nzc1
NmQ0NzVlZDM5NzMzZTU1ZjBjYTA3NjMyODgyLi43NmIyNGRhNzc0N2IzZWJlNTdiN2IwM2FjMTE4
YmExNDlmZjZhMzNlIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wMS0xMCAgUm9iZXJ0IEhvZ2Fu
ICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1F0XSBTZWFyY2ggaW5wdXQgZmllbGQgZG9lc24ndCBoYXZlIGNhbmNl
bCBidXR0b24KKworICAgICAgICBBZGQgYSBjYW5jZWwgYnV0dG9uIHRvIHRoZSBzZWFyY2ggZmll
bGQgYW5kIG1ha2UgaXQgY3VzdG9taXphYmxlCisgICAgICAgIGJ5IHRoZSBjbGllbnQuIEZvciBu
b3csIHVzZSB0aGUgY2xvc2UgZGlhbG9nIGJ1dHRvbiBhc3NvY2lhdGVkCisgICAgICAgIHdpdGgg
dGhlIGFwcGxpY2F0aW9uJ3Mgc3R5bGUgYXMgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODg3CisKKyAgICAgICAgKiBBcGkv
cXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKGdyYXBoaWNzKToKKyAgICAgICAgKiBBcGkvcXdl
YnNldHRpbmdzLmg6CisKIDIwMTEtMDEtMTAgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbi5w
b3VsYWluQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENo
cmlzdGlhbnNlbi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78562</attachid>
            <date>2011-01-11 11:27:26 -0800</date>
            <delta_ts>2011-01-11 11:31:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42887-20110111192723.patch</filename>
            <type>text/plain</type>
            <size>18755</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNTJhYTM0YzhlMDI1YjRjODQwY2Q0ZTRmMzExM2NiOTUzYmVlNGE3Li45NWFmNDVk
YjU5YzFmOWY1ZGFhOTZhMTg4ZGU0NGQzNmM1MGJkNzk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDEtMTAgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gU2VhcmNoIGlucHV0
IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCisKKyAgICAgICAgQWRkIGEgY2FuY2Vs
IGJ1dHRvbiB0byB0aGUgc2VhcmNoIGZpZWxkIGFuZCBtYWtlIGl0IGN1c3RvbWl6YWJsZQorICAg
ICAgICBieSB0aGUgY2xpZW50LiBGb3Igbm93LCB1c2UgdGhlIGNsb3NlIGRpYWxvZyBidXR0b24g
YXNzb2NpYXRlZAorICAgICAgICB3aXRoIHRoZSBhcHBsaWNhdGlvbidzIHN0eWxlIGFzIHRoZSBk
ZWZhdWx0LgorCisgICAgICAgIFVuc2tpcCBhIGJ1bmNoIG9mIHNlYXJjaCBmaWVsZCByZWxhdGVk
IHRlc3RzIHRoYXQgcGFzcyBub3c6CisKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2Vs
LWJ1dHRvbi1tb3VzZXVwLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtcnRsLmh0bWwK
KyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtYWJzLXBvcy1jYW5jZWwtYnV0dG9uLmh0bWwKKyAg
ICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtc3R5bGVkLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9z
ZWFyY2gtdHJhbnNmb3JtZWQuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC16b29tZWQu
aHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLXN0eWxlLXNoYXJp
bmcuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1kaXNwbGF5LW5vbmUtY2FuY2VsLWJ1
dHRvbi5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLXBsYWNlaG9sZGVyLXZhbHVlLWNo
YW5nZWQuaHRtbAorICAgICAgICBmYXN0L3JlcGFpbnQvc2VhcmNoLWZpZWxkLWNhbmNlbC5odG1s
CisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tZXZlbnRzLmh0bWwKKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4ODcKKwor
ICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIwMTEtMDEtMTAgIEdhdmluIEJhcnJh
Y2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggOGUyNDVkM2NhMmM5YjU0OTE4
NTkyNjRlYjZiZmI4ZTdkYWNlZDRlZS4uYmYyZmM3YmRiZTc1ZjYyOWQ5NzVkNDZmNWRhZGQ2Zjgz
ZDE2M2JmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC00ODcsNyArNDg3LDYgQEAgZmFz
dC9kb20vb3Blbi1hbmQtY2xvc2UtYnktRE9NLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9uZXctd2lu
ZG93LW9wZW5lci5odG1sCiBmYXN0L2Zvcm1zLzAwMS5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzMi5o
dG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLW1vdXNldXAuaHRtbAogZmFzdC9m
cmFtZXMvMDAxLmh0bWwKIGZhc3QvdGV4dC9tb25vc3BhY2Utd2lkdGgtY2FjaGUuaHRtbAogCkBA
IC0yMzIyLDcgKzIzMjEsNiBAQCBmYXN0L2Zvcm1zL2xpc3Rib3gtb25jaGFuZ2UuaHRtbAogZmFz
dC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi0yLmh0bWwKIGZhc3QvZm9ybXMvbGlzdGJveC1zZWxl
Y3Rpb24uaHRtbAogZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0YXJlYS5odG1sCi1mYXN0L2Zvcm1z
L3NlYXJjaC1ydGwuaHRtbAogZmFzdC9mb3Jtcy9zZWxlY3Qtd3JpdGluZy1kaXJlY3Rpb24tbmF0
dXJhbC5odG1sCiBmYXN0L2Zvcm1zL3RhYmJpbmctaW5wdXQtaWZyYW1lLmh0bWwKIGZhc3QvZm9y
bXMvdGV4dEFyZWFMaW5lSGVpZ2h0Lmh0bWwKQEAgLTIzODIsNyArMjM4MCw2IEBAIGZhc3QvZW5j
b2RpbmcvaGVicmV3Lzg4NTktOC1pLmh0bWwKIGZhc3QvZW5jb2RpbmcvaGVicmV3L2xvZ2ljYWwu
aHRtbAogZmFzdC9ldmVudHMvY3Jhc2gtb24tbXV0YXRlLWR1cmluZy1kcm9wLmh0bWwKIGZhc3Qv
Zm9ybXMvb3B0aW9uLW1vdXNlZXZlbnRzLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLWFicy1wb3Mt
Y2FuY2VsLWJ1dHRvbi5odG1sCiBmYXN0L2Zvcm1zL3RleHQtY29udHJvbC1pbnRyaW5zaWMtd2lk
dGhzLmh0bWwKIGZhc3QvZm9ybXMvdGV4dGFyZWEtbWV0cmljcy5odG1sCiBmYXN0L2hpc3Rvcnkv
d2luZG93LW9wZW4uaHRtbApAQCAtMjQ0MCw5ICsyNDM3LDYgQEAgZmFzdC9mb3Jtcy9saXN0Ym94
LWRlc2VsZWN0LXNjcm9sbC5odG1sCiBmYXN0L2Zvcm1zL2xpc3Rib3gtaGl0LXRlc3Qtem9vbWVk
Lmh0bWwKIGZhc3QvZm9ybXMvbmVnYXRpdmVMaW5lSGVpZ2h0Lmh0bWwKIGZhc3QvZm9ybXMvcGxh
Y2Vob2xkZXItcHNldWRvLXN0eWxlLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLXN0eWxlZC5odG1s
Ci1mYXN0L2Zvcm1zL3NlYXJjaC10cmFuc2Zvcm1lZC5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC16
b29tZWQuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJlYS1hbGlnbi5odG1sCiBmYXN0L2Zvcm1zL3Rl
eHRhcmVhLXNldGlubmVyaHRtbC5odG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXdpZHRoLmh0bWwK
QEAgLTMyMTYsOSArMzIxMCw2IEBAIGZhc3QvZm9ybXMvcmFkaW8tbmVzdGVkLWxhYmVscy5odG1s
CiBmYXN0L2Zvcm1zL3JhZGlvX2NoZWNrZWQuaHRtbAogZmFzdC9mb3Jtcy9yYWRpb19jaGVja2Vk
X2R5bmFtaWMuaHRtbAogZmFzdC9mb3Jtcy9yYW5nZS10aHVtYi1oZWlnaHQtcGVyY2VudGFnZS5o
dG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLXN0eWxlLXNoYXJpbmcuaHRtbAot
ZmFzdC9mb3Jtcy9zZWFyY2gtZGlzcGxheS1ub25lLWNhbmNlbC1idXR0b24uaHRtbAotZmFzdC9m
b3Jtcy9zZWFyY2gtcGxhY2Vob2xkZXItdmFsdWUtY2hhbmdlZC5odG1sCiBmYXN0L2Zvcm1zL3Nl
YXJjaGZpZWxkLWhlaWdodHMuaHRtbAogZmFzdC9mb3Jtcy9zZWxlY3QtYWNjZXNza2V5Lmh0bWwK
IGZhc3QvZm9ybXMvc2VsZWN0LWFsaWduLmh0bWwKQEAgLTM1NTMsNyArMzU0NCw2IEBAIGZhc3Qv
cmVwYWludC9yZWZsZWN0aW9uLXJlZHJhdy5odG1sCiBmYXN0L3JlcGFpbnQvcmVmbGVjdGlvbi1y
ZXBhaW50LXRlc3QuaHRtbAogZmFzdC9yZXBhaW50L3JlbmRlcmVyLWRlc3RydWN0aW9uLWJ5LWlu
dmFsaWRhdGVTZWxlY3Rpb24tY3Jhc2guaHRtbAogZmFzdC9yZXBhaW50L3JlcGFpbnQtcmVzaXpl
ZC1vdmVyZmxvdy5odG1sCi1mYXN0L3JlcGFpbnQvc2VhcmNoLWZpZWxkLWNhbmNlbC5odG1sCiBm
YXN0L3JlcGFpbnQvc2VsZWN0ZWQtcmVwbGFjZWQuaHRtbAogZmFzdC9yZXBhaW50L3NlbGVjdGlv
bi1jbGVhci5odG1sCiBmYXN0L3JlcGFpbnQvc3RhdGljLXRvLXBvc2l0aW9uZWQuaHRtbApAQCAt
NTIxNiwxMCArNTIwNiw2IEBAIGFuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLmh0
bWwKIGFuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLWV2ZW50cy5odG1sCiBhbmlt
YXRpb25zL3N0b3AtYW5pbWF0aW9uLW9uLXN1c3BlbmQuaHRtbAogCi0jIFtRdF0gU2VhcmNoIGlu
cHV0IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCi0jIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg4NwotZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1
dHRvbi1ldmVudHMuaHRtbAotCiAjIFtRdF0gRFJUIHNpZGVlZmZlY3QgcmV2ZWFsZWQgYnkgcjYz
NjU3CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjU3OAogaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtY3NzLWluLW1haW4tZnJhbWUu
aHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDA3MTJiNWIyNDQ2N2Y2MmFlYWI2NjJjNTU5MTFkNGU4Y2E1NTkz
MTguLjI3NWI5NzdkYzgwNWM5MjMxZDgxOGViMjI1YThiODNkMjgwYzJkNTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0MSBAQAorMjAxMS0wMS0xMCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W1F0XSBTZWFyY2ggaW5wdXQgZmllbGQgZG9lc24ndCBoYXZlIGNhbmNlbCBidXR0b24KKworICAg
ICAgICBBZGQgYSBjYW5jZWwgYnV0dG9uIHRvIHRoZSBzZWFyY2ggZmllbGQgYW5kIG1ha2UgaXQg
Y3VzdG9taXphYmxlCisgICAgICAgIGJ5IHRoZSBjbGllbnQuIEZvciBub3csIHVzZSB0aGUgY2xv
c2UgZGlhbG9nIGJ1dHRvbiBhc3NvY2lhdGVkCisgICAgICAgIHdpdGggdGhlIGFwcGxpY2F0aW9u
J3Mgc3R5bGUgYXMgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgVW5za2lwIGEgYnVuY2ggb2Ygc2Vh
cmNoIGZpZWxkIHJlbGF0ZWQgdGVzdHMgdGhhdCBwYXNzIG5vdzoKKworICAgICAgICBmYXN0L2Zv
cm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLW1vdXNldXAuaHRtbAorICAgICAgICBmYXN0L2Zvcm1z
L3NlYXJjaC1ydGwuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1hYnMtcG9zLWNhbmNl
bC1idXR0b24uaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1zdHlsZWQuaHRtbAorICAg
ICAgICBmYXN0L2Zvcm1zL3NlYXJjaC10cmFuc2Zvcm1lZC5odG1sCisgICAgICAgIGZhc3QvZm9y
bXMvc2VhcmNoLXpvb21lZC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1i
dXR0b24tc3R5bGUtc2hhcmluZy5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWRpc3Bs
YXktbm9uZS1jYW5jZWwtYnV0dG9uLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtcGxh
Y2Vob2xkZXItdmFsdWUtY2hhbmdlZC5odG1sCisgICAgICAgIGZhc3QvcmVwYWludC9zZWFyY2gt
ZmllbGQtY2FuY2VsLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRv
bi1ldmVudHMuaHRtbAorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00Mjg4NworCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5j
cHA6CisgICAgICAgIChsb2FkUmVzb3VyY2VQaXhtYXApOgorICAgICAgICAqIHBsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6aXND
b250cm9sU3R5bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmNvbXB1dGVT
aXplQmFzZWRPblN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50
U2VhcmNoRmllbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2Vh
cmNoRmllbGRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RT
ZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lUXQ6OmNvbnZlcnRUb1BhaW50aW5nUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9SZW5kZXJUaGVtZVF0Lmg6CisKIDIwMTEtMDEtMTAgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbi5wb3VsYWluQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0ltYWdlUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvSW1hZ2VRdC5jcHAKaW5kZXggNDlhZmQyOWY3NGFiMWY0OWY3MWJmOTc3YzlhOGJiNmZj
ZDJiNGI1Yy4uYjY2YTFjYTc4NzhlODZiN2ZlMGIwYjA4ZmNlZWU2MDk5MWVlMGQ5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKQEAgLTY4
LDYgKzY4LDEwIEBAIHN0YXRpYyBRUGl4bWFwIGxvYWRSZXNvdXJjZVBpeG1hcChjb25zdCBjaGFy
ICpuYW1lKQogICAgICAgICBwaXhtYXAgPSBRV2ViU2V0dGluZ3M6OndlYkdyYXBoaWMoUVdlYlNl
dHRpbmdzOjpEZWxldGVCdXR0b25HcmFwaGljKTsKICAgICBlbHNlIGlmICghcXN0cmNtcChuYW1l
LCAiaW5wdXRTcGVlY2giKSkKICAgICAgICAgcGl4bWFwID0gUVdlYlNldHRpbmdzOjp3ZWJHcmFw
aGljKFFXZWJTZXR0aW5nczo6SW5wdXRTcGVlY2hCdXR0b25HcmFwaGljKTsKKyAgICBlbHNlIGlm
ICghcXN0cmNtcChuYW1lLCAic2VhcmNoQ2FuY2VsQnV0dG9uIikpCisgICAgICAgIHBpeG1hcCA9
IFFXZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhRV2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRv
bkdyYXBoaWMpOworICAgIGVsc2UgaWYgKCFxc3RyY21wKG5hbWUsICJzZWFyY2hDYW5jZWxCdXR0
b25QcmVzc2VkIikpCisgICAgICAgIHBpeG1hcCA9IFFXZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhR
V2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRvblByZXNzZWRHcmFwaGljKTsKIAogICAgIHJl
dHVybiBwaXhtYXA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9S
ZW5kZXJUaGVtZVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXQuY3BwCmluZGV4IDJjYzM2MjU3Y2IzMWIzZDFkNmExNzI4ZTJjNGYwNjRhZTg1NGNmZTguLjlh
MTc3NWM2OTg2NDBhOWQ0NWQyMDc4M2Q4YTQxYTY0ODQ3ZTc0OWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCkBAIC01MCw2ICs1MCw3IEBACiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUXRT
dHlsZU9wdGlvbldlYkNvbWJvQm94LmgiCisjaW5jbHVkZSAicXdlYnNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiUmVuZGVyQm94LmgiCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICNpbmNsdWRlICJS
ZW5kZXJQcm9ncmVzcy5oIgpAQCAtOTIsNiArOTMsMTUgQEAgaW5saW5lIHN0YXRpYyB2b2lkIGlu
aXRTdHlsZU9wdGlvbihRV2lkZ2V0ICp3aWRnZXQsIFFTdHlsZU9wdGlvbiYgb3B0aW9uKQogICAg
ICAgICBvcHRpb24uc3RhdGUgPSBRU3R5bGU6OlN0YXRlX0FjdGl2ZSB8IFFTdHlsZTo6U3RhdGVf
RW5hYmxlZDsKICAgICB9CiB9CisvLyBUaGVzZSB2YWx1ZXMgYWxsIG1hdGNoIFNhZmFyaS9XaW4v
Q2hyb21pdW0KK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0Q29udHJvbEZvbnRQaXhlbFNpemUg
PSAxMzsKK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0Q2FuY2VsQnV0dG9uU2l6ZSA9IDk7Citz
dGF0aWMgY29uc3QgZmxvYXQgbWluQ2FuY2VsQnV0dG9uU2l6ZSA9IDU7CitzdGF0aWMgY29uc3Qg
ZmxvYXQgbWF4Q2FuY2VsQnV0dG9uU2l6ZSA9IDIxOworc3RhdGljIGNvbnN0IGZsb2F0IGRlZmF1
bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSA9IDEzOworc3RhdGljIGNvbnN0IGZs
b2F0IG1pblNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplID0gOTsKK3N0YXRpYyBjb25z
dCBmbG9hdCBtYXhTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSA9IDMwOworc3RhdGlj
IGNvbnN0IGZsb2F0IGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25XaWR0aCA9IDE4Owog
CiAKIFN0eWxlUGFpbnRlcjo6U3R5bGVQYWludGVyKFJlbmRlclRoZW1lUXQqIHRoZW1lLCBjb25z
dCBQYWludEluZm8mIHBhaW50SW5mbykKQEAgLTE4Niw2ICsxOTYsNyBAQCBib29sIFJlbmRlclRo
ZW1lUXQ6OmlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJv
cmRlckRhdGEmCiAgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKICAgICBjYXNlIEJ1dHRvblBhcnQ6
CiAgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisgICAgLy8gRklYTUU6IE5lZWQgdG8gYWRkIFNlYXJj
aEZpZWxkUGFydCBpZiBpdCBzaG91bGQgYmUgc3R5bGUtYWJsZS4KICAgICBjYXNlIFRleHRGaWVs
ZFBhcnQ6CiAgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAt
MjAxLDYgKzIxMiwyMCBAQCBpbnQgUmVuZGVyVGhlbWVRdDo6cG9wdXBJbnRlcm5hbFBhZGRpbmdC
b3R0b20oUmVuZGVyU3R5bGUqIHN0eWxlKSBjb25zdAogewogICAgIHJldHVybiAxOwogfQorI2Vs
c2UKKy8vIFJlbW92ZSB0aGlzIHdoZW4gU2VhcmNoRmllbGRQYXJ0IGlzIHN0eWxlLWFibGUgaW4g
UmVuZGVyVGhlbWU6OmlzQ29udHJvbFN0eWxlZCgpCitib29sIFJlbmRlclRoZW1lUXQ6OmlzQ29u
dHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJvcmRlckRhdGEmIGJv
cmRlciwgY29uc3QgRmlsbExheWVyJiBmaWxsLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9y
KSBjb25zdAoreworICAgIHN3aXRjaCAoc3R5bGUtPmFwcGVhcmFuY2UoKSkgeworICAgIGNhc2Ug
U2VhcmNoRmllbGRQYXJ0OgorICAgICAgICAvLyBUZXN0IHRoZSBzdHlsZSB0byBzZWUgaWYgdGhl
IFVBIGJvcmRlciBhbmQgYmFja2dyb3VuZCBtYXRjaC4KKyAgICAgICAgcmV0dXJuIChzdHlsZS0+
Ym9yZGVyKCkgIT0gYm9yZGVyCisgICAgICAgICAgICAgICAgfHwgKnN0eWxlLT5iYWNrZ3JvdW5k
TGF5ZXJzKCkgIT0gZmlsbAorICAgICAgICAgICAgICAgIHx8IHN0eWxlLT52aXNpdGVkRGVwZW5k
ZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpICE9IGJhY2tncm91bmRDb2xvcik7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIFJlbmRlclRoZW1lOjppc0NvbnRyb2xTdHls
ZWQoc3R5bGUsIGJvcmRlciwgZmlsbCwgYmFja2dyb3VuZENvbG9yKTsKKyAgICB9Cit9CiAjZW5k
aWYKIAogLy8gZm9yIHNvbWUgd2lkZ2V0IHBhaW50aW5nLCB3ZSBuZWVkIHRvIGZhbGxiYWNrIHRv
IFdpbmRvd3Mgc3R5bGUKQEAgLTQxMyw2ICs0MzgsNyBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OmNv
bXB1dGVTaXplQmFzZWRPblN0eWxlKFJlbmRlclN0eWxlKiByZW5kZXJTdHlsZSkgY29uc3QKIAog
ICAgIHN3aXRjaCAocmVuZGVyU3R5bGUtPmFwcGVhcmFuY2UoKSkgewogICAgIGNhc2UgVGV4dEFy
ZWFQYXJ0OgorICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgogICAgIGNhc2UgVGV4dEZpZWxkUGFy
dDogewogICAgICAgICBpbnQgcGFkZGluZyA9IGZpbmRGcmFtZUxpbmVXaWR0aChzdHlsZSk7CiAK
QEAgLTYxMSw2ICs2MzcsMTEgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludEJ1dHRvbihSZW5k
ZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwgY29uc3QgSW50UmUKIAogdm9pZCBSZW5k
ZXJUaGVtZVF0OjphZGp1c3RUZXh0RmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVy
U3R5bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QKIHsKKyAgICAvLyBSZXNldHRpbmcgdGhlIHN0
eWxlIGxpa2UgdGhpcyBsZWFkcyB0byBkaWZmZXJlbmNlcyBsaWtlOgorICAgIC8vIC0gUmVuZGVy
VGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE2OHgyNSBbYmdjb2xvcj0jRkZGRkZG
XSBib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgLy8gKyBSZW5kZXJUZXh0Q29udHJv
bCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTY2eDI2CisgICAgLy8gaW4gbGF5b3V0IHRlc3RzIHdo
ZW4gYSBDU1Mgc3R5bGUgaXMgYXBwbGllZCB0aGF0IGRvZXNuJ3QgYWZmZWN0IGJhY2tncm91bmQg
Y29sb3IsIGJvcmRlciBvcgorICAgIC8vIHBhZGRpbmcuIEp1c3Qgd29ydGgga2VlcGluZyBpbiBt
aW5kIQogICAgIHN0eWxlLT5zZXRCYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OnRyYW5zcGFyZW50KTsK
ICAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKICAgICBzdHlsZS0+cmVzZXRQYWRkaW5nKCk7CkBA
IC04ODYsMjggKzkxNyw3MyBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNsaWRlclRodW1i
U3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZQogYm9vbCBSZW5kZXJU
aGVtZVF0OjpwYWludFNlYXJjaEZpZWxkKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZv
JiBwaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0
JiByKQogewotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBwYWludFRleHRGaWVsZChvLCBw
aSwgcik7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRTdHlsZShD
U1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVyU3R5bGUqIHN0eWxlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZW1lbnQqIGUpIGNvbnN0CiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBSZW5kZXJUaGVtZTo6YWRqdXN0U2VhcmNoRmllbGRT
dHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAgIC8vIFJlc2V0dGluZyB0aGUgc3R5bGUgbGlr
ZSB0aGlzIGxlYWRzIHRvIGRpZmZlcmVuY2VzIGxpa2U6CisgICAgLy8gLSBSZW5kZXJUZXh0Q29u
dHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTY4eDI1IFtiZ2NvbG9yPSNGRkZGRkZdIGJvcmRl
cjogKDJweCBpbnNldCAjMDAwMDAwKV0KKyAgICAvLyArIFJlbmRlclRleHRDb250cm9sIHtJTlBV
VH0gYXQgKDIsMikgc2l6ZSAxNjZ4MjYKKyAgICAvLyBpbiBsYXlvdXQgdGVzdHMgd2hlbiBhIENT
UyBzdHlsZSBpcyBhcHBsaWVkIHRoYXQgZG9lc24ndCBhZmZlY3QgYmFja2dyb3VuZCBjb2xvciwg
Ym9yZGVyIG9yCisgICAgLy8gcGFkZGluZy4gSnVzdCB3b3J0aCBrZWVwaW5nIGluIG1pbmQhCisg
ICAgc3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6dHJhbnNwYXJlbnQpOworICAgIHN0
eWxlLT5yZXNldEJvcmRlcigpOworICAgIHN0eWxlLT5yZXNldFBhZGRpbmcoKTsKKyAgICBjb21w
dXRlU2l6ZUJhc2VkT25TdHlsZShzdHlsZSk7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRq
dXN0U2VhcmNoRmllbGRDYW5jZWxCdXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3Rv
ciwgUmVuZGVyU3R5bGUqIHN0eWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVsZW1lbnQqIGUpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICBSZW5kZXJUaGVtZTo6YWRqdXN0U2VhcmNoRmllbGRDYW5jZWxCdXR0b25T
dHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAgIC8vIExvZ2ljIHRha2VuIGZyb20gUmVuZGVy
VGhlbWVDaHJvbWl1bS5jcHAuCisgICAgLy8gU2NhbGUgdGhlIGJ1dHRvbiBzaXplIGJhc2VkIG9u
IHRoZSBmb250IHNpemUuCisgICAgZmxvYXQgZm9udFNjYWxlID0gc3R5bGUtPmZvbnRTaXplKCkg
LyBkZWZhdWx0Q29udHJvbEZvbnRQaXhlbFNpemU7CisgICAgaW50IGNhbmNlbEJ1dHRvblNpemUg
PSBscm91bmRmKHFNaW4ocU1heChtaW5DYW5jZWxCdXR0b25TaXplLCBkZWZhdWx0Q2FuY2VsQnV0
dG9uU2l6ZSAqIGZvbnRTY2FsZSksIG1heENhbmNlbEJ1dHRvblNpemUpKTsKKyAgICBzdHlsZS0+
c2V0V2lkdGgoTGVuZ3RoKGNhbmNlbEJ1dHRvblNpemUsIEZpeGVkKSk7CisgICAgc3R5bGUtPnNl
dEhlaWdodChMZW5ndGgoY2FuY2VsQnV0dG9uU2l6ZSwgRml4ZWQpKTsKK30KKworLy8gRnVuY3Rp
b24gdGFrZW4gZnJvbSBSZW5kZXJUaGVtZUNocm9taXVtLmNwcAorSW50UmVjdCBSZW5kZXJUaGVt
ZVF0Ojpjb252ZXJ0VG9QYWludGluZ1JlY3QoUmVuZGVyT2JqZWN0KiBpbnB1dFJlbmRlcmVyLCBj
b25zdCBSZW5kZXJPYmplY3QqIHBhcnRSZW5kZXJlciwgSW50UmVjdCBwYXJ0UmVjdCwgY29uc3Qg
SW50UmVjdCYgbG9jYWxPZmZzZXQpIGNvbnN0Cit7CisgICAgLy8gQ29tcHV0ZSBhbiBvZmZzZXQg
YmV0d2VlbiB0aGUgcGFydCByZW5kZXJlciBhbmQgdGhlIGlucHV0IHJlbmRlcmVyLgorICAgIElu
dFNpemUgb2Zmc2V0RnJvbUlucHV0UmVuZGVyZXIgPSAtKHBhcnRSZW5kZXJlci0+b2Zmc2V0RnJv
bUFuY2VzdG9yQ29udGFpbmVyKGlucHV0UmVuZGVyZXIpKTsKKyAgICAvLyBNb3ZlIHRoZSByZWN0
IGludG8gcGFydFJlbmRlcmVyJ3MgY29vcmRzLgorICAgIHBhcnRSZWN0Lm1vdmUob2Zmc2V0RnJv
bUlucHV0UmVuZGVyZXIpOworICAgIC8vIEFjY291bnQgZm9yIHRoZSBsb2NhbCBkcmF3aW5nIG9m
ZnNldC4KKyAgICBwYXJ0UmVjdC5tb3ZlKGxvY2FsT2Zmc2V0LngoKSwgbG9jYWxPZmZzZXQueSgp
KTsKKworICAgIHJldHVybiBwYXJ0UmVjdDsKIH0KIAogYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWlu
dFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZv
JiBwaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBJbnRSZWN0JiByKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFJl
bmRlclRoZW1lOjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKG8sIHBpLCByKTsKKyAgICAv
LyBMb2dpYyBjb3BpZWQgZnJvbSBSZW5kZXJUaGVtZUNocm9taXVtLmNwcC4KKworICAgIC8vIEdl
dCB0aGUgcmVuZGVyZXIgb2YgPGlucHV0PiBlbGVtZW50LgorICAgIE5vZGUqIGlucHV0ID0gby0+
bm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAgICBpZiAoIWlucHV0LT5yZW5kZXJlcigp
LT5pc0JveCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgUmVuZGVyQm94KiBpbnB1dFJl
bmRlckJveCA9IHRvUmVuZGVyQm94KGlucHV0LT5yZW5kZXJlcigpKTsKKyAgICBJbnRSZWN0IGlu
cHV0Q29udGVudEJveCA9IGlucHV0UmVuZGVyQm94LT5jb250ZW50Qm94UmVjdCgpOworCisgICAg
Ly8gTWFrZSBzdXJlIHRoZSBzY2FsZWQgYnV0dG9uIHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQg
aW4gaXRzIHBhcmVudCdzIGJveC4KKyAgICBpbnQgY2FuY2VsQnV0dG9uU2l6ZSA9IHFNaW4oaW5w
dXRDb250ZW50Qm94LndpZHRoKCksIHFNaW4oaW5wdXRDb250ZW50Qm94LmhlaWdodCgpLCByLmhl
aWdodCgpKSk7CisgICAgLy8gQ2FsY3VsYXRlIGNhbmNlbCBidXR0b24ncyBjb29yZGluYXRlcyBy
ZWxhdGl2ZSB0byB0aGUgaW5wdXQgZWxlbWVudC4KKyAgICAvLyBDZW50ZXIgdGhlIGJ1dHRvbiB2
ZXJ0aWNhbGx5LiAgUm91bmQgdXAgdGhvdWdoLCBzbyBpZiBpdCBoYXMgdG8gYmUgb25lIHBpeGVs
IG9mZi1jZW50ZXIsIGl0IHdpbGwKKyAgICAvLyBiZSBvbmUgcGl4ZWwgY2xvc2VyIHRvIHRoZSBi
b3R0b20gb2YgdGhlIGZpZWxkLiAgVGhpcyB0ZW5kcyB0byBsb29rIGJldHRlciB3aXRoIHRoZSB0
ZXh0LgorICAgIEludFJlY3QgY2FuY2VsQnV0dG9uUmVjdChvLT5vZmZzZXRGcm9tQW5jZXN0b3JD
b250YWluZXIoaW5wdXRSZW5kZXJCb3gpLndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlucHV0Q29udGVudEJveC55KCkgKyAoaW5wdXRDb250ZW50Qm94LmhlaWdodCgpIC0g
Y2FuY2VsQnV0dG9uU2l6ZSArIDEpIC8gMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2FuY2VsQnV0dG9uU2l6ZSwgY2FuY2VsQnV0dG9uU2l6ZSk7CisgICAgSW50UmVjdCBwYWludGlu
Z1JlY3QgPSBjb252ZXJ0VG9QYWludGluZ1JlY3QoaW5wdXRSZW5kZXJCb3gsIG8sIGNhbmNlbEJ1
dHRvblJlY3QsIHIpOworICAgIHN0YXRpYyBJbWFnZSogY2FuY2VsSW1hZ2UgPSBJbWFnZTo6bG9h
ZFBsYXRmb3JtUmVzb3VyY2UoInNlYXJjaENhbmNlbEJ1dHRvbiIpLnJlbGVhc2VSZWYoKTsKKyAg
ICBzdGF0aWMgSW1hZ2UqIGNhbmNlbFByZXNzZWRJbWFnZSA9IEltYWdlOjpsb2FkUGxhdGZvcm1S
ZXNvdXJjZSgic2VhcmNoQ2FuY2VsQnV0dG9uUHJlc3NlZCIpLnJlbGVhc2VSZWYoKTsKKyAgICBw
aS5jb250ZXh0LT5kcmF3SW1hZ2UoaXNQcmVzc2VkKG8pID8gY2FuY2VsUHJlc3NlZEltYWdlIDog
Y2FuY2VsSW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLT5zdHlsZSgp
LT5jb2xvclNwYWNlKCksIHBhaW50aW5nUmVjdCk7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2
b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkRGVjb3JhdGlvblN0eWxlKENTU1N0
eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKaW5kZXggYzI4MTY4YTM0NDY5NDY0M2MzZWYz
NjY0OTA3NDI1MDQ3NjM0MTdjMi4uNjk4MTY0MTMwZmJlYjE0NzQ2MmZlMjE3NWYyZDUwNzVjY2Qw
M2I2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVR
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaApAQCAt
ODEsOCArODEsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50
ZXJ2YWwoKSBjb25zdDsKIAotI2lmIFVTRShRVF9NT0JJTEVfVEhFTUUpCiAgICAgdmlydHVhbCBi
b29sIGlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IEJvcmRlckRhdGEm
LCBjb25zdCBGaWxsTGF5ZXImLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKSBjb25zdDsK
KyNpZiBVU0UoUVRfTU9CSUxFX1RIRU1FKQogICAgIHZpcnR1YWwgaW50IHBvcHVwSW50ZXJuYWxQ
YWRkaW5nQm90dG9tKFJlbmRlclN0eWxlKikgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTgwLDYgKzE4
MCw4IEBAIHByaXZhdGU6CiAKICAgICBRU3R5bGUqIGZhbGxiYWNrU3R5bGUoKSBjb25zdDsKIAor
ICAgIEludFJlY3QgY29udmVydFRvUGFpbnRpbmdSZWN0KFJlbmRlck9iamVjdCogaW5wdXRSZW5k
ZXJlciwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXJ0UmVuZGVyZXIsIEludFJlY3QgcGFydFJlY3Qs
IGNvbnN0IEludFJlY3QmIGxvY2FsT2Zmc2V0KSBjb25zdDsKKwogICAgIFBhZ2UqIG1fcGFnZTsK
IAogI2lmZGVmIFFfV1NfTUFDCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5n
cy5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKaW5kZXggZWQ0MjVjMjhmOTkw
Njg0YWI3ZWI0NmZkOTFiZTA1MDM3OGQ1OTk4Yi4uNmM1OWQ3MzQxMTk4MTAwMzU4OTA0NWU0YTU1
Y2ZjOGFkNTMwM2Y5NiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3Bw
CisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcApAQCAtNDgsNiArNDgsNyBAQAog
I2luY2x1ZGUgPFFTaGFyZWREYXRhPgogI2luY2x1ZGUgPFFVcmw+CiAjaW5jbHVkZSA8UUZpbGVJ
bmZvPgorI2luY2x1ZGUgPFFTdHlsZT4KIAogI2luY2x1ZGUgIk5ldHdvcmtTdGF0ZU5vdGlmaWVy
LmgiCiAKQEAgLTEwMSw2ICsxMDIsOCBAQCBzdGF0aWMgV2ViR3JhcGhpY0hhc2gqIGdyYXBoaWNz
KCkKICAgICAgICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0aW5nczo6VGV4dEFyZWFTaXplR3JpcENv
cm5lckdyYXBoaWMsIFFQaXhtYXAoUUxhdGluMVN0cmluZygiOndlYmtpdC9yZXNvdXJjZXMvdGV4
dEFyZWFSZXNpemVDb3JuZXIucG5nIikpKTsKICAgICAgICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0
aW5nczo6RGVsZXRlQnV0dG9uR3JhcGhpYywgUVBpeG1hcChRTGF0aW4xU3RyaW5nKCI6d2Via2l0
L3Jlc291cmNlcy9kZWxldGVCdXR0b24ucG5nIikpKTsKICAgICAgICAgaGFzaC0+aW5zZXJ0KFFX
ZWJTZXR0aW5nczo6SW5wdXRTcGVlY2hCdXR0b25HcmFwaGljLCBRUGl4bWFwKFFMYXRpbjFTdHJp
bmcoIjp3ZWJraXQvcmVzb3VyY2VzL2lucHV0U3BlZWNoLnBuZyIpKSk7CisgICAgICAgIGhhc2gt
Pmluc2VydChRV2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRvbkdyYXBoaWMsIFFBcHBsaWNh
dGlvbjo6c3R5bGUoKS0+c3RhbmRhcmRQaXhtYXAoUVN0eWxlOjpTUF9EaWFsb2dDbG9zZUJ1dHRv
bikpOworICAgICAgICBoYXNoLT5pbnNlcnQoUVdlYlNldHRpbmdzOjpTZWFyY2hDYW5jZWxCdXR0
b25QcmVzc2VkR3JhcGhpYywgUUFwcGxpY2F0aW9uOjpzdHlsZSgpLT5zdGFuZGFyZFBpeG1hcChR
U3R5bGU6OlNQX0RpYWxvZ0Nsb3NlQnV0dG9uKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGhhc2g7
CkBAIC0zNzIsNiArMzc1LDkgQEAgUVdlYlNldHRpbmdzKiBRV2ViU2V0dGluZ3M6Omdsb2JhbFNl
dHRpbmdzKCkKICAgICBcdmFsdWUgRGVmYXVsdEZyYW1lSWNvbkdyYXBoaWMgVGhlIGRlZmF1bHQg
aWNvbiBmb3IgUVdlYkZyYW1lOjppY29uKCkuCiAgICAgXHZhbHVlIFRleHRBcmVhU2l6ZUdyaXBD
b3JuZXJHcmFwaGljIFRoZSBncmFwaGljIHNob3duIGZvciB0aGUgc2l6ZSBncmlwIG9mIHRleHQg
YXJlYXMuCiAgICAgXHZhbHVlIERlbGV0ZUJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24g
Zm9yIHRoZSBXZWJLaXQtRWRpdGluZy1EZWxldGUtQnV0dG9uIGluIERlbGV0aW9uIFVJLgorICAg
IFx2YWx1ZSBJbnB1dFNwZWVjaEJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24gaW4gaW5w
dXQgZmllbGRzIHRoYXQgc3VwcG9ydCBzcGVlY2ggcmVjb2duaXRpb24uCisgICAgXHZhbHVlIFNl
YXJjaENhbmNlbEJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBoaWMgc2hvd24gZm9yIGNsZWFyaW5nIHRo
ZSB0ZXh0IGluIGEgc2VhcmNoIGZpZWxkLgorICAgIFx2YWx1ZSBTZWFyY2hDYW5jZWxCdXR0b25Q
cmVzc2VkR3JhcGhpYyBUaGUgZ3JhcGhpYyBzaG93biB3aGVuIFNlYXJjaENhbmNlbEJ1dHRvbkdy
YXBoaWMgaXMgcHJlc3NlZC4KICovCiAKIC8qIQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9x
d2Vic2V0dGluZ3MuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKaW5kZXggMDU2OWFi
MGYzMmQ2ZjcwZTIzZDFjNGZjMjgwNmIzZDc3ODkwZDY3ZS4uMDA4MDM1YmE3NjJjYTI5Yzk3YzEx
NGNlNzRhMjhiMjVhMjExZmJmMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGlu
Z3MuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCkBAIC04NSw3ICs4NSw5IEBA
IHB1YmxpYzoKICAgICAgICAgRGVmYXVsdEZyYW1lSWNvbkdyYXBoaWMsCiAgICAgICAgIFRleHRB
cmVhU2l6ZUdyaXBDb3JuZXJHcmFwaGljLAogICAgICAgICBEZWxldGVCdXR0b25HcmFwaGljLAot
ICAgICAgICBJbnB1dFNwZWVjaEJ1dHRvbkdyYXBoaWMKKyAgICAgICAgSW5wdXRTcGVlY2hCdXR0
b25HcmFwaGljLAorICAgICAgICBTZWFyY2hDYW5jZWxCdXR0b25HcmFwaGljLAorICAgICAgICBT
ZWFyY2hDYW5jZWxCdXR0b25QcmVzc2VkR3JhcGhpYwogICAgIH07CiAgICAgZW51bSBGb250U2l6
ZSB7CiAgICAgICAgIE1pbmltdW1Gb250U2l6ZSwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFu
Z2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGNlNzE2ZDQyZDc3NzU2ZDQ3NWVkMzk3
MzNlNTVmMGNhMDc2MzI4ODIuLjc2YjI0ZGE3NzQ3YjNlYmU1N2I3YjAzYWMxMThiYTE0OWZmNmEz
M2UgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTAxLTEwICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIFNlYXJjaCBpbnB1dCBmaWVsZCBkb2Vzbid0IGhhdmUgY2FuY2VsIGJ1dHRvbgor
CisgICAgICAgIEFkZCBhIGNhbmNlbCBidXR0b24gdG8gdGhlIHNlYXJjaCBmaWVsZCBhbmQgbWFr
ZSBpdCBjdXN0b21pemFibGUKKyAgICAgICAgYnkgdGhlIGNsaWVudC4gRm9yIG5vdywgdXNlIHRo
ZSBjbG9zZSBkaWFsb2cgYnV0dG9uIGFzc29jaWF0ZWQKKyAgICAgICAgd2l0aCB0aGUgYXBwbGlj
YXRpb24ncyBzdHlsZSBhcyB0aGUgZGVmYXVsdC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4ODcKKworICAgICAgICAqIEFwaS9xd2Vic2V0dGlu
Z3MuY3BwOgorICAgICAgICAoZ3JhcGhpY3MpOgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3Mu
aDoKKwogMjAxMS0wMS0xMCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluLnBvdWxhaW5Abm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2Vu
Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78564</attachid>
            <date>2011-01-11 11:31:45 -0800</date>
            <delta_ts>2011-01-12 12:27:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42887-20110111193142.patch</filename>
            <type>text/plain</type>
            <size>18791</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNTJhYTM0YzhlMDI1YjRjODQwY2Q0ZTRmMzExM2NiOTUzYmVlNGE3Li40NGNjYTIw
NjIxYjljNGNhNDU0NjAxZmU5MmQwYzRkOTY0NTcwOWU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDEtMTAgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIFtRdF0g
U2VhcmNoIGlucHV0IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCisKKyAgICAgICAg
QWRkIGEgY2FuY2VsIGJ1dHRvbiB0byB0aGUgc2VhcmNoIGZpZWxkIGFuZCBtYWtlIGl0IGN1c3Rv
bWl6YWJsZQorICAgICAgICBieSB0aGUgY2xpZW50LiBGb3Igbm93LCB1c2UgdGhlIGNsb3NlIGRp
YWxvZyBidXR0b24gYXNzb2NpYXRlZAorICAgICAgICB3aXRoIHRoZSBhcHBsaWNhdGlvbidzIHN0
eWxlIGFzIHRoZSBkZWZhdWx0LgorCisgICAgICAgIFVuc2tpcCBhIGJ1bmNoIG9mIHNlYXJjaCBm
aWVsZCByZWxhdGVkIHRlc3RzIHRoYXQgcGFzcyBub3c6CisKKyAgICAgICAgZmFzdC9mb3Jtcy9z
ZWFyY2gtY2FuY2VsLWJ1dHRvbi1tb3VzZXVwLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFy
Y2gtcnRsLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtYWJzLXBvcy1jYW5jZWwtYnV0
dG9uLmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9zZWFyY2gtc3R5bGVkLmh0bWwKKyAgICAgICAg
ZmFzdC9mb3Jtcy9zZWFyY2gtdHJhbnNmb3JtZWQuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3Nl
YXJjaC16b29tZWQuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9u
LXN0eWxlLXNoYXJpbmcuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1kaXNwbGF5LW5v
bmUtY2FuY2VsLWJ1dHRvbi5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLXBsYWNlaG9s
ZGVyLXZhbHVlLWNoYW5nZWQuaHRtbAorICAgICAgICBmYXN0L3JlcGFpbnQvc2VhcmNoLWZpZWxk
LWNhbmNlbC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tZXZl
bnRzLmh0bWwKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDI4ODcKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIwMTEtMDEtMTAg
IEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggOGUyNDVk
M2NhMmM5YjU0OTE4NTkyNjRlYjZiZmI4ZTdkYWNlZDRlZS4uYmYyZmM3YmRiZTc1ZjYyOWQ5NzVk
NDZmNWRhZGQ2ZjgzZDE2M2JmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC00ODcsNyAr
NDg3LDYgQEAgZmFzdC9kb20vb3Blbi1hbmQtY2xvc2UtYnktRE9NLmh0bWwKIGZhc3QvZG9tL1dp
bmRvdy9uZXctd2luZG93LW9wZW5lci5odG1sCiBmYXN0L2Zvcm1zLzAwMS5odG1sCiBmYXN0L2Zv
cm1zL2ZvY3VzMi5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLW1vdXNldXAu
aHRtbAogZmFzdC9mcmFtZXMvMDAxLmh0bWwKIGZhc3QvdGV4dC9tb25vc3BhY2Utd2lkdGgtY2Fj
aGUuaHRtbAogCkBAIC0yMzIyLDcgKzIzMjEsNiBAQCBmYXN0L2Zvcm1zL2xpc3Rib3gtb25jaGFu
Z2UuaHRtbAogZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi0yLmh0bWwKIGZhc3QvZm9ybXMv
bGlzdGJveC1zZWxlY3Rpb24uaHRtbAogZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0YXJlYS5odG1s
Ci1mYXN0L2Zvcm1zL3NlYXJjaC1ydGwuaHRtbAogZmFzdC9mb3Jtcy9zZWxlY3Qtd3JpdGluZy1k
aXJlY3Rpb24tbmF0dXJhbC5odG1sCiBmYXN0L2Zvcm1zL3RhYmJpbmctaW5wdXQtaWZyYW1lLmh0
bWwKIGZhc3QvZm9ybXMvdGV4dEFyZWFMaW5lSGVpZ2h0Lmh0bWwKQEAgLTIzODIsNyArMjM4MCw2
IEBAIGZhc3QvZW5jb2RpbmcvaGVicmV3Lzg4NTktOC1pLmh0bWwKIGZhc3QvZW5jb2RpbmcvaGVi
cmV3L2xvZ2ljYWwuaHRtbAogZmFzdC9ldmVudHMvY3Jhc2gtb24tbXV0YXRlLWR1cmluZy1kcm9w
Lmh0bWwKIGZhc3QvZm9ybXMvb3B0aW9uLW1vdXNlZXZlbnRzLmh0bWwKLWZhc3QvZm9ybXMvc2Vh
cmNoLWFicy1wb3MtY2FuY2VsLWJ1dHRvbi5odG1sCiBmYXN0L2Zvcm1zL3RleHQtY29udHJvbC1p
bnRyaW5zaWMtd2lkdGhzLmh0bWwKIGZhc3QvZm9ybXMvdGV4dGFyZWEtbWV0cmljcy5odG1sCiBm
YXN0L2hpc3Rvcnkvd2luZG93LW9wZW4uaHRtbApAQCAtMjQ0MCw5ICsyNDM3LDYgQEAgZmFzdC9m
b3Jtcy9saXN0Ym94LWRlc2VsZWN0LXNjcm9sbC5odG1sCiBmYXN0L2Zvcm1zL2xpc3Rib3gtaGl0
LXRlc3Qtem9vbWVkLmh0bWwKIGZhc3QvZm9ybXMvbmVnYXRpdmVMaW5lSGVpZ2h0Lmh0bWwKIGZh
c3QvZm9ybXMvcGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNo
LXN0eWxlZC5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC10cmFuc2Zvcm1lZC5odG1sCi1mYXN0L2Zv
cm1zL3NlYXJjaC16b29tZWQuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJlYS1hbGlnbi5odG1sCiBm
YXN0L2Zvcm1zL3RleHRhcmVhLXNldGlubmVyaHRtbC5odG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVh
LXdpZHRoLmh0bWwKQEAgLTMyMTYsOSArMzIxMCw2IEBAIGZhc3QvZm9ybXMvcmFkaW8tbmVzdGVk
LWxhYmVscy5odG1sCiBmYXN0L2Zvcm1zL3JhZGlvX2NoZWNrZWQuaHRtbAogZmFzdC9mb3Jtcy9y
YWRpb19jaGVja2VkX2R5bmFtaWMuaHRtbAogZmFzdC9mb3Jtcy9yYW5nZS10aHVtYi1oZWlnaHQt
cGVyY2VudGFnZS5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLXN0eWxlLXNo
YXJpbmcuaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtZGlzcGxheS1ub25lLWNhbmNlbC1idXR0b24u
aHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtcGxhY2Vob2xkZXItdmFsdWUtY2hhbmdlZC5odG1sCiBm
YXN0L2Zvcm1zL3NlYXJjaGZpZWxkLWhlaWdodHMuaHRtbAogZmFzdC9mb3Jtcy9zZWxlY3QtYWNj
ZXNza2V5Lmh0bWwKIGZhc3QvZm9ybXMvc2VsZWN0LWFsaWduLmh0bWwKQEAgLTM1NTMsNyArMzU0
NCw2IEBAIGZhc3QvcmVwYWludC9yZWZsZWN0aW9uLXJlZHJhdy5odG1sCiBmYXN0L3JlcGFpbnQv
cmVmbGVjdGlvbi1yZXBhaW50LXRlc3QuaHRtbAogZmFzdC9yZXBhaW50L3JlbmRlcmVyLWRlc3Ry
dWN0aW9uLWJ5LWludmFsaWRhdGVTZWxlY3Rpb24tY3Jhc2guaHRtbAogZmFzdC9yZXBhaW50L3Jl
cGFpbnQtcmVzaXplZC1vdmVyZmxvdy5odG1sCi1mYXN0L3JlcGFpbnQvc2VhcmNoLWZpZWxkLWNh
bmNlbC5odG1sCiBmYXN0L3JlcGFpbnQvc2VsZWN0ZWQtcmVwbGFjZWQuaHRtbAogZmFzdC9yZXBh
aW50L3NlbGVjdGlvbi1jbGVhci5odG1sCiBmYXN0L3JlcGFpbnQvc3RhdGljLXRvLXBvc2l0aW9u
ZWQuaHRtbApAQCAtNTIxNiwxMCArNTIwNiw2IEBAIGFuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUt
YW5pbWF0aW9uLmh0bWwKIGFuaW1hdGlvbnMvc3VzcGVuZC1yZXN1bWUtYW5pbWF0aW9uLWV2ZW50
cy5odG1sCiBhbmltYXRpb25zL3N0b3AtYW5pbWF0aW9uLW9uLXN1c3BlbmQuaHRtbAogCi0jIFtR
dF0gU2VhcmNoIGlucHV0IGZpZWxkIGRvZXNuJ3QgaGF2ZSBjYW5jZWwgYnV0dG9uCi0jIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg4NwotZmFzdC9mb3Jtcy9zZWFy
Y2gtY2FuY2VsLWJ1dHRvbi1ldmVudHMuaHRtbAotCiAjIFtRdF0gRFJUIHNpZGVlZmZlY3QgcmV2
ZWFsZWQgYnkgcjYzNjU3CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MjU3OAogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtY3NzLWlu
LW1haW4tZnJhbWUuaHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDA3MTJiNWIyNDQ2N2Y2MmFlYWI2NjJjNTU5
MTFkNGU4Y2E1NTkzMTguLjJjNzMzNjgyZDg0YTgwYWE2ODUwZmZjODFiODQ0ZDliOTk5MzMzNTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMS0wMS0xMCAgUm9iZXJ0IEhvZ2FuICA8
cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4uCisKKyAgICAgICAgW1F0XSBTZWFyY2ggaW5wdXQgZmllbGQgZG9lc24ndCBo
YXZlIGNhbmNlbCBidXR0b24KKworICAgICAgICBBZGQgYSBjYW5jZWwgYnV0dG9uIHRvIHRoZSBz
ZWFyY2ggZmllbGQgYW5kIG1ha2UgaXQgY3VzdG9taXphYmxlCisgICAgICAgIGJ5IHRoZSBjbGll
bnQuIEZvciBub3csIHVzZSB0aGUgY2xvc2UgZGlhbG9nIGJ1dHRvbiBhc3NvY2lhdGVkCisgICAg
ICAgIHdpdGggdGhlIGFwcGxpY2F0aW9uJ3Mgc3R5bGUgYXMgdGhlIGRlZmF1bHQuCisKKyAgICAg
ICAgVW5za2lwIGEgYnVuY2ggb2Ygc2VhcmNoIGZpZWxkIHJlbGF0ZWQgdGVzdHMgdGhhdCBwYXNz
IG5vdzoKKworICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1jYW5jZWwtYnV0dG9uLW1vdXNldXAu
aHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC1ydGwuaHRtbAorICAgICAgICBmYXN0L2Zv
cm1zL3NlYXJjaC1hYnMtcG9zLWNhbmNlbC1idXR0b24uaHRtbAorICAgICAgICBmYXN0L2Zvcm1z
L3NlYXJjaC1zdHlsZWQuaHRtbAorICAgICAgICBmYXN0L2Zvcm1zL3NlYXJjaC10cmFuc2Zvcm1l
ZC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvc2VhcmNoLXpvb21lZC5odG1sCisgICAgICAgIGZh
c3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tc3R5bGUtc2hhcmluZy5odG1sCisgICAgICAg
IGZhc3QvZm9ybXMvc2VhcmNoLWRpc3BsYXktbm9uZS1jYW5jZWwtYnV0dG9uLmh0bWwKKyAgICAg
ICAgZmFzdC9mb3Jtcy9zZWFyY2gtcGxhY2Vob2xkZXItdmFsdWUtY2hhbmdlZC5odG1sCisgICAg
ICAgIGZhc3QvcmVwYWludC9zZWFyY2gtZmllbGQtY2FuY2VsLmh0bWwKKyAgICAgICAgZmFzdC9m
b3Jtcy9zZWFyY2gtY2FuY2VsLWJ1dHRvbi1ldmVudHMuaHRtbAorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg4NworCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHA6CisgICAgICAgIChsb2FkUmVzb3VyY2VQaXhtYXAp
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6aXNDb250cm9sU3R5bGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OmNvbXB1dGVTaXplQmFzZWRPblN0eWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50U2VhcmNoRmllbGQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRTdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmNvbnZlcnRUb1BhaW50aW5nUmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0
dG9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0Lmg6CisKIDIwMTEtMDEt
MTAgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbi5wb3VsYWluQG5va2lhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ltYWdlUXQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKaW5kZXggNDlhZmQyOWY3
NGFiMWY0OWY3MWJmOTc3YzlhOGJiNmZjZDJiNGI1Yy4uYjY2YTFjYTc4NzhlODZiN2ZlMGIwYjA4
ZmNlZWU2MDk5MWVlMGQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvSW1hZ2VRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvSW1hZ2VRdC5jcHAKQEAgLTY4LDYgKzY4LDEwIEBAIHN0YXRpYyBRUGl4bWFwIGxvYWRS
ZXNvdXJjZVBpeG1hcChjb25zdCBjaGFyICpuYW1lKQogICAgICAgICBwaXhtYXAgPSBRV2ViU2V0
dGluZ3M6OndlYkdyYXBoaWMoUVdlYlNldHRpbmdzOjpEZWxldGVCdXR0b25HcmFwaGljKTsKICAg
ICBlbHNlIGlmICghcXN0cmNtcChuYW1lLCAiaW5wdXRTcGVlY2giKSkKICAgICAgICAgcGl4bWFw
ID0gUVdlYlNldHRpbmdzOjp3ZWJHcmFwaGljKFFXZWJTZXR0aW5nczo6SW5wdXRTcGVlY2hCdXR0
b25HcmFwaGljKTsKKyAgICBlbHNlIGlmICghcXN0cmNtcChuYW1lLCAic2VhcmNoQ2FuY2VsQnV0
dG9uIikpCisgICAgICAgIHBpeG1hcCA9IFFXZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhRV2ViU2V0
dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRvbkdyYXBoaWMpOworICAgIGVsc2UgaWYgKCFxc3RyY21w
KG5hbWUsICJzZWFyY2hDYW5jZWxCdXR0b25QcmVzc2VkIikpCisgICAgICAgIHBpeG1hcCA9IFFX
ZWJTZXR0aW5nczo6d2ViR3JhcGhpYyhRV2ViU2V0dGluZ3M6OlNlYXJjaENhbmNlbEJ1dHRvblBy
ZXNzZWRHcmFwaGljKTsKIAogICAgIHJldHVybiBwaXhtYXA7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCmluZGV4IDJjYzM2MjU3Y2IzMWIzZDFkNmEx
NzI4ZTJjNGYwNjRhZTg1NGNmZTguLjlhMTc3NWM2OTg2NDBhOWQ0NWQyMDc4M2Q4YTQxYTY0ODQ3
ZTc0OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3Bw
CkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlFXZWJQYWdl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94LmgiCisjaW5jbHVk
ZSAicXdlYnNldHRpbmdzLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaWYgRU5BQkxFKFBS
T0dSRVNTX1RBRykKICNpbmNsdWRlICJSZW5kZXJQcm9ncmVzcy5oIgpAQCAtOTIsNiArOTMsMTUg
QEAgaW5saW5lIHN0YXRpYyB2b2lkIGluaXRTdHlsZU9wdGlvbihRV2lkZ2V0ICp3aWRnZXQsIFFT
dHlsZU9wdGlvbiYgb3B0aW9uKQogICAgICAgICBvcHRpb24uc3RhdGUgPSBRU3R5bGU6OlN0YXRl
X0FjdGl2ZSB8IFFTdHlsZTo6U3RhdGVfRW5hYmxlZDsKICAgICB9CiB9CisvLyBUaGVzZSB2YWx1
ZXMgYWxsIG1hdGNoIFNhZmFyaS9XaW4vQ2hyb21pdW0KK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZh
dWx0Q29udHJvbEZvbnRQaXhlbFNpemUgPSAxMzsKK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0
Q2FuY2VsQnV0dG9uU2l6ZSA9IDk7CitzdGF0aWMgY29uc3QgZmxvYXQgbWluQ2FuY2VsQnV0dG9u
U2l6ZSA9IDU7CitzdGF0aWMgY29uc3QgZmxvYXQgbWF4Q2FuY2VsQnV0dG9uU2l6ZSA9IDIxOwor
c3RhdGljIGNvbnN0IGZsb2F0IGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6
ZSA9IDEzOworc3RhdGljIGNvbnN0IGZsb2F0IG1pblNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRp
b25TaXplID0gOTsKK3N0YXRpYyBjb25zdCBmbG9hdCBtYXhTZWFyY2hGaWVsZFJlc3VsdHNEZWNv
cmF0aW9uU2l6ZSA9IDMwOworc3RhdGljIGNvbnN0IGZsb2F0IGRlZmF1bHRTZWFyY2hGaWVsZFJl
c3VsdHNCdXR0b25XaWR0aCA9IDE4OwogCiAKIFN0eWxlUGFpbnRlcjo6U3R5bGVQYWludGVyKFJl
bmRlclRoZW1lUXQqIHRoZW1lLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbykKQEAgLTE4Niw2
ICsxOTYsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5k
ZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJvcmRlckRhdGEmCiAgICAgY2FzZSBQdXNoQnV0dG9uUGFy
dDoKICAgICBjYXNlIEJ1dHRvblBhcnQ6CiAgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisgICAgLy8g
RklYTUU6IE5lZWQgdG8gYWRkIFNlYXJjaEZpZWxkUGFydCBpZiBpdCBzaG91bGQgYmUgc3R5bGUt
YWJsZS4KICAgICBjYXNlIFRleHRGaWVsZFBhcnQ6CiAgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CiAg
ICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjAxLDYgKzIxMiwyMCBAQCBpbnQgUmVuZGVyVGhlbWVR
dDo6cG9wdXBJbnRlcm5hbFBhZGRpbmdCb3R0b20oUmVuZGVyU3R5bGUqIHN0eWxlKSBjb25zdAog
ewogICAgIHJldHVybiAxOwogfQorI2Vsc2UKKy8vIFJlbW92ZSB0aGlzIHdoZW4gU2VhcmNoRmll
bGRQYXJ0IGlzIHN0eWxlLWFibGUgaW4gUmVuZGVyVGhlbWU6OmlzQ29udHJvbFN0eWxlZCgpCiti
b29sIFJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5
bGUsIGNvbnN0IEJvcmRlckRhdGEmIGJvcmRlciwgY29uc3QgRmlsbExheWVyJiBmaWxsLCBjb25z
dCBDb2xvciYgYmFja2dyb3VuZENvbG9yKSBjb25zdAoreworICAgIHN3aXRjaCAoc3R5bGUtPmFw
cGVhcmFuY2UoKSkgeworICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgorICAgICAgICAvLyBUZXN0
IHRoZSBzdHlsZSB0byBzZWUgaWYgdGhlIFVBIGJvcmRlciBhbmQgYmFja2dyb3VuZCBtYXRjaC4K
KyAgICAgICAgcmV0dXJuIChzdHlsZS0+Ym9yZGVyKCkgIT0gYm9yZGVyCisgICAgICAgICAgICAg
ICAgfHwgKnN0eWxlLT5iYWNrZ3JvdW5kTGF5ZXJzKCkgIT0gZmlsbAorICAgICAgICAgICAgICAg
IHx8IHN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29s
b3IpICE9IGJhY2tncm91bmRDb2xvcik7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIFJl
bmRlclRoZW1lOjppc0NvbnRyb2xTdHlsZWQoc3R5bGUsIGJvcmRlciwgZmlsbCwgYmFja2dyb3Vu
ZENvbG9yKTsKKyAgICB9Cit9CiAjZW5kaWYKIAogLy8gZm9yIHNvbWUgd2lkZ2V0IHBhaW50aW5n
LCB3ZSBuZWVkIHRvIGZhbGxiYWNrIHRvIFdpbmRvd3Mgc3R5bGUKQEAgLTQxMyw2ICs0MzgsNyBA
QCB2b2lkIFJlbmRlclRoZW1lUXQ6OmNvbXB1dGVTaXplQmFzZWRPblN0eWxlKFJlbmRlclN0eWxl
KiByZW5kZXJTdHlsZSkgY29uc3QKIAogICAgIHN3aXRjaCAocmVuZGVyU3R5bGUtPmFwcGVhcmFu
Y2UoKSkgewogICAgIGNhc2UgVGV4dEFyZWFQYXJ0OgorICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0
OgogICAgIGNhc2UgVGV4dEZpZWxkUGFydDogewogICAgICAgICBpbnQgcGFkZGluZyA9IGZpbmRG
cmFtZUxpbmVXaWR0aChzdHlsZSk7CiAKQEAgLTYxMSw2ICs2MzcsMTEgQEAgYm9vbCBSZW5kZXJU
aGVtZVF0OjpwYWludEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwg
Y29uc3QgSW50UmUKIAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RUZXh0RmllbGRTdHlsZShD
U1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QKIHsK
KyAgICAvLyBSZXNldHRpbmcgdGhlIHN0eWxlIGxpa2UgdGhpcyBsZWFkcyB0byBkaWZmZXJlbmNl
cyBsaWtlOgorICAgIC8vIC0gUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXpl
IDE2OHgyNSBbYmdjb2xvcj0jRkZGRkZGXSBib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisg
ICAgLy8gKyBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTY2eDI2Cisg
ICAgLy8gaW4gbGF5b3V0IHRlc3RzIHdoZW4gYSBDU1Mgc3R5bGUgaXMgYXBwbGllZCB0aGF0IGRv
ZXNuJ3QgYWZmZWN0IGJhY2tncm91bmQgY29sb3IsIGJvcmRlciBvcgorICAgIC8vIHBhZGRpbmcu
IEp1c3Qgd29ydGgga2VlcGluZyBpbiBtaW5kIQogICAgIHN0eWxlLT5zZXRCYWNrZ3JvdW5kQ29s
b3IoQ29sb3I6OnRyYW5zcGFyZW50KTsKICAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKICAgICBz
dHlsZS0+cmVzZXRQYWRkaW5nKCk7CkBAIC04ODYsMjggKzkxNyw3MyBAQCB2b2lkIFJlbmRlclRo
ZW1lUXQ6OmFkanVzdFNsaWRlclRodW1iU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0
eWxlKiBzdHlsZQogYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkKFJlbmRlck9i
amVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBwaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBJbnRSZWN0JiByKQogewotICAgIHJldHVybiB0cnVlOworICAgIHJl
dHVybiBwYWludFRleHRGaWVsZChvLCBwaSwgcik7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6
YWRqdXN0U2VhcmNoRmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVy
U3R5bGUqIHN0eWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEVsZW1lbnQqIGUpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBSZW5kZXJU
aGVtZTo6YWRqdXN0U2VhcmNoRmllbGRTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAgIC8v
IFJlc2V0dGluZyB0aGUgc3R5bGUgbGlrZSB0aGlzIGxlYWRzIHRvIGRpZmZlcmVuY2VzIGxpa2U6
CisgICAgLy8gLSBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTY4eDI1
IFtiZ2NvbG9yPSNGRkZGRkZdIGJvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KKyAgICAvLyAr
IFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAxNjZ4MjYKKyAgICAvLyBp
biBsYXlvdXQgdGVzdHMgd2hlbiBhIENTUyBzdHlsZSBpcyBhcHBsaWVkIHRoYXQgZG9lc24ndCBh
ZmZlY3QgYmFja2dyb3VuZCBjb2xvciwgYm9yZGVyIG9yCisgICAgLy8gcGFkZGluZy4gSnVzdCB3
b3J0aCBrZWVwaW5nIGluIG1pbmQhCisgICAgc3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xv
cjo6dHJhbnNwYXJlbnQpOworICAgIHN0eWxlLT5yZXNldEJvcmRlcigpOworICAgIHN0eWxlLT5y
ZXNldFBhZGRpbmcoKTsKKyAgICBjb21wdXRlU2l6ZUJhc2VkT25TdHlsZShzdHlsZSk7CiB9CiAK
IHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRDYW5jZWxCdXR0b25TdHlsZShD
U1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVyU3R5bGUqIHN0eWxlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsZW1lbnQqIGUp
IGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBSZW5kZXJUaGVtZTo6YWRqdXN0
U2VhcmNoRmllbGRDYW5jZWxCdXR0b25TdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAgIC8v
IExvZ2ljIHRha2VuIGZyb20gUmVuZGVyVGhlbWVDaHJvbWl1bS5jcHAuCisgICAgLy8gU2NhbGUg
dGhlIGJ1dHRvbiBzaXplIGJhc2VkIG9uIHRoZSBmb250IHNpemUuCisgICAgZmxvYXQgZm9udFNj
YWxlID0gc3R5bGUtPmZvbnRTaXplKCkgLyBkZWZhdWx0Q29udHJvbEZvbnRQaXhlbFNpemU7Cisg
ICAgaW50IGNhbmNlbEJ1dHRvblNpemUgPSBscm91bmRmKHFNaW4ocU1heChtaW5DYW5jZWxCdXR0
b25TaXplLCBkZWZhdWx0Q2FuY2VsQnV0dG9uU2l6ZSAqIGZvbnRTY2FsZSksIG1heENhbmNlbEJ1
dHRvblNpemUpKTsKKyAgICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKGNhbmNlbEJ1dHRvblNpemUs
IEZpeGVkKSk7CisgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoY2FuY2VsQnV0dG9uU2l6ZSwg
Rml4ZWQpKTsKK30KKworLy8gRnVuY3Rpb24gdGFrZW4gZnJvbSBSZW5kZXJUaGVtZUNocm9taXVt
LmNwcAorSW50UmVjdCBSZW5kZXJUaGVtZVF0Ojpjb252ZXJ0VG9QYWludGluZ1JlY3QoUmVuZGVy
T2JqZWN0KiBpbnB1dFJlbmRlcmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIHBhcnRSZW5kZXJlciwg
SW50UmVjdCBwYXJ0UmVjdCwgY29uc3QgSW50UmVjdCYgbG9jYWxPZmZzZXQpIGNvbnN0Cit7Cisg
ICAgLy8gQ29tcHV0ZSBhbiBvZmZzZXQgYmV0d2VlbiB0aGUgcGFydCByZW5kZXJlciBhbmQgdGhl
IGlucHV0IHJlbmRlcmVyLgorICAgIEludFNpemUgb2Zmc2V0RnJvbUlucHV0UmVuZGVyZXIgPSAt
KHBhcnRSZW5kZXJlci0+b2Zmc2V0RnJvbUFuY2VzdG9yQ29udGFpbmVyKGlucHV0UmVuZGVyZXIp
KTsKKyAgICAvLyBNb3ZlIHRoZSByZWN0IGludG8gcGFydFJlbmRlcmVyJ3MgY29vcmRzLgorICAg
IHBhcnRSZWN0Lm1vdmUob2Zmc2V0RnJvbUlucHV0UmVuZGVyZXIpOworICAgIC8vIEFjY291bnQg
Zm9yIHRoZSBsb2NhbCBkcmF3aW5nIG9mZnNldC4KKyAgICBwYXJ0UmVjdC5tb3ZlKGxvY2FsT2Zm
c2V0LngoKSwgbG9jYWxPZmZzZXQueSgpKTsKKworICAgIHJldHVybiBwYXJ0UmVjdDsKIH0KIAog
Ym9vbCBSZW5kZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKFJlbmRlck9i
amVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBwaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiByKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgcmV0dXJuIFJlbmRlclRoZW1lOjpwYWludFNlYXJjaEZpZWxkQ2FuY2Vs
QnV0dG9uKG8sIHBpLCByKTsKKyAgICAvLyBMb2dpYyBjb3BpZWQgZnJvbSBSZW5kZXJUaGVtZUNo
cm9taXVtLmNwcC4KKworICAgIC8vIEdldCB0aGUgcmVuZGVyZXIgb2YgPGlucHV0PiBlbGVtZW50
LgorICAgIE5vZGUqIGlucHV0ID0gby0+bm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAg
ICBpZiAoIWlucHV0LT5yZW5kZXJlcigpLT5pc0JveCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgUmVuZGVyQm94KiBpbnB1dFJlbmRlckJveCA9IHRvUmVuZGVyQm94KGlucHV0LT5yZW5k
ZXJlcigpKTsKKyAgICBJbnRSZWN0IGlucHV0Q29udGVudEJveCA9IGlucHV0UmVuZGVyQm94LT5j
b250ZW50Qm94UmVjdCgpOworCisgICAgLy8gTWFrZSBzdXJlIHRoZSBzY2FsZWQgYnV0dG9uIHN0
YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQgaW4gaXRzIHBhcmVudCdzIGJveC4KKyAgICBpbnQgY2Fu
Y2VsQnV0dG9uU2l6ZSA9IHFNaW4oaW5wdXRDb250ZW50Qm94LndpZHRoKCksIHFNaW4oaW5wdXRD
b250ZW50Qm94LmhlaWdodCgpLCByLmhlaWdodCgpKSk7CisgICAgLy8gQ2FsY3VsYXRlIGNhbmNl
bCBidXR0b24ncyBjb29yZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgaW5wdXQgZWxlbWVudC4KKyAg
ICAvLyBDZW50ZXIgdGhlIGJ1dHRvbiB2ZXJ0aWNhbGx5LiAgUm91bmQgdXAgdGhvdWdoLCBzbyBp
ZiBpdCBoYXMgdG8gYmUgb25lIHBpeGVsIG9mZi1jZW50ZXIsIGl0IHdpbGwKKyAgICAvLyBiZSBv
bmUgcGl4ZWwgY2xvc2VyIHRvIHRoZSBib3R0b20gb2YgdGhlIGZpZWxkLiAgVGhpcyB0ZW5kcyB0
byBsb29rIGJldHRlciB3aXRoIHRoZSB0ZXh0LgorICAgIEludFJlY3QgY2FuY2VsQnV0dG9uUmVj
dChvLT5vZmZzZXRGcm9tQW5jZXN0b3JDb250YWluZXIoaW5wdXRSZW5kZXJCb3gpLndpZHRoKCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0Q29udGVudEJveC55KCkgKyAoaW5w
dXRDb250ZW50Qm94LmhlaWdodCgpIC0gY2FuY2VsQnV0dG9uU2l6ZSArIDEpIC8gMiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uU2l6ZSwgY2FuY2VsQnV0dG9uU2l6
ZSk7CisgICAgSW50UmVjdCBwYWludGluZ1JlY3QgPSBjb252ZXJ0VG9QYWludGluZ1JlY3QoaW5w
dXRSZW5kZXJCb3gsIG8sIGNhbmNlbEJ1dHRvblJlY3QsIHIpOworICAgIHN0YXRpYyBJbWFnZSog
Y2FuY2VsSW1hZ2UgPSBJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoInNlYXJjaENhbmNlbEJ1
dHRvbiIpLnJlbGVhc2VSZWYoKTsKKyAgICBzdGF0aWMgSW1hZ2UqIGNhbmNlbFByZXNzZWRJbWFn
ZSA9IEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSgic2VhcmNoQ2FuY2VsQnV0dG9uUHJlc3Nl
ZCIpLnJlbGVhc2VSZWYoKTsKKyAgICBwaS5jb250ZXh0LT5kcmF3SW1hZ2UoaXNQcmVzc2VkKG8p
ID8gY2FuY2VsUHJlc3NlZEltYWdlIDogY2FuY2VsSW1hZ2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBvLT5zdHlsZSgpLT5jb2xvclNwYWNlKCksIHBhaW50aW5nUmVjdCk7Cisg
ICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZp
ZWxkRGVjb3JhdGlvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHls
ZSogc3R5bGUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKaW5k
ZXggYzI4MTY4YTM0NDY5NDY0M2MzZWYzNjY0OTA3NDI1MDQ3NjM0MTdjMi4uNjk4MTY0MTMwZmJl
YjE0NzQ2MmZlMjE3NWYyZDUwNzVjY2QwM2I2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3F0L1JlbmRlclRoZW1lUXQuaApAQCAtODEsOCArODEsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdDsKIAotI2lmIFVTRShRVF9NT0JJ
TEVfVEhFTUUpCiAgICAgdmlydHVhbCBib29sIGlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJT
dHlsZSosIGNvbnN0IEJvcmRlckRhdGEmLCBjb25zdCBGaWxsTGF5ZXImLCBjb25zdCBDb2xvciYg
YmFja2dyb3VuZENvbG9yKSBjb25zdDsKKyNpZiBVU0UoUVRfTU9CSUxFX1RIRU1FKQogICAgIHZp
cnR1YWwgaW50IHBvcHVwSW50ZXJuYWxQYWRkaW5nQm90dG9tKFJlbmRlclN0eWxlKikgY29uc3Q7
CiAjZW5kaWYKIApAQCAtMTgwLDYgKzE4MCw4IEBAIHByaXZhdGU6CiAKICAgICBRU3R5bGUqIGZh
bGxiYWNrU3R5bGUoKSBjb25zdDsKIAorICAgIEludFJlY3QgY29udmVydFRvUGFpbnRpbmdSZWN0
KFJlbmRlck9iamVjdCogaW5wdXRSZW5kZXJlciwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXJ0UmVu
ZGVyZXIsIEludFJlY3QgcGFydFJlY3QsIGNvbnN0IEludFJlY3QmIGxvY2FsT2Zmc2V0KSBjb25z
dDsKKwogICAgIFBhZ2UqIG1fcGFnZTsKIAogI2lmZGVmIFFfV1NfTUFDCmRpZmYgLS1naXQgYS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5n
cy5jcHAKaW5kZXggZWQ0MjVjMjhmOTkwNjg0YWI3ZWI0NmZkOTFiZTA1MDM3OGQ1OTk4Yi4uNmM1
OWQ3MzQxMTk4MTAwMzU4OTA0NWU0YTU1Y2ZjOGFkNTMwM2Y5NiAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdz
LmNwcApAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPFFTaGFyZWREYXRhPgogI2luY2x1ZGUg
PFFVcmw+CiAjaW5jbHVkZSA8UUZpbGVJbmZvPgorI2luY2x1ZGUgPFFTdHlsZT4KIAogI2luY2x1
ZGUgIk5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgiCiAKQEAgLTEwMSw2ICsxMDIsOCBAQCBzdGF0aWMg
V2ViR3JhcGhpY0hhc2gqIGdyYXBoaWNzKCkKICAgICAgICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0
aW5nczo6VGV4dEFyZWFTaXplR3JpcENvcm5lckdyYXBoaWMsIFFQaXhtYXAoUUxhdGluMVN0cmlu
ZygiOndlYmtpdC9yZXNvdXJjZXMvdGV4dEFyZWFSZXNpemVDb3JuZXIucG5nIikpKTsKICAgICAg
ICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0aW5nczo6RGVsZXRlQnV0dG9uR3JhcGhpYywgUVBpeG1h
cChRTGF0aW4xU3RyaW5nKCI6d2Via2l0L3Jlc291cmNlcy9kZWxldGVCdXR0b24ucG5nIikpKTsK
ICAgICAgICAgaGFzaC0+aW5zZXJ0KFFXZWJTZXR0aW5nczo6SW5wdXRTcGVlY2hCdXR0b25HcmFw
aGljLCBRUGl4bWFwKFFMYXRpbjFTdHJpbmcoIjp3ZWJraXQvcmVzb3VyY2VzL2lucHV0U3BlZWNo
LnBuZyIpKSk7CisgICAgICAgIGhhc2gtPmluc2VydChRV2ViU2V0dGluZ3M6OlNlYXJjaENhbmNl
bEJ1dHRvbkdyYXBoaWMsIFFBcHBsaWNhdGlvbjo6c3R5bGUoKS0+c3RhbmRhcmRQaXhtYXAoUVN0
eWxlOjpTUF9EaWFsb2dDbG9zZUJ1dHRvbikpOworICAgICAgICBoYXNoLT5pbnNlcnQoUVdlYlNl
dHRpbmdzOjpTZWFyY2hDYW5jZWxCdXR0b25QcmVzc2VkR3JhcGhpYywgUUFwcGxpY2F0aW9uOjpz
dHlsZSgpLT5zdGFuZGFyZFBpeG1hcChRU3R5bGU6OlNQX0RpYWxvZ0Nsb3NlQnV0dG9uKSk7CiAg
ICAgfQogCiAgICAgcmV0dXJuIGhhc2g7CkBAIC0zNzIsNiArMzc1LDkgQEAgUVdlYlNldHRpbmdz
KiBRV2ViU2V0dGluZ3M6Omdsb2JhbFNldHRpbmdzKCkKICAgICBcdmFsdWUgRGVmYXVsdEZyYW1l
SWNvbkdyYXBoaWMgVGhlIGRlZmF1bHQgaWNvbiBmb3IgUVdlYkZyYW1lOjppY29uKCkuCiAgICAg
XHZhbHVlIFRleHRBcmVhU2l6ZUdyaXBDb3JuZXJHcmFwaGljIFRoZSBncmFwaGljIHNob3duIGZv
ciB0aGUgc2l6ZSBncmlwIG9mIHRleHQgYXJlYXMuCiAgICAgXHZhbHVlIERlbGV0ZUJ1dHRvbkdy
YXBoaWMgVGhlIGdyYXBoaWMgc2hvd24gZm9yIHRoZSBXZWJLaXQtRWRpdGluZy1EZWxldGUtQnV0
dG9uIGluIERlbGV0aW9uIFVJLgorICAgIFx2YWx1ZSBJbnB1dFNwZWVjaEJ1dHRvbkdyYXBoaWMg
VGhlIGdyYXBoaWMgc2hvd24gaW4gaW5wdXQgZmllbGRzIHRoYXQgc3VwcG9ydCBzcGVlY2ggcmVj
b2duaXRpb24uCisgICAgXHZhbHVlIFNlYXJjaENhbmNlbEJ1dHRvbkdyYXBoaWMgVGhlIGdyYXBo
aWMgc2hvd24gZm9yIGNsZWFyaW5nIHRoZSB0ZXh0IGluIGEgc2VhcmNoIGZpZWxkLgorICAgIFx2
YWx1ZSBTZWFyY2hDYW5jZWxCdXR0b25QcmVzc2VkR3JhcGhpYyBUaGUgZ3JhcGhpYyBzaG93biB3
aGVuIFNlYXJjaENhbmNlbEJ1dHRvbkdyYXBoaWMgaXMgcHJlc3NlZC4KICovCiAKIC8qIQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaCBiL1dlYktpdC9xdC9BcGkvcXdl
YnNldHRpbmdzLmgKaW5kZXggMDU2OWFiMGYzMmQ2ZjcwZTIzZDFjNGZjMjgwNmIzZDc3ODkwZDY3
ZS4uMDA4MDM1YmE3NjJjYTI5Yzk3YzExNGNlNzRhMjhiMjVhMjExZmJmMSAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0
aW5ncy5oCkBAIC04NSw3ICs4NSw5IEBAIHB1YmxpYzoKICAgICAgICAgRGVmYXVsdEZyYW1lSWNv
bkdyYXBoaWMsCiAgICAgICAgIFRleHRBcmVhU2l6ZUdyaXBDb3JuZXJHcmFwaGljLAogICAgICAg
ICBEZWxldGVCdXR0b25HcmFwaGljLAotICAgICAgICBJbnB1dFNwZWVjaEJ1dHRvbkdyYXBoaWMK
KyAgICAgICAgSW5wdXRTcGVlY2hCdXR0b25HcmFwaGljLAorICAgICAgICBTZWFyY2hDYW5jZWxC
dXR0b25HcmFwaGljLAorICAgICAgICBTZWFyY2hDYW5jZWxCdXR0b25QcmVzc2VkR3JhcGhpYwog
ICAgIH07CiAgICAgZW51bSBGb250U2l6ZSB7CiAgICAgICAgIE1pbmltdW1Gb250U2l6ZSwKZGlm
ZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4
IGNlNzE2ZDQyZDc3NzU2ZDQ3NWVkMzk3MzNlNTVmMGNhMDc2MzI4ODIuLjQ4NDBhNDg3OTUyOGU1
NmZkNDlhOGMyZDUzOWUyYjI5ODBkMDAzZDUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTAxLTEw
ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICBbUXRdIFNlYXJjaCBpbnB1
dCBmaWVsZCBkb2Vzbid0IGhhdmUgY2FuY2VsIGJ1dHRvbgorCisgICAgICAgIEFkZCBhIGNhbmNl
bCBidXR0b24gdG8gdGhlIHNlYXJjaCBmaWVsZCBhbmQgbWFrZSBpdCBjdXN0b21pemFibGUKKyAg
ICAgICAgYnkgdGhlIGNsaWVudC4gRm9yIG5vdywgdXNlIHRoZSBjbG9zZSBkaWFsb2cgYnV0dG9u
IGFzc29jaWF0ZWQKKyAgICAgICAgd2l0aCB0aGUgYXBwbGljYXRpb24ncyBzdHlsZSBhcyB0aGUg
ZGVmYXVsdC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDI4ODcKKworICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAoZ3Jh
cGhpY3MpOgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuaDoKKwogMjAxMS0wMS0xMCAgQmVu
amFtaW4gUG91bGFpbiAgPGJlbmphbWluLnBvdWxhaW5Abm9raWEuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>