<?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>107880</bug_id>
          
          <creation_ts>2013-01-24 16:49:45 -0800</creation_ts>
          <short_desc>[CSS Regions] Region boxes should respect -shape-inside CSS property</short_desc>
          <delta_ts>2013-02-25 02:08:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>74132</dependson>
          <blocked>57312</blocked>
    
    <blocked>110445</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Zoltan Horvath">zoltan</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>mihnea</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>peter+ews</cc>
    
    <cc>rego+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>vsevik</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>815988</commentid>
    <comment_count>0</comment_count>
      <attachid>184611</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-01-24 16:49:45 -0800</bug_when>
    <thetext>Created attachment 184611
basic test case

Region boxes should respect -shape-inside CSS property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833372</commentid>
    <comment_count>1</comment_count>
      <attachid>188416</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-14 13:41:24 -0800</bug_when>
    <thetext>Created attachment 188416
proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that

I&apos;m uploading this work in pieces to make the review process smoother. The first part is for adding support the cases like we apply shape-inside property onto a simple region. This work is based on the patch from #74132 so it won&apos;t compile now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833396</commentid>
    <comment_count>2</comment_count>
      <attachid>188416</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-14 14:05:46 -0800</bug_when>
    <thetext>Comment on attachment 188416
proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that

Attachment 188416 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16543812</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833399</commentid>
    <comment_count>3</comment_count>
      <attachid>188416</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-14 14:08:42 -0800</bug_when>
    <thetext>Comment on attachment 188416
proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that

Attachment 188416 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16550823</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833463</commentid>
    <comment_count>4</comment_count>
      <attachid>188416</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-14 14:55:17 -0800</bug_when>
    <thetext>Comment on attachment 188416
proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that

Attachment 188416 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16559646</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833489</commentid>
    <comment_count>5</comment_count>
      <attachid>188416</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-14 15:43:01 -0800</bug_when>
    <thetext>Comment on attachment 188416
proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that

Attachment 188416 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16543851</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833493</commentid>
    <comment_count>6</comment_count>
      <attachid>188416</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-02-14 15:46:30 -0800</bug_when>
    <thetext>Comment on attachment 188416
proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that

Attachment 188416 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16537804</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833553</commentid>
    <comment_count>7</comment_count>
      <attachid>188416</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-02-14 16:38:28 -0800</bug_when>
    <thetext>Comment on attachment 188416
proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that

Attachment 188416 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/16580573</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833634</commentid>
    <comment_count>8</comment_count>
      <attachid>188416</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-14 19:49:12 -0800</bug_when>
    <thetext>Comment on attachment 188416
proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that

Attachment 188416 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16537897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833894</commentid>
    <comment_count>9</comment_count>
      <attachid>188416</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-15 04:47:14 -0800</bug_when>
    <thetext>Comment on attachment 188416
proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that

Attachment 188416 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16593068</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834125</commentid>
    <comment_count>10</comment_count>
      <attachid>188594</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-15 10:04:19 -0800</bug_when>
    <thetext>Created attachment 188594
#74132 is landed, reupload to fire the bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834197</commentid>
    <comment_count>11</comment_count>
      <attachid>188594</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 11:16:03 -0800</bug_when>
    <thetext>Comment on attachment 188594
#74132 is landed, reupload to fire the bots

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

New failing tests:
fast/regions/shape-inside-on-region.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834227</commentid>
    <comment_count>12</comment_count>
      <attachid>188594</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-15 11:51:54 -0800</bug_when>
    <thetext>Comment on attachment 188594
#74132 is landed, reupload to fire the bots

Attachment 188594 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16581955

New failing tests:
fast/regions/shape-inside-on-region.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834249</commentid>
    <comment_count>13</comment_count>
      <attachid>188613</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-15 12:02:33 -0800</bug_when>
    <thetext>Created attachment 188613
#74132 is landed, reupload to fire the bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834325</commentid>
    <comment_count>14</comment_count>
      <attachid>188613</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 13:25:28 -0800</bug_when>
    <thetext>Comment on attachment 188613
#74132 is landed, reupload to fire the bots

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

New failing tests:
fast/regions/shape-inside-on-region.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834364</commentid>
    <comment_count>15</comment_count>
      <attachid>188613</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 14:05:28 -0800</bug_when>
    <thetext>Comment on attachment 188613
#74132 is landed, reupload to fire the bots

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

New failing tests:
fast/regions/shape-inside-on-region.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836304</commentid>
    <comment_count>16</comment_count>
      <attachid>189071</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-19 06:13:02 -0800</bug_when>
    <thetext>Created attachment 189071
Added support for additional cases as well

Support -shape-inside property on regions. This fix covers the additional cases as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836316</commentid>
    <comment_count>17</comment_count>
      <attachid>189074</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-19 06:23:48 -0800</bug_when>
    <thetext>Created attachment 189074
Added support for additional cases as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836323</commentid>
    <comment_count>18</comment_count>
      <attachid>189074</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-19 06:29:51 -0800</bug_when>
    <thetext>Comment on attachment 189074
Added support for additional cases as well

Attachment 189074 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16627546</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836326</commentid>
    <comment_count>19</comment_count>
      <attachid>189074</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-19 06:32:02 -0800</bug_when>
    <thetext>Comment on attachment 189074
Added support for additional cases as well

Attachment 189074 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16610812</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836328</commentid>
    <comment_count>20</comment_count>
      <attachid>189074</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-02-19 06:34:45 -0800</bug_when>
    <thetext>Comment on attachment 189074
Added support for additional cases as well

Attachment 189074 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16617686</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836329</commentid>
    <comment_count>21</comment_count>
      <attachid>189074</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-19 06:34:57 -0800</bug_when>
    <thetext>Comment on attachment 189074
Added support for additional cases as well

Attachment 189074 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16611797</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836331</commentid>
    <comment_count>22</comment_count>
      <attachid>189074</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-19 06:36:46 -0800</bug_when>
    <thetext>Comment on attachment 189074
Added support for additional cases as well

Attachment 189074 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16621721</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836339</commentid>
    <comment_count>23</comment_count>
      <attachid>189079</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-19 06:42:23 -0800</bug_when>
    <thetext>Created attachment 189079
Added support for additional cases as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836348</commentid>
    <comment_count>24</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-19 06:57:50 -0800</bug_when>
    <thetext>*** Bug 109858 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836384</commentid>
    <comment_count>25</comment_count>
      <attachid>189071</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-02-19 07:38:09 -0800</bug_when>
    <thetext>Comment on attachment 189071
Added support for additional cases as well

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

&gt; LayoutTests/fast/regions/shape-inside-on-regions.html:14
&gt; +            width: 300px;

All regions, except region1 are defining width. You should add the width to region1 and remove it from the class definition.

&gt; LayoutTests/fast/regions/shape-inside-on-regions.html:35
&gt; +    &lt;div id=&quot;rectangle&quot;&gt;

I would like to see a mention about the bug that is tested, like &lt;p&gt; Bug &lt;a href=&quot;http://webkit.org/b/XXXX&quot;&gt;XXXX&lt;/a&gt;: Regions should respect shape-inside&lt;/p&gt;

&gt; Source/WebCore/ChangeLog:9
&gt; +

I would like to see more in description about this bug. Can you put a link to shape-inside property from the spec? Can you give more details about what &quot;basic support&quot; means in this case? What is the general approach when solving it?

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:85
&gt; +        if (renderFlowThread) {

Why do you need this test?

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:1542
&gt; +        exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo(this);

How was exclusionShapeInsideInfo computed here before since you are testing it below?

&gt; Source/WebCore/rendering/RenderRegion.cpp:270
&gt;      }

Why do you need this here? I thought we had code to compute exclusion shape for blocks and region is a render block.

&gt; Source/WebCore/rendering/ExclusionShapeInfo.cpp:63
&gt; +        logicalTopOffset += toRenderRegion(m_renderer)-&gt;logicalTopForFlowThreadContent();

I would like to see an explanation about what this code is trying to achieve.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836397</commentid>
    <comment_count>26</comment_count>
      <attachid>189079</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-19 07:54:00 -0800</bug_when>
    <thetext>Comment on attachment 189079
Added support for additional cases as well 

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

New failing tests:
fast/regions/shape-inside-on-regions.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836447</commentid>
    <comment_count>27</comment_count>
      <attachid>189098</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-19 08:57:06 -0800</bug_when>
    <thetext>Created attachment 189098
Updated patch, based on Mihnea&apos;s review

