<?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>102000</bug_id>
          
          <creation_ts>2012-11-12 15:44:12 -0800</creation_ts>
          <short_desc>[EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.</short_desc>
          <delta_ts>2012-11-16 08:20:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Viatcheslav Ostapenko">ostap73</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>youngtaeck.song</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>764897</commentid>
    <comment_count>0</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-12 15:44:12 -0800</bug_when>
    <thetext>On slow CPU hardware webprocess is not able to render enough tiles during fast scrolling and UI shows white background behind tiles. If page has dark background this flicker is very noticeable and annoying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764914</commentid>
    <comment_count>1</comment_count>
      <attachid>173748</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-12 16:00:01 -0800</bug_when>
    <thetext>Created attachment 173748
Match view background to page background.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764917</commentid>
    <comment_count>2</comment_count>
      <attachid>173748</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-12 16:06:41 -0800</bug_when>
    <thetext>Comment on attachment 173748
Match view background to page background.

You should clear the color inside ewk_view before painting, not add an API to LayerTreeRenderer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764946</commentid>
    <comment_count>3</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-12 16:28:25 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 173748 [details])
&gt; You should clear the color inside ewk_view before painting, not add an API to LayerTreeRenderer.

Won&apos;t it will be useful to other ports? 
I 1st made it like you say clearing viewport before painting in EwkViewImpl, but it looked ugly with all GL ifdefs/includes and 2 branches for GL and non-GL cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764949</commentid>
    <comment_count>4</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-12 16:30:16 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 173748 [details] [details])
&gt; &gt; You should clear the color inside ewk_view before painting, not add an API to LayerTreeRenderer.
&gt; 
&gt; Won&apos;t it will be useful to other ports? 
&gt; I 1st made it like you say clearing viewport before painting in EwkViewImpl, but it looked ugly with all GL ifdefs/includes and 2 branches for GL and non-GL cases.

It would be useful for other ports, but not in this way. We should pass the actual background color to LayerTreeCoordinatorProxy, not go out to the API and back in...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764956</commentid>
    <comment_count>5</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-12 16:35:47 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; (From update of attachment 173748 [details] [details] [details])
&gt; &gt; &gt; You should clear the color inside ewk_view before painting, not add an API to LayerTreeRenderer.
&gt; &gt; 
&gt; &gt; Won&apos;t it will be useful to other ports? 
&gt; &gt; I 1st made it like you say clearing viewport before painting in EwkViewImpl, but it looked ugly with all GL ifdefs/includes and 2 branches for GL and non-GL cases.
&gt; 
&gt; It would be useful for other ports, but not in this way. We should pass the actual background color to LayerTreeCoordinatorProxy, not go out to the API and back in...

Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765213</commentid>
    <comment_count>6</comment_count>
      <attachid>173814</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-12 21:42:02 -0800</bug_when>
    <thetext>Created attachment 173814
Send color info directly to LayerTreeRenderer .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765240</commentid>
    <comment_count>7</comment_count>
      <attachid>173814</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-12 22:08:58 -0800</bug_when>
    <thetext>Comment on attachment 173814
Send color info directly to LayerTreeRenderer .

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

This will not work with semi-transparent backgrounds or with non rectangular clip, as it uses glClear and friends which completely clear the pixels in a given rectangle.
I suggest that instead of this we expose backgroundColor from DrawingAreaProxy, and let the embedded (ewk_view?) decide what and how to clear.

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:96
&gt; +    , m_backgroundColor(255, 255, 255, 255)

Color::white()

&gt; Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:768
&gt; +    m_webPage-&gt;send(Messages::LayerTreeCoordinatorProxy::SetBackgroundColor(color));

So we do this on every layout? seems wasteful. Maybe we should make sure that the color has actually changed?

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2770
&gt; +        WebCore::Color color = WebCore::Color(float(red), float(green), float(blue), float(alpha));

Color color(red, green, blue, alpha);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765285</commentid>
    <comment_count>8</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-12 23:02:47 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 173814 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173814&amp;action=review
&gt; 
&gt; This will not work with semi-transparent backgrounds or with non rectangular clip, as it uses glClear and friends which completely clear the pixels in a given rectangle.
&gt; I suggest that instead of this we expose backgroundColor from DrawingAreaProxy, and let the embedded (ewk_view?) decide what and how to clear.

So, every port will have its own code for this?

&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:96
&gt; &gt; +    , m_backgroundColor(255, 255, 255, 255)
&gt; 
&gt; Color::white()

Ok

&gt; &gt; Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:768
&gt; &gt; +    m_webPage-&gt;send(Messages::LayerTreeCoordinatorProxy::SetBackgroundColor(color));
&gt; 
&gt; So we do this on every layout? seems wasteful. Maybe we should make sure that the color has actually changed?

Ok

&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2770
&gt; &gt; +        WebCore::Color color = WebCore::Color(float(red), float(green), float(blue), float(alpha));
&gt; 
&gt; Color color(red, green, blue, alpha);

Doesn&apos;t work. red, green, blue and alpha are doubles. There is 2 constructors for Color - with 4 ints and 4 floats. Compiler cannot decide which constructor to use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765528</commentid>
    <comment_count>9</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-13 06:13:16 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (From update of attachment 173814 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173814&amp;action=review
&gt; &gt; 
&gt; &gt; This will not work with semi-transparent backgrounds or with non rectangular clip, as it uses glClear and friends which completely clear the pixels in a given rectangle.
&gt; &gt; I suggest that instead of this we expose backgroundColor from DrawingAreaProxy, and let the embedded (ewk_view?) decide what and how to clear.
&gt; 
&gt; So, every port will have its own code for this?
If you&apos;re using glClear on the entire clipRect, yes.
I don&apos;t mind having shared code here, if it does the right thing - draws a solid color rect only on the contents rect of the page, and only if the page is not transparent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765632</commentid>
    <comment_count>10</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-13 08:30:07 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; (From update of attachment 173814 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173814&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; This will not work with semi-transparent backgrounds or with non rectangular clip, as it uses glClear and friends which completely clear the pixels in a given rectangle.
&gt; &gt; &gt; I suggest that instead of this we expose backgroundColor from DrawingAreaProxy, and let the embedded (ewk_view?) decide what and how to clear.
&gt; &gt; 
&gt; &gt; So, every port will have its own code for this?
&gt; If you&apos;re using glClear on the entire clipRect, yes.
&gt; I don&apos;t mind having shared code here, if it does the right thing - draws a solid color rect only on the contents rect of the page, and only if the page is not transparent.

No no no!
It shouldn&apos;t be used if page transparency is desired. That&apos;s why it has a switch and disabled by default. IMHO, checking for page transparency would be unnecessary overhead. Probably need to add note about this to API description and to the changelog.
I&apos;ll fix rect drawing without glClear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765675</commentid>
    <comment_count>11</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-13 09:09:45 -0800</bug_when>
    <thetext>&gt; No no no!
That&apos;s very negative :)

&gt; Probably need to add note about this to API description and to the changelog.
&gt; I&apos;ll fix rect drawing without glClear.
Well, in this case it would also work with page transparency, wouldn&apos;t it? Which makes your first statement incorrect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765707</commentid>
    <comment_count>12</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-13 09:53:35 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; No no no!
&gt; That&apos;s very negative :)
&gt; 
&gt; &gt; Probably need to add note about this to API description and to the changelog.
&gt; &gt; I&apos;ll fix rect drawing without glClear.
&gt; Well, in this case it would also work with page transparency, wouldn&apos;t it? Which makes your first statement incorrect.

Do you mean, that if page is transparent then background color will be transparent also?
The changelog on getDocumentBackgroundColor says:
Call down into the document to get either the body&apos;s, or if there is no body, the root element&apos;s, background color.

So, let&apos;s say, the root element has non-transparent background, but has opacity set on it. Should I mix in opacity?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765723</commentid>
    <comment_count>13</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-13 10:00:28 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; &gt; No no no!
&gt; &gt; That&apos;s very negative :)
&gt; &gt; 
&gt; &gt; &gt; Probably need to add note about this to API description and to the changelog.
&gt; &gt; &gt; I&apos;ll fix rect drawing without glClear.
&gt; &gt; Well, in this case it would also work with page transparency, wouldn&apos;t it? Which makes your first statement incorrect.
&gt; 
&gt; Do you mean, that if page is transparent then background color will be transparent also?
&gt; The changelog on getDocumentBackgroundColor says:
&gt; Call down into the document to get either the body&apos;s, or if there is no body, the root element&apos;s, background color.
&gt; 
&gt; So, let&apos;s say, the root element has non-transparent background, but has opacity set on it. Should I mix in opacity?

Yes, we should mix in the opacity that&apos;s passed with paintToCurrentGLContext.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765800</commentid>
    <comment_count>14</comment_count>
      <attachid>173926</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-13 10:48:35 -0800</bug_when>
    <thetext>Created attachment 173926
Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765806</commentid>
    <comment_count>15</comment_count>
      <attachid>173926</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-13 10:52:47 -0800</bug_when>
    <thetext>Comment on attachment 173926
Updated patch.

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:432
&gt; +    FloatRect targetRect(0, 0, data().viewport[2], data().viewport[3]);
&gt; +    drawQuad(targetRect, TransformationMatrix(), program.get(), GraphicsContext3D::TRIANGLE_FAN, false);

Clearing the whole viewport doesn&apos;t make sense. We should expose drawSolidColor(const FloatRect&amp;, const TransformationMatrix&amp;, const Color&amp;), and pass in the viewport rect from LayerTreeRenderer.

&gt; Source/WebKit2/ChangeLog:38
&gt; +        (WebKit::LayerTreeRenderer::enableViewBackgroundMatchToPage):

Let&apos;s change this to setDrawsBackground</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765872</commentid>
    <comment_count>16</comment_count>
      <attachid>173936</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-13 11:47:02 -0800</bug_when>
    <thetext>Created attachment 173936
Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765975</commentid>
    <comment_count>17</comment_count>
      <attachid>173936</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-13 13:13:54 -0800</bug_when>
    <thetext>Comment on attachment 173936
Updated patch.

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

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2776
&gt; +    if (m_drawingArea &amp;&amp; m_drawingArea-&gt;layerTreeHost()) {
&gt; +        double red, green, blue, alpha;
&gt; +        m_mainFrame-&gt;getDocumentBackgroundColor(&amp;red, &amp;green, &amp;blue, &amp;alpha);
&gt; +        RGBA32 rgba = makeRGBA32FromFloats(red, green, blue, alpha);
&gt; +        if (m_backgroundColor.rgb() != rgba) {
&gt; +            m_backgroundColor.setRGB(rgba);
&gt; +            m_drawingArea-&gt;layerTreeHost()-&gt;setBackgroundColor(m_backgroundColor);
&gt; +        }
&gt; +    }

This should be guarded with ACCELERATED_COMPOSITING, or alternatively it should move to a DrawingArea[Proxy] message set rather than go via coordinated graphics.
I&apos;m ok with this in general but I&apos;m not comfortable r+ing it because I&apos;m not sure of the implication of calling getDocumentBackgroundColor after every layout.
I&apos;m OK with the changes to TextureMapper, if you want to post them in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766127</commentid>
    <comment_count>18</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-13 15:47:10 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 173936 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173936&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2776
&gt; &gt; +    if (m_drawingArea &amp;&amp; m_drawingArea-&gt;layerTreeHost()) {
&gt; &gt; +        double red, green, blue, alpha;
&gt; &gt; +        m_mainFrame-&gt;getDocumentBackgroundColor(&amp;red, &amp;green, &amp;blue, &amp;alpha);
&gt; &gt; +        RGBA32 rgba = makeRGBA32FromFloats(red, green, blue, alpha);
&gt; &gt; +        if (m_backgroundColor.rgb() != rgba) {
&gt; &gt; +            m_backgroundColor.setRGB(rgba);
&gt; &gt; +            m_drawingArea-&gt;layerTreeHost()-&gt;setBackgroundColor(m_backgroundColor);
&gt; &gt; +        }
&gt; &gt; +    }
&gt; 
&gt; This should be guarded with ACCELERATED_COMPOSITING, or alternatively it should move to a DrawingArea[Proxy] message set rather than go via coordinated graphics.
&gt; I&apos;m ok with this in general but I&apos;m not comfortable r+ing it because I&apos;m not sure of the implication of calling getDocumentBackgroundColor after every layout.

It composed of 2 color values requested from style of body and html elements and one color (baseBackgroundColor) stored in a FrameView. Getting those values from style does invoke any search or tree traverse, but just get color values stored in style itself. Those style functions are called a lot from different places.
Also, it seems been called already on every layout for overlay scrollbars style calculations (FrameView::recalculateScrollbarOverlayStyle()) and from RenderLayerCompositor.
IMHO, it would be good to make caching of this value at least to avoid re-calculation if there was no layout (in a separate patch?). But it has to be recalculated after every layout.

&gt; I&apos;m OK with the changes to TextureMapper, if you want to post them in a separate patch.

Ok, I&apos;ll put it to the separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766416</commentid>
    <comment_count>19</comment_count>
      <attachid>174073</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-13 21:58:29 -0800</bug_when>
    <thetext>Created attachment 174073
Add drawSolidColor method to Texture Mapper</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766417</commentid>
    <comment_count>20</comment_count>
      <attachid>174074</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-13 22:00:26 -0800</bug_when>
    <thetext>Created attachment 174074
View background color patch.

Depends on &quot;Draw solid color&quot; patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766422</commentid>
    <comment_count>21</comment_count>
      <attachid>174074</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-13 22:09:18 -0800</bug_when>
    <thetext>Comment on attachment 174074
View background color patch.

Attachment 174074 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14833165</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766449</commentid>
    <comment_count>22</comment_count>
      <attachid>174074</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-13 22:33:49 -0800</bug_when>
    <thetext>Comment on attachment 174074
View background color patch.

Attachment 174074 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14837166</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766575</commentid>
    <comment_count>23</comment_count>
      <attachid>174074</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 00:52:43 -0800</bug_when>
    <thetext>Comment on attachment 174074
View background color patch.

Attachment 174074 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14828359

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766704</commentid>
    <comment_count>24</comment_count>
      <attachid>174074</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-14 03:08:40 -0800</bug_when>
    <thetext>Comment on attachment 174074
View background color patch.

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

&gt; Source/WebKit2/ChangeLog:11
&gt; +        with new API function ewk_view_draws_page_brackground_set .

Please check spelling! brackground? :)

Info on why it makes sense to have it disabled by default.

Could we do something smarter even by showing a low scale version of the content instead (or between real content and background color) ? say scale 0.25, that should account for max 3 tiles for that.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:925
&gt; +void ewk_view_draws_page_brackground_set(Evas_Object *ewkView, Eina_Bool enabled)

oh no! even here you spell it wrong!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766825</commentid>
    <comment_count>25</comment_count>
      <attachid>174073</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-11-14 06:30:35 -0800</bug_when>
    <thetext>Comment on attachment 174073
Add drawSolidColor method to Texture Mapper

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp:130
&gt; +    UNUSED_PARAM(matrix);

maybe context-&gt;setCTM?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766875</commentid>
    <comment_count>26</comment_count>
      <attachid>174074</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-14 07:26:11 -0800</bug_when>
    <thetext>Comment on attachment 174074
View background color patch.

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

&gt;&gt; Source/WebKit2/ChangeLog:11
&gt;&gt; +        with new API function ewk_view_draws_page_brackground_set .
&gt; 
&gt; Please check spelling! brackground? :)
&gt; 
&gt; Info on why it makes sense to have it disabled by default.
&gt; 
&gt; Could we do something smarter even by showing a low scale version of the content instead (or between real content and background color) ? say scale 0.25, that should account for max 3 tiles for that.

That would require much bigger overhead for creating and maintaining this lowres copy. Opera does something like this, but without rendering text. I don&apos;t think it looks much better. Also, webkit rendering is much faster and usually it is just small region near the border of view that flickers. In opera on the same device I was able to scroll out the whole screen and see lowres page. IMHO, doesn&apos;t look better and doesn&apos;t worth it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766914</commentid>
    <comment_count>27</comment_count>
      <attachid>174162</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-14 08:17:19 -0800</bug_when>
    <thetext>Created attachment 174162
Add context transformation for image buffer texture mapper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766918</commentid>
    <comment_count>28</comment_count>
      <attachid>174164</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-14 08:19:36 -0800</bug_when>
    <thetext>Created attachment 174164
Typo fixed. Changelog fixed. Depends on patch 174162</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766927</commentid>
    <comment_count>29</comment_count>
      <attachid>174164</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-14 08:27:37 -0800</bug_when>
    <thetext>Comment on attachment 174164
Typo fixed. Changelog fixed. Depends on patch 174162

Attachment 174164 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14828488</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766944</commentid>
    <comment_count>30</comment_count>
      <attachid>174164</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-14 08:48:46 -0800</bug_when>
    <thetext>Comment on attachment 174164
Typo fixed. Changelog fixed. Depends on patch 174162

Attachment 174164 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14823926</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767319</commentid>
    <comment_count>31</comment_count>
      <attachid>174162</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 14:30:08 -0800</bug_when>
    <thetext>Comment on attachment 174162
Add context transformation for image buffer texture mapper.

Clearing flags on attachment: 174162

Committed r134671: &lt;http://trac.webkit.org/changeset/134671&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767344</commentid>
    <comment_count>32</comment_count>
      <attachid>174164</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-14 15:00:58 -0800</bug_when>
    <thetext>Comment on attachment 174164
Typo fixed. Changelog fixed. Depends on patch 174162

Patch 174162 has landed, so it should compile fine now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768051</commentid>
    <comment_count>33</comment_count>
      <attachid>174164</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-15 07:26:11 -0800</bug_when>
    <thetext>Comment on attachment 174164
Typo fixed. Changelog fixed. Depends on patch 174162

this doesnt seem o work on qt-wk2 nor efl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768119</commentid>
    <comment_count>34</comment_count>
      <attachid>174456</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-11-15 08:42:24 -0800</bug_when>
    <thetext>Created attachment 174456
Resubmit patch to restart EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768216</commentid>
    <comment_count>35</comment_count>
      <attachid>174456</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-15 10:02:39 -0800</bug_when>
    <thetext>Comment on attachment 174456
Resubmit patch to restart EWS

Don&apos;t land before we know it passes EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769299</commentid>
    <comment_count>36</comment_count>
      <attachid>174456</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 08:20:30 -0800</bug_when>
    <thetext>Comment on attachment 174456
Resubmit patch to restart EWS

Clearing flags on attachment: 174456

Committed r134953: &lt;http://trac.webkit.org/changeset/134953&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769300</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 08:20:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173748</attachid>
            <date>2012-11-12 16:00:01 -0800</date>
            <delta_ts>2012-11-12 21:42:02 -0800</delta_ts>
            <desc>Match view background to page background.</desc>
            <filename>backgroundColor_01.diff</filename>
            <type>text/plain</type>
            <size>21139</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZTRjN2NlLi4wZmI5ZmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMTEtMTIgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGlu
ZyBiaWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGhlbHBlciBm
dW5jdGlvbnMgdG8gY2xlYXIgdmlld3BvcnQgYmVmb3JlIHBhaW50aW5nLiBUaG9zZSBmdW5jdGlv
bnMKKyAgICAgICAgdXNlZCBieSBFRkwgV2Via2l0MiBwb3J0IHRvIHNldCB2aWV3IGJhY2tncm91
bmQgdG8gbWF0Y2ggcGFnZSBiYWNrZ3JvdW5kCisgICAgICAgIGluIG9yZGVyIHRvIHJlZHVjZSB2
aXNpYmlsaXR5IG9mIGZsaWNrZXIgZHVyaW5nIHNjcm9sbGluZy9zY2FsaW5nL3JlcGFpbnRpbmcK
KyAgICAgICAgd2hlcmUgcGFnZSB0aWxlcyBhcmUgbm90IHJlYWR5LgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJHTDo6Y2xlYXJDb2xvcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmNsZWFyQ29sb3Ip
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oOgorCiAyMDEyLTExLTEyICBaZW5vIEFsYmlzc2Vy
ICA8emVub0B3ZWJraXQub3JnPgogCiAgICAgICAgIEdyYXBoaWNzU3VyZmFjZUdMWCBkb2VzIG5v
dCBoYW5kbGUgdHJhbnNwYXJlbmN5IGNvcnJlY3RseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCmluZGV4IDI2OTNk
OWEuLmMyODVjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaApAQCAtMTMwLDYgKzEzMCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZHJhd0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldp
ZHRoLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgdmFsdWUsIGludCBwb2ludFNpemUs
IGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3
TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
cmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXQs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCgpLCBmbG9hdCBvcGFjaXR5ID0gMS4wZiwgY29uc3QgQml0bWFwVGV4dHVyZSog
bWFza1RleHR1cmUgPSAwLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMgPSBBbGxFZGdlcykgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBjbGVhckNvbG9yKGNvbnN0IENvbG9yJikgPSAwOwogCiAgICAgLy8g
bWFrZXMgYSBzdXJmYWNlIHRoZSB0YXJnZXQgZm9yIHRoZSBmb2xsb3dpbmcgZHJhd1RleHR1cmUg
Y2FsbHMuCiAgICAgdmlydHVhbCB2b2lkIGJpbmRTdXJmYWNlKEJpdG1hcFRleHR1cmUqIHN1cmZh
Y2UpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKaW5kZXggNWU2ZDIwNy4uM2IzZTg5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJHTC5jcHAKQEAgLTQxOSw2ICs0MTksMTQgQEAgdm9pZCBUZXh0dXJlTWFw
cGVyR0w6OmRyYXdUZXh0dXJlKHVpbnQzMl90IHRleHR1cmUsIEZsYWdzIGZsYWdzLCBjb25zdCBJ
bnRTaXplJgogICAgIGRyYXdUZXh0dXJlZFF1YWRXaXRoUHJvZ3JhbShwcm9ncmFtLmdldCgpLCB0
ZXh0dXJlLCBmbGFncywgdGFyZ2V0UmVjdCwgbW9kZWxWaWV3TWF0cml4LCBvcGFjaXR5LCBtYXNr
VGV4dHVyZSk7CiB9CiAKK3ZvaWQgVGV4dHVyZU1hcHBlckdMOjpjbGVhckNvbG9yKGNvbnN0IENv
bG9yJiBjb2xvcikKK3sKKyAgICBmbG9hdCBiZ1JlZCwgYmdHcmVlbiwgYmdCbHVlLCBiZ0FscGhh
OworICAgIGNvbG9yLmdldFJHQkEoYmdSZWQsIGJnR3JlZW4sIGJnQmx1ZSwgYmdBbHBoYSk7Cisg
ICAgbV9jb250ZXh0M0QtPmNsZWFyQ29sb3IoYmdSZWQsIGJnR3JlZW4sIGJnQmx1ZSwgYmdBbHBo
YSk7CisgICAgbV9jb250ZXh0M0QtPmNsZWFyKEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9CVUZG
RVJfQklUKTsKK30KKwogc3RhdGljIFRyYW5zZm9ybWF0aW9uTWF0cml4IHZpZXdwb3J0TWF0cml4
KEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0M0QpCiB7CiAgICAgR0MzRGludCB2aWV3cG9ydFs0
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyR0wuaAppbmRleCA5NDVkYjZiLi5iNmYwMTkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJHTC5oCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1Jl
cGFpbnRDb3VudGVyKGludCB2YWx1ZSwgaW50IHBvaW50U2l6ZSwgY29uc3QgRmxvYXRQb2ludCYs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCgpKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmUoY29u
c3QgQml0bWFwVGV4dHVyZSYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVyZSogbWFza1RleHR1cmUs
IHVuc2lnbmVkIGV4cG9zZWRFZGdlcykgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdU
ZXh0dXJlKHVpbnQzMl90IHRleHR1cmUsIEZsYWdzLCBjb25zdCBJbnRTaXplJiB0ZXh0dXJlU2l6
ZSwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgbW9kZWxWaWV3TWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBt
YXNrVGV4dHVyZSwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzID0gQWxsRWRnZXMpOworICAgIHZpcnR1
YWwgdm9pZCBjbGVhckNvbG9yKGNvbnN0IENvbG9yJik7CiAKICNpZiAhVVNFKFRFWE1BUF9PUEVO
R0xfRVNfMikKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmVSZWN0YW5nbGVBUkIodWludDMy
X3QgdGV4dHVyZSwgRmxhZ3MsIGNvbnN0IEludFNpemUmIHRleHR1cmVTaXplLCBjb25zdCBGbG9h
dFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdN
YXRyaXgsIGZsb2F0IG9wYWNpdHksIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKaW5kZXggODQzNDMzMi4uMDg2
ZGVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKQEAgLTEyNSw2
ICsxMjUsMTUgQEAgdm9pZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdUZXh0dXJlKGNv
bnN0IEJpdG1hcFRleHR1cmUmIHRleHR1cmUsIGNvbnN0IEYKICAgICBjb250ZXh0LT5yZXN0b3Jl
KCk7CiB9CiAKK3ZvaWQgVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpjbGVhckNvbG9yKGNvbnN0
IENvbG9yJiBjb2xvcikKK3sKKyAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJyZW50
Q29udGV4dCgpOworICAgIGlmICghY29udGV4dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgY29u
dGV4dC0+ZmlsbFJlY3QoY29udGV4dC0+Y2xpcEJvdW5kcygpLCBjb2xvciwgQ29sb3JTcGFjZURl
dmljZVJHQik7Cit9CisKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiBQYXNzUmVmUHRyPEJpdG1h
cFRleHR1cmU+IEJpdG1hcFRleHR1cmVJbWFnZUJ1ZmZlcjo6YXBwbHlGaWx0ZXJzKFRleHR1cmVN
YXBwZXIqLCBjb25zdCBCaXRtYXBUZXh0dXJlJiBjb250ZW50VGV4dHVyZSwgY29uc3QgRmlsdGVy
T3BlcmF0aW9ucyYgZmlsdGVycykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIu
aAppbmRleCAyZTdlMjMyLi5mZjBlZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1
ZmZlci5oCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKICAgICAgICAgVU5VU0VEX1BBUkFNKG1v
ZGVsVmlld01hdHJpeCk7CiAgICAgfTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmUoY29u
c3QgQml0bWFwVGV4dHVyZSYsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBt
YXNrVGV4dHVyZSwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IHZvaWQgY2xlYXJDb2xvcihjb25zdCBDb2xvciYpOwogICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNs
aXAoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3VyZmFjZSkg
T1ZFUlJJREUgeyBtX2N1cnJlbnRTdXJmYWNlID0gc3VyZmFjZTt9CiAgICAgdmlydHVhbCB2b2lk
IGVuZENsaXAoKSBPVkVSUklERSB7IGdyYXBoaWNzQ29udGV4dCgpLT5yZXN0b3JlKCk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCA0M2NmYjg4Li44OWE0MGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAK
KzIwMTItMTEtMTIgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGluZyBi
aWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1hdGNoaW5nIG9m
IHZpZXcgYmFja2dyb3VuZCBjb2xvciB0byB0aGUgcGFnZSBiYWNrZ3JvdW5kLiBUaGlzIGhlbHBz
IHRvIHJlZHVjZSAKKyAgICAgICAgdmlzaWJpbGl0eSBvZiBmbGlja2VyIGR1cmluZyBzY3JvbGxp
bmcvc2NhbGluZy9yZXBhaW50aW5nIHdoZXJlIHBhZ2UgdGlsZXMgYXJlIG5vdAorICAgICAgICBy
ZWFkeS4gVmlldyBiYWNrZ3JvdW5kIGNvbG9yIG1hdGNoaW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1
bHQgYW5kIGNhbiBiZSBlbmFibGVkIAorICAgICAgICB3aXRoIG5ldyBBUEkgZnVuY3Rpb24gZXdr
X3ZpZXdfbWF0Y2hfdmlld19iYWNrZ3JvdW5kX3RvX3BhZ2Vfc2V0IC4KKyAgICAgICAgVXBzdHJl
YW1pbmcgY2hhbmdlcyBieSBZb3VuZ3RhZWNrIFNvbmcoeW91bmd0YWVjay5zb25nQHNhbXN1bmcu
Y29tKSBmcm9tIFRpemVuIGJyYW5jaC4gICAgICAgIAorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlld0ltcGwuY3BwOgorICAgICAgICAoRXdrVmlld0ltcGw6OkV3a1ZpZXdJbXBs
KToKKyAgICAgICAgKEV3a1ZpZXdJbXBsOjpkaXNwbGF5VGltZXJGaXJlZCk6CisgICAgICAgIChF
d2tWaWV3SW1wbDo6c2V0QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3SW1wbC5oOgorICAgICAgICAoRXdrVmlld0ltcGwpOgorICAgICAgICAoRXdr
Vmlld0ltcGw6OmVuYWJsZVZpZXdCYWNrZ3JvdW5kTWF0Y2hUb1BhZ2UpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X21hdGNoX3Zp
ZXdfYmFja2dyb3VuZF90b19wYWdlX3NldCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpw
YWludFRvQ3VycmVudEdMQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRl
cmVyOjpwYWludFRvR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oOgorICAgICAgICAoTGF5ZXJUcmVlUmVu
ZGVyZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgIChQYWdl
Q2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQ
YWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9QYWdlQ2xpZW50QmFzZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlBhZ2VDbGllbnRCYXNlOjpzZXRCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1BhZ2VDbGllbnRCYXNlLmg6CisgICAgICAg
IChQYWdlQ2xpZW50QmFzZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQpOgorCiAy
MDEyLTExLTEyICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBbRUZMXSBBZGQgaW1wbGVtZW50YXRpb25zIG9mIGRldmljZSAtIHVzZXIg
Y29udmVyc2lvbiBtZXRob2RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3SW1wbC5jcHAKaW5kZXggNjg0M2RjZS4uY2QzOGI3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcApAQCAtMTI5LDYgKzEy
OSw4IEBAIEV3a1ZpZXdJbXBsOjpFd2tWaWV3SW1wbChFdmFzX09iamVjdCogdmlldywgUGFzc1Jl
ZlB0cjxFd2tDb250ZXh0PiBjb250ZXh0LCBQYXNzCiAgICAgLCBtX2Rpc3BsYXlUaW1lcih0aGlz
LCAmRXdrVmlld0ltcGw6OmRpc3BsYXlUaW1lckZpcmVkKQogICAgICwgbV9pbnB1dE1ldGhvZENv
bnRleHQoSW5wdXRNZXRob2RDb250ZXh0RWZsOjpjcmVhdGUodGhpcywgc21hcnREYXRhKCktPmJh
c2UuZXZhcykpCiAgICAgLCBtX2lzSGFyZHdhcmVBY2NlbGVyYXRlZCh0cnVlKQorICAgICwgbV9i
YWNrZ3JvdW5kQ29sb3IoMjU1LCAyNTUsIDI1NSwgMjU1KQorICAgICwgbV9tYXRjaFZpZXdCYWNr
Z3JvdW5kVG9QYWdlKGZhbHNlKQogewogICAgIEFTU0VSVChtX3ZpZXcpOwogICAgIEFTU0VSVCht
X2NvbnRleHQpOwpAQCAtMzM3LDcgKzMzOSw3IEBAIHZvaWQgRXdrVmlld0ltcGw6OmRpc3BsYXlU
aW1lckZpcmVkKFRpbWVyPEV3a1ZpZXdJbXBsPiopCiAgICAgcmVuZGVyZXItPnNldEFjdGl2ZSh0
cnVlKTsKICAgICByZW5kZXJlci0+c3luY1JlbW90ZUNvbnRlbnQoKTsKICAgICBpZiAobV9pc0hh
cmR3YXJlQWNjZWxlcmF0ZWQpIHsKLSAgICAgICAgcmVuZGVyZXItPnBhaW50VG9DdXJyZW50R0xD
b250ZXh0KHRyYW5zZm9ybVRvU2NlbmUoKS50b1RyYW5zZm9ybWF0aW9uTWF0cml4KCksIC8qIG9w
YWNpdHkgKi8gMSwgdmlld3BvcnQpOworICAgICAgICByZW5kZXJlci0+cGFpbnRUb0N1cnJlbnRH
TENvbnRleHQodHJhbnNmb3JtVG9TY2VuZSgpLnRvVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgLyog
b3BhY2l0eSAqLyAxLCB2aWV3cG9ydCwgMCwgbV9tYXRjaFZpZXdCYWNrZ3JvdW5kVG9QYWdlLCBt
X2JhY2tncm91bmRDb2xvcik7CiAgICAgICAgIC8vIHNkLT5pbWFnZSBpcyB0aWVkIHRvIGEgbmF0
aXZlIHN1cmZhY2UuIFRoZSBuYXRpdmUgc3VyZmFjZSBpcyBpbiB0aGUgcGFyZW50J3MgY29vcmRp
bmF0ZXMsCiAgICAgICAgIC8vIHNvIHdlIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhlIHZpZXdwb3J0
IHBvc2l0aW9uIHdoZW4gY2FsbGluZyBldmFzX29iamVjdF9pbWFnZV9kYXRhX3VwZGF0ZV9hZGQu
CiAgICAgICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBkYXRlX2FkZChzZC0+aW1hZ2UsIHZp
ZXdwb3J0LngoKSwgdmlld3BvcnQueSgpLCB2aWV3cG9ydC53aWR0aCgpLCB2aWV3cG9ydC5oZWln
aHQoKSk7CkBAIC0zNDksNyArMzUxLDcgQEAgdm9pZCBFd2tWaWV3SW1wbDo6ZGlzcGxheVRpbWVy
RmlyZWQoVGltZXI8RXdrVmlld0ltcGw+KikKICAgICAgICAgUmVmUHRyPGNhaXJvX3Q+IGdyYXBo
aWNzQ29udGV4dCA9IGFkb3B0UmVmKGNhaXJvX2NyZWF0ZShzdXJmYWNlLmdldCgpKSk7CiAgICAg
ICAgIGNhaXJvX3RyYW5zbGF0ZShncmFwaGljc0NvbnRleHQuZ2V0KCksIC1tX3Njcm9sbFBvc2l0
aW9uLngoKSwgLW1fc2Nyb2xsUG9zaXRpb24ueSgpKTsKICAgICAgICAgY2Fpcm9fc2NhbGUoZ3Jh
cGhpY3NDb250ZXh0LmdldCgpLCBtX3NjYWxlRmFjdG9yLCBtX3NjYWxlRmFjdG9yKTsKLSAgICAg
ICAgcmVuZGVyZXItPnBhaW50VG9HcmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0LmdldCgp
KTsKKyAgICAgICAgcmVuZGVyZXItPnBhaW50VG9HcmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250
ZXh0LmdldCgpLCBtX21hdGNoVmlld0JhY2tncm91bmRUb1BhZ2UsIG1fYmFja2dyb3VuZENvbG9y
KTsKICAgICAgICAgZXZhc19vYmplY3RfaW1hZ2VfZGF0YV91cGRhdGVfYWRkKHNkLT5pbWFnZSwg
MCwgMCwgdmlld3BvcnQud2lkdGgoKSwgdmlld3BvcnQuaGVpZ2h0KCkpOwogICAgIH0KICNlbmRp
ZgpAQCAtOTI1LDMgKzkyNyw5IEBAIHZvaWQgRXdrVmlld0ltcGw6Om9uRmF2aWNvbkNoYW5nZWQo
Y29uc3QgY2hhciogcGFnZVVSTCwgdm9pZCogZXZlbnRJbmZvKQogCiAgICAgdmlld0ltcGwtPmlu
Zm9ybUljb25DaGFuZ2UoKTsKIH0KKwordm9pZCBFd2tWaWV3SW1wbDo6c2V0QmFja2dyb3VuZENv
bG9yKGRvdWJsZSByZWQsIGRvdWJsZSBncmVlbiwgZG91YmxlIGJsdWUsIGRvdWJsZSBhbHBoYSkK
K3sKKyAgICBXZWJDb3JlOjpSR0JBMzIgcmdiYT0gV2ViQ29yZTo6bWFrZVJHQkEzMkZyb21GbG9h
dHMoKGZsb2F0KXJlZCwgKGZsb2F0KWdyZWVuLCAoZmxvYXQpYmx1ZSwgKGZsb2F0KWFscGhhKTsK
KyAgICBtX2JhY2tncm91bmRDb2xvci5zZXRSR0IocmdiYSk7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuaAppbmRleCBjMzlmOWM4Li42ZWEzYjY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmgK
QEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJXS0dlb21ldHJ5LmgiCiAjaW5jbHVkZSAiV0tS
ZXRhaW5QdHIuaCIKICNpbmNsdWRlIDxFdmFzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Db2xvci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dERp
cmVjdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGltZXIuaD4KQEAgLTIwMCw2ICsyMDEsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBpbmZvcm1VUkxDaGFuZ2UoKTsKIAogICAgIGJvb2wgaXNIYXJk
d2FyZUFjY2VsZXJhdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQ7
IH0KKyAgICB2b2lkIHNldEJhY2tncm91bmRDb2xvcihkb3VibGUgLyogcmVkICovLCBkb3VibGUg
LyogZ3JlZW4gKi8sIGRvdWJsZSAvKiBibHVlICovLCBkb3VibGUgLyogYWxwaGEgKi8pOworICAg
IHZvaWQgZW5hYmxlVmlld0JhY2tncm91bmRNYXRjaFRvUGFnZShib29sIGVuYWJsZSkgeyBtX21h
dGNoVmlld0JhY2tncm91bmRUb1BhZ2UgPSBlbmFibGU7IH0KIAogcHJpdmF0ZToKICAgICBpbmxp
bmUgRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKCkgY29uc3Q7CkBAIC0yNTgsNiArMjYx
LDggQEAgcHJpdmF0ZToKICAgICBPd25QdHI8V2ViS2l0OjpJbnB1dE1ldGhvZENvbnRleHRFZmw+
IG1faW5wdXRNZXRob2RDb250ZXh0OwogICAgIE93blB0cjxFd2tfQ29sb3JfUGlja2VyPiBtX2Nv
bG9yUGlja2VyOwogICAgIGJvb2wgbV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQ7CisgICAgV2ViQ29y
ZTo6Q29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7CisgICAgYm9vbCBtX21hdGNoVmlld0JhY2tncm91
bmRUb1BhZ2U7CiB9OwogCiAjZW5kaWYgLy8gRXdrVmlld0ltcGxfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCmluZGV4IDkwNTZlMWMuLmFkY2U5ZWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKQEAg
LTkyMSwzICs5MjEsMTAgQEAgRWluYV9Cb29sIGV3a192aWV3X2Z1bGxzY3JlZW5fZXhpdChFdmFz
X09iamVjdCogZXdrVmlldykKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIH0KKwordm9pZCBl
d2tfdmlld19tYXRjaF92aWV3X2JhY2tncm91bmRfdG9fcGFnZV9zZXQoRXZhc19PYmplY3QgKmV3
a1ZpZXcsIEVpbmFfQm9vbCBlbmFibGVkKQoreworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JF
VFVSTihld2tWaWV3LCBpbXBsKTsKKworICAgIGltcGwtPmVuYWJsZVZpZXdCYWNrZ3JvdW5kTWF0
Y2hUb1BhZ2UoZW5hYmxlZCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3ZpZXcuaAppbmRleCA4NWI5NzYyLi4xMjU3ZmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKQEAgLTgxMCw2ICs4MTAsMjAgQEAgRUFQSSBFd2tf
UGFnaW5hdGlvbl9Nb2RlIGV3a192aWV3X3BhZ2luYXRpb25fbW9kZV9nZXQoY29uc3QgRXZhc19P
YmplY3QgKm8pOwogICovCiBFQVBJIEVpbmFfQm9vbCBld2tfdmlld19mdWxsc2NyZWVuX2V4aXQo
RXZhc19PYmplY3QgKm8pOwogCisvKioKKyAqIFNldHMgd2hldGhlciB0aGUgZXdrX3ZpZXcgYmFj
a2dyb3VuZCBtYXRjaGVzIHBhZ2UgYmFja2dyb3VuZCBjb2xvci4KKyAqCisgKiBJZiBlbmFibGVk
IHNldHMgdmlldyBiYWNrZ3JvdW5kIGNvbG9yIGNsb3NlIHRvIHBhZ2UgY29sb3Igb24gcGFnZSBs
b2FkLgorICogVGhpcyBoZWxwcyB0byByZWR1Y2UgZmxpY2tlciBvbiBwYWdlIHNjcm9sbGluZyBh
bmQgcmVwYWludGluZyBpbiBwbGFjZXMKKyAqIHdoZXJlIHBhZ2UgY29udGVudCBpcyBub3QgcmVh
ZHkgZm9yIHBhaW50aW5nLgorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIGVuYWJsZS9k
aXNhYmxlIGJhY2tncm91bmQgbWF0Y2hpbmcKKyAqIEBwYXJhbSBlbmFibGVkIGEgc3RhdGUgdG8g
c2V0CisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3VjY2VzcyBvciBAYyBFSU5BX0ZB
TFNFIG9uIGZhaWx1cmUKKyAqLworRUFQSSB2b2lkIGV3a192aWV3X21hdGNoX3ZpZXdfYmFja2dy
b3VuZF90b19wYWdlX3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sIGVuYWJsZWQpOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVy
ZXIuY3BwCmluZGV4IDI1YTI3MGUuLmE3ODZiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVS
ZW5kZXJlci5jcHAKQEAgLTEwOCw3ICsxMDgsNyBAQCBQYXNzT3duUHRyPEdyYXBoaWNzTGF5ZXI+
IExheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVMYXllcihXZWJMYXllcklEKQogICAgIHJldHVybiBh
ZG9wdFB0cihuZXdMYXllcik7CiB9CiAKLXZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9D
dXJyZW50R0xDb250ZXh0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgsIGZsb2F0
IG9wYWNpdHksIGNvbnN0IEZsb2F0UmVjdCYgY2xpcFJlY3QsIFRleHR1cmVNYXBwZXI6OlBhaW50
RmxhZ3MgUGFpbnRGbGFncykKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9DdXJyZW50
R0xDb250ZXh0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgsIGZsb2F0IG9wYWNp
dHksIGNvbnN0IEZsb2F0UmVjdCYgY2xpcFJlY3QsIFRleHR1cmVNYXBwZXI6OlBhaW50RmxhZ3Mg
UGFpbnRGbGFncywgYm9vbCBjbGVhciwgY29uc3QgV2ViQ29yZTo6Q29sb3IgY2xlYXJDb2xvcikK
IHsKICAgICBpZiAoIW1fdGV4dHVyZU1hcHBlcikKICAgICAgICAgbV90ZXh0dXJlTWFwcGVyID0g
VGV4dHVyZU1hcHBlcjo6Y3JlYXRlKFRleHR1cmVNYXBwZXI6Ok9wZW5HTE1vZGUpOwpAQCAtMTMw
LDYgKzEzMCw5IEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9DdXJyZW50R0xDb250
ZXh0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyCiAgICAgbV90ZXh0dXJlTWFwcGVy
LT5iZWdpblBhaW50aW5nKFBhaW50RmxhZ3MpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5D
bGlwKFRyYW5zZm9ybWF0aW9uTWF0cml4KCksIGNsaXBSZWN0KTsKIAorICAgIGlmIChjbGVhcikK
KyAgICAgICAgbV90ZXh0dXJlTWFwcGVyLT5jbGVhckNvbG9yKGNsZWFyQ29sb3IpOworCiAgICAg
aWYgKGN1cnJlbnRSb290TGF5ZXItPm9wYWNpdHkoKSAhPSBvcGFjaXR5IHx8IGN1cnJlbnRSb290
TGF5ZXItPnRyYW5zZm9ybSgpICE9IG1hdHJpeCkgewogICAgICAgICBjdXJyZW50Um9vdExheWVy
LT5zZXRPcGFjaXR5KG9wYWNpdHkpOwogICAgICAgICBjdXJyZW50Um9vdExheWVyLT5zZXRUcmFu
c2Zvcm0obWF0cml4KTsKQEAgLTE2NCw3ICsxNjcsNyBAQCB2b2lkIExheWVyVHJlZVJlbmRlcmVy
OjpyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKQogfQogI2VuZGlmCiAKLXZvaWQgTGF5ZXJUcmVlUmVu
ZGVyZXI6OnBhaW50VG9HcmFwaGljc0NvbnRleHQoQmFja2luZ1N0b3JlOjpQbGF0Zm9ybUdyYXBo
aWNzQ29udGV4dCBwYWludGVyKQordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cGFpbnRUb0dyYXBo
aWNzQ29udGV4dChCYWNraW5nU3RvcmU6OlBsYXRmb3JtR3JhcGhpY3NDb250ZXh0IHBhaW50ZXIs
IGJvb2wgY2xlYXIsIGNvbnN0IFdlYkNvcmU6OkNvbG9yIGNsZWFyQ29sb3IpCiB7CiAgICAgaWYg
KCFtX3RleHR1cmVNYXBwZXIpCiAgICAgICAgIG1fdGV4dHVyZU1hcHBlciA9IFRleHR1cmVNYXBw
ZXI6OmNyZWF0ZSgpOwpAQCAtMTc4LDYgKzE4MSwxMCBAQCB2b2lkIExheWVyVHJlZVJlbmRlcmVy
OjpwYWludFRvR3JhcGhpY3NDb250ZXh0KEJhY2tpbmdTdG9yZTo6UGxhdGZvcm1HcmFwaGljc0Nv
bgogICAgIEdyYXBoaWNzQ29udGV4dCBncmFwaGljc0NvbnRleHQocGFpbnRlcik7CiAgICAgbV90
ZXh0dXJlTWFwcGVyLT5zZXRHcmFwaGljc0NvbnRleHQoJmdyYXBoaWNzQ29udGV4dCk7CiAgICAg
bV90ZXh0dXJlTWFwcGVyLT5iZWdpblBhaW50aW5nKCk7CisKKyAgICBpZiAoY2xlYXIpCisgICAg
ICAgIG1fdGV4dHVyZU1hcHBlci0+Y2xlYXJDb2xvcihjbGVhckNvbG9yKTsKKwogICAgIGxheWVy
LT5wYWludCgpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKICAgICBtX3Rl
eHR1cmVNYXBwZXItPnNldEdyYXBoaWNzQ29udGV4dCgwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVS
ZW5kZXJlci5oCmluZGV4IDYwNDM1YzkuLmZiODYzNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
UmVuZGVyZXIuaApAQCAtNjMsOCArNjMsOCBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgTGF5ZXJU
cmVlUmVuZGVyZXIoTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSopOwogICAgIHZpcnR1YWwgfkxh
eWVyVHJlZVJlbmRlcmVyKCk7CiAgICAgdm9pZCBwdXJnZUdMUmVzb3VyY2VzKCk7Ci0gICAgdm9p
ZCBwYWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYsIGZsb2F0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyOjpQYWludEZsYWdzID0gMCk7Ci0gICAgdm9pZCBwYWludFRvR3JhcGhpY3NDb250ZXh0
KEJhY2tpbmdTdG9yZTo6UGxhdGZvcm1HcmFwaGljc0NvbnRleHQpOworICAgIHZvaWQgcGFpbnRU
b0N1cnJlbnRHTENvbnRleHQoY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBm
bG9hdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgV2ViQ29yZTo6VGV4dHVyZU1hcHBlcjo6
UGFpbnRGbGFncyA9IDAsIGJvb2wgY2xlYXIgPSBmYWxzZSwgY29uc3QgV2ViQ29yZTo6Q29sb3Ig
Y2xlYXJDb2xvciA9IFdlYkNvcmU6OkNvbG9yKCkpOworICAgIHZvaWQgcGFpbnRUb0dyYXBoaWNz
Q29udGV4dChCYWNraW5nU3RvcmU6OlBsYXRmb3JtR3JhcGhpY3NDb250ZXh0LCBib29sIGNsZWFy
ID0gZmFsc2UsIGNvbnN0IFdlYkNvcmU6OkNvbG9yIGNsZWFyQ29sb3IgPSBXZWJDb3JlOjpDb2xv
cigpKTsKICAgICB2b2lkIHN5bmNSZW1vdGVDb250ZW50KCk7CiAgICAgdm9pZCBzZXRDb250ZW50
c1NpemUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7CiAgICAgdm9pZCBzZXRWaXNpYmxlQ29u
dGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmgKaW5kZXggOTU1MmFhMS4uZTY4MzI2MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yNDIsNiArMjQyLDkgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBmbGFzaEJhY2tpbmdTdG9yZVVwZGF0ZXMoY29uc3QgVmVjdG9yPFdlYkNvcmU6Oklu
dFJlY3Q+JiB1cGRhdGVSZWN0cykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmaW5kU3RyaW5nSW5D
dXN0b21SZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmLCBGaW5kT3B0aW9ucywgdW5zaWduZWQg
bWF4TWF0Y2hDb3VudCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb3VudFN0cmluZ01hdGNoZXNJ
bkN1c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmluZyYsIEZpbmRPcHRpb25zLCB1bnNpZ25l
ZCBtYXhNYXRjaENvdW50KSA9IDA7CisjaWYgUExBVEZPUk0oRUZMKQorICAgIHZpcnR1YWwgdm9p
ZCBzZXRCYWNrZ3JvdW5kQ29sb3IoZG91YmxlIC8qIHJlZCAqLywgZG91YmxlIC8qIGdyZWVuICov
LCBkb3VibGUgLyogYmx1ZSAqLywgZG91YmxlIC8qIGFscGhhICovKSA9IDA7CisjZW5kaWYgLy8g
UExBVEZPUk0oRUZMKQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDA3MDQwNTUuLjhhZWMwZDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC00MTY5LDQgKzQxNjks
OSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZVVSSVJlcXVlc3QoU3RyaW5nIHVyaVN0
cmluZywgdWludDY0X3QgcmVxdWVzdElEKQogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZVByb3h5
OjpzZXRCYWNrZ3JvdW5kQ29sb3IoZG91YmxlIHJlZCwgZG91YmxlIGdyZWVuLCBkb3VibGUgYmx1
ZSwgZG91YmxlIGFscGhhKQoreworICAgIG1fcGFnZUNsaWVudC0+c2V0QmFja2dyb3VuZENvbG9y
KHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMzlkNzE2Yy4uYWE3YzRi
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzUxLDYgKzc1
MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGVuZENvbG9yQ2hvb3NlcigpOwogI2VuZGlmCiAKKyAg
ICB2b2lkIHNldEJhY2tncm91bmRDb2xvcihkb3VibGUgcmVkLCBkb3VibGUgZ3JlZW4sIGRvdWJs
ZSBibHVlLCBkb3VibGUgYWxwaGEpOworCiBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdl
Q2xpZW50KiwgUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+LCBXZWJQYWdlR3JvdXAqLCB1aW50
NjRfdCBwYWdlSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCBiNDNjOWM1Li40MWZhZmE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTMzNSw0ICsz
MzUsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgICMgU291cCBjdXN0b20gVVJJ
IHJlcXVlc3QgbWVzc2FnZXMKICAgICBEaWRSZWNlaXZlVVJJUmVxdWVzdChXVEY6OlN0cmluZyB1
cmlTdHJpbmcsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAjZW5kaWYKKworICAgIFNldEJhY2tncm91
bmRDb2xvcihkb3VibGUgcmVkLCBkb3VibGUgZ3JlZW4sIGRvdWJsZSBibHVlLCBkb3VibGUgYWxw
aGEpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VDbGll
bnRCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2Uu
Y3BwCmluZGV4IGJiNTczY2YuLmRiZTgzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuY3BwCkBAIC0zMDksNCArMzA5LDkgQEAgdm9pZCBQYWdl
Q2xpZW50QmFzZTo6aGFuZGxlRG93bmxvYWRSZXF1ZXN0KERvd25sb2FkUHJveHkqIGRvd25sb2Fk
KQogICAgIGNvbnRleHQtPmRvd25sb2FkTWFuYWdlcigpLT5yZWdpc3RlckRvd25sb2FkKGRvd25s
b2FkLCBtX3ZpZXdJbXBsKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50QmFzZTo6c2V0QmFja2dyb3Vu
ZENvbG9yKGRvdWJsZSByZWQsIGRvdWJsZSBncmVlbiwgZG91YmxlIGJsdWUsIGRvdWJsZSBhbHBo
YSkKK3sKKyAgICBtX3ZpZXdJbXBsLT5zZXRCYWNrZ3JvdW5kQ29sb3IocmVkLCBncmVlbiwgYmx1
ZSwgYWxwaGEpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuaAppbmRleCAyOTJiNDM1Li4yOTViNTJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VDbGllbnRCYXNlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlQ2xpZW50QmFzZS5oCkBAIC0x
MTcsNiArMTE3LDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBwYWdlVHJhbnNpdGlv
blZpZXdwb3J0UmVhZHkoKSA9IDA7CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNr
Z3JvdW5kQ29sb3IoZG91YmxlIC8qIHJlZCAqLywgZG91YmxlIC8qIGdyZWVuICovLCBkb3VibGUg
LyogYmx1ZSAqLywgZG91YmxlIC8qIGFscGhhICovKTsKKwogcHJvdGVjdGVkOgogICAgIEV3a1Zp
ZXdJbXBsKiBtX3ZpZXdJbXBsOwogICAgIERlZmF1bHRVbmRvQ29udHJvbGxlciBtX3VuZG9Db250
cm9sbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDllNjY1NzYuLjMyN2M4OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI3NjMsNiArMjc2MywxMCBAQCB2b2lkIFdlYlBhZ2U6
Om1haW5GcmFtZURpZExheW91dCgpCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6RGlkQ2hhbmdlUGFnZUNvdW50KHBhZ2VDb3VudCkpOwogICAgICAgICBtX2NhY2hlZFBhZ2VD
b3VudCA9IHBhZ2VDb3VudDsKICAgICB9CisKKyAgICBkb3VibGUgcmVkLCBncmVlbiwgYmx1ZSwg
YWxwaGE7CisgICAgbV9tYWluRnJhbWUtPmdldERvY3VtZW50QmFja2dyb3VuZENvbG9yKCZyZWQs
ICZncmVlbiwgJmJsdWUsICZhbHBoYSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpTZXRCYWNrZ3JvdW5kQ29sb3IocmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEpKTsKIH0KIAogdm9p
ZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCg==
</data>
<flag name="review"
          id="188545"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173814</attachid>
            <date>2012-11-12 21:42:02 -0800</date>
            <delta_ts>2012-11-13 10:48:35 -0800</delta_ts>
            <desc>Send color info directly to LayerTreeRenderer .</desc>
            <filename>backgroundColor_02.diff</filename>
            <type>text/plain</type>
            <size>20158</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZTRjN2NlLi4wZmI5ZmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMTEtMTIgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGlu
ZyBiaWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGhlbHBlciBm
dW5jdGlvbnMgdG8gY2xlYXIgdmlld3BvcnQgYmVmb3JlIHBhaW50aW5nLiBUaG9zZSBmdW5jdGlv
bnMKKyAgICAgICAgdXNlZCBieSBFRkwgV2Via2l0MiBwb3J0IHRvIHNldCB2aWV3IGJhY2tncm91
bmQgdG8gbWF0Y2ggcGFnZSBiYWNrZ3JvdW5kCisgICAgICAgIGluIG9yZGVyIHRvIHJlZHVjZSB2
aXNpYmlsaXR5IG9mIGZsaWNrZXIgZHVyaW5nIHNjcm9sbGluZy9zY2FsaW5nL3JlcGFpbnRpbmcK
KyAgICAgICAgd2hlcmUgcGFnZSB0aWxlcyBhcmUgbm90IHJlYWR5LgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJHTDo6Y2xlYXJDb2xvcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmNsZWFyQ29sb3Ip
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oOgorCiAyMDEyLTExLTEyICBaZW5vIEFsYmlzc2Vy
ICA8emVub0B3ZWJraXQub3JnPgogCiAgICAgICAgIEdyYXBoaWNzU3VyZmFjZUdMWCBkb2VzIG5v
dCBoYW5kbGUgdHJhbnNwYXJlbmN5IGNvcnJlY3RseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCmluZGV4IDI2OTNk
OWEuLmMyODVjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaApAQCAtMTMwLDYgKzEzMCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZHJhd0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldp
ZHRoLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgdmFsdWUsIGludCBwb2ludFNpemUs
IGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3
TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
cmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXQs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCgpLCBmbG9hdCBvcGFjaXR5ID0gMS4wZiwgY29uc3QgQml0bWFwVGV4dHVyZSog
bWFza1RleHR1cmUgPSAwLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMgPSBBbGxFZGdlcykgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBjbGVhckNvbG9yKGNvbnN0IENvbG9yJikgPSAwOwogCiAgICAgLy8g
bWFrZXMgYSBzdXJmYWNlIHRoZSB0YXJnZXQgZm9yIHRoZSBmb2xsb3dpbmcgZHJhd1RleHR1cmUg
Y2FsbHMuCiAgICAgdmlydHVhbCB2b2lkIGJpbmRTdXJmYWNlKEJpdG1hcFRleHR1cmUqIHN1cmZh
Y2UpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKaW5kZXggNWU2ZDIwNy4uM2IzZTg5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJHTC5jcHAKQEAgLTQxOSw2ICs0MTksMTQgQEAgdm9pZCBUZXh0dXJlTWFw
cGVyR0w6OmRyYXdUZXh0dXJlKHVpbnQzMl90IHRleHR1cmUsIEZsYWdzIGZsYWdzLCBjb25zdCBJ
bnRTaXplJgogICAgIGRyYXdUZXh0dXJlZFF1YWRXaXRoUHJvZ3JhbShwcm9ncmFtLmdldCgpLCB0
ZXh0dXJlLCBmbGFncywgdGFyZ2V0UmVjdCwgbW9kZWxWaWV3TWF0cml4LCBvcGFjaXR5LCBtYXNr
VGV4dHVyZSk7CiB9CiAKK3ZvaWQgVGV4dHVyZU1hcHBlckdMOjpjbGVhckNvbG9yKGNvbnN0IENv
bG9yJiBjb2xvcikKK3sKKyAgICBmbG9hdCBiZ1JlZCwgYmdHcmVlbiwgYmdCbHVlLCBiZ0FscGhh
OworICAgIGNvbG9yLmdldFJHQkEoYmdSZWQsIGJnR3JlZW4sIGJnQmx1ZSwgYmdBbHBoYSk7Cisg
ICAgbV9jb250ZXh0M0QtPmNsZWFyQ29sb3IoYmdSZWQsIGJnR3JlZW4sIGJnQmx1ZSwgYmdBbHBo
YSk7CisgICAgbV9jb250ZXh0M0QtPmNsZWFyKEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9CVUZG
RVJfQklUKTsKK30KKwogc3RhdGljIFRyYW5zZm9ybWF0aW9uTWF0cml4IHZpZXdwb3J0TWF0cml4
KEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0M0QpCiB7CiAgICAgR0MzRGludCB2aWV3cG9ydFs0
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyR0wuaAppbmRleCA5NDVkYjZiLi5iNmYwMTkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJHTC5oCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1Jl
cGFpbnRDb3VudGVyKGludCB2YWx1ZSwgaW50IHBvaW50U2l6ZSwgY29uc3QgRmxvYXRQb2ludCYs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCgpKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmUoY29u
c3QgQml0bWFwVGV4dHVyZSYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVyZSogbWFza1RleHR1cmUs
IHVuc2lnbmVkIGV4cG9zZWRFZGdlcykgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdU
ZXh0dXJlKHVpbnQzMl90IHRleHR1cmUsIEZsYWdzLCBjb25zdCBJbnRTaXplJiB0ZXh0dXJlU2l6
ZSwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgbW9kZWxWaWV3TWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBt
YXNrVGV4dHVyZSwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzID0gQWxsRWRnZXMpOworICAgIHZpcnR1
YWwgdm9pZCBjbGVhckNvbG9yKGNvbnN0IENvbG9yJik7CiAKICNpZiAhVVNFKFRFWE1BUF9PUEVO
R0xfRVNfMikKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmVSZWN0YW5nbGVBUkIodWludDMy
X3QgdGV4dHVyZSwgRmxhZ3MsIGNvbnN0IEludFNpemUmIHRleHR1cmVTaXplLCBjb25zdCBGbG9h
dFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdN
YXRyaXgsIGZsb2F0IG9wYWNpdHksIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKaW5kZXggODQzNDMzMi4uMDg2
ZGVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKQEAgLTEyNSw2
ICsxMjUsMTUgQEAgdm9pZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdUZXh0dXJlKGNv
bnN0IEJpdG1hcFRleHR1cmUmIHRleHR1cmUsIGNvbnN0IEYKICAgICBjb250ZXh0LT5yZXN0b3Jl
KCk7CiB9CiAKK3ZvaWQgVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpjbGVhckNvbG9yKGNvbnN0
IENvbG9yJiBjb2xvcikKK3sKKyAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJyZW50
Q29udGV4dCgpOworICAgIGlmICghY29udGV4dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgY29u
dGV4dC0+ZmlsbFJlY3QoY29udGV4dC0+Y2xpcEJvdW5kcygpLCBjb2xvciwgQ29sb3JTcGFjZURl
dmljZVJHQik7Cit9CisKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiBQYXNzUmVmUHRyPEJpdG1h
cFRleHR1cmU+IEJpdG1hcFRleHR1cmVJbWFnZUJ1ZmZlcjo6YXBwbHlGaWx0ZXJzKFRleHR1cmVN
YXBwZXIqLCBjb25zdCBCaXRtYXBUZXh0dXJlJiBjb250ZW50VGV4dHVyZSwgY29uc3QgRmlsdGVy
T3BlcmF0aW9ucyYgZmlsdGVycykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIu
aAppbmRleCAyZTdlMjMyLi5mZjBlZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1
ZmZlci5oCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKICAgICAgICAgVU5VU0VEX1BBUkFNKG1v
ZGVsVmlld01hdHJpeCk7CiAgICAgfTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmUoY29u
c3QgQml0bWFwVGV4dHVyZSYsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBt
YXNrVGV4dHVyZSwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IHZvaWQgY2xlYXJDb2xvcihjb25zdCBDb2xvciYpOwogICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNs
aXAoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3VyZmFjZSkg
T1ZFUlJJREUgeyBtX2N1cnJlbnRTdXJmYWNlID0gc3VyZmFjZTt9CiAgICAgdmlydHVhbCB2b2lk
IGVuZENsaXAoKSBPVkVSUklERSB7IGdyYXBoaWNzQ29udGV4dCgpLT5yZXN0b3JlKCk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCA0M2NmYjg4Li5jYzIxYzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAK
KzIwMTItMTEtMTIgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGluZyBi
aWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1hdGNoaW5nIG9m
IHZpZXcgYmFja2dyb3VuZCBjb2xvciB0byB0aGUgcGFnZSBiYWNrZ3JvdW5kLiBUaGlzIGhlbHBz
IHRvIHJlZHVjZSAKKyAgICAgICAgdmlzaWJpbGl0eSBvZiBmbGlja2VyIGR1cmluZyBzY3JvbGxp
bmcvc2NhbGluZy9yZXBhaW50aW5nIHdoZXJlIHBhZ2UgdGlsZXMgYXJlIG5vdAorICAgICAgICBy
ZWFkeS4gVmlldyBiYWNrZ3JvdW5kIGNvbG9yIG1hdGNoaW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1
bHQgYW5kIGNhbiBiZSBlbmFibGVkIAorICAgICAgICB3aXRoIG5ldyBBUEkgZnVuY3Rpb24gZXdr
X3ZpZXdfbWF0Y2hfdmlld19iYWNrZ3JvdW5kX3RvX3BhZ2Vfc2V0IC4KKyAgICAgICAgVXBzdHJl
YW1pbmcgY2hhbmdlcyBieSBZb3VuZ3RhZWNrIFNvbmcoeW91bmd0YWVjay5zb25nQHNhbXN1bmcu
Y29tKSBmcm9tIFRpemVuIGJyYW5jaC4gICAgICAgIAorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlld0ltcGwuY3BwOgorICAgICAgICAoRXdrVmlld0ltcGw6OkV3a1ZpZXdJbXBs
KToKKyAgICAgICAgKEV3a1ZpZXdJbXBsOjpkaXNwbGF5VGltZXJGaXJlZCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuaDoKKyAgICAgICAgKEV3a1ZpZXdJbXBsOjpl
bmFibGVWaWV3QmFja2dyb3VuZE1hdGNoVG9QYWdlKToKKyAgICAgICAgKEV3a1ZpZXdJbXBsKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChld2tf
dmlld19tYXRjaF92aWV3X2JhY2tncm91bmRfdG9fcGFnZV9zZXQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OnNldEJhY2tncm91bmRDb2xvcik6CisgICAgICAg
IChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVy
VHJlZUNvb3JkaW5hdG9yUHJveHkuaDoKKyAgICAgICAgKExheWVyVHJlZUNvb3JkaW5hdG9yUHJv
eHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXll
clRyZWVSZW5kZXJlcjo6TGF5ZXJUcmVlUmVuZGVyZXIpOgorICAgICAgICAoV2ViS2l0OjpMYXll
clRyZWVSZW5kZXJlcjo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQpOgorICAgICAgICAoV2ViS2l0
OjpMYXllclRyZWVSZW5kZXJlcjo6cGFpbnRUb0dyYXBoaWNzQ29udGV4dCk6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpzZXRCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVSZW5kZXJlci5oOgorICAgICAgICAoTGF5ZXJUcmVlUmVuZGVyZXIpOgorICAgICAgICAoV2Vi
S2l0OjpMYXllclRyZWVSZW5kZXJlcjo6ZW5hYmxlVmlld0JhY2tncm91bmRNYXRjaFRvUGFnZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb29yZGluYXRv
cjo6c2V0QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3Iu
aDoKKyAgICAgICAgKExheWVyVHJlZUNvb3JkaW5hdG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0
OjpzZXRCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bWFpbkZyYW1lRGlkTGF5b3V0KToK
KwogMjAxMi0xMS0xMiAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgW0VGTF0gQWRkIGltcGxlbWVudGF0aW9ucyBvZiBkZXZpY2UgLSB1
c2VyIGNvbnZlcnNpb24gbWV0aG9kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlld0ltcGwuY3BwCmluZGV4IDY4NDNkY2UuLjYzY2Q3MjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAKQEAgLTEyOSw2
ICsxMjksNyBAQCBFd2tWaWV3SW1wbDo6RXdrVmlld0ltcGwoRXZhc19PYmplY3QqIHZpZXcsIFBh
c3NSZWZQdHI8RXdrQ29udGV4dD4gY29udGV4dCwgUGFzcwogICAgICwgbV9kaXNwbGF5VGltZXIo
dGhpcywgJkV3a1ZpZXdJbXBsOjpkaXNwbGF5VGltZXJGaXJlZCkKICAgICAsIG1faW5wdXRNZXRo
b2RDb250ZXh0KElucHV0TWV0aG9kQ29udGV4dEVmbDo6Y3JlYXRlKHRoaXMsIHNtYXJ0RGF0YSgp
LT5iYXNlLmV2YXMpKQogICAgICwgbV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQodHJ1ZSkKKyAgICAs
IG1fbWF0Y2hWaWV3QmFja2dyb3VuZFRvUGFnZShmYWxzZSkKIHsKICAgICBBU1NFUlQobV92aWV3
KTsKICAgICBBU1NFUlQobV9jb250ZXh0KTsKQEAgLTMzNSw2ICszMzYsNyBAQCB2b2lkIEV3a1Zp
ZXdJbXBsOjpkaXNwbGF5VGltZXJGaXJlZChUaW1lcjxFd2tWaWV3SW1wbD4qKQogCiAgICAgTGF5
ZXJUcmVlUmVuZGVyZXIqIHJlbmRlcmVyID0gcGFnZSgpLT5kcmF3aW5nQXJlYSgpLT5sYXllclRy
ZWVDb29yZGluYXRvclByb3h5KCktPmxheWVyVHJlZVJlbmRlcmVyKCk7CiAgICAgcmVuZGVyZXIt
PnNldEFjdGl2ZSh0cnVlKTsKKyAgICByZW5kZXJlci0+ZW5hYmxlVmlld0JhY2tncm91bmRNYXRj
aFRvUGFnZShtX21hdGNoVmlld0JhY2tncm91bmRUb1BhZ2UpOwogICAgIHJlbmRlcmVyLT5zeW5j
UmVtb3RlQ29udGVudCgpOwogICAgIGlmIChtX2lzSGFyZHdhcmVBY2NlbGVyYXRlZCkgewogICAg
ICAgICByZW5kZXJlci0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQodHJhbnNmb3JtVG9TY2VuZSgp
LnRvVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgLyogb3BhY2l0eSAqLyAxLCB2aWV3cG9ydCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuaAppbmRleCBj
MzlmOWM4Li4zY2EzZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V3a1ZpZXdJbXBsLmgKQEAgLTIwMCw2ICsyMDAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbmZv
cm1VUkxDaGFuZ2UoKTsKIAogICAgIGJvb2wgaXNIYXJkd2FyZUFjY2VsZXJhdGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQ7IH0KKyAgICB2b2lkIGVuYWJsZVZpZXdC
YWNrZ3JvdW5kTWF0Y2hUb1BhZ2UoYm9vbCBlbmFibGUpIHsgbV9tYXRjaFZpZXdCYWNrZ3JvdW5k
VG9QYWdlID0gZW5hYmxlOyB9CiAKIHByaXZhdGU6CiAgICAgaW5saW5lIEV3a19WaWV3X1NtYXJ0
X0RhdGEqIHNtYXJ0RGF0YSgpIGNvbnN0OwpAQCAtMjU4LDYgKzI1OSw3IEBAIHByaXZhdGU6CiAg
ICAgT3duUHRyPFdlYktpdDo6SW5wdXRNZXRob2RDb250ZXh0RWZsPiBtX2lucHV0TWV0aG9kQ29u
dGV4dDsKICAgICBPd25QdHI8RXdrX0NvbG9yX1BpY2tlcj4gbV9jb2xvclBpY2tlcjsKICAgICBi
b29sIG1faXNIYXJkd2FyZUFjY2VsZXJhdGVkOworICAgIGJvb2wgbV9tYXRjaFZpZXdCYWNrZ3Jv
dW5kVG9QYWdlOwogfTsKIAogI2VuZGlmIC8vIEV3a1ZpZXdJbXBsX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRleCA5MDU2ZTFjLi5hZGNlOWVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBA
IC05MjEsMyArOTIxLDEwIEBAIEVpbmFfQm9vbCBld2tfdmlld19mdWxsc2NyZWVuX2V4aXQoRXZh
c19PYmplY3QqIGV3a1ZpZXcpCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9CisKK3ZvaWQg
ZXdrX3ZpZXdfbWF0Y2hfdmlld19iYWNrZ3JvdW5kX3RvX3BhZ2Vfc2V0KEV2YXNfT2JqZWN0ICpl
d2tWaWV3LCBFaW5hX0Jvb2wgZW5hYmxlZCkKK3sKKyAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9S
RVRVUk4oZXdrVmlldywgaW1wbCk7CisKKyAgICBpbXBsLT5lbmFibGVWaWV3QmFja2dyb3VuZE1h
dGNoVG9QYWdlKGVuYWJsZWQpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3LmgKaW5kZXggODViOTc2Mi4uMTI1N2ZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC04MTAsNiArODEwLDIwIEBAIEVBUEkgRXdr
X1BhZ2luYXRpb25fTW9kZSBld2tfdmlld19wYWdpbmF0aW9uX21vZGVfZ2V0KGNvbnN0IEV2YXNf
T2JqZWN0ICpvKTsKICAqLwogRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfZnVsbHNjcmVlbl9leGl0
KEV2YXNfT2JqZWN0ICpvKTsKIAorLyoqCisgKiBTZXRzIHdoZXRoZXIgdGhlIGV3a192aWV3IGJh
Y2tncm91bmQgbWF0Y2hlcyBwYWdlIGJhY2tncm91bmQgY29sb3IuCisgKgorICogSWYgZW5hYmxl
ZCBzZXRzIHZpZXcgYmFja2dyb3VuZCBjb2xvciBjbG9zZSB0byBwYWdlIGNvbG9yIG9uIHBhZ2Ug
bG9hZC4KKyAqIFRoaXMgaGVscHMgdG8gcmVkdWNlIGZsaWNrZXIgb24gcGFnZSBzY3JvbGxpbmcg
YW5kIHJlcGFpbnRpbmcgaW4gcGxhY2VzCisgKiB3aGVyZSBwYWdlIGNvbnRlbnQgaXMgbm90IHJl
YWR5IGZvciBwYWludGluZy4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBlbmFibGUv
ZGlzYWJsZSBiYWNrZ3JvdW5kIG1hdGNoaW5nCisgKiBAcGFyYW0gZW5hYmxlZCBhIHN0YXRlIHRv
IHNldAorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3Mgb3IgQGMgRUlOQV9G
QUxTRSBvbiBmYWlsdXJlCisgKi8KK0VBUEkgdm9pZCBld2tfdmlld19tYXRjaF92aWV3X2JhY2tn
cm91bmRfdG9fcGFnZV9zZXQoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCBlbmFibGVkKTsKKwog
I2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggMTdmYTJlYS4uY2Q2ZmE4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
Q29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTIwNSw1ICsy
MDUsMTAgQEAgdm9pZCBMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpwdXJnZUJhY2tpbmdTdG9y
ZXMoKQogICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5wcm9jZXNzKCktPnNlbmQoTWVz
c2FnZXM6OkxheWVyVHJlZUNvb3JkaW5hdG9yOjpQdXJnZUJhY2tpbmdTdG9yZXMoKSwgbV9kcmF3
aW5nQXJlYVByb3h5LT5wYWdlKCktPnBhZ2VJRCgpKTsKIH0KIAordm9pZCBMYXllclRyZWVDb29y
ZGluYXRvclByb3h5OjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNv
bG9yKQoreworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpzZXRC
YWNrZ3JvdW5kQ29sb3IsIG1fcmVuZGVyZXIuZ2V0KCksIGNvbG9yKSk7Cit9CisKIH0KICNlbmRp
ZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVDb29yZGluYXRvclByb3h5LmgKaW5kZXggZDM0ODY4Ny4uNzRiMGRjYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29v
cmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaApAQCAtODQsNiArODQsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKTsKICAgICB2b2lkIGFuaW1h
dGlvbkZyYW1lUmVhZHkoKTsKICNlbmRpZgorICAgIHZvaWQgc2V0QmFja2dyb3VuZENvbG9yKGNv
bnN0IFdlYkNvcmU6OkNvbG9yJik7CiAKIHByb3RlY3RlZDoKICAgICB2b2lkIGRpc3BhdGNoVXBk
YXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGU1ZTY0YTkuLjZm
ZGM1OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0
b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAtNDUsNSArNDUsNyBAQCBtZXNzYWdlcyAtPiBMYXllclRy
ZWVDb29yZGluYXRvclByb3h5IHsKICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKICAgICBTeW5j
Q2FudmFzKHVpbnQzMl90IGlkLCBXZWJDb3JlOjpJbnRTaXplIGNhbnZhc1NpemUsIFdlYkNvcmU6
OkdyYXBoaWNzU3VyZmFjZVRva2VuIHRva2VuLCB1aW50MzJfdCBmcm9udEJ1ZmZlcikKICNlbmRp
ZgorCisgICAgU2V0QmFja2dyb3VuZENvbG9yKFdlYkNvcmU6OkNvbG9yIGNvbG9yKQogfQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggMjVhMjcwZS4uZGY0
YWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApAQCAtOTMsNiArOTMs
OCBAQCBMYXllclRyZWVSZW5kZXJlcjo6TGF5ZXJUcmVlUmVuZGVyZXIoTGF5ZXJUcmVlQ29vcmRp
bmF0b3JQcm94eSogbGF5ZXJUcmVlQ29vcmRpbgogICAgICwgbV9hbmltYXRpb25GcmFtZVJlcXVl
c3RlZChmYWxzZSkKICNlbmRpZgogICAgICwgbV9hY2NlbGVyYXRpb25Nb2RlKFRleHR1cmVNYXBw
ZXI6Ok9wZW5HTE1vZGUpCisgICAgLCBtX2JhY2tncm91bmRDb2xvcigyNTUsIDI1NSwgMjU1LCAy
NTUpCisgICAgLCBtX21hdGNoVmlld0JhY2tncm91bmRUb1BhZ2UoZmFsc2UpCiB7CiB9CiAKQEAg
LTEzMCw2ICsxMzIsOSBAQCB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpwYWludFRvQ3VycmVudEdM
Q29udGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cgogICAgIG1fdGV4dHVyZU1h
cHBlci0+YmVnaW5QYWludGluZyhQYWludEZsYWdzKTsKICAgICBtX3RleHR1cmVNYXBwZXItPmJl
Z2luQ2xpcChUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBjbGlwUmVjdCk7CiAKKyAgICBpZiAobV9t
YXRjaFZpZXdCYWNrZ3JvdW5kVG9QYWdlKQorICAgICAgICBtX3RleHR1cmVNYXBwZXItPmNsZWFy
Q29sb3IobV9iYWNrZ3JvdW5kQ29sb3IpOworCiAgICAgaWYgKGN1cnJlbnRSb290TGF5ZXItPm9w
YWNpdHkoKSAhPSBvcGFjaXR5IHx8IGN1cnJlbnRSb290TGF5ZXItPnRyYW5zZm9ybSgpICE9IG1h
dHJpeCkgewogICAgICAgICBjdXJyZW50Um9vdExheWVyLT5zZXRPcGFjaXR5KG9wYWNpdHkpOwog
ICAgICAgICBjdXJyZW50Um9vdExheWVyLT5zZXRUcmFuc2Zvcm0obWF0cml4KTsKQEAgLTE3OCw2
ICsxODMsMTAgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cGFpbnRUb0dyYXBoaWNzQ29udGV4
dChCYWNraW5nU3RvcmU6OlBsYXRmb3JtR3JhcGhpY3NDb24KICAgICBHcmFwaGljc0NvbnRleHQg
Z3JhcGhpY3NDb250ZXh0KHBhaW50ZXIpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+c2V0R3JhcGhp
Y3NDb250ZXh0KCZncmFwaGljc0NvbnRleHQpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5Q
YWludGluZygpOworCisgICAgaWYgKG1fbWF0Y2hWaWV3QmFja2dyb3VuZFRvUGFnZSkKKyAgICAg
ICAgbV90ZXh0dXJlTWFwcGVyLT5jbGVhckNvbG9yKG1fYmFja2dyb3VuZENvbG9yKTsKKwogICAg
IGxheWVyLT5wYWludCgpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKICAg
ICBtX3RleHR1cmVNYXBwZXItPnNldEdyYXBoaWNzQ29udGV4dCgwKTsKQEAgLTU2Myw2ICs1NzIs
MTEgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0QWN0aXZlKGJvb2wgYWN0aXZlKQogICAg
ICAgICByZW5kZXJOZXh0RnJhbWUoKTsKIH0KIAordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0
QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xvcikKK3sKKyAgICBtX2Jh
Y2tncm91bmRDb2xvciA9IGNvbG9yOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2Vu
ZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5k
ZXJlci5oCmluZGV4IDYwNDM1YzkuLjJmMmQ0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVu
ZGVyZXIuaApAQCAtOTMsNiArOTMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXN0cm95SW1hZ2Uo
aW50NjRfdCk7CiAgICAgdm9pZCBzZXRMYXllckFuaW1hdGlvbnMoV2ViTGF5ZXJJRCwgY29uc3Qg
V2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbnMmKTsKICAgICB2b2lkIHNldEFuaW1hdGlv
bnNMb2NrZWQoYm9vbCk7CisgICAgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29y
ZTo6Q29sb3ImKTsKKyAgICB2b2lkIGVuYWJsZVZpZXdCYWNrZ3JvdW5kTWF0Y2hUb1BhZ2UoYm9v
bCBlbmFibGUpIHsgbV9tYXRjaFZpZXdCYWNrZ3JvdW5kVG9QYWdlID0gZW5hYmxlOyB9CiAKICNp
ZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAgdm9pZCByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKTsKQEAgLTE2MCw2ICsxNjIsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hbmlt
YXRpb25GcmFtZVJlcXVlc3RlZDsKICNlbmRpZgogICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXI6
OkFjY2VsZXJhdGlvbk1vZGUgbV9hY2NlbGVyYXRpb25Nb2RlOworICAgIFdlYkNvcmU6OkNvbG9y
IG1fYmFja2dyb3VuZENvbG9yOworICAgIGJvb2wgbV9tYXRjaFZpZXdCYWNrZ3JvdW5kVG9QYWdl
OwogfTsKIAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yLmNwcAppbmRleCA0MzNiY2U5Li5lM2E5ZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVD
b29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCkBAIC03NjMsNSArNzYz
LDEwIEBAIHZvaWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNU
aW1lckZpcmVkKFRpbWVyPExheWVyVHJlZUNvb3JkCiAgICAgICAgIG1fcmVsZWFzZUluYWN0aXZl
QXRsYXNlc1RpbWVyLnN0b3AoKTsKIH0KIAordm9pZCBMYXllclRyZWVDb29yZGluYXRvcjo6c2V0
QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xvcikKK3sKKyAgICBtX3dl
YlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OlNldEJhY2tn
cm91bmRDb2xvcihjb2xvcikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKICNlbmRpZiAv
LyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRv
ci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaAppbmRleCBmNmIzOGMxLi44YTI5ZGI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmgKQEAgLTEw
Myw2ICsxMDMsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpIE9WRVJSSURFOwogI2VuZGlm
CisgICAgdmlydHVhbCB2b2lkIHNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYpIE9WRVJSSURFOwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgTGF5ZXJUcmVlQ29vcmRp
bmF0b3IoV2ViUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9MYXllclRyZWVIb3N0LmgKaW5kZXggN2ExY2E2Yy4uYTI5OTgzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAjZGVmaW5lIExheWVyVHJlZUhvc3RfaAogCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29u
dGV4dC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTg4LDYgKzg5LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KIAogICAgIHZp
cnR1YWwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5ZXJGYWN0b3J5
KCkgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29u
c3QgV2ViQ29yZTo6Q29sb3ImKSB7IH0KIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiwgZmxvYXQgLyogc2NhbGUgKi8sIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKSB7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCA5ZTY2NTc2Li40NzE2MzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC0yNzYzLDYgKzI3NjMsMTMgQEAgdm9pZCBXZWJQYWdlOjptYWlu
RnJhbWVEaWRMYXlvdXQoKQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRp
ZENoYW5nZVBhZ2VDb3VudChwYWdlQ291bnQpKTsKICAgICAgICAgbV9jYWNoZWRQYWdlQ291bnQg
PSBwYWdlQ291bnQ7CiAgICAgfQorCisgICAgaWYgKG1fZHJhd2luZ0FyZWEgJiYgbV9kcmF3aW5n
QXJlYS0+bGF5ZXJUcmVlSG9zdCgpKSB7CisgICAgICAgIGRvdWJsZSByZWQsIGdyZWVuLCBibHVl
LCBhbHBoYTsKKyAgICAgICAgbV9tYWluRnJhbWUtPmdldERvY3VtZW50QmFja2dyb3VuZENvbG9y
KCZyZWQsICZncmVlbiwgJmJsdWUsICZhbHBoYSk7CisgICAgICAgIFdlYkNvcmU6OkNvbG9yIGNv
bG9yID0gV2ViQ29yZTo6Q29sb3IoZmxvYXQocmVkKSwgZmxvYXQoZ3JlZW4pLCBmbG9hdChibHVl
KSwgZmxvYXQoYWxwaGEpKTsKKyAgICAgICAgbV9kcmF3aW5nQXJlYS0+bGF5ZXJUcmVlSG9zdCgp
LT5zZXRCYWNrZ3JvdW5kQ29sb3IoY29sb3IpOworICAgIH0KIH0KIAogdm9pZCBXZWJQYWdlOjph
ZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCg==
</data>
<flag name="review"
          id="188645"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173926</attachid>
            <date>2012-11-13 10:48:35 -0800</date>
            <delta_ts>2012-11-13 11:47:02 -0800</delta_ts>
            <desc>Updated patch.</desc>
            <filename>backgroundColor_03.diff</filename>
            <type>text/plain</type>
            <size>21576</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZTRjN2NlLi4zNWE0ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMTEtMTMgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGlu
ZyBiaWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGhlbHBlciBm
dW5jdGlvbnMgdG8gY2xlYXIgdmlld3BvcnQgYmVmb3JlIHBhaW50aW5nLiBUaG9zZSBmdW5jdGlv
bnMKKyAgICAgICAgdXNlZCBieSBFRkwgV2Via2l0MiBwb3J0IHRvIHNldCB2aWV3IGJhY2tncm91
bmQgdG8gbWF0Y2ggcGFnZSBiYWNrZ3JvdW5kCisgICAgICAgIGluIG9yZGVyIHRvIHJlZHVjZSB2
aXNpYmlsaXR5IG9mIGZsaWNrZXIgZHVyaW5nIHNjcm9sbGluZy9zY2FsaW5nL3JlcGFpbnRpbmcK
KyAgICAgICAgd2hlcmUgcGFnZSB0aWxlcyBhcmUgbm90IHJlYWR5LgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJHTDo6Y2xlYXJDb2xvcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmNsZWFyQ29sb3Ip
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oOgorCiAyMDEyLTExLTEyICBaZW5vIEFsYmlzc2Vy
ICA8emVub0B3ZWJraXQub3JnPgogCiAgICAgICAgIEdyYXBoaWNzU3VyZmFjZUdMWCBkb2VzIG5v
dCBoYW5kbGUgdHJhbnNwYXJlbmN5IGNvcnJlY3RseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCmluZGV4IDI2OTNk
OWEuLmMyODVjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaApAQCAtMTMwLDYgKzEzMCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZHJhd0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldp
ZHRoLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgdmFsdWUsIGludCBwb2ludFNpemUs
IGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3
TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
cmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXQs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCgpLCBmbG9hdCBvcGFjaXR5ID0gMS4wZiwgY29uc3QgQml0bWFwVGV4dHVyZSog
bWFza1RleHR1cmUgPSAwLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMgPSBBbGxFZGdlcykgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBjbGVhckNvbG9yKGNvbnN0IENvbG9yJikgPSAwOwogCiAgICAgLy8g
bWFrZXMgYSBzdXJmYWNlIHRoZSB0YXJnZXQgZm9yIHRoZSBmb2xsb3dpbmcgZHJhd1RleHR1cmUg
Y2FsbHMuCiAgICAgdmlydHVhbCB2b2lkIGJpbmRTdXJmYWNlKEJpdG1hcFRleHR1cmUqIHN1cmZh
Y2UpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKaW5kZXggNWU2ZDIwNy4uZDI2ZjNmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJHTC5jcHAKQEAgLTQxOSw2ICs0MTksMTkgQEAgdm9pZCBUZXh0dXJlTWFw
cGVyR0w6OmRyYXdUZXh0dXJlKHVpbnQzMl90IHRleHR1cmUsIEZsYWdzIGZsYWdzLCBjb25zdCBJ
bnRTaXplJgogICAgIGRyYXdUZXh0dXJlZFF1YWRXaXRoUHJvZ3JhbShwcm9ncmFtLmdldCgpLCB0
ZXh0dXJlLCBmbGFncywgdGFyZ2V0UmVjdCwgbW9kZWxWaWV3TWF0cml4LCBvcGFjaXR5LCBtYXNr
VGV4dHVyZSk7CiB9CiAKK3ZvaWQgVGV4dHVyZU1hcHBlckdMOjpjbGVhckNvbG9yKGNvbnN0IENv
bG9yJiBjb2xvcikKK3sKKyAgICBSZWZQdHI8VGV4dHVyZU1hcHBlclNoYWRlclByb2dyYW0+IHBy
b2dyYW0gPSBkYXRhKCkuc2hhcmVkR0xEYXRhKCkudGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIu
Z2V0U2hhZGVyUHJvZ3JhbShUZXh0dXJlTWFwcGVyU2hhZGVyTWFuYWdlcjo6U29saWRDb2xvcik7
CisgICAgbV9jb250ZXh0M0QtPnVzZVByb2dyYW0ocHJvZ3JhbS0+cHJvZ3JhbUlEKCkpOworCisg
ICAgZmxvYXQgciwgZywgYiwgYTsKKyAgICBjb2xvci5nZXRSR0JBKHIsIGcsIGIsIGEpOworICAg
IG1fY29udGV4dDNELT51bmlmb3JtNGYocHJvZ3JhbS0+Y29sb3JMb2NhdGlvbigpLCByLCBnLCBi
LCBhKTsKKworICAgIEZsb2F0UmVjdCB0YXJnZXRSZWN0KDAsIDAsIGRhdGEoKS52aWV3cG9ydFsy
XSwgZGF0YSgpLnZpZXdwb3J0WzNdKTsKKyAgICBkcmF3UXVhZCh0YXJnZXRSZWN0LCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCgpLCBwcm9ncmFtLmdldCgpLCBHcmFwaGljc0NvbnRleHQzRDo6VFJJQU5H
TEVfRkFOLCBmYWxzZSk7Cit9CisKIHN0YXRpYyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB2aWV3cG9y
dE1hdHJpeChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dDNEKQogewogICAgIEdDM0RpbnQgdmll
d3BvcnRbNF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgKaW5kZXggOTQ1ZGI2Yi4uYjZmMDE5MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyR0wuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRyYXdSZXBhaW50Q291bnRlcihpbnQgdmFsdWUsIGludCBwb2ludFNpemUsIGNvbnN0IEZsb2F0
UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3TWF0cml4ID0gVHJh
bnNmb3JtYXRpb25NYXRyaXgoKSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0
dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHksIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tU
ZXh0dXJlLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBkcmF3VGV4dHVyZSh1aW50MzJfdCB0ZXh0dXJlLCBGbGFncywgY29uc3QgSW50U2l6ZSYgdGV4
dHVyZVNpemUsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4
dHVyZSogbWFza1RleHR1cmUsIHVuc2lnbmVkIGV4cG9zZWRFZGdlcyA9IEFsbEVkZ2VzKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgY2xlYXJDb2xvcihjb25zdCBDb2xvciYpOwogCiAjaWYgIVVTRShURVhN
QVBfT1BFTkdMX0VTXzIpCiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJlUmVjdGFuZ2xlQVJC
KHVpbnQzMl90IHRleHR1cmUsIEZsYWdzLCBjb25zdCBJbnRTaXplJiB0ZXh0dXJlU2l6ZSwgY29u
c3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9k
ZWxWaWV3TWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBtYXNrVGV4
dHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCmluZGV4IDg0MzQz
MzIuLjA4NmRlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCkBA
IC0xMjUsNiArMTI1LDE1IEBAIHZvaWQgVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3VGV4
dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiB0ZXh0dXJlLCBjb25zdCBGCiAgICAgY29udGV4dC0+
cmVzdG9yZSgpOwogfQogCit2b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6Y2xlYXJDb2xv
cihjb25zdCBDb2xvciYgY29sb3IpCit7CisgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0g
Y3VycmVudENvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGNvbnRleHQtPmZpbGxSZWN0KGNvbnRleHQtPmNsaXBCb3VuZHMoKSwgY29sb3IsIENvbG9y
U3BhY2VEZXZpY2VSR0IpOworfQorCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogUGFzc1JlZlB0
cjxCaXRtYXBUZXh0dXJlPiBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXI6OmFwcGx5RmlsdGVycyhU
ZXh0dXJlTWFwcGVyKiwgY29uc3QgQml0bWFwVGV4dHVyZSYgY29udGVudFRleHR1cmUsIGNvbnN0
IEZpbHRlck9wZXJhdGlvbnMmIGZpbHRlcnMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdl
QnVmZmVyLmgKaW5kZXggMmU3ZTIzMi4uZmYwZWQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIFVOVVNFRF9Q
QVJBTShtb2RlbFZpZXdNYXRyaXgpOwogICAgIH07CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0
dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNv
bnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4
dHVyZSogbWFza1RleHR1cmUsIHVuc2lnbmVkIGV4cG9zZWRFZGdlcykgT1ZFUlJJREU7CisgICAg
dmlydHVhbCB2b2lkIGNsZWFyQ29sb3IoY29uc3QgQ29sb3ImKTsKICAgICB2aXJ0dWFsIHZvaWQg
YmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgRmxvYXRSZWN0Jikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGJpbmRTdXJmYWNlKEJpdG1hcFRleHR1cmUqIHN1
cmZhY2UpIE9WRVJSSURFIHsgbV9jdXJyZW50U3VyZmFjZSA9IHN1cmZhY2U7fQogICAgIHZpcnR1
YWwgdm9pZCBlbmRDbGlwKCkgT1ZFUlJJREUgeyBncmFwaGljc0NvbnRleHQoKS0+cmVzdG9yZSgp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggNDNjZmI4OC4uOWZlZWI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDU0IEBACisyMDEyLTExLTEzICBWaWF0Y2hlc2xhdiBPc3RhcGVua28gIDx2Lm9zdGFwZW5rb0Bz
YW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFdoaXRlIGZsaWNrZXIgd2hlbiBzY3Jv
bGxpbmcgYmlnIHBhZ2VzIHdpdGggZGFyayBiYWNrZ3JvdW5kIG9uIHNsb3dlciBoYXJkd2FyZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjAwMAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtYXRj
aGluZyBvZiB2aWV3IGJhY2tncm91bmQgY29sb3IgdG8gdGhlIHBhZ2UgYmFja2dyb3VuZC4gVGhp
cyBoZWxwcyB0byByZWR1Y2UgCisgICAgICAgIHZpc2liaWxpdHkgb2YgZmxpY2tlciBkdXJpbmcg
c2Nyb2xsaW5nL3NjYWxpbmcvcmVwYWludGluZyB3aGVyZSBwYWdlIHRpbGVzIGFyZSBub3QKKyAg
ICAgICAgcmVhZHkuIFZpZXcgYmFja2dyb3VuZCBjb2xvciBtYXRjaGluZyBpcyBkaXNhYmxlZCBi
eSBkZWZhdWx0IGFuZCBjYW4gYmUgZW5hYmxlZCAKKyAgICAgICAgd2l0aCBuZXcgQVBJIGZ1bmN0
aW9uIGV3a192aWV3X21hdGNoX3ZpZXdfYmFja2dyb3VuZF90b19wYWdlX3NldCAuCisgICAgICAg
IFVwc3RyZWFtaW5nIGNoYW5nZXMgYnkgWW91bmd0YWVjayBTb25nKHlvdW5ndGFlY2suc29uZ0Bz
YW1zdW5nLmNvbSkuCisKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBs
LmNwcDoKKyAgICAgICAgKEV3a1ZpZXdJbXBsOjpFd2tWaWV3SW1wbCk6CisgICAgICAgIChFd2tW
aWV3SW1wbDo6ZGlzcGxheVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZs
L0V3a1ZpZXdJbXBsLmg6CisgICAgICAgIChFd2tWaWV3SW1wbDo6ZW5hYmxlVmlld0JhY2tncm91
bmRNYXRjaFRvUGFnZSk6CisgICAgICAgIChFd2tWaWV3SW1wbCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfbWF0Y2hfdmlld19i
YWNrZ3JvdW5kX3RvX3BhZ2Vfc2V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb29yZGlu
YXRvclByb3h5OjpzZXRCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclBy
b3h5Lmg6CisgICAgICAgIChMYXllclRyZWVDb29yZGluYXRvclByb3h5KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVy
VHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6Okxh
eWVyVHJlZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnBh
aW50VG9DdXJyZW50R0xDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVy
ZXI6OnBhaW50VG9HcmFwaGljc0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVS
ZW5kZXJlcjo6c2V0QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKyAg
ICAgICAgKExheWVyVHJlZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVu
ZGVyZXI6OmVuYWJsZVZpZXdCYWNrZ3JvdW5kTWF0Y2hUb1BhZ2UpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnNldEJhY2tncm91bmRD
b2xvcik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmg6CisgICAgICAgIChMYXll
clRyZWVDb29yZGluYXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJl
ZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6c2V0QmFja2dyb3VuZENv
bG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpt
YWluRnJhbWVEaWRMYXlvdXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lmg6CisgICAgICAgIChXZWJQYWdlKToKKwogMjAxMi0xMS0xMiAgS2VubmV0aCBSb2hkZSBDaHJp
c3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gQWRkIGltcGxl
bWVudGF0aW9ucyBvZiBkZXZpY2UgLSB1c2VyIGNvbnZlcnNpb24gbWV0aG9kcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwCmluZGV4IDY4NDNk
Y2UuLjYzY2Q3MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0V3a1ZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3SW1wbC5jcHAKQEAgLTEyOSw2ICsxMjksNyBAQCBFd2tWaWV3SW1wbDo6RXdrVmlld0lt
cGwoRXZhc19PYmplY3QqIHZpZXcsIFBhc3NSZWZQdHI8RXdrQ29udGV4dD4gY29udGV4dCwgUGFz
cwogICAgICwgbV9kaXNwbGF5VGltZXIodGhpcywgJkV3a1ZpZXdJbXBsOjpkaXNwbGF5VGltZXJG
aXJlZCkKICAgICAsIG1faW5wdXRNZXRob2RDb250ZXh0KElucHV0TWV0aG9kQ29udGV4dEVmbDo6
Y3JlYXRlKHRoaXMsIHNtYXJ0RGF0YSgpLT5iYXNlLmV2YXMpKQogICAgICwgbV9pc0hhcmR3YXJl
QWNjZWxlcmF0ZWQodHJ1ZSkKKyAgICAsIG1fbWF0Y2hWaWV3QmFja2dyb3VuZFRvUGFnZShmYWxz
ZSkKIHsKICAgICBBU1NFUlQobV92aWV3KTsKICAgICBBU1NFUlQobV9jb250ZXh0KTsKQEAgLTMz
NSw2ICszMzYsNyBAQCB2b2lkIEV3a1ZpZXdJbXBsOjpkaXNwbGF5VGltZXJGaXJlZChUaW1lcjxF
d2tWaWV3SW1wbD4qKQogCiAgICAgTGF5ZXJUcmVlUmVuZGVyZXIqIHJlbmRlcmVyID0gcGFnZSgp
LT5kcmF3aW5nQXJlYSgpLT5sYXllclRyZWVDb29yZGluYXRvclByb3h5KCktPmxheWVyVHJlZVJl
bmRlcmVyKCk7CiAgICAgcmVuZGVyZXItPnNldEFjdGl2ZSh0cnVlKTsKKyAgICByZW5kZXJlci0+
ZW5hYmxlVmlld0JhY2tncm91bmRNYXRjaFRvUGFnZShtX21hdGNoVmlld0JhY2tncm91bmRUb1Bh
Z2UpOwogICAgIHJlbmRlcmVyLT5zeW5jUmVtb3RlQ29udGVudCgpOwogICAgIGlmIChtX2lzSGFy
ZHdhcmVBY2NlbGVyYXRlZCkgewogICAgICAgICByZW5kZXJlci0+cGFpbnRUb0N1cnJlbnRHTENv
bnRleHQodHJhbnNmb3JtVG9TY2VuZSgpLnRvVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgLyogb3Bh
Y2l0eSAqLyAxLCB2aWV3cG9ydCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlld0ltcGwuaAppbmRleCBjMzlmOWM4Li4zY2EzZDhkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmgKQEAgLTIwMCw2ICsyMDAsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBpbmZvcm1VUkxDaGFuZ2UoKTsKIAogICAgIGJvb2wgaXNIYXJk
d2FyZUFjY2VsZXJhdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQ7
IH0KKyAgICB2b2lkIGVuYWJsZVZpZXdCYWNrZ3JvdW5kTWF0Y2hUb1BhZ2UoYm9vbCBlbmFibGUp
IHsgbV9tYXRjaFZpZXdCYWNrZ3JvdW5kVG9QYWdlID0gZW5hYmxlOyB9CiAKIHByaXZhdGU6CiAg
ICAgaW5saW5lIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSgpIGNvbnN0OwpAQCAtMjU4
LDYgKzI1OSw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdlYktpdDo6SW5wdXRNZXRob2RDb250
ZXh0RWZsPiBtX2lucHV0TWV0aG9kQ29udGV4dDsKICAgICBPd25QdHI8RXdrX0NvbG9yX1BpY2tl
cj4gbV9jb2xvclBpY2tlcjsKICAgICBib29sIG1faXNIYXJkd2FyZUFjY2VsZXJhdGVkOworICAg
IGJvb2wgbV9tYXRjaFZpZXdCYWNrZ3JvdW5kVG9QYWdlOwogfTsKIAogI2VuZGlmIC8vIEV3a1Zp
ZXdJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNw
cAppbmRleCA5MDU2ZTFjLi5hZGNlOWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC05MjEsMyArOTIxLDEwIEBAIEVpbmFfQm9vbCBld2tf
dmlld19mdWxsc2NyZWVuX2V4aXQoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAgICAgcmV0dXJuIGZh
bHNlOwogI2VuZGlmCiB9CisKK3ZvaWQgZXdrX3ZpZXdfbWF0Y2hfdmlld19iYWNrZ3JvdW5kX3Rv
X3BhZ2Vfc2V0KEV2YXNfT2JqZWN0ICpld2tWaWV3LCBFaW5hX0Jvb2wgZW5hYmxlZCkKK3sKKyAg
ICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCk7CisKKyAgICBpbXBs
LT5lbmFibGVWaWV3QmFja2dyb3VuZE1hdGNoVG9QYWdlKGVuYWJsZWQpOworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggODViOTc2Mi4uMTI1N2Zm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC04
MTAsNiArODEwLDIwIEBAIEVBUEkgRXdrX1BhZ2luYXRpb25fTW9kZSBld2tfdmlld19wYWdpbmF0
aW9uX21vZGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqLwogRUFQSSBFaW5hX0Jvb2wg
ZXdrX3ZpZXdfZnVsbHNjcmVlbl9leGl0KEV2YXNfT2JqZWN0ICpvKTsKIAorLyoqCisgKiBTZXRz
IHdoZXRoZXIgdGhlIGV3a192aWV3IGJhY2tncm91bmQgbWF0Y2hlcyBwYWdlIGJhY2tncm91bmQg
Y29sb3IuCisgKgorICogSWYgZW5hYmxlZCBzZXRzIHZpZXcgYmFja2dyb3VuZCBjb2xvciBjbG9z
ZSB0byBwYWdlIGNvbG9yIG9uIHBhZ2UgbG9hZC4KKyAqIFRoaXMgaGVscHMgdG8gcmVkdWNlIGZs
aWNrZXIgb24gcGFnZSBzY3JvbGxpbmcgYW5kIHJlcGFpbnRpbmcgaW4gcGxhY2VzCisgKiB3aGVy
ZSBwYWdlIGNvbnRlbnQgaXMgbm90IHJlYWR5IGZvciBwYWludGluZy4KKyAqCisgKiBAcGFyYW0g
byB2aWV3IG9iamVjdCB0byBlbmFibGUvZGlzYWJsZSBiYWNrZ3JvdW5kIG1hdGNoaW5nCisgKiBA
cGFyYW0gZW5hYmxlZCBhIHN0YXRlIHRvIHNldAorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVF
IG9uIHN1Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlCisgKi8KK0VBUEkgdm9pZCBl
d2tfdmlld19tYXRjaF92aWV3X2JhY2tncm91bmRfdG9fcGFnZV9zZXQoRXZhc19PYmplY3QgKm8s
IEVpbmFfQm9vbCBlbmFibGVkKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggMTdm
YTJlYS4uY2Q2ZmE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0
b3JQcm94eS5jcHAKQEAgLTIwNSw1ICsyMDUsMTAgQEAgdm9pZCBMYXllclRyZWVDb29yZGluYXRv
clByb3h5OjpwdXJnZUJhY2tpbmdTdG9yZXMoKQogICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFn
ZSgpLT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUNvb3JkaW5hdG9yOjpQdXJn
ZUJhY2tpbmdTdG9yZXMoKSwgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnBhZ2VJRCgpKTsK
IH0KIAordm9pZCBMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpzZXRCYWNrZ3JvdW5kQ29sb3Io
Y29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yKQoreworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQo
JkxheWVyVHJlZVJlbmRlcmVyOjpzZXRCYWNrZ3JvdW5kQ29sb3IsIG1fcmVuZGVyZXIuZ2V0KCks
IGNvbG9yKSk7Cit9CisKIH0KICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVDb29yZGluYXRvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmgKaW5kZXggZDM0ODY4
Ny4uNzRiMGRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJv
eHkuaApAQCAtODQsNiArODQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoKTsKICAgICB2b2lkIGFuaW1hdGlvbkZyYW1lUmVhZHkoKTsKICNlbmRpZgorICAgIHZv
aWQgc2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CiAKIHByb3RlY3Rl
ZDoKICAgICB2b2lkIGRpc3BhdGNoVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZUNvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IGU1ZTY0YTkuLjZmZGM1OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAtNDUsNSArNDUs
NyBAQCBtZXNzYWdlcyAtPiBMYXllclRyZWVDb29yZGluYXRvclByb3h5IHsKICNpZiBVU0UoR1JB
UEhJQ1NfU1VSRkFDRSkKICAgICBTeW5jQ2FudmFzKHVpbnQzMl90IGlkLCBXZWJDb3JlOjpJbnRT
aXplIGNhbnZhc1NpemUsIFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZVRva2VuIHRva2VuLCB1aW50
MzJfdCBmcm9udEJ1ZmZlcikKICNlbmRpZgorCisgICAgU2V0QmFja2dyb3VuZENvbG9yKFdlYkNv
cmU6OkNvbG9yIGNvbG9yKQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJl
ci5jcHAKaW5kZXggMjVhMjcwZS4uZjliNmI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJl
bmRlcmVyLmNwcApAQCAtOTMsNiArOTMsOCBAQCBMYXllclRyZWVSZW5kZXJlcjo6TGF5ZXJUcmVl
UmVuZGVyZXIoTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSogbGF5ZXJUcmVlQ29vcmRpbgogICAg
ICwgbV9hbmltYXRpb25GcmFtZVJlcXVlc3RlZChmYWxzZSkKICNlbmRpZgogICAgICwgbV9hY2Nl
bGVyYXRpb25Nb2RlKFRleHR1cmVNYXBwZXI6Ok9wZW5HTE1vZGUpCisgICAgLCBtX2JhY2tncm91
bmRDb2xvcihDb2xvcjo6d2hpdGUpCisgICAgLCBtX21hdGNoVmlld0JhY2tncm91bmRUb1BhZ2Uo
ZmFsc2UpCiB7CiB9CiAKQEAgLTEzMCw2ICsxMzIsMTMgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJl
cjo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1h
dHIKICAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luUGFpbnRpbmcoUGFpbnRGbGFncyk7CiAgICAg
bV90ZXh0dXJlTWFwcGVyLT5iZWdpbkNsaXAoVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgY2xpcFJl
Y3QpOwogCisgICAgaWYgKG1fbWF0Y2hWaWV3QmFja2dyb3VuZFRvUGFnZSkgeworICAgICAgICBS
R0JBMzIgcmdiYSA9IG1ha2VSR0JBMzJGcm9tRmxvYXRzKG1fYmFja2dyb3VuZENvbG9yLnJlZCgp
LAorICAgICAgICAgICAgbV9iYWNrZ3JvdW5kQ29sb3IuZ3JlZW4oKSwgbV9iYWNrZ3JvdW5kQ29s
b3IuYmx1ZSgpLAorICAgICAgICAgICAgbV9iYWNrZ3JvdW5kQ29sb3IuYWxwaGEoKSAqIG9wYWNp
dHkpOworICAgICAgICBtX3RleHR1cmVNYXBwZXItPmNsZWFyQ29sb3IoQ29sb3IocmdiYSkpOwor
ICAgIH0KKwogICAgIGlmIChjdXJyZW50Um9vdExheWVyLT5vcGFjaXR5KCkgIT0gb3BhY2l0eSB8
fCBjdXJyZW50Um9vdExheWVyLT50cmFuc2Zvcm0oKSAhPSBtYXRyaXgpIHsKICAgICAgICAgY3Vy
cmVudFJvb3RMYXllci0+c2V0T3BhY2l0eShvcGFjaXR5KTsKICAgICAgICAgY3VycmVudFJvb3RM
YXllci0+c2V0VHJhbnNmb3JtKG1hdHJpeCk7CkBAIC0xNzgsNiArMTg3LDEwIEBAIHZvaWQgTGF5
ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9HcmFwaGljc0NvbnRleHQoQmFja2luZ1N0b3JlOjpQbGF0
Zm9ybUdyYXBoaWNzQ29uCiAgICAgR3JhcGhpY3NDb250ZXh0IGdyYXBoaWNzQ29udGV4dChwYWlu
dGVyKTsKICAgICBtX3RleHR1cmVNYXBwZXItPnNldEdyYXBoaWNzQ29udGV4dCgmZ3JhcGhpY3ND
b250ZXh0KTsKICAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luUGFpbnRpbmcoKTsKKworICAgIGlm
IChtX21hdGNoVmlld0JhY2tncm91bmRUb1BhZ2UpCisgICAgICAgIG1fdGV4dHVyZU1hcHBlci0+
Y2xlYXJDb2xvcihtX2JhY2tncm91bmRDb2xvcik7CisKICAgICBsYXllci0+cGFpbnQoKTsKICAg
ICBtX3RleHR1cmVNYXBwZXItPmVuZFBhaW50aW5nKCk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5z
ZXRHcmFwaGljc0NvbnRleHQoMCk7CkBAIC01NjMsNiArNTc2LDExIEBAIHZvaWQgTGF5ZXJUcmVl
UmVuZGVyZXI6OnNldEFjdGl2ZShib29sIGFjdGl2ZSkKICAgICAgICAgcmVuZGVyTmV4dEZyYW1l
KCk7CiB9CiAKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnNldEJhY2tncm91bmRDb2xvcihjb25z
dCBXZWJDb3JlOjpDb2xvciYgY29sb3IpCit7CisgICAgbV9iYWNrZ3JvdW5kQ29sb3IgPSBjb2xv
cjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAppbmRleCA2MDQzNWM5
Li4yZjJkNDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTkzLDYgKzkz
LDggQEAgcHVibGljOgogICAgIHZvaWQgZGVzdHJveUltYWdlKGludDY0X3QpOwogICAgIHZvaWQg
c2V0TGF5ZXJBbmltYXRpb25zKFdlYkxheWVySUQsIGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXJBbmltYXRpb25zJik7CiAgICAgdm9pZCBzZXRBbmltYXRpb25zTG9ja2VkKGJvb2wpOworICAg
IHZvaWQgc2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CisgICAgdm9p
ZCBlbmFibGVWaWV3QmFja2dyb3VuZE1hdGNoVG9QYWdlKGJvb2wgZW5hYmxlKSB7IG1fbWF0Y2hW
aWV3QmFja2dyb3VuZFRvUGFnZSA9IGVuYWJsZTsgfQogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKQogICAgIHZvaWQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCk7CkBAIC0xNjAs
NiArMTYyLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fYW5pbWF0aW9uRnJhbWVSZXF1ZXN0ZWQ7
CiAjZW5kaWYKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyOjpBY2NlbGVyYXRpb25Nb2RlIG1f
YWNjZWxlcmF0aW9uTW9kZTsKKyAgICBXZWJDb3JlOjpDb2xvciBtX2JhY2tncm91bmRDb2xvcjsK
KyAgICBib29sIG1fbWF0Y2hWaWV3QmFja2dyb3VuZFRvUGFnZTsKIH07CiAKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHAKaW5kZXgg
NDMzYmNlOS4uZTNhOWZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZUNvb3JkaW5hdG9yLmNwcApAQCAtNzYzLDUgKzc2MywxMCBAQCB2b2lkIExheWVyVHJl
ZUNvb3JkaW5hdG9yOjpyZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJGaXJlZChUaW1lcjxMYXll
clRyZWVDb29yZAogICAgICAgICBtX3JlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lci5zdG9wKCk7
CiB9CiAKK3ZvaWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnNldEJhY2tncm91bmRDb2xvcihjb25z
dCBXZWJDb3JlOjpDb2xvciYgY29sb3IpCit7CisgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpTZXRCYWNrZ3JvdW5kQ29sb3IoY29sb3IpKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5h
dG9yLmgKaW5kZXggZjZiMzhjMS4uOGEyOWRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0
b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5oCkBAIC0xMDMsNiArMTAzLDcgQEAgcHVibGlj
OgogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICB2aXJ0dWFsIHZvaWQg
c2NoZWR1bGVBbmltYXRpb24oKSBPVkVSUklERTsKICNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCBz
ZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKSBPVkVSUklERTsKIAogcHJv
dGVjdGVkOgogICAgIGV4cGxpY2l0IExheWVyVHJlZUNvb3JkaW5hdG9yKFdlYlBhZ2UqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCmlu
ZGV4IDdhMWNhNmMuLmEyOTk4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBMYXll
clRyZWVIb3N0X2gKIAogI2luY2x1ZGUgIkxheWVyVHJlZUNvbnRleHQuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL0NvbG9yLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogCkBAIC04OCw2ICs4OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgcmVzdW1lUmVuZGVyaW5nKCkgeyB9CiAKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJGYWN0b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgpIHsgcmV0dXJuIDA7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJikg
eyB9CiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgdmlydHVhbCB2b2lkIHNl
dFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGZsb2F0IC8qIHNj
YWxlICovLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JikgeyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggOWU2NjU3Ni4uOGY2NWNlOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
Mjc2LDYgKzI3Niw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogICAgICwgbV92aXNpYmlsaXR5
U3RhdGUoV2ViQ29yZTo6UGFnZVZpc2liaWxpdHlTdGF0ZVZpc2libGUpCiAjZW5kaWYKICAgICAs
IG1faW5zcGVjdG9yQ2xpZW50KDApCisgICAgLCBtX2JhY2tncm91bmRDb2xvcihDb2xvcjo6d2hp
dGUpCiB7CiAgICAgQVNTRVJUKG1fcGFnZUlEKTsKICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIG5v
bi1pZGVhbCBsb2NhdGlvbiBmb3IgdGhpcyBTZXR0aW5nIGFuZApAQCAtMjc2Myw2ICsyNzY0LDE2
IEBAIHZvaWQgV2ViUGFnZTo6bWFpbkZyYW1lRGlkTGF5b3V0KCkKICAgICAgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VQYWdlQ291bnQocGFnZUNvdW50KSk7CiAgICAg
ICAgIG1fY2FjaGVkUGFnZUNvdW50ID0gcGFnZUNvdW50OwogICAgIH0KKworICAgIGlmIChtX2Ry
YXdpbmdBcmVhICYmIG1fZHJhd2luZ0FyZWEtPmxheWVyVHJlZUhvc3QoKSkgeworICAgICAgICBk
b3VibGUgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGE7CisgICAgICAgIG1fbWFpbkZyYW1lLT5nZXRE
b2N1bWVudEJhY2tncm91bmRDb2xvcigmcmVkLCAmZ3JlZW4sICZibHVlLCAmYWxwaGEpOworICAg
ICAgICBSR0JBMzIgcmdiYSA9IG1ha2VSR0JBMzJGcm9tRmxvYXRzKHJlZCwgZ3JlZW4sIGJsdWUs
IGFscGhhKTsKKyAgICAgICAgaWYgKG1fYmFja2dyb3VuZENvbG9yLnJnYigpICE9IHJnYmEpIHsK
KyAgICAgICAgICAgIG1fYmFja2dyb3VuZENvbG9yLnNldFJHQihyZ2JhKTsKKyAgICAgICAgICAg
IG1fZHJhd2luZ0FyZWEtPmxheWVyVHJlZUhvc3QoKS0+c2V0QmFja2dyb3VuZENvbG9yKG1fYmFj
a2dyb3VuZENvbG9yKTsKKyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBXZWJQYWdlOjphZGRQ
bHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA2MDZhZGE4Li4xOWFmMzljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTk0NSw2ICs5NDUsNyBA
QCBwcml2YXRlOgogICAgIFdlYkluc3BlY3RvckNsaWVudCogbV9pbnNwZWN0b3JDbGllbnQ7CiAK
ICAgICBIYXNoU2V0PFN0cmluZywgQ2FzZUZvbGRpbmdIYXNoPiBtX21pbWVUeXBlc1dpdGhDdXN0
b21SZXByZXNlbnRhdGlvbnM7CisgICAgV2ViQ29yZTo6Q29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>
<flag name="review"
          id="188789"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173936</attachid>
            <date>2012-11-13 11:47:02 -0800</date>
            <delta_ts>2012-11-13 21:57:38 -0800</delta_ts>
            <desc>Updated patch.</desc>
            <filename>backgroundColor_04.diff</filename>
            <type>text/plain</type>
            <size>21723</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZTRjN2NlLi4xNzBhNTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMTEtMTMgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGlu
ZyBiaWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGhlbHBlciBm
dW5jdGlvbnMgdG8gY2xlYXIgdmlld3BvcnQgYmVmb3JlIHBhaW50aW5nLiBUaG9zZSBmdW5jdGlv
bnMKKyAgICAgICAgdXNlZCBieSBFRkwgV2Via2l0MiBwb3J0IHRvIHNldCB2aWV3IGJhY2tncm91
bmQgdG8gbWF0Y2ggcGFnZSBiYWNrZ3JvdW5kCisgICAgICAgIGluIG9yZGVyIHRvIHJlZHVjZSB2
aXNpYmlsaXR5IG9mIGZsaWNrZXIgZHVyaW5nIHNjcm9sbGluZy9zY2FsaW5nL3JlcGFpbnRpbmcK
KyAgICAgICAgd2hlcmUgcGFnZSB0aWxlcyBhcmUgbm90IHJlYWR5LgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJHTDo6ZHJhd1NvbGlkQ29sb3IpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3U29s
aWRDb2xvcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmg6CisKIDIwMTItMTEtMTIgIFplbm8g
QWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgR3JhcGhpY3NTdXJmYWNlR0xY
IGRvZXMgbm90IGhhbmRsZSB0cmFuc3BhcmVuY3kgY29ycmVjdGx5LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKaW5k
ZXggMjY5M2Q5YS4uZGViOTRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCkBAIC0xMzAsNiArMTMwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQg
Ym9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1JlcGFpbnRDb3VudGVyKGludCB2YWx1ZSwgaW50IHBv
aW50U2l6ZSwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBt
b2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3Qm
IHRhcmdldCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRy
YW5zZm9ybWF0aW9uTWF0cml4KCksIGZsb2F0IG9wYWNpdHkgPSAxLjBmLCBjb25zdCBCaXRtYXBU
ZXh0dXJlKiBtYXNrVGV4dHVyZSA9IDAsIHVuc2lnbmVkIGV4cG9zZWRFZGdlcyA9IEFsbEVkZ2Vz
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRyYXdTb2xpZENvbG9yKGNvbnN0IEZsb2F0UmVjdCYs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgQ29sb3ImKSA9IDA7CiAKICAgICAv
LyBtYWtlcyBhIHN1cmZhY2UgdGhlIHRhcmdldCBmb3IgdGhlIGZvbGxvd2luZyBkcmF3VGV4dHVy
ZSBjYWxscy4KICAgICB2aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3Vy
ZmFjZSkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAppbmRleCA1ZTZkMjA3Li5kZGY4MzU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckdMLmNwcApAQCAtNDE5LDYgKzQxOSwxOCBAQCB2b2lkIFRleHR1cmVN
YXBwZXJHTDo6ZHJhd1RleHR1cmUodWludDMyX3QgdGV4dHVyZSwgRmxhZ3MgZmxhZ3MsIGNvbnN0
IEludFNpemUmCiAgICAgZHJhd1RleHR1cmVkUXVhZFdpdGhQcm9ncmFtKHByb2dyYW0uZ2V0KCks
IHRleHR1cmUsIGZsYWdzLCB0YXJnZXRSZWN0LCBtb2RlbFZpZXdNYXRyaXgsIG9wYWNpdHksIG1h
c2tUZXh0dXJlKTsKIH0KIAordm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdTb2xpZENvbG9yKGNv
bnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwg
Y29uc3QgQ29sb3ImIGNvbG9yKQoreworICAgIFJlZlB0cjxUZXh0dXJlTWFwcGVyU2hhZGVyUHJv
Z3JhbT4gcHJvZ3JhbSA9IGRhdGEoKS5zaGFyZWRHTERhdGEoKS50ZXh0dXJlTWFwcGVyU2hhZGVy
TWFuYWdlci5nZXRTaGFkZXJQcm9ncmFtKFRleHR1cmVNYXBwZXJTaGFkZXJNYW5hZ2VyOjpTb2xp
ZENvbG9yKTsKKyAgICBtX2NvbnRleHQzRC0+dXNlUHJvZ3JhbShwcm9ncmFtLT5wcm9ncmFtSUQo
KSk7CisKKyAgICBmbG9hdCByLCBnLCBiLCBhOworICAgIGNvbG9yLmdldFJHQkEociwgZywgYiwg
YSk7CisgICAgbV9jb250ZXh0M0QtPnVuaWZvcm00Zihwcm9ncmFtLT5jb2xvckxvY2F0aW9uKCks
IHIsIGcsIGIsIGEpOworCisgICAgZHJhd1F1YWQocmVjdCwgbWF0cml4LCBwcm9ncmFtLmdldCgp
LCBHcmFwaGljc0NvbnRleHQzRDo6VFJJQU5HTEVfRkFOLCBmYWxzZSk7Cit9CisKIHN0YXRpYyBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCB2aWV3cG9ydE1hdHJpeChHcmFwaGljc0NvbnRleHQzRCogY29u
dGV4dDNEKQogewogICAgIEdDM0RpbnQgdmlld3BvcnRbNF07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgKaW5k
ZXggOTQ1ZGI2Yi4uY2M1MDU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaApAQCAtNTIsNiArNTIsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgdmFsdWUs
IGludCBwb2ludFNpemUsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYgbW9kZWxWaWV3TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25z
dCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHks
IGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3VGV4dHVyZSh1aW50MzJfdCB0ZXh0dXJl
LCBGbGFncywgY29uc3QgSW50U2l6ZSYgdGV4dHVyZVNpemUsIGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCwgZmxv
YXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVyZSogbWFza1RleHR1cmUsIHVuc2lnbmVkIGV4
cG9zZWRFZGdlcyA9IEFsbEVkZ2VzKTsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd1NvbGlkQ29sb3Io
Y29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBDb2xv
ciYpIE9WRVJSSURFOwogCiAjaWYgIVVTRShURVhNQVBfT1BFTkdMX0VTXzIpCiAgICAgdmlydHVh
bCB2b2lkIGRyYXdUZXh0dXJlUmVjdGFuZ2xlQVJCKHVpbnQzMl90IHRleHR1cmUsIEZsYWdzLCBj
b25zdCBJbnRTaXplJiB0ZXh0dXJlU2l6ZSwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3TWF0cml4LCBmbG9hdCBvcGFjaXR5
LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBtYXNrVGV4dHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVySW1hZ2VCdWZmZXIuY3BwCmluZGV4IDg0MzQzMzIuLjAzYTc3YzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCkBAIC0xMjUsNiArMTI1LDE3IEBAIHZvaWQgVGV4
dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiB0
ZXh0dXJlLCBjb25zdCBGCiAgICAgY29udGV4dC0+cmVzdG9yZSgpOwogfQogCit2b2lkIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd1NvbGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiByZWN0
LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4LCBjb25zdCBDb2xvciYgY29sb3Ip
Cit7CisgICAgVU5VU0VEX1BBUkFNKG1hdHJpeCk7CisKKyAgICBHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQgPSBjdXJyZW50Q29udGV4dCgpOworICAgIGlmICghY29udGV4dCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgY29udGV4dC0+ZmlsbFJlY3QocmVjdCwgY29sb3IsIENvbG9yU3BhY2VEZXZp
Y2VSR0IpOworfQorCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogUGFzc1JlZlB0cjxCaXRtYXBU
ZXh0dXJlPiBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXI6OmFwcGx5RmlsdGVycyhUZXh0dXJlTWFw
cGVyKiwgY29uc3QgQml0bWFwVGV4dHVyZSYgY29udGVudFRleHR1cmUsIGNvbnN0IEZpbHRlck9w
ZXJhdGlvbnMmIGZpbHRlcnMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgK
aW5kZXggMmU3ZTIzMi4uOTFmZjliMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZm
ZXIuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIFVOVVNFRF9QQVJBTShtb2Rl
bFZpZXdNYXRyaXgpOwogICAgIH07CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0
IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVyZSogbWFz
a1RleHR1cmUsIHVuc2lnbmVkIGV4cG9zZWRFZGdlcykgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIGRyYXdTb2xpZENvbG9yKGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiwgY29uc3QgQ29sb3ImKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5D
bGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIGJpbmRTdXJmYWNlKEJpdG1hcFRleHR1cmUqIHN1cmZhY2Up
IE9WRVJSSURFIHsgbV9jdXJyZW50U3VyZmFjZSA9IHN1cmZhY2U7fQogICAgIHZpcnR1YWwgdm9p
ZCBlbmRDbGlwKCkgT1ZFUlJJREUgeyBncmFwaGljc0NvbnRleHQoKS0+cmVzdG9yZSgpOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggNDNjZmI4OC4uMDY5YzU4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBA
CisyMDEyLTExLTEzICBWaWF0Y2hlc2xhdiBPc3RhcGVua28gIDx2Lm9zdGFwZW5rb0BzYW1zdW5n
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFdoaXRlIGZsaWNrZXIgd2hlbiBzY3JvbGxpbmcg
YmlnIHBhZ2VzIHdpdGggZGFyayBiYWNrZ3JvdW5kIG9uIHNsb3dlciBoYXJkd2FyZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjAwMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtYXRjaGluZyBv
ZiB2aWV3IGJhY2tncm91bmQgY29sb3IgdG8gdGhlIHBhZ2UgYmFja2dyb3VuZC4gVGhpcyBoZWxw
cyB0byByZWR1Y2UgCisgICAgICAgIHZpc2liaWxpdHkgb2YgZmxpY2tlciBkdXJpbmcgc2Nyb2xs
aW5nL3NjYWxpbmcvcmVwYWludGluZyB3aGVyZSBwYWdlIHRpbGVzIGFyZSBub3QKKyAgICAgICAg
cmVhZHkuIFZpZXcgYmFja2dyb3VuZCBjb2xvciBtYXRjaGluZyBpcyBkaXNhYmxlZCBieSBkZWZh
dWx0IGFuZCBjYW4gYmUgZW5hYmxlZCAKKyAgICAgICAgd2l0aCBuZXcgQVBJIGZ1bmN0aW9uIGV3
a192aWV3X2RyYXdzX3BhZ2VfYnJhY2tncm91bmRfc2V0IC4KKyAgICAgICAgVXBzdHJlYW1pbmcg
Y2hhbmdlcyBieSBZb3VuZ3RhZWNrIFNvbmcoeW91bmd0YWVjay5zb25nQHNhbXN1bmcuY29tKS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcDoKKyAgICAgICAg
KEV3a1ZpZXdJbXBsOjpFd2tWaWV3SW1wbCk6CisgICAgICAgIChFd2tWaWV3SW1wbDo6ZGlzcGxh
eVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmg6
CisgICAgICAgIChFd2tWaWV3SW1wbDo6c2V0RHJhd3NCYWNrZ3JvdW5kKToKKyAgICAgICAgKEV3
a1ZpZXdJbXBsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6Cisg
ICAgICAgIChld2tfdmlld19kcmF3c19wYWdlX2JyYWNrZ3JvdW5kX3NldCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eTo6c2V0QmFja2dyb3VuZENvbG9yKToKKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oOgorICAgICAgICAoTGF5ZXJUcmVlQ29vcmRpbmF0
b3JQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZVJlbmRlcmVyOjpMYXllclRyZWVSZW5kZXJlcik6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZVJlbmRlcmVyOjpwYWludFRvQ3VycmVudEdMQ29udGV4dCk6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpwYWludFRvR3JhcGhpY3NDb250ZXh0KToKKyAgICAg
ICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnNldEJhY2tncm91bmRDb2xvcik6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZVJlbmRlcmVyLmg6CisgICAgICAgIChMYXllclRyZWVSZW5kZXJlcik6CisgICAgICAg
IChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpzZXREcmF3c0JhY2tncm91bmQpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3Jk
aW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnNldEJh
Y2tncm91bmRDb2xvcik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmg6CisgICAg
ICAgIChMYXllclRyZWVDb29yZGluYXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6c2V0QmFj
a2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKwogMjAxMi0xMS0xMiAgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0g
QWRkIGltcGxlbWVudGF0aW9ucyBvZiBkZXZpY2UgLSB1c2VyIGNvbnZlcnNpb24gbWV0aG9kcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwCmlu
ZGV4IDY4NDNkY2UuLjFkODcwZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAKQEAgLTEyOSw2ICsxMjksNyBAQCBFd2tWaWV3SW1wbDo6
RXdrVmlld0ltcGwoRXZhc19PYmplY3QqIHZpZXcsIFBhc3NSZWZQdHI8RXdrQ29udGV4dD4gY29u
dGV4dCwgUGFzcwogICAgICwgbV9kaXNwbGF5VGltZXIodGhpcywgJkV3a1ZpZXdJbXBsOjpkaXNw
bGF5VGltZXJGaXJlZCkKICAgICAsIG1faW5wdXRNZXRob2RDb250ZXh0KElucHV0TWV0aG9kQ29u
dGV4dEVmbDo6Y3JlYXRlKHRoaXMsIHNtYXJ0RGF0YSgpLT5iYXNlLmV2YXMpKQogICAgICwgbV9p
c0hhcmR3YXJlQWNjZWxlcmF0ZWQodHJ1ZSkKKyAgICAsIG1fc2V0RHJhd3NCYWNrZ3JvdW5kKGZh
bHNlKQogewogICAgIEFTU0VSVChtX3ZpZXcpOwogICAgIEFTU0VSVChtX2NvbnRleHQpOwpAQCAt
MzM1LDYgKzMzNiw3IEBAIHZvaWQgRXdrVmlld0ltcGw6OmRpc3BsYXlUaW1lckZpcmVkKFRpbWVy
PEV3a1ZpZXdJbXBsPiopCiAKICAgICBMYXllclRyZWVSZW5kZXJlciogcmVuZGVyZXIgPSBwYWdl
KCktPmRyYXdpbmdBcmVhKCktPmxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkoKS0+bGF5ZXJUcmVl
UmVuZGVyZXIoKTsKICAgICByZW5kZXJlci0+c2V0QWN0aXZlKHRydWUpOworICAgIHJlbmRlcmVy
LT5zZXREcmF3c0JhY2tncm91bmQobV9zZXREcmF3c0JhY2tncm91bmQpOwogICAgIHJlbmRlcmVy
LT5zeW5jUmVtb3RlQ29udGVudCgpOwogICAgIGlmIChtX2lzSGFyZHdhcmVBY2NlbGVyYXRlZCkg
ewogICAgICAgICByZW5kZXJlci0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQodHJhbnNmb3JtVG9T
Y2VuZSgpLnRvVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgLyogb3BhY2l0eSAqLyAxLCB2aWV3cG9y
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3
SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuaApp
bmRleCBjMzlmOWM4Li5kYzI3YzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL0V3a1ZpZXdJbXBsLmgKQEAgLTIwMCw2ICsyMDAsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBpbmZvcm1VUkxDaGFuZ2UoKTsKIAogICAgIGJvb2wgaXNIYXJkd2FyZUFjY2VsZXJhdGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQ7IH0KKyAgICB2b2lkIHNldERy
YXdzQmFja2dyb3VuZChib29sIGVuYWJsZSkgeyBtX3NldERyYXdzQmFja2dyb3VuZCA9IGVuYWJs
ZTsgfQogCiBwcml2YXRlOgogICAgIGlubGluZSBFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERh
dGEoKSBjb25zdDsKQEAgLTI1OCw2ICsyNTksNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxXZWJL
aXQ6OklucHV0TWV0aG9kQ29udGV4dEVmbD4gbV9pbnB1dE1ldGhvZENvbnRleHQ7CiAgICAgT3du
UHRyPEV3a19Db2xvcl9QaWNrZXI+IG1fY29sb3JQaWNrZXI7CiAgICAgYm9vbCBtX2lzSGFyZHdh
cmVBY2NlbGVyYXRlZDsKKyAgICBib29sIG1fc2V0RHJhd3NCYWNrZ3JvdW5kOwogfTsKIAogI2Vu
ZGlmIC8vIEV3a1ZpZXdJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3LmNwcAppbmRleCA5MDU2ZTFjLi41NTg3MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC05MjEsMyArOTIxLDEwIEBAIEVp
bmFfQm9vbCBld2tfdmlld19mdWxsc2NyZWVuX2V4aXQoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAg
ICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9CisKK3ZvaWQgZXdrX3ZpZXdfZHJhd3NfcGFnZV9i
cmFja2dyb3VuZF9zZXQoRXZhc19PYmplY3QgKmV3a1ZpZXcsIEVpbmFfQm9vbCBlbmFibGVkKQor
eworICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBsKTsKKworICAg
IGltcGwtPnNldERyYXdzQmFja2dyb3VuZChlbmFibGVkKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCmluZGV4IDg1Yjk3NjIuLjllMDM5YmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaApAQCAtODEwLDYgKzgx
MCwyMCBAQCBFQVBJIEV3a19QYWdpbmF0aW9uX01vZGUgZXdrX3ZpZXdfcGFnaW5hdGlvbl9tb2Rl
X2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKi8KIEVBUEkgRWluYV9Cb29sIGV3a192aWV3
X2Z1bGxzY3JlZW5fZXhpdChFdmFzX09iamVjdCAqbyk7CiAKKy8qKgorICogU2V0cyB3aGV0aGVy
IHRoZSBld2tfdmlldyBiYWNrZ3JvdW5kIG1hdGNoZXMgcGFnZSBiYWNrZ3JvdW5kIGNvbG9yLgor
ICoKKyAqIElmIGVuYWJsZWQgc2V0cyB2aWV3IGJhY2tncm91bmQgY29sb3IgY2xvc2UgdG8gcGFn
ZSBjb2xvciBvbiBwYWdlIGxvYWQuCisgKiBUaGlzIGhlbHBzIHRvIHJlZHVjZSBmbGlja2VyIG9u
IHBhZ2Ugc2Nyb2xsaW5nIGFuZCByZXBhaW50aW5nIGluIHBsYWNlcworICogd2hlcmUgcGFnZSBj
b250ZW50IGlzIG5vdCByZWFkeSBmb3IgcGFpbnRpbmcuCisgKgorICogQHBhcmFtIG8gdmlldyBv
YmplY3QgdG8gZW5hYmxlL2Rpc2FibGUgYmFja2dyb3VuZCBtYXRjaGluZworICogQHBhcmFtIGVu
YWJsZWQgYSBzdGF0ZSB0byBzZXQKKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNj
ZXNzIG9yIEBjIEVJTkFfRkFMU0Ugb24gZmFpbHVyZQorICovCitFQVBJIHZvaWQgZXdrX3ZpZXdf
ZHJhd3NfcGFnZV9icmFja2dyb3VuZF9zZXQoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCBlbmFi
bGVkKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5h
dG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggMTdmYTJlYS4uY2Q2ZmE4MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAKQEAg
LTIwNSw1ICsyMDUsMTAgQEAgdm9pZCBMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpwdXJnZUJh
Y2tpbmdTdG9yZXMoKQogICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5wcm9jZXNzKCkt
PnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUNvb3JkaW5hdG9yOjpQdXJnZUJhY2tpbmdTdG9yZXMo
KSwgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnBhZ2VJRCgpKTsKIH0KIAordm9pZCBMYXll
clRyZWVDb29yZGluYXRvclByb3h5OjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6
Q29sb3ImIGNvbG9yKQoreworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRl
cmVyOjpzZXRCYWNrZ3JvdW5kQ29sb3IsIG1fcmVuZGVyZXIuZ2V0KCksIGNvbG9yKSk7Cit9CisK
IH0KICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGlu
YXRvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmgKaW5kZXggZDM0ODY4Ny4uNzRiMGRjYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaApAQCAtODQsNiAr
ODQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKTsKICAgICB2
b2lkIGFuaW1hdGlvbkZyYW1lUmVhZHkoKTsKICNlbmRpZgorICAgIHZvaWQgc2V0QmFja2dyb3Vu
ZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CiAKIHByb3RlY3RlZDoKICAgICB2b2lkIGRp
c3BhdGNoVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5h
dG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGU1
ZTY0YTkuLjZmZGM1OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAtNDUsNSArNDUsNyBAQCBtZXNzYWdlcyAt
PiBMYXllclRyZWVDb29yZGluYXRvclByb3h5IHsKICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkK
ICAgICBTeW5jQ2FudmFzKHVpbnQzMl90IGlkLCBXZWJDb3JlOjpJbnRTaXplIGNhbnZhc1NpemUs
IFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZVRva2VuIHRva2VuLCB1aW50MzJfdCBmcm9udEJ1ZmZl
cikKICNlbmRpZgorCisgICAgU2V0QmFja2dyb3VuZENvbG9yKFdlYkNvcmU6OkNvbG9yIGNvbG9y
KQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggMjVh
MjcwZS4uNWVlYWI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApAQCAt
OTMsNiArOTMsOCBAQCBMYXllclRyZWVSZW5kZXJlcjo6TGF5ZXJUcmVlUmVuZGVyZXIoTGF5ZXJU
cmVlQ29vcmRpbmF0b3JQcm94eSogbGF5ZXJUcmVlQ29vcmRpbgogICAgICwgbV9hbmltYXRpb25G
cmFtZVJlcXVlc3RlZChmYWxzZSkKICNlbmRpZgogICAgICwgbV9hY2NlbGVyYXRpb25Nb2RlKFRl
eHR1cmVNYXBwZXI6Ok9wZW5HTE1vZGUpCisgICAgLCBtX2JhY2tncm91bmRDb2xvcihDb2xvcjo6
d2hpdGUpCisgICAgLCBtX3NldERyYXdzQmFja2dyb3VuZChmYWxzZSkKIHsKIH0KIApAQCAtMTMw
LDYgKzEzMiwxMyBAQCB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpwYWludFRvQ3VycmVudEdMQ29u
dGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cgogICAgIG1fdGV4dHVyZU1hcHBl
ci0+YmVnaW5QYWludGluZyhQYWludEZsYWdzKTsKICAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2lu
Q2xpcChUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBjbGlwUmVjdCk7CiAKKyAgICBpZiAobV9zZXRE
cmF3c0JhY2tncm91bmQpIHsKKyAgICAgICAgUkdCQTMyIHJnYmEgPSBtYWtlUkdCQTMyRnJvbUZs
b2F0cyhtX2JhY2tncm91bmRDb2xvci5yZWQoKSwKKyAgICAgICAgICAgIG1fYmFja2dyb3VuZENv
bG9yLmdyZWVuKCksIG1fYmFja2dyb3VuZENvbG9yLmJsdWUoKSwKKyAgICAgICAgICAgIG1fYmFj
a2dyb3VuZENvbG9yLmFscGhhKCkgKiBvcGFjaXR5KTsKKyAgICAgICAgbV90ZXh0dXJlTWFwcGVy
LT5kcmF3U29saWRDb2xvcihjbGlwUmVjdCwgVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgQ29sb3Io
cmdiYSkpOworICAgIH0KKwogICAgIGlmIChjdXJyZW50Um9vdExheWVyLT5vcGFjaXR5KCkgIT0g
b3BhY2l0eSB8fCBjdXJyZW50Um9vdExheWVyLT50cmFuc2Zvcm0oKSAhPSBtYXRyaXgpIHsKICAg
ICAgICAgY3VycmVudFJvb3RMYXllci0+c2V0T3BhY2l0eShvcGFjaXR5KTsKICAgICAgICAgY3Vy
cmVudFJvb3RMYXllci0+c2V0VHJhbnNmb3JtKG1hdHJpeCk7CkBAIC0xNzgsNiArMTg3LDEwIEBA
IHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9HcmFwaGljc0NvbnRleHQoQmFja2luZ1N0
b3JlOjpQbGF0Zm9ybUdyYXBoaWNzQ29uCiAgICAgR3JhcGhpY3NDb250ZXh0IGdyYXBoaWNzQ29u
dGV4dChwYWludGVyKTsKICAgICBtX3RleHR1cmVNYXBwZXItPnNldEdyYXBoaWNzQ29udGV4dCgm
Z3JhcGhpY3NDb250ZXh0KTsKICAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luUGFpbnRpbmcoKTsK
KworICAgIGlmIChtX3NldERyYXdzQmFja2dyb3VuZCkKKyAgICAgICAgbV90ZXh0dXJlTWFwcGVy
LT5kcmF3U29saWRDb2xvcihncmFwaGljc0NvbnRleHQuY2xpcEJvdW5kcygpLCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCgpLCBtX2JhY2tncm91bmRDb2xvcik7CisKICAgICBsYXllci0+cGFpbnQoKTsK
ICAgICBtX3RleHR1cmVNYXBwZXItPmVuZFBhaW50aW5nKCk7CiAgICAgbV90ZXh0dXJlTWFwcGVy
LT5zZXRHcmFwaGljc0NvbnRleHQoMCk7CkBAIC01NjMsNiArNTc2LDExIEBAIHZvaWQgTGF5ZXJU
cmVlUmVuZGVyZXI6OnNldEFjdGl2ZShib29sIGFjdGl2ZSkKICAgICAgICAgcmVuZGVyTmV4dEZy
YW1lKCk7CiB9CiAKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnNldEJhY2tncm91bmRDb2xvcihj
b25zdCBXZWJDb3JlOjpDb2xvciYgY29sb3IpCit7CisgICAgbV9iYWNrZ3JvdW5kQ29sb3IgPSBj
b2xvcjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAppbmRleCA2MDQz
NWM5Li41M2I2OTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTkzLDYg
KzkzLDggQEAgcHVibGljOgogICAgIHZvaWQgZGVzdHJveUltYWdlKGludDY0X3QpOwogICAgIHZv
aWQgc2V0TGF5ZXJBbmltYXRpb25zKFdlYkxheWVySUQsIGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJBbmltYXRpb25zJik7CiAgICAgdm9pZCBzZXRBbmltYXRpb25zTG9ja2VkKGJvb2wpOwor
ICAgIHZvaWQgc2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CisgICAg
dm9pZCBzZXREcmF3c0JhY2tncm91bmQoYm9vbCBlbmFibGUpIHsgbV9zZXREcmF3c0JhY2tncm91
bmQgPSBlbmFibGU7IH0KIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAg
ICB2b2lkIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpOwpAQCAtMTYwLDYgKzE2Miw4IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX2FuaW1hdGlvbkZyYW1lUmVxdWVzdGVkOwogI2VuZGlmCiAgICAgV2Vi
Q29yZTo6VGV4dHVyZU1hcHBlcjo6QWNjZWxlcmF0aW9uTW9kZSBtX2FjY2VsZXJhdGlvbk1vZGU7
CisgICAgV2ViQ29yZTo6Q29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7CisgICAgYm9vbCBtX3NldERy
YXdzQmFja2dyb3VuZDsKIH07CiAKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVDb29yZGluYXRvci5jcHAKaW5kZXggNDMzYmNlOS4uZTNhOWZjNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcApA
QCAtNzYzLDUgKzc2MywxMCBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpyZWxlYXNlSW5h
Y3RpdmVBdGxhc2VzVGltZXJGaXJlZChUaW1lcjxMYXllclRyZWVDb29yZAogICAgICAgICBtX3Jl
bGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lci5zdG9wKCk7CiB9CiAKK3ZvaWQgTGF5ZXJUcmVlQ29v
cmRpbmF0b3I6OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29sb3Ip
Cit7CisgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpMYXllclRyZWVDb29yZGluYXRvclBy
b3h5OjpTZXRCYWNrZ3JvdW5kQ29sb3IoY29sb3IpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmgKaW5kZXggZjZiMzhjMS4uOGEy
OWRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGlu
YXRvci5oCkBAIC0xMDMsNiArMTAzLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShSRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVBbmltYXRpb24oKSBPVkVS
UklERTsKICNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3Qg
V2ViQ29yZTo6Q29sb3ImKSBPVkVSUklERTsKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IExh
eWVyVHJlZUNvb3JkaW5hdG9yKFdlYlBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDdhMWNhNmMuLmEyOTk4M2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3Qu
aApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBMYXllclRyZWVIb3N0X2gKIAogI2luY2x1ZGUg
IkxheWVyVHJlZUNvbnRleHQuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC04
OCw2ICs4OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lUmVuZGVyaW5nKCkg
eyB9CiAKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBncmFwaGlj
c0xheWVyRmFjdG9yeSgpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0QmFja2dy
b3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJikgeyB9CiAKICNpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCiAgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYsIGZsb2F0IC8qIHNjYWxlICovLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggOWU2NjU3Ni4uOGY2NWNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjc2LDYgKzI3Niw3IEBAIFdlYlBhZ2U6
OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzKQogICAgICwgbV92aXNpYmlsaXR5U3RhdGUoV2ViQ29yZTo6UGFnZVZpc2li
aWxpdHlTdGF0ZVZpc2libGUpCiAjZW5kaWYKICAgICAsIG1faW5zcGVjdG9yQ2xpZW50KDApCisg
ICAgLCBtX2JhY2tncm91bmRDb2xvcihDb2xvcjo6d2hpdGUpCiB7CiAgICAgQVNTRVJUKG1fcGFn
ZUlEKTsKICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIG5vbi1pZGVhbCBsb2NhdGlvbiBmb3IgdGhp
cyBTZXR0aW5nIGFuZApAQCAtMjc2Myw2ICsyNzY0LDE2IEBAIHZvaWQgV2ViUGFnZTo6bWFpbkZy
YW1lRGlkTGF5b3V0KCkKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRD
aGFuZ2VQYWdlQ291bnQocGFnZUNvdW50KSk7CiAgICAgICAgIG1fY2FjaGVkUGFnZUNvdW50ID0g
cGFnZUNvdW50OwogICAgIH0KKworICAgIGlmIChtX2RyYXdpbmdBcmVhICYmIG1fZHJhd2luZ0Fy
ZWEtPmxheWVyVHJlZUhvc3QoKSkgeworICAgICAgICBkb3VibGUgcmVkLCBncmVlbiwgYmx1ZSwg
YWxwaGE7CisgICAgICAgIG1fbWFpbkZyYW1lLT5nZXREb2N1bWVudEJhY2tncm91bmRDb2xvcigm
cmVkLCAmZ3JlZW4sICZibHVlLCAmYWxwaGEpOworICAgICAgICBSR0JBMzIgcmdiYSA9IG1ha2VS
R0JBMzJGcm9tRmxvYXRzKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsKKyAgICAgICAgaWYgKG1f
YmFja2dyb3VuZENvbG9yLnJnYigpICE9IHJnYmEpIHsKKyAgICAgICAgICAgIG1fYmFja2dyb3Vu
ZENvbG9yLnNldFJHQihyZ2JhKTsKKyAgICAgICAgICAgIG1fZHJhd2luZ0FyZWEtPmxheWVyVHJl
ZUhvc3QoKS0+c2V0QmFja2dyb3VuZENvbG9yKG1fYmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAg
fQorICAgIH0KIH0KIAogdm9pZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBs
dWdpblZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApp
bmRleCA2MDZhZGE4Li4xOWFmMzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTk0NSw2ICs5NDUsNyBAQCBwcml2YXRlOgogICAgIFdlYkluc3Bl
Y3RvckNsaWVudCogbV9pbnNwZWN0b3JDbGllbnQ7CiAKICAgICBIYXNoU2V0PFN0cmluZywgQ2Fz
ZUZvbGRpbmdIYXNoPiBtX21pbWVUeXBlc1dpdGhDdXN0b21SZXByZXNlbnRhdGlvbnM7CisgICAg
V2ViQ29yZTo6Q29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174073</attachid>
            <date>2012-11-13 21:58:29 -0800</date>
            <delta_ts>2012-11-14 08:17:19 -0800</delta_ts>
            <desc>Add drawSolidColor method to Texture Mapper</desc>
            <filename>drawsolidcolor_01.diff</filename>
            <type>text/plain</type>
            <size>6724</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZTRjN2NlLi4xNzBhNTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMTEtMTMgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGlu
ZyBiaWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGhlbHBlciBm
dW5jdGlvbnMgdG8gY2xlYXIgdmlld3BvcnQgYmVmb3JlIHBhaW50aW5nLiBUaG9zZSBmdW5jdGlv
bnMKKyAgICAgICAgdXNlZCBieSBFRkwgV2Via2l0MiBwb3J0IHRvIHNldCB2aWV3IGJhY2tncm91
bmQgdG8gbWF0Y2ggcGFnZSBiYWNrZ3JvdW5kCisgICAgICAgIGluIG9yZGVyIHRvIHJlZHVjZSB2
aXNpYmlsaXR5IG9mIGZsaWNrZXIgZHVyaW5nIHNjcm9sbGluZy9zY2FsaW5nL3JlcGFpbnRpbmcK
KyAgICAgICAgd2hlcmUgcGFnZSB0aWxlcyBhcmUgbm90IHJlYWR5LgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJHTDo6ZHJhd1NvbGlkQ29sb3IpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3U29s
aWRDb2xvcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmg6CisKIDIwMTItMTEtMTIgIFplbm8g
QWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgR3JhcGhpY3NTdXJmYWNlR0xY
IGRvZXMgbm90IGhhbmRsZSB0cmFuc3BhcmVuY3kgY29ycmVjdGx5LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKaW5k
ZXggMjY5M2Q5YS4uZGViOTRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCkBAIC0xMzAsNiArMTMwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQg
Ym9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1JlcGFpbnRDb3VudGVyKGludCB2YWx1ZSwgaW50IHBv
aW50U2l6ZSwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBt
b2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3Qm
IHRhcmdldCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRy
YW5zZm9ybWF0aW9uTWF0cml4KCksIGZsb2F0IG9wYWNpdHkgPSAxLjBmLCBjb25zdCBCaXRtYXBU
ZXh0dXJlKiBtYXNrVGV4dHVyZSA9IDAsIHVuc2lnbmVkIGV4cG9zZWRFZGdlcyA9IEFsbEVkZ2Vz
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRyYXdTb2xpZENvbG9yKGNvbnN0IEZsb2F0UmVjdCYs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgQ29sb3ImKSA9IDA7CiAKICAgICAv
LyBtYWtlcyBhIHN1cmZhY2UgdGhlIHRhcmdldCBmb3IgdGhlIGZvbGxvd2luZyBkcmF3VGV4dHVy
ZSBjYWxscy4KICAgICB2aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3Vy
ZmFjZSkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAppbmRleCA1ZTZkMjA3Li5kZGY4MzU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckdMLmNwcApAQCAtNDE5LDYgKzQxOSwxOCBAQCB2b2lkIFRleHR1cmVN
YXBwZXJHTDo6ZHJhd1RleHR1cmUodWludDMyX3QgdGV4dHVyZSwgRmxhZ3MgZmxhZ3MsIGNvbnN0
IEludFNpemUmCiAgICAgZHJhd1RleHR1cmVkUXVhZFdpdGhQcm9ncmFtKHByb2dyYW0uZ2V0KCks
IHRleHR1cmUsIGZsYWdzLCB0YXJnZXRSZWN0LCBtb2RlbFZpZXdNYXRyaXgsIG9wYWNpdHksIG1h
c2tUZXh0dXJlKTsKIH0KIAordm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdTb2xpZENvbG9yKGNv
bnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwg
Y29uc3QgQ29sb3ImIGNvbG9yKQoreworICAgIFJlZlB0cjxUZXh0dXJlTWFwcGVyU2hhZGVyUHJv
Z3JhbT4gcHJvZ3JhbSA9IGRhdGEoKS5zaGFyZWRHTERhdGEoKS50ZXh0dXJlTWFwcGVyU2hhZGVy
TWFuYWdlci5nZXRTaGFkZXJQcm9ncmFtKFRleHR1cmVNYXBwZXJTaGFkZXJNYW5hZ2VyOjpTb2xp
ZENvbG9yKTsKKyAgICBtX2NvbnRleHQzRC0+dXNlUHJvZ3JhbShwcm9ncmFtLT5wcm9ncmFtSUQo
KSk7CisKKyAgICBmbG9hdCByLCBnLCBiLCBhOworICAgIGNvbG9yLmdldFJHQkEociwgZywgYiwg
YSk7CisgICAgbV9jb250ZXh0M0QtPnVuaWZvcm00Zihwcm9ncmFtLT5jb2xvckxvY2F0aW9uKCks
IHIsIGcsIGIsIGEpOworCisgICAgZHJhd1F1YWQocmVjdCwgbWF0cml4LCBwcm9ncmFtLmdldCgp
LCBHcmFwaGljc0NvbnRleHQzRDo6VFJJQU5HTEVfRkFOLCBmYWxzZSk7Cit9CisKIHN0YXRpYyBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCB2aWV3cG9ydE1hdHJpeChHcmFwaGljc0NvbnRleHQzRCogY29u
dGV4dDNEKQogewogICAgIEdDM0RpbnQgdmlld3BvcnRbNF07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgKaW5k
ZXggOTQ1ZGI2Yi4uY2M1MDU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaApAQCAtNTIsNiArNTIsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgdmFsdWUs
IGludCBwb2ludFNpemUsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYgbW9kZWxWaWV3TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25z
dCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHks
IGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3VGV4dHVyZSh1aW50MzJfdCB0ZXh0dXJl
LCBGbGFncywgY29uc3QgSW50U2l6ZSYgdGV4dHVyZVNpemUsIGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCwgZmxv
YXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVyZSogbWFza1RleHR1cmUsIHVuc2lnbmVkIGV4
cG9zZWRFZGdlcyA9IEFsbEVkZ2VzKTsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd1NvbGlkQ29sb3Io
Y29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBDb2xv
ciYpIE9WRVJSSURFOwogCiAjaWYgIVVTRShURVhNQVBfT1BFTkdMX0VTXzIpCiAgICAgdmlydHVh
bCB2b2lkIGRyYXdUZXh0dXJlUmVjdGFuZ2xlQVJCKHVpbnQzMl90IHRleHR1cmUsIEZsYWdzLCBj
b25zdCBJbnRTaXplJiB0ZXh0dXJlU2l6ZSwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3TWF0cml4LCBmbG9hdCBvcGFjaXR5
LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBtYXNrVGV4dHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVySW1hZ2VCdWZmZXIuY3BwCmluZGV4IDg0MzQzMzIuLjAzYTc3YzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCkBAIC0xMjUsNiArMTI1LDE3IEBAIHZvaWQgVGV4
dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiB0
ZXh0dXJlLCBjb25zdCBGCiAgICAgY29udGV4dC0+cmVzdG9yZSgpOwogfQogCit2b2lkIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd1NvbGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiByZWN0
LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4LCBjb25zdCBDb2xvciYgY29sb3Ip
Cit7CisgICAgVU5VU0VEX1BBUkFNKG1hdHJpeCk7CisKKyAgICBHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQgPSBjdXJyZW50Q29udGV4dCgpOworICAgIGlmICghY29udGV4dCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgY29udGV4dC0+ZmlsbFJlY3QocmVjdCwgY29sb3IsIENvbG9yU3BhY2VEZXZp
Y2VSR0IpOworfQorCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogUGFzc1JlZlB0cjxCaXRtYXBU
ZXh0dXJlPiBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXI6OmFwcGx5RmlsdGVycyhUZXh0dXJlTWFw
cGVyKiwgY29uc3QgQml0bWFwVGV4dHVyZSYgY29udGVudFRleHR1cmUsIGNvbnN0IEZpbHRlck9w
ZXJhdGlvbnMmIGZpbHRlcnMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgK
aW5kZXggMmU3ZTIzMi4uOTFmZjliMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZm
ZXIuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6CiAgICAgICAgIFVOVVNFRF9QQVJBTShtb2Rl
bFZpZXdNYXRyaXgpOwogICAgIH07CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0
IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVyZSogbWFz
a1RleHR1cmUsIHVuc2lnbmVkIGV4cG9zZWRFZGdlcykgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIGRyYXdTb2xpZENvbG9yKGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiwgY29uc3QgQ29sb3ImKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5D
bGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIGJpbmRTdXJmYWNlKEJpdG1hcFRleHR1cmUqIHN1cmZhY2Up
IE9WRVJSSURFIHsgbV9jdXJyZW50U3VyZmFjZSA9IHN1cmZhY2U7fQogICAgIHZpcnR1YWwgdm9p
ZCBlbmRDbGlwKCkgT1ZFUlJJREUgeyBncmFwaGljc0NvbnRleHQoKS0+cmVzdG9yZSgpOyB9Cg==
</data>
<flag name="review"
          id="188979"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174074</attachid>
            <date>2012-11-13 22:00:26 -0800</date>
            <delta_ts>2012-11-14 08:19:36 -0800</delta_ts>
            <desc>View background color patch.</desc>
            <filename>backgroundColor_05.diff</filename>
            <type>text/plain</type>
            <size>15069</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0M2NmYjg4Li4wNjljNThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMg
QEAKKzIwMTItMTEtMTMgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGlu
ZyBiaWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1hdGNoaW5n
IG9mIHZpZXcgYmFja2dyb3VuZCBjb2xvciB0byB0aGUgcGFnZSBiYWNrZ3JvdW5kLiBUaGlzIGhl
bHBzIHRvIHJlZHVjZSAKKyAgICAgICAgdmlzaWJpbGl0eSBvZiBmbGlja2VyIGR1cmluZyBzY3Jv
bGxpbmcvc2NhbGluZy9yZXBhaW50aW5nIHdoZXJlIHBhZ2UgdGlsZXMgYXJlIG5vdAorICAgICAg
ICByZWFkeS4gVmlldyBiYWNrZ3JvdW5kIGNvbG9yIG1hdGNoaW5nIGlzIGRpc2FibGVkIGJ5IGRl
ZmF1bHQgYW5kIGNhbiBiZSBlbmFibGVkIAorICAgICAgICB3aXRoIG5ldyBBUEkgZnVuY3Rpb24g
ZXdrX3ZpZXdfZHJhd3NfcGFnZV9icmFja2dyb3VuZF9zZXQgLgorICAgICAgICBVcHN0cmVhbWlu
ZyBjaGFuZ2VzIGJ5IFlvdW5ndGFlY2sgU29uZyh5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20p
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwOgorICAgICAg
ICAoRXdrVmlld0ltcGw6OkV3a1ZpZXdJbXBsKToKKyAgICAgICAgKEV3a1ZpZXdJbXBsOjpkaXNw
bGF5VGltZXJGaXJlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwu
aDoKKyAgICAgICAgKEV3a1ZpZXdJbXBsOjpzZXREcmF3c0JhY2tncm91bmQpOgorICAgICAgICAo
RXdrVmlld0ltcGwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoK
KyAgICAgICAgKGV3a192aWV3X2RyYXdzX3BhZ2VfYnJhY2tncm91bmRfc2V0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpzZXRCYWNrZ3JvdW5kQ29sb3IpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgIChMYXllclRyZWVDb29yZGlu
YXRvclByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TGF5ZXJUcmVlUmVuZGVyZXI6OkxheWVyVHJlZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktp
dDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KToKKyAgICAgICAg
KFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9HcmFwaGljc0NvbnRleHQpOgorICAg
ICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6c2V0QmFja2dyb3VuZENvbG9yKToKKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlUmVuZGVyZXIuaDoKKyAgICAgICAgKExheWVyVHJlZVJlbmRlcmVyKToKKyAgICAg
ICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnNldERyYXdzQmFja2dyb3VuZCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29v
cmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb29yZGluYXRvcjo6c2V0
QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaDoKKyAg
ICAgICAgKExheWVyVHJlZUNvb3JkaW5hdG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpzZXRC
YWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6Om1haW5GcmFtZURpZExheW91dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYlBhZ2UpOgorCiAyMDEyLTExLTEyICBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZM
XSBBZGQgaW1wbGVtZW50YXRpb25zIG9mIGRldmljZSAtIHVzZXIgY29udmVyc2lvbiBtZXRob2Rz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1w
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAK
aW5kZXggNjg0M2RjZS4uMWQ4NzBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcApAQCAtMTI5LDYgKzEyOSw3IEBAIEV3a1ZpZXdJbXBs
OjpFd2tWaWV3SW1wbChFdmFzX09iamVjdCogdmlldywgUGFzc1JlZlB0cjxFd2tDb250ZXh0PiBj
b250ZXh0LCBQYXNzCiAgICAgLCBtX2Rpc3BsYXlUaW1lcih0aGlzLCAmRXdrVmlld0ltcGw6OmRp
c3BsYXlUaW1lckZpcmVkKQogICAgICwgbV9pbnB1dE1ldGhvZENvbnRleHQoSW5wdXRNZXRob2RD
b250ZXh0RWZsOjpjcmVhdGUodGhpcywgc21hcnREYXRhKCktPmJhc2UuZXZhcykpCiAgICAgLCBt
X2lzSGFyZHdhcmVBY2NlbGVyYXRlZCh0cnVlKQorICAgICwgbV9zZXREcmF3c0JhY2tncm91bmQo
ZmFsc2UpCiB7CiAgICAgQVNTRVJUKG1fdmlldyk7CiAgICAgQVNTRVJUKG1fY29udGV4dCk7CkBA
IC0zMzUsNiArMzM2LDcgQEAgdm9pZCBFd2tWaWV3SW1wbDo6ZGlzcGxheVRpbWVyRmlyZWQoVGlt
ZXI8RXdrVmlld0ltcGw+KikKIAogICAgIExheWVyVHJlZVJlbmRlcmVyKiByZW5kZXJlciA9IHBh
Z2UoKS0+ZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSgpLT5sYXllclRy
ZWVSZW5kZXJlcigpOwogICAgIHJlbmRlcmVyLT5zZXRBY3RpdmUodHJ1ZSk7CisgICAgcmVuZGVy
ZXItPnNldERyYXdzQmFja2dyb3VuZChtX3NldERyYXdzQmFja2dyb3VuZCk7CiAgICAgcmVuZGVy
ZXItPnN5bmNSZW1vdGVDb250ZW50KCk7CiAgICAgaWYgKG1faXNIYXJkd2FyZUFjY2VsZXJhdGVk
KSB7CiAgICAgICAgIHJlbmRlcmVyLT5wYWludFRvQ3VycmVudEdMQ29udGV4dCh0cmFuc2Zvcm1U
b1NjZW5lKCkudG9UcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCAvKiBvcGFjaXR5ICovIDEsIHZpZXdw
b3J0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1Zp
ZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5o
CmluZGV4IGMzOWY5YzguLmRjMjdjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXdrVmlld0ltcGwuaApAQCAtMjAwLDYgKzIwMCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGluZm9ybVVSTENoYW5nZSgpOwogCiAgICAgYm9vbCBpc0hhcmR3YXJlQWNjZWxlcmF0ZWQo
KSBjb25zdCB7IHJldHVybiBtX2lzSGFyZHdhcmVBY2NlbGVyYXRlZDsgfQorICAgIHZvaWQgc2V0
RHJhd3NCYWNrZ3JvdW5kKGJvb2wgZW5hYmxlKSB7IG1fc2V0RHJhd3NCYWNrZ3JvdW5kID0gZW5h
YmxlOyB9CiAKIHByaXZhdGU6CiAgICAgaW5saW5lIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0
RGF0YSgpIGNvbnN0OwpAQCAtMjU4LDYgKzI1OSw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdl
YktpdDo6SW5wdXRNZXRob2RDb250ZXh0RWZsPiBtX2lucHV0TWV0aG9kQ29udGV4dDsKICAgICBP
d25QdHI8RXdrX0NvbG9yX1BpY2tlcj4gbV9jb2xvclBpY2tlcjsKICAgICBib29sIG1faXNIYXJk
d2FyZUFjY2VsZXJhdGVkOworICAgIGJvb2wgbV9zZXREcmF3c0JhY2tncm91bmQ7CiB9OwogCiAj
ZW5kaWYgLy8gRXdrVmlld0ltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3ZpZXcuY3BwCmluZGV4IDkwNTZlMWMuLjU1ODcyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKQEAgLTkyMSwzICs5MjEsMTAgQEAg
RWluYV9Cb29sIGV3a192aWV3X2Z1bGxzY3JlZW5fZXhpdChFdmFzX09iamVjdCogZXdrVmlldykK
ICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIH0KKwordm9pZCBld2tfdmlld19kcmF3c19wYWdl
X2JyYWNrZ3JvdW5kX3NldChFdmFzX09iamVjdCAqZXdrVmlldywgRWluYV9Cb29sIGVuYWJsZWQp
Cit7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwpOworCisg
ICAgaW1wbC0+c2V0RHJhd3NCYWNrZ3JvdW5kKGVuYWJsZWQpOworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggODViOTc2Mi4uOWUwMzliZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC04MTAsNiAr
ODEwLDIwIEBAIEVBUEkgRXdrX1BhZ2luYXRpb25fTW9kZSBld2tfdmlld19wYWdpbmF0aW9uX21v
ZGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqLwogRUFQSSBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfZnVsbHNjcmVlbl9leGl0KEV2YXNfT2JqZWN0ICpvKTsKIAorLyoqCisgKiBTZXRzIHdoZXRo
ZXIgdGhlIGV3a192aWV3IGJhY2tncm91bmQgbWF0Y2hlcyBwYWdlIGJhY2tncm91bmQgY29sb3Iu
CisgKgorICogSWYgZW5hYmxlZCBzZXRzIHZpZXcgYmFja2dyb3VuZCBjb2xvciBjbG9zZSB0byBw
YWdlIGNvbG9yIG9uIHBhZ2UgbG9hZC4KKyAqIFRoaXMgaGVscHMgdG8gcmVkdWNlIGZsaWNrZXIg
b24gcGFnZSBzY3JvbGxpbmcgYW5kIHJlcGFpbnRpbmcgaW4gcGxhY2VzCisgKiB3aGVyZSBwYWdl
IGNvbnRlbnQgaXMgbm90IHJlYWR5IGZvciBwYWludGluZy4KKyAqCisgKiBAcGFyYW0gbyB2aWV3
IG9iamVjdCB0byBlbmFibGUvZGlzYWJsZSBiYWNrZ3JvdW5kIG1hdGNoaW5nCisgKiBAcGFyYW0g
ZW5hYmxlZCBhIHN0YXRlIHRvIHNldAorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1
Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlCisgKi8KK0VBUEkgdm9pZCBld2tfdmll
d19kcmF3c19wYWdlX2JyYWNrZ3JvdW5kX3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sIGVu
YWJsZWQpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRp
bmF0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcAppbmRleCAxN2ZhMmVhLi5jZDZmYTgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcApA
QCAtMjA1LDUgKzIwNSwxMCBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OnB1cmdl
QmFja2luZ1N0b3JlcygpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3Mo
KS0+c2VuZChNZXNzYWdlczo6TGF5ZXJUcmVlQ29vcmRpbmF0b3I6OlB1cmdlQmFja2luZ1N0b3Jl
cygpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOwogfQogCit2b2lkIExh
eWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3Jl
OjpDb2xvciYgY29sb3IpCit7CisgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVu
ZGVyZXI6OnNldEJhY2tncm91bmRDb2xvciwgbV9yZW5kZXJlci5nZXQoKSwgY29sb3IpKTsKK30K
KwogfQogI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3Jk
aW5hdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaAppbmRleCBkMzQ4Njg3Li43NGIwZGNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oCkBAIC04NCw2
ICs4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpOwogICAg
IHZvaWQgYW5pbWF0aW9uRnJhbWVSZWFkeSgpOwogI2VuZGlmCisgICAgdm9pZCBzZXRCYWNrZ3Jv
dW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKIAogcHJvdGVjdGVkOgogICAgIHZvaWQg
ZGlzcGF0Y2hVcGRhdGUoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRp
bmF0b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
ZTVlNjRhOS4uNmZkYzU4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCkBAIC00NSw1ICs0NSw3IEBAIG1lc3NhZ2Vz
IC0+IExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkgewogI2lmIFVTRShHUkFQSElDU19TVVJGQUNF
KQogICAgIFN5bmNDYW52YXModWludDMyX3QgaWQsIFdlYkNvcmU6OkludFNpemUgY2FudmFzU2l6
ZSwgV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlVG9rZW4gdG9rZW4sIHVpbnQzMl90IGZyb250QnVm
ZmVyKQogI2VuZGlmCisKKyAgICBTZXRCYWNrZ3JvdW5kQ29sb3IoV2ViQ29yZTo6Q29sb3IgY29s
b3IpCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAppbmRleCAy
NWEyNzBlLi41ZWVhYjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCkBA
IC05Myw2ICs5Myw4IEBAIExheWVyVHJlZVJlbmRlcmVyOjpMYXllclRyZWVSZW5kZXJlcihMYXll
clRyZWVDb29yZGluYXRvclByb3h5KiBsYXllclRyZWVDb29yZGluCiAgICAgLCBtX2FuaW1hdGlv
bkZyYW1lUmVxdWVzdGVkKGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX2FjY2VsZXJhdGlvbk1vZGUo
VGV4dHVyZU1hcHBlcjo6T3BlbkdMTW9kZSkKKyAgICAsIG1fYmFja2dyb3VuZENvbG9yKENvbG9y
Ojp3aGl0ZSkKKyAgICAsIG1fc2V0RHJhd3NCYWNrZ3JvdW5kKGZhbHNlKQogewogfQogCkBAIC0x
MzAsNiArMTMyLDEzIEBAIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9DdXJyZW50R0xD
b250ZXh0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyCiAgICAgbV90ZXh0dXJlTWFw
cGVyLT5iZWdpblBhaW50aW5nKFBhaW50RmxhZ3MpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVn
aW5DbGlwKFRyYW5zZm9ybWF0aW9uTWF0cml4KCksIGNsaXBSZWN0KTsKIAorICAgIGlmIChtX3Nl
dERyYXdzQmFja2dyb3VuZCkgeworICAgICAgICBSR0JBMzIgcmdiYSA9IG1ha2VSR0JBMzJGcm9t
RmxvYXRzKG1fYmFja2dyb3VuZENvbG9yLnJlZCgpLAorICAgICAgICAgICAgbV9iYWNrZ3JvdW5k
Q29sb3IuZ3JlZW4oKSwgbV9iYWNrZ3JvdW5kQ29sb3IuYmx1ZSgpLAorICAgICAgICAgICAgbV9i
YWNrZ3JvdW5kQ29sb3IuYWxwaGEoKSAqIG9wYWNpdHkpOworICAgICAgICBtX3RleHR1cmVNYXBw
ZXItPmRyYXdTb2xpZENvbG9yKGNsaXBSZWN0LCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBDb2xv
cihyZ2JhKSk7CisgICAgfQorCiAgICAgaWYgKGN1cnJlbnRSb290TGF5ZXItPm9wYWNpdHkoKSAh
PSBvcGFjaXR5IHx8IGN1cnJlbnRSb290TGF5ZXItPnRyYW5zZm9ybSgpICE9IG1hdHJpeCkgewog
ICAgICAgICBjdXJyZW50Um9vdExheWVyLT5zZXRPcGFjaXR5KG9wYWNpdHkpOwogICAgICAgICBj
dXJyZW50Um9vdExheWVyLT5zZXRUcmFuc2Zvcm0obWF0cml4KTsKQEAgLTE3OCw2ICsxODcsMTAg
QEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6cGFpbnRUb0dyYXBoaWNzQ29udGV4dChCYWNraW5n
U3RvcmU6OlBsYXRmb3JtR3JhcGhpY3NDb24KICAgICBHcmFwaGljc0NvbnRleHQgZ3JhcGhpY3ND
b250ZXh0KHBhaW50ZXIpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+c2V0R3JhcGhpY3NDb250ZXh0
KCZncmFwaGljc0NvbnRleHQpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5QYWludGluZygp
OworCisgICAgaWYgKG1fc2V0RHJhd3NCYWNrZ3JvdW5kKQorICAgICAgICBtX3RleHR1cmVNYXBw
ZXItPmRyYXdTb2xpZENvbG9yKGdyYXBoaWNzQ29udGV4dC5jbGlwQm91bmRzKCksIFRyYW5zZm9y
bWF0aW9uTWF0cml4KCksIG1fYmFja2dyb3VuZENvbG9yKTsKKwogICAgIGxheWVyLT5wYWludCgp
OwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKICAgICBtX3RleHR1cmVNYXBw
ZXItPnNldEdyYXBoaWNzQ29udGV4dCgwKTsKQEAgLTU2Myw2ICs1NzYsMTEgQEAgdm9pZCBMYXll
clRyZWVSZW5kZXJlcjo6c2V0QWN0aXZlKGJvb2wgYWN0aXZlKQogICAgICAgICByZW5kZXJOZXh0
RnJhbWUoKTsKIH0KIAordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0QmFja2dyb3VuZENvbG9y
KGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xvcikKK3sKKyAgICBtX2JhY2tncm91bmRDb2xvciA9
IGNvbG9yOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCmluZGV4IDYw
NDM1YzkuLjUzYjY5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaApAQCAtOTMs
NiArOTMsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXN0cm95SW1hZ2UoaW50NjRfdCk7CiAgICAg
dm9pZCBzZXRMYXllckFuaW1hdGlvbnMoV2ViTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6R3JhcGhp
Y3NMYXllckFuaW1hdGlvbnMmKTsKICAgICB2b2lkIHNldEFuaW1hdGlvbnNMb2NrZWQoYm9vbCk7
CisgICAgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKKyAg
ICB2b2lkIHNldERyYXdzQmFja2dyb3VuZChib29sIGVuYWJsZSkgeyBtX3NldERyYXdzQmFja2dy
b3VuZCA9IGVuYWJsZTsgfQogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQog
ICAgIHZvaWQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCk7CkBAIC0xNjAsNiArMTYyLDggQEAgcHJp
dmF0ZToKICAgICBib29sIG1fYW5pbWF0aW9uRnJhbWVSZXF1ZXN0ZWQ7CiAjZW5kaWYKICAgICBX
ZWJDb3JlOjpUZXh0dXJlTWFwcGVyOjpBY2NlbGVyYXRpb25Nb2RlIG1fYWNjZWxlcmF0aW9uTW9k
ZTsKKyAgICBXZWJDb3JlOjpDb2xvciBtX2JhY2tncm91bmRDb2xvcjsKKyAgICBib29sIG1fc2V0
RHJhd3NCYWNrZ3JvdW5kOwogfTsKIAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9y
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAppbmRleCA0MzNiY2U5Li5lM2E5ZmM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3Bw
CkBAIC03NjMsNSArNzYzLDEwIEBAIHZvaWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnJlbGVhc2VJ
bmFjdGl2ZUF0bGFzZXNUaW1lckZpcmVkKFRpbWVyPExheWVyVHJlZUNvb3JkCiAgICAgICAgIG1f
cmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVyLnN0b3AoKTsKIH0KIAordm9pZCBMYXllclRyZWVD
b29yZGluYXRvcjo6c2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xv
cikKK3sKKyAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUNvb3JkaW5hdG9y
UHJveHk6OlNldEJhY2tncm91bmRDb2xvcihjb2xvcikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVDb29yZGluYXRvci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaAppbmRleCBmNmIzOGMxLi44
YTI5ZGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3Jk
aW5hdG9yLmgKQEAgLTEwMyw2ICsxMDMsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFJFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpIE9W
RVJSSURFOwogI2VuZGlmCisgICAgdmlydHVhbCB2b2lkIHNldEJhY2tncm91bmRDb2xvcihjb25z
dCBXZWJDb3JlOjpDb2xvciYpIE9WRVJSSURFOwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQg
TGF5ZXJUcmVlQ29vcmRpbmF0b3IoV2ViUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggN2ExY2E2Yy4uYTI5OTgzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhv
c3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9z
dC5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIExheWVyVHJlZUhvc3RfaAogCiAjaW5jbHVk
ZSAiTGF5ZXJUcmVlQ29udGV4dC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAg
LTg4LDYgKzg5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmco
KSB7IH0KIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckZhY3RvcnkqIGdyYXBo
aWNzTGF5ZXJGYWN0b3J5KCkgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNr
Z3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKSB7IH0KIAogI2lmIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgZmxvYXQgLyogc2NhbGUgKi8sIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UG9pbnQmKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAppbmRleCA5ZTY2NTc2Li44ZTdkZmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNzYsNiArMjc2LDcgQEAgV2ViUGFn
ZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnMmIHBhcmFtZXRlcnMpCiAgICAgLCBtX3Zpc2liaWxpdHlTdGF0ZShXZWJDb3JlOjpQYWdlVmlz
aWJpbGl0eVN0YXRlVmlzaWJsZSkKICNlbmRpZgogICAgICwgbV9pbnNwZWN0b3JDbGllbnQoMCkK
KyAgICAsIG1fYmFja2dyb3VuZENvbG9yKENvbG9yOjp3aGl0ZSkKIHsKICAgICBBU1NFUlQobV9w
YWdlSUQpOwogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgbm9uLWlkZWFsIGxvY2F0aW9uIGZvciB0
aGlzIFNldHRpbmcgYW5kCkBAIC0yNzYzLDYgKzI3NjQsMTggQEAgdm9pZCBXZWJQYWdlOjptYWlu
RnJhbWVEaWRMYXlvdXQoKQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRp
ZENoYW5nZVBhZ2VDb3VudChwYWdlQ291bnQpKTsKICAgICAgICAgbV9jYWNoZWRQYWdlQ291bnQg
PSBwYWdlQ291bnQ7CiAgICAgfQorCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpICYmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICBpZiAobV9kcmF3aW5nQXJlYSAmJiBtX2Ry
YXdpbmdBcmVhLT5sYXllclRyZWVIb3N0KCkpIHsKKyAgICAgICAgZG91YmxlIHJlZCwgZ3JlZW4s
IGJsdWUsIGFscGhhOworICAgICAgICBtX21haW5GcmFtZS0+Z2V0RG9jdW1lbnRCYWNrZ3JvdW5k
Q29sb3IoJnJlZCwgJmdyZWVuLCAmYmx1ZSwgJmFscGhhKTsKKyAgICAgICAgUkdCQTMyIHJnYmEg
PSBtYWtlUkdCQTMyRnJvbUZsb2F0cyhyZWQsIGdyZWVuLCBibHVlLCBhbHBoYSk7CisgICAgICAg
IGlmIChtX2JhY2tncm91bmRDb2xvci5yZ2IoKSAhPSByZ2JhKSB7CisgICAgICAgICAgICBtX2Jh
Y2tncm91bmRDb2xvci5zZXRSR0IocmdiYSk7CisgICAgICAgICAgICBtX2RyYXdpbmdBcmVhLT5s
YXllclRyZWVIb3N0KCktPnNldEJhY2tncm91bmRDb2xvcihtX2JhY2tncm91bmRDb2xvcik7Cisg
ICAgICAgIH0KKyAgICB9CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3
KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAppbmRleCA2MDZhZGE4Li4xOWFmMzljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTk0NSw2ICs5NDUsNyBAQCBwcml2YXRl
OgogICAgIFdlYkluc3BlY3RvckNsaWVudCogbV9pbnNwZWN0b3JDbGllbnQ7CiAKICAgICBIYXNo
U2V0PFN0cmluZywgQ2FzZUZvbGRpbmdIYXNoPiBtX21pbWVUeXBlc1dpdGhDdXN0b21SZXByZXNl
bnRhdGlvbnM7CisgICAgV2ViQ29yZTo6Q29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>
<flag name="review"
          id="188980"
          type_id="1"
          status="-"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="188981"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174162</attachid>
            <date>2012-11-14 08:17:19 -0800</date>
            <delta_ts>2012-11-14 14:30:07 -0800</delta_ts>
            <desc>Add context transformation for image buffer texture mapper.</desc>
            <filename>drawsolidcolor_02.diff</filename>
            <type>text/plain</type>
            <size>6879</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZTRjN2NlLi44ZTk3OTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMTEtMTQgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGlu
ZyBiaWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGhlbHBlciBm
dW5jdGlvbnMgdG8gY2xlYXIgdmlld3BvcnQgYmVmb3JlIHBhaW50aW5nLiBUaG9zZSBmdW5jdGlv
bnMKKyAgICAgICAgdXNlZCBieSBFRkwgV2Via2l0MiBwb3J0IHRvIHNldCB2aWV3IGJhY2tncm91
bmQgdG8gbWF0Y2ggcGFnZSBiYWNrZ3JvdW5kCisgICAgICAgIGluIG9yZGVyIHRvIHJlZHVjZSB2
aXNpYmlsaXR5IG9mIGZsaWNrZXIgZHVyaW5nIHNjcm9sbGluZy9zY2FsaW5nL3JlcGFpbnRpbmcK
KyAgICAgICAgd2hlcmUgcGFnZSB0aWxlcyBhcmUgbm90IHJlYWR5LgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJHTDo6ZHJhd1NvbGlkQ29sb3IpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3U29s
aWRDb2xvcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmg6CisKIDIwMTItMTEtMTIgIFplbm8g
QWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgR3JhcGhpY3NTdXJmYWNlR0xY
IGRvZXMgbm90IGhhbmRsZSB0cmFuc3BhcmVuY3kgY29ycmVjdGx5LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKaW5k
ZXggMjY5M2Q5YS4uZGViOTRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCkBAIC0xMzAsNiArMTMwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQg
Ym9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1JlcGFpbnRDb3VudGVyKGludCB2YWx1ZSwgaW50IHBv
aW50U2l6ZSwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBt
b2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3Qm
IHRhcmdldCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRy
YW5zZm9ybWF0aW9uTWF0cml4KCksIGZsb2F0IG9wYWNpdHkgPSAxLjBmLCBjb25zdCBCaXRtYXBU
ZXh0dXJlKiBtYXNrVGV4dHVyZSA9IDAsIHVuc2lnbmVkIGV4cG9zZWRFZGdlcyA9IEFsbEVkZ2Vz
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRyYXdTb2xpZENvbG9yKGNvbnN0IEZsb2F0UmVjdCYs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgQ29sb3ImKSA9IDA7CiAKICAgICAv
LyBtYWtlcyBhIHN1cmZhY2UgdGhlIHRhcmdldCBmb3IgdGhlIGZvbGxvd2luZyBkcmF3VGV4dHVy
ZSBjYWxscy4KICAgICB2aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3Vy
ZmFjZSkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAppbmRleCA1ZTZkMjA3Li5kZGY4MzU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckdMLmNwcApAQCAtNDE5LDYgKzQxOSwxOCBAQCB2b2lkIFRleHR1cmVN
YXBwZXJHTDo6ZHJhd1RleHR1cmUodWludDMyX3QgdGV4dHVyZSwgRmxhZ3MgZmxhZ3MsIGNvbnN0
IEludFNpemUmCiAgICAgZHJhd1RleHR1cmVkUXVhZFdpdGhQcm9ncmFtKHByb2dyYW0uZ2V0KCks
IHRleHR1cmUsIGZsYWdzLCB0YXJnZXRSZWN0LCBtb2RlbFZpZXdNYXRyaXgsIG9wYWNpdHksIG1h
c2tUZXh0dXJlKTsKIH0KIAordm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdTb2xpZENvbG9yKGNv
bnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwg
Y29uc3QgQ29sb3ImIGNvbG9yKQoreworICAgIFJlZlB0cjxUZXh0dXJlTWFwcGVyU2hhZGVyUHJv
Z3JhbT4gcHJvZ3JhbSA9IGRhdGEoKS5zaGFyZWRHTERhdGEoKS50ZXh0dXJlTWFwcGVyU2hhZGVy
TWFuYWdlci5nZXRTaGFkZXJQcm9ncmFtKFRleHR1cmVNYXBwZXJTaGFkZXJNYW5hZ2VyOjpTb2xp
ZENvbG9yKTsKKyAgICBtX2NvbnRleHQzRC0+dXNlUHJvZ3JhbShwcm9ncmFtLT5wcm9ncmFtSUQo
KSk7CisKKyAgICBmbG9hdCByLCBnLCBiLCBhOworICAgIGNvbG9yLmdldFJHQkEociwgZywgYiwg
YSk7CisgICAgbV9jb250ZXh0M0QtPnVuaWZvcm00Zihwcm9ncmFtLT5jb2xvckxvY2F0aW9uKCks
IHIsIGcsIGIsIGEpOworCisgICAgZHJhd1F1YWQocmVjdCwgbWF0cml4LCBwcm9ncmFtLmdldCgp
LCBHcmFwaGljc0NvbnRleHQzRDo6VFJJQU5HTEVfRkFOLCBmYWxzZSk7Cit9CisKIHN0YXRpYyBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCB2aWV3cG9ydE1hdHJpeChHcmFwaGljc0NvbnRleHQzRCogY29u
dGV4dDNEKQogewogICAgIEdDM0RpbnQgdmlld3BvcnRbNF07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgKaW5k
ZXggOTQ1ZGI2Yi4uY2M1MDU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaApAQCAtNTIsNiArNTIsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgdmFsdWUs
IGludCBwb2ludFNpemUsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYgbW9kZWxWaWV3TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25z
dCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHks
IGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3VGV4dHVyZSh1aW50MzJfdCB0ZXh0dXJl
LCBGbGFncywgY29uc3QgSW50U2l6ZSYgdGV4dHVyZVNpemUsIGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCwgZmxv
YXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVyZSogbWFza1RleHR1cmUsIHVuc2lnbmVkIGV4
cG9zZWRFZGdlcyA9IEFsbEVkZ2VzKTsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd1NvbGlkQ29sb3Io
Y29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBDb2xv
ciYpIE9WRVJSSURFOwogCiAjaWYgIVVTRShURVhNQVBfT1BFTkdMX0VTXzIpCiAgICAgdmlydHVh
bCB2b2lkIGRyYXdUZXh0dXJlUmVjdGFuZ2xlQVJCKHVpbnQzMl90IHRleHR1cmUsIEZsYWdzLCBj
b25zdCBJbnRTaXplJiB0ZXh0dXJlU2l6ZSwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3TWF0cml4LCBmbG9hdCBvcGFjaXR5
LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBtYXNrVGV4dHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVySW1hZ2VCdWZmZXIuY3BwCmluZGV4IDg0MzQzMzIuLjQ4NTQwYzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCkBAIC0xMjUsNiArMTI1LDIzIEBAIHZvaWQgVGV4
dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiB0
ZXh0dXJlLCBjb25zdCBGCiAgICAgY29udGV4dC0+cmVzdG9yZSgpOwogfQogCit2b2lkIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd1NvbGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiByZWN0
LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4LCBjb25zdCBDb2xvciYgY29sb3Ip
Cit7CisgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0gY3VycmVudENvbnRleHQoKTsKKyAg
ICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbnRleHQtPnNhdmUoKTsK
KyNpZiBFTkFCTEUoM0RfUkVOREVSSU5HKQorICAgIGNvbnRleHQtPmNvbmNhdDNEVHJhbnNmb3Jt
KG1hdHJpeCk7CisjZWxzZQorICAgIGNvbnRleHQtPmNvbmNhdENUTShtYXRyaXgudG9BZmZpbmVU
cmFuc2Zvcm0oKSk7CisjZW5kaWYKKworICAgIGNvbnRleHQtPmZpbGxSZWN0KHJlY3QsIGNvbG9y
LCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBjb250ZXh0LT5yZXN0b3JlKCk7Cit9CisKICNp
ZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IEJpdG1hcFRl
eHR1cmVJbWFnZUJ1ZmZlcjo6YXBwbHlGaWx0ZXJzKFRleHR1cmVNYXBwZXIqLCBjb25zdCBCaXRt
YXBUZXh0dXJlJiBjb250ZW50VGV4dHVyZSwgY29uc3QgRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVy
cykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaAppbmRleCAyZTdlMjMyLi45
MWZmOWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oCkBAIC02MSw2ICs2
MSw3IEBAIHB1YmxpYzoKICAgICAgICAgVU5VU0VEX1BBUkFNKG1vZGVsVmlld01hdHJpeCk7CiAg
ICAgfTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmUoY29uc3QgQml0bWFwVGV4dHVyZSYs
IGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgm
LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBtYXNrVGV4dHVyZSwgdW5zaWdu
ZWQgZXhwb3NlZEVkZ2VzKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd1NvbGlkQ29s
b3IoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBD
b2xvciYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNsaXAoY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3VyZmFjZSkgT1ZFUlJJREUgeyBtX2N1
cnJlbnRTdXJmYWNlID0gc3VyZmFjZTt9CiAgICAgdmlydHVhbCB2b2lkIGVuZENsaXAoKSBPVkVS
UklERSB7IGdyYXBoaWNzQ29udGV4dCgpLT5yZXN0b3JlKCk7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174164</attachid>
            <date>2012-11-14 08:19:36 -0800</date>
            <delta_ts>2012-11-15 08:42:24 -0800</delta_ts>
            <desc>Typo fixed. Changelog fixed. Depends on patch 174162</desc>
            <filename>backgroundColor_06.diff</filename>
            <type>text/plain</type>
            <size>15282</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0M2NmYjg4Li42OTQ1MjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUg
QEAKKzIwMTItMTEtMTQgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGlu
ZyBiaWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1hdGNoaW5n
IG9mIHZpZXcgYmFja2dyb3VuZCBjb2xvciB0byB0aGUgcGFnZSBiYWNrZ3JvdW5kLiBUaGlzIGhl
bHBzIHRvIHJlZHVjZSAKKyAgICAgICAgdmlzaWJpbGl0eSBvZiBmbGlja2VyIGR1cmluZyBzY3Jv
bGxpbmcvc2NhbGluZy9yZXBhaW50aW5nIHdoZXJlIHBhZ2UgdGlsZXMgYXJlIG5vdAorICAgICAg
ICByZWFkeS4gVmlldyBiYWNrZ3JvdW5kIGNvbG9yIG1hdGNoaW5nIGlzIGRpc2FibGVkIGJ5IGRl
ZmF1bHQgYW5kIGNhbiBiZSBlbmFibGVkIAorICAgICAgICB3aXRoIG5ldyBBUEkgZnVuY3Rpb24g
ZXdrX3ZpZXdfZHJhd3NfcGFnZV9iYWNrZ3JvdW5kX3NldCAuCisgICAgICAgIFZpZXcgYmFja2dy
b3VuZCBjb2xvciBjYW4gaW50ZXJmZXJlIHdpdGggc2VtaS10cmFuc3BhcmVudCBwYWdlcyBhbmQg
c2hvdWxkIGJlCisgICAgICAgIGRpc2FibGVkIGJ5IGRlZmF1bHQuCisgICAgICAgIFVwc3RyZWFt
aW5nIGNoYW5nZXMgYnkgWW91bmd0YWVjayBTb25nKHlvdW5ndGFlY2suc29uZ0BzYW1zdW5nLmNv
bSkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHA6CisgICAg
ICAgIChFd2tWaWV3SW1wbDo6RXdrVmlld0ltcGwpOgorICAgICAgICAoRXdrVmlld0ltcGw6OmRp
c3BsYXlUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1w
bC5oOgorICAgICAgICAoRXdrVmlld0ltcGw6OnNldERyYXdzQmFja2dyb3VuZCk6CisgICAgICAg
IChFd2tWaWV3SW1wbCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3Bw
OgorICAgICAgICAoZXdrX3ZpZXdfZHJhd3NfcGFnZV9iYWNrZ3JvdW5kX3NldCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eTo6c2V0QmFja2dyb3VuZENvbG9yKToK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oOgorICAgICAgICAoTGF5ZXJUcmVlQ29vcmRp
bmF0b3JQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpMYXllclRyZWVSZW5kZXJlcik6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpwYWludFRvQ3VycmVudEdMQ29udGV4dCk6CisgICAgICAg
IChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpwYWludFRvR3JhcGhpY3NDb250ZXh0KToKKyAg
ICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnNldEJhY2tncm91bmRDb2xvcik6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZVJlbmRlcmVyLmg6CisgICAgICAgIChMYXllclRyZWVSZW5kZXJlcik6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpzZXREcmF3c0JhY2tncm91bmQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnNl
dEJhY2tncm91bmRDb2xvcik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmg6Cisg
ICAgICAgIChMYXllclRyZWVDb29yZGluYXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6c2V0
QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKwogMjAxMi0xMS0xMiAgS2VubmV0
aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VG
TF0gQWRkIGltcGxlbWVudGF0aW9ucyBvZiBkZXZpY2UgLSB1c2VyIGNvbnZlcnNpb24gbWV0aG9k
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0lt
cGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3Bw
CmluZGV4IDY4NDNkY2UuLjFkODcwZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAKQEAgLTEyOSw2ICsxMjksNyBAQCBFd2tWaWV3SW1w
bDo6RXdrVmlld0ltcGwoRXZhc19PYmplY3QqIHZpZXcsIFBhc3NSZWZQdHI8RXdrQ29udGV4dD4g
Y29udGV4dCwgUGFzcwogICAgICwgbV9kaXNwbGF5VGltZXIodGhpcywgJkV3a1ZpZXdJbXBsOjpk
aXNwbGF5VGltZXJGaXJlZCkKICAgICAsIG1faW5wdXRNZXRob2RDb250ZXh0KElucHV0TWV0aG9k
Q29udGV4dEVmbDo6Y3JlYXRlKHRoaXMsIHNtYXJ0RGF0YSgpLT5iYXNlLmV2YXMpKQogICAgICwg
bV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQodHJ1ZSkKKyAgICAsIG1fc2V0RHJhd3NCYWNrZ3JvdW5k
KGZhbHNlKQogewogICAgIEFTU0VSVChtX3ZpZXcpOwogICAgIEFTU0VSVChtX2NvbnRleHQpOwpA
QCAtMzM1LDYgKzMzNiw3IEBAIHZvaWQgRXdrVmlld0ltcGw6OmRpc3BsYXlUaW1lckZpcmVkKFRp
bWVyPEV3a1ZpZXdJbXBsPiopCiAKICAgICBMYXllclRyZWVSZW5kZXJlciogcmVuZGVyZXIgPSBw
YWdlKCktPmRyYXdpbmdBcmVhKCktPmxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkoKS0+bGF5ZXJU
cmVlUmVuZGVyZXIoKTsKICAgICByZW5kZXJlci0+c2V0QWN0aXZlKHRydWUpOworICAgIHJlbmRl
cmVyLT5zZXREcmF3c0JhY2tncm91bmQobV9zZXREcmF3c0JhY2tncm91bmQpOwogICAgIHJlbmRl
cmVyLT5zeW5jUmVtb3RlQ29udGVudCgpOwogICAgIGlmIChtX2lzSGFyZHdhcmVBY2NlbGVyYXRl
ZCkgewogICAgICAgICByZW5kZXJlci0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQodHJhbnNmb3Jt
VG9TY2VuZSgpLnRvVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgLyogb3BhY2l0eSAqLyAxLCB2aWV3
cG9ydCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwu
aAppbmRleCBjMzlmOWM4Li5kYzI3YzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmgKQEAgLTIwMCw2ICsyMDAsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBpbmZvcm1VUkxDaGFuZ2UoKTsKIAogICAgIGJvb2wgaXNIYXJkd2FyZUFjY2VsZXJhdGVk
KCkgY29uc3QgeyByZXR1cm4gbV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQ7IH0KKyAgICB2b2lkIHNl
dERyYXdzQmFja2dyb3VuZChib29sIGVuYWJsZSkgeyBtX3NldERyYXdzQmFja2dyb3VuZCA9IGVu
YWJsZTsgfQogCiBwcml2YXRlOgogICAgIGlubGluZSBFd2tfVmlld19TbWFydF9EYXRhKiBzbWFy
dERhdGEoKSBjb25zdDsKQEAgLTI1OCw2ICsyNTksNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxX
ZWJLaXQ6OklucHV0TWV0aG9kQ29udGV4dEVmbD4gbV9pbnB1dE1ldGhvZENvbnRleHQ7CiAgICAg
T3duUHRyPEV3a19Db2xvcl9QaWNrZXI+IG1fY29sb3JQaWNrZXI7CiAgICAgYm9vbCBtX2lzSGFy
ZHdhcmVBY2NlbGVyYXRlZDsKKyAgICBib29sIG1fc2V0RHJhd3NCYWNrZ3JvdW5kOwogfTsKIAog
I2VuZGlmIC8vIEV3a1ZpZXdJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3LmNwcAppbmRleCA5MDU2ZTFjLi5mN2VmNGY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC05MjEsMyArOTIxLDEwIEBA
IEVpbmFfQm9vbCBld2tfdmlld19mdWxsc2NyZWVuX2V4aXQoRXZhc19PYmplY3QqIGV3a1ZpZXcp
CiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9CisKK3ZvaWQgZXdrX3ZpZXdfZHJhd3NfcGFn
ZV9iYWNrZ3JvdW5kX3NldChFdmFzX09iamVjdCAqZXdrVmlldywgRWluYV9Cb29sIGVuYWJsZWQp
Cit7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwpOworCisg
ICAgaW1wbC0+c2V0RHJhd3NCYWNrZ3JvdW5kKGVuYWJsZWQpOworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggODViOTc2Mi4uZDZjODVjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC04MTAsNiAr
ODEwLDIyIEBAIEVBUEkgRXdrX1BhZ2luYXRpb25fTW9kZSBld2tfdmlld19wYWdpbmF0aW9uX21v
ZGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqLwogRUFQSSBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfZnVsbHNjcmVlbl9leGl0KEV2YXNfT2JqZWN0ICpvKTsKIAorLyoqCisgKiBTZXRzIHdoZXRo
ZXIgdGhlIGV3a192aWV3IGJhY2tncm91bmQgbWF0Y2hlcyBwYWdlIGJhY2tncm91bmQgY29sb3Iu
CisgKgorICogSWYgZW5hYmxlZCBzZXRzIHZpZXcgYmFja2dyb3VuZCBjb2xvciBjbG9zZSB0byBw
YWdlIGNvbG9yIG9uIHBhZ2UgbG9hZC4KKyAqIFRoaXMgaGVscHMgdG8gcmVkdWNlIGZsaWNrZXIg
b24gcGFnZSBzY3JvbGxpbmcgYW5kIHJlcGFpbnRpbmcgaW4gcGxhY2VzCisgKiB3aGVyZSBwYWdl
IGNvbnRlbnQgaXMgbm90IHJlYWR5IGZvciBwYWludGluZy4KKyAqIFZpZXcgYmFja2dyb3VuZCBj
b2xvciBjYW4gaW50ZXJmZXJlIHdpdGggc2VtaS10cmFuc3BhcmVudCBwYWdlcyBhbmQgaXMKKyAq
IGRpc2FibGVkIGJ5IGRlZmF1bHQuCisgKgorICogQHBhcmFtIG8gdmlldyBvYmplY3QgdG8gZW5h
YmxlL2Rpc2FibGUgYmFja2dyb3VuZCBtYXRjaGluZworICogQHBhcmFtIGVuYWJsZWQgYSBzdGF0
ZSB0byBzZXQKKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzIG9yIEBjIEVJ
TkFfRkFMU0Ugb24gZmFpbHVyZQorICovCitFQVBJIHZvaWQgZXdrX3ZpZXdfZHJhd3NfcGFnZV9i
YWNrZ3JvdW5kX3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sIGVuYWJsZWQpOworCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVD
b29yZGluYXRvclByb3h5LmNwcAppbmRleCAxN2ZhMmVhLi5jZDZmYTgyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29y
ZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcApAQCAtMjA1LDUgKzIwNSwx
MCBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OnB1cmdlQmFja2luZ1N0b3Jlcygp
CiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+c2VuZChNZXNzYWdl
czo6TGF5ZXJUcmVlQ29vcmRpbmF0b3I6OlB1cmdlQmFja2luZ1N0b3JlcygpLCBtX2RyYXdpbmdB
cmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOwogfQogCit2b2lkIExheWVyVHJlZUNvb3JkaW5h
dG9yUHJveHk6OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29sb3Ip
Cit7CisgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OnNldEJhY2tn
cm91bmRDb2xvciwgbV9yZW5kZXJlci5nZXQoKSwgY29sb3IpKTsKK30KKwogfQogI2VuZGlmIC8v
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHkuaAppbmRleCBkMzQ4Njg3Li43NGIwZGNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGlu
YXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oCkBAIC04NCw2ICs4NCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpOwogICAgIHZvaWQgYW5pbWF0aW9u
RnJhbWVSZWFkeSgpOwogI2VuZGlmCisgICAgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3Qg
V2ViQ29yZTo6Q29sb3ImKTsKIAogcHJvdGVjdGVkOgogICAgIHZvaWQgZGlzcGF0Y2hVcGRhdGUo
Y29uc3QgRnVuY3Rpb248dm9pZCgpPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZUNvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZTVlNjRhOS4uNmZkYzU4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC00NSw1ICs0NSw3IEBAIG1lc3NhZ2VzIC0+IExheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHkgewogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQogICAgIFN5bmNDYW52
YXModWludDMyX3QgaWQsIFdlYkNvcmU6OkludFNpemUgY2FudmFzU2l6ZSwgV2ViQ29yZTo6R3Jh
cGhpY3NTdXJmYWNlVG9rZW4gdG9rZW4sIHVpbnQzMl90IGZyb250QnVmZmVyKQogI2VuZGlmCisK
KyAgICBTZXRCYWNrZ3JvdW5kQ29sb3IoV2ViQ29yZTo6Q29sb3IgY29sb3IpCiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZVJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAppbmRleCAyNWEyNzBlLi41ZWVhYjQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCkBAIC05Myw2ICs5Myw4IEBA
IExheWVyVHJlZVJlbmRlcmVyOjpMYXllclRyZWVSZW5kZXJlcihMYXllclRyZWVDb29yZGluYXRv
clByb3h5KiBsYXllclRyZWVDb29yZGluCiAgICAgLCBtX2FuaW1hdGlvbkZyYW1lUmVxdWVzdGVk
KGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX2FjY2VsZXJhdGlvbk1vZGUoVGV4dHVyZU1hcHBlcjo6
T3BlbkdMTW9kZSkKKyAgICAsIG1fYmFja2dyb3VuZENvbG9yKENvbG9yOjp3aGl0ZSkKKyAgICAs
IG1fc2V0RHJhd3NCYWNrZ3JvdW5kKGZhbHNlKQogewogfQogCkBAIC0xMzAsNiArMTMyLDEzIEBA
IHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyCiAgICAgbV90ZXh0dXJlTWFwcGVyLT5iZWdpblBhaW50
aW5nKFBhaW50RmxhZ3MpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5DbGlwKFRyYW5zZm9y
bWF0aW9uTWF0cml4KCksIGNsaXBSZWN0KTsKIAorICAgIGlmIChtX3NldERyYXdzQmFja2dyb3Vu
ZCkgeworICAgICAgICBSR0JBMzIgcmdiYSA9IG1ha2VSR0JBMzJGcm9tRmxvYXRzKG1fYmFja2dy
b3VuZENvbG9yLnJlZCgpLAorICAgICAgICAgICAgbV9iYWNrZ3JvdW5kQ29sb3IuZ3JlZW4oKSwg
bV9iYWNrZ3JvdW5kQ29sb3IuYmx1ZSgpLAorICAgICAgICAgICAgbV9iYWNrZ3JvdW5kQ29sb3Iu
YWxwaGEoKSAqIG9wYWNpdHkpOworICAgICAgICBtX3RleHR1cmVNYXBwZXItPmRyYXdTb2xpZENv
bG9yKGNsaXBSZWN0LCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBDb2xvcihyZ2JhKSk7CisgICAg
fQorCiAgICAgaWYgKGN1cnJlbnRSb290TGF5ZXItPm9wYWNpdHkoKSAhPSBvcGFjaXR5IHx8IGN1
cnJlbnRSb290TGF5ZXItPnRyYW5zZm9ybSgpICE9IG1hdHJpeCkgewogICAgICAgICBjdXJyZW50
Um9vdExheWVyLT5zZXRPcGFjaXR5KG9wYWNpdHkpOwogICAgICAgICBjdXJyZW50Um9vdExheWVy
LT5zZXRUcmFuc2Zvcm0obWF0cml4KTsKQEAgLTE3OCw2ICsxODcsMTAgQEAgdm9pZCBMYXllclRy
ZWVSZW5kZXJlcjo6cGFpbnRUb0dyYXBoaWNzQ29udGV4dChCYWNraW5nU3RvcmU6OlBsYXRmb3Jt
R3JhcGhpY3NDb24KICAgICBHcmFwaGljc0NvbnRleHQgZ3JhcGhpY3NDb250ZXh0KHBhaW50ZXIp
OwogICAgIG1fdGV4dHVyZU1hcHBlci0+c2V0R3JhcGhpY3NDb250ZXh0KCZncmFwaGljc0NvbnRl
eHQpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5QYWludGluZygpOworCisgICAgaWYgKG1f
c2V0RHJhd3NCYWNrZ3JvdW5kKQorICAgICAgICBtX3RleHR1cmVNYXBwZXItPmRyYXdTb2xpZENv
bG9yKGdyYXBoaWNzQ29udGV4dC5jbGlwQm91bmRzKCksIFRyYW5zZm9ybWF0aW9uTWF0cml4KCks
IG1fYmFja2dyb3VuZENvbG9yKTsKKwogICAgIGxheWVyLT5wYWludCgpOwogICAgIG1fdGV4dHVy
ZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKICAgICBtX3RleHR1cmVNYXBwZXItPnNldEdyYXBoaWNz
Q29udGV4dCgwKTsKQEAgLTU2Myw2ICs1NzYsMTEgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6
c2V0QWN0aXZlKGJvb2wgYWN0aXZlKQogICAgICAgICByZW5kZXJOZXh0RnJhbWUoKTsKIH0KIAor
dm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6
OkNvbG9yJiBjb2xvcikKK3sKKyAgICBtX2JhY2tncm91bmRDb2xvciA9IGNvbG9yOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElD
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZVJlbmRlcmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCmluZGV4IDYwNDM1YzkuLjUzYjY5MjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZVJlbmRlcmVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaApAQCAtOTMsNiArOTMsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBkZXN0cm95SW1hZ2UoaW50NjRfdCk7CiAgICAgdm9pZCBzZXRMYXllckFu
aW1hdGlvbnMoV2ViTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlv
bnMmKTsKICAgICB2b2lkIHNldEFuaW1hdGlvbnNMb2NrZWQoYm9vbCk7CisgICAgdm9pZCBzZXRC
YWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKKyAgICB2b2lkIHNldERyYXdz
QmFja2dyb3VuZChib29sIGVuYWJsZSkgeyBtX3NldERyYXdzQmFja2dyb3VuZCA9IGVuYWJsZTsg
fQogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQogICAgIHZvaWQgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCk7CkBAIC0xNjAsNiArMTYyLDggQEAgcHJpdmF0ZToKICAgICBib29s
IG1fYW5pbWF0aW9uRnJhbWVSZXF1ZXN0ZWQ7CiAjZW5kaWYKICAgICBXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyOjpBY2NlbGVyYXRpb25Nb2RlIG1fYWNjZWxlcmF0aW9uTW9kZTsKKyAgICBXZWJDb3Jl
OjpDb2xvciBtX2JhY2tncm91bmRDb2xvcjsKKyAgICBib29sIG1fc2V0RHJhd3NCYWNrZ3JvdW5k
OwogfTsKIAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yLmNwcAppbmRleCA0MzNiY2U5Li5lM2E5ZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVD
b29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCkBAIC03NjMsNSArNzYz
LDEwIEBAIHZvaWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNU
aW1lckZpcmVkKFRpbWVyPExheWVyVHJlZUNvb3JkCiAgICAgICAgIG1fcmVsZWFzZUluYWN0aXZl
QXRsYXNlc1RpbWVyLnN0b3AoKTsKIH0KIAordm9pZCBMYXllclRyZWVDb29yZGluYXRvcjo6c2V0
QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xvcikKK3sKKyAgICBtX3dl
YlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OlNldEJhY2tn
cm91bmRDb2xvcihjb2xvcikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKICNlbmRpZiAv
LyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRv
ci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaAppbmRleCBmNmIzOGMxLi44YTI5ZGI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmgKQEAgLTEw
Myw2ICsxMDMsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpIE9WRVJSSURFOwogI2VuZGlm
CisgICAgdmlydHVhbCB2b2lkIHNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYpIE9WRVJSSURFOwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgTGF5ZXJUcmVlQ29vcmRp
bmF0b3IoV2ViUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9MYXllclRyZWVIb3N0LmgKaW5kZXggN2ExY2E2Yy4uYTI5OTgzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAjZGVmaW5lIExheWVyVHJlZUhvc3RfaAogCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29u
dGV4dC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTg4LDYgKzg5LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KIAogICAgIHZp
cnR1YWwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5ZXJGYWN0b3J5
KCkgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29u
c3QgV2ViQ29yZTo6Q29sb3ImKSB7IH0KIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiwgZmxvYXQgLyogc2NhbGUgKi8sIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKSB7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCA5ZTY2NTc2Li44ZTdkZmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC0yNzYsNiArMjc2LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50
NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
CiAgICAgLCBtX3Zpc2liaWxpdHlTdGF0ZShXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlVmlz
aWJsZSkKICNlbmRpZgogICAgICwgbV9pbnNwZWN0b3JDbGllbnQoMCkKKyAgICAsIG1fYmFja2dy
b3VuZENvbG9yKENvbG9yOjp3aGl0ZSkKIHsKICAgICBBU1NFUlQobV9wYWdlSUQpOwogICAgIC8v
IEZJWE1FOiBUaGlzIGlzIGEgbm9uLWlkZWFsIGxvY2F0aW9uIGZvciB0aGlzIFNldHRpbmcgYW5k
CkBAIC0yNzYzLDYgKzI3NjQsMTggQEAgdm9pZCBXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQo
KQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVBhZ2VDb3Vu
dChwYWdlQ291bnQpKTsKICAgICAgICAgbV9jYWNoZWRQYWdlQ291bnQgPSBwYWdlQ291bnQ7CiAg
ICAgfQorCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpICYmIFVTRShBQ0NFTEVSQVRFRF9D
T01QT1NJVElORykKKyAgICBpZiAobV9kcmF3aW5nQXJlYSAmJiBtX2RyYXdpbmdBcmVhLT5sYXll
clRyZWVIb3N0KCkpIHsKKyAgICAgICAgZG91YmxlIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhOwor
ICAgICAgICBtX21haW5GcmFtZS0+Z2V0RG9jdW1lbnRCYWNrZ3JvdW5kQ29sb3IoJnJlZCwgJmdy
ZWVuLCAmYmx1ZSwgJmFscGhhKTsKKyAgICAgICAgUkdCQTMyIHJnYmEgPSBtYWtlUkdCQTMyRnJv
bUZsb2F0cyhyZWQsIGdyZWVuLCBibHVlLCBhbHBoYSk7CisgICAgICAgIGlmIChtX2JhY2tncm91
bmRDb2xvci5yZ2IoKSAhPSByZ2JhKSB7CisgICAgICAgICAgICBtX2JhY2tncm91bmRDb2xvci5z
ZXRSR0IocmdiYSk7CisgICAgICAgICAgICBtX2RyYXdpbmdBcmVhLT5sYXllclRyZWVIb3N0KCkt
PnNldEJhY2tncm91bmRDb2xvcihtX2JhY2tncm91bmRDb2xvcik7CisgICAgICAgIH0KKyAgICB9
CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBs
dWdpblZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApp
bmRleCA2MDZhZGE4Li4xOWFmMzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTk0NSw2ICs5NDUsNyBAQCBwcml2YXRlOgogICAgIFdlYkluc3Bl
Y3RvckNsaWVudCogbV9pbnNwZWN0b3JDbGllbnQ7CiAKICAgICBIYXNoU2V0PFN0cmluZywgQ2Fz
ZUZvbGRpbmdIYXNoPiBtX21pbWVUeXBlc1dpdGhDdXN0b21SZXByZXNlbnRhdGlvbnM7CisgICAg
V2ViQ29yZTo6Q29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174456</attachid>
            <date>2012-11-15 08:42:24 -0800</date>
            <delta_ts>2012-11-16 08:20:30 -0800</delta_ts>
            <desc>Resubmit patch to restart EWS</desc>
            <filename>backgroundColor_06.diff</filename>
            <type>text/plain</type>
            <size>15282</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0M2NmYjg4Li42OTQ1MjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUg
QEAKKzIwMTItMTEtMTQgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPHYub3N0YXBlbmtvQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW1dLMl0gV2hpdGUgZmxpY2tlciB3aGVuIHNjcm9sbGlu
ZyBiaWcgcGFnZXMgd2l0aCBkYXJrIGJhY2tncm91bmQgb24gc2xvd2VyIGhhcmR3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1hdGNoaW5n
IG9mIHZpZXcgYmFja2dyb3VuZCBjb2xvciB0byB0aGUgcGFnZSBiYWNrZ3JvdW5kLiBUaGlzIGhl
bHBzIHRvIHJlZHVjZSAKKyAgICAgICAgdmlzaWJpbGl0eSBvZiBmbGlja2VyIGR1cmluZyBzY3Jv
bGxpbmcvc2NhbGluZy9yZXBhaW50aW5nIHdoZXJlIHBhZ2UgdGlsZXMgYXJlIG5vdAorICAgICAg
ICByZWFkeS4gVmlldyBiYWNrZ3JvdW5kIGNvbG9yIG1hdGNoaW5nIGlzIGRpc2FibGVkIGJ5IGRl
ZmF1bHQgYW5kIGNhbiBiZSBlbmFibGVkIAorICAgICAgICB3aXRoIG5ldyBBUEkgZnVuY3Rpb24g
ZXdrX3ZpZXdfZHJhd3NfcGFnZV9iYWNrZ3JvdW5kX3NldCAuCisgICAgICAgIFZpZXcgYmFja2dy
b3VuZCBjb2xvciBjYW4gaW50ZXJmZXJlIHdpdGggc2VtaS10cmFuc3BhcmVudCBwYWdlcyBhbmQg
c2hvdWxkIGJlCisgICAgICAgIGRpc2FibGVkIGJ5IGRlZmF1bHQuCisgICAgICAgIFVwc3RyZWFt
aW5nIGNoYW5nZXMgYnkgWW91bmd0YWVjayBTb25nKHlvdW5ndGFlY2suc29uZ0BzYW1zdW5nLmNv
bSkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHA6CisgICAg
ICAgIChFd2tWaWV3SW1wbDo6RXdrVmlld0ltcGwpOgorICAgICAgICAoRXdrVmlld0ltcGw6OmRp
c3BsYXlUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1w
bC5oOgorICAgICAgICAoRXdrVmlld0ltcGw6OnNldERyYXdzQmFja2dyb3VuZCk6CisgICAgICAg
IChFd2tWaWV3SW1wbCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3Bw
OgorICAgICAgICAoZXdrX3ZpZXdfZHJhd3NfcGFnZV9iYWNrZ3JvdW5kX3NldCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eTo6c2V0QmFja2dyb3VuZENvbG9yKToK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oOgorICAgICAgICAoTGF5ZXJUcmVlQ29vcmRp
bmF0b3JQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpMYXllclRyZWVSZW5kZXJlcik6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpwYWludFRvQ3VycmVudEdMQ29udGV4dCk6CisgICAgICAg
IChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpwYWludFRvR3JhcGhpY3NDb250ZXh0KToKKyAg
ICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OnNldEJhY2tncm91bmRDb2xvcik6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZVJlbmRlcmVyLmg6CisgICAgICAgIChMYXllclRyZWVSZW5kZXJlcik6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpzZXREcmF3c0JhY2tncm91bmQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnNl
dEJhY2tncm91bmRDb2xvcik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmg6Cisg
ICAgICAgIChMYXllclRyZWVDb29yZGluYXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6c2V0
QmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKwogMjAxMi0xMS0xMiAgS2VubmV0
aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VG
TF0gQWRkIGltcGxlbWVudGF0aW9ucyBvZiBkZXZpY2UgLSB1c2VyIGNvbnZlcnNpb24gbWV0aG9k
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0lt
cGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwuY3Bw
CmluZGV4IDY4NDNkY2UuLjFkODcwZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5jcHAKQEAgLTEyOSw2ICsxMjksNyBAQCBFd2tWaWV3SW1w
bDo6RXdrVmlld0ltcGwoRXZhc19PYmplY3QqIHZpZXcsIFBhc3NSZWZQdHI8RXdrQ29udGV4dD4g
Y29udGV4dCwgUGFzcwogICAgICwgbV9kaXNwbGF5VGltZXIodGhpcywgJkV3a1ZpZXdJbXBsOjpk
aXNwbGF5VGltZXJGaXJlZCkKICAgICAsIG1faW5wdXRNZXRob2RDb250ZXh0KElucHV0TWV0aG9k
Q29udGV4dEVmbDo6Y3JlYXRlKHRoaXMsIHNtYXJ0RGF0YSgpLT5iYXNlLmV2YXMpKQogICAgICwg
bV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQodHJ1ZSkKKyAgICAsIG1fc2V0RHJhd3NCYWNrZ3JvdW5k
KGZhbHNlKQogewogICAgIEFTU0VSVChtX3ZpZXcpOwogICAgIEFTU0VSVChtX2NvbnRleHQpOwpA
QCAtMzM1LDYgKzMzNiw3IEBAIHZvaWQgRXdrVmlld0ltcGw6OmRpc3BsYXlUaW1lckZpcmVkKFRp
bWVyPEV3a1ZpZXdJbXBsPiopCiAKICAgICBMYXllclRyZWVSZW5kZXJlciogcmVuZGVyZXIgPSBw
YWdlKCktPmRyYXdpbmdBcmVhKCktPmxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkoKS0+bGF5ZXJU
cmVlUmVuZGVyZXIoKTsKICAgICByZW5kZXJlci0+c2V0QWN0aXZlKHRydWUpOworICAgIHJlbmRl
cmVyLT5zZXREcmF3c0JhY2tncm91bmQobV9zZXREcmF3c0JhY2tncm91bmQpOwogICAgIHJlbmRl
cmVyLT5zeW5jUmVtb3RlQ29udGVudCgpOwogICAgIGlmIChtX2lzSGFyZHdhcmVBY2NlbGVyYXRl
ZCkgewogICAgICAgICByZW5kZXJlci0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQodHJhbnNmb3Jt
VG9TY2VuZSgpLnRvVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgLyogb3BhY2l0eSAqLyAxLCB2aWV3
cG9ydCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0ltcGwu
aAppbmRleCBjMzlmOWM4Li5kYzI3YzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXdJbXBsLmgKQEAgLTIwMCw2ICsyMDAsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBpbmZvcm1VUkxDaGFuZ2UoKTsKIAogICAgIGJvb2wgaXNIYXJkd2FyZUFjY2VsZXJhdGVk
KCkgY29uc3QgeyByZXR1cm4gbV9pc0hhcmR3YXJlQWNjZWxlcmF0ZWQ7IH0KKyAgICB2b2lkIHNl
dERyYXdzQmFja2dyb3VuZChib29sIGVuYWJsZSkgeyBtX3NldERyYXdzQmFja2dyb3VuZCA9IGVu
YWJsZTsgfQogCiBwcml2YXRlOgogICAgIGlubGluZSBFd2tfVmlld19TbWFydF9EYXRhKiBzbWFy
dERhdGEoKSBjb25zdDsKQEAgLTI1OCw2ICsyNTksNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxX
ZWJLaXQ6OklucHV0TWV0aG9kQ29udGV4dEVmbD4gbV9pbnB1dE1ldGhvZENvbnRleHQ7CiAgICAg
T3duUHRyPEV3a19Db2xvcl9QaWNrZXI+IG1fY29sb3JQaWNrZXI7CiAgICAgYm9vbCBtX2lzSGFy
ZHdhcmVBY2NlbGVyYXRlZDsKKyAgICBib29sIG1fc2V0RHJhd3NCYWNrZ3JvdW5kOwogfTsKIAog
I2VuZGlmIC8vIEV3a1ZpZXdJbXBsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3LmNwcAppbmRleCA5MDU2ZTFjLi5mN2VmNGY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC05MjEsMyArOTIxLDEwIEBA
IEVpbmFfQm9vbCBld2tfdmlld19mdWxsc2NyZWVuX2V4aXQoRXZhc19PYmplY3QqIGV3a1ZpZXcp
CiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9CisKK3ZvaWQgZXdrX3ZpZXdfZHJhd3NfcGFn
ZV9iYWNrZ3JvdW5kX3NldChFdmFzX09iamVjdCAqZXdrVmlldywgRWluYV9Cb29sIGVuYWJsZWQp
Cit7CisgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwpOworCisg
ICAgaW1wbC0+c2V0RHJhd3NCYWNrZ3JvdW5kKGVuYWJsZWQpOworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggODViOTc2Mi4uZDZjODVjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC04MTAsNiAr
ODEwLDIyIEBAIEVBUEkgRXdrX1BhZ2luYXRpb25fTW9kZSBld2tfdmlld19wYWdpbmF0aW9uX21v
ZGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqLwogRUFQSSBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfZnVsbHNjcmVlbl9leGl0KEV2YXNfT2JqZWN0ICpvKTsKIAorLyoqCisgKiBTZXRzIHdoZXRo
ZXIgdGhlIGV3a192aWV3IGJhY2tncm91bmQgbWF0Y2hlcyBwYWdlIGJhY2tncm91bmQgY29sb3Iu
CisgKgorICogSWYgZW5hYmxlZCBzZXRzIHZpZXcgYmFja2dyb3VuZCBjb2xvciBjbG9zZSB0byBw
YWdlIGNvbG9yIG9uIHBhZ2UgbG9hZC4KKyAqIFRoaXMgaGVscHMgdG8gcmVkdWNlIGZsaWNrZXIg
b24gcGFnZSBzY3JvbGxpbmcgYW5kIHJlcGFpbnRpbmcgaW4gcGxhY2VzCisgKiB3aGVyZSBwYWdl
IGNvbnRlbnQgaXMgbm90IHJlYWR5IGZvciBwYWludGluZy4KKyAqIFZpZXcgYmFja2dyb3VuZCBj
b2xvciBjYW4gaW50ZXJmZXJlIHdpdGggc2VtaS10cmFuc3BhcmVudCBwYWdlcyBhbmQgaXMKKyAq
IGRpc2FibGVkIGJ5IGRlZmF1bHQuCisgKgorICogQHBhcmFtIG8gdmlldyBvYmplY3QgdG8gZW5h
YmxlL2Rpc2FibGUgYmFja2dyb3VuZCBtYXRjaGluZworICogQHBhcmFtIGVuYWJsZWQgYSBzdGF0
ZSB0byBzZXQKKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzIG9yIEBjIEVJ
TkFfRkFMU0Ugb24gZmFpbHVyZQorICovCitFQVBJIHZvaWQgZXdrX3ZpZXdfZHJhd3NfcGFnZV9i
YWNrZ3JvdW5kX3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sIGVuYWJsZWQpOworCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVD
b29yZGluYXRvclByb3h5LmNwcAppbmRleCAxN2ZhMmVhLi5jZDZmYTgyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29y
ZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcApAQCAtMjA1LDUgKzIwNSwx
MCBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OnB1cmdlQmFja2luZ1N0b3Jlcygp
CiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+c2VuZChNZXNzYWdl
czo6TGF5ZXJUcmVlQ29vcmRpbmF0b3I6OlB1cmdlQmFja2luZ1N0b3JlcygpLCBtX2RyYXdpbmdB
cmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOwogfQogCit2b2lkIExheWVyVHJlZUNvb3JkaW5h
dG9yUHJveHk6OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYgY29sb3Ip
Cit7CisgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OnNldEJhY2tn
cm91bmRDb2xvciwgbV9yZW5kZXJlci5nZXQoKSwgY29sb3IpKTsKK30KKwogfQogI2VuZGlmIC8v
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHkuaAppbmRleCBkMzQ4Njg3Li43NGIwZGNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGlu
YXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oCkBAIC04NCw2ICs4NCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpOwogICAgIHZvaWQgYW5pbWF0aW9u
RnJhbWVSZWFkeSgpOwogI2VuZGlmCisgICAgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3Qg
V2ViQ29yZTo6Q29sb3ImKTsKIAogcHJvdGVjdGVkOgogICAgIHZvaWQgZGlzcGF0Y2hVcGRhdGUo
Y29uc3QgRnVuY3Rpb248dm9pZCgpPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZUNvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZTVlNjRhOS4uNmZkYzU4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC00NSw1ICs0NSw3IEBAIG1lc3NhZ2VzIC0+IExheWVyVHJlZUNv
b3JkaW5hdG9yUHJveHkgewogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQogICAgIFN5bmNDYW52
YXModWludDMyX3QgaWQsIFdlYkNvcmU6OkludFNpemUgY2FudmFzU2l6ZSwgV2ViQ29yZTo6R3Jh
cGhpY3NTdXJmYWNlVG9rZW4gdG9rZW4sIHVpbnQzMl90IGZyb250QnVmZmVyKQogI2VuZGlmCisK
KyAgICBTZXRCYWNrZ3JvdW5kQ29sb3IoV2ViQ29yZTo6Q29sb3IgY29sb3IpCiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZVJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAppbmRleCAyNWEyNzBlLi41ZWVhYjQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCkBAIC05Myw2ICs5Myw4IEBA
IExheWVyVHJlZVJlbmRlcmVyOjpMYXllclRyZWVSZW5kZXJlcihMYXllclRyZWVDb29yZGluYXRv
clByb3h5KiBsYXllclRyZWVDb29yZGluCiAgICAgLCBtX2FuaW1hdGlvbkZyYW1lUmVxdWVzdGVk
KGZhbHNlKQogI2VuZGlmCiAgICAgLCBtX2FjY2VsZXJhdGlvbk1vZGUoVGV4dHVyZU1hcHBlcjo6
T3BlbkdMTW9kZSkKKyAgICAsIG1fYmFja2dyb3VuZENvbG9yKENvbG9yOjp3aGl0ZSkKKyAgICAs
IG1fc2V0RHJhd3NCYWNrZ3JvdW5kKGZhbHNlKQogewogfQogCkBAIC0xMzAsNiArMTMyLDEzIEBA
IHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyCiAgICAgbV90ZXh0dXJlTWFwcGVyLT5iZWdpblBhaW50
aW5nKFBhaW50RmxhZ3MpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5DbGlwKFRyYW5zZm9y
bWF0aW9uTWF0cml4KCksIGNsaXBSZWN0KTsKIAorICAgIGlmIChtX3NldERyYXdzQmFja2dyb3Vu
ZCkgeworICAgICAgICBSR0JBMzIgcmdiYSA9IG1ha2VSR0JBMzJGcm9tRmxvYXRzKG1fYmFja2dy
b3VuZENvbG9yLnJlZCgpLAorICAgICAgICAgICAgbV9iYWNrZ3JvdW5kQ29sb3IuZ3JlZW4oKSwg
bV9iYWNrZ3JvdW5kQ29sb3IuYmx1ZSgpLAorICAgICAgICAgICAgbV9iYWNrZ3JvdW5kQ29sb3Iu
YWxwaGEoKSAqIG9wYWNpdHkpOworICAgICAgICBtX3RleHR1cmVNYXBwZXItPmRyYXdTb2xpZENv
bG9yKGNsaXBSZWN0LCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBDb2xvcihyZ2JhKSk7CisgICAg
fQorCiAgICAgaWYgKGN1cnJlbnRSb290TGF5ZXItPm9wYWNpdHkoKSAhPSBvcGFjaXR5IHx8IGN1
cnJlbnRSb290TGF5ZXItPnRyYW5zZm9ybSgpICE9IG1hdHJpeCkgewogICAgICAgICBjdXJyZW50
Um9vdExheWVyLT5zZXRPcGFjaXR5KG9wYWNpdHkpOwogICAgICAgICBjdXJyZW50Um9vdExheWVy
LT5zZXRUcmFuc2Zvcm0obWF0cml4KTsKQEAgLTE3OCw2ICsxODcsMTAgQEAgdm9pZCBMYXllclRy
ZWVSZW5kZXJlcjo6cGFpbnRUb0dyYXBoaWNzQ29udGV4dChCYWNraW5nU3RvcmU6OlBsYXRmb3Jt
R3JhcGhpY3NDb24KICAgICBHcmFwaGljc0NvbnRleHQgZ3JhcGhpY3NDb250ZXh0KHBhaW50ZXIp
OwogICAgIG1fdGV4dHVyZU1hcHBlci0+c2V0R3JhcGhpY3NDb250ZXh0KCZncmFwaGljc0NvbnRl
eHQpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5QYWludGluZygpOworCisgICAgaWYgKG1f
c2V0RHJhd3NCYWNrZ3JvdW5kKQorICAgICAgICBtX3RleHR1cmVNYXBwZXItPmRyYXdTb2xpZENv
bG9yKGdyYXBoaWNzQ29udGV4dC5jbGlwQm91bmRzKCksIFRyYW5zZm9ybWF0aW9uTWF0cml4KCks
IG1fYmFja2dyb3VuZENvbG9yKTsKKwogICAgIGxheWVyLT5wYWludCgpOwogICAgIG1fdGV4dHVy
ZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKICAgICBtX3RleHR1cmVNYXBwZXItPnNldEdyYXBoaWNz
Q29udGV4dCgwKTsKQEAgLTU2Myw2ICs1NzYsMTEgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6
c2V0QWN0aXZlKGJvb2wgYWN0aXZlKQogICAgICAgICByZW5kZXJOZXh0RnJhbWUoKTsKIH0KIAor
dm9pZCBMYXllclRyZWVSZW5kZXJlcjo6c2V0QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6
OkNvbG9yJiBjb2xvcikKK3sKKyAgICBtX2JhY2tncm91bmRDb2xvciA9IGNvbG9yOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElD
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZVJlbmRlcmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCmluZGV4IDYwNDM1YzkuLjUzYjY5MjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZVJlbmRlcmVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaApAQCAtOTMsNiArOTMsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBkZXN0cm95SW1hZ2UoaW50NjRfdCk7CiAgICAgdm9pZCBzZXRMYXllckFu
aW1hdGlvbnMoV2ViTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlv
bnMmKTsKICAgICB2b2lkIHNldEFuaW1hdGlvbnNMb2NrZWQoYm9vbCk7CisgICAgdm9pZCBzZXRC
YWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKKyAgICB2b2lkIHNldERyYXdz
QmFja2dyb3VuZChib29sIGVuYWJsZSkgeyBtX3NldERyYXdzQmFja2dyb3VuZCA9IGVuYWJsZTsg
fQogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQogICAgIHZvaWQgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCk7CkBAIC0xNjAsNiArMTYyLDggQEAgcHJpdmF0ZToKICAgICBib29s
IG1fYW5pbWF0aW9uRnJhbWVSZXF1ZXN0ZWQ7CiAjZW5kaWYKICAgICBXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyOjpBY2NlbGVyYXRpb25Nb2RlIG1fYWNjZWxlcmF0aW9uTW9kZTsKKyAgICBXZWJDb3Jl
OjpDb2xvciBtX2JhY2tncm91bmRDb2xvcjsKKyAgICBib29sIG1fc2V0RHJhd3NCYWNrZ3JvdW5k
OwogfTsKIAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yLmNwcAppbmRleCA0MzNiY2U5Li5lM2E5ZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVD
b29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCkBAIC03NjMsNSArNzYz
LDEwIEBAIHZvaWQgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNU
aW1lckZpcmVkKFRpbWVyPExheWVyVHJlZUNvb3JkCiAgICAgICAgIG1fcmVsZWFzZUluYWN0aXZl
QXRsYXNlc1RpbWVyLnN0b3AoKTsKIH0KIAordm9pZCBMYXllclRyZWVDb29yZGluYXRvcjo6c2V0
QmFja2dyb3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBjb2xvcikKK3sKKyAgICBtX3dl
YlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OlNldEJhY2tn
cm91bmRDb2xvcihjb2xvcikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKICNlbmRpZiAv
LyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRv
ci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaAppbmRleCBmNmIzOGMxLi44YTI5ZGI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9MYXllclRyZWVDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmgKQEAgLTEw
Myw2ICsxMDMsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpIE9WRVJSSURFOwogI2VuZGlm
CisgICAgdmlydHVhbCB2b2lkIHNldEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYpIE9WRVJSSURFOwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgTGF5ZXJUcmVlQ29vcmRp
bmF0b3IoV2ViUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9MYXllclRyZWVIb3N0LmgKaW5kZXggN2ExY2E2Yy4uYTI5OTgzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAjZGVmaW5lIExheWVyVHJlZUhvc3RfaAogCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29u
dGV4dC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTg4LDYgKzg5LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KIAogICAgIHZp
cnR1YWwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5ZXJGYWN0b3J5
KCkgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29u
c3QgV2ViQ29yZTo6Q29sb3ImKSB7IH0KIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiwgZmxvYXQgLyogc2NhbGUgKi8sIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKSB7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCA5ZTY2NTc2Li44ZTdkZmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC0yNzYsNiArMjc2LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50
NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
CiAgICAgLCBtX3Zpc2liaWxpdHlTdGF0ZShXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlVmlz
aWJsZSkKICNlbmRpZgogICAgICwgbV9pbnNwZWN0b3JDbGllbnQoMCkKKyAgICAsIG1fYmFja2dy
b3VuZENvbG9yKENvbG9yOjp3aGl0ZSkKIHsKICAgICBBU1NFUlQobV9wYWdlSUQpOwogICAgIC8v
IEZJWE1FOiBUaGlzIGlzIGEgbm9uLWlkZWFsIGxvY2F0aW9uIGZvciB0aGlzIFNldHRpbmcgYW5k
CkBAIC0yNzYzLDYgKzI3NjQsMTggQEAgdm9pZCBXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQo
KQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVBhZ2VDb3Vu
dChwYWdlQ291bnQpKTsKICAgICAgICAgbV9jYWNoZWRQYWdlQ291bnQgPSBwYWdlQ291bnQ7CiAg
ICAgfQorCisjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpICYmIFVTRShBQ0NFTEVSQVRFRF9D
T01QT1NJVElORykKKyAgICBpZiAobV9kcmF3aW5nQXJlYSAmJiBtX2RyYXdpbmdBcmVhLT5sYXll
clRyZWVIb3N0KCkpIHsKKyAgICAgICAgZG91YmxlIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhOwor
ICAgICAgICBtX21haW5GcmFtZS0+Z2V0RG9jdW1lbnRCYWNrZ3JvdW5kQ29sb3IoJnJlZCwgJmdy
ZWVuLCAmYmx1ZSwgJmFscGhhKTsKKyAgICAgICAgUkdCQTMyIHJnYmEgPSBtYWtlUkdCQTMyRnJv
bUZsb2F0cyhyZWQsIGdyZWVuLCBibHVlLCBhbHBoYSk7CisgICAgICAgIGlmIChtX2JhY2tncm91
bmRDb2xvci5yZ2IoKSAhPSByZ2JhKSB7CisgICAgICAgICAgICBtX2JhY2tncm91bmRDb2xvci5z
ZXRSR0IocmdiYSk7CisgICAgICAgICAgICBtX2RyYXdpbmdBcmVhLT5sYXllclRyZWVIb3N0KCkt
PnNldEJhY2tncm91bmRDb2xvcihtX2JhY2tncm91bmRDb2xvcik7CisgICAgICAgIH0KKyAgICB9
CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBs
dWdpblZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApp
bmRleCA2MDZhZGE4Li4xOWFmMzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTk0NSw2ICs5NDUsNyBAQCBwcml2YXRlOgogICAgIFdlYkluc3Bl
Y3RvckNsaWVudCogbV9pbnNwZWN0b3JDbGllbnQ7CiAKICAgICBIYXNoU2V0PFN0cmluZywgQ2Fz
ZUZvbGRpbmdIYXNoPiBtX21pbWVUeXBlc1dpdGhDdXN0b21SZXByZXNlbnRhdGlvbnM7CisgICAg
V2ViQ29yZTo6Q29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>