<?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>90078</bug_id>
          
          <creation_ts>2012-06-27 08:43:13 -0700</creation_ts>
          <short_desc>[TextureMapper] Enable a depth buffer for preserve-3d</short_desc>
          <delta_ts>2022-08-29 19:38:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=244526</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Hyowon Kim">hw1008.kim</assigned_to>
          <cc>alex</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>fujii</cc>
    
    <cc>hw1008.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>larsgk</cc>
    
    <cc>luiz</cc>
    
    <cc>magomez</cc>
    
    <cc>mrobinson</cc>
    
    <cc>noam</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yael</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>658635</commentid>
    <comment_count>0</comment_count>
      <attachid>149755</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-06-27 08:43:13 -0700</bug_when>
    <thetext>Created attachment 149755
Simple z-ordering test

I think Z-ordering has some issues in TextureMapperLayer. I&apos;m attaching a test case which consists on the following

- a 300x300 blue div with no transparency defining a new rendering context (preserve-3d)
- a smaller lime div translated -100px in the Z axis

The problem is that the lime div is always visible no matter if the blue div covers it. I just added some animation to make it clearer but it can be safely removed and the bug will be visible as well.

Correct me if I&apos;m wrong but it looks like that when computing the z-ordering, that is only done for the children, so they will be always painted no matter if the first layer obscures them or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662370</commentid>
    <comment_count>1</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-07-03 11:00:39 -0700</bug_when>
    <thetext>Modified the title of the bug because the z-ordering is in fact correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662661</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-07-03 21:28:33 -0700</bug_when>
    <thetext>It is known that we have issues. Lars tried to port the Chromium code for fixing this. I am not sure about the status so cc&apos;ing him</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662727</commentid>
    <comment_count>3</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-07-04 00:59:16 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; It is known that we have issues. Lars tried to port the Chromium code for fixing this. I am not sure about the status so cc&apos;ing him

Cool. I&apos;m willing to help with this. Looking forward to hearing about the current status.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030224</commentid>
    <comment_count>4</comment_count>
      <attachid>236857</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-08-19 23:44:30 -0700</bug_when>
    <thetext>Created attachment 236857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030232</commentid>
    <comment_count>5</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-08-20 00:24:57 -0700</bug_when>
    <thetext>*** Bug 133066 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030254</commentid>
    <comment_count>6</comment_count>
      <attachid>236857</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-08-20 03:58:29 -0700</bug_when>
    <thetext>Comment on attachment 236857
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:379
&gt; +        Vector&lt;TextureMapperLayer*&gt; sublayers = layer-&gt;children();

Shouldn&apos;t this be a reference? Otherwise you&apos;re copying the vector.

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:384
&gt; +}

I am not an expert on this part of the code, so I won&apos;t officially review it, but this kind of recursive operations involving copies into vectors seems terribly expensive to me in painting code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030449</commentid>
    <comment_count>7</comment_count>
      <attachid>236913</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-08-20 22:07:21 -0700</bug_when>
    <thetext>Created attachment 236913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030451</commentid>
    <comment_count>8</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-08-20 22:20:02 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 236857 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=236857&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:379
&gt; &gt; +        Vector&lt;TextureMapperLayer*&gt; sublayers = layer-&gt;children();
&gt; 
&gt; Shouldn&apos;t this be a reference? Otherwise you&apos;re copying the vector.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:384
&gt; &gt; +}
&gt; 
&gt; I am not an expert on this part of the code, so I won&apos;t officially review it, but this kind of recursive operations involving copies into vectors seems terribly expensive to me in painting code.