(In reply to comment #25)
&gt; (From update of attachment 189071 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189071&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/regions/shape-inside-on-regions.html:14
&gt; &gt; +            width: 300px;
&gt;
&gt; All regions, except region1 are defining width. You should add the width to region1 and remove it from the class definition.

Fixed.
 
&gt; &gt; LayoutTests/fast/regions/shape-inside-on-regions.html:35
&gt; &gt; +    &lt;div id=&quot;rectangle&quot;&gt;
&gt; 
&gt; I would like to see a mention about the bug that is tested, like &lt;p&gt; Bug &lt;a href=&quot;http://webkit.org/b/XXXX&quot;&gt;XXXX&lt;/a&gt;: Regions should respect shape-inside&lt;/p&gt;

I added a link to the bug.

&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +
&gt; 
&gt; I would like to see more in description about this bug. Can you put a link to shape-inside property from the spec? Can you give more details about what &quot;basic support&quot; means in this case? What is the general approach when solving it?

I added reference to the spec and explanation to shape-inside.

&gt; &gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:85
&gt; &gt; +        if (renderFlowThread) {
&gt; 
&gt; Why do you need this test?

We don&apos;t. I removed it.

&gt; &gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:1542
&gt; &gt; +        exclusionShapeInsideInfo = layoutExclusionShapeInsideInfo(this);
&gt; 
&gt; How was exclusionShapeInsideInfo computed here before since you are testing it below?

I added explanation to the changelog.

&gt; &gt; Source/WebCore/rendering/RenderRegion.cpp:270
&gt; &gt;      }
&gt; 
&gt; Why do you need this here? I thought we had code to compute exclusion shape for blocks and region is a render block.

Good catch. It&apos;s no longer needed since the region-block refactoring is landed.

&gt; &gt; Source/WebCore/rendering/ExclusionShapeInfo.cpp:63
&gt; &gt; +        logicalTopOffset += toRenderRegion(m_renderer)-&gt;logicalTopForFlowThreadContent();
&gt; 
&gt; I would like to see an explanation about what this code is trying to achieve.

I added a comment to the source to make it clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836489</commentid>
    <comment_count>28</comment_count>
      <attachid>189098</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-19 09:41:06 -0800</bug_when>
    <thetext>Comment on attachment 189098
Updated patch, based on Mihnea&apos;s review

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

New failing tests:
fast/regions/shape-inside-on-regions.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838210</commentid>
    <comment_count>29</comment_count>
      <attachid>189472</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-21 01:28:10 -0800</bug_when>
    <thetext>Created attachment 189472
Updated patch, based on Mihnea&apos;s review + test fixed for cr-linux

It was a font-sizing + shape-inside + regions + cr linux issue on cr linux with the test, I fixed the test. It&apos;s a separate issue, I&apos;ll file a bug for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838212</commentid>
    <comment_count>30</comment_count>
      <attachid>189473</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-21 01:32:59 -0800</bug_when>
    <thetext>Created attachment 189473
Updated patch, based on Mihnea&apos;s review + test fixed for cr-linux</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838440</commentid>
    <comment_count>31</comment_count>
      <attachid>189473</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-02-21 08:21:26 -0800</bug_when>
    <thetext>Comment on attachment 189473
Updated patch, based on Mihnea&apos;s review + test fixed for cr-linux

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

r=me

Remember that logicalHeightForLine is really just a heuristic that can be wrong. You should make a more complex test case that actually has multiple paragraphs inside the flow thread to illustrate this issue.

Basically just make sure to add in the offsetFromLogicalTopOfFirstPage and you&apos;ll be fine, but let&apos;s get a test case that covers this.

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:84
&gt; +        LayoutUnit offset = block-&gt;logicalHeight() + logicalHeightForLine(block, false);

This offset isn&apos;t correct. It needs to be in the coordinates of the object that you called regionAtBlockOffset on. That&apos;s the enclosingRenderFlowThread().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839409</commentid>
    <comment_count>32</comment_count>
      <attachid>189726</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-22 02:23:12 -0800</bug_when>
    <thetext>Created attachment 189726
proposed patch

As we discussed on IRC I modified layoutExclusionShapeInsideInfo function to use the right coordinate space and I also modified the test, so the flow thread contains paragraphs and nested paragraph now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839410</commentid>
    <comment_count>33</comment_count>
      <attachid>189726</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-22 02:25:04 -0800</bug_when>
    <thetext>Comment on attachment 189726
proposed patch

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

&gt; LayoutTests/fast/regions/shape-inside-on-regions-expected.html:38
&gt; +            &lt;p style=&quot;color: green; margin-top 0px; padding-top: 0px;&quot;&gt;X X&lt;/p&gt;

margin-top and padding-top are not necessary here. I can remove this before land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839755</commentid>
    <comment_count>34</comment_count>
      <attachid>189726</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-02-22 11:17:39 -0800</bug_when>
    <thetext>Comment on attachment 189726
proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839801</commentid>
    <comment_count>35</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-02-22 12:04:43 -0800</bug_when>
    <thetext>Thanks for the review Dave!

Landed in http://trac.webkit.org/changeset/143766.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840812</commentid>
    <comment_count>36</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-25 02:08:17 -0800</bug_when>
    <thetext>Layout test fast/regions/shape-inside-on-regions.html fails on Chromium Mountain Lion after this patch
Filed https://bugs.webkit.org/show_bug.cgi?id=110739
Skipped in &lt;http://trac.webkit.org/changeset/143897&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>184611</attachid>
            <date>2013-01-24 16:49:45 -0800</date>
            <delta_ts>2013-01-24 16:49:45 -0800</delta_ts>
            <desc>basic test case</desc>
            <filename>basic.html</filename>
            <type>text/html</type>
            <size>1653</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUw+CjxodG1sPgo8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
ICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgI3JlY3RhbmdsZSB7CiAgICAgICAg
ICAgIHdpZHRoOiAzMDBweDsKICAgICAgICAgICAgaGVpZ2h0OiAzMjBweDsKICAgICAgICAgICAg
b3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgYm9yZGVyOiA1cHggYmx1ZSBzb2xpZDsKICAg
ICAgICAgICAgLXdlYmtpdC1mbG93LWludG86IHJlY3RhbmdsZTsKICAgICAgICB9CiAgICAgICAg
LnJlZ2lvbiB7CiAgICAgICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiByZWN0YW5nbGU7CiAgICAg
ICAgICAgIGJvcmRlcjogMTBweCBibGFjayBzb2xpZDsKICAgICAgICB9CiAgICAgICAgI3JlZ2lv
bjEgewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKICAg
ICAgICAgICAgaGVpZ2h0OiAzMjBweDsKICAgICAgICAgICAgYm9yZGVyOiA1cHggb3JhbmdlIHNv
bGlkOwogICAgICAgICAgICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAsIDEw
MCUsIDEwMCUsIDI1JSwgMjUlKTsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5
Pgo8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgYm9yZGVyOiAwcHggZ3JleSBkb3R0ZWQ7
IHdpZHRoOiAzMDBweDsgaGVpZ2h0OiAzMDBweDsgei1pbmRleDoxOyI+PC9kaXY+CiAgICA8ZGl2
IGlkPSJyZWN0YW5nbGUiPgogICAgICAgIEplcm5hdSBNb3JhdCBHdXJnZWgsIGEgZmFtb3VzbHkg
c2tpbGZ1bCBwbGF5ZXIgb2YgYm9hcmQgZ2FtZXMgYW5kIG90aGVyIHNpbWlsYXIgY29udGVzdHMs
IGxpdmVzIG9uIENoaWFyayBPcmJpdGFsLCBhbmQgaXMgYm9yZWQgd2l0aCBoaXMgc3VjY2Vzc2Z1
bCBsaWZlLiBUaGUgQ3VsdHVyZSdzIFNwZWNpYWwgQ2lyY3Vtc3RhbmNlcyBpbnF1aXJlcyBhYm91
dCBoaXMgd2lsbGluZ25lc3MgdG8gcGFydGljaXBhdGUgaW4gYSBsb25nIGpvdXJuZXksIHRob3Vn
aCB3b24ndCBleHBsYWluIGZ1cnRoZXIgdW5sZXNzIEd1cmdlaCBhZ3JlZXMgdG8gcGFydGljaXBh
dGUuIFdoaWxlIGhlIGlzIGNvbnNpZGVyaW5nIHRoaXMgb2ZmZXIsIG9uZSBvZiBoaXMgZHJvbmUg
ZnJpZW5kcywgTWF3aHJpbi1Ta2VsLCB3aGljaCBoYWQgYmVlbiBlamVjdGVkIGZyb20gU3BlY2lh
bCBDaXJjdW1zdGFuY2VzIGR1ZSB0byBpdHMgdW5zdGFibGUgcGVyc29uYWxpdHksIGNvbnZpbmNl
cyBoaW0gdG8gY2hlYXQgaW4gb25lIG9mIGhpcyBtYXRjaGVzIGluIGFuIGF0dGVtcHQgdG8gd2lu
IGluIGFuIHVucHJlY2VkZW50ZWQgcGVyZmVjdCBmYXNoaW9uLiBUaGUgYXR0ZW1wdCBmYWlscywg
YnV0IE1hd2hyaW4tU2tlbCB1c2VzIGhpcyByZWNvcmRpbmcgb2YgdGhlIGV2ZW50IHRvIGJsYWNr
bWFpbCBHdXJnZWggaW50byBhY2NlcHRpbmcgdGhlIG9mZmVyIGFuZCBpbnNpc3RpbmcgdGhhdCBN
YXdocmluLVNrZWwgYmUgYWRtaXR0ZWQgYmFjayBpbnRvIFNwZWNpYWwgQ2lyY3Vtc3RhbmNlcyBh
cyB3ZWxsLgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJwYWdlIj4KICAgICAgICA8ZGl2IGlkPSJy
ZWdpb24xIiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KICAgIDwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188416</attachid>
            <date>2013-02-14 13:41:24 -0800</date>
            <delta_ts>2013-02-15 10:04:19 -0800</delta_ts>
            <desc>proposed patch - based on #74132 =&gt; won&apos;t compile until we landing that</desc>
            <filename>patch2upload_simpleshapeinsideOnRegions.patch</filename>
            <type>text/plain</type>
            <size>9711</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9uLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1v
bi1yZWdpb24uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9z
aGFwZS1pbnNpZGUtb24tcmVnaW9uLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAK
KzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgICNy
ZWN0YW5nbGUgeworICAgICAgICAgICAgLXdlYmtpdC1mbG93LWludG86IHJlY3RhbmdsZTsKKyAg
ICAgICAgfQorICAgICAgICAucmVnaW9uIHsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAg
ICAgICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiByZWN0YW5nbGU7CisgICAgICAgIH0KKyAgICAg
ICAgI3JlZ2lvbjEgeworICAgICAgICAgICAgaGVpZ2h0OiAyNjBweDsKKyAgICAgICAgICAgIC13
ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwgMCwgMTAwJSwgMTAwJSwgNjAlLCA1MCUp
OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9
InJlY3RhbmdsZSI+CisgICAgICAgIEplcm5hdSBNb3JhdCBHdXJnZWgsIGEgZmFtb3VzbHkgc2tp
bGZ1bCBwbGF5ZXIgb2YgYm9hcmQgZ2FtZXMgYW5kIG90aGVyIHNpbWlsYXIgY29udGVzdHMsIGxp
dmVzIG9uIENoaWFyayBPcmJpdGFsLCBhbmQgaXMgYm9yZWQgd2l0aCBoaXMgc3VjY2Vzc2Z1bCBs
aWZlLiBUaGUgQ3VsdHVyZSdzIFNwZWNpYWwgQ2lyY3Vtc3RhbmNlcyBpbnF1aXJlcyBhYm91dCBo
aXMgd2lsbGluZ25lc3MgdG8gcGFydGljaXBhdGUgaW4gYSBsb25nIGpvdXJuZXksIHRob3VnaCB3
b24ndCBleHBsYWluIGZ1cnRoZXIgdW5sZXNzIEd1cmdlaCBhZ3JlZXMgdG8gcGFydGljaXBhdGUu
IFdoaWxlIGhlIGlzIGNvbnNpZGVyaW5nIHRoaXMgb2ZmZXIsIG9uZSBvZiBoaXMgZHJvbmUgZnJp
ZW5kcywgTWF3aHJpbi1Ta2VsLCB3aGljaCBoYWQgYmVlbiBlamVjdGVkIGZyb20gU3BlY2lhbCBD
aXJjdW1zdGFuY2VzIGR1ZSB0byBpdHMgdW5zdGFibGUgcGVyc29uYWxpdHksIGNvbnZpbmNlcyBo
aW0gdG8gY2hlYXQgaW4gb25lIG9mIGhpcyBtYXRjaGVzIGluIGFuIGF0dGVtcHQgdG8gd2luIGlu
IGFuIHVucHJlY2UtIGRlbnRlZCBwZXJmZWN0IGZhc2hpb24uIFRoZSBhdHRlbXB0IGZhaWxzLCBi
dXQgTWF3aHJpbi1Ta2VsIHVzZXMgaGlzIHJlY29yZGluZyBvZiB0aGUgZXZlbnQgdG8gYmxhY2tt
YWlsIEd1cmdlaCBpbnRvIGFjY2VwdGluZyB0aGUgb2ZmZXIgYW5kIGluc2lzdGluZyB0aGF0IE1h
d2hyaW4tU2tlbCBiZSBhZG1pdHRlZCBiYWNrIGludG8gU3BlY2lhbCBDaXJjdW1zdGFuY2VzIGFz
IHdlbGwuCisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0icGFnZSI+CisgICAgICAgIDxkaXYgaWQ9
InJlZ2lvbjEiIGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24y
IiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8cD5UaGUgLXNoYXBlLWlu
c2lkZSBwcm9wZXJ0eSBpcyBhcHBsaWVkIHRvIHRoZSBmaXJzdCByZWdpb24gaXRzZWxmLiBUaGUg
dGV4dCBzaG91bGQgc3RhcnQgaW5zaWRlIHRoZSByb3VuZGVkIHJlY3RhbmdsZSBhbmQgb3ZlcmZs
b3cgdG8gYSByZWd1bGFyIHJlY3RhbmdsZS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbi1leHBlY3RlZC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUt
b24tcmVnaW9uLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbi1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+CisgICAg
PHN0eWxlPgorICAgICAgICAjcmVjdGFuZ2xlIHsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsK
KyAgICAgICAgICAgIGhlaWdodDogMjYwcHg7CisgICAgICAgICAgICAtd2Via2l0LXNoYXBlLWlu
c2lkZTogcmVjdGFuZ2xlKDAsIDAsIDEwMCUsIDEwMCUsIDYwJSwgNTAlKTsKKyAgICAgICAgfQor
ICAgICAgICAjYm94IHsgd2lkdGg6IDMwMHB4OyB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxkaXYgaWQ9InJlY3RhbmdsZSI+CisgICAgICAgIEplcm5hdSBNb3JhdCBHdXJn
ZWgsIGEgZmFtb3VzbHkgc2tpbGZ1bCBwbGF5ZXIgb2YgYm9hcmQgZ2FtZXMgYW5kIG90aGVyIHNp
bWlsYXIgY29udGVzdHMsIGxpdmVzIG9uIENoaWFyayBPcmJpdGFsLCBhbmQgaXMgYm9yZWQgd2l0
aCBoaXMgc3VjY2Vzc2Z1bCBsaWZlLiBUaGUgQ3VsdHVyZSdzIFNwZWNpYWwgQ2lyY3Vtc3RhbmNl
cyBpbnF1aXJlcyBhYm91dCBoaXMgd2lsbGluZ25lc3MgdG8gcGFydGljaXBhdGUgaW4gYSBsb25n
IGpvdXJuZXksIHRob3VnaCB3b24ndCBleHBsYWluIGZ1cnRoZXIgdW5sZXNzIEd1cmdlaCBhZ3Jl
ZXMgdG8gcGFydGljaXBhdGUuIFdoaWxlIGhlIGlzIGNvbnNpZGVyaW5nIHRoaXMgb2ZmZXIsIG9u
ZSBvZiBoaXMgZHJvbmUgZnJpZW5kcywgTWF3aHJpbi1Ta2VsLCB3aGljaCBoYWQgYmVlbiBlamVj
dGVkIGZyb20gU3BlY2lhbAorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJveCI+CisgICAgICAg
IENpcmN1bXN0YW5jZXMgZHVlIHRvIGl0cyB1bnN0YWJsZSBwZXJzb25hbGl0eSwgY29udmluY2Vz
IGhpbSB0byBjaGVhdCBpbiBvbmUgb2YgaGlzIG1hdGNoZXMgaW4gYW4gYXR0ZW1wdCB0byB3aW4g
aW4gYW4gdW5wcmVjZS0gZGVudGVkIHBlcmZlY3QgZmFzaGlvbi4gVGhlIGF0dGVtcHQgZmFpbHMs
IGJ1dCBNYXdocmluLVNrZWwgdXNlcyBoaXMgcmVjb3JkaW5nIG9mIHRoZSBldmVudCB0byBibGFj
a21haWwgR3VyZ2VoIGludG8gYWNjZXB0aW5nIHRoZSBvZmZlciBhbmQgaW5zaXN0aW5nIHRoYXQg
TWF3aHJpbi1Ta2VsIGJlIGFkbWl0dGVkIGJhY2sgaW50byBTcGVjaWFsIENpcmN1bXN0YW5jZXMg
YXMgd2VsbC4KKyAgICA8L2Rpdj4KKyAgICA8cD5UaGUgLXNoYXBlLWluc2lkZSBwcm9wZXJ0eSBp
cyBhcHBsaWVkIHRvIHRoZSBmaXJzdCByZWdpb24gaXRzZWxmLiBUaGUgdGV4dCBzaG91bGQgc3Rh
cnQgaW5zaWRlIHRoZSByb3VuZGVkIHJlY3RhbmdsZSBhbmQgb3ZlcmZsb3cgdG8gYSByZWd1bGFy
IHJlY3RhbmdsZS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDI5
MDQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NiBAQAorMjAxMy0wMi0xNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgIFtDU1MgUmVnaW9uc10gUmVnaW9uIGJveGVzIHNob3VsZCByZXNwZWN0IC1zaGFwZS1p
bnNpZGUgQ1NTIHByb3BlcnR5CisgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNzg4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgaXMgdGhlIGZpcnN0IHN0ZXAgdG8gaW1wbGVtZW50IHNoYXBlLWluc2lk
ZSBvbiByZWdpb25zLiBUaGlzIGNoYW5nZSBhZGRzIHN1cHBvcnQgZm9yCisgICAgICAgIHNpbXBs
ZSBjYXNlcyB3aGVuIHRoZSBzaGFwZS1pbnNpZGUgaXMgYXBwbGllZCB0byB0aGUgZmlyc3QgcmVn
aW9uIGluIHRoZSByZWdpb24gY2hhaW4uCisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvc2hhcGUt
aW5zaWRlLW9uLXJlZ2lvbi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Jl
Z2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbi5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0xNCAg
TGFtYXJxdWUgVi4gU291emEgIDxMYW1hcnF1ZS5Tb3V6YUBiYXN5c2tvbS5jb20+CiAKICAgICAg
ICAgU3VwcG9ydCB0aGUgY2ggdW5pdCBmcm9tIGNzczMtdmFsdWVzCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNDI5MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyNCBAQAorMjAxMy0wMi0xNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdIFJlZ2lvbiBib3hlcyBzaG91bGQg
cmVzcGVjdCAtc2hhcGUtaW5zaWRlIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgZmlyc3Qgc3RlcCB0byBpbXBs
ZW1lbnQgc2hhcGUtaW5zaWRlIG9uIHJlZ2lvbnMuIFRoaXMgY2hhbmdlIGFkZHMgc3VwcG9ydCBm
b3IKKyAgICAgICAgc2ltcGxlIGNhc2VzIHdoZW4gdGhlIHNoYXBlLWluc2lkZSBpcyBhcHBsaWVk
IHRvIHRoZSBmaXJzdCByZWdpb24gaW4gdGhlIHJlZ2lvbiBjaGFpbi4KKworICAgICAgICBUZXN0
OiBmYXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbi5odG1sCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFJlbmRlckJsb2NrKTogTWFrZSBjb21w
dXRlRXhjbHVzaW9uU2hhcGVTaXplKCkgcHJvdGVjdGVkLCBzaW5jZSBpdCdzIHJlcXVpcmVkIGlu
IFJlbmRlclJlZ2lvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxvZ2ljYWxIZWlnaHRGb3JMaW5lKToKKyAgICAgICAg
KFdlYkNvcmUpOiBNb3ZlIHRoZSBmdW5jdGlvbiBwcmlvciB0byBsYXlvdXRFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm8sIHNpbmNlIHdlIG5lZWQgdG8gdXNlIHRoZXJlLgorICAgICAgICAoV2ViQ29y
ZTo6bGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogQWRkIHN1cHBvcnQgZm9yIGNhc2Vz
IHdoZW4gc2hhcGUtaW5zaWRlIGlzIGEgcmVnaW9uLWJsb2NrIHByb3BlcnR5LgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVn
aW9uOjpsYXlvdXQpOiBDb21wdXRlIHRoZSBzaXplIG9mIHRoZSBleGNsdXNpb24gc2hhcGUgZm9y
IHRoZSBSZW5kZXJSZWdpb24uCisKIDIwMTMtMDItMTQgIERhdmlkIEtpbHplciAgPGRka2lsemVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBDbGVhbiB1cCBXQVJOSU5HX0NGTEFHUwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91
dC5jcHAJKHJldmlzaW9uIDE0Mjc2MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNs
dWRlICJSZW5kZXJMaXN0TWFya2VyLmgiCisjaW5jbHVkZSAiUmVuZGVyUmVnaW9uLmgiCiAjaW5j
bHVkZSAiUmVuZGVyUnVieVJ1bi5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgpAQCAtNjMsMTAgKzY0LDMwIEBACiAvLyBXZSBkb24ndCBsZXQgb3VyIGxp
bmUgYm94IHRyZWUgZm9yIGEgc2luZ2xlIGxpbmUgZ2V0IGFueSBkZWVwZXIgdGhhbiB0aGlzLgog
Y29uc3QgdW5zaWduZWQgY01heExpbmVEZXB0aCA9IDIwMDsKIAorc3RhdGljIExheW91dFVuaXQg
bG9naWNhbEhlaWdodEZvckxpbmUoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBib29sIGlzRmly
c3RMaW5lLCBMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0ID0gMCkKK3sKKyAgICBpZiAoIWJsb2Nr
LT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpICYmIHJlcGxhY2VkSGVpZ2h0KQorICAgICAg
ICByZXR1cm4gcmVwbGFjZWRIZWlnaHQ7CisKKyAgICBpZiAoIShibG9jay0+c3R5bGUoaXNGaXJz
dExpbmUpLT5saW5lQm94Q29udGFpbigpICYgTGluZUJveENvbnRhaW5CbG9jaykpCisgICAgICAg
IHJldHVybiAwOworCisgICAgcmV0dXJuIG1heDxMYXlvdXRVbml0PihyZXBsYWNlZEhlaWdodCwg
YmxvY2stPmxpbmVIZWlnaHQoaXNGaXJzdExpbmUsIGJsb2NrLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlv
ckxpbmVCb3hlcykpOworfQorCiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQogc3RhdGljIGlu
bGluZSBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIGxheW91dEV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbyhjb25zdCBSZW5kZXJCbG9jayogYmxvY2spCiB7Ci0gICAgcmV0dXJuIGJsb2NrLT52aWV3
KCktPmxheW91dFN0YXRlKCktPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpOworICAgIEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyogc2hhcGVJbnNpZGVJbmZvID0gYmxvY2stPnZpZXcoKS0+bGF5
b3V0U3RhdGUoKS0+ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCk7CisKKyAgICBpZiAoIXNoYXBl
SW5zaWRlSW5mbyAmJiBibG9jay0+aW5SZW5kZXJGbG93VGhyZWFkKCkpIHsKKyAgICAgICAgUmVu
ZGVyRmxvd1RocmVhZCogcmVuZGVyRmxvd1RocmVhZCA9IGJsb2NrLT5lbmNsb3NpbmdSZW5kZXJG
bG93VGhyZWFkKCk7CisgICAgICAgIGlmIChyZW5kZXJGbG93VGhyZWFkKSB7CisgICAgICAgICAg
ICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IHJlbmRlckZsb3dUaHJlYWQtPnJlZ2lvbkF0QmxvY2tP
ZmZzZXQoYmxvY2stPmxvZ2ljYWxIZWlnaHQoKSArIGxvZ2ljYWxIZWlnaHRGb3JMaW5lKGJsb2Nr
LCBmYWxzZSkpOworICAgICAgICAgICAgcmV0dXJuIHJlZ2lvbiA/IHJlZ2lvbi0+ZXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvKCkgOiAwOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBzaGFw
ZUluc2lkZUluZm87CiB9CiAjZW5kaWYKIApAQCAtMTMzLDE3ICsxNTQsNiBAQAogICAgIGJvb2wg
bV9pc0ZpcnN0TGluZTsKIH07CiAKLXN0YXRpYyBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRGb3JM
aW5lKFJlbmRlckJsb2NrKiBibG9jaywgYm9vbCBpc0ZpcnN0TGluZSwgTGF5b3V0VW5pdCByZXBs
YWNlZEhlaWdodCA9IDApCi17Ci0gICAgaWYgKCFibG9jay0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJr
c01vZGUoKSAmJiByZXBsYWNlZEhlaWdodCkKLSAgICAgICAgcmV0dXJuIHJlcGxhY2VkSGVpZ2h0
OwotCi0gICAgaWYgKCEoYmxvY2stPnN0eWxlKGlzRmlyc3RMaW5lKS0+bGluZUJveENvbnRhaW4o
KSAmIExpbmVCb3hDb250YWluQmxvY2spKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVy
biBtYXg8TGF5b3V0VW5pdD4ocmVwbGFjZWRIZWlnaHQsIGJsb2NrLT5saW5lSGVpZ2h0KGlzRmly
c3RMaW5lLCBibG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5l
IDogVmVydGljYWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKTsKLX0KLQogaW5s
aW5lIHZvaWQgTGluZVdpZHRoOjp1cGRhdGVBdmFpbGFibGVXaWR0aChMYXlvdXRVbml0IHJlcGxh
Y2VkSGVpZ2h0KQogewogICAgIExheW91dFVuaXQgaGVpZ2h0ID0gbV9ibG9jay0+bG9naWNhbEhl
aWdodCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAJ
KHJldmlzaW9uIDE0Mjc2MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTQsNiArMjU0LDkgQEAKICAgICAgICAgICAgIGlm
ICh2aWV3KCktPmNoZWNrVHdvUGFzc0xheW91dEZvckF1dG9IZWlnaHRSZWdpb25zKCkpCiAgICAg
ICAgICAgICAgICAgdmlldygpLT5mbG93VGhyZWFkQ29udHJvbGxlcigpLT5zZXROZWVkc1R3b1Bh
c3NMYXlvdXRGb3JBdXRvSGVpZ2h0UmVnaW9ucyh0cnVlKTsKICAgICAgICAgfQorI2lmIEVOQUJM
RShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgY29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpOwor
I2VuZGlmCiAgICAgfQogCiAgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gZmluZCBhIHdheSB0byBz
ZXQgdXAgb3ZlcmZsb3cgcHJvcGVybHkuIE91ciBmbG93IHRocmVhZCBoYXNuJ3QgZ290dGVuIGEg
bGF5b3V0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNp
b24gMTQyNzYyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUzNywxMCArNTM3LDExIEBACiAgICAgdm9pZCB1cGRhdGVCbG9ja0No
aWxkRGlydHlCaXRzQmVmb3JlTGF5b3V0KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgUmVuZGVyQm94
Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tGb3JQYWdpbmF0aW9uTG9naWNhbEhlaWdodENo
YW5nZShMYXlvdXRVbml0JiBwYWdlTG9naWNhbEhlaWdodCwgYm9vbCYgcGFnZUxvZ2ljYWxIZWln
aHRDaGFuZ2VkLCBib29sJiBoYXNTcGVjaWZpZWRQYWdlTG9naWNhbEhlaWdodCk7Ci0KKyNpZiBF
TkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgdm9pZCBjb21wdXRlRXhjbHVzaW9uU2hhcGVTaXpl
KCk7CisjZW5kaWYKIHByaXZhdGU6CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAgIHZv
aWQgY29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpOwogICAgIHZvaWQgdXBkYXRlRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb25TaGFwZVZhbHVl
KiwgY29uc3QgRXhjbHVzaW9uU2hhcGVWYWx1ZSogb2xkRXhjbHVzaW9uU2hhcGUpOwogI2VuZGlm
CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIHsg
cmV0dXJuIGNoaWxkcmVuKCk7IH0K
</data>
<flag name="commit-queue"
          id="208521"
          type_id="3"
          status="-"
          setter="zoltan"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188594</attachid>
            <date>2013-02-15 10:04:19 -0800</date>
            <delta_ts>2013-02-15 12:02:33 -0800</delta_ts>
            <desc>#74132 is landed, reupload to fire the bots</desc>
            <filename>patch2upload_simpleshapeinsideOnRegions.patch</filename>
            <type>text/plain</type>
            <size>9711</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9uLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1v
bi1yZWdpb24uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9z
aGFwZS1pbnNpZGUtb24tcmVnaW9uLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAK
KzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgICNy
ZWN0YW5nbGUgeworICAgICAgICAgICAgLXdlYmtpdC1mbG93LWludG86IHJlY3RhbmdsZTsKKyAg
ICAgICAgfQorICAgICAgICAucmVnaW9uIHsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAg
ICAgICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiByZWN0YW5nbGU7CisgICAgICAgIH0KKyAgICAg
ICAgI3JlZ2lvbjEgeworICAgICAgICAgICAgaGVpZ2h0OiAyNjBweDsKKyAgICAgICAgICAgIC13
ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwgMCwgMTAwJSwgMTAwJSwgNjAlLCA1MCUp
OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9
InJlY3RhbmdsZSI+CisgICAgICAgIEplcm5hdSBNb3JhdCBHdXJnZWgsIGEgZmFtb3VzbHkgc2tp
bGZ1bCBwbGF5ZXIgb2YgYm9hcmQgZ2FtZXMgYW5kIG90aGVyIHNpbWlsYXIgY29udGVzdHMsIGxp
dmVzIG9uIENoaWFyayBPcmJpdGFsLCBhbmQgaXMgYm9yZWQgd2l0aCBoaXMgc3VjY2Vzc2Z1bCBs
aWZlLiBUaGUgQ3VsdHVyZSdzIFNwZWNpYWwgQ2lyY3Vtc3RhbmNlcyBpbnF1aXJlcyBhYm91dCBo
aXMgd2lsbGluZ25lc3MgdG8gcGFydGljaXBhdGUgaW4gYSBsb25nIGpvdXJuZXksIHRob3VnaCB3
b24ndCBleHBsYWluIGZ1cnRoZXIgdW5sZXNzIEd1cmdlaCBhZ3JlZXMgdG8gcGFydGljaXBhdGUu
IFdoaWxlIGhlIGlzIGNvbnNpZGVyaW5nIHRoaXMgb2ZmZXIsIG9uZSBvZiBoaXMgZHJvbmUgZnJp
ZW5kcywgTWF3aHJpbi1Ta2VsLCB3aGljaCBoYWQgYmVlbiBlamVjdGVkIGZyb20gU3BlY2lhbCBD
aXJjdW1zdGFuY2VzIGR1ZSB0byBpdHMgdW5zdGFibGUgcGVyc29uYWxpdHksIGNvbnZpbmNlcyBo
aW0gdG8gY2hlYXQgaW4gb25lIG9mIGhpcyBtYXRjaGVzIGluIGFuIGF0dGVtcHQgdG8gd2luIGlu
IGFuIHVucHJlY2UtIGRlbnRlZCBwZXJmZWN0IGZhc2hpb24uIFRoZSBhdHRlbXB0IGZhaWxzLCBi
dXQgTWF3aHJpbi1Ta2VsIHVzZXMgaGlzIHJlY29yZGluZyBvZiB0aGUgZXZlbnQgdG8gYmxhY2tt
YWlsIEd1cmdlaCBpbnRvIGFjY2VwdGluZyB0aGUgb2ZmZXIgYW5kIGluc2lzdGluZyB0aGF0IE1h
d2hyaW4tU2tlbCBiZSBhZG1pdHRlZCBiYWNrIGludG8gU3BlY2lhbCBDaXJjdW1zdGFuY2VzIGFz
IHdlbGwuCisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0icGFnZSI+CisgICAgICAgIDxkaXYgaWQ9
InJlZ2lvbjEiIGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24y
IiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8cD5UaGUgLXNoYXBlLWlu
c2lkZSBwcm9wZXJ0eSBpcyBhcHBsaWVkIHRvIHRoZSBmaXJzdCByZWdpb24gaXRzZWxmLiBUaGUg
dGV4dCBzaG91bGQgc3RhcnQgaW5zaWRlIHRoZSByb3VuZGVkIHJlY3RhbmdsZSBhbmQgb3ZlcmZs
b3cgdG8gYSByZWd1bGFyIHJlY3RhbmdsZS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbi1leHBlY3RlZC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUt
b24tcmVnaW9uLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbi1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+CisgICAg
PHN0eWxlPgorICAgICAgICAjcmVjdGFuZ2xlIHsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsK
KyAgICAgICAgICAgIGhlaWdodDogMjYwcHg7CisgICAgICAgICAgICAtd2Via2l0LXNoYXBlLWlu
c2lkZTogcmVjdGFuZ2xlKDAsIDAsIDEwMCUsIDEwMCUsIDYwJSwgNTAlKTsKKyAgICAgICAgfQor
ICAgICAgICAjYm94IHsgd2lkdGg6IDMwMHB4OyB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxkaXYgaWQ9InJlY3RhbmdsZSI+CisgICAgICAgIEplcm5hdSBNb3JhdCBHdXJn
ZWgsIGEgZmFtb3VzbHkgc2tpbGZ1bCBwbGF5ZXIgb2YgYm9hcmQgZ2FtZXMgYW5kIG90aGVyIHNp
bWlsYXIgY29udGVzdHMsIGxpdmVzIG9uIENoaWFyayBPcmJpdGFsLCBhbmQgaXMgYm9yZWQgd2l0
aCBoaXMgc3VjY2Vzc2Z1bCBsaWZlLiBUaGUgQ3VsdHVyZSdzIFNwZWNpYWwgQ2lyY3Vtc3RhbmNl
cyBpbnF1aXJlcyBhYm91dCBoaXMgd2lsbGluZ25lc3MgdG8gcGFydGljaXBhdGUgaW4gYSBsb25n
IGpvdXJuZXksIHRob3VnaCB3b24ndCBleHBsYWluIGZ1cnRoZXIgdW5sZXNzIEd1cmdlaCBhZ3Jl
ZXMgdG8gcGFydGljaXBhdGUuIFdoaWxlIGhlIGlzIGNvbnNpZGVyaW5nIHRoaXMgb2ZmZXIsIG9u
ZSBvZiBoaXMgZHJvbmUgZnJpZW5kcywgTWF3aHJpbi1Ta2VsLCB3aGljaCBoYWQgYmVlbiBlamVj
dGVkIGZyb20gU3BlY2lhbAorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJveCI+CisgICAgICAg
IENpcmN1bXN0YW5jZXMgZHVlIHRvIGl0cyB1bnN0YWJsZSBwZXJzb25hbGl0eSwgY29udmluY2Vz
IGhpbSB0byBjaGVhdCBpbiBvbmUgb2YgaGlzIG1hdGNoZXMgaW4gYW4gYXR0ZW1wdCB0byB3aW4g
aW4gYW4gdW5wcmVjZS0gZGVudGVkIHBlcmZlY3QgZmFzaGlvbi4gVGhlIGF0dGVtcHQgZmFpbHMs
IGJ1dCBNYXdocmluLVNrZWwgdXNlcyBoaXMgcmVjb3JkaW5nIG9mIHRoZSBldmVudCB0byBibGFj
a21haWwgR3VyZ2VoIGludG8gYWNjZXB0aW5nIHRoZSBvZmZlciBhbmQgaW5zaXN0aW5nIHRoYXQg
TWF3aHJpbi1Ta2VsIGJlIGFkbWl0dGVkIGJhY2sgaW50byBTcGVjaWFsIENpcmN1bXN0YW5jZXMg
YXMgd2VsbC4KKyAgICA8L2Rpdj4KKyAgICA8cD5UaGUgLXNoYXBlLWluc2lkZSBwcm9wZXJ0eSBp
cyBhcHBsaWVkIHRvIHRoZSBmaXJzdCByZWdpb24gaXRzZWxmLiBUaGUgdGV4dCBzaG91bGQgc3Rh
cnQgaW5zaWRlIHRoZSByb3VuZGVkIHJlY3RhbmdsZSBhbmQgb3ZlcmZsb3cgdG8gYSByZWd1bGFy
IHJlY3RhbmdsZS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDI5
MDQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NiBAQAorMjAxMy0wMi0xNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgIFtDU1MgUmVnaW9uc10gUmVnaW9uIGJveGVzIHNob3VsZCByZXNwZWN0IC1zaGFwZS1p
bnNpZGUgQ1NTIHByb3BlcnR5CisgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNzg4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgaXMgdGhlIGZpcnN0IHN0ZXAgdG8gaW1wbGVtZW50IHNoYXBlLWluc2lk
ZSBvbiByZWdpb25zLiBUaGlzIGNoYW5nZSBhZGRzIHN1cHBvcnQgZm9yCisgICAgICAgIHNpbXBs
ZSBjYXNlcyB3aGVuIHRoZSBzaGFwZS1pbnNpZGUgaXMgYXBwbGllZCB0byB0aGUgZmlyc3QgcmVn
aW9uIGluIHRoZSByZWdpb24gY2hhaW4uCisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvc2hhcGUt
aW5zaWRlLW9uLXJlZ2lvbi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Jl
Z2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbi5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0xNCAg
TGFtYXJxdWUgVi4gU291emEgIDxMYW1hcnF1ZS5Tb3V6YUBiYXN5c2tvbS5jb20+CiAKICAgICAg
ICAgU3VwcG9ydCB0aGUgY2ggdW5pdCBmcm9tIGNzczMtdmFsdWVzCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNDI5MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyNCBAQAorMjAxMy0wMi0xNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdIFJlZ2lvbiBib3hlcyBzaG91bGQg
cmVzcGVjdCAtc2hhcGUtaW5zaWRlIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgZmlyc3Qgc3RlcCB0byBpbXBs
ZW1lbnQgc2hhcGUtaW5zaWRlIG9uIHJlZ2lvbnMuIFRoaXMgY2hhbmdlIGFkZHMgc3VwcG9ydCBm
b3IKKyAgICAgICAgc2ltcGxlIGNhc2VzIHdoZW4gdGhlIHNoYXBlLWluc2lkZSBpcyBhcHBsaWVk
IHRvIHRoZSBmaXJzdCByZWdpb24gaW4gdGhlIHJlZ2lvbiBjaGFpbi4KKworICAgICAgICBUZXN0
OiBmYXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbi5odG1sCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFJlbmRlckJsb2NrKTogTWFrZSBjb21w
dXRlRXhjbHVzaW9uU2hhcGVTaXplKCkgcHJvdGVjdGVkLCBzaW5jZSBpdCdzIHJlcXVpcmVkIGlu
IFJlbmRlclJlZ2lvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxvZ2ljYWxIZWlnaHRGb3JMaW5lKToKKyAgICAgICAg
KFdlYkNvcmUpOiBNb3ZlIHRoZSBmdW5jdGlvbiBwcmlvciB0byBsYXlvdXRFeGNsdXNpb25TaGFw
ZUluc2lkZUluZm8sIHNpbmNlIHdlIG5lZWQgdG8gdXNlIHRoZXJlLgorICAgICAgICAoV2ViQ29y
ZTo6bGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogQWRkIHN1cHBvcnQgZm9yIGNhc2Vz
IHdoZW4gc2hhcGUtaW5zaWRlIGlzIGEgcmVnaW9uLWJsb2NrIHByb3BlcnR5LgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVn
aW9uOjpsYXlvdXQpOiBDb21wdXRlIHRoZSBzaXplIG9mIHRoZSBleGNsdXNpb24gc2hhcGUgZm9y
IHRoZSBSZW5kZXJSZWdpb24uCisKIDIwMTMtMDItMTQgIERhdmlkIEtpbHplciAgPGRka2lsemVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBDbGVhbiB1cCBXQVJOSU5HX0NGTEFHUwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91
dC5jcHAJKHJldmlzaW9uIDE0Mjc2MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNs
dWRlICJSZW5kZXJMaXN0TWFya2VyLmgiCisjaW5jbHVkZSAiUmVuZGVyUmVnaW9uLmgiCiAjaW5j
bHVkZSAiUmVuZGVyUnVieVJ1bi5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgpAQCAtNjMsMTAgKzY0LDMwIEBACiAvLyBXZSBkb24ndCBsZXQgb3VyIGxp
bmUgYm94IHRyZWUgZm9yIGEgc2luZ2xlIGxpbmUgZ2V0IGFueSBkZWVwZXIgdGhhbiB0aGlzLgog
Y29uc3QgdW5zaWduZWQgY01heExpbmVEZXB0aCA9IDIwMDsKIAorc3RhdGljIExheW91dFVuaXQg
bG9naWNhbEhlaWdodEZvckxpbmUoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBib29sIGlzRmly
c3RMaW5lLCBMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0ID0gMCkKK3sKKyAgICBpZiAoIWJsb2Nr
LT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpICYmIHJlcGxhY2VkSGVpZ2h0KQorICAgICAg
ICByZXR1cm4gcmVwbGFjZWRIZWlnaHQ7CisKKyAgICBpZiAoIShibG9jay0+c3R5bGUoaXNGaXJz
dExpbmUpLT5saW5lQm94Q29udGFpbigpICYgTGluZUJveENvbnRhaW5CbG9jaykpCisgICAgICAg
IHJldHVybiAwOworCisgICAgcmV0dXJuIG1heDxMYXlvdXRVbml0PihyZXBsYWNlZEhlaWdodCwg
YmxvY2stPmxpbmVIZWlnaHQoaXNGaXJzdExpbmUsIGJsb2NrLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlv
ckxpbmVCb3hlcykpOworfQorCiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQogc3RhdGljIGlu
bGluZSBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIGxheW91dEV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbyhjb25zdCBSZW5kZXJCbG9jayogYmxvY2spCiB7Ci0gICAgcmV0dXJuIGJsb2NrLT52aWV3
KCktPmxheW91dFN0YXRlKCktPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpOworICAgIEV4Y2x1
c2lvblNoYXBlSW5zaWRlSW5mbyogc2hhcGVJbnNpZGVJbmZvID0gYmxvY2stPnZpZXcoKS0+bGF5
b3V0U3RhdGUoKS0+ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCk7CisKKyAgICBpZiAoIXNoYXBl
SW5zaWRlSW5mbyAmJiBibG9jay0+aW5SZW5kZXJGbG93VGhyZWFkKCkpIHsKKyAgICAgICAgUmVu
ZGVyRmxvd1RocmVhZCogcmVuZGVyRmxvd1RocmVhZCA9IGJsb2NrLT5lbmNsb3NpbmdSZW5kZXJG
bG93VGhyZWFkKCk7CisgICAgICAgIGlmIChyZW5kZXJGbG93VGhyZWFkKSB7CisgICAgICAgICAg
ICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IHJlbmRlckZsb3dUaHJlYWQtPnJlZ2lvbkF0QmxvY2tP
ZmZzZXQoYmxvY2stPmxvZ2ljYWxIZWlnaHQoKSArIGxvZ2ljYWxIZWlnaHRGb3JMaW5lKGJsb2Nr
LCBmYWxzZSkpOworICAgICAgICAgICAgcmV0dXJuIHJlZ2lvbiA/IHJlZ2lvbi0+ZXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvKCkgOiAwOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBzaGFw
ZUluc2lkZUluZm87CiB9CiAjZW5kaWYKIApAQCAtMTMzLDE3ICsxNTQsNiBAQAogICAgIGJvb2wg
bV9pc0ZpcnN0TGluZTsKIH07CiAKLXN0YXRpYyBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRGb3JM
aW5lKFJlbmRlckJsb2NrKiBibG9jaywgYm9vbCBpc0ZpcnN0TGluZSwgTGF5b3V0VW5pdCByZXBs
YWNlZEhlaWdodCA9IDApCi17Ci0gICAgaWYgKCFibG9jay0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJr
c01vZGUoKSAmJiByZXBsYWNlZEhlaWdodCkKLSAgICAgICAgcmV0dXJuIHJlcGxhY2VkSGVpZ2h0
OwotCi0gICAgaWYgKCEoYmxvY2stPnN0eWxlKGlzRmlyc3RMaW5lKS0+bGluZUJveENvbnRhaW4o
KSAmIExpbmVCb3hDb250YWluQmxvY2spKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVy
biBtYXg8TGF5b3V0VW5pdD4ocmVwbGFjZWRIZWlnaHQsIGJsb2NrLT5saW5lSGVpZ2h0KGlzRmly
c3RMaW5lLCBibG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5l
IDogVmVydGljYWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKTsKLX0KLQogaW5s
aW5lIHZvaWQgTGluZVdpZHRoOjp1cGRhdGVBdmFpbGFibGVXaWR0aChMYXlvdXRVbml0IHJlcGxh
Y2VkSGVpZ2h0KQogewogICAgIExheW91dFVuaXQgaGVpZ2h0ID0gbV9ibG9jay0+bG9naWNhbEhl
aWdodCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAJ
KHJldmlzaW9uIDE0Mjc2MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTQsNiArMjU0LDkgQEAKICAgICAgICAgICAgIGlm
ICh2aWV3KCktPmNoZWNrVHdvUGFzc0xheW91dEZvckF1dG9IZWlnaHRSZWdpb25zKCkpCiAgICAg
ICAgICAgICAgICAgdmlldygpLT5mbG93VGhyZWFkQ29udHJvbGxlcigpLT5zZXROZWVkc1R3b1Bh
c3NMYXlvdXRGb3JBdXRvSGVpZ2h0UmVnaW9ucyh0cnVlKTsKICAgICAgICAgfQorI2lmIEVOQUJM
RShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgY29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpOwor
I2VuZGlmCiAgICAgfQogCiAgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gZmluZCBhIHdheSB0byBz
ZXQgdXAgb3ZlcmZsb3cgcHJvcGVybHkuIE91ciBmbG93IHRocmVhZCBoYXNuJ3QgZ290dGVuIGEg
bGF5b3V0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNp
b24gMTQyNzYyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUzNywxMCArNTM3LDExIEBACiAgICAgdm9pZCB1cGRhdGVCbG9ja0No
aWxkRGlydHlCaXRzQmVmb3JlTGF5b3V0KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgUmVuZGVyQm94
Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tGb3JQYWdpbmF0aW9uTG9naWNhbEhlaWdodENo
YW5nZShMYXlvdXRVbml0JiBwYWdlTG9naWNhbEhlaWdodCwgYm9vbCYgcGFnZUxvZ2ljYWxIZWln
aHRDaGFuZ2VkLCBib29sJiBoYXNTcGVjaWZpZWRQYWdlTG9naWNhbEhlaWdodCk7Ci0KKyNpZiBF
TkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgdm9pZCBjb21wdXRlRXhjbHVzaW9uU2hhcGVTaXpl
KCk7CisjZW5kaWYKIHByaXZhdGU6CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAgIHZv
aWQgY29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpOwogICAgIHZvaWQgdXBkYXRlRXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb25TaGFwZVZhbHVl
KiwgY29uc3QgRXhjbHVzaW9uU2hhcGVWYWx1ZSogb2xkRXhjbHVzaW9uU2hhcGUpOwogI2VuZGlm
CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIHsg
cmV0dXJuIGNoaWxkcmVuKCk7IH0K
</data>
<flag name="commit-queue"
          id="208757"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188613</attachid>
            <date>2013-02-15 12:02:33 -0800</date>
            <delta_ts>2013-02-19 06:13:02 -0800</delta_ts>
            <desc>#74132 is landed, reupload to fire the bots</desc>
            <filename>patch2upload_simpleshapeinsideOnRegions.patch</filename>
            <type>text/plain</type>
            <size>10000</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzAxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTE1ICBab2x0YW4g
SG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gUmVn
aW9uIGJveGVzIHNob3VsZCByZXNwZWN0IC1zaGFwZS1pbnNpZGUgQ1NTIHByb3BlcnR5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc4ODAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIHRoZSBm
aXJzdCBzdGVwIHRvIGltcGxlbWVudCBzaGFwZS1pbnNpZGUgb24gcmVnaW9ucy4gVGhpcyBjaGFu
Z2UgYWRkcyBzdXBwb3J0IGZvcgorICAgICAgICBzaW1wbGUgY2FzZXMgd2hlbiB0aGUgc2hhcGUt
aW5zaWRlIGlzIGFwcGxpZWQgdG8gdGhlIGZpcnN0IHJlZ2lvbiBpbiB0aGUgcmVnaW9uIGNoYWlu
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9uLmh0
bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoUmVuZGVy
QmxvY2spOiBNYWtlIGNvbXB1dGVFeGNsdXNpb25TaGFwZVNpemUoKSBwcm90ZWN0ZWQsIHNpbmNl
IGl0J3MgcmVxdWlyZWQgaW4gUmVuZGVyUmVnaW9uLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9naWNhbEhlaWdodEZv
ckxpbmUpOgorICAgICAgICAoV2ViQ29yZSk6IE1vdmUgdGhlIGZ1bmN0aW9uIHByaW9yIHRvIGxh
eW91dEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbywgc2luY2Ugd2UgbmVlZCB0byB1c2UgdGhlcmUu
CisgICAgICAgIChXZWJDb3JlOjpsYXlvdXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8pOiBBZGQg
c3VwcG9ydCBmb3IgY2FzZXMgd2hlbiBzaGFwZS1pbnNpZGUgaXMgYSByZWdpb24tYmxvY2sgcHJv
cGVydHkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJSZWdpb246OmxheW91dCk6IENvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGV4
Y2x1c2lvbiBzaGFwZSBmb3IgdGhlIFJlbmRlclJlZ2lvbi4KKwogMjAxMy0wMi0xNSAgSGFucyBN
dWxsZXIgIDxobXVsbGVyQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIEV4Y2x1c2lvbnNdIEVu
YWJsZSBzaGFwZS1pbnNpZGUgc3VwcG9ydCBmb3IgY2lyY2xlcwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHJldmlzaW9u
IDE0MzAxMCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlv
dXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiUmVuZGVy
SW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMaXN0
TWFya2VyLmgiCisjaW5jbHVkZSAiUmVuZGVyUmVnaW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyUnVi
eVJ1bi5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpA
QCAtNjMsMTAgKzY0LDMwIEBACiAvLyBXZSBkb24ndCBsZXQgb3VyIGxpbmUgYm94IHRyZWUgZm9y
IGEgc2luZ2xlIGxpbmUgZ2V0IGFueSBkZWVwZXIgdGhhbiB0aGlzLgogY29uc3QgdW5zaWduZWQg
Y01heExpbmVEZXB0aCA9IDIwMDsKIAorc3RhdGljIExheW91dFVuaXQgbG9naWNhbEhlaWdodEZv
ckxpbmUoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBib29sIGlzRmlyc3RMaW5lLCBMYXlvdXRV
bml0IHJlcGxhY2VkSGVpZ2h0ID0gMCkKK3sKKyAgICBpZiAoIWJsb2NrLT5kb2N1bWVudCgpLT5p
bk5vUXVpcmtzTW9kZSgpICYmIHJlcGxhY2VkSGVpZ2h0KQorICAgICAgICByZXR1cm4gcmVwbGFj
ZWRIZWlnaHQ7CisKKyAgICBpZiAoIShibG9jay0+c3R5bGUoaXNGaXJzdExpbmUpLT5saW5lQm94
Q29udGFpbigpICYgTGluZUJveENvbnRhaW5CbG9jaykpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcmV0dXJuIG1heDxMYXlvdXRVbml0PihyZXBsYWNlZEhlaWdodCwgYmxvY2stPmxpbmVIZWln
aHQoaXNGaXJzdExpbmUsIGJsb2NrLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gSG9yaXpv
bnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykpOwor
fQorCiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQogc3RhdGljIGlubGluZSBFeGNsdXNpb25T
aGFwZUluc2lkZUluZm8qIGxheW91dEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhjb25zdCBSZW5k
ZXJCbG9jayogYmxvY2spCiB7Ci0gICAgcmV0dXJuIGJsb2NrLT52aWV3KCktPmxheW91dFN0YXRl
KCktPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpOworICAgIEV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbyogc2hhcGVJbnNpZGVJbmZvID0gYmxvY2stPnZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+ZXhj
bHVzaW9uU2hhcGVJbnNpZGVJbmZvKCk7CisKKyAgICBpZiAoIXNoYXBlSW5zaWRlSW5mbyAmJiBi
bG9jay0+aW5SZW5kZXJGbG93VGhyZWFkKCkpIHsKKyAgICAgICAgUmVuZGVyRmxvd1RocmVhZCog
cmVuZGVyRmxvd1RocmVhZCA9IGJsb2NrLT5lbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkKCk7Cisg
ICAgICAgIGlmIChyZW5kZXJGbG93VGhyZWFkKSB7CisgICAgICAgICAgICBSZW5kZXJSZWdpb24q
IHJlZ2lvbiA9IHJlbmRlckZsb3dUaHJlYWQtPnJlZ2lvbkF0QmxvY2tPZmZzZXQoYmxvY2stPmxv
Z2ljYWxIZWlnaHQoKSArIGxvZ2ljYWxIZWlnaHRGb3JMaW5lKGJsb2NrLCBmYWxzZSkpOworICAg
ICAgICAgICAgcmV0dXJuIHJlZ2lvbiA/IHJlZ2lvbi0+ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
KCkgOiAwOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBzaGFwZUluc2lkZUluZm87CiB9
CiAjZW5kaWYKIApAQCAtMTMzLDE3ICsxNTQsNiBAQAogICAgIGJvb2wgbV9pc0ZpcnN0TGluZTsK
IH07CiAKLXN0YXRpYyBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRGb3JMaW5lKFJlbmRlckJsb2Nr
KiBibG9jaywgYm9vbCBpc0ZpcnN0TGluZSwgTGF5b3V0VW5pdCByZXBsYWNlZEhlaWdodCA9IDAp
Ci17Ci0gICAgaWYgKCFibG9jay0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKSAmJiByZXBs
YWNlZEhlaWdodCkKLSAgICAgICAgcmV0dXJuIHJlcGxhY2VkSGVpZ2h0OwotCi0gICAgaWYgKCEo
YmxvY2stPnN0eWxlKGlzRmlyc3RMaW5lKS0+bGluZUJveENvbnRhaW4oKSAmIExpbmVCb3hDb250
YWluQmxvY2spKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBtYXg8TGF5b3V0VW5p
dD4ocmVwbGFjZWRIZWlnaHQsIGJsb2NrLT5saW5lSGVpZ2h0KGlzRmlyc3RMaW5lLCBibG9jay0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5l
LCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKTsKLX0KLQogaW5saW5lIHZvaWQgTGluZVdp
ZHRoOjp1cGRhdGVBdmFpbGFibGVXaWR0aChMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0KQogewog
ICAgIExheW91dFVuaXQgaGVpZ2h0ID0gbV9ibG9jay0+bG9naWNhbEhlaWdodCgpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAJKHJldmlzaW9uIDE0MzAx
MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNjQsNiArMjY0LDkgQEAKICAgICAgICAgICAgIGlmICh2aWV3KCktPmNoZWNr
VHdvUGFzc0xheW91dEZvckF1dG9IZWlnaHRSZWdpb25zKCkpCiAgICAgICAgICAgICAgICAgdmll
dygpLT5mbG93VGhyZWFkQ29udHJvbGxlcigpLT5zZXROZWVkc1R3b1Bhc3NMYXlvdXRGb3JBdXRv
SGVpZ2h0UmVnaW9ucyh0cnVlKTsKICAgICAgICAgfQorI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9O
UykKKyAgICAgICAgY29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpOworI2VuZGlmCiAgICAgfQog
CiAgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gZmluZCBhIHdheSB0byBzZXQgdXAgb3ZlcmZsb3cg
cHJvcGVybHkuIE91ciBmbG93IHRocmVhZCBoYXNuJ3QgZ290dGVuIGEgbGF5b3V0CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gMTQzMDEwKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAg
LTU1MiwxMCArNTUyLDExIEBACiAgICAgdm9pZCB1cGRhdGVCbG9ja0NoaWxkRGlydHlCaXRzQmVm
b3JlTGF5b3V0KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgUmVuZGVyQm94Kik7CiAKICAgICB2aXJ0
dWFsIHZvaWQgY2hlY2tGb3JQYWdpbmF0aW9uTG9naWNhbEhlaWdodENoYW5nZShMYXlvdXRVbml0
JiBwYWdlTG9naWNhbEhlaWdodCwgYm9vbCYgcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkLCBib29s
JiBoYXNTcGVjaWZpZWRQYWdlTG9naWNhbEhlaWdodCk7Ci0KKyNpZiBFTkFCTEUoQ1NTX0VYQ0xV
U0lPTlMpCisgICAgdm9pZCBjb21wdXRlRXhjbHVzaW9uU2hhcGVTaXplKCk7CisjZW5kaWYKIHBy
aXZhdGU6CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAgIHZvaWQgY29tcHV0ZUV4Y2x1
c2lvblNoYXBlU2l6ZSgpOwogICAgIHZvaWQgdXBkYXRlRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
QWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb25TaGFwZVZhbHVlKiwgY29uc3QgRXhjbHVz
aW9uU2hhcGVWYWx1ZSogb2xkRXhjbHVzaW9uU2hhcGUpOwogI2VuZGlmCiAgICAgdmlydHVhbCBS
ZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIHsgcmV0dXJuIGNoaWxkcmVu
KCk7IH0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVn
aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWlu
c2lkZS1vbi1yZWdpb24uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9uLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MzIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1ZSk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICAjcmVjdGFuZ2xlIHsKKyAgICAgICAgICAgIC13ZWJraXQtZmxv
dy1pbnRvOiByZWN0YW5nbGU7CisgICAgICAgIH0KKyAgICAgICAgLnJlZ2lvbiB7CisgICAgICAg
ICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogcmVjdGFu
Z2xlOworICAgICAgICB9CisgICAgICAgICNyZWdpb24xIHsKKyAgICAgICAgICAgIGhlaWdodDog
MjYwcHg7CisgICAgICAgICAgICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAs
IDEwMCUsIDEwMCUsIDYwJSwgNTAlKTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJyZWN0YW5nbGUiPgorICAgICAgICBKZXJuYXUgTW9yYXQg
R3VyZ2VoLCBhIGZhbW91c2x5IHNraWxmdWwgcGxheWVyIG9mIGJvYXJkIGdhbWVzIGFuZCBvdGhl
ciBzaW1pbGFyIGNvbnRlc3RzLCBsaXZlcyBvbiBDaGlhcmsgT3JiaXRhbCwgYW5kIGlzIGJvcmVk
IHdpdGggaGlzIHN1Y2Nlc3NmdWwgbGlmZS4gVGhlIEN1bHR1cmUncyBTcGVjaWFsIENpcmN1bXN0
YW5jZXMgaW5xdWlyZXMgYWJvdXQgaGlzIHdpbGxpbmduZXNzIHRvIHBhcnRpY2lwYXRlIGluIGEg
bG9uZyBqb3VybmV5LCB0aG91Z2ggd29uJ3QgZXhwbGFpbiBmdXJ0aGVyIHVubGVzcyBHdXJnZWgg
YWdyZWVzIHRvIHBhcnRpY2lwYXRlLiBXaGlsZSBoZSBpcyBjb25zaWRlcmluZyB0aGlzIG9mZmVy
LCBvbmUgb2YgaGlzIGRyb25lIGZyaWVuZHMsIE1hd2hyaW4tU2tlbCwgd2hpY2ggaGFkIGJlZW4g
ZWplY3RlZCBmcm9tIFNwZWNpYWwgQ2lyY3Vtc3RhbmNlcyBkdWUgdG8gaXRzIHVuc3RhYmxlIHBl
cnNvbmFsaXR5LCBjb252aW5jZXMgaGltIHRvIGNoZWF0IGluIG9uZSBvZiBoaXMgbWF0Y2hlcyBp
biBhbiBhdHRlbXB0IHRvIHdpbiBpbiBhbiB1bnByZWNlLSBkZW50ZWQgcGVyZmVjdCBmYXNoaW9u
LiBUaGUgYXR0ZW1wdCBmYWlscywgYnV0IE1hd2hyaW4tU2tlbCB1c2VzIGhpcyByZWNvcmRpbmcg
b2YgdGhlIGV2ZW50IHRvIGJsYWNrbWFpbCBHdXJnZWggaW50byBhY2NlcHRpbmcgdGhlIG9mZmVy
IGFuZCBpbnNpc3RpbmcgdGhhdCBNYXdocmluLVNrZWwgYmUgYWRtaXR0ZWQgYmFjayBpbnRvIFNw
ZWNpYWwgQ2lyY3Vtc3RhbmNlcyBhcyB3ZWxsLgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9InBh
Z2UiPgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24xIiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0icmVnaW9uMiIgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgPC9kaXY+
CisgICAgPHA+VGhlIC1zaGFwZS1pbnNpZGUgcHJvcGVydHkgaXMgYXBwbGllZCB0byB0aGUgZmly
c3QgcmVnaW9uIGl0c2VsZi4gVGhlIHRleHQgc2hvdWxkIHN0YXJ0IGluc2lkZSB0aGUgcm91bmRl
ZCByZWN0YW5nbGUgYW5kIG92ZXJmbG93IHRvIGEgcmVndWxhciByZWN0YW5nbGUuPC9wPgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lk
ZS1vbi1yZWdpb24tZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbi1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb24tZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUw+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRDU1NFeGNsdXNp
b25zRW5hYmxlZCh0cnVlKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5bGU+CisgICAgICAgICNy
ZWN0YW5nbGUgeworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgaGVpZ2h0
OiAyNjBweDsKKyAgICAgICAgICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwg
MCwgMTAwJSwgMTAwJSwgNjAlLCA1MCUpOworICAgICAgICB9CisgICAgICAgICNib3ggeyB3aWR0
aDogMzAwcHg7IH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0i
cmVjdGFuZ2xlIj4KKyAgICAgICAgSmVybmF1IE1vcmF0IEd1cmdlaCwgYSBmYW1vdXNseSBza2ls
ZnVsIHBsYXllciBvZiBib2FyZCBnYW1lcyBhbmQgb3RoZXIgc2ltaWxhciBjb250ZXN0cywgbGl2
ZXMgb24gQ2hpYXJrIE9yYml0YWwsIGFuZCBpcyBib3JlZCB3aXRoIGhpcyBzdWNjZXNzZnVsIGxp
ZmUuIFRoZSBDdWx0dXJlJ3MgU3BlY2lhbCBDaXJjdW1zdGFuY2VzIGlucXVpcmVzIGFib3V0IGhp
cyB3aWxsaW5nbmVzcyB0byBwYXJ0aWNpcGF0ZSBpbiBhIGxvbmcgam91cm5leSwgdGhvdWdoIHdv
bid0IGV4cGxhaW4gZnVydGhlciB1bmxlc3MgR3VyZ2VoIGFncmVlcyB0byBwYXJ0aWNpcGF0ZS4g
V2hpbGUgaGUgaXMgY29uc2lkZXJpbmcgdGhpcyBvZmZlciwgb25lIG9mIGhpcyBkcm9uZSBmcmll
bmRzLCBNYXdocmluLVNrZWwsIHdoaWNoIGhhZCBiZWVuIGVqZWN0ZWQgZnJvbSBTcGVjaWFsCisg
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm94Ij4KKyAgICAgICAgQ2lyY3Vtc3RhbmNlcyBkdWUg
dG8gaXRzIHVuc3RhYmxlIHBlcnNvbmFsaXR5LCBjb252aW5jZXMgaGltIHRvIGNoZWF0IGluIG9u
ZSBvZiBoaXMgbWF0Y2hlcyBpbiBhbiBhdHRlbXB0IHRvIHdpbiBpbiBhbiB1bnByZWNlLSBkZW50
ZWQgcGVyZmVjdCBmYXNoaW9uLiBUaGUgYXR0ZW1wdCBmYWlscywgYnV0IE1hd2hyaW4tU2tlbCB1
c2VzIGhpcyByZWNvcmRpbmcgb2YgdGhlIGV2ZW50IHRvIGJsYWNrbWFpbCBHdXJnZWggaW50byBh
Y2NlcHRpbmcgdGhlIG9mZmVyIGFuZCBpbnNpc3RpbmcgdGhhdCBNYXdocmluLVNrZWwgYmUgYWRt
aXR0ZWQgYmFjayBpbnRvIFNwZWNpYWwgQ2lyY3Vtc3RhbmNlcyBhcyB3ZWxsLgorICAgIDwvZGl2
PgorICAgIDxwPlRoZSAtc2hhcGUtaW5zaWRlIHByb3BlcnR5IGlzIGFwcGxpZWQgdG8gdGhlIGZp
cnN0IHJlZ2lvbiBpdHNlbGYuIFRoZSB0ZXh0IHNob3VsZCBzdGFydCBpbnNpZGUgdGhlIHJvdW5k
ZWQgcmVjdGFuZ2xlIGFuZCBvdmVyZmxvdyB0byBhIHJlZ3VsYXIgcmVjdGFuZ2xlLjwvcD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzAxMCkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAyLTE1ICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgW0NTUyBSZWdpb25z
XSBSZWdpb24gYm94ZXMgc2hvdWxkIHJlc3BlY3QgLXNoYXBlLWluc2lkZSBDU1MgcHJvcGVydHkK
KyAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3ODgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyB0
aGUgZmlyc3Qgc3RlcCB0byBpbXBsZW1lbnQgc2hhcGUtaW5zaWRlIG9uIHJlZ2lvbnMuIFRoaXMg
Y2hhbmdlIGFkZHMgc3VwcG9ydCBmb3IKKyAgICAgICAgc2ltcGxlIGNhc2VzIHdoZW4gdGhlIHNo
YXBlLWluc2lkZSBpcyBhcHBsaWVkIHRvIHRoZSBmaXJzdCByZWdpb24gaW4gdGhlIHJlZ2lvbiBj
aGFpbi4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9uLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUt
b24tcmVnaW9uLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTE1ICBIYW5zIE11bGxlciAgPGhtdWxs
ZXJAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgRXhjbHVzaW9uc10gRW5hYmxlIHNoYXBlLWlu
c2lkZSBzdXBwb3J0IGZvciBjaXJjbGVzCg==
</data>
<flag name="commit-queue"
          id="208783"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189071</attachid>
            <date>2013-02-19 06:13:02 -0800</date>
            <delta_ts>2013-02-19 07:38:09 -0800</delta_ts>
            <desc>Added support for additional cases as well</desc>
            <filename>shapeInsideOnRegions_clean2.patch</filename>
            <type>text/plain</type>
            <size>12887</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFw
ZS1pbnNpZGUtb24tcmVnaW9ucy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQo
dHJ1ZSk7CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgICAgICAjcGFnZSB7IGZvbnQ6
IDIwcHQgQWhlbSwgc2Fucy1zZXJpZjsgfQorCisgICAgICAgICNyZWdpb24xIHsKKyAgICAgICAg
ICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjYwcHg7CisgICAgICAgICAg
ICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAsIDEwMCUsIDEwMCUsIDYwJSwg
NTAlKTsKKyAgICAgICAgfQorICAgICAgICAjcmVnaW9uMiB7CisgICAgICAgICAgICBoZWlnaHQ6
IDM1MHB4OworICAgICAgICAgICAgd2lkdGg6IDM1MHB4OworICAgICAgICAgICAgbWFyZ2luLXRv
cDogMTBweDsKKyAgICAgICAgICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwg
MCwgMTAwJSwgMTAwJSwgNTAlLCA0MCUpOworICAgICAgICB9CisgICAgICAgICNyZWdpb24zIHsK
KyAgICAgICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogNzBweDsKKyAg
ICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0icGFnZSI+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lv
bjEiPgorICAgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgKKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9InJlZ2lvbjIiPgorICAgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgKKyAgICAgICAgICBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWAorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMyI+CisgICAgICAgICAgWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPHA+
UmVxdWlyZXMgQWhlbSBmb250LiBUd28gZGlmZmVyZW50IC1zaGFwZS1pbnNpZGUgcHJvcGVydHkg
YXJlIGFwcGxpZWQgdG8gdGhlIGZpcnN0IGFuZCBzZWNvbmQgcmVnaW9uLiBUaGUgdGhpcmQgcmVn
aW9uIGlzIGEgc2ltcGxlIHJlZ2lvbiB3aXRob3V0IC1zaGFwZS1pbnNpZGUuCisgICAgVGhlIHJl
Y3RhbmdsZXMgc2hvdWxkIGZsb3cgdGhyb3VnaCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNoYXBlLWlu
c2lkZXMgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhlIGZpcnN0IHR3byByZWdpb25zLjwvcD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNp
ZGUtb24tcmVnaW9ucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1ZSk7CisgICAg
PC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgICAgICAjcmVjdGFuZ2xlIHsKKyAgICAgICAgICAg
ICBmb250OiAyMHB0IEFoZW0sIHNhbnMtc2VyaWY7CisgICAgICAgICAgICAtd2Via2l0LWZsb3ct
aW50bzogcmVjdGFuZ2xlOworICAgICAgICB9CisgICAgICAgIC5yZWdpb24geworICAgICAgICAg
ICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IHJlY3Rhbmds
ZTsKKyAgICAgICAgfQorICAgICAgICAjcmVnaW9uMSB7CisgICAgICAgICAgICBoZWlnaHQ6IDI2
MHB4OworICAgICAgICAgICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3RhbmdsZSgwLCAwLCAx
MDAlLCAxMDAlLCA2MCUsIDUwJSk7CisgICAgICAgIH0KKyAgICAgICAgI3JlZ2lvbjIgeworICAg
ICAgICAgICAgaGVpZ2h0OiAzNTBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzNTBweDsKKyAgICAg
ICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CisgICAgICAgICAgICAtd2Via2l0LXNoYXBlLWluc2lk
ZTogcmVjdGFuZ2xlKDAsIDAsIDEwMCUsIDEwMCUsIDUwJSwgNDAlKTsKKyAgICAgICAgfQorICAg
ICAgICAjcmVnaW9uMyB7CisgICAgICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgICAgICBo
ZWlnaHQ6IDcwcHg7CisgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OworICAgICAgICB9Cisg
ICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9InJlY3RhbmdsZSI+Cisg
ICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYCisgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
CisgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYIFgKKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJwYWdlIj4KKyAg
ICAgICAgPGRpdiBpZD0icmVnaW9uMSIgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9InJlZ2lvbjIiIGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJy
ZWdpb24zIiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8cD5SZXF1aXJl
cyBBaGVtIGZvbnQuIFR3byBkaWZmZXJlbnQgLXNoYXBlLWluc2lkZSBwcm9wZXJ0eSBhcmUgYXBw
bGllZCB0byB0aGUgZmlyc3QgYW5kIHNlY29uZCByZWdpb24uIFRoZSB0aGlyZCByZWdpb24gaXMg
YSBzaW1wbGUgcmVnaW9uIHdpdGhvdXQgLXNoYXBlLWluc2lkZS4KKyAgICBUaGUgcmVjdGFuZ2xl
cyBzaG91bGQgZmxvdyB0aHJvdWdoIHRoZSByZWdpb25zIGFuZCB0aGUgc2hhcGUtaW5zaWRlcyBz
aG91bGQgYmUgYXBwbGllZCB0byB0aGUgZmlyc3QgdHdvIHJlZ2lvbnMuPC9wPgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTQzMzE5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDItMTkgIFpvbHRhbiBI
b3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBSZWdp
b24gYm94ZXMgc2hvdWxkIHJlc3BlY3QgLXNoYXBlLWluc2lkZSBDU1MgcHJvcGVydHkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzg4MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyBzdXBw
b3J0IHRvIHNoYXBlLWluc2lkZSBDU1MgcHJvcGVydHkgZm9yIHJlZ2lvbnMuCisKKyAgICAgICAg
KiBmYXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbnMtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWw6
IEFkZGVkLgorCiAyMDEzLTAyLTE5ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5z
ZW5AZGlnaWEuY29tPgogCiAgICAgICAgIFtRdF0gRW5hYmxlIE1hdGhNTApJbmRleDogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTQzMzE5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTMtMDItMTkgIFpvbHRhbiBIb3J2YXRoICA8em9s
dGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBSZWdpb24gYm94ZXMgc2hv
dWxkIHJlc3BlY3QgLXNoYXBlLWluc2lkZSBDU1MgcHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzg4MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyBzdXBwb3J0IHRvIHNoYXBl
LWluc2lkZSBDU1MgcHJvcGVydHkgZm9yIHJlZ2lvbnMuCisKKyAgICAgICAgVGVzdDogZmFzdC9y
ZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWwKKworICAgICAgICAqIHJlbmRlcmlu
Zy9FeGNsdXNpb25TaGFwZUluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjo6OmxvZ2ljYWxUb3BPZmZzZXQpOiBNb2RpZnkgdGhlIGZ1bmN0aW9uIHRvIHN1cHBv
cnQgcG9zaXRpb25zIGluc2lkZSBhIGZsb3cgdGhyZWFkLgorICAgICAgICAqIHJlbmRlcmluZy9F
eGNsdXNpb25TaGFwZUluZm8uaDoKKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlSW5mbyk6CisgICAg
ICAgIChXZWJDb3JlOjo6OmxvZ2ljYWxUb3BPZmZzZXQpOiBNb3ZlIHRoZSBpbXBsZW1lbnRhdGlv
biB0byBFeGNsdXNpb25TaGFwZUluZm8uY3BwLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
bG9jay5oOgorICAgICAgICAoUmVuZGVyQmxvY2spOiBNYWtlIGNvbXB1dGVFeGNsdXNpb25TaGFw
ZVNpemUoKSBwcm90ZWN0ZWQsIHNpbmNlIGl0J3MgcmVxdWlyZWQgaW4gUmVuZGVyUmVnaW9uLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6bG9naWNhbEhlaWdodEZvckxpbmUpOiBNb3ZlIHRoZSBmdW5jdGlvbiBwcmlvciB0
byBsYXlvdXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8sIHNpbmNlIHdlIG5lZWQgdG8gdXNlIGl0
IHRoZXJlLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpsYXlvdXRFeGNs
dXNpb25TaGFwZUluc2lkZUluZm8pOiBBZGQgc3VwcG9ydCBmb3IgY2FzZXMgd2hlbiBzaGFwZS1p
bnNpZGUgaXMgYSByZWdpb24tYmxvY2sgcHJvcGVydHkuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9jazo6bGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpsYXlv
dXRCbG9jayk6IENvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGV4Y2x1c2lvbiBzaGFwZSBmb3IgdGhl
IFJlbmRlclJlZ2lvbi4KKwogMjAxMy0wMi0xOSAgQW50b24gVmF5dm9kICA8YXZheXZvZEBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW1RleHQgQXV0b3NpemluZ10gQ29tYmluZSBuYXJyb3cgZGVz
Y2VuZGFudHMgb2YgYSBjbHVzdGVyIGludG8gZ3JvdXBzIHRoYXQgc2hvdWxkIGJlIGF1dG9zaXpl
ZCB3aXRoIHRoZSBzYW1lIG11bHRpcGxpZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkocmV2aXNpb24gMTQzMTk0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIK
ICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxpc3RNYXJrZXIuaCIK
KyNpbmNsdWRlICJSZW5kZXJSZWdpb24uaCIKICNpbmNsdWRlICJSZW5kZXJSdWJ5UnVuLmgiCiAj
aW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC02MywxMCAr
NjQsMzEgQEAKIC8vIFdlIGRvbid0IGxldCBvdXIgbGluZSBib3ggdHJlZSBmb3IgYSBzaW5nbGUg
bGluZSBnZXQgYW55IGRlZXBlciB0aGFuIHRoaXMuCiBjb25zdCB1bnNpZ25lZCBjTWF4TGluZURl
cHRoID0gMjAwOwogCitzdGF0aWMgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0Rm9yTGluZShjb25z
dCBSZW5kZXJCbG9jayogYmxvY2ssIGJvb2wgaXNGaXJzdExpbmUsIExheW91dFVuaXQgcmVwbGFj
ZWRIZWlnaHQgPSAwKQoreworICAgIGlmICghYmxvY2stPmRvY3VtZW50KCktPmluTm9RdWlya3NN
b2RlKCkgJiYgcmVwbGFjZWRIZWlnaHQpCisgICAgICAgIHJldHVybiByZXBsYWNlZEhlaWdodDsK
KworICAgIGlmICghKGJsb2NrLT5zdHlsZShpc0ZpcnN0TGluZSktPmxpbmVCb3hDb250YWluKCkg
JiBMaW5lQm94Q29udGFpbkJsb2NrKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4g
bWF4PExheW91dFVuaXQ+KHJlcGxhY2VkSGVpZ2h0LCBibG9jay0+bGluZUhlaWdodChpc0ZpcnN0
TGluZSwgYmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6
IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSk7Cit9CisKICNpZiBF
TkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCiBzdGF0aWMgaW5saW5lIEV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbyogbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKGNvbnN0IFJlbmRlckJsb2NrKiBi
bG9jaykKIHsKLSAgICByZXR1cm4gYmxvY2stPnZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+ZXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvKCk7CisgICAgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBzaGFw
ZUluc2lkZUluZm8gPSBibG9jay0+dmlldygpLT5sYXlvdXRTdGF0ZSgpLT5leGNsdXNpb25TaGFw
ZUluc2lkZUluZm8oKTsKKworICAgIGlmICghc2hhcGVJbnNpZGVJbmZvICYmIGJsb2NrLT5pblJl
bmRlckZsb3dUaHJlYWQoKSkgeworICAgICAgICBSZW5kZXJGbG93VGhyZWFkKiByZW5kZXJGbG93
VGhyZWFkID0gYmxvY2stPmVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQoKTsKKyAgICAgICAgaWYg
KHJlbmRlckZsb3dUaHJlYWQpIHsKKyAgICAgICAgICAgIExheW91dFVuaXQgb2Zmc2V0ID0gYmxv
Y2stPmxvZ2ljYWxIZWlnaHQoKSArIGxvZ2ljYWxIZWlnaHRGb3JMaW5lKGJsb2NrLCBmYWxzZSk7
CisgICAgICAgICAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IHJlbmRlckZsb3dUaHJlYWQtPnJl
Z2lvbkF0QmxvY2tPZmZzZXQob2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZWdpb24gPyBy
ZWdpb24tPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpIDogMDsKKyAgICAgICAgfQorICAgIH0K
KyAgICByZXR1cm4gc2hhcGVJbnNpZGVJbmZvOwogfQogI2VuZGlmCiAKQEAgLTEzMywxNyArMTU1
LDYgQEAKICAgICBib29sIG1faXNGaXJzdExpbmU7CiB9OwogCi1zdGF0aWMgTGF5b3V0VW5pdCBs
b2dpY2FsSGVpZ2h0Rm9yTGluZShSZW5kZXJCbG9jayogYmxvY2ssIGJvb2wgaXNGaXJzdExpbmUs
IExheW91dFVuaXQgcmVwbGFjZWRIZWlnaHQgPSAwKQotewotICAgIGlmICghYmxvY2stPmRvY3Vt
ZW50KCktPmluTm9RdWlya3NNb2RlKCkgJiYgcmVwbGFjZWRIZWlnaHQpCi0gICAgICAgIHJldHVy
biByZXBsYWNlZEhlaWdodDsKLQotICAgIGlmICghKGJsb2NrLT5zdHlsZShpc0ZpcnN0TGluZSkt
PmxpbmVCb3hDb250YWluKCkgJiBMaW5lQm94Q29udGFpbkJsb2NrKSkKLSAgICAgICAgcmV0dXJu
IDA7Ci0KLSAgICByZXR1cm4gbWF4PExheW91dFVuaXQ+KHJlcGxhY2VkSGVpZ2h0LCBibG9jay0+
bGluZUhlaWdodChpc0ZpcnN0TGluZSwgYmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJv
eGVzKSk7Ci19Ci0KIGlubGluZSB2b2lkIExpbmVXaWR0aDo6dXBkYXRlQXZhaWxhYmxlV2lkdGgo
TGF5b3V0VW5pdCByZXBsYWNlZEhlaWdodCkKIHsKICAgICBMYXlvdXRVbml0IGhlaWdodCA9IG1f
YmxvY2stPmxvZ2ljYWxIZWlnaHQoKTsKQEAgLTE1MjgsNiArMTUzOSw3IEBACiAjaWYgRU5BQkxF
KENTU19FWENMVVNJT05TKQogICAgICAgICAvLyBGSVhNRTogQnVnIDk1MzYxOiBJdCBpcyBwb3Nz
aWJsZSBmb3IgYSBsaW5lIHRvIGdyb3cgYmV5b25kIGxpbmVIZWlnaHQsIGluIHdoaWNoCiAgICAg
ICAgIC8vIGNhc2UgdGhlc2Ugc2VnbWVudHMgbWF5IGJlIGluY29ycmVjdC4KKyAgICAgICAgZXhj
bHVzaW9uU2hhcGVJbnNpZGVJbmZvID0gbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKHRo
aXMpOwogICAgICAgICBpZiAoZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKSB7CiAgICAgICAgICAg
ICBMYXlvdXRVbml0IGxpbmVUb3AgPSBsb2dpY2FsSGVpZ2h0KCkgKyBhYnNvbHV0ZUxvZ2ljYWxU
b3A7CiAgICAgICAgICAgICBleGNsdXNpb25TaGFwZUluc2lkZUluZm8tPmNvbXB1dGVTZWdtZW50
c0ZvckxpbmUobGluZVRvcCwgbGluZUhlaWdodChsYXlvdXRTdGF0ZS5saW5lSW5mbygpLmlzRmly
c3RMaW5lKCksIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZl
cnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5oCShyZXZpc2lvbiAxNDMx
OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEwMyw3ICsxMDMsNyBAQAogICAgIExheW91dFVuaXQgZmxvYXRMb2dp
Y2FsVG9wVG9MYXlvdXRVbml0KGZsb2F0IGxvZ2ljYWxUb3ApIGNvbnN0IHsgcmV0dXJuIExheW91
dFVuaXQ6OmZyb21GbG9hdENlaWwobG9naWNhbFRvcCk7IH0KICAgICBMYXlvdXRVbml0IGZsb2F0
TG9naWNhbEJvdHRvbVRvTGF5b3V0VW5pdChmbG9hdCBsb2dpY2FsQm90dG9tKSBjb25zdCB7IHJl
dHVybiBMYXlvdXRVbml0Ojpmcm9tRmxvYXRGbG9vcihsb2dpY2FsQm90dG9tKTsgfQogCi0gICAg
TGF5b3V0VW5pdCBsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlci0+
c3R5bGUoKS0+Ym94U2l6aW5nKCkgPT0gQ09OVEVOVF9CT1ggPyBtX3JlbmRlcmVyLT5ib3JkZXJC
ZWZvcmUoKSArIG1fcmVuZGVyZXItPnBhZGRpbmdCZWZvcmUoKSA6IExheW91dFVuaXQoKTsgfQor
ICAgIExheW91dFVuaXQgbG9naWNhbFRvcE9mZnNldCgpIGNvbnN0OwogICAgIExheW91dFVuaXQg
bG9naWNhbExlZnRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmVyLT5zdHlsZSgpLT5i
b3hTaXppbmcoKSA9PSBDT05URU5UX0JPWCA/IG1fcmVuZGVyZXItPmJvcmRlclN0YXJ0KCkgKyBt
X3JlbmRlcmVyLT5wYWRkaW5nU3RhcnQoKSA6IExheW91dFVuaXQoKTsgfQogCiBwcml2YXRlOgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAJKHJldmlzaW9u
IDE0MzE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjQsNiArMjY0LDkgQEAKICAgICAgICAgICAgIGlmICh2aWV3KCkt
PmNoZWNrVHdvUGFzc0xheW91dEZvckF1dG9IZWlnaHRSZWdpb25zKCkpCiAgICAgICAgICAgICAg
ICAgdmlldygpLT5mbG93VGhyZWFkQ29udHJvbGxlcigpLT5zZXROZWVkc1R3b1Bhc3NMYXlvdXRG
b3JBdXRvSGVpZ2h0UmVnaW9ucyh0cnVlKTsKICAgICAgICAgfQorI2lmIEVOQUJMRShDU1NfRVhD
TFVTSU9OUykKKyAgICAgICAgY29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpOworI2VuZGlmCiAg
ICAgfQogCiAgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gZmluZCBhIHdheSB0byBzZXQgdXAgb3Zl
cmZsb3cgcHJvcGVybHkuIE91ciBmbG93IHRocmVhZCBoYXNuJ3QgZ290dGVuIGEgbGF5b3V0Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gMTQzMTk0
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU1MiwxMCArNTUyLDExIEBACiAgICAgdm9pZCB1cGRhdGVCbG9ja0NoaWxkRGlydHlC
aXRzQmVmb3JlTGF5b3V0KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgUmVuZGVyQm94Kik7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgY2hlY2tGb3JQYWdpbmF0aW9uTG9naWNhbEhlaWdodENoYW5nZShMYXlv
dXRVbml0JiBwYWdlTG9naWNhbEhlaWdodCwgYm9vbCYgcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2Vk
LCBib29sJiBoYXNTcGVjaWZpZWRQYWdlTG9naWNhbEhlaWdodCk7Ci0KKyNpZiBFTkFCTEUoQ1NT
X0VYQ0xVU0lPTlMpCisgICAgdm9pZCBjb21wdXRlRXhjbHVzaW9uU2hhcGVTaXplKCk7CisjZW5k
aWYKIHByaXZhdGU6CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAgIHZvaWQgY29tcHV0
ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpOwogICAgIHZvaWQgdXBkYXRlRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb25TaGFwZVZhbHVlKiwgY29uc3Qg
RXhjbHVzaW9uU2hhcGVWYWx1ZSogb2xkRXhjbHVzaW9uU2hhcGUpOwogI2VuZGlmCiAgICAgdmly
dHVhbCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIHsgcmV0dXJuIGNo
aWxkcmVuKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFw
ZUluZm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNp
b25TaGFwZUluZm8uY3BwCShyZXZpc2lvbiAxNDMxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUs
NyBAQAogI2luY2x1ZGUgIkV4Y2x1c2lvblNoYXBlLmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2su
aCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKKyNpbmNsdWRlICJSZW5kZXJSZWdpb24uaCIKICNp
bmNsdWRlICJSZW5kZXJTdHlsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw2ICs1
NSwxNSBAQAogICAgIHJldHVybiBtX3NoYXBlLmdldCgpOwogfQogCit0ZW1wbGF0ZSA8Y2xhc3Mg
UmVuZGVyVHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0
ZXIpKCkgY29uc3Q+CitMYXlvdXRVbml0IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBz
aGFwZUdldHRlcj46OmxvZ2ljYWxUb3BPZmZzZXQoKSBjb25zdAoreworICAgIExheW91dFVuaXQg
bG9naWNhbFRvcE9mZnNldCA9IG1fcmVuZGVyZXItPnN0eWxlKCktPmJveFNpemluZygpID09IENP
TlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyQmVmb3JlKCkgKyBtX3JlbmRlcmVyLT5wYWRk
aW5nQmVmb3JlKCkgOiBMYXlvdXRVbml0KCk7CisgICAgaWYgKG1fcmVuZGVyZXItPmlzUmVuZGVy
UmVnaW9uKCkpCisgICAgICAgIGxvZ2ljYWxUb3BPZmZzZXQgKz0gdG9SZW5kZXJSZWdpb24obV9y
ZW5kZXJlciktPmxvZ2ljYWxUb3BGb3JGbG93VGhyZWFkQ29udGVudCgpOworICAgIHJldHVybiBs
b2dpY2FsVG9wT2Zmc2V0OworfQorCiB0ZW1wbGF0ZSBjbGFzcyBFeGNsdXNpb25TaGFwZUluZm88
UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6c2hhcGVJbnNpZGU+OwogdGVtcGxhdGUgY2xhc3Mg
RXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJveCwgJlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGU+
OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189074</attachid>
            <date>2013-02-19 06:23:48 -0800</date>
            <delta_ts>2013-02-19 06:37:54 -0800</delta_ts>
            <desc>Added support for additional cases as well</desc>
            <filename>shapeInsideOnRegions_clean2.patch</filename>
            <type>text/plain</type>
            <size>12976</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzMyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTE5ICBab2x0YW4g
SG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gUmVn
aW9uIGJveGVzIHNob3VsZCByZXNwZWN0IC1zaGFwZS1pbnNpZGUgQ1NTIHByb3BlcnR5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc4ODAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYmFzaWMgc3Vw
cG9ydCB0byBzaGFwZS1pbnNpZGUgQ1NTIHByb3BlcnR5IGZvciByZWdpb25zLgorCisgICAgICAg
IFRlc3Q6IGZhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy5odG1sCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6Ojpsb2dpY2FsVG9wT2Zmc2V0KTogTW9kaWZ5IHRoZSBmdW5j
dGlvbiB0byBzdXBwb3J0IHBvc2l0aW9ucyBpbnNpZGUgYSBmbG93IHRocmVhZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmg6CisgICAgICAgIChFeGNsdXNpb25TaGFw
ZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6Ojpsb2dpY2FsVG9wT2Zmc2V0KTogTW92ZSB0aGUg
aW1wbGVtZW50YXRpb24gdG8gRXhjbHVzaW9uU2hhcGVJbmZvLmNwcC4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFJlbmRlckJsb2NrKTogTWFrZSBjb21wdXRl
RXhjbHVzaW9uU2hhcGVTaXplKCkgcHJvdGVjdGVkLCBzaW5jZSBpdCdzIHJlcXVpcmVkIGluIFJl
bmRlclJlZ2lvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmxvZ2ljYWxIZWlnaHRGb3JMaW5lKTogTW92ZSB0aGUgZnVu
Y3Rpb24gcHJpb3IgdG8gbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLCBzaW5jZSB3ZSBu
ZWVkIHRvIHVzZSBpdCB0aGVyZS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6bGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogQWRkIHN1cHBvcnQgZm9yIGNhc2Vz
IHdoZW4gc2hhcGUtaW5zaWRlIGlzIGEgcmVnaW9uLWJsb2NrIHByb3BlcnR5LgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clJlZ2lvbjo6bGF5b3V0QmxvY2spOiBDb21wdXRlIHRoZSBzaXplIG9mIHRoZSBleGNsdXNpb24g
c2hhcGUgZm9yIHRoZSBSZW5kZXJSZWdpb24uCisKIDIwMTMtMDItMTkgIEFuZHJlaSBCdWN1ciAg
PGFidWN1ckBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBSZWdpb25zXSBBc3NlcnRpb24gaW4g
UmVuZGVyRmxvd1RocmVhZDo6cmVtb3ZlUmVuZGVyQm94UmVnaW9uSW5mbwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHJl
dmlzaW9uIDE0MzMyMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xp
bmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
UmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5k
ZXJMaXN0TWFya2VyLmgiCisjaW5jbHVkZSAiUmVuZGVyUmVnaW9uLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyUnVieVJ1bi5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgpAQCAtNjMsMTAgKzY0LDMxIEBACiAvLyBXZSBkb24ndCBsZXQgb3VyIGxpbmUgYm94IHRy
ZWUgZm9yIGEgc2luZ2xlIGxpbmUgZ2V0IGFueSBkZWVwZXIgdGhhbiB0aGlzLgogY29uc3QgdW5z
aWduZWQgY01heExpbmVEZXB0aCA9IDIwMDsKIAorc3RhdGljIExheW91dFVuaXQgbG9naWNhbEhl
aWdodEZvckxpbmUoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBib29sIGlzRmlyc3RMaW5lLCBM
YXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0ID0gMCkKK3sKKyAgICBpZiAoIWJsb2NrLT5kb2N1bWVu
dCgpLT5pbk5vUXVpcmtzTW9kZSgpICYmIHJlcGxhY2VkSGVpZ2h0KQorICAgICAgICByZXR1cm4g
cmVwbGFjZWRIZWlnaHQ7CisKKyAgICBpZiAoIShibG9jay0+c3R5bGUoaXNGaXJzdExpbmUpLT5s
aW5lQm94Q29udGFpbigpICYgTGluZUJveENvbnRhaW5CbG9jaykpCisgICAgICAgIHJldHVybiAw
OworCisgICAgcmV0dXJuIG1heDxMYXlvdXRVbml0PihyZXBsYWNlZEhlaWdodCwgYmxvY2stPmxp
bmVIZWlnaHQoaXNGaXJzdExpbmUsIGJsb2NrLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
SG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hl
cykpOworfQorCiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQogc3RhdGljIGlubGluZSBFeGNs
dXNpb25TaGFwZUluc2lkZUluZm8qIGxheW91dEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyhjb25z
dCBSZW5kZXJCbG9jayogYmxvY2spCiB7Ci0gICAgcmV0dXJuIGJsb2NrLT52aWV3KCktPmxheW91
dFN0YXRlKCktPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpOworICAgIEV4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mbyogc2hhcGVJbnNpZGVJbmZvID0gYmxvY2stPnZpZXcoKS0+bGF5b3V0U3RhdGUo
KS0+ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCk7CisKKyAgICBpZiAoIXNoYXBlSW5zaWRlSW5m
byAmJiBibG9jay0+aW5SZW5kZXJGbG93VGhyZWFkKCkpIHsKKyAgICAgICAgUmVuZGVyRmxvd1Ro
cmVhZCogcmVuZGVyRmxvd1RocmVhZCA9IGJsb2NrLT5lbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFk
KCk7CisgICAgICAgIGlmIChyZW5kZXJGbG93VGhyZWFkKSB7CisgICAgICAgICAgICBMYXlvdXRV
bml0IG9mZnNldCA9IGJsb2NrLT5sb2dpY2FsSGVpZ2h0KCkgKyBsb2dpY2FsSGVpZ2h0Rm9yTGlu
ZShibG9jaywgZmFsc2UpOworICAgICAgICAgICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSByZW5k
ZXJGbG93VGhyZWFkLT5yZWdpb25BdEJsb2NrT2Zmc2V0KG9mZnNldCk7CisgICAgICAgICAgICBy
ZXR1cm4gcmVnaW9uID8gcmVnaW9uLT5leGNsdXNpb25TaGFwZUluc2lkZUluZm8oKSA6IDA7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHNoYXBlSW5zaWRlSW5mbzsKIH0KICNlbmRpZgog
CkBAIC0xMzMsMTcgKzE1NSw2IEBACiAgICAgYm9vbCBtX2lzRmlyc3RMaW5lOwogfTsKIAotc3Rh
dGljIExheW91dFVuaXQgbG9naWNhbEhlaWdodEZvckxpbmUoUmVuZGVyQmxvY2sqIGJsb2NrLCBi
b29sIGlzRmlyc3RMaW5lLCBMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0ID0gMCkKLXsKLSAgICBp
ZiAoIWJsb2NrLT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpICYmIHJlcGxhY2VkSGVpZ2h0
KQotICAgICAgICByZXR1cm4gcmVwbGFjZWRIZWlnaHQ7Ci0KLSAgICBpZiAoIShibG9jay0+c3R5
bGUoaXNGaXJzdExpbmUpLT5saW5lQm94Q29udGFpbigpICYgTGluZUJveENvbnRhaW5CbG9jaykp
Ci0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIG1heDxMYXlvdXRVbml0PihyZXBsYWNl
ZEhlaWdodCwgYmxvY2stPmxpbmVIZWlnaHQoaXNGaXJzdExpbmUsIGJsb2NrLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9u
T2ZJbnRlcmlvckxpbmVCb3hlcykpOwotfQotCiBpbmxpbmUgdm9pZCBMaW5lV2lkdGg6OnVwZGF0
ZUF2YWlsYWJsZVdpZHRoKExheW91dFVuaXQgcmVwbGFjZWRIZWlnaHQpCiB7CiAgICAgTGF5b3V0
VW5pdCBoZWlnaHQgPSBtX2Jsb2NrLT5sb2dpY2FsSGVpZ2h0KCk7CkBAIC0xNTI4LDYgKzE1Mzks
NyBAQAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKICAgICAgICAgLy8gRklYTUU6IEJ1ZyA5
NTM2MTogSXQgaXMgcG9zc2libGUgZm9yIGEgbGluZSB0byBncm93IGJleW9uZCBsaW5lSGVpZ2h0
LCBpbiB3aGljaAogICAgICAgICAvLyBjYXNlIHRoZXNlIHNlZ21lbnRzIG1heSBiZSBpbmNvcnJl
Y3QuCisgICAgICAgIGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyA9IGxheW91dEV4Y2x1c2lvblNo
YXBlSW5zaWRlSW5mbyh0aGlzKTsKICAgICAgICAgaWYgKGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
bykgewogICAgICAgICAgICAgTGF5b3V0VW5pdCBsaW5lVG9wID0gbG9naWNhbEhlaWdodCgpICsg
YWJzb2x1dGVMb2dpY2FsVG9wOwogICAgICAgICAgICAgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZv
LT5jb21wdXRlU2VnbWVudHNGb3JMaW5lKGxpbmVUb3AsIGxpbmVIZWlnaHQobGF5b3V0U3RhdGUu
bGluZUluZm8oKS5pc0ZpcnN0TGluZSgpLCBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gSG9y
aXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8u
aAkocmV2aXNpb24gMTQzMzIzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lv
blNoYXBlSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNyArMTAzLDcgQEAKICAgICBMYXlv
dXRVbml0IGZsb2F0TG9naWNhbFRvcFRvTGF5b3V0VW5pdChmbG9hdCBsb2dpY2FsVG9wKSBjb25z
dCB7IHJldHVybiBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGxvZ2ljYWxUb3ApOyB9CiAgICAg
TGF5b3V0VW5pdCBmbG9hdExvZ2ljYWxCb3R0b21Ub0xheW91dFVuaXQoZmxvYXQgbG9naWNhbEJv
dHRvbSkgY29uc3QgeyByZXR1cm4gTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Rmxvb3IobG9naWNhbEJv
dHRvbSk7IH0KIAotICAgIExheW91dFVuaXQgbG9naWNhbFRvcE9mZnNldCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVuZGVyZXItPnN0eWxlKCktPmJveFNpemluZygpID09IENPTlRFTlRfQk9YID8gbV9y
ZW5kZXJlci0+Ym9yZGVyQmVmb3JlKCkgKyBtX3JlbmRlcmVyLT5wYWRkaW5nQmVmb3JlKCkgOiBM
YXlvdXRVbml0KCk7IH0KKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BPZmZzZXQoKSBjb25zdDsK
ICAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZW5k
ZXJlci0+c3R5bGUoKS0+Ym94U2l6aW5nKCkgPT0gQ09OVEVOVF9CT1ggPyBtX3JlbmRlcmVyLT5i
b3JkZXJTdGFydCgpICsgbV9yZW5kZXJlci0+cGFkZGluZ1N0YXJ0KCkgOiBMYXlvdXRVbml0KCk7
IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdp
b24uY3BwCShyZXZpc2lvbiAxNDMzMjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVnaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjY0LDYgKzI2NCw5IEBACiAgICAgICAg
ICAgICBpZiAodmlldygpLT5jaGVja1R3b1Bhc3NMYXlvdXRGb3JBdXRvSGVpZ2h0UmVnaW9ucygp
KQogICAgICAgICAgICAgICAgIHZpZXcoKS0+Zmxvd1RocmVhZENvbnRyb2xsZXIoKS0+c2V0TmVl
ZHNUd29QYXNzTGF5b3V0Rm9yQXV0b0hlaWdodFJlZ2lvbnModHJ1ZSk7CiAgICAgICAgIH0KKyNp
ZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIGNvbXB1dGVFeGNsdXNpb25TaGFwZVNp
emUoKTsKKyNlbmRpZgogICAgIH0KIAogICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIGZpbmQgYSB3
YXkgdG8gc2V0IHVwIG92ZXJmbG93IHByb3Blcmx5LiBPdXIgZmxvdyB0aHJlYWQgaGFzbid0IGdv
dHRlbiBhIGxheW91dApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJ
KHJldmlzaW9uIDE0MzMyMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCSh3b3JraW5nIGNvcHkpCkBAIC01NTIsMTAgKzU1MiwxMSBAQAogICAgIHZvaWQgdXBkYXRl
QmxvY2tDaGlsZERpcnR5Qml0c0JlZm9yZUxheW91dChib29sIHJlbGF5b3V0Q2hpbGRyZW4sIFJl
bmRlckJveCopOwogCiAgICAgdmlydHVhbCB2b2lkIGNoZWNrRm9yUGFnaW5hdGlvbkxvZ2ljYWxI
ZWlnaHRDaGFuZ2UoTGF5b3V0VW5pdCYgcGFnZUxvZ2ljYWxIZWlnaHQsIGJvb2wmIHBhZ2VMb2dp
Y2FsSGVpZ2h0Q2hhbmdlZCwgYm9vbCYgaGFzU3BlY2lmaWVkUGFnZUxvZ2ljYWxIZWlnaHQpOwot
CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgIHZvaWQgY29tcHV0ZUV4Y2x1c2lvblNo
YXBlU2l6ZSgpOworI2VuZGlmCiBwcml2YXRlOgogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykK
LSAgICB2b2lkIGNvbXB1dGVFeGNsdXNpb25TaGFwZVNpemUoKTsKICAgICB2b2lkIHVwZGF0ZUV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mb0FmdGVyU3R5bGVDaGFuZ2UoY29uc3QgRXhjbHVzaW9uU2hh
cGVWYWx1ZSosIGNvbnN0IEV4Y2x1c2lvblNoYXBlVmFsdWUqIG9sZEV4Y2x1c2lvblNoYXBlKTsK
ICNlbmRpZgogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRy
ZW4oKSB7IHJldHVybiBjaGlsZHJlbigpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcAkocmV2aXNpb24gMTQzMzIzKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJFeGNsdXNpb25TaGFwZS5oIgogI2luY2x1
ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCisjaW5jbHVkZSAiUmVu
ZGVyUmVnaW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNTQsNyArNTUsMjAgQEAKICAgICByZXR1cm4gbV9zaGFwZS5nZXQoKTsKIH0KIAor
PDw8PDw8PCAubWluZQordGVtcGxhdGUgPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBl
VmFsdWUqIChSZW5kZXJTdHlsZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0PgorTGF5b3V0VW5pdCBF
eGNsdXNpb25TaGFwZUluZm88UmVuZGVyVHlwZSwgc2hhcGVHZXR0ZXI+Ojpsb2dpY2FsVG9wT2Zm
c2V0KCkgY29uc3QKK3sKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BPZmZzZXQgPSBtX3JlbmRl
cmVyLT5zdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBDT05URU5UX0JPWCA/IG1fcmVuZGVyZXItPmJv
cmRlckJlZm9yZSgpICsgbV9yZW5kZXJlci0+cGFkZGluZ0JlZm9yZSgpIDogTGF5b3V0VW5pdCgp
OworICAgIGlmIChtX3JlbmRlcmVyLT5pc1JlbmRlclJlZ2lvbigpKQorICAgICAgICBsb2dpY2Fs
VG9wT2Zmc2V0ICs9IHRvUmVuZGVyUmVnaW9uKG1fcmVuZGVyZXIpLT5sb2dpY2FsVG9wRm9yRmxv
d1RocmVhZENvbnRlbnQoKTsKKyAgICByZXR1cm4gbG9naWNhbFRvcE9mZnNldDsKK30KKwordGVt
cGxhdGUgY2xhc3MgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6
OnNoYXBlSW5zaWRlPjsKKz09PT09PT0KIHRlbXBsYXRlIGNsYXNzIEV4Y2x1c2lvblNoYXBlSW5m
bzxSZW5kZXJCbG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlPjsKKz4+Pj4+
Pj4gLnIxNDMzMjMKIHRlbXBsYXRlIGNsYXNzIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCb3gs
ICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRlPjsKIH0KICNlbmRpZgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLWV4cGVjdGVkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdp
b25zLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbnMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRDU1NFeGNsdXNpb25zRW5hYmxlZCh0cnVlKTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8c3R5bGU+CisgICAgICAgICNwYWdlIHsgZm9udDogMjBwdCBBaGVtLCBzYW5z
LXNlcmlmOyB9CisKKyAgICAgICAgI3JlZ2lvbjEgeworICAgICAgICAgICAgd2lkdGg6IDMwMHB4
OworICAgICAgICAgICAgaGVpZ2h0OiAyNjBweDsKKyAgICAgICAgICAgIC13ZWJraXQtc2hhcGUt
aW5zaWRlOiByZWN0YW5nbGUoMCwgMCwgMTAwJSwgMTAwJSwgNjAlLCA1MCUpOworICAgICAgICB9
CisgICAgICAgICNyZWdpb24yIHsKKyAgICAgICAgICAgIGhlaWdodDogMzUwcHg7CisgICAgICAg
ICAgICB3aWR0aDogMzUwcHg7CisgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OworICAgICAg
ICAgICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3RhbmdsZSgwLCAwLCAxMDAlLCAxMDAlLCA1
MCUsIDQwJSk7CisgICAgICAgIH0KKyAgICAgICAgI3JlZ2lvbjMgeworICAgICAgICAgICAgd2lk
dGg6IDQwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiA3MHB4OworICAgICAgICAgICAgbWFyZ2lu
LXRvcDogMTBweDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8ZGl2IGlkPSJwYWdlIj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMSI+CisgICAgICAgICAg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWAorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiI+Cisg
ICAgICAgICAgWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWAorICAgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYCisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJyZWdpb24zIj4KKyAgICAgICAgICBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFgKKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8cD5SZXF1aXJlcyBBaGVtIGZv
bnQuIFR3byBkaWZmZXJlbnQgLXNoYXBlLWluc2lkZSBwcm9wZXJ0eSBhcmUgYXBwbGllZCB0byB0
aGUgZmlyc3QgYW5kIHNlY29uZCByZWdpb24uIFRoZSB0aGlyZCByZWdpb24gaXMgYSBzaW1wbGUg
cmVnaW9uIHdpdGhvdXQgLXNoYXBlLWluc2lkZS4KKyAgICBUaGUgcmVjdGFuZ2xlcyBzaG91bGQg
ZmxvdyB0aHJvdWdoIHRoZSByZWdpb25zIGFuZCB0aGUgc2hhcGUtaW5zaWRlcyBzaG91bGQgYmUg
YXBwbGllZCB0byB0aGUgZmlyc3QgdHdvIHJlZ2lvbnMuPC9wPgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1v
bi1yZWdpb25zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
c2hhcGUtaW5zaWRlLW9uLXJlZ2lvbnMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OCBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRDU1NFeGNsdXNpb25zRW5hYmxlZCh0cnVlKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
c3R5bGU+CisgICAgICAgICNyZWN0YW5nbGUgeworICAgICAgICAgICAgIGZvbnQ6IDIwcHQgQWhl
bSwgc2Fucy1zZXJpZjsKKyAgICAgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiByZWN0YW5nbGU7
CisgICAgICAgIH0KKyAgICAgICAgLnJlZ2lvbiB7CisgICAgICAgICAgICB3aWR0aDogMzAwcHg7
CisgICAgICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogcmVjdGFuZ2xlOworICAgICAgICB9Cisg
ICAgICAgICNyZWdpb24xIHsKKyAgICAgICAgICAgIGhlaWdodDogMjYwcHg7CisgICAgICAgICAg
ICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAsIDEwMCUsIDEwMCUsIDYwJSwg
NTAlKTsKKyAgICAgICAgfQorICAgICAgICAjcmVnaW9uMiB7CisgICAgICAgICAgICBoZWlnaHQ6
IDM1MHB4OworICAgICAgICAgICAgd2lkdGg6IDM1MHB4OworICAgICAgICAgICAgbWFyZ2luLXRv
cDogMTBweDsKKyAgICAgICAgICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwg
MCwgMTAwJSwgMTAwJSwgNTAlLCA0MCUpOworICAgICAgICB9CisgICAgICAgICNyZWdpb24zIHsK
KyAgICAgICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogNzBweDsKKyAg
ICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0icmVjdGFuZ2xlIj4KKyAgICAgICAgWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFgKKyAgICAgICAgWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgKKyAgICAgICAgWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFggWAorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9InBhZ2UiPgorICAgICAgICA8ZGl2IGlkPSJy
ZWdpb24xIiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiIg
Y2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbjMiIGNsYXNzPSJy
ZWdpb24iPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxwPlJlcXVpcmVzIEFoZW0gZm9udC4gVHdv
IGRpZmZlcmVudCAtc2hhcGUtaW5zaWRlIHByb3BlcnR5IGFyZSBhcHBsaWVkIHRvIHRoZSBmaXJz
dCBhbmQgc2Vjb25kIHJlZ2lvbi4gVGhlIHRoaXJkIHJlZ2lvbiBpcyBhIHNpbXBsZSByZWdpb24g
d2l0aG91dCAtc2hhcGUtaW5zaWRlLgorICAgIFRoZSByZWN0YW5nbGVzIHNob3VsZCBmbG93IHRo
cm91Z2ggdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaGFwZS1pbnNpZGVzIHNob3VsZCBiZSBhcHBsaWVk
IHRvIHRoZSBmaXJzdCB0d28gcmVnaW9ucy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNDMzMjMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMi0xOSAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdIFJlZ2lvbiBib3hlcyBzaG91bGQg
cmVzcGVjdCAtc2hhcGUtaW5zaWRlIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGJhc2ljIHN1cHBvcnQgdG8gc2hhcGUtaW5z
aWRlIENTUyBwcm9wZXJ0eSBmb3IgcmVnaW9ucy4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9z
aGFwZS1pbnNpZGUtb24tcmVnaW9ucy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbnMuaHRtbDogQWRkZWQuCisKIDIwMTMt
MDItMTkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNDMzMTkuCg==
</data>
<flag name="commit-queue"
          id="209366"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189079</attachid>
            <date>2013-02-19 06:42:23 -0800</date>
            <delta_ts>2013-02-19 08:57:06 -0800</delta_ts>
            <desc>Added support for additional cases as well </desc>
            <filename>shapeInsideOnRegions_clean2.patch</filename>
            <type>text/plain</type>
            <size>12850</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFw
ZS1pbnNpZGUtb24tcmVnaW9ucy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQo
dHJ1ZSk7CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgICAgICAjcGFnZSB7IGZvbnQ6
IDIwcHQgQWhlbSwgc2Fucy1zZXJpZjsgfQorCisgICAgICAgICNyZWdpb24xIHsKKyAgICAgICAg
ICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjYwcHg7CisgICAgICAgICAg
ICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAsIDEwMCUsIDEwMCUsIDYwJSwg
NTAlKTsKKyAgICAgICAgfQorICAgICAgICAjcmVnaW9uMiB7CisgICAgICAgICAgICBoZWlnaHQ6
IDM1MHB4OworICAgICAgICAgICAgd2lkdGg6IDM1MHB4OworICAgICAgICAgICAgbWFyZ2luLXRv
cDogMTBweDsKKyAgICAgICAgICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwg
MCwgMTAwJSwgMTAwJSwgNTAlLCA0MCUpOworICAgICAgICB9CisgICAgICAgICNyZWdpb24zIHsK
KyAgICAgICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogNzBweDsKKyAg
ICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0icGFnZSI+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lv
bjEiPgorICAgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgKKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9InJlZ2lvbjIiPgorICAgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgKKyAgICAgICAgICBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWAorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMyI+CisgICAgICAgICAgWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPHA+
UmVxdWlyZXMgQWhlbSBmb250LiBUd28gZGlmZmVyZW50IC1zaGFwZS1pbnNpZGUgcHJvcGVydHkg
YXJlIGFwcGxpZWQgdG8gdGhlIGZpcnN0IGFuZCBzZWNvbmQgcmVnaW9uLiBUaGUgdGhpcmQgcmVn
aW9uIGlzIGEgc2ltcGxlIHJlZ2lvbiB3aXRob3V0IC1zaGFwZS1pbnNpZGUuCisgICAgVGhlIHJl
Y3RhbmdsZXMgc2hvdWxkIGZsb3cgdGhyb3VnaCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNoYXBlLWlu
c2lkZXMgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhlIGZpcnN0IHR3byByZWdpb25zLjwvcD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNp
ZGUtb24tcmVnaW9ucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1ZSk7CisgICAg
PC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgICAgICAjcmVjdGFuZ2xlIHsKKyAgICAgICAgICAg
ICBmb250OiAyMHB0IEFoZW0sIHNhbnMtc2VyaWY7CisgICAgICAgICAgICAtd2Via2l0LWZsb3ct
aW50bzogcmVjdGFuZ2xlOworICAgICAgICB9CisgICAgICAgIC5yZWdpb24geworICAgICAgICAg
ICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IHJlY3Rhbmds
ZTsKKyAgICAgICAgfQorICAgICAgICAjcmVnaW9uMSB7CisgICAgICAgICAgICBoZWlnaHQ6IDI2
MHB4OworICAgICAgICAgICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3RhbmdsZSgwLCAwLCAx
MDAlLCAxMDAlLCA2MCUsIDUwJSk7CisgICAgICAgIH0KKyAgICAgICAgI3JlZ2lvbjIgeworICAg
ICAgICAgICAgaGVpZ2h0OiAzNTBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzNTBweDsKKyAgICAg
ICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CisgICAgICAgICAgICAtd2Via2l0LXNoYXBlLWluc2lk
ZTogcmVjdGFuZ2xlKDAsIDAsIDEwMCUsIDEwMCUsIDUwJSwgNDAlKTsKKyAgICAgICAgfQorICAg
ICAgICAjcmVnaW9uMyB7CisgICAgICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgICAgICBo
ZWlnaHQ6IDcwcHg7CisgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OworICAgICAgICB9Cisg
ICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9InJlY3RhbmdsZSI+Cisg
ICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYCisgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
CisgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYIFgKKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJwYWdlIj4KKyAg
ICAgICAgPGRpdiBpZD0icmVnaW9uMSIgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9InJlZ2lvbjIiIGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJy
ZWdpb24zIiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8cD5SZXF1aXJl
cyBBaGVtIGZvbnQuIFR3byBkaWZmZXJlbnQgLXNoYXBlLWluc2lkZSBwcm9wZXJ0eSBhcmUgYXBw
bGllZCB0byB0aGUgZmlyc3QgYW5kIHNlY29uZCByZWdpb24uIFRoZSB0aGlyZCByZWdpb24gaXMg
YSBzaW1wbGUgcmVnaW9uIHdpdGhvdXQgLXNoYXBlLWluc2lkZS4KKyAgICBUaGUgcmVjdGFuZ2xl
cyBzaG91bGQgZmxvdyB0aHJvdWdoIHRoZSByZWdpb25zIGFuZCB0aGUgc2hhcGUtaW5zaWRlcyBz
aG91bGQgYmUgYXBwbGllZCB0byB0aGUgZmlyc3QgdHdvIHJlZ2lvbnMuPC9wPgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTQzMzIzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDItMTkgIFpvbHRhbiBI
b3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBSZWdp
b24gYm94ZXMgc2hvdWxkIHJlc3BlY3QgLXNoYXBlLWluc2lkZSBDU1MgcHJvcGVydHkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzg4MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyBzdXBw
b3J0IHRvIHNoYXBlLWluc2lkZSBDU1MgcHJvcGVydHkgZm9yIHJlZ2lvbnMuCisKKyAgICAgICAg
KiBmYXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbnMtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWw6
IEFkZGVkLgorCiAyMDEzLTAyLTE5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQzMzE5LgpJbmRl
eDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwkocmV2aXNpb24gMTQzMzIzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTMtMDItMTkgIFpvbHRhbiBIb3J2
YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBSZWdpb24g
Ym94ZXMgc2hvdWxkIHJlc3BlY3QgLXNoYXBlLWluc2lkZSBDU1MgcHJvcGVydHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzg4MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBiYXNpYyBzdXBwb3J0
IHRvIHNoYXBlLWluc2lkZSBDU1MgcHJvcGVydHkgZm9yIHJlZ2lvbnMuCisKKyAgICAgICAgVGVz
dDogZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWwKKworICAgICAgICAq
IHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjo6OmxvZ2ljYWxUb3BPZmZzZXQpOiBNb2RpZnkgdGhlIGZ1bmN0aW9u
IHRvIHN1cHBvcnQgcG9zaXRpb25zIGluc2lkZSBhIGZsb3cgdGhyZWFkLgorICAgICAgICAqIHJl
bmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uaDoKKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlSW5m
byk6CisgICAgICAgIChXZWJDb3JlOjo6OmxvZ2ljYWxUb3BPZmZzZXQpOiBNb3ZlIHRoZSBpbXBs
ZW1lbnRhdGlvbiB0byBFeGNsdXNpb25TaGFwZUluZm8uY3BwLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoUmVuZGVyQmxvY2spOiBNYWtlIGNvbXB1dGVFeGNs
dXNpb25TaGFwZVNpemUoKSBwcm90ZWN0ZWQsIHNpbmNlIGl0J3MgcmVxdWlyZWQgaW4gUmVuZGVy
UmVnaW9uLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6bG9naWNhbEhlaWdodEZvckxpbmUpOiBNb3ZlIHRoZSBmdW5jdGlv
biBwcmlvciB0byBsYXlvdXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8sIHNpbmNlIHdlIG5lZWQg
dG8gdXNlIGl0IHRoZXJlLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjps
YXlvdXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8pOiBBZGQgc3VwcG9ydCBmb3IgY2FzZXMgd2hl
biBzaGFwZS1pbnNpZGUgaXMgYSByZWdpb24tYmxvY2sgcHJvcGVydHkuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVn
aW9uOjpsYXlvdXRCbG9jayk6IENvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGV4Y2x1c2lvbiBzaGFw
ZSBmb3IgdGhlIFJlbmRlclJlZ2lvbi4KKwogMjAxMy0wMi0xOSAgQW5kcmVpIEJ1Y3VyICA8YWJ1
Y3VyQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFJlZ2lvbnNdIEFzc2VydGlvbiBpbiBSZW5k
ZXJGbG93VGhyZWFkOjpyZW1vdmVSZW5kZXJCb3hSZWdpb25JbmZvCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkocmV2aXNp
b24gMTQzMzIzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJSZW5k
ZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxp
c3RNYXJrZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJSZWdpb24uaCIKICNpbmNsdWRlICJSZW5kZXJS
dWJ5UnVuLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CkBAIC02MywxMCArNjQsMzEgQEAKIC8vIFdlIGRvbid0IGxldCBvdXIgbGluZSBib3ggdHJlZSBm
b3IgYSBzaW5nbGUgbGluZSBnZXQgYW55IGRlZXBlciB0aGFuIHRoaXMuCiBjb25zdCB1bnNpZ25l
ZCBjTWF4TGluZURlcHRoID0gMjAwOwogCitzdGF0aWMgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0
Rm9yTGluZShjb25zdCBSZW5kZXJCbG9jayogYmxvY2ssIGJvb2wgaXNGaXJzdExpbmUsIExheW91
dFVuaXQgcmVwbGFjZWRIZWlnaHQgPSAwKQoreworICAgIGlmICghYmxvY2stPmRvY3VtZW50KCkt
PmluTm9RdWlya3NNb2RlKCkgJiYgcmVwbGFjZWRIZWlnaHQpCisgICAgICAgIHJldHVybiByZXBs
YWNlZEhlaWdodDsKKworICAgIGlmICghKGJsb2NrLT5zdHlsZShpc0ZpcnN0TGluZSktPmxpbmVC
b3hDb250YWluKCkgJiBMaW5lQm94Q29udGFpbkJsb2NrKSkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICByZXR1cm4gbWF4PExheW91dFVuaXQ+KHJlcGxhY2VkSGVpZ2h0LCBibG9jay0+bGluZUhl
aWdodChpc0ZpcnN0TGluZSwgYmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jp
em9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSk7
Cit9CisKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCiBzdGF0aWMgaW5saW5lIEV4Y2x1c2lv
blNoYXBlSW5zaWRlSW5mbyogbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKGNvbnN0IFJl
bmRlckJsb2NrKiBibG9jaykKIHsKLSAgICByZXR1cm4gYmxvY2stPnZpZXcoKS0+bGF5b3V0U3Rh
dGUoKS0+ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCk7CisgICAgRXhjbHVzaW9uU2hhcGVJbnNp
ZGVJbmZvKiBzaGFwZUluc2lkZUluZm8gPSBibG9jay0+dmlldygpLT5sYXlvdXRTdGF0ZSgpLT5l
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oKTsKKworICAgIGlmICghc2hhcGVJbnNpZGVJbmZvICYm
IGJsb2NrLT5pblJlbmRlckZsb3dUaHJlYWQoKSkgeworICAgICAgICBSZW5kZXJGbG93VGhyZWFk
KiByZW5kZXJGbG93VGhyZWFkID0gYmxvY2stPmVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQoKTsK
KyAgICAgICAgaWYgKHJlbmRlckZsb3dUaHJlYWQpIHsKKyAgICAgICAgICAgIExheW91dFVuaXQg
b2Zmc2V0ID0gYmxvY2stPmxvZ2ljYWxIZWlnaHQoKSArIGxvZ2ljYWxIZWlnaHRGb3JMaW5lKGJs
b2NrLCBmYWxzZSk7CisgICAgICAgICAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IHJlbmRlckZs
b3dUaHJlYWQtPnJlZ2lvbkF0QmxvY2tPZmZzZXQob2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVy
biByZWdpb24gPyByZWdpb24tPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpIDogMDsKKyAgICAg
ICAgfQorICAgIH0KKyAgICByZXR1cm4gc2hhcGVJbnNpZGVJbmZvOwogfQogI2VuZGlmCiAKQEAg
LTEzMywxNyArMTU1LDYgQEAKICAgICBib29sIG1faXNGaXJzdExpbmU7CiB9OwogCi1zdGF0aWMg
TGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0Rm9yTGluZShSZW5kZXJCbG9jayogYmxvY2ssIGJvb2wg
aXNGaXJzdExpbmUsIExheW91dFVuaXQgcmVwbGFjZWRIZWlnaHQgPSAwKQotewotICAgIGlmICgh
YmxvY2stPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2RlKCkgJiYgcmVwbGFjZWRIZWlnaHQpCi0g
ICAgICAgIHJldHVybiByZXBsYWNlZEhlaWdodDsKLQotICAgIGlmICghKGJsb2NrLT5zdHlsZShp
c0ZpcnN0TGluZSktPmxpbmVCb3hDb250YWluKCkgJiBMaW5lQm94Q29udGFpbkJsb2NrKSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gbWF4PExheW91dFVuaXQ+KHJlcGxhY2VkSGVp
Z2h0LCBibG9jay0+bGluZUhlaWdodChpc0ZpcnN0TGluZSwgYmxvY2stPmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZklu
dGVyaW9yTGluZUJveGVzKSk7Ci19Ci0KIGlubGluZSB2b2lkIExpbmVXaWR0aDo6dXBkYXRlQXZh
aWxhYmxlV2lkdGgoTGF5b3V0VW5pdCByZXBsYWNlZEhlaWdodCkKIHsKICAgICBMYXlvdXRVbml0
IGhlaWdodCA9IG1fYmxvY2stPmxvZ2ljYWxIZWlnaHQoKTsKQEAgLTE1MjgsNiArMTUzOSw3IEBA
CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQogICAgICAgICAvLyBGSVhNRTogQnVnIDk1MzYx
OiBJdCBpcyBwb3NzaWJsZSBmb3IgYSBsaW5lIHRvIGdyb3cgYmV5b25kIGxpbmVIZWlnaHQsIGlu
IHdoaWNoCiAgICAgICAgIC8vIGNhc2UgdGhlc2Ugc2VnbWVudHMgbWF5IGJlIGluY29ycmVjdC4K
KyAgICAgICAgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvID0gbGF5b3V0RXhjbHVzaW9uU2hhcGVJ
bnNpZGVJbmZvKHRoaXMpOwogICAgICAgICBpZiAoZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKSB7
CiAgICAgICAgICAgICBMYXlvdXRVbml0IGxpbmVUb3AgPSBsb2dpY2FsSGVpZ2h0KCkgKyBhYnNv
bHV0ZUxvZ2ljYWxUb3A7CiAgICAgICAgICAgICBleGNsdXNpb25TaGFwZUluc2lkZUluZm8tPmNv
bXB1dGVTZWdtZW50c0ZvckxpbmUobGluZVRvcCwgbGluZUhlaWdodChsYXlvdXRTdGF0ZS5saW5l
SW5mbygpLmlzRmlyc3RMaW5lKCksIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9u
dGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5oCShy
ZXZpc2lvbiAxNDMzMjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hh
cGVJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw3ICsxMDMsNyBAQAogICAgIExheW91dFVu
aXQgZmxvYXRMb2dpY2FsVG9wVG9MYXlvdXRVbml0KGZsb2F0IGxvZ2ljYWxUb3ApIGNvbnN0IHsg
cmV0dXJuIExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwobG9naWNhbFRvcCk7IH0KICAgICBMYXlv
dXRVbml0IGZsb2F0TG9naWNhbEJvdHRvbVRvTGF5b3V0VW5pdChmbG9hdCBsb2dpY2FsQm90dG9t
KSBjb25zdCB7IHJldHVybiBMYXlvdXRVbml0Ojpmcm9tRmxvYXRGbG9vcihsb2dpY2FsQm90dG9t
KTsgfQogCi0gICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4g
bV9yZW5kZXJlci0+c3R5bGUoKS0+Ym94U2l6aW5nKCkgPT0gQ09OVEVOVF9CT1ggPyBtX3JlbmRl
cmVyLT5ib3JkZXJCZWZvcmUoKSArIG1fcmVuZGVyZXItPnBhZGRpbmdCZWZvcmUoKSA6IExheW91
dFVuaXQoKTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbFRvcE9mZnNldCgpIGNvbnN0OwogICAg
IExheW91dFVuaXQgbG9naWNhbExlZnRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlcmVy
LT5zdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBDT05URU5UX0JPWCA/IG1fcmVuZGVyZXItPmJvcmRl
clN0YXJ0KCkgKyBtX3JlbmRlcmVyLT5wYWRkaW5nU3RhcnQoKSA6IExheW91dFVuaXQoKTsgfQog
CiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5j
cHAJKHJldmlzaW9uIDE0MzMyMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZWdpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQsNiArMjY0LDkgQEAKICAgICAgICAgICAg
IGlmICh2aWV3KCktPmNoZWNrVHdvUGFzc0xheW91dEZvckF1dG9IZWlnaHRSZWdpb25zKCkpCiAg
ICAgICAgICAgICAgICAgdmlldygpLT5mbG93VGhyZWFkQ29udHJvbGxlcigpLT5zZXROZWVkc1R3
b1Bhc3NMYXlvdXRGb3JBdXRvSGVpZ2h0UmVnaW9ucyh0cnVlKTsKICAgICAgICAgfQorI2lmIEVO
QUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgY29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgp
OworI2VuZGlmCiAgICAgfQogCiAgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gZmluZCBhIHdheSB0
byBzZXQgdXAgb3ZlcmZsb3cgcHJvcGVybHkuIE91ciBmbG93IHRocmVhZCBoYXNuJ3QgZ290dGVu
IGEgbGF5b3V0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2
aXNpb24gMTQzMzIzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU1MiwxMCArNTUyLDExIEBACiAgICAgdm9pZCB1cGRhdGVCbG9j
a0NoaWxkRGlydHlCaXRzQmVmb3JlTGF5b3V0KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgUmVuZGVy
Qm94Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tGb3JQYWdpbmF0aW9uTG9naWNhbEhlaWdo
dENoYW5nZShMYXlvdXRVbml0JiBwYWdlTG9naWNhbEhlaWdodCwgYm9vbCYgcGFnZUxvZ2ljYWxI
ZWlnaHRDaGFuZ2VkLCBib29sJiBoYXNTcGVjaWZpZWRQYWdlTG9naWNhbEhlaWdodCk7Ci0KKyNp
ZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgdm9pZCBjb21wdXRlRXhjbHVzaW9uU2hhcGVT
aXplKCk7CisjZW5kaWYKIHByaXZhdGU6CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAg
IHZvaWQgY29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpOwogICAgIHZvaWQgdXBkYXRlRXhjbHVz
aW9uU2hhcGVJbnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb25TaGFwZVZh
bHVlKiwgY29uc3QgRXhjbHVzaW9uU2hhcGVWYWx1ZSogb2xkRXhjbHVzaW9uU2hhcGUpOwogI2Vu
ZGlmCiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigp
IHsgcmV0dXJuIGNoaWxkcmVuKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9F
eGNsdXNpb25TaGFwZUluZm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9FeGNsdXNpb25TaGFwZUluZm8uY3BwCShyZXZpc2lvbiAxNDMzMjMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkV4Y2x1c2lvblNoYXBlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKKyNpbmNsdWRlICJSZW5kZXJS
ZWdpb24uaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC01NCw2ICs1NSwxNSBAQAogICAgIHJldHVybiBtX3NoYXBlLmdldCgpOwogfQogCit0ZW1w
bGF0ZSA8Y2xhc3MgUmVuZGVyVHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxl
Ojoqc2hhcGVHZXR0ZXIpKCkgY29uc3Q+CitMYXlvdXRVbml0IEV4Y2x1c2lvblNoYXBlSW5mbzxS
ZW5kZXJUeXBlLCBzaGFwZUdldHRlcj46OmxvZ2ljYWxUb3BPZmZzZXQoKSBjb25zdAoreworICAg
IExheW91dFVuaXQgbG9naWNhbFRvcE9mZnNldCA9IG1fcmVuZGVyZXItPnN0eWxlKCktPmJveFNp
emluZygpID09IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyQmVmb3JlKCkgKyBtX3Jl
bmRlcmVyLT5wYWRkaW5nQmVmb3JlKCkgOiBMYXlvdXRVbml0KCk7CisgICAgaWYgKG1fcmVuZGVy
ZXItPmlzUmVuZGVyUmVnaW9uKCkpCisgICAgICAgIGxvZ2ljYWxUb3BPZmZzZXQgKz0gdG9SZW5k
ZXJSZWdpb24obV9yZW5kZXJlciktPmxvZ2ljYWxUb3BGb3JGbG93VGhyZWFkQ29udGVudCgpOwor
ICAgIHJldHVybiBsb2dpY2FsVG9wT2Zmc2V0OworfQorCiB0ZW1wbGF0ZSBjbGFzcyBFeGNsdXNp
b25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6cmVzb2x2ZWRTaGFwZUluc2lk
ZT47CiB0ZW1wbGF0ZSBjbGFzcyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQm94LCAmUmVuZGVy
U3R5bGU6OnNoYXBlT3V0c2lkZT47CiB9Cg==
</data>
<flag name="commit-queue"
          id="209375"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189098</attachid>
            <date>2013-02-19 08:57:06 -0800</date>
            <delta_ts>2013-02-21 01:28:10 -0800</delta_ts>
            <desc>Updated patch, based on Mihnea&apos;s review</desc>
            <filename>shapeInsideOnRegions_clean2.patch</filename>
            <type>text/plain</type>
            <size>13160</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFw
ZS1pbnNpZGUtb24tcmVnaW9ucy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQo
dHJ1ZSk7CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgICAgICAjcGFnZSB7IGZvbnQ6
IDIwcHQgQWhlbSwgc2Fucy1zZXJpZjsgfQorCisgICAgICAgICNyZWdpb24xIHsKKyAgICAgICAg
ICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjYwcHg7CisgICAgICAgICAg
ICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAsIDEwMCUsIDEwMCUsIDYwJSwg
NTAlKTsKKyAgICAgICAgfQorICAgICAgICAjcmVnaW9uMiB7CisgICAgICAgICAgICBoZWlnaHQ6
IDM1MHB4OworICAgICAgICAgICAgd2lkdGg6IDM1MHB4OworICAgICAgICAgICAgbWFyZ2luLXRv
cDogMTBweDsKKyAgICAgICAgICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwg
MCwgMTAwJSwgMTAwJSwgNTAlLCA0MCUpOworICAgICAgICB9CisgICAgICAgICNyZWdpb24zIHsK
KyAgICAgICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogNzBweDsKKyAg
ICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0icGFnZSI+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lv
bjEiPgorICAgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgKKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9InJlZ2lvbjIiPgorICAgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgKKyAgICAgICAgICBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWAorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMyI+CisgICAgICAgICAgWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPHA+
UmVxdWlyZXMgQWhlbSBmb250LiBUd28gZGlmZmVyZW50IC1zaGFwZS1pbnNpZGUgcHJvcGVydHkg
YXJlIGFwcGxpZWQgdG8gdGhlIGZpcnN0IGFuZCBzZWNvbmQgcmVnaW9uLiBUaGUgdGhpcmQgcmVn
aW9uIGlzIGEgc2ltcGxlIHJlZ2lvbiB3aXRob3V0IC1zaGFwZS1pbnNpZGUuCisgICAgVGhlIHJl
Y3RhbmdsZXMgc2hvdWxkIGZsb3cgdGhyb3VnaCB0aGUgcmVnaW9ucyBhbmQgdGhlIHNoYXBlLWlu
c2lkZXMgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhlIGZpcnN0IHR3byByZWdpb25zLjwvcD4KKyAg
ICA8cD4gQnVnIDxhIGhyZWY9Imh0dHA6Ly93ZWJraXQub3JnL2IvMTA3ODgwIj4xMDc4ODA8L2E+
OiBSZWdpb25zIHNob3VsZCByZXNwZWN0IHNoYXBlLWluc2lkZTwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9u
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNp
ZGUtb24tcmVnaW9ucy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1ZSk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICAjcmVjdGFuZ2xlIHsKKyAgICAgICAgICAgICBmb250OiAyMHB0
IEFoZW0sIHNhbnMtc2VyaWY7CisgICAgICAgICAgICAtd2Via2l0LWZsb3ctaW50bzogcmVjdGFu
Z2xlOworICAgICAgICB9CisKKyAgICAgICAgLnJlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBy
ZWN0YW5nbGU7IH0KKworICAgICAgICAjcmVnaW9uMSB7CisgICAgICAgICAgICB3aWR0aDogMzAw
cHg7CisgICAgICAgICAgICBoZWlnaHQ6IDI2MHB4OworICAgICAgICAgICAgLXdlYmtpdC1zaGFw
ZS1pbnNpZGU6IHJlY3RhbmdsZSgwLCAwLCAxMDAlLCAxMDAlLCA2MCUsIDUwJSk7CisgICAgICAg
IH0KKyAgICAgICAgI3JlZ2lvbjIgeworICAgICAgICAgICAgd2lkdGg6IDM1MHB4OworICAgICAg
ICAgICAgaGVpZ2h0OiAzNTBweDsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CisgICAg
ICAgICAgICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAsIDEwMCUsIDEwMCUs
IDUwJSwgNDAlKTsKKyAgICAgICAgfQorICAgICAgICAjcmVnaW9uMyB7CisgICAgICAgICAgICB3
aWR0aDogNDAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDcwcHg7CisgICAgICAgICAgICBtYXJn
aW4tdG9wOiAxMHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
ICAgIDxkaXYgaWQ9InJlY3RhbmdsZSI+CisgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYCisg
ICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYCisgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFgg
WCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFgKKyAgICA8L2Rp
dj4KKyAgICA8ZGl2IGlkPSJwYWdlIj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMSIgY2xhc3M9
InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbjIiIGNsYXNzPSJyZWdpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24zIiBjbGFzcz0icmVnaW9uIj48L2Rpdj4K
KyAgICA8L2Rpdj4KKyAgICA8cD5SZXF1aXJlcyBBaGVtIGZvbnQuIFR3byBkaWZmZXJlbnQgLXNo
YXBlLWluc2lkZSBwcm9wZXJ0eSBhcmUgYXBwbGllZCB0byB0aGUgZmlyc3QgYW5kIHNlY29uZCBy
ZWdpb24uIFRoZSB0aGlyZCByZWdpb24gaXMgYSBzaW1wbGUgcmVnaW9uIHdpdGhvdXQgLXNoYXBl
LWluc2lkZS4KKyAgICBUaGUgcmVjdGFuZ2xlcyBzaG91bGQgZmxvdyB0aHJvdWdoIHRoZSByZWdp
b25zIGFuZCB0aGUgc2hhcGUtaW5zaWRlcyBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgZmlyc3Qg
dHdvIHJlZ2lvbnMuPC9wPgorICAgIDxwPiBCdWcgPGEgaHJlZj0iaHR0cDovL3dlYmtpdC5vcmcv
Yi8xMDc4ODAiPjEwNzg4MDwvYT46IFJlZ2lvbnMgc2hvdWxkIHJlc3BlY3Qgc2hhcGUtaW5zaWRl
PC9wPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTQzMzI1KQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMt
MDItMTkgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NT
UyBSZWdpb25zXSBSZWdpb24gYm94ZXMgc2hvdWxkIHJlc3BlY3QgLXNoYXBlLWluc2lkZSBDU1Mg
cHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNzg4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSAtc2hhcGUtaW5zaWRlIENTUyBwcm9wZXJ0eSBtb2RpZmllcyB0aGUgc2hhcGUgb2YgdGhl
IGlubmVyIGlubGluZSBmbG93IGNvbnRlbnQgZnJvbSByZWN0YW5ndWxhciBjb250ZW50IGJveAor
ICAgICAgICB0byBhbiBhcmJpdHJhcnkgZ2VvbWV0cnkuIFRoZSBkZXRhaWxlZCBkb2N1bWVudGF0
aW9uIGlzIGxvY2F0ZWQgaW4gdGhlIENTUy1FeGNsdXNpb25zIHNwZWNpZmljYXRpb246CisgICAg
ICAgIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMtZXhjbHVzaW9ucy8jc2hhcGUtaW5zaWRl
LXByb3BlcnR5LiBUaGlzIGNoYW5nZSBhZGRzIHN1cHBvcnQgZm9yIHRoZSBzaGFwZS1pbnNpZGUg
cHJvcGVydHkKKyAgICAgICAgb24gQ1NTIFJlZ2lvbnMuCisKKyAgICAgICAgKiBmYXN0L3JlZ2lv
bnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbnMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWw6IEFkZGVkLgorCiAy
MDEzLTAyLTE5ICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFtDYW52YXNdIFVJOiB0d2VhayByZXBsYXkgY29udHJvbCBidXR0
b25zIGJlaGF2aW9yCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDMzMjUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMiBAQAorMjAxMy0w
Mi0xOSAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NT
IFJlZ2lvbnNdIFJlZ2lvbiBib3hlcyBzaG91bGQgcmVzcGVjdCAtc2hhcGUtaW5zaWRlIENTUyBw
cm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA3ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIC1zaGFwZS1pbnNpZGUgQ1NTIHByb3BlcnR5IG1vZGlmaWVzIHRoZSBzaGFwZSBvZiB0aGUg
aW5uZXIgaW5saW5lIGZsb3cgY29udGVudCBmcm9tIHJlY3Rhbmd1bGFyIGNvbnRlbnQgYm94Cisg
ICAgICAgIHRvIGFuIGFyYml0cmFyeSBnZW9tZXRyeS4gVGhlIGRldGFpbGVkIGRvY3VtZW50YXRp
b24gaXMgbG9jYXRlZCBpbiB0aGUgQ1NTLUV4Y2x1c2lvbnMgc3BlY2lmaWNhdGlvbjoKKyAgICAg
ICAgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1leGNsdXNpb25zLyNzaGFwZS1pbnNpZGUt
cHJvcGVydHkuIFRoaXMgY2hhbmdlIGFkZHMgc3VwcG9ydCBmb3IgdGhlIHNoYXBlLWluc2lkZSBw
cm9wZXJ0eQorICAgICAgICBvbiBDU1MgUmVnaW9ucy4KKworICAgICAgICBUZXN0OiBmYXN0L3Jl
Z2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJlZ2lvbnMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5n
L0V4Y2x1c2lvblNoYXBlSW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Ojo6bG9naWNhbFRvcE9mZnNldCk6IFNoYXBlIGRpbWVuc2lvbiBzaG91bGQgYmUgcmVs
YXRpdmUgdG8gdGhlIGN1cnJlbnQgcmVnaW9uLgorICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNp
b25TaGFwZUluZm8uaDoKKyAgICAgICAgKEV4Y2x1c2lvblNoYXBlSW5mbyk6CisgICAgICAgIChX
ZWJDb3JlOjo6OmxvZ2ljYWxUb3BPZmZzZXQpOiBNb3ZlIHRoZSBpbXBsZW1lbnRhdGlvbiB0byBF
eGNsdXNpb25TaGFwZUluZm8uY3BwLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5o
OgorICAgICAgICAoUmVuZGVyQmxvY2spOiBNYWtlIGNvbXB1dGVFeGNsdXNpb25TaGFwZVNpemUo
KSBwcm90ZWN0ZWQsIHNpbmNlIGl0J3MgcmVxdWlyZWQgaW4gUmVuZGVyUmVnaW9uLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6bG9naWNhbEhlaWdodEZvckxpbmUpOiBNb3ZlIHRoZSBmdW5jdGlvbiBwcmlvciB0byBsYXlv
dXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8sIHNpbmNlIHdlIG5lZWQgdG8gdXNlIGl0IHRoZXJl
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpsYXlvdXRFeGNsdXNpb25T
aGFwZUluc2lkZUluZm8pOiBBZGQgc3VwcG9ydCBmb3IgY2FzZXMgd2hlbiBzaGFwZS1pbnNpZGUg
aXMgYSByZWdpb24tYmxvY2sgcHJvcGVydHkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6bGF5b3V0UnVuc0FuZEZsb2F0c0luUmFuZ2UpOiBVcGRhdGUgdGhlIGV4Y2x1c2lvbiBzaGFw
ZSBpbmZvcm1hdGlvbiBmb3IgZXZlcnkgbGluZSwgc2luY2UgdGhlIGNvbnRlbnQKKyAgICAgICAg
Y291bGQgZmxvdyB0aHJvdWdoIHNldmVyYWwgcmVnaW9uIGNvbnRhaW5lcnMgd2hpY2ggY2FuIGhh
dmUgZGlmZmVyZW50IHNoYXBlLWluc2lkZSBwcm9wZXJ0aWVzLgorCiAyMDEzLTAyLTE5ICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtDYW52YXNdIGRvIG5vdCByZXBsYWNlIHJlcGxheSBpbWFnZSB3aXRoIHNwaW5uZXIgaWNv
bgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAJKHJldmlzaW9uIDE0MzMyNSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJMaXN0TWFya2VyLmgiCisjaW5jbHVkZSAiUmVuZGVyUmVnaW9uLmgi
CiAjaW5jbHVkZSAiUmVuZGVyUnVieVJ1bi5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtNjMsMTAgKzY0LDI3IEBACiAvLyBXZSBkb24ndCBsZXQg
b3VyIGxpbmUgYm94IHRyZWUgZm9yIGEgc2luZ2xlIGxpbmUgZ2V0IGFueSBkZWVwZXIgdGhhbiB0
aGlzLgogY29uc3QgdW5zaWduZWQgY01heExpbmVEZXB0aCA9IDIwMDsKIAorc3RhdGljIExheW91
dFVuaXQgbG9naWNhbEhlaWdodEZvckxpbmUoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBib29s
IGlzRmlyc3RMaW5lLCBMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0ID0gMCkKK3sKKyAgICBpZiAo
IWJsb2NrLT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpICYmIHJlcGxhY2VkSGVpZ2h0KQor
ICAgICAgICByZXR1cm4gcmVwbGFjZWRIZWlnaHQ7CisKKyAgICBpZiAoIShibG9jay0+c3R5bGUo
aXNGaXJzdExpbmUpLT5saW5lQm94Q29udGFpbigpICYgTGluZUJveENvbnRhaW5CbG9jaykpCisg
ICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1heDxMYXlvdXRVbml0PihyZXBsYWNlZEhl
aWdodCwgYmxvY2stPmxpbmVIZWlnaHQoaXNGaXJzdExpbmUsIGJsb2NrLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJ
bnRlcmlvckxpbmVCb3hlcykpOworfQorCiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQogc3Rh
dGljIGlubGluZSBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIGxheW91dEV4Y2x1c2lvblNoYXBl
SW5zaWRlSW5mbyhjb25zdCBSZW5kZXJCbG9jayogYmxvY2spCiB7Ci0gICAgcmV0dXJuIGJsb2Nr
LT52aWV3KCktPmxheW91dFN0YXRlKCktPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpOworICAg
IEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyogc2hhcGVJbnNpZGVJbmZvID0gYmxvY2stPnZpZXco
KS0+bGF5b3V0U3RhdGUoKS0+ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCk7CisgICAgaWYgKCFz
aGFwZUluc2lkZUluZm8gJiYgYmxvY2stPmluUmVuZGVyRmxvd1RocmVhZCgpKSB7CisgICAgICAg
IExheW91dFVuaXQgb2Zmc2V0ID0gYmxvY2stPmxvZ2ljYWxIZWlnaHQoKSArIGxvZ2ljYWxIZWln
aHRGb3JMaW5lKGJsb2NrLCBmYWxzZSk7CisgICAgICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0g
YmxvY2stPmVuY2xvc2luZ1JlbmRlckZsb3dUaHJlYWQoKS0+cmVnaW9uQXRCbG9ja09mZnNldChv
ZmZzZXQpOworICAgICAgICByZXR1cm4gcmVnaW9uID8gcmVnaW9uLT5leGNsdXNpb25TaGFwZUlu
c2lkZUluZm8oKSA6IDA7CisgICAgfQorICAgIHJldHVybiBzaGFwZUluc2lkZUluZm87CiB9CiAj
ZW5kaWYKIApAQCAtMTMzLDE3ICsxNTEsNiBAQAogICAgIGJvb2wgbV9pc0ZpcnN0TGluZTsKIH07
CiAKLXN0YXRpYyBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRGb3JMaW5lKFJlbmRlckJsb2NrKiBi
bG9jaywgYm9vbCBpc0ZpcnN0TGluZSwgTGF5b3V0VW5pdCByZXBsYWNlZEhlaWdodCA9IDApCi17
Ci0gICAgaWYgKCFibG9jay0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKSAmJiByZXBsYWNl
ZEhlaWdodCkKLSAgICAgICAgcmV0dXJuIHJlcGxhY2VkSGVpZ2h0OwotCi0gICAgaWYgKCEoYmxv
Y2stPnN0eWxlKGlzRmlyc3RMaW5lKS0+bGluZUJveENvbnRhaW4oKSAmIExpbmVCb3hDb250YWlu
QmxvY2spKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBtYXg8TGF5b3V0VW5pdD4o
cmVwbGFjZWRIZWlnaHQsIGJsb2NrLT5saW5lSGVpZ2h0KGlzRmlyc3RMaW5lLCBibG9jay0+aXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lLCBQ
b3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKTsKLX0KLQogaW5saW5lIHZvaWQgTGluZVdpZHRo
Ojp1cGRhdGVBdmFpbGFibGVXaWR0aChMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0KQogewogICAg
IExheW91dFVuaXQgaGVpZ2h0ID0gbV9ibG9jay0+bG9naWNhbEhlaWdodCgpOwpAQCAtMTUyOCw2
ICsxNTM1LDggQEAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCiAgICAgICAgIC8vIEZJWE1F
OiBCdWcgOTUzNjE6IEl0IGlzIHBvc3NpYmxlIGZvciBhIGxpbmUgdG8gZ3JvdyBiZXlvbmQgbGlu
ZUhlaWdodCwgaW4gd2hpY2gKICAgICAgICAgLy8gY2FzZSB0aGVzZSBzZWdtZW50cyBtYXkgYmUg
aW5jb3JyZWN0LgorICAgICAgICBpZiAoaW5SZW5kZXJGbG93VGhyZWFkKCkpCisgICAgICAgICAg
ICBleGNsdXNpb25TaGFwZUluc2lkZUluZm8gPSBsYXlvdXRFeGNsdXNpb25TaGFwZUluc2lkZUlu
Zm8odGhpcyk7CiAgICAgICAgIGlmIChleGNsdXNpb25TaGFwZUluc2lkZUluZm8pIHsKICAgICAg
ICAgICAgIExheW91dFVuaXQgbGluZVRvcCA9IGxvZ2ljYWxIZWlnaHQoKSArIGFic29sdXRlTG9n
aWNhbFRvcDsKICAgICAgICAgICAgIGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby0+Y29tcHV0ZVNl
Z21lbnRzRm9yTGluZShsaW5lVG9wLCBsaW5lSGVpZ2h0KGxheW91dFN0YXRlLmxpbmVJbmZvKCku
aXNGaXJzdExpbmUoKSwgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5l
IDogVmVydGljYWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmgJKHJldmlzaW9u
IDE0MzMyNSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8u
aAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDcgKzEwMyw3IEBACiAgICAgTGF5b3V0VW5pdCBmbG9h
dExvZ2ljYWxUb3BUb0xheW91dFVuaXQoZmxvYXQgbG9naWNhbFRvcCkgY29uc3QgeyByZXR1cm4g
TGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChsb2dpY2FsVG9wKTsgfQogICAgIExheW91dFVuaXQg
ZmxvYXRMb2dpY2FsQm90dG9tVG9MYXlvdXRVbml0KGZsb2F0IGxvZ2ljYWxCb3R0b20pIGNvbnN0
IHsgcmV0dXJuIExheW91dFVuaXQ6OmZyb21GbG9hdEZsb29yKGxvZ2ljYWxCb3R0b20pOyB9CiAK
LSAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3JlbmRl
cmVyLT5zdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBDT05URU5UX0JPWCA/IG1fcmVuZGVyZXItPmJv
cmRlckJlZm9yZSgpICsgbV9yZW5kZXJlci0+cGFkZGluZ0JlZm9yZSgpIDogTGF5b3V0VW5pdCgp
OyB9CisgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3Q7CiAgICAgTGF5b3V0
VW5pdCBsb2dpY2FsTGVmdE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXItPnN0eWxl
KCktPmJveFNpemluZygpID09IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyU3RhcnQo
KSArIG1fcmVuZGVyZXItPnBhZGRpbmdTdGFydCgpIDogTGF5b3V0VW5pdCgpOyB9CiAKIHByaXZh
dGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24g
MTQzMzI1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdvcmtp
bmcgY29weSkKQEAgLTU1MiwxMCArNTUyLDExIEBACiAgICAgdm9pZCB1cGRhdGVCbG9ja0NoaWxk
RGlydHlCaXRzQmVmb3JlTGF5b3V0KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgUmVuZGVyQm94Kik7
CiAKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tGb3JQYWdpbmF0aW9uTG9naWNhbEhlaWdodENoYW5n
ZShMYXlvdXRVbml0JiBwYWdlTG9naWNhbEhlaWdodCwgYm9vbCYgcGFnZUxvZ2ljYWxIZWlnaHRD
aGFuZ2VkLCBib29sJiBoYXNTcGVjaWZpZWRQYWdlTG9naWNhbEhlaWdodCk7Ci0KKyNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgdm9pZCBjb21wdXRlRXhjbHVzaW9uU2hhcGVTaXplKCk7
CisjZW5kaWYKIHByaXZhdGU6CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAgIHZvaWQg
Y29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpOwogICAgIHZvaWQgdXBkYXRlRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBFeGNsdXNpb25TaGFwZVZhbHVlKiwg
Y29uc3QgRXhjbHVzaW9uU2hhcGVWYWx1ZSogb2xkRXhjbHVzaW9uU2hhcGUpOwogI2VuZGlmCiAg
ICAgdmlydHVhbCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIHsgcmV0
dXJuIGNoaWxkcmVuKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNp
b25TaGFwZUluZm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9F
eGNsdXNpb25TaGFwZUluZm8uY3BwCShyZXZpc2lvbiAxNDMzMjUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NiArMzUsNyBAQAogI2luY2x1ZGUgIkV4Y2x1c2lvblNoYXBlLmgiCiAjaW5jbHVkZSAiUmVuZGVy
QmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKKyNpbmNsdWRlICJSZW5kZXJSZWdpb24u
aCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01
NCw2ICs1NSwxNiBAQAogICAgIHJldHVybiBtX3NoYXBlLmdldCgpOwogfQogCit0ZW1wbGF0ZSA8
Y2xhc3MgUmVuZGVyVHlwZSwgRXhjbHVzaW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hh
cGVHZXR0ZXIpKCkgY29uc3Q+CitMYXlvdXRVbml0IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJU
eXBlLCBzaGFwZUdldHRlcj46OmxvZ2ljYWxUb3BPZmZzZXQoKSBjb25zdAoreworICAgIExheW91
dFVuaXQgbG9naWNhbFRvcE9mZnNldCA9IG1fcmVuZGVyZXItPnN0eWxlKCktPmJveFNpemluZygp
ID09IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyQmVmb3JlKCkgKyBtX3JlbmRlcmVy
LT5wYWRkaW5nQmVmb3JlKCkgOiBMYXlvdXRVbml0KCk7CisgICAgLy8gQ29udGVudCBpbiBhIGZs
b3cgdGhyZWFkIGlzIHJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRocmVhZCwgYnV0
IHRoZSBzaGFwZSBjYWxjdWxhdGlvbiBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQg
cmVnaW9uLgorICAgIGlmIChtX3JlbmRlcmVyLT5pc1JlbmRlclJlZ2lvbigpKQorICAgICAgICBs
b2dpY2FsVG9wT2Zmc2V0ICs9IHRvUmVuZGVyUmVnaW9uKG1fcmVuZGVyZXIpLT5sb2dpY2FsVG9w
Rm9yRmxvd1RocmVhZENvbnRlbnQoKTsKKyAgICByZXR1cm4gbG9naWNhbFRvcE9mZnNldDsKK30K
KwogdGVtcGxhdGUgY2xhc3MgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVy
U3R5bGU6OnJlc29sdmVkU2hhcGVJbnNpZGU+OwogdGVtcGxhdGUgY2xhc3MgRXhjbHVzaW9uU2hh
cGVJbmZvPFJlbmRlckJveCwgJlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGU+OwogfQo=
</data>
<flag name="commit-queue"
          id="209406"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>189472</attachid>
            <date>2013-02-21 01:28:10 -0800</date>
            <delta_ts>2013-02-21 01:32:59 -0800</delta_ts>
            <desc>Updated patch, based on Mihnea&apos;s review + test fixed for cr-linux</desc>
            <filename>shapeinsideOnRegions_linuxcrfixed.patch</filename>
            <type>text/plain</type>
            <size>9297</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0MzMyNSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTIxICBab2x0YW4gSG9ydmF0aCAg
PHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gUmVnaW9uIGJveGVz
IHNob3VsZCByZXNwZWN0IC1zaGFwZS1pbnNpZGUgQ1NTIHByb3BlcnR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc4ODAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2hhcGUtaW5zaWRlIENTUyBw
cm9wZXJ0eSBtb2RpZmllcyB0aGUgc2hhcGUgb2YgdGhlIGlubmVyIGlubGluZSBmbG93IGNvbnRl
bnQgZnJvbSByZWN0YW5ndWxhciBjb250ZW50IGJveAorICAgICAgICB0byBhbiBhcmJpdHJhcnkg
Z2VvbWV0cnkuIFRoZSBkZXRhaWxlZCBkb2N1bWVudGF0aW9uIGlzIGxvY2F0ZWQgaW4gdGhlIENT
Uy1FeGNsdXNpb25zIHNwZWNpZmljYXRpb246CisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2Nz
c3dnL2NzczMtZXhjbHVzaW9ucy8jc2hhcGUtaW5zaWRlLXByb3BlcnR5LiBUaGlzIGNoYW5nZSBh
ZGRzIHN1cHBvcnQgZm9yIHRoZSBzaGFwZS1pbnNpZGUgcHJvcGVydHkKKyAgICAgICAgb24gQ1NT
IFJlZ2lvbnMgZm9yIGlubGluZSBjb250ZW50LgorCisgICAgICAgICogZmFzdC9yZWdpb25zL3No
YXBlLWluc2lkZS1vbi1yZWdpb25zLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy5odG1sOiBBZGRlZC4KKwogMjAxMy0w
Mi0xOSAgQW5kcmV5IEFkYWlraW4gIDxhYW5kcmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBbQ2FudmFzXSBVSTogdHdlYWsgcmVwbGF5IGNvbnRyb2wgYnV0dG9ucyBi
ZWhhdmlvcgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQzMzI1KQorKysgU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTMtMDItMjEg
IFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBSZWdp
b25zXSBSZWdpb24gYm94ZXMgc2hvdWxkIHJlc3BlY3QgLXNoYXBlLWluc2lkZSBDU1MgcHJvcGVy
dHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzg4
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBz
aGFwZS1pbnNpZGUgQ1NTIHByb3BlcnR5IG1vZGlmaWVzIHRoZSBzaGFwZSBvZiB0aGUgaW5uZXIg
aW5saW5lIGZsb3cgY29udGVudCBmcm9tIHJlY3Rhbmd1bGFyIGNvbnRlbnQgYm94CisgICAgICAg
IHRvIGFuIGFyYml0cmFyeSBnZW9tZXRyeS4gVGhlIGRldGFpbGVkIGRvY3VtZW50YXRpb24gaXMg
bG9jYXRlZCBpbiB0aGUgQ1NTLUV4Y2x1c2lvbnMgc3BlY2lmaWNhdGlvbjoKKyAgICAgICAgaHR0
cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1leGNsdXNpb25zLyNzaGFwZS1pbnNpZGUtcHJvcGVy
dHkuIFRoaXMgY2hhbmdlIGFkZHMgc3VwcG9ydCBmb3IgdGhlIHNoYXBlLWluc2lkZSBwcm9wZXJ0
eQorICAgICAgICBvbiBDU1MgUmVnaW9ucyBmb3IgaW5saW5lIGNvbnRlbnQuCisKKyAgICAgICAg
VGVzdDogZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjo6OmxvZ2ljYWxUb3BPZmZzZXQpOiBTaGFwZSBkaW1lbnNpb24g
c2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHJlZ2lvbi4KKyAgICAgICAgKiByZW5k
ZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmg6CisgICAgICAgIChFeGNsdXNpb25TaGFwZUluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6Ojpsb2dpY2FsVG9wT2Zmc2V0KTogTW92ZSB0aGUgaW1wbGVt
ZW50YXRpb24gdG8gRXhjbHVzaW9uU2hhcGVJbmZvLmNwcC4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFJlbmRlckJsb2NrKTogTWFrZSBjb21wdXRlRXhjbHVz
aW9uU2hhcGVTaXplKCkgcHJvdGVjdGVkLCBzaW5jZSBpdCdzIHJlcXVpcmVkIGluIFJlbmRlclJl
Z2lvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmxvZ2ljYWxIZWlnaHRGb3JMaW5lKTogTW92ZSB0aGUgZnVuY3Rpb24g
cHJpb3IgdG8gbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLCBzaW5jZSB3ZSBuZWVkIHRv
IHVzZSBpdCB0aGVyZS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6bGF5
b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogQWRkIHN1cHBvcnQgZm9yIGNhc2VzIHdoZW4g
c2hhcGUtaW5zaWRlIGlzIGEgcmVnaW9uLWJsb2NrIHByb3BlcnR5LgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKTogVXBkYXRlIHRoZSBl
eGNsdXNpb24gc2hhcGUgaW5mb3JtYXRpb24gZm9yIGV2ZXJ5IGxpbmUsIHNpbmNlIHRoZSBjb250
ZW50CisgICAgICAgIGNvdWxkIGZsb3cgdGhyb3VnaCBzZXZlcmFsIHJlZ2lvbiBjb250YWluZXJz
IHdoaWNoIGNhbiBoYXZlIGRpZmZlcmVudCBzaGFwZS1pbnNpZGUgcHJvcGVydGllcy4KKwogMjAx
My0wMi0xOSAgQW5kcmV5IEFkYWlraW4gIDxhYW5kcmV5QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBbQ2FudmFzXSBkbyBub3QgcmVwbGFjZSByZXBsYXkgaW1hZ2Ugd2l0
aCBzcGlubmVyIGljb24KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiAxNDM0NTApCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJl
bmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGlzdE1hcmtlci5oIgorI2luY2x1ZGUgIlJl
bmRlclJlZ2lvbi5oIgogI2luY2x1ZGUgIlJlbmRlclJ1YnlSdW4uaCIKICNpbmNsdWRlICJSZW5k
ZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTY0LDEwICs2NSwyNyBAQAogLy8g
V2UgZG9uJ3QgbGV0IG91ciBsaW5lIGJveCB0cmVlIGZvciBhIHNpbmdsZSBsaW5lIGdldCBhbnkg
ZGVlcGVyIHRoYW4gdGhpcy4KIGNvbnN0IHVuc2lnbmVkIGNNYXhMaW5lRGVwdGggPSAyMDA7CiAK
K3N0YXRpYyBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRGb3JMaW5lKGNvbnN0IFJlbmRlckJsb2Nr
KiBibG9jaywgYm9vbCBpc0ZpcnN0TGluZSwgTGF5b3V0VW5pdCByZXBsYWNlZEhlaWdodCA9IDAp
Cit7CisgICAgaWYgKCFibG9jay0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKSAmJiByZXBs
YWNlZEhlaWdodCkKKyAgICAgICAgcmV0dXJuIHJlcGxhY2VkSGVpZ2h0OworCisgICAgaWYgKCEo
YmxvY2stPnN0eWxlKGlzRmlyc3RMaW5lKS0+bGluZUJveENvbnRhaW4oKSAmIExpbmVCb3hDb250
YWluQmxvY2spKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBtYXg8TGF5b3V0VW5p
dD4ocmVwbGFjZWRIZWlnaHQsIGJsb2NrLT5saW5lSGVpZ2h0KGlzRmlyc3RMaW5lLCBibG9jay0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5l
LCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKTsKK30KKwogI2lmIEVOQUJMRShDU1NfRVhD
TFVTSU9OUykKIHN0YXRpYyBpbmxpbmUgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBsYXlvdXRF
eGNsdXNpb25TaGFwZUluc2lkZUluZm8oY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrKQogewotICAg
IHJldHVybiBibG9jay0+dmlldygpLT5sYXlvdXRTdGF0ZSgpLT5leGNsdXNpb25TaGFwZUluc2lk
ZUluZm8oKTsKKyAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIHNoYXBlSW5zaWRlSW5mbyA9
IGJsb2NrLT52aWV3KCktPmxheW91dFN0YXRlKCktPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygp
OworICAgIGlmICghc2hhcGVJbnNpZGVJbmZvICYmIGJsb2NrLT5pblJlbmRlckZsb3dUaHJlYWQo
KSkgeworICAgICAgICBMYXlvdXRVbml0IG9mZnNldCA9IGJsb2NrLT5sb2dpY2FsSGVpZ2h0KCkg
KyBsb2dpY2FsSGVpZ2h0Rm9yTGluZShibG9jaywgZmFsc2UpOworICAgICAgICBSZW5kZXJSZWdp
b24qIHJlZ2lvbiA9IGJsb2NrLT5lbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkKCktPnJlZ2lvbkF0
QmxvY2tPZmZzZXQob2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlZ2lvbiA/IHJlZ2lvbi0+ZXhj
bHVzaW9uU2hhcGVJbnNpZGVJbmZvKCkgOiAwOworICAgIH0KKyAgICByZXR1cm4gc2hhcGVJbnNp
ZGVJbmZvOwogfQogI2VuZGlmCiAKQEAgLTEzNCwxNyArMTUyLDYgQEAKICAgICBib29sIG1faXNG
aXJzdExpbmU7CiB9OwogCi1zdGF0aWMgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0Rm9yTGluZShS
ZW5kZXJCbG9jayogYmxvY2ssIGJvb2wgaXNGaXJzdExpbmUsIExheW91dFVuaXQgcmVwbGFjZWRI
ZWlnaHQgPSAwKQotewotICAgIGlmICghYmxvY2stPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2Rl
KCkgJiYgcmVwbGFjZWRIZWlnaHQpCi0gICAgICAgIHJldHVybiByZXBsYWNlZEhlaWdodDsKLQot
ICAgIGlmICghKGJsb2NrLT5zdHlsZShpc0ZpcnN0TGluZSktPmxpbmVCb3hDb250YWluKCkgJiBM
aW5lQm94Q29udGFpbkJsb2NrKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gbWF4
PExheW91dFVuaXQ+KHJlcGxhY2VkSGVpZ2h0LCBibG9jay0+bGluZUhlaWdodChpc0ZpcnN0TGlu
ZSwgYmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZl
cnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSk7Ci19Ci0KIGlubGluZSB2
b2lkIExpbmVXaWR0aDo6dXBkYXRlQXZhaWxhYmxlV2lkdGgoTGF5b3V0VW5pdCByZXBsYWNlZEhl
aWdodCkKIHsKICAgICBMYXlvdXRVbml0IGhlaWdodCA9IG1fYmxvY2stPmxvZ2ljYWxIZWlnaHQo
KTsKQEAgLTE1MzgsNiArMTU0NSw4IEBACiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQogICAg
ICAgICAvLyBGSVhNRTogQnVnIDk1MzYxOiBJdCBpcyBwb3NzaWJsZSBmb3IgYSBsaW5lIHRvIGdy
b3cgYmV5b25kIGxpbmVIZWlnaHQsIGluIHdoaWNoCiAgICAgICAgIC8vIGNhc2UgdGhlc2Ugc2Vn
bWVudHMgbWF5IGJlIGluY29ycmVjdC4KKyAgICAgICAgaWYgKGluUmVuZGVyRmxvd1RocmVhZCgp
KQorICAgICAgICAgICAgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvID0gbGF5b3V0RXhjbHVzaW9u
U2hhcGVJbnNpZGVJbmZvKHRoaXMpOwogICAgICAgICBpZiAoZXhjbHVzaW9uU2hhcGVJbnNpZGVJ
bmZvKSB7CiAgICAgICAgICAgICBMYXlvdXRVbml0IGxpbmVUb3AgPSBsb2dpY2FsSGVpZ2h0KCkg
KyBhYnNvbHV0ZUxvZ2ljYWxUb3A7CiAgICAgICAgICAgICBleGNsdXNpb25TaGFwZUluc2lkZUlu
Zm8tPmNvbXB1dGVTZWdtZW50c0ZvckxpbmUobGluZVRvcCwgbGluZUhlaWdodChsYXlvdXRTdGF0
ZS5saW5lSW5mbygpLmlzRmlyc3RMaW5lKCksIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBI
b3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVz
KSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5m
by5oCShyZXZpc2lvbiAxNDM0NTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVz
aW9uU2hhcGVJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw3ICsxMDMsNyBAQAogICAgIExh
eW91dFVuaXQgZmxvYXRMb2dpY2FsVG9wVG9MYXlvdXRVbml0KGZsb2F0IGxvZ2ljYWxUb3ApIGNv
bnN0IHsgcmV0dXJuIExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwobG9naWNhbFRvcCk7IH0KICAg
ICBMYXlvdXRVbml0IGZsb2F0TG9naWNhbEJvdHRvbVRvTGF5b3V0VW5pdChmbG9hdCBsb2dpY2Fs
Qm90dG9tKSBjb25zdCB7IHJldHVybiBMYXlvdXRVbml0Ojpmcm9tRmxvYXRGbG9vcihsb2dpY2Fs
Qm90dG9tKTsgfQogCi0gICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3QgeyBy
ZXR1cm4gbV9yZW5kZXJlci0+c3R5bGUoKS0+Ym94U2l6aW5nKCkgPT0gQ09OVEVOVF9CT1ggPyBt
X3JlbmRlcmVyLT5ib3JkZXJCZWZvcmUoKSArIG1fcmVuZGVyZXItPnBhZGRpbmdCZWZvcmUoKSA6
IExheW91dFVuaXQoKTsgfQorICAgIExheW91dFVuaXQgbG9naWNhbFRvcE9mZnNldCgpIGNvbnN0
OwogICAgIExheW91dFVuaXQgbG9naWNhbExlZnRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3Jl
bmRlcmVyLT5zdHlsZSgpLT5ib3hTaXppbmcoKSA9PSBDT05URU5UX0JPWCA/IG1fcmVuZGVyZXIt
PmJvcmRlclN0YXJ0KCkgKyBtX3JlbmRlcmVyLT5wYWRkaW5nU3RhcnQoKSA6IExheW91dFVuaXQo
KTsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmgJKHJldmlzaW9uIDE0MzQ1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC01NTIsMTAgKzU1MiwxMSBAQAogICAgIHZvaWQgdXBk
YXRlQmxvY2tDaGlsZERpcnR5Qml0c0JlZm9yZUxheW91dChib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IFJlbmRlckJveCopOwogCiAgICAgdmlydHVhbCB2b2lkIGNoZWNrRm9yUGFnaW5hdGlvbkxvZ2lj
YWxIZWlnaHRDaGFuZ2UoTGF5b3V0VW5pdCYgcGFnZUxvZ2ljYWxIZWlnaHQsIGJvb2wmIHBhZ2VM
b2dpY2FsSGVpZ2h0Q2hhbmdlZCwgYm9vbCYgaGFzU3BlY2lmaWVkUGFnZUxvZ2ljYWxIZWlnaHQp
OwotCisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgIHZvaWQgY29tcHV0ZUV4Y2x1c2lv
blNoYXBlU2l6ZSgpOworI2VuZGlmCiBwcml2YXRlOgogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9O
UykKLSAgICB2b2lkIGNvbXB1dGVFeGNsdXNpb25TaGFwZVNpemUoKTsKICAgICB2b2lkIHVwZGF0
ZUV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mb0FmdGVyU3R5bGVDaGFuZ2UoY29uc3QgRXhjbHVzaW9u
U2hhcGVWYWx1ZSosIGNvbnN0IEV4Y2x1c2lvblNoYXBlVmFsdWUqIG9sZEV4Y2x1c2lvblNoYXBl
KTsKICNlbmRpZgogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hp
bGRyZW4oKSB7IHJldHVybiBjaGlsZHJlbigpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmNwcAkocmV2aXNpb24gMTQzNDUwKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJFeGNsdXNpb25TaGFwZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCisjaW5jbHVkZSAi
UmVuZGVyUmVnaW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNTQsNiArNTUsMTYgQEAKICAgICByZXR1cm4gbV9zaGFwZS5nZXQoKTsKIH0K
IAordGVtcGxhdGUgPGNsYXNzIFJlbmRlclR5cGUsIEV4Y2x1c2lvblNoYXBlVmFsdWUqIChSZW5k
ZXJTdHlsZTo6KnNoYXBlR2V0dGVyKSgpIGNvbnN0PgorTGF5b3V0VW5pdCBFeGNsdXNpb25TaGFw
ZUluZm88UmVuZGVyVHlwZSwgc2hhcGVHZXR0ZXI+Ojpsb2dpY2FsVG9wT2Zmc2V0KCkgY29uc3QK
K3sKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BPZmZzZXQgPSBtX3JlbmRlcmVyLT5zdHlsZSgp
LT5ib3hTaXppbmcoKSA9PSBDT05URU5UX0JPWCA/IG1fcmVuZGVyZXItPmJvcmRlckJlZm9yZSgp
ICsgbV9yZW5kZXJlci0+cGFkZGluZ0JlZm9yZSgpIDogTGF5b3V0VW5pdCgpOworICAgIC8vIENv
bnRlbnQgaW4gYSBmbG93IHRocmVhZCBpcyByZWxhdGl2ZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRo
ZSB0aHJlYWQsIGJ1dCB0aGUgc2hhcGUgY2FsY3VsYXRpb24gc2hvdWxkIGJlIHJlbGF0aXZlIHRv
IHRoZSBjdXJyZW50IHJlZ2lvbi4KKyAgICBpZiAobV9yZW5kZXJlci0+aXNSZW5kZXJSZWdpb24o
KSkKKyAgICAgICAgbG9naWNhbFRvcE9mZnNldCArPSB0b1JlbmRlclJlZ2lvbihtX3JlbmRlcmVy
KS0+bG9naWNhbFRvcEZvckZsb3dUaHJlYWRDb250ZW50KCk7CisgICAgcmV0dXJuIGxvZ2ljYWxU
b3BPZmZzZXQ7Cit9CisKIHRlbXBsYXRlIGNsYXNzIEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJC
bG9jaywgJlJlbmRlclN0eWxlOjpyZXNvbHZlZFNoYXBlSW5zaWRlPjsKIHRlbXBsYXRlIGNsYXNz
IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJCb3gsICZSZW5kZXJTdHlsZTo6c2hhcGVPdXRzaWRl
PjsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189473</attachid>
            <date>2013-02-21 01:32:59 -0800</date>
            <delta_ts>2013-02-22 02:23:12 -0800</delta_ts>
            <desc>Updated patch, based on Mihnea&apos;s review + test fixed for cr-linux</desc>
            <filename>shapeinsideOnRegions_linuxcrfixed.patch</filename>
            <type>text/plain</type>
            <size>12862</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zaGFw
ZS1pbnNpZGUtb24tcmVnaW9ucy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQo
dHJ1ZSk7CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgICAgICAjcGFnZSB7IGZvbnQ6
IDI1cHggQWhlbSwgc2Fucy1zZXJpZjsgfQorCisgICAgICAgICNyZWdpb24xIHsKKyAgICAgICAg
ICAgIHdpZHRoOiAxNTBweDsKKyAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICAtd2Via2l0LXNoYXBlLWluc2lkZTogcmVjdGFuZ2xlKDAsIDAsIDkwJSwgOTAlKTsKKyAgICAg
ICAgfQorICAgICAgICAjcmVnaW9uMiB7CisgICAgICAgICAgICB3aWR0aDogMjAwcHg7CisgICAg
ICAgICAgICBoZWlnaHQ6IDE1MHB4OworICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKKyAg
ICAgICAgICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwgMCwgOTAlLCA5MCUp
OworICAgICAgICB9CisgICAgICAgICNyZWdpb24zIHsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBw
eDsKKyAgICAgICAgICAgIGhlaWdodDogNTBweDsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6IDEw
cHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBp
ZD0icGFnZSI+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbjEiPgorICAgICAgICAgICBYIFggWCBY
IFggWCBYIFggWAorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiI+Cisg
ICAgICAgICAgIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24zIj4KKyAgICAgICAgICBY
IFggWCBYIFggWCBYIFggWCBYIFggWAorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKworICAg
IDxwPlJlcXVpcmVzIEFoZW0gZm9udC4gVHdvIGRpZmZlcmVudCAtc2hhcGUtaW5zaWRlIHByb3Bl
cnR5IGFyZSBhcHBsaWVkIHRvIHRoZSBmaXJzdCBhbmQgc2Vjb25kIHJlZ2lvbi4gVGhlIHRoaXJk
IHJlZ2lvbiBpcyBhIHNpbXBsZSByZWdpb24gd2l0aG91dCAtc2hhcGUtaW5zaWRlLgorICAgIFRo
ZSByZWN0YW5nbGVzIHNob3VsZCBmbG93IHRocm91Z2ggdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaGFw
ZS1pbnNpZGVzIHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBmaXJzdCB0d28gcmVnaW9ucy48L3A+
CisgICAgPHA+IEJ1ZyA8YSBocmVmPSJodHRwOi8vd2Via2l0Lm9yZy9iLzEwNzg4MCI+MTA3ODgw
PC9hPjogUmVnaW9ucyBzaG91bGQgcmVzcGVjdCBzaGFwZS1pbnNpZGU8L3A+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9uLXJl
Z2lvbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2hhcGUt
aW5zaWRlLW9uLXJlZ2lvbnMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDQ4IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldENTU0V4Y2x1c2lvbnNFbmFibGVkKHRydWUpOworICAgIDwvc2NyaXB0
PgorICAgIDxzdHlsZT4KKyAgICAgICAgI3JlY3RhbmdsZSB7CisgICAgICAgICAgICAgZm9udDog
MjVweCBBaGVtLCBzYW5zLXNlcmlmOworICAgICAgICAgICAgLXdlYmtpdC1mbG93LWludG86IHJl
Y3RhbmdsZTsKKyAgICAgICAgfQorCisgICAgICAgIC5yZWdpb24geyAtd2Via2l0LWZsb3ctZnJv
bTogcmVjdGFuZ2xlOyB9CisKKyAgICAgICAgI3JlZ2lvbjEgeworICAgICAgICAgICAgd2lkdGg6
IDE1MHB4OworICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIC13ZWJraXQt
c2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwgMCwgOTAlLCA5MCUpOworICAgICAgICB9CisgICAg
ICAgICNyZWdpb24yIHsKKyAgICAgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgICAgIGhl
aWdodDogMTUwcHg7CisgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OworICAgICAgICAgICAg
LXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3RhbmdsZSgwLCAwLCA5MCUsIDkwJSk7CisgICAgICAg
IH0KKyAgICAgICAgI3JlZ2lvbjMgeworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAg
ICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKKyAgICAg
ICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJyZWN0YW5n
bGUiPgorICAgICAgICBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBY
IFgKKyAgICAgICAgWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWCBYIFggWAor
ICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9InBhZ2UiPgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24x
IiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiIgY2xhc3M9
InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbjMiIGNsYXNzPSJyZWdpb24i
PjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxwPlJlcXVpcmVzIEFoZW0gZm9udC4gVHdvIGRpZmZl
cmVudCAtc2hhcGUtaW5zaWRlIHByb3BlcnR5IGFyZSBhcHBsaWVkIHRvIHRoZSBmaXJzdCBhbmQg
c2Vjb25kIHJlZ2lvbi4gVGhlIHRoaXJkIHJlZ2lvbiBpcyBhIHNpbXBsZSByZWdpb24gd2l0aG91
dCAtc2hhcGUtaW5zaWRlLgorICAgIFRoZSByZWN0YW5nbGVzIHNob3VsZCBmbG93IHRocm91Z2gg
dGhlIHJlZ2lvbnMgYW5kIHRoZSBzaGFwZS1pbnNpZGVzIHNob3VsZCBiZSBhcHBsaWVkIHRvIHRo
ZSBmaXJzdCB0d28gcmVnaW9ucy48L3A+CisgICAgPHA+IEJ1ZyA8YSBocmVmPSJodHRwOi8vd2Vi
a2l0Lm9yZy9iLzEwNzg4MCI+MTA3ODgwPC9hPjogUmVnaW9ucyBzaG91bGQgcmVzcGVjdCBzaGFw
ZS1pbnNpZGU8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDMzMjUp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBA
QAorMjAxMy0wMi0yMSAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBbQ1NTIFJlZ2lvbnNdIFJlZ2lvbiBib3hlcyBzaG91bGQgcmVzcGVjdCAtc2hhcGUtaW5z
aWRlIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA3ODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlIHNoYXBlLWluc2lkZSBDU1MgcHJvcGVydHkgbW9kaWZpZXMgdGhlIHNoYXBl
IG9mIHRoZSBpbm5lciBpbmxpbmUgZmxvdyBjb250ZW50IGZyb20gcmVjdGFuZ3VsYXIgY29udGVu
dCBib3gKKyAgICAgICAgdG8gYW4gYXJiaXRyYXJ5IGdlb21ldHJ5LiBUaGUgZGV0YWlsZWQgZG9j
dW1lbnRhdGlvbiBpcyBsb2NhdGVkIGluIHRoZSBDU1MtRXhjbHVzaW9ucyBzcGVjaWZpY2F0aW9u
OgorICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLWV4Y2x1c2lvbnMvI3NoYXBl
LWluc2lkZS1wcm9wZXJ0eS4gVGhpcyBjaGFuZ2UgYWRkcyBzdXBwb3J0IGZvciB0aGUgc2hhcGUt
aW5zaWRlIHByb3BlcnR5CisgICAgICAgIG9uIENTUyBSZWdpb25zIGZvciBpbmxpbmUgY29udGVu
dC4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9zaGFwZS1pbnNpZGUtb24tcmVnaW9ucy1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRlLW9u
LXJlZ2lvbnMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDItMTkgIEFuZHJleSBBZGFpa2luICA8YWFu
ZHJleUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0NhbnZhc10gVUk6
IHR3ZWFrIHJlcGxheSBjb250cm9sIGJ1dHRvbnMgYmVoYXZpb3IKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE0MzMyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTIxICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3
ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gUmVnaW9uIGJveGVzIHNob3VsZCBy
ZXNwZWN0IC1zaGFwZS1pbnNpZGUgQ1NTIHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc4ODAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2hhcGUtaW5zaWRlIENTUyBwcm9wZXJ0eSBt
b2RpZmllcyB0aGUgc2hhcGUgb2YgdGhlIGlubmVyIGlubGluZSBmbG93IGNvbnRlbnQgZnJvbSBy
ZWN0YW5ndWxhciBjb250ZW50IGJveAorICAgICAgICB0byBhbiBhcmJpdHJhcnkgZ2VvbWV0cnku
IFRoZSBkZXRhaWxlZCBkb2N1bWVudGF0aW9uIGlzIGxvY2F0ZWQgaW4gdGhlIENTUy1FeGNsdXNp
b25zIHNwZWNpZmljYXRpb246CisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMt
ZXhjbHVzaW9ucy8jc2hhcGUtaW5zaWRlLXByb3BlcnR5LiBUaGlzIGNoYW5nZSBhZGRzIHN1cHBv
cnQgZm9yIHRoZSBzaGFwZS1pbnNpZGUgcHJvcGVydHkKKyAgICAgICAgb24gQ1NTIFJlZ2lvbnMg
Zm9yIGlubGluZSBjb250ZW50LgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9zaGFwZS1p
bnNpZGUtb24tcmVnaW9ucy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hh
cGVJbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Ojpsb2dp
Y2FsVG9wT2Zmc2V0KTogU2hhcGUgZGltZW5zaW9uIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUg
Y3VycmVudCByZWdpb24uCisgICAgICAgICogcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5o
OgorICAgICAgICAoRXhjbHVzaW9uU2hhcGVJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6bG9n
aWNhbFRvcE9mZnNldCk6IE1vdmUgdGhlIGltcGxlbWVudGF0aW9uIHRvIEV4Y2x1c2lvblNoYXBl
SW5mby5jcHAuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgIChS
ZW5kZXJCbG9jayk6IE1ha2UgY29tcHV0ZUV4Y2x1c2lvblNoYXBlU2l6ZSgpIHByb3RlY3RlZCwg
c2luY2UgaXQncyByZXF1aXJlZCBpbiBSZW5kZXJSZWdpb24uCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2dpY2FsSGVp
Z2h0Rm9yTGluZSk6IE1vdmUgdGhlIGZ1bmN0aW9uIHByaW9yIHRvIGxheW91dEV4Y2x1c2lvblNo
YXBlSW5zaWRlSW5mbywgc2luY2Ugd2UgbmVlZCB0byB1c2UgaXQgdGhlcmUuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmxheW91dEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5m
byk6IEFkZCBzdXBwb3J0IGZvciBjYXNlcyB3aGVuIHNoYXBlLWluc2lkZSBpcyBhIHJlZ2lvbi1i
bG9jayBwcm9wZXJ0eS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRSdW5z
QW5kRmxvYXRzSW5SYW5nZSk6IFVwZGF0ZSB0aGUgZXhjbHVzaW9uIHNoYXBlIGluZm9ybWF0aW9u
IGZvciBldmVyeSBsaW5lLCBzaW5jZSB0aGUgY29udGVudAorICAgICAgICBjb3VsZCBmbG93IHRo
cm91Z2ggc2V2ZXJhbCByZWdpb24gY29udGFpbmVycyB3aGljaCBjYW4gaGF2ZSBkaWZmZXJlbnQg
c2hhcGUtaW5zaWRlIHByb3BlcnRpZXMuCisKIDIwMTMtMDItMTkgIEFuZHJleSBBZGFpa2luICA8
YWFuZHJleUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0NhbnZhc10g
ZG8gbm90IHJlcGxhY2UgcmVwbGF5IGltYWdlIHdpdGggc3Bpbm5lciBpY29uCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAko
cmV2aXNpb24gMTQzNDUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
TGluZUxheW91dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl
ICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJl
bmRlckxpc3RNYXJrZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJSZWdpb24uaCIKICNpbmNsdWRlICJS
ZW5kZXJSdWJ5UnVuLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCkBAIC02NCwxMCArNjUsMjcgQEAKIC8vIFdlIGRvbid0IGxldCBvdXIgbGluZSBib3gg
dHJlZSBmb3IgYSBzaW5nbGUgbGluZSBnZXQgYW55IGRlZXBlciB0aGFuIHRoaXMuCiBjb25zdCB1
bnNpZ25lZCBjTWF4TGluZURlcHRoID0gMjAwOwogCitzdGF0aWMgTGF5b3V0VW5pdCBsb2dpY2Fs
SGVpZ2h0Rm9yTGluZShjb25zdCBSZW5kZXJCbG9jayogYmxvY2ssIGJvb2wgaXNGaXJzdExpbmUs
IExheW91dFVuaXQgcmVwbGFjZWRIZWlnaHQgPSAwKQoreworICAgIGlmICghYmxvY2stPmRvY3Vt
ZW50KCktPmluTm9RdWlya3NNb2RlKCkgJiYgcmVwbGFjZWRIZWlnaHQpCisgICAgICAgIHJldHVy
biByZXBsYWNlZEhlaWdodDsKKworICAgIGlmICghKGJsb2NrLT5zdHlsZShpc0ZpcnN0TGluZSkt
PmxpbmVCb3hDb250YWluKCkgJiBMaW5lQm94Q29udGFpbkJsb2NrKSkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICByZXR1cm4gbWF4PExheW91dFVuaXQ+KHJlcGxhY2VkSGVpZ2h0LCBibG9jay0+
bGluZUhlaWdodChpc0ZpcnN0TGluZSwgYmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJv
eGVzKSk7Cit9CisKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCiBzdGF0aWMgaW5saW5lIEV4
Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyogbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKGNv
bnN0IFJlbmRlckJsb2NrKiBibG9jaykKIHsKLSAgICByZXR1cm4gYmxvY2stPnZpZXcoKS0+bGF5
b3V0U3RhdGUoKS0+ZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKCk7CisgICAgRXhjbHVzaW9uU2hh
cGVJbnNpZGVJbmZvKiBzaGFwZUluc2lkZUluZm8gPSBibG9jay0+dmlldygpLT5sYXlvdXRTdGF0
ZSgpLT5leGNsdXNpb25TaGFwZUluc2lkZUluZm8oKTsKKyAgICBpZiAoIXNoYXBlSW5zaWRlSW5m
byAmJiBibG9jay0+aW5SZW5kZXJGbG93VGhyZWFkKCkpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBv
ZmZzZXQgPSBibG9jay0+bG9naWNhbEhlaWdodCgpICsgbG9naWNhbEhlaWdodEZvckxpbmUoYmxv
Y2ssIGZhbHNlKTsKKyAgICAgICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSBibG9jay0+ZW5jbG9z
aW5nUmVuZGVyRmxvd1RocmVhZCgpLT5yZWdpb25BdEJsb2NrT2Zmc2V0KG9mZnNldCk7CisgICAg
ICAgIHJldHVybiByZWdpb24gPyByZWdpb24tPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygpIDog
MDsKKyAgICB9CisgICAgcmV0dXJuIHNoYXBlSW5zaWRlSW5mbzsKIH0KICNlbmRpZgogCkBAIC0x
MzQsMTcgKzE1Miw2IEBACiAgICAgYm9vbCBtX2lzRmlyc3RMaW5lOwogfTsKIAotc3RhdGljIExh
eW91dFVuaXQgbG9naWNhbEhlaWdodEZvckxpbmUoUmVuZGVyQmxvY2sqIGJsb2NrLCBib29sIGlz
Rmlyc3RMaW5lLCBMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0ID0gMCkKLXsKLSAgICBpZiAoIWJs
b2NrLT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpICYmIHJlcGxhY2VkSGVpZ2h0KQotICAg
ICAgICByZXR1cm4gcmVwbGFjZWRIZWlnaHQ7Ci0KLSAgICBpZiAoIShibG9jay0+c3R5bGUoaXNG
aXJzdExpbmUpLT5saW5lQm94Q29udGFpbigpICYgTGluZUJveENvbnRhaW5CbG9jaykpCi0gICAg
ICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIG1heDxMYXlvdXRVbml0PihyZXBsYWNlZEhlaWdo
dCwgYmxvY2stPmxpbmVIZWlnaHQoaXNGaXJzdExpbmUsIGJsb2NrLT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRl
cmlvckxpbmVCb3hlcykpOwotfQotCiBpbmxpbmUgdm9pZCBMaW5lV2lkdGg6OnVwZGF0ZUF2YWls
YWJsZVdpZHRoKExheW91dFVuaXQgcmVwbGFjZWRIZWlnaHQpCiB7CiAgICAgTGF5b3V0VW5pdCBo
ZWlnaHQgPSBtX2Jsb2NrLT5sb2dpY2FsSGVpZ2h0KCk7CkBAIC0xNTM4LDYgKzE1NDUsOCBAQAog
I2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKICAgICAgICAgLy8gRklYTUU6IEJ1ZyA5NTM2MTog
SXQgaXMgcG9zc2libGUgZm9yIGEgbGluZSB0byBncm93IGJleW9uZCBsaW5lSGVpZ2h0LCBpbiB3
aGljaAogICAgICAgICAvLyBjYXNlIHRoZXNlIHNlZ21lbnRzIG1heSBiZSBpbmNvcnJlY3QuCisg
ICAgICAgIGlmIChpblJlbmRlckZsb3dUaHJlYWQoKSkKKyAgICAgICAgICAgIGV4Y2x1c2lvblNo
YXBlSW5zaWRlSW5mbyA9IGxheW91dEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyh0aGlzKTsKICAg
ICAgICAgaWYgKGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbykgewogICAgICAgICAgICAgTGF5b3V0
VW5pdCBsaW5lVG9wID0gbG9naWNhbEhlaWdodCgpICsgYWJzb2x1dGVMb2dpY2FsVG9wOwogICAg
ICAgICAgICAgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLT5jb21wdXRlU2VnbWVudHNGb3JMaW5l
KGxpbmVUb3AsIGxpbmVIZWlnaHQobGF5b3V0U3RhdGUubGluZUluZm8oKS5pc0ZpcnN0TGluZSgp
LCBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExp
bmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uaAkocmV2aXNpb24gMTQzNDUwKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDMsNyArMTAzLDcgQEAKICAgICBMYXlvdXRVbml0IGZsb2F0TG9naWNhbFRvcFRv
TGF5b3V0VW5pdChmbG9hdCBsb2dpY2FsVG9wKSBjb25zdCB7IHJldHVybiBMYXlvdXRVbml0Ojpm
cm9tRmxvYXRDZWlsKGxvZ2ljYWxUb3ApOyB9CiAgICAgTGF5b3V0VW5pdCBmbG9hdExvZ2ljYWxC
b3R0b21Ub0xheW91dFVuaXQoZmxvYXQgbG9naWNhbEJvdHRvbSkgY29uc3QgeyByZXR1cm4gTGF5
b3V0VW5pdDo6ZnJvbUZsb2F0Rmxvb3IobG9naWNhbEJvdHRvbSk7IH0KIAotICAgIExheW91dFVu
aXQgbG9naWNhbFRvcE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXItPnN0eWxlKCkt
PmJveFNpemluZygpID09IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyQmVmb3JlKCkg
KyBtX3JlbmRlcmVyLT5wYWRkaW5nQmVmb3JlKCkgOiBMYXlvdXRVbml0KCk7IH0KKyAgICBMYXlv
dXRVbml0IGxvZ2ljYWxUb3BPZmZzZXQoKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxM
ZWZ0T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlci0+c3R5bGUoKS0+Ym94U2l6aW5n
KCkgPT0gQ09OVEVOVF9CT1ggPyBtX3JlbmRlcmVyLT5ib3JkZXJTdGFydCgpICsgbV9yZW5kZXJl
ci0+cGFkZGluZ1N0YXJ0KCkgOiBMYXlvdXRVbml0KCk7IH0KIAogcHJpdmF0ZToKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCShyZXZpc2lvbiAxNDM0NTApCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAt
NTUyLDEwICs1NTIsMTEgQEAKICAgICB2b2lkIHVwZGF0ZUJsb2NrQ2hpbGREaXJ0eUJpdHNCZWZv
cmVMYXlvdXQoYm9vbCByZWxheW91dENoaWxkcmVuLCBSZW5kZXJCb3gqKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBjaGVja0ZvclBhZ2luYXRpb25Mb2dpY2FsSGVpZ2h0Q2hhbmdlKExheW91dFVuaXQm
IHBhZ2VMb2dpY2FsSGVpZ2h0LCBib29sJiBwYWdlTG9naWNhbEhlaWdodENoYW5nZWQsIGJvb2wm
IGhhc1NwZWNpZmllZFBhZ2VMb2dpY2FsSGVpZ2h0KTsKLQorI2lmIEVOQUJMRShDU1NfRVhDTFVT
SU9OUykKKyAgICB2b2lkIGNvbXB1dGVFeGNsdXNpb25TaGFwZVNpemUoKTsKKyNlbmRpZgogcHJp
dmF0ZToKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCi0gICAgdm9pZCBjb21wdXRlRXhjbHVz
aW9uU2hhcGVTaXplKCk7CiAgICAgdm9pZCB1cGRhdGVFeGNsdXNpb25TaGFwZUluc2lkZUluZm9B
ZnRlclN0eWxlQ2hhbmdlKGNvbnN0IEV4Y2x1c2lvblNoYXBlVmFsdWUqLCBjb25zdCBFeGNsdXNp
b25TaGFwZVZhbHVlKiBvbGRFeGNsdXNpb25TaGFwZSk7CiAjZW5kaWYKICAgICB2aXJ0dWFsIFJl
bmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkgeyByZXR1cm4gY2hpbGRyZW4o
KTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBl
SW5mby5jcHAJKHJldmlzaW9uIDE0MzQ1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9F
eGNsdXNpb25TaGFwZUluZm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAj
aW5jbHVkZSAiRXhjbHVzaW9uU2hhcGUuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9jay5oIgogI2lu
Y2x1ZGUgIlJlbmRlckJveC5oIgorI2luY2x1ZGUgIlJlbmRlclJlZ2lvbi5oIgogI2luY2x1ZGUg
IlJlbmRlclN0eWxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU0LDYgKzU1LDE2IEBA
CiAgICAgcmV0dXJuIG1fc2hhcGUuZ2V0KCk7CiB9CiAKK3RlbXBsYXRlIDxjbGFzcyBSZW5kZXJU
eXBlLCBFeGNsdXNpb25TaGFwZVZhbHVlKiAoUmVuZGVyU3R5bGU6OipzaGFwZUdldHRlcikoKSBj
b25zdD4KK0xheW91dFVuaXQgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlclR5cGUsIHNoYXBlR2V0
dGVyPjo6bG9naWNhbFRvcE9mZnNldCgpIGNvbnN0Cit7CisgICAgTGF5b3V0VW5pdCBsb2dpY2Fs
VG9wT2Zmc2V0ID0gbV9yZW5kZXJlci0+c3R5bGUoKS0+Ym94U2l6aW5nKCkgPT0gQ09OVEVOVF9C
T1ggPyBtX3JlbmRlcmVyLT5ib3JkZXJCZWZvcmUoKSArIG1fcmVuZGVyZXItPnBhZGRpbmdCZWZv
cmUoKSA6IExheW91dFVuaXQoKTsKKyAgICAvLyBDb250ZW50IGluIGEgZmxvdyB0aHJlYWQgaXMg
cmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgdGhyZWFkLCBidXQgdGhlIHNoYXBlIGNh
bGN1bGF0aW9uIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgY3VycmVudCByZWdpb24uCisgICAg
aWYgKG1fcmVuZGVyZXItPmlzUmVuZGVyUmVnaW9uKCkpCisgICAgICAgIGxvZ2ljYWxUb3BPZmZz
ZXQgKz0gdG9SZW5kZXJSZWdpb24obV9yZW5kZXJlciktPmxvZ2ljYWxUb3BGb3JGbG93VGhyZWFk
Q29udGVudCgpOworICAgIHJldHVybiBsb2dpY2FsVG9wT2Zmc2V0OworfQorCiB0ZW1wbGF0ZSBj
bGFzcyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVyQmxvY2ssICZSZW5kZXJTdHlsZTo6cmVzb2x2
ZWRTaGFwZUluc2lkZT47CiB0ZW1wbGF0ZSBjbGFzcyBFeGNsdXNpb25TaGFwZUluZm88UmVuZGVy
Qm94LCAmUmVuZGVyU3R5bGU6OnNoYXBlT3V0c2lkZT47CiB9Cg==
</data>
<flag name="review"
          id="209885"
          type_id="1"
          status="-"
          setter="hyatt"
    />
    <flag name="commit-queue"
          id="209886"
          type_id="3"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189726</attachid>
            <date>2013-02-22 02:23:12 -0800</date>
            <delta_ts>2013-02-22 11:17:38 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>shapeinsideonregions_0222.patch</filename>
            <type>text/plain</type>
            <size>12306</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MzcwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTIxICBab2x0YW4g
SG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gUmVn
aW9uIGJveGVzIHNob3VsZCByZXNwZWN0IC1zaGFwZS1pbnNpZGUgQ1NTIHByb3BlcnR5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc4ODAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2hhcGUtaW5z
aWRlIENTUyBwcm9wZXJ0eSBtb2RpZmllcyB0aGUgc2hhcGUgb2YgdGhlIGlubmVyIGlubGluZSBm
bG93IGNvbnRlbnQgZnJvbSByZWN0YW5ndWxhciBjb250ZW50IGJveAorICAgICAgICB0byBhbiBh
cmJpdHJhcnkgZ2VvbWV0cnkuIFRoZSBkZXRhaWxlZCBkb2N1bWVudGF0aW9uIGlzIGxvY2F0ZWQg
aW4gdGhlIENTUy1FeGNsdXNpb25zIHNwZWNpZmljYXRpb246CisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2Nzc3dnL2NzczMtZXhjbHVzaW9ucy8jc2hhcGUtaW5zaWRlLXByb3BlcnR5LiBUaGlz
IGNoYW5nZSBhZGRzIHN1cHBvcnQgZm9yIHRoZSBzaGFwZS1pbnNpZGUgcHJvcGVydHkKKyAgICAg
ICAgb24gQ1NTIFJlZ2lvbnMuCisKKyAgICAgICAgVGVzdDogZmFzdC9yZWdpb25zL3NoYXBlLWlu
c2lkZS1vbi1yZWdpb25zLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25TaGFw
ZUluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjo6OmxvZ2lj
YWxUb3BPZmZzZXQpOiBTaGFwZSBkaW1lbnNpb24gc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBj
dXJyZW50IHJlZ2lvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGVJbmZvLmg6
CisgICAgICAgIChFeGNsdXNpb25TaGFwZUluZm8pOgorICAgICAgICAoV2ViQ29yZTo6Ojpsb2dp
Y2FsVG9wT2Zmc2V0KTogTW92ZSB0aGUgaW1wbGVtZW50YXRpb24gdG8gRXhjbHVzaW9uU2hhcGVJ
bmZvLmNwcC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmxvZ2ljYWxIZWlnaHRGb3JMaW5lKTogTW92ZSB0aGUgZnVuY3Rp
b24gcHJpb3IgdG8gbGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLCBzaW5jZSB3ZSBuZWVk
IHRvIHVzZSBpdCB0aGVyZS4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
bGF5b3V0RXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKTogQWRkIHN1cHBvcnQgZm9yIGNhc2VzIHdo
ZW4gc2hhcGUtaW5zaWRlIGlzIGEgcmVnaW9uLWJsb2NrIHByb3BlcnR5LgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OmxheW91dFJ1bnNBbmRGbG9hdHNJblJhbmdlKTogVXBkYXRlIHRo
ZSBleGNsdXNpb24gc2hhcGUgaW5mb3JtYXRpb24gZm9yIGV2ZXJ5IGxpbmUsIHNpbmNlIHRoZSBj
b250ZW50CisgICAgICAgIGNvdWxkIGZsb3cgdGhyb3VnaCBzZXZlcmFsIHJlZ2lvbiBjb250YWlu
ZXJzIHdoaWNoIGNhbiBoYXZlIGRpZmZlcmVudCBzaGFwZS1pbnNpZGUgcHJvcGVydGllcy4KKwog
MjAxMy0wMi0yMiAgS29uZGFwYWxseSBLYWx5YW4gIDxrYWx5YW4ua29uZGFwYWxseUBpbnRlbC5j
b20+CiAKICAgICAgICAgW1dlYkdMXVtFRkxdIFN1cHBvcnQgZm9yIGNyZWF0aW5nIHN1cmZhY2Ug
d2l0aCBhbHBoYSBkaXNhYmxlZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiAxNDM3MDUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1
ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGlzdE1hcmtlci5oIgorI2luY2x1
ZGUgIlJlbmRlclJlZ2lvbi5oIgogI2luY2x1ZGUgIlJlbmRlclJ1YnlSdW4uaCIKICNpbmNsdWRl
ICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTY0LDEwICs2NSwyNyBA
QAogLy8gV2UgZG9uJ3QgbGV0IG91ciBsaW5lIGJveCB0cmVlIGZvciBhIHNpbmdsZSBsaW5lIGdl
dCBhbnkgZGVlcGVyIHRoYW4gdGhpcy4KIGNvbnN0IHVuc2lnbmVkIGNNYXhMaW5lRGVwdGggPSAy
MDA7CiAKK3N0YXRpYyBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRGb3JMaW5lKGNvbnN0IFJlbmRl
ckJsb2NrKiBibG9jaywgYm9vbCBpc0ZpcnN0TGluZSwgTGF5b3V0VW5pdCByZXBsYWNlZEhlaWdo
dCA9IDApCit7CisgICAgaWYgKCFibG9jay0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKSAm
JiByZXBsYWNlZEhlaWdodCkKKyAgICAgICAgcmV0dXJuIHJlcGxhY2VkSGVpZ2h0OworCisgICAg
aWYgKCEoYmxvY2stPnN0eWxlKGlzRmlyc3RMaW5lKS0+bGluZUJveENvbnRhaW4oKSAmIExpbmVC
b3hDb250YWluQmxvY2spKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBtYXg8TGF5
b3V0VW5pdD4ocmVwbGFjZWRIZWlnaHQsIGJsb2NrLT5saW5lSGVpZ2h0KGlzRmlyc3RMaW5lLCBi
bG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGlj
YWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKTsKK30KKwogI2lmIEVOQUJMRShD
U1NfRVhDTFVTSU9OUykKIHN0YXRpYyBpbmxpbmUgRXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvKiBs
YXlvdXRFeGNsdXNpb25TaGFwZUluc2lkZUluZm8oY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrKQog
ewotICAgIHJldHVybiBibG9jay0+dmlldygpLT5sYXlvdXRTdGF0ZSgpLT5leGNsdXNpb25TaGFw
ZUluc2lkZUluZm8oKTsKKyAgICBFeGNsdXNpb25TaGFwZUluc2lkZUluZm8qIHNoYXBlSW5zaWRl
SW5mbyA9IGJsb2NrLT52aWV3KCktPmxheW91dFN0YXRlKCktPmV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mbygpOworICAgIGlmICghc2hhcGVJbnNpZGVJbmZvICYmIGJsb2NrLT5pblJlbmRlckZsb3dU
aHJlYWQoKSkgeworICAgICAgICBMYXlvdXRVbml0IG9mZnNldCA9IGJsb2NrLT5sb2dpY2FsSGVp
Z2h0KCkgKyBsb2dpY2FsSGVpZ2h0Rm9yTGluZShibG9jaywgZmFsc2UpOworICAgICAgICBSZW5k
ZXJSZWdpb24qIHJlZ2lvbiA9IGJsb2NrLT5yZWdpb25BdEJsb2NrT2Zmc2V0KG9mZnNldCk7Cisg
ICAgICAgIHJldHVybiByZWdpb24gPyByZWdpb24tPmV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbygp
IDogMDsKKyAgICB9CisgICAgcmV0dXJuIHNoYXBlSW5zaWRlSW5mbzsKIH0KICNlbmRpZgogCkBA
IC0xMzQsMTcgKzE1Miw2IEBACiAgICAgYm9vbCBtX2lzRmlyc3RMaW5lOwogfTsKIAotc3RhdGlj
IExheW91dFVuaXQgbG9naWNhbEhlaWdodEZvckxpbmUoUmVuZGVyQmxvY2sqIGJsb2NrLCBib29s
IGlzRmlyc3RMaW5lLCBMYXlvdXRVbml0IHJlcGxhY2VkSGVpZ2h0ID0gMCkKLXsKLSAgICBpZiAo
IWJsb2NrLT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpICYmIHJlcGxhY2VkSGVpZ2h0KQot
ICAgICAgICByZXR1cm4gcmVwbGFjZWRIZWlnaHQ7Ci0KLSAgICBpZiAoIShibG9jay0+c3R5bGUo
aXNGaXJzdExpbmUpLT5saW5lQm94Q29udGFpbigpICYgTGluZUJveENvbnRhaW5CbG9jaykpCi0g
ICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIG1heDxMYXlvdXRVbml0PihyZXBsYWNlZEhl
aWdodCwgYmxvY2stPmxpbmVIZWlnaHQoaXNGaXJzdExpbmUsIGJsb2NrLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJ
bnRlcmlvckxpbmVCb3hlcykpOwotfQotCiBpbmxpbmUgdm9pZCBMaW5lV2lkdGg6OnVwZGF0ZUF2
YWlsYWJsZVdpZHRoKExheW91dFVuaXQgcmVwbGFjZWRIZWlnaHQpCiB7CiAgICAgTGF5b3V0VW5p
dCBoZWlnaHQgPSBtX2Jsb2NrLT5sb2dpY2FsSGVpZ2h0KCk7CkBAIC0xNTM4LDYgKzE1NDUsOCBA
QAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKICAgICAgICAgLy8gRklYTUU6IEJ1ZyA5NTM2
MTogSXQgaXMgcG9zc2libGUgZm9yIGEgbGluZSB0byBncm93IGJleW9uZCBsaW5lSGVpZ2h0LCBp
biB3aGljaAogICAgICAgICAvLyBjYXNlIHRoZXNlIHNlZ21lbnRzIG1heSBiZSBpbmNvcnJlY3Qu
CisgICAgICAgIGlmIChpblJlbmRlckZsb3dUaHJlYWQoKSkKKyAgICAgICAgICAgIGV4Y2x1c2lv
blNoYXBlSW5zaWRlSW5mbyA9IGxheW91dEV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbyh0aGlzKTsK
ICAgICAgICAgaWYgKGV4Y2x1c2lvblNoYXBlSW5zaWRlSW5mbykgewogICAgICAgICAgICAgTGF5
b3V0VW5pdCBsaW5lVG9wID0gbG9naWNhbEhlaWdodCgpICsgYWJzb2x1dGVMb2dpY2FsVG9wOwog
ICAgICAgICAgICAgZXhjbHVzaW9uU2hhcGVJbnNpZGVJbmZvLT5jb21wdXRlU2VnbWVudHNGb3JM
aW5lKGxpbmVUb3AsIGxpbmVIZWlnaHQobGF5b3V0U3RhdGUubGluZUluZm8oKS5pc0ZpcnN0TGlu
ZSgpLCBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNh
bExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uaAkocmV2aXNpb24gMTQzNzA1KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5mby5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDMsNyArMTAzLDcgQEAKICAgICBMYXlvdXRVbml0IGZsb2F0TG9naWNhbFRv
cFRvTGF5b3V0VW5pdChmbG9hdCBsb2dpY2FsVG9wKSBjb25zdCB7IHJldHVybiBMYXlvdXRVbml0
Ojpmcm9tRmxvYXRDZWlsKGxvZ2ljYWxUb3ApOyB9CiAgICAgTGF5b3V0VW5pdCBmbG9hdExvZ2lj
YWxCb3R0b21Ub0xheW91dFVuaXQoZmxvYXQgbG9naWNhbEJvdHRvbSkgY29uc3QgeyByZXR1cm4g
TGF5b3V0VW5pdDo6ZnJvbUZsb2F0Rmxvb3IobG9naWNhbEJvdHRvbSk7IH0KIAotICAgIExheW91
dFVuaXQgbG9naWNhbFRvcE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXItPnN0eWxl
KCktPmJveFNpemluZygpID09IENPTlRFTlRfQk9YID8gbV9yZW5kZXJlci0+Ym9yZGVyQmVmb3Jl
KCkgKyBtX3JlbmRlcmVyLT5wYWRkaW5nQmVmb3JlKCkgOiBMYXlvdXRVbml0KCk7IH0KKyAgICBM
YXlvdXRVbml0IGxvZ2ljYWxUb3BPZmZzZXQoKSBjb25zdDsKICAgICBMYXlvdXRVbml0IGxvZ2lj
YWxMZWZ0T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlci0+c3R5bGUoKS0+Ym94U2l6
aW5nKCkgPT0gQ09OVEVOVF9CT1ggPyBtX3JlbmRlcmVyLT5ib3JkZXJTdGFydCgpICsgbV9yZW5k
ZXJlci0+cGFkZGluZ1N0YXJ0KCkgOiBMYXlvdXRVbml0KCk7IH0KIAogcHJpdmF0ZToKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZUluZm8uY3BwCShy
ZXZpc2lvbiAxNDM3MDUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hh
cGVJbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkV4
Y2x1c2lvblNoYXBlLmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5k
ZXJCb3guaCIKKyNpbmNsdWRlICJSZW5kZXJSZWdpb24uaCIKICNpbmNsdWRlICJSZW5kZXJTdHls
ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw2ICs1NSwxNiBAQAogICAgIHJldHVy
biBtX3NoYXBlLmdldCgpOwogfQogCit0ZW1wbGF0ZSA8Y2xhc3MgUmVuZGVyVHlwZSwgRXhjbHVz
aW9uU2hhcGVWYWx1ZSogKFJlbmRlclN0eWxlOjoqc2hhcGVHZXR0ZXIpKCkgY29uc3Q+CitMYXlv
dXRVbml0IEV4Y2x1c2lvblNoYXBlSW5mbzxSZW5kZXJUeXBlLCBzaGFwZUdldHRlcj46OmxvZ2lj
YWxUb3BPZmZzZXQoKSBjb25zdAoreworICAgIExheW91dFVuaXQgbG9naWNhbFRvcE9mZnNldCA9
IG1fcmVuZGVyZXItPnN0eWxlKCktPmJveFNpemluZygpID09IENPTlRFTlRfQk9YID8gbV9yZW5k
ZXJlci0+Ym9yZGVyQmVmb3JlKCkgKyBtX3JlbmRlcmVyLT5wYWRkaW5nQmVmb3JlKCkgOiBMYXlv
dXRVbml0KCk7CisgICAgLy8gQ29udGVudCBpbiBhIGZsb3cgdGhyZWFkIGlzIHJlbGF0aXZlIHRv
IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRocmVhZCwgYnV0IHRoZSBzaGFwZSBjYWxjdWxhdGlvbiBz
aG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgcmVnaW9uLgorICAgIGlmIChtX3JlbmRl
cmVyLT5pc1JlbmRlclJlZ2lvbigpKQorICAgICAgICBsb2dpY2FsVG9wT2Zmc2V0ICs9IHRvUmVu
ZGVyUmVnaW9uKG1fcmVuZGVyZXIpLT5sb2dpY2FsVG9wRm9yRmxvd1RocmVhZENvbnRlbnQoKTsK
KyAgICByZXR1cm4gbG9naWNhbFRvcE9mZnNldDsKK30KKwogdGVtcGxhdGUgY2xhc3MgRXhjbHVz
aW9uU2hhcGVJbmZvPFJlbmRlckJsb2NrLCAmUmVuZGVyU3R5bGU6OnJlc29sdmVkU2hhcGVJbnNp
ZGU+OwogdGVtcGxhdGUgY2xhc3MgRXhjbHVzaW9uU2hhcGVJbmZvPFJlbmRlckJveCwgJlJlbmRl
clN0eWxlOjpzaGFwZU91dHNpZGU+OwogfQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLWV4cGVjdGVkLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2hhcGUtaW5zaWRl
LW9uLXJlZ2lvbnMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MiBAQAor
PCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRDU1NFeGNsdXNpb25zRW5hYmxlZCh0cnVlKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5
bGU+CisgICAgICAgICNwYWdlIHsgZm9udDogMTZweCBBaGVtLCBzYW5zLXNlcmlmOyB9CisKKyAg
ICAgICAgI3JlZ2lvbjEgeworICAgICAgICAgICAgd2lkdGg6IDE4MHB4OworICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5n
bGUoMCwgMCwgMTMwcHgsIDkwcHgpOworICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKKyAg
ICAgICAgfQorICAgICAgICAjcmVnaW9uMiB7CisgICAgICAgICAgICB3aWR0aDogMzAwcHg7Cisg
ICAgICAgICAgICBoZWlnaHQ6IDE0NXB4OworICAgICAgICAgICAgLXdlYmtpdC1zaGFwZS1pbnNp
ZGU6IHJlY3RhbmdsZSgwLCAwLCAyMjBweCwgMTUwcHgpOworICAgICAgICAgICAgbWFyZ2luLXRv
cDogNjBweDsKKyAgICAgICAgfQorICAgICAgICAjcmVnaW9uMyB7CisgICAgICAgICAgICB3aWR0
aDogMzAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAgICAgICBtYXJnaW4t
dG9wOiA2MHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9InBhZ2UiPgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24xIj4KKyAgICAgICAgICAg
IFggWCBYIFggWAorICAgICAgICAgICAgPHA+WCBYPC9wPgorICAgICAgICAgICAgPHAgc3R5bGU9
ImNvbG9yOiBncmVlbiI+WCBYIFggWDwvcD4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9InJlZ2lvbjIiPgorICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiBncmVlbjsgbWFyZ2lu
LXRvcCAwcHg7IHBhZGRpbmctdG9wOiAwcHg7Ij5YIFg8L3A+CisgICAgICAgICAgICA8cCBzdHls
ZT0iY29sb3I6IG9yYW5nZSI+WCBYIFggWDwvcD4KKyAgICAgICAgICAgIDxwPlggWCBYIFggWCBY
IFggWDxwIHN0eWxlPSJjb2xvcjogeWVsbG93Ij5YIFggWCBYIFggWCBYIFggWCBYPC9wPjwvcD4K
KyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbjMiPgorICAgICAgICAgICAg
PHA+WCBYPC9wPgorICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiByZWQiPiBYIFggWCBYIFgg
WCBYIFggWDwvcD4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8cD5SZXF1aXJl
cyBBaGVtIGZvbnQuIFR3byBkaWZmZXJlbnQgLXNoYXBlLWluc2lkZSBwcm9wZXJ0eSBhcmUgYXBw
bGllZCB0byB0aGUgZmlyc3QgYW5kIHNlY29uZCByZWdpb24uIFRoZSB0aGlyZCByZWdpb24gaXMg
YSBzaW1wbGUgcmVnaW9uIHdpdGhvdXQgLXNoYXBlLWluc2lkZS4KKyAgICBUaGUgcmVjdGFuZ2xl
cyBzaG91bGQgZmxvdyB0aHJvdWdoIHRoZSByZWdpb25zIGFuZCB0aGUgc2hhcGUtaW5zaWRlcyBz
aG91bGQgYmUgYXBwbGllZCB0byB0aGUgZmlyc3QgdHdvIHJlZ2lvbnMuPC9wPgorICAgIDxwPiBC
dWcgPGEgaHJlZj0iaHR0cDovL3dlYmtpdC5vcmcvYi8xMDc4ODAiPjEwNzg4MDwvYT46IFJlZ2lv
bnMgc2hvdWxkIHJlc3BlY3Qgc2hhcGUtaW5zaWRlPC9wPgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25zLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1y
ZWdpb25zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2hh
cGUtaW5zaWRlLW9uLXJlZ2lvbnMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MyBAQAor
PCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRDU1NFeGNsdXNpb25zRW5hYmxlZCh0cnVlKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5
bGU+CisgICAgICAgICNyZWN0YW5nbGUgeworICAgICAgICAgICAgIGZvbnQ6IDE2cHggQWhlbSwg
c2Fucy1zZXJpZjsKKyAgICAgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiByZWN0YW5nbGU7Cisg
ICAgICAgIH0KKworICAgICAgICAucmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IHJlY3Rhbmds
ZTsgfQorCisgICAgICAgICNyZWdpb24xIHsKKyAgICAgICAgICAgIHdpZHRoOiAxODBweDsKKyAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICAtd2Via2l0LXNoYXBlLWluc2lk
ZTogcmVjdGFuZ2xlKDAsIDAsIDEzMHB4LCA5MHB4KTsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6
IDEwcHg7CisgICAgICAgIH0KKyAgICAgICAgI3JlZ2lvbjIgeworICAgICAgICAgICAgd2lkdGg6
IDMwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAxNDVweDsKKyAgICAgICAgICAgIC13ZWJraXQt
c2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoMCwgMCwgMjIwcHgsIDE1MHB4KTsKKyAgICAgICAgICAg
IG1hcmdpbi10b3A6IDYwcHg7CisgICAgICAgIH0KKyAgICAgICAgI3JlZ2lvbjMgeworICAgICAg
ICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICAg
ICAgbWFyZ2luLXRvcDogNjBweDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8ZGl2IGlkPSJyZWN0YW5nbGUiPgorICAgICAgICBYIFggWCBYIFgKKyAgICAg
ICAgPHA+WCBYPC9wPgorICAgICAgICA8cCBzdHlsZT0iY29sb3I6IGdyZWVuIj5YIFggWCBYIFgg
WDwvcD4KKyAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiBvcmFuZ2UiPlggWCBYIFg8L3A+CisgICAg
ICAgIDxwPlggWCBYIFggWCBYIFggWDxwIHN0eWxlPSJjb2xvcjogeWVsbG93Ij5YIFggWCBYIFgg
WCBYIFggWCBYPC9wPiBYIFg8L3A+CisgICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOiByZWQiPiBY
IFggWCBYIFggWCBYIFggWDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9InBhZ2UiPgor
ICAgICAgICA8ZGl2IGlkPSJyZWdpb24xIiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0icmVnaW9uMiIgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
InJlZ2lvbjMiIGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxwPlJlcXVp
cmVzIEFoZW0gZm9udC4gVHdvIGRpZmZlcmVudCAtc2hhcGUtaW5zaWRlIHByb3BlcnR5IGFyZSBh
cHBsaWVkIHRvIHRoZSBmaXJzdCBhbmQgc2Vjb25kIHJlZ2lvbi4gVGhlIHRoaXJkIHJlZ2lvbiBp
cyBhIHNpbXBsZSByZWdpb24gd2l0aG91dCAtc2hhcGUtaW5zaWRlLgorICAgIFRoZSByZWN0YW5n
bGVzIHNob3VsZCBmbG93IHRocm91Z2ggdGhlIHJlZ2lvbnMgYW5kIHRoZSBzaGFwZS1pbnNpZGVz
IHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBmaXJzdCB0d28gcmVnaW9ucy48L3A+CisgICAgPHA+
IEJ1ZyA8YSBocmVmPSJodHRwOi8vd2Via2l0Lm9yZy9iLzEwNzg4MCI+MTA3ODgwPC9hPjogUmVn
aW9ucyBzaG91bGQgcmVzcGVjdCBzaGFwZS1pbnNpZGU8L3A+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNDM3MDUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMi0yMSAgWm9sdGFuIEhvcnZhdGggIDx6
b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdIFJlZ2lvbiBib3hlcyBz
aG91bGQgcmVzcGVjdCAtc2hhcGUtaW5zaWRlIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3ODgwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHNoYXBlLWluc2lkZSBDU1MgcHJv
cGVydHkgbW9kaWZpZXMgdGhlIHNoYXBlIG9mIHRoZSBpbm5lciBpbmxpbmUgZmxvdyBjb250ZW50
IGZyb20gcmVjdGFuZ3VsYXIgY29udGVudCBib3gKKyAgICAgICAgdG8gYW4gYXJiaXRyYXJ5IGdl
b21ldHJ5LiBUaGUgZGV0YWlsZWQgZG9jdW1lbnRhdGlvbiBpcyBsb2NhdGVkIGluIHRoZSBDU1Mt
RXhjbHVzaW9ucyBzcGVjaWZpY2F0aW9uOgorICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9jc3N3
Zy9jc3MzLWV4Y2x1c2lvbnMvI3NoYXBlLWluc2lkZS1wcm9wZXJ0eS4gVGhpcyBjaGFuZ2UgYWRk
cyBzdXBwb3J0IGZvciB0aGUgc2hhcGUtaW5zaWRlIHByb3BlcnR5CisgICAgICAgIG9uIENTUyBS
ZWdpb25zLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL3NoYXBlLWluc2lkZS1vbi1yZWdpb25z
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9zaGFwZS1pbnNp
ZGUtb24tcmVnaW9ucy5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0yMiAgS29uZGFwYWxseSBLYWx5
YW4gIDxrYWx5YW4ua29uZGFwYWxseUBpbnRlbC5jb20+CiAKICAgICAgICAgW1dlYkdMXVtFRkxd
IFN1cHBvcnQgZm9yIGNyZWF0aW5nIHN1cmZhY2Ugd2l0aCBhbHBoYSBkaXNhYmxlZC4K
</data>
<flag name="review"
          id="210238"
          type_id="1"
          status="+"
          setter="hyatt"
    />
    <flag name="commit-queue"
          id="210239"
          type_id="3"
          status="-"
          setter="zoltan"
    />
          </attachment>
      

    </bug>

</bugzilla>