I&apos;ve removed the vector copy by adding a reference parameter. Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030461</commentid>
    <comment_count>9</comment_count>
      <attachid>236913</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-08-21 00:42:25 -0700</bug_when>
    <thetext>Comment on attachment 236913
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:374
&gt; +    for (size_t i = 0; i &lt; candidates.size(); ++i) {

You can use a modern for loop here. 

for (auto&amp; layer : candidates) {
}

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:395
&gt; +    for (size_t i = 0; i &lt; layersIn3D.size(); ++i)

Same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030478</commentid>
    <comment_count>10</comment_count>
      <attachid>236919</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-08-21 02:30:45 -0700</bug_when>
    <thetext>Created attachment 236919
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030479</commentid>
    <comment_count>11</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-08-21 02:31:49 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 236913 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=236913&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:374
&gt; &gt; +    for (size_t i = 0; i &lt; candidates.size(); ++i) {
&gt; 
&gt; You can use a modern for loop here. 
&gt; 
&gt; for (auto&amp; layer : candidates) {
&gt; }

Okay, done.

&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:395
&gt; &gt; +    for (size_t i = 0; i &lt; layersIn3D.size(); ++i)
&gt; 
&gt; Same here.

Okay, done.

Thank you for your review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230814</commentid>
    <comment_count>12</comment_count>
      <attachid>236919</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-17 07:10:47 -0700</bug_when>
    <thetext>Comment on attachment 236919
Patch

Hi,

Apologies that your patch was not reviewed in a timely manner. Since it&apos;s now quite old, I am removing it from the review request queue. Please consider rebasing it on trunk and resubmitting.

To increase the chances of getting a review, consider using &apos;Tools/Scripts/webkit-patch upload --suggest-reviewers&apos; to CC reviewers who might be interested in this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668990</commentid>
    <comment_count>13</comment_count>
      <attachid>403578</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-07-06 01:07:11 -0700</bug_when>
    <thetext>Created attachment 403578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668991</commentid>
    <comment_count>14</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-07-06 01:08:20 -0700</bug_when>
    <thetext>(In reply to Sergio Villar Senin from comment #13)
&gt; Created attachment 403578 [details]
&gt; Patch

I&apos;ve rebased the patch, renamed some operations and fixed some nits. The test was also modernized although it&apos;s essentially the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669241</commentid>
    <comment_count>15</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-06 16:49:07 -0700</bug_when>
    <thetext>Why don&apos;t you use a depth buffer?
There is BitmapTextureGL::initializeDepthBuffer(), but ti isn&apos;t called from anywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669298</commentid>
    <comment_count>16</comment_count>
      <attachid>403654</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-06 19:31:17 -0700</bug_when>
    <thetext>Created attachment 403654
test case 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669338</commentid>
    <comment_count>17</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-07-07 00:04:33 -0700</bug_when>
    <thetext>Recalling our challenge with this bug from 2012...
The proposed patch, and any solution that relies on ordering the layers by their center z, would only fix certain cases, and using depth buffer on its own is only applicable to opaque layers.

What’s needed here is something like “depth peeling”. Back then I remember trying this: http://developer.download.nvidia.com/SDK/10/opengl/src/dual_depth_peeling/doc/DualDepthPeeling.pdf

But mobile hardware of the time and the extra memory needed wasn’t worth the edge cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669342</commentid>
    <comment_count>18</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2020-07-07 00:49:39 -0700</bug_when>
    <thetext>(In reply to Noam Rosenthal from comment #17)
&gt; Recalling our challenge with this bug from 2012...
&gt; The proposed patch, and any solution that relies on ordering the layers by
&gt; their center z, would only fix certain cases, and using depth buffer on its
&gt; own is only applicable to opaque layers.

Exactly. The problem of ordering the layers is quite complex. There might be layers that don&apos;t have a constant z component, and for those layers the painting order maybe different depending on the point of the layer where the z is sampled. Also, there might be collisions between the layers, and in those cases the layers need to be divided in pieces in order to be painted, which is even more complex.

And, as Noam mentions, the depth buffer helps only with opaque layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669381</commentid>
    <comment_count>19</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-07-07 06:46:45 -0700</bug_when>
    <thetext>(In reply to Miguel Gomez from comment #18)
&gt; (In reply to Noam Rosenthal from comment #17)
&gt; &gt; Recalling our challenge with this bug from 2012...
&gt; &gt; The proposed patch, and any solution that relies on ordering the layers by
&gt; &gt; their center z, would only fix certain cases, and using depth buffer on its
&gt; &gt; own is only applicable to opaque layers.
&gt; 
&gt; Exactly. The problem of ordering the layers is quite complex. There might be
&gt; layers that don&apos;t have a constant z component, and for those layers the
&gt; painting order maybe different depending on the point of the layer where the
&gt; z is sampled. Also, there might be collisions between the layers, and in
&gt; those cases the layers need to be divided in pieces in order to be painted,
&gt; which is even more complex.
&gt; 
&gt; And, as Noam mentions, the depth buffer helps only with opaque layers.

At the time I also played with a fix that split the layers by 3d intersection edges. This will probably work better than depth peeling, but not easy in terms of how the intersection edges look, and there were lots of weird edge cases (you get to them quickly with a 3d-transform animation and several intersecting preserve-3d elements).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670936</commentid>
    <comment_count>20</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-12 17:10:23 -0700</bug_when>
    <thetext>Interesting.
So, there are three cases,

if (has3DtransformedLayers) {
   if (hasSemiTransparentLayers) {
     // Needs Order Independent Transparency. Use depth peeling or dual depth peeling?
   } else {
     // Use a single depth buffer
   }
} else {
  // sortByZOrder and use no depth buffer
}

It suffices for the cases using only opaque layers (e.g. comment 1 and comment 16 test cases) to use a single depth buffer,
Right?
Will you try it, Sergio?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670976</commentid>
    <comment_count>21</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-07-13 00:59:43 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #20)
&gt; Interesting.
&gt; So, there are three cases,
&gt; 
&gt; if (has3DtransformedLayers) {
&gt;    if (hasSemiTransparentLayers) {
&gt;      // Needs Order Independent Transparency. Use depth peeling or dual
&gt; depth peeling?
It could be that you can avoid this complex option in more cases - you only need it when you have 2 or more semi-transparent layers intersecting in all dimensions (roughly speaking). 

Also, full-on depth peeling might be an overkill because each layer on its own is 2d.

It might be enough to do the following:
- find the z-intersection points, divide the intersecting layer groups into non-intersecting z ranges
- paint those one after the other, sorting each one of them separately - essentially paint several passes of the sub-scene - one per each non-intersecting z-range.

&gt;    } else {
&gt;      // Use a single depth buffer
&gt;    }
&gt; } else {
&gt;   // sortByZOrder and use no depth buffer
&gt; }
&gt; 
&gt; It suffices for the cases using only opaque layers (e.g. comment 1 and
&gt; comment 16 test cases) to use a single depth buffer,
&gt; Right?
Yes, those would work fine with depth buffer.

&gt; Will you try it, Sergio?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671293</commentid>
    <comment_count>22</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-07-14 00:55:48 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #20)
&gt; Interesting.
&gt; So, there are three cases,
&gt; 
&gt; if (has3DtransformedLayers) {
&gt;    if (hasSemiTransparentLayers) {
&gt;      // Needs Order Independent Transparency. Use depth peeling or dual
&gt; depth peeling?
&gt;    } else {
&gt;      // Use a single depth buffer
&gt;    }
&gt; } else {
&gt;   // sortByZOrder and use no depth buffer
&gt; }
&gt; 
&gt; It suffices for the cases using only opaque layers (e.g. comment 1 and
&gt; comment 16 test cases) to use a single depth buffer,
&gt; Right?
&gt; Will you try it, Sergio?

No sorry. I just tried to quickly revive the bug but I don&apos;t have time ATM to work on this. Happy to hand it over to anyone who cares.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673384</commentid>
    <comment_count>23</comment_count>
      <attachid>404799</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-20 23:41:42 -0700</bug_when>
    <thetext>Created attachment 404799
WIP patch

This WIP patch works well for the test cases (comment 1 and comment 16) and https://webkit.org/blog/386/3d-transforms/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673714</commentid>
    <comment_count>24</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-21 18:38:41 -0700</bug_when>
    <thetext>The WIP patch makes transforms/2d/preserve3d-not-fixed-container.html fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691802</commentid>
    <comment_count>25</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-09-25 00:28:36 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #24)
&gt; The WIP patch makes transforms/2d/preserve3d-not-fixed-container.html fail.

Here is the content.

&gt;   &lt;div class=&quot;preserve3d box&quot; style=&quot;margin: 150px 50px;&quot;&gt;
&gt;     &lt;div class=&quot;fixed box&quot;&gt;
&gt;         &lt;div class=&quot;transformed box&quot;&gt;&lt;/div&gt; &lt;!-- Necessary to activate preserve3d compositing --&gt;
&gt;     &lt;/div&gt;
&gt;   &lt;/div&gt;

This test is failing becuase the second div is placed under the first div.
The both div elements are placed in the same depth.
Specifying glDepthFunc(GL_LEQUAL) renders the second div on the first div.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691803</commentid>
    <comment_count>26</comment_count>
      <attachid>409663</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-09-25 00:29:45 -0700</bug_when>
    <thetext>Created attachment 409663
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692461</commentid>
    <comment_count>27</comment_count>
      <attachid>409862</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-09-27 17:07:14 -0700</bug_when>
    <thetext>Created attachment 409862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692647</commentid>
    <comment_count>28</comment_count>
      <attachid>409862</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-09-28 13:05:03 -0700</bug_when>
    <thetext>Comment on attachment 409862
Patch

Clearing flags on attachment: 409862

Committed r267711: &lt;https://trac.webkit.org/changeset/267711&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692648</commentid>
    <comment_count>29</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-09-28 13:05:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692649</commentid>
    <comment_count>30</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-28 13:06:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/69713871&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692838</commentid>
    <comment_count>31</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-09-28 23:01:42 -0700</bug_when>
    <thetext>As I mentioned in previous comments, this would not work well with transparency, and there are no tests with semi-transparent layers. The preserve-3d check should also check that all the 3d-preserving layers are fully opaque.

Also, begin/end Preserve3d is not a stack - I don&apos;t think this would work correctly with a deep tree of 3d-preserving layers. If this is incorrect, would be good to have a test for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692845</commentid>
    <comment_count>32</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-09-29 00:34:44 -0700</bug_when>
    <thetext>Yup. I didn&apos;t implement it because it&apos;s too difficult to me.
Filed: Bug 217080 – [TextureMapper] Order Independent Transparency support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692846</commentid>
    <comment_count>33</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-09-29 00:38:12 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #32)
&gt; Yup. I didn&apos;t implement it because it&apos;s too difficult to me.
&gt; Filed: Bug 217080 – [TextureMapper] Order Independent Transparency support

Understood, it&apos;s indeed difficult - but without at least checking that all the 3d-preserved layers are opaque, the current patch will cause regressions, and will look really bad in some situations: if you have two transparent layers with 
a z intersection, they would totally lose their blending with each other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692861</commentid>
    <comment_count>34</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-09-29 01:50:30 -0700</bug_when>
    <thetext>Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693137</commentid>
    <comment_count>35</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-09-29 13:53:33 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #34)
&gt; Will fix.

Filed: Bug 217103 – [TextureMapper] A semi-transparent parent layer is rendered as a opaque layer for children layers</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>149755</attachid>
            <date>2012-06-27 08:43:13 -0700</date>
            <delta_ts>2012-06-27 08:43:13 -0700</delta_ts>
            <desc>Simple z-ordering test</desc>
            <filename>zordering.html</filename>
            <type>text/html</type>
            <size>928</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAjY29udGFpbmVyIHsK
ICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDEwMHB4OwogICAgICBsZWZ0OiAx
MDBweDsKICAgICAgaGVpZ2h0OiAzMDBweDsKICAgICAgd2lkdGg6IDMwMHB4OwogICAgICBib3Jk
ZXI6IDJweCBzb2xpZCBibGFjazsKICAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogNTAwOwogICAg
fQoKICAgICNwYXJlbnQgewogICAgICB3aWR0aDogMzAwcHg7CiAgICAgIGhlaWdodDogMzAwcHg7
CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0
eWxlOiBwcmVzZXJ2ZS0zZDsKICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMjBzIGluZmlu
aXRlIGxpbmVhcjsKICAgIH0KICAgIEAtd2Via2l0LWtleWZyYW1lcyBzcGluIHsKICAgICAgZnJv
bSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDApOyB9CiAgICAgIHRvICAgeyAtd2Via2l0
LXRyYW5zZm9ybTogcm90YXRlWSgzNjBkZWcpOyB9CiAgICB9CgogICAgI3BhcmVudCA+IDpmaXJz
dC1jaGlsZCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgdG9wOiA1MHB4OwogICAg
ICBsZWZ0OiA1MHB4OwogICAgICB3aWR0aDogMTUwcHg7CiAgICAgIGhlaWdodDogMTUwcHg7CiAg
ICAgIGJhY2tncm91bmQtY29sb3I6IGxpbWU7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFu
c2xhdGVaKC0xMDBweCk7CiAgICB9CiAgPC9zdHlsZT4KPC9oZWFkPgoKPGJvZHk+CiAgPGRpdiBp
ZD0iY29udGFpbmVyIj4KICAgIDxkaXYgaWQ9InBhcmVudCI+CiAgICAgIDxkaXY+LXdlYmtpdC10
cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTEwMHB4KTs8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8
L2JvZHk+Cgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236857</attachid>
            <date>2014-08-19 23:44:30 -0700</date>
            <delta_ts>2014-08-20 22:07:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90078-20140820154423.patch</filename>
            <type>text/plain</type>
            <size>8910</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyNzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTUyNDFlOWIyNTAyNzU3
OGRhODJhOGYwMmQ1NTY0MGM5ZGVjNmMwMS4uZTI5MzJiNDI5MmM0YmE3MzQxODNiMTViMTg0MWU0
OGFlNWQwZjc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA4LTE5ICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbVGV4bWFwXSBJbmNv
cnJlY3Qgb3JkZXIgb2YgY29tcG9zaXRpbmcgbGF5ZXJzIHdpdGggdHJhbnNmb3JtLXN0eWxlOiBw
cmVzZXJ2ZS0zZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMzA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdoZW4gYSBsYXllciB3aXRoIHByZXNlcnZlLTNkIGlzIGVuY291bnRlcmVkIGR1cmluZyBj
b21wb3NpdGluZywKKyAgICAgICAgVGV4dHVyZU1hcHBlciBzaG91bGQgc29ydCBhbGwgbGF5ZXJz
IGludm9sdmVkIGluIHByZXNlcnZlLTNkLAorICAgICAgICBhbmQgdGhlbiBjb21wb3NpdGUgdGhl
bSBpbiB0aGUgcmlnaHQgb3JkZXIuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvcHJlc2Vy
dmUtM2QtbGF5ZXItb3JkZXIuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyUGFpbnRPcHRpb25zOjpUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6Y29tcHV0ZVRyYW5zZm9ybXNSZWN1cnNpdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpjb2xsZWN0M0RMYXllcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludDNETGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRSZWN1cnNpdmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJMYXllcjo6aXNQcmVzZXJ2aW5nM0QpOgorCiAyMDE0LTA4LTE5ICBKaW53
b28gU29uZyAgPGppbndvbzcuc29uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBJZ25vcmUgdXNl
bWFwIGF0dHJpYnV0ZXMgd2l0aG91dCAnIycgaW4gaW1nIGVsZW1lbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5jcHAKaW5kZXggNjAwMzk4N2QwZDdkNWJhZGUzZTZhMjBmOGZlZGFkNTEzODY5MWIw
ZS4uZWMzMTI3ZTFhZGI3NjYwODNmNzg4YjU0MzI1NzU4OTMxZWIxNTM2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJMYXllci5jcHAKQEAgLTM0LDkgKzM0LDExIEBAIHB1YmxpYzoKICAgICBmbG9hdCBv
cGFjaXR5OwogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybTsKICAgICBJbnRTaXpl
IG9mZnNldDsKKyAgICBib29sIGlzUHJlc2VydmluZzNEOwogICAgIFRleHR1cmVNYXBwZXIqIHRl
eHR1cmVNYXBwZXI7CiAgICAgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucygpCiAgICAgICAgIDog
b3BhY2l0eSgxKQorICAgICAgICAsIGlzUHJlc2VydmluZzNEKGZhbHNlKQogICAgICAgICAsIHRl
eHR1cmVNYXBwZXIoMCkKICAgICB7IH0KIH07CkBAIC01Niw3ICs1OCw3IEBAIHZvaWQgVGV4dHVy
ZU1hcHBlckxheWVyOjpjb21wdXRlVHJhbnNmb3Jtc1JlY3Vyc2l2ZSgpCiAKICAgICBtX3N0YXRl
LnZpc2libGUgPSBtX3N0YXRlLmJhY2tmYWNlVmlzaWJpbGl0eSB8fCAhbV9jdXJyZW50VHJhbnNm
b3JtLmNvbWJpbmVkKCkuaXNCYWNrRmFjZVZpc2libGUoKTsKIAotICAgIGlmIChtX3BhcmVudCAm
JiBtX3BhcmVudC0+bV9zdGF0ZS5wcmVzZXJ2ZXMzRCkKKyAgICBpZiAobV9zdGF0ZS5wcmVzZXJ2
ZXMzRCB8fCAobV9wYXJlbnQgJiYgbV9wYXJlbnQtPm1fc3RhdGUucHJlc2VydmVzM0QpKQogICAg
ICAgICBtX2NlbnRlclogPSBtX2N1cnJlbnRUcmFuc2Zvcm0uY29tYmluZWQoKS5tYXBQb2ludChG
bG9hdFBvaW50M0QobV9zdGF0ZS5zaXplLndpZHRoKCkgLyAyLCBtX3N0YXRlLnNpemUuaGVpZ2h0
KCkgLyAyLCAwKSkueigpOwogCiAgICAgaWYgKG1fc3RhdGUubWFza0xheWVyKQpAQCAtNjcsMTAg
KzY5LDYgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OmNvbXB1dGVUcmFuc2Zvcm1zUmVjdXJz
aXZlKCkKICAgICAgICAgUkVMRUFTRV9BU1NFUlQobV9jaGlsZHJlbltpXS0+bV9wYXJlbnQgPT0g
dGhpcyk7CiAgICAgICAgIG1fY2hpbGRyZW5baV0tPmNvbXB1dGVUcmFuc2Zvcm1zUmVjdXJzaXZl
KCk7CiAgICAgfQotCi0gICAgLy8gUmVvcmRlciBjaGlsZHJlbiBpZiBuZWVkZWQgb24gdGhlIHdh
eSBiYWNrIHVwLgotICAgIGlmIChtX3N0YXRlLnByZXNlcnZlczNEKQotICAgICAgICBzb3J0Qnla
T3JkZXIobV9jaGlsZHJlbik7CiB9CiAKIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludCgp
CkBAIC0xNjYsNyArMTY0LDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZkFu
ZENoaWxkcmVuKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG8KIHsKICAgICBwYWlu
dFNlbGYob3B0aW9ucyk7CiAKLSAgICBpZiAobV9jaGlsZHJlbi5pc0VtcHR5KCkpCisgICAgaWYg
KG1fY2hpbGRyZW4uaXNFbXB0eSgpIHx8IG1fc3RhdGUucHJlc2VydmVzM0QpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGJvb2wgc2hvdWxkQ2xpcCA9IG1fc3RhdGUubWFza3NUb0JvdW5kcyAmJiAh
bV9zdGF0ZS5wcmVzZXJ2ZXMzRDsKQEAgLTM3MSw2ICszNjksMzQgQEAgdm9pZCBUZXh0dXJlTWFw
cGVyTGF5ZXI6OnBhaW50VXNpbmdPdmVybGFwUmVnaW9ucyhjb25zdCBUZXh0dXJlTWFwcGVyUGFp
bnRPcHRpb24KICAgICB9CiB9CiAKK3N0YXRpYyB2b2lkIGNvbGxlY3QzRExheWVycyhWZWN0b3I8
VGV4dHVyZU1hcHBlckxheWVyKj4mIGxheWVycykKK3sKKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGxheWVycy5zaXplKCk7ICsraSkgeworICAgICAgICBUZXh0dXJlTWFwcGVyTGF5ZXIqIGxh
eWVyID0gbGF5ZXJzW2ldOworICAgICAgICBpZiAoIWxheWVyLT5pc1ByZXNlcnZpbmczRCgpIHx8
IGxheWVyLT5jaGlsZHJlbigpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgIFZlY3RvcjxUZXh0dXJlTWFwcGVyTGF5ZXIqPiBzdWJsYXllcnMgPSBsYXllci0+Y2hp
bGRyZW4oKTsKKyAgICAgICAgY29sbGVjdDNETGF5ZXJzKHN1YmxheWVycyk7CisgICAgICAgIGxh
eWVycy5pbnNlcnRWZWN0b3IoaSsxLCBzdWJsYXllcnMpOworICAgICAgICBpICs9IHN1YmxheWVy
cy5zaXplKCk7CisgICAgfQorfQorCit2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnQzRExh
eWVycyhjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQoreworICAgIFZl
Y3RvcjxUZXh0dXJlTWFwcGVyTGF5ZXIqPiBsYXllcnMobV9jaGlsZHJlbik7CisgICAgY29sbGVj
dDNETGF5ZXJzKGxheWVycyk7CisgICAgbGF5ZXJzLmFwcGVuZCh0aGlzKTsKKyAgICBzb3J0Qnla
T3JkZXIobGF5ZXJzKTsKKworICAgIFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMgbmV3T3B0aW9u
cyhvcHRpb25zKTsKKyAgICBuZXdPcHRpb25zLmlzUHJlc2VydmluZzNEID0gdHJ1ZTsKKworICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGF5ZXJzLnNpemUoKTsgKytpKQorICAgICAgICBsYXll
cnNbaV0tPnBhaW50UmVjdXJzaXZlKG5ld09wdGlvbnMpOworfQorCiB2b2lkIFRleHR1cmVNYXBw
ZXJMYXllcjo6YXBwbHlNYXNrKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlv
bnMpCiB7CiAgICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVyLT5zZXRNYXNrTW9kZSh0cnVlKTsKQEAg
LTQzOSw2ICs0NjUsMTEgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50UmVjdXJzaXZl
KGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlvbnMKICAgICBpZiAoIWlzVmlz
aWJsZSgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIW9wdGlvbnMuaXNQcmVzZXJ2aW5n
M0QgJiYgbV9zdGF0ZS5wcmVzZXJ2ZXMzRCAmJiBtX3BhcmVudCAmJiAhbV9wYXJlbnQtPm1fc3Rh
dGUucHJlc2VydmVzM0QpIHsKKyAgICAgICAgcGFpbnQzRExheWVycyhvcHRpb25zKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMgcGFpbnRP
cHRpb25zKG9wdGlvbnMpOwogICAgIHBhaW50T3B0aW9ucy5vcGFjaXR5ICo9IG1fY3VycmVudE9w
YWNpdHk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAppbmRleCAwYmY5NjIxMzk3ZGIwMDRhY2Y3
ZDc2MmJiMzcwMTQzYTgyMjcwMGUwLi44MjcxY2MxMTI3MjFjMWEwYjBjY2NlZDEzOGYwYzE4YjUz
NTAyZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oCkBAIC0xMTQsNiArMTE0LDggQEAgcHVi
bGljOgogI2VuZGlmCiAgICAgfQogCisgICAgYm9vbCBpc1ByZXNlcnZpbmczRCgpIGNvbnN0IHsg
cmV0dXJuIG1fc3RhdGUucHJlc2VydmVzM0Q7IH0KKwogICAgIHZvaWQgc2V0RGVidWdWaXN1YWxz
KGJvb2wgc2hvd0RlYnVnQm9yZGVycywgY29uc3QgQ29sb3ImIGRlYnVnQm9yZGVyQ29sb3IsIGZs
b2F0IGRlYnVnQm9yZGVyV2lkdGgsIGJvb2wgc2hvd1JlcGFpbnRDb3VudGVyKTsKICAgICBib29s
IGlzU2hvd2luZ1JlcGFpbnRDb3VudGVyKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5zaG93UmVw
YWludENvdW50ZXI7IH0KICAgICB2b2lkIHNldFJlcGFpbnRDb3VudChpbnQpOwpAQCAtMTYyLDYg
KzE2NCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBhaW50UmVjdXJzaXZlKGNvbnN0IFRleHR1
cmVNYXBwZXJQYWludE9wdGlvbnMmKTsKICAgICB2b2lkIHBhaW50VXNpbmdPdmVybGFwUmVnaW9u
cyhjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7CisgICAgdm9pZCBwYWludDNETGF5
ZXJzKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmKTsKICAgICBQYXNzUmVmUHRyPEJp
dG1hcFRleHR1cmU+IHBhaW50SW50b1N1cmZhY2UoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0
aW9ucyYsIGNvbnN0IEludFNpemUmKTsKICAgICB2b2lkIHBhaW50V2l0aEludGVybWVkaWF0ZVN1
cmZhY2UoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYsIGNvbnN0IEludFJlY3QmKTsK
ICAgICB2b2lkIHBhaW50U2VsZihjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggOGNhZTk2Y2E0YWVmMWQzNDQ0ZGNjMGZkNTE4YzVhNzU2NGE3M2ZmOC4uNjQwNWJkNmQ3
Zjk2MGRjNGIyMjU1OTk2NzZhNGI3MmUzZmVjMDk5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDE0LTA4LTE5ICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAg
ICBbVGV4bWFwXSBJbmNvcnJlY3Qgb3JkZXIgb2YgY29tcG9zaXRpbmcgbGF5ZXJzIHdpdGggdHJh
bnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzMzA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdoZW4gYSBsYXllciB3aXRoIHByZXNlcnZlLTNkIGlzIGVuY291
bnRlcmVkIGR1cmluZyBjb21wb3NpdGluZywKKyAgICAgICAgVGV4dHVyZU1hcHBlciBzaG91bGQg
c29ydCBhbGwgbGF5ZXJzIGludm9sdmVkIGluIHByZXNlcnZlLTNkLAorICAgICAgICBhbmQgdGhl
biBjb21wb3NpdGUgdGhlbSBpbiB0aGUgcmlnaHQgb3JkZXIuCisKKyAgICAgICAgKiBjb21wb3Np
dGluZy9wcmVzZXJ2ZS0zZC1sYXllci1vcmRlci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjb21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1sYXllci1vcmRlci5odG1sOiBBZGRlZC4KKwog
MjAxNC0wOC0xOSAgSmlud29vIFNvbmcgIDxqaW53b283LnNvbmdAc2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgSWdub3JlIHVzZW1hcCBhdHRyaWJ1dGVzIHdpdGhvdXQgJyMnIGluIGltZyBlbGVtZW50
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1sYXllci1v
cmRlci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcHJlc2VydmUtM2Qt
bGF5ZXItb3JkZXItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZGEzOWRiNWFmNWE4NzBmYWEy
YTZjZWQxYjk4NDQwN2JhY2UyZTM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcHJlc2VydmUtM2QtbGF5ZXItb3JkZXItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAg
IC5zdGFnZSB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgdG9wOiAwcHg7
CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgICBiYWNr
Z3JvdW5kOiB0cmFuc3BhcmVudDsKKyAgICB9CisKKyAgICAucHJlc2VydmUtM2QgeworICAgICAg
ICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CisgICAgfQorCisgICAgLmJv
eCB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC5mcm9udCB7CisgICAgICAgIGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNs
YXRlM0QoMHB4LCAwcHgsIDEwcHgpIAorICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+CisgICAgPGRpdiBjbGFzcz0ic3RhZ2UiPgorICAgICAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2
ZS0zZCBib3ggZnJvbnQiPjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1sYXllci1vcmRl
ci5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcHJlc2VydmUtM2QtbGF5ZXItb3JkZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NDQ5YjAxNjY2M2RlNzU0M2YxNGE5YmVlZTFmYjczYjcxOTg1YzVk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcHJlc2VydmUtM2Qt
bGF5ZXItb3JkZXIuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgIC5zdGFnZSB7CisgICAgICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICAgICAgdG9wOiAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAg
bWFyZ2luOiAxMHB4OworICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKKyAgICB9CisK
KyAgICAucHJlc2VydmUtM2QgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJl
c2VydmUtM2Q7CisgICAgfQorCisgICAgLmJveCB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0K
KworICAgIC5mcm9udCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAg
ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM0QoMHB4LCAwcHgsIDEwcHgpIAorICAgIH0K
KworICAgIC5iYWNrIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICAt
d2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM0QoMHB4LCAwcHgsIC0xMHB4KSAKKyAgICB9Cisg
ICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InN0YWdlIj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0icHJlc2VydmUtM2QgYm94IGZyb250Ij4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImJveCBiYWNrIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236913</attachid>
            <date>2014-08-20 22:07:21 -0700</date>
            <delta_ts>2014-08-21 02:30:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90078-20140821140715.patch</filename>
            <type>text/plain</type>
            <size>8978</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc4Y2QxMzQzZGI1ZTAy
ZjZiMTBlYWVmMWYwYTJkNTZhNTA4ODQ4OS4uMjkwNzIxZGFlZjhlNmY0M2FjYjY5YzQ4ODFmMDc2
YTViMjNlNjQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA4LTIwICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbVGV4bWFwXSBJbmNv
cnJlY3Qgb3JkZXIgb2YgY29tcG9zaXRpbmcgbGF5ZXJzIHdpdGggdHJhbnNmb3JtLXN0eWxlOiBw
cmVzZXJ2ZS0zZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMzA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdoZW4gYSBsYXllciB3aXRoIHByZXNlcnZlLTNkIGlzIGVuY291bnRlcmVkIGR1cmluZyBj
b21wb3NpdGluZywKKyAgICAgICAgVGV4dHVyZU1hcHBlciBzaG91bGQgc29ydCBhbGwgbGF5ZXJz
IGludm9sdmVkIGluIHByZXNlcnZlLTNkLAorICAgICAgICBhbmQgdGhlbiBjb21wb3NpdGUgdGhl
bSBpbiB0aGUgcmlnaHQgb3JkZXIuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvcHJlc2Vy
dmUtM2QtbGF5ZXItb3JkZXIuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyUGFpbnRPcHRpb25zOjpUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6Y29tcHV0ZVRyYW5zZm9ybXNSZWN1cnNpdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpjb2xsZWN0M0RMYXllcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludDNETGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRSZWN1cnNpdmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJMYXllcjo6aXNQcmVzZXJ2aW5nM0QpOgorCiAyMDE0LTA4LTIwICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBDU1M6IEltcGxl
bWVudCB0aGUgOnBsYWNlaG9sZGVyLXNob3duIHBzZXVkby1jbGFzcyBmcm9tIFNlbGVjdG9ycyBM
ZXZlbCA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCmluZGV4IDYwMDM5ODdkMGQ3ZDViYWRl
M2U2YTIwZjhmZWRhZDUxMzg2OTFiMGUuLmE4NWRiZjc2MmQ4OGVkOTZmMTdlNzM3ZjNkOGQ3Yzc4
YTEyOWRhZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCkBAIC0zNCw5ICszNCwxMSBA
QCBwdWJsaWM6CiAgICAgZmxvYXQgb3BhY2l0eTsKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0
cmFuc2Zvcm07CiAgICAgSW50U2l6ZSBvZmZzZXQ7CisgICAgYm9vbCBpc1ByZXNlcnZpbmczRDsK
ICAgICBUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyOwogICAgIFRleHR1cmVNYXBwZXJQYWlu
dE9wdGlvbnMoKQogICAgICAgICA6IG9wYWNpdHkoMSkKKyAgICAgICAgLCBpc1ByZXNlcnZpbmcz
RChmYWxzZSkKICAgICAgICAgLCB0ZXh0dXJlTWFwcGVyKDApCiAgICAgeyB9CiB9OwpAQCAtNTYs
NyArNTgsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6Y29tcHV0ZVRyYW5zZm9ybXNSZWN1
cnNpdmUoKQogCiAgICAgbV9zdGF0ZS52aXNpYmxlID0gbV9zdGF0ZS5iYWNrZmFjZVZpc2liaWxp
dHkgfHwgIW1fY3VycmVudFRyYW5zZm9ybS5jb21iaW5lZCgpLmlzQmFja0ZhY2VWaXNpYmxlKCk7
CiAKLSAgICBpZiAobV9wYXJlbnQgJiYgbV9wYXJlbnQtPm1fc3RhdGUucHJlc2VydmVzM0QpCisg
ICAgaWYgKG1fc3RhdGUucHJlc2VydmVzM0QgfHwgKG1fcGFyZW50ICYmIG1fcGFyZW50LT5tX3N0
YXRlLnByZXNlcnZlczNEKSkKICAgICAgICAgbV9jZW50ZXJaID0gbV9jdXJyZW50VHJhbnNmb3Jt
LmNvbWJpbmVkKCkubWFwUG9pbnQoRmxvYXRQb2ludDNEKG1fc3RhdGUuc2l6ZS53aWR0aCgpIC8g
MiwgbV9zdGF0ZS5zaXplLmhlaWdodCgpIC8gMiwgMCkpLnooKTsKIAogICAgIGlmIChtX3N0YXRl
Lm1hc2tMYXllcikKQEAgLTY3LDEwICs2OSw2IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpj
b21wdXRlVHJhbnNmb3Jtc1JlY3Vyc2l2ZSgpCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1fY2hp
bGRyZW5baV0tPm1fcGFyZW50ID09IHRoaXMpOwogICAgICAgICBtX2NoaWxkcmVuW2ldLT5jb21w
dXRlVHJhbnNmb3Jtc1JlY3Vyc2l2ZSgpOwogICAgIH0KLQotICAgIC8vIFJlb3JkZXIgY2hpbGRy
ZW4gaWYgbmVlZGVkIG9uIHRoZSB3YXkgYmFjayB1cC4KLSAgICBpZiAobV9zdGF0ZS5wcmVzZXJ2
ZXMzRCkKLSAgICAgICAgc29ydEJ5Wk9yZGVyKG1fY2hpbGRyZW4pOwogfQogCiB2b2lkIFRleHR1
cmVNYXBwZXJMYXllcjo6cGFpbnQoKQpAQCAtMTY2LDcgKzE2NCw3IEBAIHZvaWQgVGV4dHVyZU1h
cHBlckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJlbihjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRP
cHRpb25zJiBvCiB7CiAgICAgcGFpbnRTZWxmKG9wdGlvbnMpOwogCi0gICAgaWYgKG1fY2hpbGRy
ZW4uaXNFbXB0eSgpKQorICAgIGlmIChtX2NoaWxkcmVuLmlzRW1wdHkoKSB8fCBtX3N0YXRlLnBy
ZXNlcnZlczNEKQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIHNob3VsZENsaXAgPSBtX3N0
YXRlLm1hc2tzVG9Cb3VuZHMgJiYgIW1fc3RhdGUucHJlc2VydmVzM0Q7CkBAIC0zNzEsNiArMzY5
LDMzIEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludFVzaW5nT3ZlcmxhcFJlZ2lvbnMo
Y29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9uCiAgICAgfQogfQogCitzdGF0aWMgdm9pZCBj
b2xsZWN0M0RMYXllcnMoY29uc3QgVmVjdG9yPFRleHR1cmVNYXBwZXJMYXllcio+JiBjYW5kaWRh
dGVzLCBWZWN0b3I8VGV4dHVyZU1hcHBlckxheWVyKj4mIGxheWVyc0luM0QpCit7CisgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBjYW5kaWRhdGVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIFRl
eHR1cmVNYXBwZXJMYXllciogbGF5ZXIgPSBjYW5kaWRhdGVzW2ldOworICAgICAgICBpZiAoIWxh
eWVyLT5pc1ByZXNlcnZpbmczRCgpIHx8IGxheWVyLT5jaGlsZHJlbigpLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGxheWVyc0luM0QuYXBwZW5kVmVjdG9yKGxh
eWVyLT5jaGlsZHJlbigpKTsKKyAgICAgICAgY29sbGVjdDNETGF5ZXJzKGxheWVyLT5jaGlsZHJl
bigpLCBsYXllcnNJbjNEKTsKKyAgICB9Cit9CisKK3ZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpw
YWludDNETGF5ZXJzKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlvbnMpCit7
CisgICAgVmVjdG9yPFRleHR1cmVNYXBwZXJMYXllcio+IGxheWVyc0luM0QobV9jaGlsZHJlbik7
CisgICAgbGF5ZXJzSW4zRC5hcHBlbmQodGhpcyk7CisKKyAgICBjb2xsZWN0M0RMYXllcnMobV9j
aGlsZHJlbiwgbGF5ZXJzSW4zRCk7CisgICAgc29ydEJ5Wk9yZGVyKGxheWVyc0luM0QpOworCisg
ICAgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyBuZXdPcHRpb25zKG9wdGlvbnMpOworICAgIG5l
d09wdGlvbnMuaXNQcmVzZXJ2aW5nM0QgPSB0cnVlOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBsYXllcnNJbjNELnNpemUoKTsgKytpKQorICAgICAgICBsYXllcnNJbjNEW2ldLT5wYWlu
dFJlY3Vyc2l2ZShuZXdPcHRpb25zKTsKK30KKwogdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OmFw
cGx5TWFzayhjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQogewogICAg
IG9wdGlvbnMudGV4dHVyZU1hcHBlci0+c2V0TWFza01vZGUodHJ1ZSk7CkBAIC00MzksNiArNDY0
LDExIEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludFJlY3Vyc2l2ZShjb25zdCBUZXh0
dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zCiAgICAgaWYgKCFpc1Zpc2libGUoKSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgaWYgKCFvcHRpb25zLmlzUHJlc2VydmluZzNEICYmIG1fc3Rh
dGUucHJlc2VydmVzM0QgJiYgbV9wYXJlbnQgJiYgIW1fcGFyZW50LT5tX3N0YXRlLnByZXNlcnZl
czNEKSB7CisgICAgICAgIHBhaW50M0RMYXllcnMob3B0aW9ucyk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zIHBhaW50T3B0aW9ucyhvcHRp
b25zKTsKICAgICBwYWludE9wdGlvbnMub3BhY2l0eSAqPSBtX2N1cnJlbnRPcGFjaXR5OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckxheWVyLmgKaW5kZXggMGJmOTYyMTM5N2RiMDA0YWNmN2Q3NjJiYjM3MDE0
M2E4MjI3MDBlMC4uODI3MWNjMTEyNzIxYzFhMGIwY2NjZWQxMzhmMGMxOGI1MzUwMmQ1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyTGF5ZXIuaApAQCAtMTE0LDYgKzExNCw4IEBAIHB1YmxpYzoKICNlbmRp
ZgogICAgIH0KIAorICAgIGJvb2wgaXNQcmVzZXJ2aW5nM0QoKSBjb25zdCB7IHJldHVybiBtX3N0
YXRlLnByZXNlcnZlczNEOyB9CisKICAgICB2b2lkIHNldERlYnVnVmlzdWFscyhib29sIHNob3dE
ZWJ1Z0JvcmRlcnMsIGNvbnN0IENvbG9yJiBkZWJ1Z0JvcmRlckNvbG9yLCBmbG9hdCBkZWJ1Z0Jv
cmRlcldpZHRoLCBib29sIHNob3dSZXBhaW50Q291bnRlcik7CiAgICAgYm9vbCBpc1Nob3dpbmdS
ZXBhaW50Q291bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUuc2hvd1JlcGFpbnRDb3VudGVy
OyB9CiAgICAgdm9pZCBzZXRSZXBhaW50Q291bnQoaW50KTsKQEAgLTE2Miw2ICsxNjQsNyBAQCBw
cml2YXRlOgogCiAgICAgdm9pZCBwYWludFJlY3Vyc2l2ZShjb25zdCBUZXh0dXJlTWFwcGVyUGFp
bnRPcHRpb25zJik7CiAgICAgdm9pZCBwYWludFVzaW5nT3ZlcmxhcFJlZ2lvbnMoY29uc3QgVGV4
dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOworICAgIHZvaWQgcGFpbnQzRExheWVycyhjb25zdCBU
ZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7CiAgICAgUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJl
PiBwYWludEludG9TdXJmYWNlKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmLCBjb25z
dCBJbnRTaXplJik7CiAgICAgdm9pZCBwYWludFdpdGhJbnRlcm1lZGlhdGVTdXJmYWNlKGNvbnN0
IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdm9pZCBw
YWludFNlbGYoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc4OTY5
ZjdjM2U3NjViZGU2YjJhZTU0OGUzMTVlMWU1MzM3ZDFhZGYuLmZjYjZhN2IwNjFjNzAyMGJkNmM5
MjBlYmU1ODA4YjAxZTM5NjE2ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNC0wOC0yMCAg
SHlvd29uIEtpbSAgPGh3MTAwOC5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1RleG1hcF0g
SW5jb3JyZWN0IG9yZGVyIG9mIGNvbXBvc2l0aW5nIGxheWVycyB3aXRoIHRyYW5zZm9ybS1zdHls
ZTogcHJlc2VydmUtM2QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzMwNjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGVuIGEgbGF5ZXIgd2l0aCBwcmVzZXJ2ZS0zZCBpcyBlbmNvdW50ZXJlZCBkdXJp
bmcgY29tcG9zaXRpbmcsCisgICAgICAgIFRleHR1cmVNYXBwZXIgc2hvdWxkIHNvcnQgYWxsIGxh
eWVycyBpbnZvbHZlZCBpbiBwcmVzZXJ2ZS0zZCwKKyAgICAgICAgYW5kIHRoZW4gY29tcG9zaXRl
IHRoZW0gaW4gdGhlIHJpZ2h0IG9yZGVyLgorCisgICAgICAgICogY29tcG9zaXRpbmcvcHJlc2Vy
dmUtM2QtbGF5ZXItb3JkZXItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9z
aXRpbmcvcHJlc2VydmUtM2QtbGF5ZXItb3JkZXIuaHRtbDogQWRkZWQuCisKIDIwMTQtMDgtMjAg
IEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENTUzog
SW1wbGVtZW50IHRoZSA6cGxhY2Vob2xkZXItc2hvd24gcHNldWRvLWNsYXNzIGZyb20gU2VsZWN0
b3JzIExldmVsIDQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ByZXNlcnZl
LTNkLWxheWVyLW9yZGVyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9w
cmVzZXJ2ZS0zZC1sYXllci1vcmRlci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkYTM5ZGI1
YWY1YTg3MGZhYTJhNmNlZDFiOTg0NDA3YmFjZTJlMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1sYXllci1vcmRlci1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c3R5bGU+CisgICAgLnN0YWdlIHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAg
ICB0b3A6IDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBtYXJnaW46IDEwcHg7Cisg
ICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OworICAgIH0KKworICAgIC5wcmVzZXJ2ZS0z
ZCB7CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9
CisKKyAgICAuYm94IHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorCisgICAgLmZyb250IHsK
KyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgIC13ZWJraXQtdHJhbnNm
b3JtOiB0cmFuc2xhdGUzRCgwcHgsIDBweCwgMTBweCkgCisgICAgfQorICAgIDwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJzdGFnZSI+CisgICAgICAgIDxkaXYgY2xh
c3M9InByZXNlcnZlLTNkIGJveCBmcm9udCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ByZXNlcnZlLTNk
LWxheWVyLW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1s
YXllci1vcmRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0NDliMDE2NjYzZGU3NTQzZjE0YTliZWVlMWZi
NzNiNzE5ODVjNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9w
cmVzZXJ2ZS0zZC1sYXllci1vcmRlci5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgLnN0YWdlIHsKKyAgICAgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgICAgICB0b3A6IDBweDsKKyAgICAgICAgbGVmdDogMHB4
OworICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50
OworICAgIH0KKworICAgIC5wcmVzZXJ2ZS0zZCB7CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3Jt
LXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKyAgICB9CisKKyAgICAuYm94IHsKKyAgICAgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgfQorCisgICAgLmZyb250IHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzRCgwcHgsIDBweCwgMTBw
eCkgCisgICAgfQorCisgICAgLmJhY2sgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzRCgwcHgsIDBweCwgLTEwcHgp
IAorICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0i
c3RhZ2UiPgorICAgICAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2ZS0zZCBib3ggZnJvbnQiPgorICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iYm94IGJhY2siPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236919</attachid>
            <date>2014-08-21 02:30:45 -0700</date>
            <delta_ts>2020-07-06 01:06:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90078-20140821183039.patch</filename>
            <type>text/plain</type>
            <size>8886</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc4Y2QxMzQzZGI1ZTAy
ZjZiMTBlYWVmMWYwYTJkNTZhNTA4ODQ4OS4uMDYyMTUxNTJiZWZmMDZkNDczNzc1MzA1OTNlMTQz
MjlmZTNiZDRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA4LTIxICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbVGV4bWFwXSBJbmNv
cnJlY3Qgb3JkZXIgb2YgY29tcG9zaXRpbmcgbGF5ZXJzIHdpdGggdHJhbnNmb3JtLXN0eWxlOiBw
cmVzZXJ2ZS0zZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMzA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdoZW4gYSBsYXllciB3aXRoIHByZXNlcnZlLTNkIGlzIGVuY291bnRlcmVkIGR1cmluZyBj
b21wb3NpdGluZywKKyAgICAgICAgVGV4dHVyZU1hcHBlciBzaG91bGQgc29ydCBhbGwgbGF5ZXJz
IGludm9sdmVkIGluIHByZXNlcnZlLTNkLAorICAgICAgICBhbmQgdGhlbiBjb21wb3NpdGUgdGhl
bSBpbiB0aGUgcmlnaHQgb3JkZXIuCisKKyAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvcHJlc2Vy
dmUtM2QtbGF5ZXItb3JkZXIuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyUGFpbnRPcHRpb25zOjpUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6Y29tcHV0ZVRyYW5zZm9ybXNSZWN1cnNpdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJl
bik6CisgICAgICAgIChXZWJDb3JlOjpjb2xsZWN0M0RMYXllcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludDNETGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRSZWN1cnNpdmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJMYXllcjo6aXNQcmVzZXJ2aW5nM0QpOgorCiAyMDE0LTA4LTIwICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBDU1M6IEltcGxl
bWVudCB0aGUgOnBsYWNlaG9sZGVyLXNob3duIHBzZXVkby1jbGFzcyBmcm9tIFNlbGVjdG9ycyBM
ZXZlbCA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCmluZGV4IDYwMDM5ODdkMGQ3ZDViYWRl
M2U2YTIwZjhmZWRhZDUxMzg2OTFiMGUuLmI3ZDBkOGU4ODYwNTI3OTg1MGI1MGY3ZDg0MTVhYWM5
OGM1MjExODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCkBAIC0zNCw5ICszNCwxMSBA
QCBwdWJsaWM6CiAgICAgZmxvYXQgb3BhY2l0eTsKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0
cmFuc2Zvcm07CiAgICAgSW50U2l6ZSBvZmZzZXQ7CisgICAgYm9vbCBpc1ByZXNlcnZpbmczRDsK
ICAgICBUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyOwogICAgIFRleHR1cmVNYXBwZXJQYWlu
dE9wdGlvbnMoKQogICAgICAgICA6IG9wYWNpdHkoMSkKKyAgICAgICAgLCBpc1ByZXNlcnZpbmcz
RChmYWxzZSkKICAgICAgICAgLCB0ZXh0dXJlTWFwcGVyKDApCiAgICAgeyB9CiB9OwpAQCAtNTYs
NyArNTgsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6Y29tcHV0ZVRyYW5zZm9ybXNSZWN1
cnNpdmUoKQogCiAgICAgbV9zdGF0ZS52aXNpYmxlID0gbV9zdGF0ZS5iYWNrZmFjZVZpc2liaWxp
dHkgfHwgIW1fY3VycmVudFRyYW5zZm9ybS5jb21iaW5lZCgpLmlzQmFja0ZhY2VWaXNpYmxlKCk7
CiAKLSAgICBpZiAobV9wYXJlbnQgJiYgbV9wYXJlbnQtPm1fc3RhdGUucHJlc2VydmVzM0QpCisg
ICAgaWYgKG1fc3RhdGUucHJlc2VydmVzM0QgfHwgKG1fcGFyZW50ICYmIG1fcGFyZW50LT5tX3N0
YXRlLnByZXNlcnZlczNEKSkKICAgICAgICAgbV9jZW50ZXJaID0gbV9jdXJyZW50VHJhbnNmb3Jt
LmNvbWJpbmVkKCkubWFwUG9pbnQoRmxvYXRQb2ludDNEKG1fc3RhdGUuc2l6ZS53aWR0aCgpIC8g
MiwgbV9zdGF0ZS5zaXplLmhlaWdodCgpIC8gMiwgMCkpLnooKTsKIAogICAgIGlmIChtX3N0YXRl
Lm1hc2tMYXllcikKQEAgLTY3LDEwICs2OSw2IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpj
b21wdXRlVHJhbnNmb3Jtc1JlY3Vyc2l2ZSgpCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1fY2hp
bGRyZW5baV0tPm1fcGFyZW50ID09IHRoaXMpOwogICAgICAgICBtX2NoaWxkcmVuW2ldLT5jb21w
dXRlVHJhbnNmb3Jtc1JlY3Vyc2l2ZSgpOwogICAgIH0KLQotICAgIC8vIFJlb3JkZXIgY2hpbGRy
ZW4gaWYgbmVlZGVkIG9uIHRoZSB3YXkgYmFjayB1cC4KLSAgICBpZiAobV9zdGF0ZS5wcmVzZXJ2
ZXMzRCkKLSAgICAgICAgc29ydEJ5Wk9yZGVyKG1fY2hpbGRyZW4pOwogfQogCiB2b2lkIFRleHR1
cmVNYXBwZXJMYXllcjo6cGFpbnQoKQpAQCAtMTY2LDcgKzE2NCw3IEBAIHZvaWQgVGV4dHVyZU1h
cHBlckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJlbihjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRP
cHRpb25zJiBvCiB7CiAgICAgcGFpbnRTZWxmKG9wdGlvbnMpOwogCi0gICAgaWYgKG1fY2hpbGRy
ZW4uaXNFbXB0eSgpKQorICAgIGlmIChtX2NoaWxkcmVuLmlzRW1wdHkoKSB8fCBtX3N0YXRlLnBy
ZXNlcnZlczNEKQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIHNob3VsZENsaXAgPSBtX3N0
YXRlLm1hc2tzVG9Cb3VuZHMgJiYgIW1fc3RhdGUucHJlc2VydmVzM0Q7CkBAIC0zNzEsNiArMzY5
LDMyIEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludFVzaW5nT3ZlcmxhcFJlZ2lvbnMo
Y29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9uCiAgICAgfQogfQogCitzdGF0aWMgdm9pZCBj
b2xsZWN0M0RMYXllcnMoY29uc3QgVmVjdG9yPFRleHR1cmVNYXBwZXJMYXllcio+JiBjYW5kaWRh
dGVzLCBWZWN0b3I8VGV4dHVyZU1hcHBlckxheWVyKj4mIGxheWVyc0luM0QpCit7CisgICAgZm9y
IChhdXRvJiBsYXllciA6IGNhbmRpZGF0ZXMpIHsKKyAgICAgICAgaWYgKCFsYXllci0+aXNQcmVz
ZXJ2aW5nM0QoKSB8fCBsYXllci0+Y2hpbGRyZW4oKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICBsYXllcnNJbjNELmFwcGVuZFZlY3RvcihsYXllci0+Y2hpbGRy
ZW4oKSk7CisgICAgICAgIGNvbGxlY3QzRExheWVycyhsYXllci0+Y2hpbGRyZW4oKSwgbGF5ZXJz
SW4zRCk7CisgICAgfQorfQorCit2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnQzRExheWVy
cyhjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQoreworICAgIFZlY3Rv
cjxUZXh0dXJlTWFwcGVyTGF5ZXIqPiBsYXllcnNJbjNEKG1fY2hpbGRyZW4pOworICAgIGxheWVy
c0luM0QuYXBwZW5kKHRoaXMpOworCisgICAgY29sbGVjdDNETGF5ZXJzKG1fY2hpbGRyZW4sIGxh
eWVyc0luM0QpOworICAgIHNvcnRCeVpPcmRlcihsYXllcnNJbjNEKTsKKworICAgIFRleHR1cmVN
YXBwZXJQYWludE9wdGlvbnMgbmV3T3B0aW9ucyhvcHRpb25zKTsKKyAgICBuZXdPcHRpb25zLmlz
UHJlc2VydmluZzNEID0gdHJ1ZTsKKworICAgIGZvciAoYXV0byYgbGF5ZXIgOiBsYXllcnNJbjNE
KQorICAgICAgICBsYXllci0+cGFpbnRSZWN1cnNpdmUobmV3T3B0aW9ucyk7Cit9CisKIHZvaWQg
VGV4dHVyZU1hcHBlckxheWVyOjphcHBseU1hc2soY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0
aW9ucyYgb3B0aW9ucykKIHsKICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXItPnNldE1hc2tNb2Rl
KHRydWUpOwpAQCAtNDM5LDYgKzQ2MywxMSBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFp
bnRSZWN1cnNpdmUoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucwogICAg
IGlmICghaXNWaXNpYmxlKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmICghb3B0aW9ucy5p
c1ByZXNlcnZpbmczRCAmJiBtX3N0YXRlLnByZXNlcnZlczNEICYmIG1fcGFyZW50ICYmICFtX3Bh
cmVudC0+bV9zdGF0ZS5wcmVzZXJ2ZXMzRCkgeworICAgICAgICBwYWludDNETGF5ZXJzKG9wdGlv
bnMpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgVGV4dHVyZU1hcHBlclBhaW50T3B0
aW9ucyBwYWludE9wdGlvbnMob3B0aW9ucyk7CiAgICAgcGFpbnRPcHRpb25zLm9wYWNpdHkgKj0g
bV9jdXJyZW50T3BhY2l0eTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oCmluZGV4IDBiZjk2MjEz
OTdkYjAwNGFjZjdkNzYyYmIzNzAxNDNhODIyNzAwZTAuLjgyNzFjYzExMjcyMWMxYTBiMGNjY2Vk
MTM4ZjBjMThiNTM1MDJkNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmgKQEAgLTExNCw2ICsx
MTQsOCBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9CiAKKyAgICBib29sIGlzUHJlc2VydmluZzNE
KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5wcmVzZXJ2ZXMzRDsgfQorCiAgICAgdm9pZCBzZXRE
ZWJ1Z1Zpc3VhbHMoYm9vbCBzaG93RGVidWdCb3JkZXJzLCBjb25zdCBDb2xvciYgZGVidWdCb3Jk
ZXJDb2xvciwgZmxvYXQgZGVidWdCb3JkZXJXaWR0aCwgYm9vbCBzaG93UmVwYWludENvdW50ZXIp
OwogICAgIGJvb2wgaXNTaG93aW5nUmVwYWludENvdW50ZXIoKSBjb25zdCB7IHJldHVybiBtX3N0
YXRlLnNob3dSZXBhaW50Q291bnRlcjsgfQogICAgIHZvaWQgc2V0UmVwYWludENvdW50KGludCk7
CkBAIC0xNjIsNiArMTY0LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGFpbnRSZWN1cnNpdmUo
Y29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOwogICAgIHZvaWQgcGFpbnRVc2luZ092
ZXJsYXBSZWdpb25zKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmKTsKKyAgICB2b2lk
IHBhaW50M0RMYXllcnMoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOwogICAgIFBh
c3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gcGFpbnRJbnRvU3VyZmFjZShjb25zdCBUZXh0dXJlTWFw
cGVyUGFpbnRPcHRpb25zJiwgY29uc3QgSW50U2l6ZSYpOwogICAgIHZvaWQgcGFpbnRXaXRoSW50
ZXJtZWRpYXRlU3VyZmFjZShjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiwgY29uc3Qg
SW50UmVjdCYpOwogICAgIHZvaWQgcGFpbnRTZWxmKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9w
dGlvbnMmKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA3ODk2OWY3YzNlNzY1YmRlNmIyYWU1NDhlMzE1ZTFlNTMzN2QxYWRm
Li4wNzlhNjVkYTMwNzA1ZDBkZThjODhkYzljYTIzNDU4Y2I4MTMzODY2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTQtMDgtMjEgIEh5b3dvbiBLaW0gIDxodzEwMDgua2ltQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtUZXhtYXBdIEluY29ycmVjdCBvcmRlciBvZiBjb21wb3NpdGluZyBsYXll
cnMgd2l0aCB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMDY2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBhIGxheWVyIHdpdGggcHJlc2VydmUt
M2QgaXMgZW5jb3VudGVyZWQgZHVyaW5nIGNvbXBvc2l0aW5nLAorICAgICAgICBUZXh0dXJlTWFw
cGVyIHNob3VsZCBzb3J0IGFsbCBsYXllcnMgaW52b2x2ZWQgaW4gcHJlc2VydmUtM2QsCisgICAg
ICAgIGFuZCB0aGVuIGNvbXBvc2l0ZSB0aGVtIGluIHRoZSByaWdodCBvcmRlci4KKworICAgICAg
ICAqIGNvbXBvc2l0aW5nL3ByZXNlcnZlLTNkLWxheWVyLW9yZGVyLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3ByZXNlcnZlLTNkLWxheWVyLW9yZGVyLmh0bWw6
IEFkZGVkLgorCiAyMDE0LTA4LTIwICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBDU1M6IEltcGxlbWVudCB0aGUgOnBsYWNlaG9sZGVyLXNob3duIHBz
ZXVkby1jbGFzcyBmcm9tIFNlbGVjdG9ycyBMZXZlbCA0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1sYXllci1vcmRlci1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcHJlc2VydmUtM2QtbGF5ZXItb3JkZXItZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZGEzOWRiNWFmNWE4NzBmYWEyYTZjZWQxYjk4NDQwN2JhY2UyZTM3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcHJlc2VydmUtM2QtbGF5
ZXItb3JkZXItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgIC5zdGFnZSB7CisgICAgICAgIHBvc2l0
aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgdG9wOiAwcHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKKyAg
ICB9CisKKyAgICAucHJlc2VydmUtM2QgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHls
ZTogcHJlc2VydmUtM2Q7CisgICAgfQorCisgICAgLmJveCB7CisgICAgICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKworICAgIC5mcm9udCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwor
ICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM0QoMHB4LCAwcHgsIDEwcHgpIAor
ICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0ic3Rh
Z2UiPgorICAgICAgICA8ZGl2IGNsYXNzPSJwcmVzZXJ2ZS0zZCBib3ggZnJvbnQiPjwvZGl2Pgor
ICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1sYXllci1vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcHJlc2VydmUtM2QtbGF5ZXItb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDQ5YjAx
NjY2M2RlNzU0M2YxNGE5YmVlZTFmYjczYjcxOTg1YzVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcHJlc2VydmUtM2QtbGF5ZXItb3JkZXIuaHRtbApAQCAtMCww
ICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgor
ICAgIC5zdGFnZSB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgdG9wOiAw
cHg7CisgICAgICAgIGxlZnQ6IDBweDsKKyAgICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgICBi
YWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKKyAgICB9CisKKyAgICAucHJlc2VydmUtM2QgeworICAg
ICAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CisgICAgfQorCisgICAg
LmJveCB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKworICAgIC5mcm9udCB7CisgICAgICAg
IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJh
bnNsYXRlM0QoMHB4LCAwcHgsIDEwcHgpIAorICAgIH0KKworICAgIC5iYWNrIHsKKyAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNs
YXRlM0QoMHB4LCAwcHgsIC0xMHB4KSAKKyAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxkaXYgY2xhc3M9InN0YWdlIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icHJlc2Vy
dmUtM2QgYm94IGZyb250Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCBiYWNrIj48L2Rp
dj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403578</attachid>
            <date>2020-07-06 01:07:11 -0700</date>
            <delta_ts>2020-07-20 23:41:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90078-20200706100709.patch</filename>
            <type>text/plain</type>
            <size>9725</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzFlZmMwMjdmZDVlNTM1
MmM5ZWU2YzliNGYwYWI1YjlmMTlkMTJlMi4uNjYwN2FjMzlmMTE4ZTg5ZmQ5YTBhNDJiM2JkOTYx
M2M5ZDBjMzI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTA3LTA2ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtUZXh0dXJl
TWFwcGVyXSBPY2NsdXNpb24gY3VsbGluZyBpc3N1ZXMgd2l0aCBBQworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAwNzgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBIeW93b24g
S2ltIDxodzEwMDgua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFdoZW5ldmVyIGEgbGF5ZXIg
d2l0aCBwcmVzZXJ2ZS0zZCBpcyBlbmNvdW50ZXJlZCBkdXJpbmcgY29tcG9zaXRpbmcsIFRleHR1
cmVNYXBwZXIgc2hvdWxkIHNvcnQgYWxsIGxheWVycworICAgICAgICBpbnZvbHZlZCBpbiBwcmVz
ZXJ2ZS0zZCBhbmQgdGhlbiBjb21wb3NpdGUgdGhlbSBpbiB0aGUgcmlnaHQgb3JkZXIuCisKKyAg
ICAgICAgVGVzdDogY29tcG9zaXRpbmcvcHJlc2VydmUtM2QtbGF5ZXItb3JkZXIuaHRtbAorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXI6OmNvbXB1dGVUcmFuc2Zvcm1z
UmVjdXJzaXZlKTogQ29tcHV0ZSB6IGNlbnRlciBhbHNvIHdoZW4gY3VycmVudCBsYXllciBwcmVz
ZXJ2ZXMzRC4KKyAgICAgICAgQWxzbyBkbyBub3Qgc29ydCBjaGlsZHJlbiBieSB6LW9yZGVyIGV2
ZW4gaWYgcHJlc2VydmVzM0QgYXMgaXQgbWlnaHQgbm90IGJlIG5lZWRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRTZWxmQW5kQ2hpbGRyZW4pOiBCYWlsIG91
dCBpZiBwcmVzZXJ2ZXMzRC4KKyAgICAgICAgKFdlYkNvcmU6OnJlY3Vyc2l2ZWxseUNvbGxlY3Qz
RExheWVycyk6IEFkZGVkLiBSZWN1cnNpdmVsbHkgY29sbGVjdHMgcHJlc2VydmVzM0QgbGF5ZXJz
IGluIG91ciBjaGlsZHJlbi4KKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6
cGFpbnQzRExheWVycyk6IEFkZGVkLiBQYWludHMgcHJlc2VydmVzM0QgbGF5ZXJzIGluIHRoZSBy
aWdodCB6IG9yZGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWlu
dFJlY3Vyc2l2ZSk6IExldCBwYWludDNETGF5ZXJzKCkgZG8gdGhlIHdvcmsgaWYgYSBsYXllciBw
cmVzZXJ2ZXMzRC4gRG9uJ3QgZG8gaXQKKyAgICAgICAgaWYgb3VyIHBhcmVudCBhbHJlYWR5IHBy
ZXNlcnZlczNEIG9yIHdoZW4gd2UncmUgYWxyZWFkeSBiZWluZyBwYWludGVkIGJ5IHBhaW50M0RM
YXllcnMoKS4KKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6aGFzRmlsdGVy
cyBjb25zdCk6IE1vdmVkIGltcGxlbWVudGF0aW9uIHRvIHNvdXJjZSBhcyB0aGUgY2xhc3MgdXNl
cyBXRUJDT1JFX0VYUE9SVC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6
cHJlc2VydmVzM0QgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmg6CisKIDIwMjAtMDctMDUgIENvbW1pdCBRdWV1ZSAg
PGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGlu
ZyByMjYzOTYwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAppbmRleCBhYTI1MmE4MDQxNzg5
YjhiMjlmODhhMzY0ZTA5NzNmYTE5NDQ3NGI5Li44MjgzNjVjZjQ2NDc3ZGUzYTJiOGQ5ZWVlZjFl
YjE0OTY3YmUzYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcApAQCAtMzgsNiArMzgs
NyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IHN1cmZhY2U7CiAgICAgZmxv
YXQgb3BhY2l0eSB7IDEgfTsKICAgICBJbnRTaXplIG9mZnNldDsKKyAgICBib29sIGlzUHJlc2Vy
dmluZzNEIHsgZmFsc2UgfTsKIH07CiAKIFRleHR1cmVNYXBwZXJMYXllcjo6VGV4dHVyZU1hcHBl
ckxheWVyKCkgPSBkZWZhdWx0OwpAQCAtMTA0LDcgKzEwNSw3IEBAIHZvaWQgVGV4dHVyZU1hcHBl
ckxheWVyOjpjb21wdXRlVHJhbnNmb3Jtc1JlY3Vyc2l2ZSgpCiAKICAgICBtX3N0YXRlLnZpc2li
bGUgPSBtX3N0YXRlLmJhY2tmYWNlVmlzaWJpbGl0eSB8fCAhbV9sYXllclRyYW5zZm9ybXMuY29t
YmluZWQuaXNCYWNrRmFjZVZpc2libGUoKTsKIAotICAgIGlmIChtX3BhcmVudCAmJiBtX3BhcmVu
dC0+bV9zdGF0ZS5wcmVzZXJ2ZXMzRCkKKyAgICBpZiAobV9zdGF0ZS5wcmVzZXJ2ZXMzRCB8fCAo
bV9wYXJlbnQgJiYgbV9wYXJlbnQtPm1fc3RhdGUucHJlc2VydmVzM0QpKQogICAgICAgICBtX2Nl
bnRlclogPSBtX2xheWVyVHJhbnNmb3Jtcy5jb21iaW5lZC5tYXBQb2ludChGbG9hdFBvaW50M0Qo
bV9zdGF0ZS5zaXplLndpZHRoKCkgLyAyLCBtX3N0YXRlLnNpemUuaGVpZ2h0KCkgLyAyLCAwKSku
eigpOwogCiAgICAgaWYgKG1fc3RhdGUubWFza0xheWVyKQpAQCAtMTE2LDEwICsxMTcsNiBAQCB2
b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6Y29tcHV0ZVRyYW5zZm9ybXNSZWN1cnNpdmUoKQogICAg
ICAgICBjaGlsZC0+Y29tcHV0ZVRyYW5zZm9ybXNSZWN1cnNpdmUoKTsKICAgICB9CiAKLSAgICAv
LyBSZW9yZGVyIGNoaWxkcmVuIGlmIG5lZWRlZCBvbiB0aGUgd2F5IGJhY2sgdXAuCi0gICAgaWYg
KG1fc3RhdGUucHJlc2VydmVzM0QpCi0gICAgICAgIHNvcnRCeVpPcmRlcihtX2NoaWxkcmVuKTsK
LQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBpZiAobV9iYWNraW5nU3RvcmUg
JiYgbV9hbmltYXRlZEJhY2tpbmdTdG9yZUNsaWVudCkKICAgICAgICAgbV9hbmltYXRlZEJhY2tp
bmdTdG9yZUNsaWVudC0+cmVxdWVzdEJhY2tpbmdTdG9yZVVwZGF0ZUlmTmVlZGVkKG1fbGF5ZXJU
cmFuc2Zvcm1zLmZ1dHVyZUNvbWJpbmVkKTsKQEAgLTIxNyw3ICsyMTQsNyBAQCB2b2lkIFRleHR1
cmVNYXBwZXJMYXllcjo6cGFpbnRTZWxmQW5kQ2hpbGRyZW4oY29uc3QgVGV4dHVyZU1hcHBlclBh
aW50T3B0aW9ucyYgbwogewogICAgIHBhaW50U2VsZihvcHRpb25zKTsKIAotICAgIGlmIChtX2No
aWxkcmVuLmlzRW1wdHkoKSkKKyAgICBpZiAobV9jaGlsZHJlbi5pc0VtcHR5KCkgfHwgbV9zdGF0
ZS5wcmVzZXJ2ZXMzRCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYm9vbCBzaG91bGRDbGlwID0g
bV9zdGF0ZS5tYXNrc1RvQm91bmRzICYmICFtX3N0YXRlLnByZXNlcnZlczNEOwpAQCAtNDA4LDYg
KzQwNSwzMiBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRVc2luZ092ZXJsYXBSZWdp
b25zKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbgogICAgIH0KIH0KIAorc3RhdGljIHZv
aWQgcmVjdXJzaXZlbGx5Q29sbGVjdDNETGF5ZXJzKGNvbnN0IFZlY3RvcjxUZXh0dXJlTWFwcGVy
TGF5ZXIqPiYgY2FuZGlkYXRlcywgVmVjdG9yPFRleHR1cmVNYXBwZXJMYXllcio+JiBsYXllcnNJ
bjNEKQoreworICAgIGZvciAoYXV0byogbGF5ZXIgOiBjYW5kaWRhdGVzKSB7CisgICAgICAgIGlm
ICghbGF5ZXItPnByZXNlcnZlczNEKCkgfHwgbGF5ZXItPmNoaWxkcmVuKCkuaXNFbXB0eSgpKQor
ICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgbGF5ZXJzSW4zRC5hcHBlbmRWZWN0b3Io
bGF5ZXItPmNoaWxkcmVuKCkpOworICAgICAgICByZWN1cnNpdmVsbHlDb2xsZWN0M0RMYXllcnMo
bGF5ZXItPmNoaWxkcmVuKCksIGxheWVyc0luM0QpOworICAgIH0KK30KKwordm9pZCBUZXh0dXJl
TWFwcGVyTGF5ZXI6OnBhaW50M0RMYXllcnMoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9u
cyYgb3B0aW9ucykKK3sKKyAgICBWZWN0b3I8VGV4dHVyZU1hcHBlckxheWVyKj4gbGF5ZXJzSW4z
RChtX2NoaWxkcmVuKTsKKyAgICBsYXllcnNJbjNELmFwcGVuZCh0aGlzKTsKKworICAgIHJlY3Vy
c2l2ZWxseUNvbGxlY3QzRExheWVycyhtX2NoaWxkcmVuLCBsYXllcnNJbjNEKTsKKyAgICBzb3J0
QnlaT3JkZXIobGF5ZXJzSW4zRCk7CisKKyAgICBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zIG5l
d09wdGlvbnMob3B0aW9ucyk7CisgICAgbmV3T3B0aW9ucy5pc1ByZXNlcnZpbmczRCA9IHRydWU7
CisKKyAgICBmb3IgKGF1dG8qIGxheWVyIDogbGF5ZXJzSW4zRCkKKyAgICAgICAgbGF5ZXItPnBh
aW50UmVjdXJzaXZlKG5ld09wdGlvbnMpOworfQorCiB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6
YXBwbHlNYXNrKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlvbnMpCiB7CiAg
ICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVyLnNldE1hc2tNb2RlKHRydWUpOwpAQCAtNDc0LDYgKzQ5
NywxMSBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRSZWN1cnNpdmUoY29uc3QgVGV4
dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucwogICAgIGlmICghaXNWaXNpYmxlKCkpCiAg
ICAgICAgIHJldHVybjsKIAorICAgIGlmICghb3B0aW9ucy5pc1ByZXNlcnZpbmczRCAmJiBtX3N0
YXRlLnByZXNlcnZlczNEICYmIG1fcGFyZW50ICYmICFtX3BhcmVudC0+bV9zdGF0ZS5wcmVzZXJ2
ZXMzRCkgeworICAgICAgICBwYWludDNETGF5ZXJzKG9wdGlvbnMpOworICAgICAgICByZXR1cm47
CisgICAgfQorCiAgICAgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyBwYWludE9wdGlvbnMob3B0
aW9ucyk7CiAgICAgcGFpbnRPcHRpb25zLm9wYWNpdHkgKj0gbV9jdXJyZW50T3BhY2l0eTsKIApA
QCAtNjg5LDYgKzcxNywxNSBAQCBib29sIFRleHR1cmVNYXBwZXJMYXllcjo6ZGVzY2VuZGFudHNP
clNlbGZIYXZlUnVubmluZ0FuaW1hdGlvbnMoKSBjb25zdAogICAgICAgICB9KTsKIH0KIAorYm9v
bCBUZXh0dXJlTWFwcGVyTGF5ZXI6Omhhc0ZpbHRlcnMoKSBjb25zdAoreworICAgIHJldHVybiAh
bV9jdXJyZW50RmlsdGVycy5pc0VtcHR5KCk7Cit9Citib29sIFRleHR1cmVNYXBwZXJMYXllcjo6
cHJlc2VydmVzM0QoKSBjb25zdAoreworICAgIHJldHVybiBtX3N0YXRlLnByZXNlcnZlczNEOwor
fQorCiBib29sIFRleHR1cmVNYXBwZXJMYXllcjo6YXBwbHlBbmltYXRpb25zUmVjdXJzaXZlbHko
TW9ub3RvbmljVGltZSB0aW1lKQogewogICAgIGJvb2wgaGFzUnVubmluZ0FuaW1hdGlvbnMgPSBz
eW5jQW5pbWF0aW9ucyh0aW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAppbmRleCA1NTQxOGMw
ZDIwMGYyNDVjNWM4ZGYzYjE5NTFjNWFhMDhhNzNjMjM4Li41ZjE2MjVhZWQ4NTQ1ZDAyMGExMmMy
MzM2MTY4NGE3OTBiODMzYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oCkBAIC04MywxMiAr
ODMsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDb250ZW50c1RpbGVQaGFzZShjb25zdCBGbG9h
dFNpemUmKTsKICAgICB2b2lkIHNldENvbnRlbnRzQ2xpcHBpbmdSZWN0KGNvbnN0IEZsb2F0Um91
bmRlZFJlY3QmKTsKICAgICB2b2lkIHNldEZpbHRlcnMoY29uc3QgRmlsdGVyT3BlcmF0aW9ucyYp
OwotCi0gICAgYm9vbCBoYXNGaWx0ZXJzKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAh
bV9jdXJyZW50RmlsdGVycy5pc0VtcHR5KCk7Ci0gICAgfQotCiAgICAgdm9pZCBzZXREZWJ1Z1Zp
c3VhbHMoYm9vbCBzaG93RGVidWdCb3JkZXJzLCBjb25zdCBDb2xvciYgZGVidWdCb3JkZXJDb2xv
ciwgZmxvYXQgZGVidWdCb3JkZXJXaWR0aCk7CiAgICAgdm9pZCBzZXRSZXBhaW50Q291bnRlcihi
b29sIHNob3dSZXBhaW50Q291bnRlciwgaW50IHJlcGFpbnRDb3VudCk7CiAgICAgdm9pZCBzZXRD
b250ZW50c0xheWVyKFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyKik7CkBAIC05OCw2ICs5Miw5
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFuaW1hdGVkQmFja2luZ1N0b3JlQ2xpZW50KE5pY29z
aWE6OkFuaW1hdGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7CiAjZW5kaWYKIAorICAgIGJvb2wgaGFz
RmlsdGVycygpIGNvbnN0OworICAgIGJvb2wgcHJlc2VydmVzM0QoKSBjb25zdDsKKwogICAgIGJv
b2wgYXBwbHlBbmltYXRpb25zUmVjdXJzaXZlbHkoTW9ub3RvbmljVGltZSk7CiAgICAgYm9vbCBz
eW5jQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lKTsKICAgICBib29sIGRlc2NlbmRhbnRzT3JTZWxm
SGF2ZVJ1bm5pbmdBbmltYXRpb25zKCkgY29uc3Q7CkBAIC0xMzEsNiArMTI4LDcgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgcGFpbnRSZWN1cnNpdmUoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0
aW9ucyYpOwogICAgIHZvaWQgcGFpbnRVc2luZ092ZXJsYXBSZWdpb25zKGNvbnN0IFRleHR1cmVN
YXBwZXJQYWludE9wdGlvbnMmKTsKKyAgICB2b2lkIHBhaW50M0RMYXllcnMoY29uc3QgVGV4dHVy
ZU1hcHBlclBhaW50T3B0aW9ucyYpOwogICAgIFJlZlB0cjxCaXRtYXBUZXh0dXJlPiBwYWludElu
dG9TdXJmYWNlKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmLCBjb25zdCBJbnRTaXpl
Jik7CiAgICAgdm9pZCBwYWludFdpdGhJbnRlcm1lZGlhdGVTdXJmYWNlKGNvbnN0IFRleHR1cmVN
YXBwZXJQYWludE9wdGlvbnMmLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdm9pZCBwYWludFNlbGYo
Y29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE3ZDMwZTNkNzY1Nzhm
MTliYzI2Y2E1ODhhMmI2YTYxYjA4MjUyNTguLmFiNWY5Mzk1ZjY1OWE3OTAxZTA3MzcxMTRjYjY2
NTNiYTZmNTRiZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNy0wNiAgU2VyZ2lvIFZp
bGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbVGV4dHVyZU1hcHBl
cl0gT2NjbHVzaW9uIGN1bGxpbmcgaXNzdWVzIHdpdGggQUMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMDc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1sYXll
ci1vcmRlci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9wcmVz
ZXJ2ZS0zZC1sYXllci1vcmRlci5odG1sOiBBZGRlZC4KKwogMjAyMC0wNy0wMyAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFSZWNvcmRlciBzaG91bGQg
c3VwcG9ydCBwZWVyIGNvbm5lY3Rpb24gcmVtb3RlIHZpZGVvIHRyYWNrcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcHJlc2VydmUtM2QtbGF5ZXItb3JkZXItZXhwZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ByZXNlcnZlLTNkLWxheWVyLW9yZGVyLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU1YjRjYmJmOWE0MmM0NDNlN2UzNGZiMjhjMDIzMjM5
NDQwNWExNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ByZXNl
cnZlLTNkLWxheWVyLW9yZGVyLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NU
WVBFIGh0bWw+CisKKzxzdHlsZT4KKy5zdGFnZSB7CisgICAgcG9zaXRpb246IGFic29sdXRlOwor
ICAgIHRvcDogMHB4OworICAgIGxlZnQ6IDBweDsKKyAgICBtYXJnaW46IDEwcHg7CisgICAgYmFj
a2dyb3VuZDogdHJhbnNwYXJlbnQ7Cit9CisucHJlc2VydmUtM2QgeworICAgIHRyYW5zZm9ybS1z
dHlsZTogcHJlc2VydmUtM2Q7Cit9CisuYm94IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7Cisg
ICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7Cit9CisuZnJvbnQgeworICAgIGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOworICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM0QoMHB4LCAw
cHgsIDEwcHgpIAorfQorPC9zdHlsZT4KKworPGRpdiBjbGFzcz0ic3RhZ2UiPgorICAgIDxkaXYg
Y2xhc3M9InByZXNlcnZlLTNkIGJveCBmcm9udCI+PC9kaXY+Cis8L2Rpdj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3ByZXNlcnZlLTNkLWxheWVyLW9yZGVyLmh0bWwgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1sYXllci1vcmRlci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjNjMzVkMGNlNjA4NGNmMzhhMDk1ZDRkNjFlNzJjZjRjZDAxZjRhMmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9wcmVzZXJ2ZS0zZC1sYXllci1vcmRl
ci5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+Cisuc3Rh
Z2UgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDBweDsKKyAgICBsZWZ0OiAw
cHg7CisgICAgbWFyZ2luOiAxMHB4OworICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OworfQor
LnByZXNlcnZlLTNkIHsKKyAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOworfQorLmJv
eCB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWln
aHQ6IDEwMHB4OworfQorLmZyb250IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAg
ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNEKDBweCwgMHB4LCAxMHB4KSAKK30KKy5iYWNrIHsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzRCgwcHgs
IDBweCwgLTEwcHgpIAorfQorPC9zdHlsZT4KKworPGRpdiBjbGFzcz0ic3RhZ2UiPgorICAgIDxk
aXYgY2xhc3M9InByZXNlcnZlLTNkIGJveCBmcm9udCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImJv
eCBiYWNrIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>403654</attachid>
            <date>2020-07-06 19:31:17 -0700</date>
            <delta_ts>2020-07-06 19:31:17 -0700</delta_ts>
            <desc>test case 2</desc>
            <filename>zordering2.html</filename>
            <type>text/html</type>
            <size>920</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAjY29udGFpbmVyIHsK
ICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDEwMHB4OwogICAgICBsZWZ0OiAx
MDBweDsKICAgICAgaGVpZ2h0OiAzMDBweDsKICAgICAgd2lkdGg6IDMwMHB4OwogICAgICBib3Jk
ZXI6IDJweCBzb2xpZCBibGFjazsKICAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogNTAwOwogICAg
fQoKICAgICNwYXJlbnQgewogICAgICB3aWR0aDogMzAwcHg7CiAgICAgIGhlaWdodDogMzAwcHg7
CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0
eWxlOiBwcmVzZXJ2ZS0zZDsKICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMjBzIGluZmlu
aXRlIGxpbmVhcjsKICAgIH0KICAgIEAtd2Via2l0LWtleWZyYW1lcyBzcGluIHsKICAgICAgZnJv
bSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDApOyB9CiAgICAgIHRvICAgeyAtd2Via2l0
LXRyYW5zZm9ybTogcm90YXRlWSgzNjBkZWcpOyB9CiAgICB9CgogICAgI3BhcmVudCA+IDpmaXJz
dC1jaGlsZCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgdG9wOiA1MHB4OwogICAg
ICBsZWZ0OiA1MHB4OwogICAgICB3aWR0aDogMTUwcHg7CiAgICAgIGhlaWdodDogMTUwcHg7CiAg
ICAgIGJhY2tncm91bmQtY29sb3I6IGxpbWU7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3Rh
dGVZKDkwZGVnKTsKICAgIH0KICA8L3N0eWxlPgo8L2hlYWQ+Cgo8Ym9keT4KICA8ZGl2IGlkPSJj
b250YWluZXIiPgogICAgPGRpdiBpZD0icGFyZW50Ij4KICAgICAgPGRpdj4td2Via2l0LXRyYW5z
Zm9ybTogcm90YXRlWSg5MGRlZyk7PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9ib2R5PgoK
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404799</attachid>
            <date>2020-07-20 23:41:42 -0700</date>
            <delta_ts>2020-09-25 00:29:45 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>depth-buffer.diff</filename>
            <type>text/plain</type>
            <size>4629</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRl
eHRFR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4
dEVHTC5jcHAKaW5kZXggM2QzMmY4OGVlMmEuLmI3M2M5NTM4N2E5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMLmNwcApAQCAt
MTE1LDYgKzExNSw3IEBAIGJvb2wgR0xDb250ZXh0RUdMOjpnZXRFR0xDb25maWcoRUdMRGlzcGxh
eSBkaXNwbGF5LCBFR0xDb25maWcqIGNvbmZpZywgRUdMU3VyZmFjCiAgICAgICAgIEVHTF9BTFBI
QV9TSVpFLCByZ2JhU2l6ZVszXSwKICAgICAgICAgRUdMX1NURU5DSUxfU0laRSwgOCwKICAgICAg
ICAgRUdMX1NVUkZBQ0VfVFlQRSwgRUdMX05PTkUsCisgICAgICAgIEVHTF9ERVBUSF9TSVpFLCA4
LAogICAgICAgICBFR0xfTk9ORQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCmluZGV4IDJlZjZkMjQ0
NmU3Li5lZWIwZmNhNDFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCkBAIC03OCw2ICs3OCw4IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4
JiwgY29uc3QgRmxvYXRSZWN0JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBlbmRDbGlwKCkgPSAw
OwogICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwQm91bmRzKCkgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBiZWdpblByZXNlcnZlczNEKCkgeyB9OworICAgIHZpcnR1YWwgdm9pZCBlbmRQcmVzZXJ2ZXMz
RCgpIHsgfTsKICAgICB2aXJ0dWFsIFJlZjxCaXRtYXBUZXh0dXJlPiBjcmVhdGVUZXh0dXJlKCkg
PSAwOwogICAgIHZpcnR1YWwgUmVmPEJpdG1hcFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoaW50IGlu
dGVybmFsRm9ybWF0KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKaW5kZXggYmE0MmU3YzYz
ZDMuLmRiYmRkY2ZjYWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcApAQCAtMjAzLDcgKzIwMyw2
IEBAIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpiZWdpblBhaW50aW5nKFBhaW50RmxhZ3MgZmxhZ3Mp
CiAgICAgZ2xEaXNhYmxlKEdMX0RFUFRIX1RFU1QpOwogICAgIGdsRW5hYmxlKEdMX1NDSVNTT1Jf
VEVTVCk7CiAgICAgZGF0YSgpLmRpZE1vZGlmeVN0ZW5jaWwgPSBmYWxzZTsKLSAgICBnbERlcHRo
TWFzaygwKTsKICAgICBnbEdldEludGVnZXJ2KEdMX1ZJRVdQT1JULCBkYXRhKCkudmlld3BvcnQp
OwogICAgIGdsR2V0SW50ZWdlcnYoR0xfU0NJU1NPUl9CT1gsIGRhdGEoKS5wcmV2aW91c1NjaXNz
b3IpOwogICAgIG1fY2xpcFN0YWNrLnJlc2V0KEludFJlY3QoMCwgMCwgZGF0YSgpLnZpZXdwb3J0
WzJdLCBkYXRhKCkudmlld3BvcnRbM10pLCBmbGFncyAmIFBhaW50aW5nTWlycm9yZWQgPyBDbGlw
U3RhY2s6OllBeGlzTW9kZTo6RGVmYXVsdCA6IENsaXBTdGFjazo6WUF4aXNNb2RlOjpJbnZlcnRl
ZCk7CkBAIC04MjQsOCArODIzLDggQEAgdm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdGaWx0ZXJl
ZChjb25zdCBCaXRtYXBUZXh0dXJlJiBzYW1wbGVyLCBjb25zdCBCaXRtYXBUZXgKIAogc3RhdGlj
IGlubGluZSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBjcmVhdGVQcm9qZWN0aW9uTWF0cml4KGNvbnN0
IEludFNpemUmIHNpemUsIGJvb2wgbWlycm9yZWQpCiB7Ci0gICAgY29uc3QgZmxvYXQgbmVhclZh
bHVlID0gOTk5OTk5OTsKLSAgICBjb25zdCBmbG9hdCBmYXJWYWx1ZSA9IC05OTk5OTsKKyAgICBj
b25zdCBmbG9hdCBuZWFyVmFsdWUgPSAtOTk5OTk7CisgICAgY29uc3QgZmxvYXQgZmFyVmFsdWUg
PSA5OTk5OTk5OwogCiAgICAgcmV0dXJuIFRyYW5zZm9ybWF0aW9uTWF0cml4KDIuMCAvIGZsb2F0
KHNpemUud2lkdGgoKSksIDAsIDAsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDAsIChtaXJyb3JlZCA/IDIuMCA6IC0yLjApIC8gZmxvYXQoc2l6ZS5oZWlnaHQoKSksIDAsIDAs
CkBAIC05NDksNiArOTQ4LDE3IEBAIEludFJlY3QgVGV4dHVyZU1hcHBlckdMOjpjbGlwQm91bmRz
KCkKICAgICByZXR1cm4gY2xpcFN0YWNrKCkuY3VycmVudCgpLnNjaXNzb3JCb3g7CiB9CiAKK3Zv
aWQgVGV4dHVyZU1hcHBlckdMOjpiZWdpblByZXNlcnZlczNEKCkKK3sKKyAgICBnbEVuYWJsZShH
TF9ERVBUSF9URVNUKTsKKyAgICBnbENsZWFyKEdMX0RFUFRIX0JVRkZFUl9CSVQpOworfQorCit2
b2lkIFRleHR1cmVNYXBwZXJHTDo6ZW5kUHJlc2VydmVzM0QoKQoreworICAgIGdsRGlzYWJsZShH
TF9ERVBUSF9URVNUKTsKK30KKwogUmVmPEJpdG1hcFRleHR1cmU+IFRleHR1cmVNYXBwZXJHTDo6
Y3JlYXRlVGV4dHVyZShHTGludCBpbnRlcm5hbEZvcm1hdCkKIHsKICAgICByZXR1cm4gQml0bWFw
VGV4dHVyZUdMOjpjcmVhdGUobV9jb250ZXh0QXR0cmlidXRlcywgaW50ZXJuYWxGb3JtYXQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJHTC5oCmluZGV4IDY1ZTgxNDFmNTM4Li4yNjcxNzVlMTg0MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJH
TC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVyR0wuaApAQCAtNzksNiArNzksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBiZWdpblBhaW50
aW5nKFBhaW50RmxhZ3MgPSAwKSBvdmVycmlkZTsKICAgICB2b2lkIGVuZFBhaW50aW5nKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBlbmRDbGlwKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBiZWdpblByZXNl
cnZlczNEKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBlbmRQcmVzZXJ2ZXMzRCgpIG92ZXJyaWRlOwog
ICAgIEludFJlY3QgY2xpcEJvdW5kcygpIG92ZXJyaWRlOwogICAgIEludFNpemUgbWF4VGV4dHVy
ZVNpemUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBJbnRTaXplKDIwMDAsIDIwMDApOyB9CiAg
ICAgUmVmPEJpdG1hcFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoKSBvdmVycmlkZSB7IHJldHVybiBj
cmVhdGVUZXh0dXJlKEdMX0RPTlRfQ0FSRSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAK
aW5kZXggYWEyNTJhODA0MTcuLmRmNzIwMWRjZDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVy
LmNwcApAQCAtMjE1LDYgKzIxNSw5IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpzb3J0Qnla
T3JkZXIoVmVjdG9yPFRleHR1cmVNYXBwZXJMYXllciogPiYgYXJyYXkpCiAKIHZvaWQgVGV4dHVy
ZU1hcHBlckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJlbihjb25zdCBUZXh0dXJlTWFwcGVyUGFp
bnRPcHRpb25zJiBvcHRpb25zKQogeworICAgIGlmIChtX3N0YXRlLnByZXNlcnZlczNEKQorICAg
ICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXIuYmVnaW5QcmVzZXJ2ZXMzRCgpOworICAgICAgICAK
ICAgICBwYWludFNlbGYob3B0aW9ucyk7CiAKICAgICBpZiAobV9jaGlsZHJlbi5pc0VtcHR5KCkp
CkBAIC0yNDIsNiArMjQ1LDggQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZkFu
ZENoaWxkcmVuKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG8KIAogICAgIGlmIChz
aG91bGRDbGlwKQogICAgICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXIuZW5kQ2xpcCgpOworICAg
IGlmIChtX3N0YXRlLnByZXNlcnZlczNEKQorICAgICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXIu
ZW5kUHJlc2VydmVzM0QoKTsKIH0KIAogYm9vbCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNob3VsZEJs
ZW5kKCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409663</attachid>
            <date>2020-09-25 00:29:45 -0700</date>
            <delta_ts>2020-09-27 17:07:11 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>depth-test.diff</filename>
            <type>text/plain</type>
            <size>5330</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRl
eHRFR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4
dEVHTC5jcHAKaW5kZXggYjZkNjBiNDk2YzNmLi42ZjQwZTNhNGQwNTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwCkBA
IC0xMTgsNiArMTE4LDcgQEAgYm9vbCBHTENvbnRleHRFR0w6OmdldEVHTENvbmZpZyhFR0xEaXNw
bGF5IGRpc3BsYXksIEVHTENvbmZpZyogY29uZmlnLCBFR0xTdXJmYWMKICAgICAgICAgRUdMX0FM
UEhBX1NJWkUsIHJnYmFTaXplWzNdLAogICAgICAgICBFR0xfU1RFTkNJTF9TSVpFLCA4LAogICAg
ICAgICBFR0xfU1VSRkFDRV9UWVBFLCBFR0xfTk9ORSwKKyAgICAgICAgRUdMX0RFUFRIX1NJWkUs
IDgsCiAgICAgICAgIEVHTF9OT05FCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKaW5kZXggMmVmNmQy
NDQ2ZTc5Li5lZWIwZmNhNDFhZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaApAQCAtNzgsNiArNzgsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGJlZ2luQ2xpcChjb25zdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYsIGNvbnN0IEZsb2F0UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZW5kQ2xpcCgp
ID0gMDsKICAgICB2aXJ0dWFsIEludFJlY3QgY2xpcEJvdW5kcygpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgYmVnaW5QcmVzZXJ2ZXMzRCgpIHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5kUHJlc2Vy
dmVzM0QoKSB7IH07CiAgICAgdmlydHVhbCBSZWY8Qml0bWFwVGV4dHVyZT4gY3JlYXRlVGV4dHVy
ZSgpID0gMDsKICAgICB2aXJ0dWFsIFJlZjxCaXRtYXBUZXh0dXJlPiBjcmVhdGVUZXh0dXJlKGlu
dCBpbnRlcm5hbEZvcm1hdCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IGJhNDJl
N2M2M2QzYi4uNTQwYzQwYmI0YzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcApAQCAtMjAxLDkg
KzIwMSw5IEBAIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpiZWdpblBhaW50aW5nKFBhaW50RmxhZ3Mg
ZmxhZ3MpCiAgICAgZGF0YSgpLnByZXZpb3VzU2Npc3NvclN0YXRlID0gZ2xJc0VuYWJsZWQoR0xf
U0NJU1NPUl9URVNUKTsKICAgICBkYXRhKCkucHJldmlvdXNEZXB0aFN0YXRlID0gZ2xJc0VuYWJs
ZWQoR0xfREVQVEhfVEVTVCk7CiAgICAgZ2xEaXNhYmxlKEdMX0RFUFRIX1RFU1QpOworICAgIGds
RGVwdGhGdW5jKEdMX0xFUVVBTCk7CiAgICAgZ2xFbmFibGUoR0xfU0NJU1NPUl9URVNUKTsKICAg
ICBkYXRhKCkuZGlkTW9kaWZ5U3RlbmNpbCA9IGZhbHNlOwotICAgIGdsRGVwdGhNYXNrKDApOwog
ICAgIGdsR2V0SW50ZWdlcnYoR0xfVklFV1BPUlQsIGRhdGEoKS52aWV3cG9ydCk7CiAgICAgZ2xH
ZXRJbnRlZ2VydihHTF9TQ0lTU09SX0JPWCwgZGF0YSgpLnByZXZpb3VzU2Npc3Nvcik7CiAgICAg
bV9jbGlwU3RhY2sucmVzZXQoSW50UmVjdCgwLCAwLCBkYXRhKCkudmlld3BvcnRbMl0sIGRhdGEo
KS52aWV3cG9ydFszXSksIGZsYWdzICYgUGFpbnRpbmdNaXJyb3JlZCA/IENsaXBTdGFjazo6WUF4
aXNNb2RlOjpEZWZhdWx0IDogQ2xpcFN0YWNrOjpZQXhpc01vZGU6OkludmVydGVkKTsKQEAgLTgy
NCw4ICs4MjQsOCBAQCB2b2lkIFRleHR1cmVNYXBwZXJHTDo6ZHJhd0ZpbHRlcmVkKGNvbnN0IEJp
dG1hcFRleHR1cmUmIHNhbXBsZXIsIGNvbnN0IEJpdG1hcFRleAogCiBzdGF0aWMgaW5saW5lIFRy
YW5zZm9ybWF0aW9uTWF0cml4IGNyZWF0ZVByb2plY3Rpb25NYXRyaXgoY29uc3QgSW50U2l6ZSYg
c2l6ZSwgYm9vbCBtaXJyb3JlZCkKIHsKLSAgICBjb25zdCBmbG9hdCBuZWFyVmFsdWUgPSA5OTk5
OTk5OwotICAgIGNvbnN0IGZsb2F0IGZhclZhbHVlID0gLTk5OTk5OworICAgIGNvbnN0IGZsb2F0
IG5lYXJWYWx1ZSA9IC05OTk5OTsKKyAgICBjb25zdCBmbG9hdCBmYXJWYWx1ZSA9IDk5OTk5OTk7
CiAKICAgICByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoMi4wIC8gZmxvYXQoc2l6ZS53aWR0
aCgpKSwgMCwgMCwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgKG1pcnJv
cmVkID8gMi4wIDogLTIuMCkgLyBmbG9hdChzaXplLmhlaWdodCgpKSwgMCwgMCwKQEAgLTk0OSw2
ICs5NDksMTcgQEAgSW50UmVjdCBUZXh0dXJlTWFwcGVyR0w6OmNsaXBCb3VuZHMoKQogICAgIHJl
dHVybiBjbGlwU3RhY2soKS5jdXJyZW50KCkuc2Npc3NvckJveDsKIH0KIAordm9pZCBUZXh0dXJl
TWFwcGVyR0w6OmJlZ2luUHJlc2VydmVzM0QoKQoreworICAgIGdsRW5hYmxlKEdMX0RFUFRIX1RF
U1QpOworICAgIGdsQ2xlYXIoR0xfREVQVEhfQlVGRkVSX0JJVCk7Cit9CisKK3ZvaWQgVGV4dHVy
ZU1hcHBlckdMOjplbmRQcmVzZXJ2ZXMzRCgpCit7CisgICAgZ2xEaXNhYmxlKEdMX0RFUFRIX1RF
U1QpOworfQorCiBSZWY8Qml0bWFwVGV4dHVyZT4gVGV4dHVyZU1hcHBlckdMOjpjcmVhdGVUZXh0
dXJlKEdMaW50IGludGVybmFsRm9ybWF0KQogewogICAgIHJldHVybiBCaXRtYXBUZXh0dXJlR0w6
OmNyZWF0ZShtX2NvbnRleHRBdHRyaWJ1dGVzLCBpbnRlcm5hbEZvcm1hdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdM
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckdMLmgKaW5kZXggNjVlODE0MWY1Mzg1Li4yNjcxNzVlMTg0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdM
LmgKQEAgLTc5LDYgKzc5LDggQEAgcHVibGljOgogICAgIHZvaWQgYmVnaW5QYWludGluZyhQYWlu
dEZsYWdzID0gMCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBlbmRQYWludGluZygpIG92ZXJyaWRlOwog
ICAgIHZvaWQgZW5kQ2xpcCgpIG92ZXJyaWRlOworICAgIHZvaWQgYmVnaW5QcmVzZXJ2ZXMzRCgp
IG92ZXJyaWRlOworICAgIHZvaWQgZW5kUHJlc2VydmVzM0QoKSBvdmVycmlkZTsKICAgICBJbnRS
ZWN0IGNsaXBCb3VuZHMoKSBvdmVycmlkZTsKICAgICBJbnRTaXplIG1heFRleHR1cmVTaXplKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gSW50U2l6ZSgyMDAwLCAyMDAwKTsgfQogICAgIFJlZjxC
aXRtYXBUZXh0dXJlPiBjcmVhdGVUZXh0dXJlKCkgb3ZlcnJpZGUgeyByZXR1cm4gY3JlYXRlVGV4
dHVyZShHTF9ET05UX0NBUkUpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCmluZGV4IGQ4
NmE0YTdkMzdhOS4uYTIzNmE2YTdhODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcApA
QCAtMjIyLDYgKzIyMiw5IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGZBbmRD
aGlsZHJlbihjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvCiAgICAgaWYgKG1fc3Rh
dGUuYmFja2Ryb3BMYXllciAmJiBtX3N0YXRlLmJhY2tkcm9wTGF5ZXIgPT0gb3B0aW9ucy5iYWNr
ZHJvcExheWVyKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAobV9zdGF0ZS5wcmVzZXJ2ZXMz
RCkKKyAgICAgICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVyLmJlZ2luUHJlc2VydmVzM0QoKTsKKwog
ICAgIGlmIChtX3N0YXRlLmJhY2tkcm9wTGF5ZXIgJiYgIW9wdGlvbnMuYmFja2Ryb3BMYXllcikg
ewogICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBjbGlwVHJhbnNmb3JtOwogICAgICAgICBj
bGlwVHJhbnNmb3JtLnRyYW5zbGF0ZShvcHRpb25zLm9mZnNldC53aWR0aCgpLCBvcHRpb25zLm9m
ZnNldC5oZWlnaHQoKSk7CkBAIC0yMzQsOCArMjM3LDExIEBAIHZvaWQgVGV4dHVyZU1hcHBlckxh
eWVyOjpwYWludFNlbGZBbmRDaGlsZHJlbihjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25z
JiBvCiAKICAgICBwYWludFNlbGYob3B0aW9ucyk7CiAKLSAgICBpZiAobV9jaGlsZHJlbi5pc0Vt
cHR5KCkpCisgICAgaWYgKG1fY2hpbGRyZW4uaXNFbXB0eSgpKSB7CisgICAgICAgIGlmIChtX3N0
YXRlLnByZXNlcnZlczNEKQorICAgICAgICAgICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVyLmVuZFBy
ZXNlcnZlczNEKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBib29sIHNob3VsZENs
aXAgPSBtX3N0YXRlLm1hc2tzVG9Cb3VuZHMgJiYgIW1fc3RhdGUucHJlc2VydmVzM0Q7CiAgICAg
aWYgKHNob3VsZENsaXApIHsKQEAgLTI1OSw2ICsyNjUsOCBAQCB2b2lkIFRleHR1cmVNYXBwZXJM
YXllcjo6cGFpbnRTZWxmQW5kQ2hpbGRyZW4oY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9u
cyYgbwogCiAgICAgaWYgKHNob3VsZENsaXApCiAgICAgICAgIG9wdGlvbnMudGV4dHVyZU1hcHBl
ci5lbmRDbGlwKCk7CisgICAgaWYgKG1fc3RhdGUucHJlc2VydmVzM0QpCisgICAgICAgIG9wdGlv
bnMudGV4dHVyZU1hcHBlci5lbmRQcmVzZXJ2ZXMzRCgpOwogfQogCiBib29sIFRleHR1cmVNYXBw
ZXJMYXllcjo6c2hvdWxkQmxlbmQoKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409862</attachid>
            <date>2020-09-27 17:07:14 -0700</date>
            <delta_ts>2020-09-28 13:05:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90078-20200928090713.patch</filename>
            <type>text/plain</type>
            <size>8967</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM4OTY4MjIzMmE0ZmZm
NDcxZmZjMTg1MGZiMzRmNzczOWE4Y2FmNC4uMDI1MzU3YWIxZTY1ZmU4ZjMyOTAyZTFiMDliZDU1
NjM3ZjgwNmZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA5LTI3ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtUZXh0dXJl
TWFwcGVyXSBFbmFibGUgYSBkZXB0aCBidWZmZXIgZm9yIHByZXNlcnZlLTNkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDA3OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHRyYW5zZm9ybXMvM2Qv
Z2VuZXJhbC9wcmVzZXJ2ZS0zZC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9l
Z2wvR0xDb250ZXh0RUdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdMQ29udGV4dEVHTDo6Z2V0
RUdMQ29uZmlnKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlci5oOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlcjo6YmVnaW5QcmVzZXJ2ZXMz
RCk6IEFkZGVkIGEgbmV3IHZpcnR1YWwgbWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVy
ZU1hcHBlcjo6ZW5kUHJlc2VydmVzM0QpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1
cmVNYXBwZXJHTDo6YmVnaW5QYWludGluZyk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVQcm9q
ZWN0aW9uTWF0cml4KTogU3dhcHBlZCBuZWFyVmFsdWUgYW5kIGZhclZhbHVlCisgICAgICAgIHNv
IHRoYXQgdGhlIGRlcHRoIGJ1ZmZlciB3b3JrcyBhcyBleHBlY3RlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlRleHR1cmVNYXBwZXJHTDo6YmVnaW5QcmVzZXJ2ZXMzRCk6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjplbmRQcmVzZXJ2ZXMzRCk6IERpdHRvLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRTZWxmQW5kQ2hpbGRyZW4pOiBD
YWxsCisgICAgICAgIGJlZ2luUHJlc2VydmVzM0QoKSBhbmQgZW5kUHJlc2VydmVzM0QoKSBpZiBt
X3N0YXRlLnByZXNlcnZlczNELgorCiAyMDIwLTA5LTAzICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgQXVkaW9EZXN0aW5hdGlvbk5vZGUubWF4Q2hhbm5lbENvdW50
IGFsd2F5cyByZXR1cm5zIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZWdsL0dMQ29udGV4dEVHTC5jcHAKaW5kZXggYjZkNjBiNDk2YzNmM2M2NzVmMzgxNWNh
ZWRhYWM0YTQ5MTdjYTZjNi4uNmY0MGUzYTRkMDUzNGRmYzJkMTUwNDUwMmNiNWY4MzZjNWM0YjAy
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29u
dGV4dEVHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dM
Q29udGV4dEVHTC5jcHAKQEAgLTExOCw2ICsxMTgsNyBAQCBib29sIEdMQ29udGV4dEVHTDo6Z2V0
RUdMQ29uZmlnKEVHTERpc3BsYXkgZGlzcGxheSwgRUdMQ29uZmlnKiBjb25maWcsIEVHTFN1cmZh
YwogICAgICAgICBFR0xfQUxQSEFfU0laRSwgcmdiYVNpemVbM10sCiAgICAgICAgIEVHTF9TVEVO
Q0lMX1NJWkUsIDgsCiAgICAgICAgIEVHTF9TVVJGQUNFX1RZUEUsIEVHTF9OT05FLAorICAgICAg
ICBFR0xfREVQVEhfU0laRSwgOCwKICAgICAgICAgRUdMX05PTkUKICAgICB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXIuaAppbmRleCAyZWY2ZDI0NDZlNzk5ODQxNGI0M2E4MWY1N2JjNzJlMTcwYjQ0ODk4Li5lZWIw
ZmNhNDFhZmJhMGE0MTEwYzQ0YWJjODQ2Y2I5NzcwNjM2ODBmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKQEAg
LTc4LDYgKzc4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNsaXAoY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGVuZENsaXAoKSA9IDA7CiAgICAgdmlydHVhbCBJbnRSZWN0IGNsaXBCb3VuZHMoKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIGJlZ2luUHJlc2VydmVzM0QoKSB7IH07CisgICAgdmlydHVh
bCB2b2lkIGVuZFByZXNlcnZlczNEKCkgeyB9OwogICAgIHZpcnR1YWwgUmVmPEJpdG1hcFRleHR1
cmU+IGNyZWF0ZVRleHR1cmUoKSA9IDA7CiAgICAgdmlydHVhbCBSZWY8Qml0bWFwVGV4dHVyZT4g
Y3JlYXRlVGV4dHVyZShpbnQgaW50ZXJuYWxGb3JtYXQpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdM
LmNwcAppbmRleCBiYTQyZTdjNjNkM2JkOTNmMTBlN2IyMzQ3ODViNzU5ZDlmN2JkNjQ2Li41NDBj
NDBiYjRjMWY3YzcwMjQ0YThiMDNkYjFjZmE1OWM0YjZmNjk1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdM
LmNwcApAQCAtMjAxLDkgKzIwMSw5IEBAIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpiZWdpblBhaW50
aW5nKFBhaW50RmxhZ3MgZmxhZ3MpCiAgICAgZGF0YSgpLnByZXZpb3VzU2Npc3NvclN0YXRlID0g
Z2xJc0VuYWJsZWQoR0xfU0NJU1NPUl9URVNUKTsKICAgICBkYXRhKCkucHJldmlvdXNEZXB0aFN0
YXRlID0gZ2xJc0VuYWJsZWQoR0xfREVQVEhfVEVTVCk7CiAgICAgZ2xEaXNhYmxlKEdMX0RFUFRI
X1RFU1QpOworICAgIGdsRGVwdGhGdW5jKEdMX0xFUVVBTCk7CiAgICAgZ2xFbmFibGUoR0xfU0NJ
U1NPUl9URVNUKTsKICAgICBkYXRhKCkuZGlkTW9kaWZ5U3RlbmNpbCA9IGZhbHNlOwotICAgIGds
RGVwdGhNYXNrKDApOwogICAgIGdsR2V0SW50ZWdlcnYoR0xfVklFV1BPUlQsIGRhdGEoKS52aWV3
cG9ydCk7CiAgICAgZ2xHZXRJbnRlZ2VydihHTF9TQ0lTU09SX0JPWCwgZGF0YSgpLnByZXZpb3Vz
U2Npc3Nvcik7CiAgICAgbV9jbGlwU3RhY2sucmVzZXQoSW50UmVjdCgwLCAwLCBkYXRhKCkudmll
d3BvcnRbMl0sIGRhdGEoKS52aWV3cG9ydFszXSksIGZsYWdzICYgUGFpbnRpbmdNaXJyb3JlZCA/
IENsaXBTdGFjazo6WUF4aXNNb2RlOjpEZWZhdWx0IDogQ2xpcFN0YWNrOjpZQXhpc01vZGU6Oklu
dmVydGVkKTsKQEAgLTgyNCw4ICs4MjQsOCBAQCB2b2lkIFRleHR1cmVNYXBwZXJHTDo6ZHJhd0Zp
bHRlcmVkKGNvbnN0IEJpdG1hcFRleHR1cmUmIHNhbXBsZXIsIGNvbnN0IEJpdG1hcFRleAogCiBz
dGF0aWMgaW5saW5lIFRyYW5zZm9ybWF0aW9uTWF0cml4IGNyZWF0ZVByb2plY3Rpb25NYXRyaXgo
Y29uc3QgSW50U2l6ZSYgc2l6ZSwgYm9vbCBtaXJyb3JlZCkKIHsKLSAgICBjb25zdCBmbG9hdCBu
ZWFyVmFsdWUgPSA5OTk5OTk5OwotICAgIGNvbnN0IGZsb2F0IGZhclZhbHVlID0gLTk5OTk5Owor
ICAgIGNvbnN0IGZsb2F0IG5lYXJWYWx1ZSA9IC05OTk5OTsKKyAgICBjb25zdCBmbG9hdCBmYXJW
YWx1ZSA9IDk5OTk5OTk7CiAKICAgICByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoMi4wIC8g
ZmxvYXQoc2l6ZS53aWR0aCgpKSwgMCwgMCwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMCwgKG1pcnJvcmVkID8gMi4wIDogLTIuMCkgLyBmbG9hdChzaXplLmhlaWdodCgpKSwg
MCwgMCwKQEAgLTk0OSw2ICs5NDksMTcgQEAgSW50UmVjdCBUZXh0dXJlTWFwcGVyR0w6OmNsaXBC
b3VuZHMoKQogICAgIHJldHVybiBjbGlwU3RhY2soKS5jdXJyZW50KCkuc2Npc3NvckJveDsKIH0K
IAordm9pZCBUZXh0dXJlTWFwcGVyR0w6OmJlZ2luUHJlc2VydmVzM0QoKQoreworICAgIGdsRW5h
YmxlKEdMX0RFUFRIX1RFU1QpOworICAgIGdsQ2xlYXIoR0xfREVQVEhfQlVGRkVSX0JJVCk7Cit9
CisKK3ZvaWQgVGV4dHVyZU1hcHBlckdMOjplbmRQcmVzZXJ2ZXMzRCgpCit7CisgICAgZ2xEaXNh
YmxlKEdMX0RFUFRIX1RFU1QpOworfQorCiBSZWY8Qml0bWFwVGV4dHVyZT4gVGV4dHVyZU1hcHBl
ckdMOjpjcmVhdGVUZXh0dXJlKEdMaW50IGludGVybmFsRm9ybWF0KQogewogICAgIHJldHVybiBC
aXRtYXBUZXh0dXJlR0w6OmNyZWF0ZShtX2NvbnRleHRBdHRyaWJ1dGVzLCBpbnRlcm5hbEZvcm1h
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckdMLmgKaW5kZXggNjVlODE0MWY1Mzg1OTRkYzFjOTRlNTRjMzA0NDI2
Mjg3ZTFmZmI1Ni4uMjY3MTc1ZTE4NDM3YzI3ZGQ0YWEzYzViOGUwZjI0OGJjZWEzYjZhYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyR0wuaApAQCAtNzksNiArNzksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBiZWdp
blBhaW50aW5nKFBhaW50RmxhZ3MgPSAwKSBvdmVycmlkZTsKICAgICB2b2lkIGVuZFBhaW50aW5n
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBlbmRDbGlwKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBiZWdp
blByZXNlcnZlczNEKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBlbmRQcmVzZXJ2ZXMzRCgpIG92ZXJy
aWRlOwogICAgIEludFJlY3QgY2xpcEJvdW5kcygpIG92ZXJyaWRlOwogICAgIEludFNpemUgbWF4
VGV4dHVyZVNpemUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBJbnRTaXplKDIwMDAsIDIwMDAp
OyB9CiAgICAgUmVmPEJpdG1hcFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoKSBvdmVycmlkZSB7IHJl
dHVybiBjcmVhdGVUZXh0dXJlKEdMX0RPTlRfQ0FSRSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXll
ci5jcHAKaW5kZXggZDg2YTRhN2QzN2E5OTVjZWY4M2U4MmNhZWUyZTkxMWUxMDdlM2YxMi4uYTIz
NmE2YTdhODQ5ZTIwMGM3MzkxMGVjNjU4MzM5OGVmNzgxZjMxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5jcHAKQEAgLTIyMiw2ICsyMjIsOSBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6
cGFpbnRTZWxmQW5kQ2hpbGRyZW4oY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgbwog
ICAgIGlmIChtX3N0YXRlLmJhY2tkcm9wTGF5ZXIgJiYgbV9zdGF0ZS5iYWNrZHJvcExheWVyID09
IG9wdGlvbnMuYmFja2Ryb3BMYXllcikKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKG1fc3Rh
dGUucHJlc2VydmVzM0QpCisgICAgICAgIG9wdGlvbnMudGV4dHVyZU1hcHBlci5iZWdpblByZXNl
cnZlczNEKCk7CisKICAgICBpZiAobV9zdGF0ZS5iYWNrZHJvcExheWVyICYmICFvcHRpb25zLmJh
Y2tkcm9wTGF5ZXIpIHsKICAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggY2xpcFRyYW5zZm9y
bTsKICAgICAgICAgY2xpcFRyYW5zZm9ybS50cmFuc2xhdGUob3B0aW9ucy5vZmZzZXQud2lkdGgo
KSwgb3B0aW9ucy5vZmZzZXQuaGVpZ2h0KCkpOwpAQCAtMjM0LDggKzIzNywxMSBAQCB2b2lkIFRl
eHR1cmVNYXBwZXJMYXllcjo6cGFpbnRTZWxmQW5kQ2hpbGRyZW4oY29uc3QgVGV4dHVyZU1hcHBl
clBhaW50T3B0aW9ucyYgbwogCiAgICAgcGFpbnRTZWxmKG9wdGlvbnMpOwogCi0gICAgaWYgKG1f
Y2hpbGRyZW4uaXNFbXB0eSgpKQorICAgIGlmIChtX2NoaWxkcmVuLmlzRW1wdHkoKSkgeworICAg
ICAgICBpZiAobV9zdGF0ZS5wcmVzZXJ2ZXMzRCkKKyAgICAgICAgICAgIG9wdGlvbnMudGV4dHVy
ZU1hcHBlci5lbmRQcmVzZXJ2ZXMzRCgpOwogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAg
Ym9vbCBzaG91bGRDbGlwID0gbV9zdGF0ZS5tYXNrc1RvQm91bmRzICYmICFtX3N0YXRlLnByZXNl
cnZlczNEOwogICAgIGlmIChzaG91bGRDbGlwKSB7CkBAIC0yNTksNiArMjY1LDggQEAgdm9pZCBU
ZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZkFuZENoaWxkcmVuKGNvbnN0IFRleHR1cmVNYXBw
ZXJQYWludE9wdGlvbnMmIG8KIAogICAgIGlmIChzaG91bGRDbGlwKQogICAgICAgICBvcHRpb25z
LnRleHR1cmVNYXBwZXIuZW5kQ2xpcCgpOworICAgIGlmIChtX3N0YXRlLnByZXNlcnZlczNEKQor
ICAgICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXIuZW5kUHJlc2VydmVzM0QoKTsKIH0KIAogYm9v
bCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNob3VsZEJsZW5kKCkgY29uc3QKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYWQ4ZGY4
NTgwMThkOTA5N2NjMzZkMzk4MDhlMDI0N2Q5MjNiMjM4Li45MjliNGJmOGE4NWEyNDA5ZGQ0OGFj
NmM4NGU1ODE0ZjY0NmY0MDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDktMjcgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1RleHR1
cmVNYXBwZXJdIEVuYWJsZSBhIGRlcHRoIGJ1ZmZlciBmb3IgcHJlc2VydmUtM2QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMDc4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0cmFuc2Zvcm1zLzNkL2dl
bmVyYWwvcHJlc2VydmUtM2QtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogdHJhbnNm
b3Jtcy8zZC9nZW5lcmFsL3ByZXNlcnZlLTNkLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA5LTAzICBL
YXJsIFJhY2tsZXIgIDxyYWNrbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1vamF2ZSsgZGVi
dWcgd2syIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRp
b25zL3RyYW5zaXRpb24tYmFzZS1yZXNwb25zZS0wMDIuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvM2QvZ2VuZXJhbC9wcmVzZXJ2ZS0z
ZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvdHJhbnNmb3Jtcy8zZC9nZW5lcmFsL3ByZXNl
cnZlLTNkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM2MWQ1ZjdjNjUzMjViODg0YWU4YTMy
YjQ1MTJiY2FjMWQ4YTQ2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RyYW5zZm9y
bXMvM2QvZ2VuZXJhbC9wcmVzZXJ2ZS0zZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKzwvc3R5bGU+Cis8ZGl2IHN0eWxlPSJi
YWNrZ3JvdW5kOiBncmVlbjsiPgorPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90cmFu
c2Zvcm1zLzNkL2dlbmVyYWwvcHJlc2VydmUtM2QuaHRtbCBiL0xheW91dFRlc3RzL3RyYW5zZm9y
bXMvM2QvZ2VuZXJhbC9wcmVzZXJ2ZS0zZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0NTIxMWQyNTgyNjQy
ZjdiYmJlOWE4YWNmZGViOTAxMzFlMTNhMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy90cmFuc2Zvcm1zLzNkL2dlbmVyYWwvcHJlc2VydmUtM2QuaHRtbApAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorPC9zdHlsZT4KKzxkaXYgc3R5bGU9
ImJhY2tncm91bmQ6IGdyZWVuOyB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyI+CisgICAg
PGRpdiBzdHlsZT0iYmFja2dyb3VuZDogcmVkOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTEwcHgp
OyI+PC9kaXY+Cis8L2Rpdj4K
</data>

          </attachment>
      

    </bug>

</bugzilla>