<?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>13343</bug_id>
          
          <creation_ts>2007-04-12 12:22:12 -0700</creation_ts>
          <short_desc>getComputedStyle returns wrong value for margin-right</short_desc>
          <delta_ts>2011-11-29 10:34:52 -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>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Mantel">mmantel2</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aaron</cc>
    
    <cc>Alexander.Mitin</cc>
    
    <cc>alex</cc>
    
    <cc>alex</cc>
    
    <cc>ariya.hidayat</cc>
    
    <cc>chris.tingley</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gopal</cc>
    
    <cc>hyatt</cc>
    
    <cc>jaffathecake</cc>
    
    <cc>jarred</cc>
    
    <cc>jason+webkit</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>john.david.dalton</cc>
    
    <cc>kangax</cc>
    
    <cc>mathias</cc>
    
    <cc>mike.sherov</cc>
    
    <cc>mitz</cc>
    
    <cc>nigelw</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>sjoerdmulder</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>14893</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Mantel">mmantel2</who>
    <bug_when>2007-04-12 12:22:12 -0700</bug_when>
    <thetext>getComputedStyle seems to return the wrong marginRight value for almost any block element that&apos;s not floated.  Looks like it returns the distance from the element&apos;s right edge to its parent&apos;s right edge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14894</commentid>
    <comment_count>1</comment_count>
      <attachid>14022</attachid>
    <who name="Michael Mantel">mmantel2</who>
    <bug_when>2007-04-12 12:24:29 -0700</bug_when>
    <thetext>Created attachment 14022
Testcase

This testcase shows a div with a width of 100px.  getComputedStyle reports its margin-right as the body&apos;s width minus 100, e.g. &quot;906px&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14898</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-04-12 13:30:19 -0700</bug_when>
    <thetext>The behavior is correct as far as I know.  margin-left + width + margin-right = content width of containing block according to CSS2.1.  Have you checked Firefox?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14879</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Mantel">mmantel2</who>
    <bug_when>2007-04-12 14:11:34 -0700</bug_when>
    <thetext>Firefox and Opera both return 0px.  IE7 returns &quot;auto&quot;.

The current behavior makes it hard to do dynamic resizing, like &quot;make the parent element just wide enough to contain its children&quot;.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6055</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Russell">alex</who>
    <bug_when>2007-06-27 16:32:21 -0700</bug_when>
    <thetext>also reported in Dojo: http://trac.dojotoolkit.org/ticket/3515</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57842</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-10-05 05:17:26 -0700</bug_when>
    <thetext>Marking confirmed per the above comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70240</commentid>
    <comment_count>6</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2008-02-11 05:24:59 -0800</bug_when>
    <thetext>Also found / reported in Backbase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81207</commentid>
    <comment_count>7</comment_count>
    <who name="Paul Ovchar">asder2</who>
    <bug_when>2008-05-22 08:35:33 -0700</bug_when>
    <thetext>Incorrect behavior still happens. In my case: div (InnerDiv) placed into floated div with overflow hidden and fixed size. Inner div has paddings. In IE6/7, Opera 9 and Firefox getComputedStyle of InnerDiv for marginRight returns 0, but Safari returns negative number.

I reasearch that problem: IE6/7, Opera 9 and Firefox works correct and calculate full width of InnerDiv as Width+marginRight+marginLeft
but Safari calculate it as Width+marginRight+marginLeft+paddingRight+paddingLeft.

So, bug is not fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88806</commentid>
    <comment_count>8</comment_count>
    <who name="Jon Emerson">jon</who>
    <bug_when>2008-08-19 02:47:18 -0700</bug_when>
    <thetext>In our application, we render our pages off-screen before attaching them to the document because in a couple popular browsers the performance of off-screen (detached) DOM creation is an order of magnitude greater than on-screen (attached) DOM creation.  Part of our rendering involves manually setting the width and heights on certain elements to fill the screen.  (We do this manually for cross-browser compatibility.)  If we can&apos;t know the margins of elements, then we can&apos;t size other elements appropriately.

Please fix this bug!  Thanks.
Jon</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88807</commentid>
    <comment_count>9</comment_count>
    <who name="Jon Emerson">jon</who>
    <bug_when>2008-08-19 02:50:04 -0700</bug_when>
    <thetext>Oops I replied to the wrong bug.  Please ignore my comments here.  Sorry!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91592</commentid>
    <comment_count>10</comment_count>
      <attachid>23523</attachid>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2008-09-18 01:05:56 -0700</bug_when>
    <thetext>Created attachment 23523
Improved testcase

I think the behavior in Safari is incorrect according to: 
http://www.w3.org/TR/CSS21/box.html#propdef-margin-right.

It says the computed value of margin-right / left is the percentage as specified or the absolute length.  So when i specify the margin, it should return that margin, the initial value (according to the specs) of the margin is 0. So by default it should return 0.

I think the behavior in Safari is correct according to: 
http://www.w3.org/TR/CSS21/visudet.html#blockwidth

&quot;If &apos;width&apos; is not &apos;auto&apos; and &apos;border-left-width&apos; + &apos;padding-left&apos; + &apos;width&apos; + &apos;padding-right&apos; + &apos;border-right-width&apos; + scrollbar width (if any) (plus any of &apos;margin-left&apos; or &apos;margin-right&apos; that are not &apos;auto&apos;) is larger than the width of the containing block, then any &apos;auto&apos; values for &apos;margin-left&apos; or &apos;margin-right&apos; are, for the following rules, treated as zero.

If all of the above have a computed value other than &apos;auto&apos;, the values are said to be &quot;over-constrained&quot; and one of the used values will have to be different from its computed value. If the &apos;direction&apos; property of the containing block has the value &apos;ltr&apos;, the specified value of &apos;margin-right&apos; is ignored and the value is calculated so as to make the equality true. If the value of &apos;direction&apos; is &apos;rtl&apos;, this happens to &apos;margin-left&apos; instead. &quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129709</commentid>
    <comment_count>11</comment_count>
    <who name="John-David Dalton">john.david.dalton</who>
    <bug_when>2009-07-03 07:32:03 -0700</bug_when>
    <thetext>Any news on this bug being fixed ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167954</commentid>
    <comment_count>12</comment_count>
    <who name="Nigel White">nigelw</who>
    <bug_when>2009-12-02 04:11:41 -0800</bug_when>
    <thetext>Yes, get it fixed!

There&apos;s a duplicate here: https://bugs.webkit.org/show_bug.cgi?id=13343

With a simple testcase attached</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169981</commentid>
    <comment_count>13</comment_count>
      <attachid>44533</attachid>
    <who name="Nigel White">nigelw</who>
    <bug_when>2009-12-09 05:49:49 -0800</bug_when>
    <thetext>Created attachment 44533
Very simple testcase

This just shows an incorrect margin from computer style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213603</commentid>
    <comment_count>14</comment_count>
    <who name="Alexander Willner">alex</who>
    <bug_when>2010-04-17 08:29:43 -0700</bug_when>
    <thetext>According Chromium bug report: http://code.google.com/p/chromium/issues/detail?id=23816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213641</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-04-17 11:54:32 -0700</bug_when>
    <thetext>*** Bug 24511 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217121</commentid>
    <comment_count>16</comment_count>
    <who name="Jake Archibald">jaffathecake</who>
    <bug_when>2010-04-26 08:36:13 -0700</bug_when>
    <thetext>This is STILL an issue. Any chance someone could take a look?

A workaround is setting the element to display:none, measuring the margin then setting display back to block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217562</commentid>
    <comment_count>17</comment_count>
    <who name="Nigel White">nigelw</who>
    <bug_when>2010-04-27 00:36:07 -0700</bug_when>
    <thetext>Temporarily setting it to inline-block works too. It&apos;s just a bodge though. As you say, can someone take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345456</commentid>
    <comment_count>18</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-04 06:19:06 -0800</bug_when>
    <thetext>Will be posting a proposed patch with additional/modified layout tests sometime today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345493</commentid>
    <comment_count>19</comment_count>
      <attachid>81218</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-04 08:05:46 -0800</bug_when>
    <thetext>Created attachment 81218
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345495</commentid>
    <comment_count>20</comment_count>
      <attachid>81220</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-04 08:21:46 -0800</bug_when>
    <thetext>Created attachment 81220
CSS3 Version

This patch is compliant with CSS3 for computed margin values.  If &quot;auto&quot; is the supplied value, it will return &quot;auto&quot; as the computed value, per http://www.w3.org/TR/css3-box/#the-margin.  We can have a popular vote as to which patch (this or the previous) should be the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345496</commentid>
    <comment_count>21</comment_count>
    <who name="Alexander Willner">alex</who>
    <bug_when>2011-02-04 08:25:24 -0800</bug_when>
    <thetext>@Jarred: nice. Does the test case &quot;crbug_23816.html&quot; (see comment #14) pass?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345500</commentid>
    <comment_count>22</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-04 08:30:51 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; @Jarred: nice. Does the test case &quot;crbug_23816.html&quot; (see comment #14) pass?

Yes it does.  I am summing up my opinions on some compliance issues/inconsistencies...expect a pretty lengthy follow up comment shortly :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345515</commentid>
    <comment_count>23</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-04 08:53:32 -0800</bug_when>
    <thetext>Bare with me, this will be a lengthy comment, but I just wanted to weigh in my opinion on this bug.

My feeling is that the original behavior is the correct one, OR the current behavior of width/height (among others) is wrong.  We can use CSS 2.1 (http://www.w3.org/TR/CSS21/visudet.html#the-width-property &amp; http://www.w3.org/TR/CSS21/box.html#margin-properties) or CSS 3 (http://www.w3.org/TR/css3-box/) as our guide.

Margin&apos;s computed values are said to be this: &quot;the percentage as specified or the absolute length or ‘auto’&quot;.  Some have understood &quot;absolute length&quot; to be what was specified (including Firefox, Opera, IE, and everyone CC&apos;ed on this bug).  The original behavior understood &quot;absolute length&quot; to mean &quot;the used value&quot;.

Now if we take width/height&apos;s computed value definition: &quot;the percentage or ‘auto’ as specified or the absolute length; ‘auto’ if the property does not apply&quot;.  You&apos;ll notice that &quot;absolute length&quot; is again used, when a percentage or auto isn&apos;t specified.  The difference here is that all browsers, including WebKit, always return &quot;the used value&quot; as the computed width.  So if we specified &quot;auto&quot;, &quot;50%&quot;, or &quot;500px&quot;, we always get the used value in fixed pixels back.  If our container block is 1000px wide, the computed value for those 3 cases would be &quot;1000px&quot;, &quot;500px&quot;, and &quot;500px&quot; respectively.

So currently, margin-left: auto; and margin-right: auto; will return a computed value of the &quot;used value&quot; in fixed pixels.  If this isn&apos;t right, then width/height aren&apos;t right either.

So the question is, how do we define &quot;absolute length&quot;.  Is it the absolute fixed length specified, or is it the used value?  It seems like the world has come to a conclusion that it&apos;s the specified value.  In the case margin is not specified, an initial value of 0 is used.  In the case of width/height though, it would appear that no browser is compliant.

I would expect width: auto; to return &quot;auto&quot;, width: 50%; to return &quot;50%&quot;, and width: 500px; to return &quot;500px&quot;, and an undefined width to return &quot;auto&quot;.  The CSS3 patch I&apos;ve attached to this bug will make margin&apos;s compliant to CSS3, but it seems width/height (and several others) need fixing too.

So what does everyone think?  Do we go full compliant, or do we just try to act like the rest of the browsers?  Thanks for reading my rant :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349163</commentid>
    <comment_count>24</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-10 10:22:08 -0800</bug_when>
    <thetext>If the specs are unclear, you should raise the issue on the www-style mailing list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349168</commentid>
    <comment_count>25</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-10 10:27:33 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; If the specs are unclear, you should raise the issue on the www-style mailing list.

Sure, my apologies.  Nevertheless, I think the first &quot;Proposed patch&quot; is the one to go with, as it will match every other major browser out there, and match CSS 2.1 for margins.  It should be ready to review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349252</commentid>
    <comment_count>26</comment_count>
      <attachid>81218</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-10 12:06:48 -0800</bug_when>
    <thetext>Comment on attachment 81218
Proposed patch

Can you get rid of the extraneous lines... there&apos;s an extra blank line in every case statement now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349265</commentid>
    <comment_count>27</comment_count>
      <attachid>82023</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-10 12:21:43 -0800</bug_when>
    <thetext>Created attachment 82023
Proposed patch

removed blank lines, updated changelog date</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349836</commentid>
    <comment_count>28</comment_count>
      <attachid>82023</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-11 10:43:53 -0800</bug_when>
    <thetext>Comment on attachment 82023
Proposed patch

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

&gt; LayoutTests/fast/css/getComputedStyle/getComputedStyle-margin-auto.html:45
&gt; +    document.write(&quot;width: &quot; + window.getComputedStyle(foodiv, null).getPropertyValue(&quot;width&quot;));
&gt; +    document.write( &quot;&lt;br&gt;&quot;);
&gt; +    document.write(&quot;height: &quot; + window.getComputedStyle(foodiv, null).getPropertyValue(&quot;height&quot;));
&gt; +    document.write( &quot;&lt;br&gt;&quot;);
&gt; +    document.write(&quot;margin-left: &quot; + window.getComputedStyle(foodiv, null).getPropertyValue(&quot;margin-left&quot;));
&gt; +    document.write( &quot;&lt;br&gt;&quot;);
&gt; +    document.write(&quot;margin-right: &quot; + window.getComputedStyle(foodiv, null).getPropertyValue(&quot;margin-right&quot;));
&gt; +    document.write( &quot;&lt;br&gt;&quot;);
&gt; +    document.write(&quot;margin-top: &quot; + window.getComputedStyle(foodiv, null).getPropertyValue(&quot;margin-top&quot;));
&gt; +    document.write( &quot;&lt;br&gt;&quot;);
&gt; +    document.write(&quot;margin-bottom: &quot; + window.getComputedStyle(foodiv, null).getPropertyValue(&quot;margin-bottom&quot;));
&gt; +    document.write( &quot;&lt;br&gt;&quot;);
&gt; +    document.write(&quot;padding-left: &quot; + window.getComputedStyle(foodiv, null).getPropertyValue(&quot;padding-left&quot;));
&gt; +    document.write( &quot;&lt;br&gt;&quot;);
&gt; +    document.write(&quot;left: &quot; + window.getComputedStyle(foodiv, null).getPropertyValue(&quot;left&quot;));
&gt; +    document.write( &quot;&lt;br&gt;&quot;);

Please look at how script tests are done (/Tools/Scripts/make-script-test-wrappers and examples in fast/css/script-tests).

document.write is evil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349840</commentid>
    <comment_count>29</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-11 10:51:37 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; document.write is evil.

Will update, I adapted the existing test.  I should have updated it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349940</commentid>
    <comment_count>30</comment_count>
      <attachid>82162</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-11 12:52:49 -0800</bug_when>
    <thetext>Created attachment 82162
Proposed patch

improved tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350295</commentid>
    <comment_count>31</comment_count>
      <attachid>82162</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-12 13:03:44 -0800</bug_when>
    <thetext>Comment on attachment 82162
Proposed patch

Rejecting attachment 82162 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sf&apos;, &apos;bu...&quot; exit_code: 2

Last 500 characters of output:
.................................................................................................................................................
fast/css/content ..
fast/css/counters .......................
fast/css/getComputedStyle .......
fast/css/getComputedStyle/computed-style-without-renderer.html -&gt; failed

Exiting early after 1 failures. 6786 tests run.
150.97s total testing time

6785 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
3 test cases (&lt;1%) had stderr output

Full output: http://queues.webkit.org/results/7878044</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350310</commentid>
    <comment_count>32</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-12 13:53:17 -0800</bug_when>
    <thetext>This must be a very recently added test.  I haven&apos;t looked at it yet but it&apos;s probably compensating for the old behavior.  Will take a look when at a machine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350341</commentid>
    <comment_count>33</comment_count>
      <attachid>82248</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-02-12 17:23:48 -0800</bug_when>
    <thetext>Created attachment 82248
Proposed patch

Update expected margin values on computed-style-without-renderer-expected.txt for all platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350393</commentid>
    <comment_count>34</comment_count>
    <who name="Nigel White">nigelw</who>
    <bug_when>2011-02-13 07:41:38 -0800</bug_when>
    <thetext>I agree with the proposed patch.

Having getComputedStyle return the size of the gap between the element&apos;s edge and the associated edge of its container is just not a *useful* operation.

Intuitively, getComputedStyle is used for finding out the end result of any CSS rules applied to the element at that time. You are asking what &apos;margin-right&apos; style has been arrived at by evaluating all matched style rules.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350421</commentid>
    <comment_count>35</comment_count>
      <attachid>82248</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-13 11:23:37 -0800</bug_when>
    <thetext>Comment on attachment 82248
Proposed patch

Clearing flags on attachment: 82248

Committed r78436: &lt;http://trac.webkit.org/changeset/78436&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350422</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-13 11:23:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508559</commentid>
    <comment_count>37</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2011-11-23 18:44:18 -0800</bug_when>
    <thetext>This is now against how IE9, FF3.6+, and Opera implementation of getComputedStyle() for margins. Open up the following jsfiddle in FF3.6+, Opera, and IE9: http://jsfiddle.net/u4F8m/9/

It is also against the CSSOM editor&apos;s draft: http://dev.w3.org/csswg/cssom/#resolved-value
http://www.w3.org/TR/css3-values/


It also now makes margin inconsistent with how padding, width, and height work for resolved values in Webkit itself.

I would also argue that &quot;Having getComputedStyle return the size of the gap between the element&apos;s edge and the associated edge of its container is just not a *useful* operation.&quot; is not true. It&apos;s very useful to now the exact pixel dimensions of a box. Why would I ever want to know that a margin is &quot;10%&quot;? 10% of what? The actual pixel value used is way more relevant.

Please consider reopening and reverting this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510877</commentid>
    <comment_count>38</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-29 10:04:06 -0800</bug_when>
    <thetext>&gt; Please consider reopening and reverting this change.

Could you please open a new bug? Your comment makes sense and needs to be investigated. However if posted on a closed bug, it is lost for WebKit developers as it won&apos;t show up on most bugzilla queries. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510899</commentid>
    <comment_count>39</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2011-11-29 10:34:52 -0800</bug_when>
    <thetext>new ticket: https://bugs.webkit.org/show_bug.cgi?id=73334</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14022</attachid>
            <date>2007-04-12 12:24:29 -0700</date>
            <delta_ts>2007-04-12 12:24:29 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>test2.html</filename>
            <type>text/html</type>
            <size>224</size>
            <attacher name="Michael Mantel">mmantel2</attacher>
            
              <data encoding="base64">PGRpdiBpZD0ieSIgc3R5bGU9IndpZHRoOiAxMDBweDtib3JkZXI6IDFweCBzb2xpZCBncmVlbjsi
Pg0KWA0KPC9kaXY+DQoNCjxzY3JpcHQ+DQoJd2luZG93Lm9ubG9hZD1mdW5jdGlvbigpIHsNCgkJ
YWxlcnQoZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgneScpLCBudWxsKS5tYXJnaW5SaWdodCk7DQoJfQ0KPC9zY3JpcHQ+DQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23523</attachid>
            <date>2008-09-18 01:05:56 -0700</date>
            <delta_ts>2008-09-18 01:05:56 -0700</delta_ts>
            <desc>Improved testcase</desc>
            <filename>bug.html</filename>
            <type>text/html</type>
            <size>974</size>
            <attacher name="Sjoerd Mulder">sjoerdmulder</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h
bC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cgk8aGVh
ZD4KCQk8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD1VVEYtOCIgLz4KCQk8dGl0bGU+PC90aXRsZT4KCTwvaGVhZD4KCTxib2R5PgoKCQk8
ZGl2IGlkPSJ4IiBzdHlsZT0id2lkdGg6IDEwMHB4O2JvcmRlcjogMXB4IHNvbGlkIGdyZWVuOyI+
CgkJbm8gbWFyZ2luCgkJPC9kaXY+CgkJPGRpdiBpZD0ieSIgc3R5bGU9IndpZHRoOiAxMDBweDtt
YXJnaW46NXB4O2JvcmRlcjogMXB4IHNvbGlkIGdyZWVuOyI+CgkJbWFyZ2luOiA1cHgKCQk8L2Rp
dj4KCQk8ZGl2IGlkPSJ6IiBzdHlsZT0id2lkdGg6IDEwMHB4O21hcmdpbjowJTsgYm9yZGVyOiAx
cHggc29saWQgZ3JlZW47Ij4KCQltYXJnaW46IDBweAoJCTwvZGl2PgoKCQk8c2NyaXB0PgoJCQl3
aW5kb3cub25sb2FkPWZ1bmN0aW9uKCkgewoJCQkJYWxlcnQoCgkJCQknIG5vIG1hcmdpbjsgJyAr
IGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3gnKSwgbnVsbCkubWFyZ2luUmlnaHQgKwoJCQkJJ1xuIG1hcmdpbjo1cHg7ICcgKyBk
b2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd5JyksIG51bGwpLm1hcmdpblJpZ2h0ICsKCQkJCSdcbiBtYXJnaW46MCU7ICcgKyBkb2N1
bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd6JyksIG51bGwpLm1hcmdpblJpZ2h0KTsKCQkJfQoJCTwvc2NyaXB0PgoKCTwvYm9keT4KPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>44533</attachid>
            <date>2009-12-09 05:49:49 -0800</date>
            <delta_ts>2009-12-09 05:49:49 -0800</delta_ts>
            <desc>Very simple testcase</desc>
            <filename>margin-bug.html</filename>
            <type>text/html</type>
            <size>644</size>
            <attacher name="Nigel White">nigelw</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5NYXJnaW4gYnVnPC90aXRsZT4NCjxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4NCnJ1blRlc3QgPSBmdW5jdGlvbigpIHsNCiAgICB2YXIgaW5uZXIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5uZXIiKTsNCiAgICB2YXIgbG0gPSBwYXJzZUlu
dChkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGlubmVyLCBudWxsKS5tYXJn
aW5MZWZ0LCAxMCk7DQogICAgdmFyIHJtID0gcGFyc2VJbnQoZG9jdW1lbnQuZGVmYXVsdFZpZXcu
Z2V0Q29tcHV0ZWRTdHlsZShpbm5lciwgbnVsbCkubWFyZ2luUmlnaHQsIDEwKTsNCiAgICB2YXIg
bSA9IGxtICsgcm07DQogICAgaW5uZXIuaW5uZXJIVE1MID0nTXkgbGVmdCtyaWdodCBtYXJnaW5z
IGFyZSAnICsgbTsNCn07DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5IG9ubG9hZD0icnVuVGVz
dCgpOyI+DQo8ZGl2IGlkPSJvdXRlciIgc3R5bGU9ImhlaWdodDozMDBweDt3aWR0aDo1MDBweDti
b3JkZXI6MXB4IHNvbGlkIGJsYWNrIj4NCiAgICA8ZGl2IGlkPSJpbm5lciIgc3R5bGU9ImhlaWdo
dDoyMDBweDt3aWR0aDoyMDBweDtiYWNrZ3JvdW5kLWNvbG9yOnJlZCI+PC9kaXY+DQo8L2Rpdj4N
CjwvYm9keT4NCjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81218</attachid>
            <date>2011-02-04 08:05:46 -0800</date>
            <delta_ts>2011-02-10 12:21:43 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>getComputedStyle-margin.patch</filename>
            <type>text/plain</type>
            <size>16398</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNTAzMWM1Li44N2QxMWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDIt
MDQgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGdldENvbXB1dGVkU3R5bGUgcmV0dXJu
cyB3cm9uZyB2YWx1ZSBmb3IgbWFyZ2luLXJpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0MworICAgICAgICAKKyAgICAgICAgTWF0Y2hpbmcg
SUUsIEZpcmVmb3gsIGFuZCBPcGVyYSBiZWhhdmlvciBieSByZXR1cm5pbmcgdGhlIGNvbXB1dGVk
IG1hcmdpbgorICAgICAgICB2YWx1ZXMgYXMgc3BlY2lmaWVkLCByYXRoZXIgdGhhbiB0aGUgdXNl
ZC9hdXRvIHZhbHVlcyAoY2FsY3VsYXRlZCB2aWEgUmVuZGVyQm94KS4KKyAgICAgICAgQWxzbyBD
U1MgMi4xKyBjb21wbGlhbnQgYnkgcmV0dXJuaW5nIG1hcmdpbiBwZXJjZW50YWdlIGFzIHNwZWNp
ZmllZCwgaWYgYXBwbGljYWJsZS4KKyAgICAgICAgTm90ZTogRmlyZWZveCBhbmQgT3BlcmEgcmV0
dXJuIGNhbGN1bGF0ZWQgZml4ZWQgbGVuZ3RocyBmb3IgcGVyY2VudGFnZSBtYXJnaW5zLCBJRQor
ICAgICAgICByZXR1cm5zIHRoZSBzcGVjaWZpZWQgcGVyY2VudGFnZS4KKworICAgICAgICAqIGZh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1
dGVkU3R5bGUuaHRtbC4KKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3Ro
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
bWFyZ2luQ29tcHV0ZWRTdHlsZS5odG1sLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHls
ZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLmh0bWwuCisKIDIwMTEtMDIt
MDIgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFJ5b3N1a2UgTml3YS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dl
dENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLWF1dG8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjJjYTc5YmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRD
b21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWF1dG8tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAgQEAKK1Rlc3QKK3dpZHRoOiAzOTJweAoraGVpZ2h0OiAyNHB4CittYXJnaW4t
bGVmdDogMHB4CittYXJnaW4tcmlnaHQ6IDBweAorbWFyZ2luLXRvcDogMHB4CittYXJnaW4tYm90
dG9tOiAwcHgKK3BhZGRpbmctbGVmdDogMHB4CitsZWZ0OiBhdXRvCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJn
aW4tYXV0by5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLW1hcmdpbi1hdXRvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNzgwNTI3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CitkaXYgeyAKKyAgICBiYWNrZ3Jv
dW5kOiBwdXJwbGU7CisgICAgYm9yZGVyOiAxMHB4IGRvdWJsZSAjMDAwMDAwOyAKKyAgICB3aWR0
aDo1MCU7CisgICAgaGVpZ2h0OmF1dG87IAorICAgIG1hcmdpbi1sZWZ0OmF1dG87IAorICAgIG1h
cmdpbi1yaWdodDphdXRvOworICAgIG1hcmdpbi10b3A6YXV0bzsKKyAgICBtYXJnaW4tYm90dG9t
OmF1dG87CisgICAgcGFkZGluZy1sZWZ0OmF1dG87CisgICAgbGVmdDogYXV0bzsKKyAgICBjb2xv
cjogd2hpdGU7IAorICAgIGZvbnQ6IDI0cHggJ0x1Y2lkYSBHcmFuZGUnOworICAgIGxpbmUtaGVp
Z2h0OiAyNHB4OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8ZGl2IGlkPSJmb28i
PlRlc3Q8L2Rpdj4KKworPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICB2
YXIgZm9vZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOworICAgIGRvY3VtZW50
LndyaXRlKCJ3aWR0aDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCku
Z2V0UHJvcGVydHlWYWx1ZSgid2lkdGgiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7
CisgICAgZG9jdW1lbnQud3JpdGUoImhlaWdodDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiaGVpZ2h0IikpOworICAgIGRvY3VtZW50
LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tbGVmdDogIiArIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFy
Z2luLWxlZnQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQu
d3JpdGUoIm1hcmdpbi1yaWdodDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2Rpdiwg
bnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLXJpZ2h0IikpOworICAgIGRvY3VtZW50Lndy
aXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tdG9wOiAiICsgd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4t
dG9wIikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRl
KCJtYXJnaW4tYm90dG9tOiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxs
KS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tYm90dG9tIikpOworICAgIGRvY3VtZW50LndyaXRl
KCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJwYWRkaW5nLWxlZnQ6ICIgKyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoInBhZGRpbmct
bGVmdCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0
ZSgibGVmdDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJv
cGVydHlWYWx1ZSgibGVmdCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKzwvc2Ny
aXB0PgorCis8L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3RoLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0
ZWRTdHlsZS1tYXJnaW4tbGVuZ3RoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41NDA4YzNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1sZW5ndGgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QKK3dpZHRoOiAzOTJweAoraGVpZ2h0OiAy
NHB4CittYXJnaW4tbGVmdDogNXB4CittYXJnaW4tcmlnaHQ6IDE1cHgKK21hcmdpbi10b3A6IDBw
eAorbWFyZ2luLWJvdHRvbTogMTBweAorcGFkZGluZy1sZWZ0OiAwcHgKK2xlZnQ6IGF1dG8KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21w
dXRlZFN0eWxlLW1hcmdpbi1sZW5ndGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3RoLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJlYTI1YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJn
aW4tbGVuZ3RoLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4K
K2RpdiB7IAorICAgIGJhY2tncm91bmQ6IHB1cnBsZTsKKyAgICBib3JkZXI6IDEwcHggZG91Ymxl
ICMwMDAwMDA7IAorICAgIHdpZHRoOjUwJTsKKyAgICBoZWlnaHQ6YXV0bzsgCisgICAgbWFyZ2lu
LWxlZnQ6NXB4OyAKKyAgICBtYXJnaW4tcmlnaHQ6MTVweDsKKyAgICBtYXJnaW4tdG9wOmF1dG87
CisgICAgbWFyZ2luLWJvdHRvbToxMHB4OworICAgIHBhZGRpbmctbGVmdDphdXRvOworICAgIGxl
ZnQ6IGF1dG87CisgICAgY29sb3I6IHdoaXRlOyAKKyAgICBmb250OiAyNHB4ICdMdWNpZGEgR3Jh
bmRlJzsKKyAgICBsaW5lLWhlaWdodDogMjRweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxi
b2R5PgorPGRpdiBpZD0iZm9vIj5UZXN0PC9kaXY+CisKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworCisgICAgdmFyIGZvb2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdm
b28nKTsKKyAgICBkb2N1bWVudC53cml0ZSgid2lkdGg6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIndpZHRoIikpOworICAgIGRvY3Vt
ZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJoZWlnaHQ6ICIgKyB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoImhlaWdo
dCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgi
bWFyZ2luLWxlZnQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdl
dFByb3BlcnR5VmFsdWUoIm1hcmdpbi1sZWZ0IikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJy
PiIpOworICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tcmlnaHQ6ICIgKyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1yaWdodCIp
KTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibWFy
Z2luLXRvcDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJv
cGVydHlWYWx1ZSgibWFyZ2luLXRvcCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsK
KyAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLWJvdHRvbTogIiArIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLWJvdHRvbSIpKTsK
KyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgicGFkZGlu
Zy1sZWZ0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9w
ZXJ0eVZhbHVlKCJwYWRkaW5nLWxlZnQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7
CisgICAgZG9jdW1lbnQud3JpdGUoImxlZnQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShm
b29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoImxlZnQiKSk7CisgICAgZG9jdW1lbnQud3Jp
dGUoICI8YnI+Iik7Cis8L3NjcmlwdD4KKworPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjI0N2RlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21w
dXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBA
CitUZXN0Cit3aWR0aDogMzkycHgKK2hlaWdodDogMjRweAorbWFyZ2luLWxlZnQ6IDMzJQorbWFy
Z2luLXJpZ2h0OiAwcHgKK21hcmdpbi10b3A6IDEwJQorbWFyZ2luLWJvdHRvbTogMHB4CitwYWRk
aW5nLWxlZnQ6IDBweAorbGVmdDogYXV0bworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRT
dHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjg5YmM4MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9n
ZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UuaHRtbApA
QCAtMCwwICsxLDUwIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorZGl2IHsgCisgICAgYmFj
a2dyb3VuZDogcHVycGxlOworICAgIGJvcmRlcjogMTBweCBkb3VibGUgIzAwMDAwMDsgCisgICAg
d2lkdGg6NTAlOworICAgIGhlaWdodDphdXRvOyAKKyAgICBtYXJnaW4tbGVmdDozMyU7IAorICAg
IG1hcmdpbi1yaWdodDphdXRvOworICAgIG1hcmdpbi10b3A6MTAlOworICAgIG1hcmdpbi1ib3R0
b206YXV0bzsKKyAgICBwYWRkaW5nLWxlZnQ6YXV0bzsKKyAgICBsZWZ0OiBhdXRvOworICAgIGNv
bG9yOiB3aGl0ZTsgCisgICAgZm9udDogMjRweCAnTHVjaWRhIEdyYW5kZSc7CisgICAgbGluZS1o
ZWlnaHQ6IDI0cHg7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorCis8Ym9keT4KKzxkaXYgaWQ9ImZv
byI+VGVzdDwvZGl2PgorCis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAg
IHZhciBmb29kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vJyk7CisgICAgZG9jdW1l
bnQud3JpdGUoIndpZHRoOiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxs
KS5nZXRQcm9wZXJ0eVZhbHVlKCJ3aWR0aCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4i
KTsKKyAgICBkb2N1bWVudC53cml0ZSgiaGVpZ2h0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJoZWlnaHQiKSk7CisgICAgZG9jdW1l
bnQud3JpdGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQud3JpdGUoIm1hcmdpbi1sZWZ0OiAiICsg
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJt
YXJnaW4tbGVmdCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVu
dC53cml0ZSgibWFyZ2luLXJpZ2h0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2
LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tcmlnaHQiKSk7CisgICAgZG9jdW1lbnQu
d3JpdGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQud3JpdGUoIm1hcmdpbi10b3A6ICIgKyB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdp
bi10b3AiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQud3Jp
dGUoIm1hcmdpbi1ib3R0b206ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51
bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1ib3R0b20iKSk7CisgICAgZG9jdW1lbnQud3Jp
dGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQud3JpdGUoInBhZGRpbmctbGVmdDogIiArIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgicGFkZGlu
Zy1sZWZ0IikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50Lndy
aXRlKCJsZWZ0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQ
cm9wZXJ0eVZhbHVlKCJsZWZ0IikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworPC9z
Y3JpcHQ+CisKKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHls
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxYzNiYzMuLjAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5D
b21wdXRlZFN0eWxlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAK
LVRlc3QKLXdpZHRoOiAzOTJweAotaGVpZ2h0OiAyOHB4Ci1tYXJnaW4tbGVmdDogMTg2cHgKLW1h
cmdpbi1yaWdodDogMTg2cHgKLW1hcmdpbi10b3A6IDBweAotbWFyZ2luLWJvdHRvbTogMHB4Ci1w
YWRkaW5nLWxlZnQ6IDBweAotbGVmdDogYXV0bwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHlsZS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZDRhN2JhLi4wMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHlsZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzdHls
ZT4KLWRpdiB7IAotICAgIGJhY2tncm91bmQ6IHB1cnBsZTsKLSAgICBib3JkZXI6IDEwcHggZG91
YmxlICMwMDAwMDA7IAotICAgIHdpZHRoOjUwJTsKLSAgICBoZWlnaHQ6YXV0bzsgCi0gICAgbWFy
Z2luLWxlZnQ6YXV0bzsgCi0gICAgbWFyZ2luLXJpZ2h0OmF1dG87Ci0gICAgbWFyZ2luLXRvcDph
dXRvOwotICAgIG1hcmdpbi1ib3R0b206YXV0bzsKLSAgICBwYWRkaW5nLWxlZnQ6YXV0bzsKLSAg
ICBsZWZ0OiBhdXRvOwotICAgIGNvbG9yOiB3aGl0ZTsgCi0gICAgZm9udDogMjRweCAnTHVjaWRh
IEdyYW5kZSc7Ci19Ci08L3N0eWxlPgotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYgaWQ9ImZvbyI+
VGVzdDwvZGl2PgotCi08c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotICAgIHZh
ciBmb29kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vJyk7Ci0gICAgZG9jdW1lbnQu
d3JpdGUoIndpZHRoOiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5n
ZXRQcm9wZXJ0eVZhbHVlKCJ3aWR0aCIpKTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsK
LSAgICBkb2N1bWVudC53cml0ZSgiaGVpZ2h0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUo
Zm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJoZWlnaHQiKSk7Ci0gICAgZG9jdW1lbnQu
d3JpdGUoICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUoIm1hcmdpbi1sZWZ0OiAiICsgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJn
aW4tbGVmdCIpKTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKLSAgICBkb2N1bWVudC53
cml0ZSgibWFyZ2luLXJpZ2h0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBu
dWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tcmlnaHQiKSk7Ci0gICAgZG9jdW1lbnQud3Jp
dGUoICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUoIm1hcmdpbi10b3A6ICIgKyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi10
b3AiKSk7Ci0gICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUo
Im1hcmdpbi1ib3R0b206ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwp
LmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1ib3R0b20iKSk7Ci0gICAgZG9jdW1lbnQud3JpdGUo
ICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUoInBhZGRpbmctbGVmdDogIiArIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgicGFkZGluZy1s
ZWZ0IikpOwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOwotICAgIGRvY3VtZW50LndyaXRl
KCJsZWZ0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9w
ZXJ0eVZhbHVlKCJsZWZ0IikpOwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOwotPC9zY3Jp
cHQ+Ci0KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDZiZjdlOWQuLjVlNmQwODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0wMi0wNCAgSmFycmVkIE5pY2hvbGxz
ICA8amFycmVkQHNlbmNoYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgZ2V0Q29tcHV0ZWRTdHlsZSByZXR1cm5zIHdyb25nIHZhbHVlIGZvciBt
YXJnaW4tcmlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMzQzCisgICAgICAgIAorICAgICAgICBNYXRjaGluZyBJRSwgRmlyZWZveCwgYW5kIE9w
ZXJhIGJlaGF2aW9yIGJ5IHJldHVybmluZyB0aGUgY29tcHV0ZWQgbWFyZ2luCisgICAgICAgIHZh
bHVlcyBhcyBzcGVjaWZpZWQsIHJhdGhlciB0aGFuIHRoZSB1c2VkL2F1dG8gdmFsdWVzIChjYWxj
dWxhdGVkIHZpYSBSZW5kZXJCb3gpLgorICAgICAgICBBbHNvIENTUyAyLjErIGNvbXBsaWFudCBi
eSByZXR1cm5pbmcgbWFyZ2luIHBlcmNlbnRhZ2UgYXMgc3BlY2lmaWVkLCBpZiBhcHBsaWNhYmxl
LgorICAgICAgICBOb3RlOiBGaXJlZm94IGFuZCBPcGVyYSByZXR1cm4gY2FsY3VsYXRlZCBmaXhl
ZCBsZW5ndGhzIGZvciBwZXJjZW50YWdlIG1hcmdpbnMsIElFCisgICAgICAgIHJldHVybnMgdGhl
IHNwZWNpZmllZCBwZXJjZW50YWdlLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2Nzcy9nZXRDb21w
dXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWF1dG8uaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1sZW5n
dGguaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21w
dXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKwogMjAxMS0wMi0wMiAgTGV2
aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
Unlvc3VrZSBOaXdhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcAppbmRleCA2NWFiZTNiLi44M2Q5NDFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMyw2ICsz
LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAw
OSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAo
QykgMjAwNyBOaWNob2xhcyBTaGFua3MgPHdlYmtpdEBuaWNrc2hhbmtzLmNvbT4KKyAqIENvcHly
aWdodCAoQykgMjAxMSBTZW5jaGEsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCkBAIC0xMTIxLDI2ICsxMTIyLDM0IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVy
CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+bGlz
dFN0eWxlUG9zaXRpb24oKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlMaXN0U3R5bGVUeXBl
OgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPmxp
c3RTdHlsZVR5cGUoKSk7Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5Ub3A6Ci0gICAg
ICAgICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVyZXItPmlzQm94KCkpCi0gICAgICAgICAgICAg
ICAgLy8gRklYTUU6IFN1cHBvc2VkIHRvIHJldHVybiB0aGUgcGVyY2VudGFnZSBpZiBwZXJjZW50
YWdlIHdhcyBzcGVjaWZpZWQuCi0gICAgICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBp
eGVsVmFsdWUodG9SZW5kZXJCb3gocmVuZGVyZXIpLT5tYXJnaW5Ub3AoKSwgc3R5bGUuZ2V0KCkp
OwotICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPm1h
cmdpblRvcCgpKTsKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdpblJpZ2h0OgotICAgICAg
ICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRlcmVyLT5pc0JveCgpKQotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBTdXBwb3NlZCB0byByZXR1cm4gdGhlIHBlcmNlbnRhZ2UgaWYgcGVyY2VudGFn
ZSB3YXMgc3BlY2lmaWVkLgotICAgICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhl
bFZhbHVlKHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+bWFyZ2luUmlnaHQoKSwgc3R5bGUuZ2V0KCkp
OwotICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPm1h
cmdpblJpZ2h0KCkpOwotICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFyZ2luQm90dG9tOgotICAg
ICAgICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRlcmVyLT5pc0JveCgpKQotICAgICAgICAgICAg
ICAgIC8vIEZJWE1FOiBTdXBwb3NlZCB0byByZXR1cm4gdGhlIHBlcmNlbnRhZ2UgaWYgcGVyY2Vu
dGFnZSB3YXMgc3BlY2lmaWVkLgotICAgICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQ
aXhlbFZhbHVlKHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+bWFyZ2luQm90dG9tKCksIHN0eWxlLmdl
dCgpKTsKLSAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxl
LT5tYXJnaW5Cb3R0b20oKSk7Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5MZWZ0Ogot
ICAgICAgICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRlcmVyLT5pc0JveCgpKQotICAgICAgICAg
ICAgICAgIC8vIEZJWE1FOiBTdXBwb3NlZCB0byByZXR1cm4gdGhlIHBlcmNlbnRhZ2UgaWYgcGVy
Y2VudGFnZSB3YXMgc3BlY2lmaWVkLgotICAgICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0
ZWRQaXhlbFZhbHVlKHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+bWFyZ2luTGVmdCgpLCBzdHlsZS5n
ZXQoKSk7Ci0gICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHls
ZS0+bWFyZ2luTGVmdCgpKTsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdpblRvcDogewor
ICAgICAgICAgICAgTGVuZ3RoIG1hcmdpblRvcCA9IHN0eWxlLT5tYXJnaW5Ub3AoKTsKKyAgICAg
ICAgICAgIGlmIChtYXJnaW5Ub3AuaXNQZXJjZW50KCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobWFyZ2luVG9wKTsKKworICAgICAgICAgICAgcmV0
dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWFyZ2luVG9wLnZhbHVlKCksIHN0eWxlLmdldCgp
KTsKKyAgICAgICAgfQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFyZ2luUmlnaHQ6IHsKKyAg
ICAgICAgICAgIExlbmd0aCBtYXJnaW5SaWdodCA9IHN0eWxlLT5tYXJnaW5SaWdodCgpOworICAg
ICAgICAgICAgaWYgKG1hcmdpblJpZ2h0LmlzUGVyY2VudCgpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1hcmdpblJpZ2h0KTsKKworICAgICAgICAg
ICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWFyZ2luUmlnaHQudmFsdWUoKSwgc3R5
bGUuZ2V0KCkpOworICAgICAgICB9CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5Cb3R0
b206IHsKKyAgICAgICAgICAgIExlbmd0aCBtYXJnaW5Cb3R0b20gPSBzdHlsZS0+bWFyZ2luQm90
dG9tKCk7CisgICAgICAgICAgICBpZiAobWFyZ2luQm90dG9tLmlzUGVyY2VudCgpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1hcmdpbkJvdHRvbSk7
CisKKyAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKG1hcmdpbkJvdHRv
bS52YWx1ZSgpLCBzdHlsZS5nZXQoKSk7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eU1hcmdpbkxlZnQ6IHsKKyAgICAgICAgICAgIExlbmd0aCBtYXJnaW5MZWZ0ID0gc3R5bGUt
Pm1hcmdpbkxlZnQoKTsKKyAgICAgICAgICAgIGlmIChtYXJnaW5MZWZ0LmlzUGVyY2VudCgpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1hcmdpbkxl
ZnQpOworCisgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZShtYXJnaW5M
ZWZ0LnZhbHVlKCksIHN0eWxlLmdldCgpKTsKKyAgICAgICAgfQogICAgICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0TWFycXVlZURpcmVjdGlvbjoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmlt
aXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5tYXJxdWVlRGlyZWN0aW9uKCkpOwogICAgICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZUluY3JlbWVudDoK
</data>
<flag name="review"
          id="72775"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81220</attachid>
            <date>2011-02-04 08:21:46 -0800</date>
            <delta_ts>2011-02-10 10:28:01 -0800</delta_ts>
            <desc>CSS3 Version</desc>
            <filename>getComputedStyle-margin-css3.patch</filename>
            <type>text/plain</type>
            <size>15445</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNTAzMWM1Li44N2QxMWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDIt
MDQgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGdldENvbXB1dGVkU3R5bGUgcmV0dXJu
cyB3cm9uZyB2YWx1ZSBmb3IgbWFyZ2luLXJpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0MworICAgICAgICAKKyAgICAgICAgTWF0Y2hpbmcg
SUUsIEZpcmVmb3gsIGFuZCBPcGVyYSBiZWhhdmlvciBieSByZXR1cm5pbmcgdGhlIGNvbXB1dGVk
IG1hcmdpbgorICAgICAgICB2YWx1ZXMgYXMgc3BlY2lmaWVkLCByYXRoZXIgdGhhbiB0aGUgdXNl
ZC9hdXRvIHZhbHVlcyAoY2FsY3VsYXRlZCB2aWEgUmVuZGVyQm94KS4KKyAgICAgICAgQWxzbyBD
U1MgMi4xKyBjb21wbGlhbnQgYnkgcmV0dXJuaW5nIG1hcmdpbiBwZXJjZW50YWdlIGFzIHNwZWNp
ZmllZCwgaWYgYXBwbGljYWJsZS4KKyAgICAgICAgTm90ZTogRmlyZWZveCBhbmQgT3BlcmEgcmV0
dXJuIGNhbGN1bGF0ZWQgZml4ZWQgbGVuZ3RocyBmb3IgcGVyY2VudGFnZSBtYXJnaW5zLCBJRQor
ICAgICAgICByZXR1cm5zIHRoZSBzcGVjaWZpZWQgcGVyY2VudGFnZS4KKworICAgICAgICAqIGZh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1
dGVkU3R5bGUuaHRtbC4KKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3Ro
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
bWFyZ2luQ29tcHV0ZWRTdHlsZS5odG1sLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHls
ZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLmh0bWwuCisKIDIwMTEtMDIt
MDIgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFJ5b3N1a2UgTml3YS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dl
dENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLWF1dG8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjYzMDlhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRD
b21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWF1dG8tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAgQEAKK1Rlc3QKK3dpZHRoOiAzOTJweAoraGVpZ2h0OiAyNHB4CittYXJnaW4t
bGVmdDogYXV0bworbWFyZ2luLXJpZ2h0OiBhdXRvCittYXJnaW4tdG9wOiBhdXRvCittYXJnaW4t
Ym90dG9tOiBhdXRvCitwYWRkaW5nLWxlZnQ6IDBweAorbGVmdDogYXV0bworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLWF1dG8uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
Z2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjc4MDUyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWF1dG8uaHRtbApA
QCAtMCwwICsxLDUwIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorZGl2IHsgCisgICAgYmFj
a2dyb3VuZDogcHVycGxlOworICAgIGJvcmRlcjogMTBweCBkb3VibGUgIzAwMDAwMDsgCisgICAg
d2lkdGg6NTAlOworICAgIGhlaWdodDphdXRvOyAKKyAgICBtYXJnaW4tbGVmdDphdXRvOyAKKyAg
ICBtYXJnaW4tcmlnaHQ6YXV0bzsKKyAgICBtYXJnaW4tdG9wOmF1dG87CisgICAgbWFyZ2luLWJv
dHRvbTphdXRvOworICAgIHBhZGRpbmctbGVmdDphdXRvOworICAgIGxlZnQ6IGF1dG87CisgICAg
Y29sb3I6IHdoaXRlOyAKKyAgICBmb250OiAyNHB4ICdMdWNpZGEgR3JhbmRlJzsKKyAgICBsaW5l
LWhlaWdodDogMjRweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorPGRpdiBpZD0i
Zm9vIj5UZXN0PC9kaXY+CisKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisg
ICAgdmFyIGZvb2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb28nKTsKKyAgICBkb2N1
bWVudC53cml0ZSgid2lkdGg6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51
bGwpLmdldFByb3BlcnR5VmFsdWUoIndpZHRoIikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJy
PiIpOworICAgIGRvY3VtZW50LndyaXRlKCJoZWlnaHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoImhlaWdodCIpKTsKKyAgICBkb2N1
bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLWxlZnQ6ICIg
KyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUo
Im1hcmdpbi1sZWZ0IikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3Vt
ZW50LndyaXRlKCJtYXJnaW4tcmlnaHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29k
aXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1yaWdodCIpKTsKKyAgICBkb2N1bWVu
dC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLXRvcDogIiArIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFy
Z2luLXRvcCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53
cml0ZSgibWFyZ2luLWJvdHRvbTogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2Rpdiwg
bnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLWJvdHRvbSIpKTsKKyAgICBkb2N1bWVudC53
cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgicGFkZGluZy1sZWZ0OiAiICsgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJwYWRk
aW5nLWxlZnQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQu
d3JpdGUoImxlZnQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdl
dFByb3BlcnR5VmFsdWUoImxlZnQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Cis8
L3NjcmlwdD4KKworPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNTQwOGMzYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3Ro
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0Cit3aWR0aDogMzkycHgKK2hlaWdo
dDogMjRweAorbWFyZ2luLWxlZnQ6IDVweAorbWFyZ2luLXJpZ2h0OiAxNXB4CittYXJnaW4tdG9w
OiAwcHgKK21hcmdpbi1ib3R0b206IDEwcHgKK3BhZGRpbmctbGVmdDogMHB4CitsZWZ0OiBhdXRv
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0
Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9n
ZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyN2RkNDkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLWxlbmd0aC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5
bGU+CitkaXYgeyAKKyAgICBiYWNrZ3JvdW5kOiBwdXJwbGU7CisgICAgYm9yZGVyOiAxMHB4IGRv
dWJsZSAjMDAwMDAwOyAKKyAgICB3aWR0aDo1MCU7CisgICAgaGVpZ2h0OmF1dG87IAorICAgIG1h
cmdpbi1sZWZ0OjVweDsgCisgICAgbWFyZ2luLXJpZ2h0OjE1cHg7CisgICAgbWFyZ2luLWJvdHRv
bToxMHB4OworICAgIHBhZGRpbmctbGVmdDphdXRvOworICAgIGxlZnQ6IGF1dG87CisgICAgY29s
b3I6IHdoaXRlOyAKKyAgICBmb250OiAyNHB4ICdMdWNpZGEgR3JhbmRlJzsKKyAgICBsaW5lLWhl
aWdodDogMjRweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorPGRpdiBpZD0iZm9v
Ij5UZXN0PC9kaXY+CisKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAg
dmFyIGZvb2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb28nKTsKKyAgICBkb2N1bWVu
dC53cml0ZSgid2lkdGg6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwp
LmdldFByb3BlcnR5VmFsdWUoIndpZHRoIikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIp
OworICAgIGRvY3VtZW50LndyaXRlKCJoZWlnaHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoImhlaWdodCIpKTsKKyAgICBkb2N1bWVu
dC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLWxlZnQ6ICIgKyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1h
cmdpbi1sZWZ0IikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50
LndyaXRlKCJtYXJnaW4tcmlnaHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYs
IG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1yaWdodCIpKTsKKyAgICBkb2N1bWVudC53
cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLXRvcDogIiArIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2lu
LXRvcCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0
ZSgibWFyZ2luLWJvdHRvbTogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVs
bCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLWJvdHRvbSIpKTsKKyAgICBkb2N1bWVudC53cml0
ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgicGFkZGluZy1sZWZ0OiAiICsgd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJwYWRkaW5n
LWxlZnQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQud3Jp
dGUoImxlZnQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFBy
b3BlcnR5VmFsdWUoImxlZnQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Cis8L3Nj
cmlwdD4KKworPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjI0N2RlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1w
ZXJjZW50YWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0Cit3aWR0aDogMzky
cHgKK2hlaWdodDogMjRweAorbWFyZ2luLWxlZnQ6IDMzJQorbWFyZ2luLXJpZ2h0OiAwcHgKK21h
cmdpbi10b3A6IDEwJQorbWFyZ2luLWJvdHRvbTogMHB4CitwYWRkaW5nLWxlZnQ6IDBweAorbGVm
dDogYXV0bworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2Vu
dGFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzNTFjMTgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dl
dENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8
aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorZGl2IHsgCisgICAgYmFja2dyb3VuZDogcHVycGxlOwor
ICAgIGJvcmRlcjogMTBweCBkb3VibGUgIzAwMDAwMDsgCisgICAgd2lkdGg6NTAlOworICAgIGhl
aWdodDphdXRvOyAKKyAgICBtYXJnaW4tbGVmdDozMyU7CisgICAgbWFyZ2luLXRvcDoxMCU7Cisg
ICAgcGFkZGluZy1sZWZ0OmF1dG87CisgICAgbGVmdDogYXV0bzsKKyAgICBjb2xvcjogd2hpdGU7
IAorICAgIGZvbnQ6IDI0cHggJ0x1Y2lkYSBHcmFuZGUnOworICAgIGxpbmUtaGVpZ2h0OiAyNHB4
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8ZGl2IGlkPSJmb28iPlRlc3Q8L2Rp
dj4KKworPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgZm9vZGl2
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOworICAgIGRvY3VtZW50LndyaXRlKCJ3
aWR0aDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVy
dHlWYWx1ZSgid2lkdGgiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7CisgICAgZG9j
dW1lbnQud3JpdGUoImhlaWdodDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2Rpdiwg
bnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiaGVpZ2h0IikpOworICAgIGRvY3VtZW50LndyaXRlKCAi
PGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tbGVmdDogIiArIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLWxlZnQi
KSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQud3JpdGUoIm1h
cmdpbi1yaWdodDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0
UHJvcGVydHlWYWx1ZSgibWFyZ2luLXJpZ2h0IikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJy
PiIpOworICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tdG9wOiAiICsgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tdG9wIikpOwor
ICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4t
Ym90dG9tOiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9w
ZXJ0eVZhbHVlKCJtYXJnaW4tYm90dG9tIikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIp
OworICAgIGRvY3VtZW50LndyaXRlKCJwYWRkaW5nLWxlZnQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoInBhZGRpbmctbGVmdCIpKTsK
KyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibGVmdDog
IiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1
ZSgibGVmdCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKzwvc2NyaXB0PgorCis8
L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMWMzYmMzLi4wMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHls
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0Ci13aWR0
aDogMzkycHgKLWhlaWdodDogMjhweAotbWFyZ2luLWxlZnQ6IDE4NnB4Ci1tYXJnaW4tcmlnaHQ6
IDE4NnB4Ci1tYXJnaW4tdG9wOiAwcHgKLW1hcmdpbi1ib3R0b206IDBweAotcGFkZGluZy1sZWZ0
OiAwcHgKLWxlZnQ6IGF1dG8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZmQ0YTdiYS4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c3R5bGU+Ci1kaXYgeyAK
LSAgICBiYWNrZ3JvdW5kOiBwdXJwbGU7Ci0gICAgYm9yZGVyOiAxMHB4IGRvdWJsZSAjMDAwMDAw
OyAKLSAgICB3aWR0aDo1MCU7Ci0gICAgaGVpZ2h0OmF1dG87IAotICAgIG1hcmdpbi1sZWZ0OmF1
dG87IAotICAgIG1hcmdpbi1yaWdodDphdXRvOwotICAgIG1hcmdpbi10b3A6YXV0bzsKLSAgICBt
YXJnaW4tYm90dG9tOmF1dG87Ci0gICAgcGFkZGluZy1sZWZ0OmF1dG87Ci0gICAgbGVmdDogYXV0
bzsKLSAgICBjb2xvcjogd2hpdGU7IAotICAgIGZvbnQ6IDI0cHggJ0x1Y2lkYSBHcmFuZGUnOwot
fQotPC9zdHlsZT4KLTwvaGVhZD4KLQotPGJvZHk+Ci08ZGl2IGlkPSJmb28iPlRlc3Q8L2Rpdj4K
LQotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0KLSAgICB2YXIgZm9vZGl2ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOwotICAgIGRvY3VtZW50LndyaXRlKCJ3aWR0
aDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlW
YWx1ZSgid2lkdGgiKSk7Ci0gICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Ci0gICAgZG9jdW1l
bnQud3JpdGUoImhlaWdodDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVs
bCkuZ2V0UHJvcGVydHlWYWx1ZSgiaGVpZ2h0IikpOwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJy
PiIpOwotICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tbGVmdDogIiArIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLWxlZnQiKSk7
Ci0gICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUoIm1hcmdp
bi1yaWdodDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJv
cGVydHlWYWx1ZSgibWFyZ2luLXJpZ2h0IikpOwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIp
OwotICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tdG9wOiAiICsgd2luZG93LmdldENvbXB1dGVk
U3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tdG9wIikpOwotICAg
IGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOwotICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tYm90
dG9tOiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0
eVZhbHVlKCJtYXJnaW4tYm90dG9tIikpOwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOwot
ICAgIGRvY3VtZW50LndyaXRlKCJwYWRkaW5nLWxlZnQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoInBhZGRpbmctbGVmdCIpKTsKLSAg
ICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKLSAgICBkb2N1bWVudC53cml0ZSgibGVmdDogIiAr
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgi
bGVmdCIpKTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKLTwvc2NyaXB0PgotCi08L2Jv
ZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2YmY3ZTlkLi41ZTZkMDg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDItMDQgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBz
ZW5jaGEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGdldENvbXB1dGVkU3R5bGUgcmV0dXJucyB3cm9uZyB2YWx1ZSBmb3IgbWFyZ2luLXJpZ2h0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0Mwor
ICAgICAgICAKKyAgICAgICAgTWF0Y2hpbmcgSUUsIEZpcmVmb3gsIGFuZCBPcGVyYSBiZWhhdmlv
ciBieSByZXR1cm5pbmcgdGhlIGNvbXB1dGVkIG1hcmdpbgorICAgICAgICB2YWx1ZXMgYXMgc3Bl
Y2lmaWVkLCByYXRoZXIgdGhhbiB0aGUgdXNlZC9hdXRvIHZhbHVlcyAoY2FsY3VsYXRlZCB2aWEg
UmVuZGVyQm94KS4KKyAgICAgICAgQWxzbyBDU1MgMi4xKyBjb21wbGlhbnQgYnkgcmV0dXJuaW5n
IG1hcmdpbiBwZXJjZW50YWdlIGFzIHNwZWNpZmllZCwgaWYgYXBwbGljYWJsZS4KKyAgICAgICAg
Tm90ZTogRmlyZWZveCBhbmQgT3BlcmEgcmV0dXJuIGNhbGN1bGF0ZWQgZml4ZWQgbGVuZ3RocyBm
b3IgcGVyY2VudGFnZSBtYXJnaW5zLCBJRQorICAgICAgICByZXR1cm5zIHRoZSBzcGVjaWZpZWQg
cGVyY2VudGFnZS4KKworICAgICAgICBUZXN0czogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9n
ZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1hdXRvLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3RoLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1t
YXJnaW4tcGVyY2VudGFnZS5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisKIDIwMTEtMDItMDIgIExldmkgV2VpbnRyYXVi
ICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3
YS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggNjVhYmUzYi4uNTRmZjU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTMsNiArMyw3IEBACiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhl
eSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgTmlj
aG9sYXMgU2hhbmtzIDx3ZWJraXRAbmlja3NoYW5rcy5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgU2VuY2hhLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpA
QCAtMTEyMiwyNSArMTEyMywxMyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAgICBj
YXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlVHlwZToKICAgICAgICAgICAgIHJldHVybiBDU1NQcmlt
aXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5saXN0U3R5bGVUeXBlKCkpOwogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5TWFyZ2luVG9wOgotICAgICAgICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRl
cmVyLT5pc0JveCgpKQotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTdXBwb3NlZCB0byByZXR1
cm4gdGhlIHBlcmNlbnRhZ2UgaWYgcGVyY2VudGFnZSB3YXMgc3BlY2lmaWVkLgotICAgICAgICAg
ICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHRvUmVuZGVyQm94KHJlbmRlcmVy
KS0+bWFyZ2luVG9wKCksIHN0eWxlLmdldCgpKTsKLSAgICAgICAgICAgIHJldHVybiBDU1NQcmlt
aXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5tYXJnaW5Ub3AoKSk7CisgICAgICAgICAgICByZXR1
cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZUZvckxlbmd0aChzdHlsZS0+bWFyZ2luVG9wKCksIHN0
eWxlLmdldCgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdpblJpZ2h0OgotICAgICAg
ICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRlcmVyLT5pc0JveCgpKQotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBTdXBwb3NlZCB0byByZXR1cm4gdGhlIHBlcmNlbnRhZ2UgaWYgcGVyY2VudGFn
ZSB3YXMgc3BlY2lmaWVkLgotICAgICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhl
bFZhbHVlKHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+bWFyZ2luUmlnaHQoKSwgc3R5bGUuZ2V0KCkp
OwotICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPm1h
cmdpblJpZ2h0KCkpOworICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWVG
b3JMZW5ndGgoc3R5bGUtPm1hcmdpblJpZ2h0KCksIHN0eWxlLmdldCgpKTsKICAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU1hcmdpbkJvdHRvbToKLSAgICAgICAgICAgIGlmIChyZW5kZXJlciAmJiBy
ZW5kZXJlci0+aXNCb3goKSkKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogU3VwcG9zZWQgdG8g
cmV0dXJuIHRoZSBwZXJjZW50YWdlIGlmIHBlcmNlbnRhZ2Ugd2FzIHNwZWNpZmllZC4KLSAgICAg
ICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh0b1JlbmRlckJveChyZW5k
ZXJlciktPm1hcmdpbkJvdHRvbSgpLCBzdHlsZS5nZXQoKSk7Ci0gICAgICAgICAgICByZXR1cm4g
Q1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+bWFyZ2luQm90dG9tKCkpOworICAgICAg
ICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWVGb3JMZW5ndGgoc3R5bGUtPm1hcmdp
bkJvdHRvbSgpLCBzdHlsZS5nZXQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5M
ZWZ0OgotICAgICAgICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRlcmVyLT5pc0JveCgpKQotICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBTdXBwb3NlZCB0byByZXR1cm4gdGhlIHBlcmNlbnRhZ2Ug
aWYgcGVyY2VudGFnZSB3YXMgc3BlY2lmaWVkLgotICAgICAgICAgICAgICAgIHJldHVybiB6b29t
QWRqdXN0ZWRQaXhlbFZhbHVlKHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+bWFyZ2luTGVmdCgpLCBz
dHlsZS5nZXQoKSk7Ci0gICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0
ZShzdHlsZS0+bWFyZ2luTGVmdCgpKTsKKyAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQ
aXhlbFZhbHVlRm9yTGVuZ3RoKHN0eWxlLT5tYXJnaW5MZWZ0KCksIHN0eWxlLmdldCgpKTsKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVEaXJlY3Rpb246CiAgICAgICAgICAg
ICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+bWFycXVlZURpcmVjdGlv
bigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVJbmNyZW1lbnQ6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82023</attachid>
            <date>2011-02-10 12:21:43 -0800</date>
            <delta_ts>2011-02-11 12:52:49 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>getComputedStyle-margin.patch</filename>
            <type>text/plain</type>
            <size>16376</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MGE3MmMxLi41N2MxMzBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDIt
MTAgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGdldENvbXB1dGVkU3R5bGUgcmV0dXJu
cyB3cm9uZyB2YWx1ZSBmb3IgbWFyZ2luLXJpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0MworICAgICAgICAKKyAgICAgICAgTWF0Y2hpbmcg
SUUsIEZpcmVmb3gsIGFuZCBPcGVyYSBiZWhhdmlvciBieSByZXR1cm5pbmcgdGhlIGNvbXB1dGVk
IG1hcmdpbgorICAgICAgICB2YWx1ZXMgYXMgc3BlY2lmaWVkLCByYXRoZXIgdGhhbiB0aGUgdXNl
ZC9hdXRvIHZhbHVlcyAoY2FsY3VsYXRlZCB2aWEgUmVuZGVyQm94KS4KKyAgICAgICAgQWxzbyBD
U1MgMi4xKyBjb21wbGlhbnQgYnkgcmV0dXJuaW5nIG1hcmdpbiBwZXJjZW50YWdlIGFzIHNwZWNp
ZmllZCwgaWYgYXBwbGljYWJsZS4KKyAgICAgICAgTm90ZTogRmlyZWZveCBhbmQgT3BlcmEgcmV0
dXJuIGNhbGN1bGF0ZWQgZml4ZWQgbGVuZ3RocyBmb3IgcGVyY2VudGFnZSBtYXJnaW5zLCBJRQor
ICAgICAgICByZXR1cm5zIHRoZSBzcGVjaWZpZWQgcGVyY2VudGFnZS4KKworICAgICAgICAqIGZh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1
dGVkU3R5bGUuaHRtbC4KKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3Ro
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
bWFyZ2luQ29tcHV0ZWRTdHlsZS5odG1sLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHls
ZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLmh0bWwuCisKIDIwMTEtMDIt
MTAgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
ZWJhc2VsaW5lLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRT
dHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1hdXRvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0
by1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNhNzli
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5
bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MCBAQAorVGVzdAord2lkdGg6IDM5MnB4CitoZWlnaHQ6IDI0cHgKK21hcmdpbi1sZWZ0OiAwcHgK
K21hcmdpbi1yaWdodDogMHB4CittYXJnaW4tdG9wOiAwcHgKK21hcmdpbi1ib3R0b206IDBweAor
cGFkZGluZy1sZWZ0OiAwcHgKK2xlZnQ6IGF1dG8KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1hdXRvLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5
bGUtbWFyZ2luLWF1dG8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43
ODA1MjcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0
ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1hdXRvLmh0bWwKQEAgLTAsMCArMSw1MCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK2RpdiB7IAorICAgIGJhY2tncm91bmQ6IHB1cnBs
ZTsKKyAgICBib3JkZXI6IDEwcHggZG91YmxlICMwMDAwMDA7IAorICAgIHdpZHRoOjUwJTsKKyAg
ICBoZWlnaHQ6YXV0bzsgCisgICAgbWFyZ2luLWxlZnQ6YXV0bzsgCisgICAgbWFyZ2luLXJpZ2h0
OmF1dG87CisgICAgbWFyZ2luLXRvcDphdXRvOworICAgIG1hcmdpbi1ib3R0b206YXV0bzsKKyAg
ICBwYWRkaW5nLWxlZnQ6YXV0bzsKKyAgICBsZWZ0OiBhdXRvOworICAgIGNvbG9yOiB3aGl0ZTsg
CisgICAgZm9udDogMjRweCAnTHVjaWRhIEdyYW5kZSc7CisgICAgbGluZS1oZWlnaHQ6IDI0cHg7
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorCis8Ym9keT4KKzxkaXYgaWQ9ImZvbyI+VGVzdDwvZGl2
PgorCis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHZhciBmb29kaXYg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vJyk7CisgICAgZG9jdW1lbnQud3JpdGUoIndp
ZHRoOiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0
eVZhbHVlKCJ3aWR0aCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1
bWVudC53cml0ZSgiaGVpZ2h0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBu
dWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJoZWlnaHQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8
YnI+Iik7CisgICAgZG9jdW1lbnQud3JpdGUoIm1hcmdpbi1sZWZ0OiAiICsgd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tbGVmdCIp
KTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibWFy
Z2luLXJpZ2h0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQ
cm9wZXJ0eVZhbHVlKCJtYXJnaW4tcmlnaHQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+
Iik7CisgICAgZG9jdW1lbnQud3JpdGUoIm1hcmdpbi10b3A6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi10b3AiKSk7Cisg
ICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQud3JpdGUoIm1hcmdpbi1i
b3R0b206ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3Bl
cnR5VmFsdWUoIm1hcmdpbi1ib3R0b20iKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7
CisgICAgZG9jdW1lbnQud3JpdGUoInBhZGRpbmctbGVmdDogIiArIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgicGFkZGluZy1sZWZ0IikpOwor
ICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJsZWZ0OiAi
ICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVl
KCJsZWZ0IikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworPC9zY3JpcHQ+CisKKzwv
Ym9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29t
cHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1sZW5ndGgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1h
cmdpbi1sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjU0MDhjM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRD
b21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMCBAQAorVGVzdAord2lkdGg6IDM5MnB4CitoZWlnaHQ6IDI0cHgKK21hcmdp
bi1sZWZ0OiA1cHgKK21hcmdpbi1yaWdodDogMTVweAorbWFyZ2luLXRvcDogMHB4CittYXJnaW4t
Ym90dG9tOiAxMHB4CitwYWRkaW5nLWxlZnQ6IDBweAorbGVmdDogYXV0bworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLWxlbmd0aC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHls
ZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1sZW5ndGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi44MmVhMjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1sZW5ndGgu
aHRtbApAQCAtMCwwICsxLDUwIEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorZGl2IHsgCisg
ICAgYmFja2dyb3VuZDogcHVycGxlOworICAgIGJvcmRlcjogMTBweCBkb3VibGUgIzAwMDAwMDsg
CisgICAgd2lkdGg6NTAlOworICAgIGhlaWdodDphdXRvOyAKKyAgICBtYXJnaW4tbGVmdDo1cHg7
IAorICAgIG1hcmdpbi1yaWdodDoxNXB4OworICAgIG1hcmdpbi10b3A6YXV0bzsKKyAgICBtYXJn
aW4tYm90dG9tOjEwcHg7CisgICAgcGFkZGluZy1sZWZ0OmF1dG87CisgICAgbGVmdDogYXV0bzsK
KyAgICBjb2xvcjogd2hpdGU7IAorICAgIGZvbnQ6IDI0cHggJ0x1Y2lkYSBHcmFuZGUnOworICAg
IGxpbmUtaGVpZ2h0OiAyNHB4OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8ZGl2
IGlkPSJmb28iPlRlc3Q8L2Rpdj4KKworPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisKKyAgICB2YXIgZm9vZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOworICAg
IGRvY3VtZW50LndyaXRlKCJ3aWR0aDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2Rp
diwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgid2lkdGgiKSk7CisgICAgZG9jdW1lbnQud3JpdGUo
ICI8YnI+Iik7CisgICAgZG9jdW1lbnQud3JpdGUoImhlaWdodDogIiArIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiaGVpZ2h0IikpOworICAg
IGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tbGVm
dDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlW
YWx1ZSgibWFyZ2luLWxlZnQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7CisgICAg
ZG9jdW1lbnQud3JpdGUoIm1hcmdpbi1yaWdodDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLXJpZ2h0IikpOworICAgIGRv
Y3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tdG9wOiAi
ICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVl
KCJtYXJnaW4tdG9wIikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3Vt
ZW50LndyaXRlKCJtYXJnaW4tYm90dG9tOiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9v
ZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tYm90dG9tIikpOworICAgIGRvY3Vt
ZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJwYWRkaW5nLWxlZnQ6ICIg
KyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUo
InBhZGRpbmctbGVmdCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1
bWVudC53cml0ZSgibGVmdDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVs
bCkuZ2V0UHJvcGVydHlWYWx1ZSgibGVmdCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4i
KTsKKzwvc2NyaXB0PgorCis8L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVy
Y2VudGFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMjQ3ZGUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QKK3dp
ZHRoOiAzOTJweAoraGVpZ2h0OiAyNHB4CittYXJnaW4tbGVmdDogMzMlCittYXJnaW4tcmlnaHQ6
IDBweAorbWFyZ2luLXRvcDogMTAlCittYXJnaW4tYm90dG9tOiAwcHgKK3BhZGRpbmctbGVmdDog
MHB4CitsZWZ0OiBhdXRvCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdp
bi1wZXJjZW50YWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODli
YzgxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CitkaXYgeyAKKyAgICBiYWNrZ3JvdW5kOiBw
dXJwbGU7CisgICAgYm9yZGVyOiAxMHB4IGRvdWJsZSAjMDAwMDAwOyAKKyAgICB3aWR0aDo1MCU7
CisgICAgaGVpZ2h0OmF1dG87IAorICAgIG1hcmdpbi1sZWZ0OjMzJTsgCisgICAgbWFyZ2luLXJp
Z2h0OmF1dG87CisgICAgbWFyZ2luLXRvcDoxMCU7CisgICAgbWFyZ2luLWJvdHRvbTphdXRvOwor
ICAgIHBhZGRpbmctbGVmdDphdXRvOworICAgIGxlZnQ6IGF1dG87CisgICAgY29sb3I6IHdoaXRl
OyAKKyAgICBmb250OiAyNHB4ICdMdWNpZGEgR3JhbmRlJzsKKyAgICBsaW5lLWhlaWdodDogMjRw
eDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorPGRpdiBpZD0iZm9vIj5UZXN0PC9k
aXY+CisKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgdmFyIGZvb2Rp
diA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb28nKTsKKyAgICBkb2N1bWVudC53cml0ZSgi
d2lkdGg6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3Bl
cnR5VmFsdWUoIndpZHRoIikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRv
Y3VtZW50LndyaXRlKCJoZWlnaHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYs
IG51bGwpLmdldFByb3BlcnR5VmFsdWUoImhlaWdodCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSgg
Ijxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLWxlZnQ6ICIgKyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1sZWZ0
IikpOworICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOworICAgIGRvY3VtZW50LndyaXRlKCJt
YXJnaW4tcmlnaHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdl
dFByb3BlcnR5VmFsdWUoIm1hcmdpbi1yaWdodCIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxi
cj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLXRvcDogIiArIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLXRvcCIpKTsK
KyAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKKyAgICBkb2N1bWVudC53cml0ZSgibWFyZ2lu
LWJvdHRvbTogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJv
cGVydHlWYWx1ZSgibWFyZ2luLWJvdHRvbSIpKTsKKyAgICBkb2N1bWVudC53cml0ZSggIjxicj4i
KTsKKyAgICBkb2N1bWVudC53cml0ZSgicGFkZGluZy1sZWZ0OiAiICsgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJwYWRkaW5nLWxlZnQiKSk7
CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7CisgICAgZG9jdW1lbnQud3JpdGUoImxlZnQ6
ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFs
dWUoImxlZnQiKSk7CisgICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Cis8L3NjcmlwdD4KKwor
PC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRD
b21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjFjM2JjMy4uMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5
bGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdAotd2lk
dGg6IDM5MnB4Ci1oZWlnaHQ6IDI4cHgKLW1hcmdpbi1sZWZ0OiAxODZweAotbWFyZ2luLXJpZ2h0
OiAxODZweAotbWFyZ2luLXRvcDogMHB4Ci1tYXJnaW4tYm90dG9tOiAwcHgKLXBhZGRpbmctbGVm
dDogMHB4Ci1sZWZ0OiBhdXRvCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dl
dENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkNGE3YmEuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotZGl2IHsg
Ci0gICAgYmFja2dyb3VuZDogcHVycGxlOwotICAgIGJvcmRlcjogMTBweCBkb3VibGUgIzAwMDAw
MDsgCi0gICAgd2lkdGg6NTAlOwotICAgIGhlaWdodDphdXRvOyAKLSAgICBtYXJnaW4tbGVmdDph
dXRvOyAKLSAgICBtYXJnaW4tcmlnaHQ6YXV0bzsKLSAgICBtYXJnaW4tdG9wOmF1dG87Ci0gICAg
bWFyZ2luLWJvdHRvbTphdXRvOwotICAgIHBhZGRpbmctbGVmdDphdXRvOwotICAgIGxlZnQ6IGF1
dG87Ci0gICAgY29sb3I6IHdoaXRlOyAKLSAgICBmb250OiAyNHB4ICdMdWNpZGEgR3JhbmRlJzsK
LX0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci0KLTxib2R5PgotPGRpdiBpZD0iZm9vIj5UZXN0PC9kaXY+
Ci0KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi0gICAgdmFyIGZvb2RpdiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb28nKTsKLSAgICBkb2N1bWVudC53cml0ZSgid2lk
dGg6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5
VmFsdWUoIndpZHRoIikpOwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOwotICAgIGRvY3Vt
ZW50LndyaXRlKCJoZWlnaHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51
bGwpLmdldFByb3BlcnR5VmFsdWUoImhlaWdodCIpKTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxi
cj4iKTsKLSAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLWxlZnQ6ICIgKyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1sZWZ0Iikp
OwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOwotICAgIGRvY3VtZW50LndyaXRlKCJtYXJn
aW4tcmlnaHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFBy
b3BlcnR5VmFsdWUoIm1hcmdpbi1yaWdodCIpKTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxicj4i
KTsKLSAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLXRvcDogIiArIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLXRvcCIpKTsKLSAg
ICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKLSAgICBkb2N1bWVudC53cml0ZSgibWFyZ2luLWJv
dHRvbTogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVy
dHlWYWx1ZSgibWFyZ2luLWJvdHRvbSIpKTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsK
LSAgICBkb2N1bWVudC53cml0ZSgicGFkZGluZy1sZWZ0OiAiICsgd2luZG93LmdldENvbXB1dGVk
U3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJwYWRkaW5nLWxlZnQiKSk7Ci0g
ICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUoImxlZnQ6ICIg
KyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUo
ImxlZnQiKSk7Ci0gICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Ci08L3NjcmlwdD4KLQotPC9i
b2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWUxNzkzOC4uMmI2NDVhMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTAyLTEwICBKYXJyZWQgTmljaG9sbHMgIDxqYXJyZWRA
c2VuY2hhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBnZXRDb21wdXRlZFN0eWxlIHJldHVybnMgd3JvbmcgdmFsdWUgZm9yIG1hcmdpbi1yaWdo
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzNDMK
KyAgICAgICAgCisgICAgICAgIE1hdGNoaW5nIElFLCBGaXJlZm94LCBhbmQgT3BlcmEgYmVoYXZp
b3IgYnkgcmV0dXJuaW5nIHRoZSBjb21wdXRlZCBtYXJnaW4KKyAgICAgICAgdmFsdWVzIGFzIHNw
ZWNpZmllZCwgcmF0aGVyIHRoYW4gdGhlIHVzZWQvYXV0byB2YWx1ZXMgKGNhbGN1bGF0ZWQgdmlh
IFJlbmRlckJveCkuCisgICAgICAgIEFsc28gQ1NTIDIuMSsgY29tcGxpYW50IGJ5IHJldHVybmlu
ZyBtYXJnaW4gcGVyY2VudGFnZSBhcyBzcGVjaWZpZWQsIGlmIGFwcGxpY2FibGUuCisgICAgICAg
IE5vdGU6IEZpcmVmb3ggYW5kIE9wZXJhIHJldHVybiBjYWxjdWxhdGVkIGZpeGVkIGxlbmd0aHMg
Zm9yIHBlcmNlbnRhZ2UgbWFyZ2lucywgSUUKKyAgICAgICAgcmV0dXJucyB0aGUgc3BlY2lmaWVk
IHBlcmNlbnRhZ2UuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
Z2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nz
cy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLXBlcmNlbnRhZ2UuaHRtbAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorCiAyMDExLTAyLTEwICBCaWxsIEJ1ZGdlICA8
YmJ1ZGdlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKaW5kZXggNjVhYmUzYi4uM2FiZGNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTMsNiArMyw3IEBACiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQ
cm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgTmljaG9s
YXMgU2hhbmtzIDx3ZWJraXRAbmlja3NoYW5rcy5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
U2VuY2hhLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAt
MTEyMSwyNiArMTEyMiwzMCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAgICAgICAg
cmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPmxpc3RTdHlsZVBvc2l0aW9u
KCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlVHlwZToKICAgICAgICAgICAg
IHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5saXN0U3R5bGVUeXBlKCkp
OwotICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFyZ2luVG9wOgotICAgICAgICAgICAgaWYgKHJl
bmRlcmVyICYmIHJlbmRlcmVyLT5pc0JveCgpKQotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBT
dXBwb3NlZCB0byByZXR1cm4gdGhlIHBlcmNlbnRhZ2UgaWYgcGVyY2VudGFnZSB3YXMgc3BlY2lm
aWVkLgotICAgICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHRvUmVu
ZGVyQm94KHJlbmRlcmVyKS0+bWFyZ2luVG9wKCksIHN0eWxlLmdldCgpKTsKLSAgICAgICAgICAg
IHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5tYXJnaW5Ub3AoKSk7Ci0g
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5SaWdodDoKLSAgICAgICAgICAgIGlmIChyZW5k
ZXJlciAmJiByZW5kZXJlci0+aXNCb3goKSkKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogU3Vw
cG9zZWQgdG8gcmV0dXJuIHRoZSBwZXJjZW50YWdlIGlmIHBlcmNlbnRhZ2Ugd2FzIHNwZWNpZmll
ZC4KLSAgICAgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh0b1JlbmRl
ckJveChyZW5kZXJlciktPm1hcmdpblJpZ2h0KCksIHN0eWxlLmdldCgpKTsKLSAgICAgICAgICAg
IHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5tYXJnaW5SaWdodCgpKTsK
LSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdpbkJvdHRvbToKLSAgICAgICAgICAgIGlmIChy
ZW5kZXJlciAmJiByZW5kZXJlci0+aXNCb3goKSkKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTog
U3VwcG9zZWQgdG8gcmV0dXJuIHRoZSBwZXJjZW50YWdlIGlmIHBlcmNlbnRhZ2Ugd2FzIHNwZWNp
ZmllZC4KLSAgICAgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh0b1Jl
bmRlckJveChyZW5kZXJlciktPm1hcmdpbkJvdHRvbSgpLCBzdHlsZS5nZXQoKSk7Ci0gICAgICAg
ICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+bWFyZ2luQm90dG9t
KCkpOwotICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFyZ2luTGVmdDoKLSAgICAgICAgICAgIGlm
IChyZW5kZXJlciAmJiByZW5kZXJlci0+aXNCb3goKSkKLSAgICAgICAgICAgICAgICAvLyBGSVhN
RTogU3VwcG9zZWQgdG8gcmV0dXJuIHRoZSBwZXJjZW50YWdlIGlmIHBlcmNlbnRhZ2Ugd2FzIHNw
ZWNpZmllZC4KLSAgICAgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh0
b1JlbmRlckJveChyZW5kZXJlciktPm1hcmdpbkxlZnQoKSwgc3R5bGUuZ2V0KCkpOwotICAgICAg
ICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPm1hcmdpbkxlZnQo
KSk7CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5Ub3A6IHsKKyAgICAgICAgICAgIExl
bmd0aCBtYXJnaW5Ub3AgPSBzdHlsZS0+bWFyZ2luVG9wKCk7CisgICAgICAgICAgICBpZiAobWFy
Z2luVG9wLmlzUGVyY2VudCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVW
YWx1ZTo6Y3JlYXRlKG1hcmdpblRvcCk7CisgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVk
UGl4ZWxWYWx1ZShtYXJnaW5Ub3AudmFsdWUoKSwgc3R5bGUuZ2V0KCkpOworICAgICAgICB9Cisg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5SaWdodDogeworICAgICAgICAgICAgTGVuZ3Ro
IG1hcmdpblJpZ2h0ID0gc3R5bGUtPm1hcmdpblJpZ2h0KCk7CisgICAgICAgICAgICBpZiAobWFy
Z2luUmlnaHQuaXNQZXJjZW50KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2
ZVZhbHVlOjpjcmVhdGUobWFyZ2luUmlnaHQpOworICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1
c3RlZFBpeGVsVmFsdWUobWFyZ2luUmlnaHQudmFsdWUoKSwgc3R5bGUuZ2V0KCkpOworICAgICAg
ICB9CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5Cb3R0b206IHsKKyAgICAgICAgICAg
IExlbmd0aCBtYXJnaW5Cb3R0b20gPSBzdHlsZS0+bWFyZ2luQm90dG9tKCk7CisgICAgICAgICAg
ICBpZiAobWFyZ2luQm90dG9tLmlzUGVyY2VudCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBD
U1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1hcmdpbkJvdHRvbSk7CisgICAgICAgICAgICByZXR1
cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZShtYXJnaW5Cb3R0b20udmFsdWUoKSwgc3R5bGUuZ2V0
KCkpOworICAgICAgICB9CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5MZWZ0OiB7Cisg
ICAgICAgICAgICBMZW5ndGggbWFyZ2luTGVmdCA9IHN0eWxlLT5tYXJnaW5MZWZ0KCk7CisgICAg
ICAgICAgICBpZiAobWFyZ2luTGVmdC5pc1BlcmNlbnQoKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtYXJnaW5MZWZ0KTsKKyAgICAgICAgICAgIHJl
dHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKG1hcmdpbkxlZnQudmFsdWUoKSwgc3R5bGUuZ2V0
KCkpOworICAgICAgICB9CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlRGly
ZWN0aW9uOgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5
bGUtPm1hcnF1ZWVEaXJlY3Rpb24oKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRN
YXJxdWVlSW5jcmVtZW50Ogo=
</data>
<flag name="review"
          id="73647"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="73648"
          type_id="3"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82162</attachid>
            <date>2011-02-11 12:52:49 -0800</date>
            <delta_ts>2011-02-12 17:23:48 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>getComputedStyle-margin.patch</filename>
            <type>text/plain</type>
            <size>15606</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjOWIyNjg5Li40NGQ1OWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDIt
MTEgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGdldENvbXB1dGVkU3R5bGUgcmV0dXJu
cyB3cm9uZyB2YWx1ZSBmb3IgbWFyZ2luLXJpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0MworICAgICAgICAKKyAgICAgICAgTWF0Y2hpbmcg
SUUsIEZpcmVmb3gsIGFuZCBPcGVyYSBiZWhhdmlvciBieSByZXR1cm5pbmcgdGhlIGNvbXB1dGVk
IG1hcmdpbgorICAgICAgICB2YWx1ZXMgYXMgc3BlY2lmaWVkLCByYXRoZXIgdGhhbiB0aGUgdXNl
ZC9hdXRvIHZhbHVlcyAoY2FsY3VsYXRlZCB2aWEgUmVuZGVyQm94KS4KKyAgICAgICAgQWxzbyBD
U1MgMi4xKyBjb21wbGlhbnQgYnkgcmV0dXJuaW5nIG1hcmdpbiBwZXJjZW50YWdlIGFzIHNwZWNp
ZmllZCwgaWYgYXBwbGljYWJsZS4KKyAgICAgICAgTm90ZTogRmlyZWZveCBhbmQgT3BlcmEgcmV0
dXJuIGNhbGN1bGF0ZWQgZml4ZWQgbGVuZ3RocyBmb3IgcGVyY2VudGFnZSBtYXJnaW5zLCBJRQor
ICAgICAgICByZXR1cm5zIHRoZSBzcGVjaWZpZWQgcGVyY2VudGFnZS4KKworICAgICAgICAqIGZh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1
dGVkU3R5bGUuaHRtbC4KKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3Ro
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
bWFyZ2luQ29tcHV0ZWRTdHlsZS5odG1sLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHls
ZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLmh0bWwuCisKIDIwMTEtMDIt
MTEgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEdl
bmVyYXRlIG1vcmUgR1RLKyByZXN1bHRzIGZvciBtYW55IFNWRyB0ZXN0cyBtaXNzaW5nIHRoZW0u
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtbWFyZ2luLWF1dG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1hdXRvLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTRjYTU1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21w
dXRlZFN0eWxlLW1hcmdpbi1hdXRvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3Qg
Y2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNvbXB1dGVkIG1hcmdpbiBzdHlsZXMuCisKK21h
cmdpbi1sZWZ0OiAwcHgKK21hcmdpbi10b3A6IDBweAorbWFyZ2luLXJpZ2h0OiAwcHgKK21hcmdp
bi1ib3R0b206IDBweAorVGVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1hdXRvLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWF1
dG8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzY3OTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLW1hcmdpbi1hdXRvLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgI2ZvbyB7IAorICAg
ICAgICAgICAgYmFja2dyb3VuZDogcHVycGxlOworICAgICAgICAgICAgYm9yZGVyOiAxMHB4IGRv
dWJsZSAjMDAwMDAwOyAKKyAgICAgICAgICAgIHdpZHRoOiA1MCU7CisgICAgICAgICAgICBoZWln
aHQ6IGF1dG87CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwor
ICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKKyAgICAgICAgICAgIG1hcmdpbi1yaWdodDog
YXV0bzsKKyAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIHBhZGRpbmctbGVmdDogYXV0bzsKKyAgICAgICAgICAgIGxlZnQ6IGF1dG87Cisg
ICAgICAgICAgICBjb2xvcjogd2hpdGU7CisgICAgICAgICAgICBmb250OiAyNHB4ICdMdWNpZGEg
R3JhbmRlJzsKKyAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OworICAgICAgICB9CisgICAg
PC9zdHlsZT4KKyAgICAKKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiBsb2cobXNnKSB7
CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICdcbicpKTsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgZnVuY3Rpb24gdGVzdChwcm9wKSB7CisgICAgICAgICAgICB2YXIgZGl2
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOworICAgICAgICAgICAgbG9nKHByb3Ag
KyAnOiAnICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZh
bHVlKHByb3ApKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gcnVuVGVz
dHMoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
ICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgIHRlc3QoJ21hcmdpbi1sZWZ0Jyk7CisgICAgICAgICAgICB0
ZXN0KCdtYXJnaW4tdG9wJyk7CisgICAgICAgICAgICB0ZXN0KCdtYXJnaW4tcmlnaHQnKTsKKyAg
ICAgICAgICAgIHRlc3QoJ21hcmdpbi1ib3R0b20nKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0
PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KKyAgICA8cD5UZXN0IGNh
bGxpbmcgZ2V0UHJvcGVydHlWYWx1ZSBvbiBjb21wdXRlZCBtYXJnaW4gc3R5bGVzLjwvcD4KKyAg
ICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKyAgICAKKyAgICA8ZGl2IGlkPSJmb28iPlRlc3Q8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3RoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRT
dHlsZS1tYXJnaW4tbGVuZ3RoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5mZDU0OTVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1sZW5ndGgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24g
Y29tcHV0ZWQgbWFyZ2luIHN0eWxlcy4KKworbWFyZ2luLWxlZnQ6IDVweAorbWFyZ2luLXRvcDog
MHB4CittYXJnaW4tcmlnaHQ6IDE1cHgKK21hcmdpbi1ib3R0b206IDEwcHgKK1Rlc3QKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRT
dHlsZS1tYXJnaW4tbGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMmUyZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWxl
bmd0aC5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8c3R5bGU+CisgICAgICAgICNmb28geyAKKyAgICAgICAgICAgIGJhY2tncm91bmQ6
IHB1cnBsZTsKKyAgICAgICAgICAgIGJvcmRlcjogMTBweCBkb3VibGUgIzAwMDAwMDsgCisgICAg
ICAgICAgICB3aWR0aDogNTAlOworICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOworICAgICAgICAg
ICAgCisgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4OworICAgICAgICAgICAgbWFyZ2luLXRv
cDogYXV0bzsKKyAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsKKyAgICAgICAgICAgIG1h
cmdpbi1ib3R0b206IDEwcHg7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHBhZGRpbmctbGVm
dDogYXV0bzsKKyAgICAgICAgICAgIGxlZnQ6IGF1dG87CisgICAgICAgICAgICBjb2xvcjogd2hp
dGU7CisgICAgICAgICAgICBmb250OiAyNHB4ICdMdWNpZGEgR3JhbmRlJzsKKyAgICAgICAgICAg
IGxpbmUtaGVpZ2h0OiAyNHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICAKKyAgICA8
c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiBsb2cobXNnKSB7CisgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKG1zZyArICdcbicpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rp
b24gdGVzdChwcm9wKSB7CisgICAgICAgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2ZvbycpOworICAgICAgICAgICAgbG9nKHByb3AgKyAnOiAnICsgd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKHByb3ApKTsKKyAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKSB7CisgICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
IHRlc3QoJ21hcmdpbi1sZWZ0Jyk7CisgICAgICAgICAgICB0ZXN0KCdtYXJnaW4tdG9wJyk7Cisg
ICAgICAgICAgICB0ZXN0KCdtYXJnaW4tcmlnaHQnKTsKKyAgICAgICAgICAgIHRlc3QoJ21hcmdp
bi1ib3R0b20nKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBv
bmxvYWQ9InJ1blRlc3RzKCk7Ij4KKyAgICA8cD5UZXN0IGNhbGxpbmcgZ2V0UHJvcGVydHlWYWx1
ZSBvbiBjb21wdXRlZCBtYXJnaW4gc3R5bGVzLjwvcD4KKyAgICA8cHJlIGlkPSJjb25zb2xlIj48
L3ByZT4KKyAgICAKKyAgICA8ZGl2IGlkPSJmb28iPlRlc3Q8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0
Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNl
bnRhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2
YmNmMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorVGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQg
bWFyZ2luIHN0eWxlcy4KKworbWFyZ2luLWxlZnQ6IDMzJQorbWFyZ2luLXRvcDogMTAlCittYXJn
aW4tcmlnaHQ6IDBweAorbWFyZ2luLWJvdHRvbTogMHB4CitUZXN0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2lu
LXBlcmNlbnRhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
Z2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmNkMGY2ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNl
bnRhZ2UuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPHN0eWxlPgorICAgICAgICAjZm9vIHsgCisgICAgICAgICAgICBiYWNrZ3JvdW5k
OiBwdXJwbGU7CisgICAgICAgICAgICBib3JkZXI6IDEwcHggZG91YmxlICMwMDAwMDA7IAorICAg
ICAgICAgICAgd2lkdGg6IDUwJTsKKyAgICAgICAgICAgIGhlaWdodDogYXV0bzsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMzJTsKKyAgICAgICAgICAgIG1hcmdpbi10
b3A6IDEwJTsKKyAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBhdXRvOworICAgICAgICAgICAgbGVmdDogYXV0bzsK
KyAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKKyAgICAgICAgICAgIGZvbnQ6IDI0cHggJ0x1Y2lk
YSBHcmFuZGUnOworICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CisgICAgICAgIH0KKyAg
ICA8L3N0eWxlPgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIGxvZyhtc2cp
IHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgJ1xuJykpOworICAgICAgICB9Cisg
ICAgICAgIAorICAgICAgICBmdW5jdGlvbiB0ZXN0KHByb3ApIHsKKyAgICAgICAgICAgIHZhciBk
aXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vJyk7CisgICAgICAgICAgICBsb2cocHJv
cCArICc6ICcgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkaXYsIG51bGwpLmdldFByb3BlcnR5
VmFsdWUocHJvcCkpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBydW5U
ZXN0cygpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAg
ICAgICAgICAgIAorICAgICAgICAgICAgdGVzdCgnbWFyZ2luLWxlZnQnKTsKKyAgICAgICAgICAg
IHRlc3QoJ21hcmdpbi10b3AnKTsKKyAgICAgICAgICAgIHRlc3QoJ21hcmdpbi1yaWdodCcpOwor
ICAgICAgICAgICAgdGVzdCgnbWFyZ2luLWJvdHRvbScpOworICAgICAgICB9CisgICAgPC9zY3Jp
cHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgorICAgIDxwPlRlc3Qg
Y2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNvbXB1dGVkIG1hcmdpbiBzdHlsZXMuPC9wPgor
ICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorICAgIAorICAgIDxkaXYgaWQ9ImZvbyI+VGVz
dDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHlsZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxYzNiYzMuLjAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21w
dXRlZFN0eWxlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRl
c3QKLXdpZHRoOiAzOTJweAotaGVpZ2h0OiAyOHB4Ci1tYXJnaW4tbGVmdDogMTg2cHgKLW1hcmdp
bi1yaWdodDogMTg2cHgKLW1hcmdpbi10b3A6IDBweAotbWFyZ2luLWJvdHRvbTogMHB4Ci1wYWRk
aW5nLWxlZnQ6IDBweAotbGVmdDogYXV0bwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHlsZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZDRhN2JhLi4wMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHlsZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4K
LWRpdiB7IAotICAgIGJhY2tncm91bmQ6IHB1cnBsZTsKLSAgICBib3JkZXI6IDEwcHggZG91Ymxl
ICMwMDAwMDA7IAotICAgIHdpZHRoOjUwJTsKLSAgICBoZWlnaHQ6YXV0bzsgCi0gICAgbWFyZ2lu
LWxlZnQ6YXV0bzsgCi0gICAgbWFyZ2luLXJpZ2h0OmF1dG87Ci0gICAgbWFyZ2luLXRvcDphdXRv
OwotICAgIG1hcmdpbi1ib3R0b206YXV0bzsKLSAgICBwYWRkaW5nLWxlZnQ6YXV0bzsKLSAgICBs
ZWZ0OiBhdXRvOwotICAgIGNvbG9yOiB3aGl0ZTsgCi0gICAgZm9udDogMjRweCAnTHVjaWRhIEdy
YW5kZSc7Ci19Ci08L3N0eWxlPgotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYgaWQ9ImZvbyI+VGVz
dDwvZGl2PgotCi08c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotICAgIHZhciBm
b29kaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vJyk7Ci0gICAgZG9jdW1lbnQud3Jp
dGUoIndpZHRoOiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQ
cm9wZXJ0eVZhbHVlKCJ3aWR0aCIpKTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKLSAg
ICBkb2N1bWVudC53cml0ZSgiaGVpZ2h0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9v
ZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJoZWlnaHQiKSk7Ci0gICAgZG9jdW1lbnQud3Jp
dGUoICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUoIm1hcmdpbi1sZWZ0OiAiICsgd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4t
bGVmdCIpKTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKLSAgICBkb2N1bWVudC53cml0
ZSgibWFyZ2luLXJpZ2h0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxs
KS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tcmlnaHQiKSk7Ci0gICAgZG9jdW1lbnQud3JpdGUo
ICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUoIm1hcmdpbi10b3A6ICIgKyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi10b3Ai
KSk7Ci0gICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUoIm1h
cmdpbi1ib3R0b206ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdl
dFByb3BlcnR5VmFsdWUoIm1hcmdpbi1ib3R0b20iKSk7Ci0gICAgZG9jdW1lbnQud3JpdGUoICI8
YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUoInBhZGRpbmctbGVmdDogIiArIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgicGFkZGluZy1sZWZ0
IikpOwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOwotICAgIGRvY3VtZW50LndyaXRlKCJs
ZWZ0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0
eVZhbHVlKCJsZWZ0IikpOwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOwotPC9zY3JpcHQ+
Ci0KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFiM2Y3MGUuLjhjMDMwMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0wMi0xMSAgSmFycmVkIE5pY2hvbGxzICA8
amFycmVkQHNlbmNoYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgZ2V0Q29tcHV0ZWRTdHlsZSByZXR1cm5zIHdyb25nIHZhbHVlIGZvciBtYXJn
aW4tcmlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzMzQzCisgICAgICAgIAorICAgICAgICBNYXRjaGluZyBJRSwgRmlyZWZveCwgYW5kIE9wZXJh
IGJlaGF2aW9yIGJ5IHJldHVybmluZyB0aGUgY29tcHV0ZWQgbWFyZ2luCisgICAgICAgIHZhbHVl
cyBhcyBzcGVjaWZpZWQsIHJhdGhlciB0aGFuIHRoZSB1c2VkL2F1dG8gdmFsdWVzIChjYWxjdWxh
dGVkIHZpYSBSZW5kZXJCb3gpLgorICAgICAgICBBbHNvIENTUyAyLjErIGNvbXBsaWFudCBieSBy
ZXR1cm5pbmcgbWFyZ2luIHBlcmNlbnRhZ2UgYXMgc3BlY2lmaWVkLCBpZiBhcHBsaWNhYmxlLgor
ICAgICAgICBOb3RlOiBGaXJlZm94IGFuZCBPcGVyYSByZXR1cm4gY2FsY3VsYXRlZCBmaXhlZCBs
ZW5ndGhzIGZvciBwZXJjZW50YWdlIG1hcmdpbnMsIElFCisgICAgICAgIHJldHVybnMgdGhlIHNw
ZWNpZmllZCBwZXJjZW50YWdlLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWF1dG8uaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1sZW5ndGgu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRl
ZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKwogMjAxMS0wMi0xMSAgR3VzdGF2
byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBYYW4gTG9wZXouCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDY1YWJlM2IuLjNhYmRjZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwCkBAIC0zLDYgKzMsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAy
MDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgog
ICogQ29weXJpZ2h0IChDKSAyMDA3IE5pY2hvbGFzIFNoYW5rcyA8d2Via2l0QG5pY2tzaGFua3Mu
Y29tPgorICogQ29weXJpZ2h0IChDKSAyMDExIFNlbmNoYSwgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTExMjEsMjYgKzExMjIsMzAgQEAgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1Zh
bHVlKGludCBwcm9wZXIKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKHN0eWxlLT5saXN0U3R5bGVQb3NpdGlvbigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUxpc3RTdHlsZVR5cGU6CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZShzdHlsZS0+bGlzdFN0eWxlVHlwZSgpKTsKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1h
cmdpblRvcDoKLSAgICAgICAgICAgIGlmIChyZW5kZXJlciAmJiByZW5kZXJlci0+aXNCb3goKSkK
LSAgICAgICAgICAgICAgICAvLyBGSVhNRTogU3VwcG9zZWQgdG8gcmV0dXJuIHRoZSBwZXJjZW50
YWdlIGlmIHBlcmNlbnRhZ2Ugd2FzIHNwZWNpZmllZC4KLSAgICAgICAgICAgICAgICByZXR1cm4g
em9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh0b1JlbmRlckJveChyZW5kZXJlciktPm1hcmdpblRvcCgp
LCBzdHlsZS5nZXQoKSk7Ci0gICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZShzdHlsZS0+bWFyZ2luVG9wKCkpOwotICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFyZ2lu
UmlnaHQ6Ci0gICAgICAgICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVyZXItPmlzQm94KCkpCi0g
ICAgICAgICAgICAgICAgLy8gRklYTUU6IFN1cHBvc2VkIHRvIHJldHVybiB0aGUgcGVyY2VudGFn
ZSBpZiBwZXJjZW50YWdlIHdhcyBzcGVjaWZpZWQuCi0gICAgICAgICAgICAgICAgcmV0dXJuIHpv
b21BZGp1c3RlZFBpeGVsVmFsdWUodG9SZW5kZXJCb3gocmVuZGVyZXIpLT5tYXJnaW5SaWdodCgp
LCBzdHlsZS5nZXQoKSk7Ci0gICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZShzdHlsZS0+bWFyZ2luUmlnaHQoKSk7Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJn
aW5Cb3R0b206Ci0gICAgICAgICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVyZXItPmlzQm94KCkp
Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IFN1cHBvc2VkIHRvIHJldHVybiB0aGUgcGVyY2Vu
dGFnZSBpZiBwZXJjZW50YWdlIHdhcyBzcGVjaWZpZWQuCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHpvb21BZGp1c3RlZFBpeGVsVmFsdWUodG9SZW5kZXJCb3gocmVuZGVyZXIpLT5tYXJnaW5Cb3R0
b20oKSwgc3R5bGUuZ2V0KCkpOwotICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUoc3R5bGUtPm1hcmdpbkJvdHRvbSgpKTsKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eU1hcmdpbkxlZnQ6Ci0gICAgICAgICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVyZXItPmlzQm94
KCkpCi0gICAgICAgICAgICAgICAgLy8gRklYTUU6IFN1cHBvc2VkIHRvIHJldHVybiB0aGUgcGVy
Y2VudGFnZSBpZiBwZXJjZW50YWdlIHdhcyBzcGVjaWZpZWQuCi0gICAgICAgICAgICAgICAgcmV0
dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUodG9SZW5kZXJCb3gocmVuZGVyZXIpLT5tYXJnaW5M
ZWZ0KCksIHN0eWxlLmdldCgpKTsKLSAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlKHN0eWxlLT5tYXJnaW5MZWZ0KCkpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5
TWFyZ2luVG9wOiB7CisgICAgICAgICAgICBMZW5ndGggbWFyZ2luVG9wID0gc3R5bGUtPm1hcmdp
blRvcCgpOworICAgICAgICAgICAgaWYgKG1hcmdpblRvcC5pc1BlcmNlbnQoKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtYXJnaW5Ub3ApOworICAg
ICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWFyZ2luVG9wLnZhbHVlKCks
IHN0eWxlLmdldCgpKTsKKyAgICAgICAgfQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFyZ2lu
UmlnaHQ6IHsKKyAgICAgICAgICAgIExlbmd0aCBtYXJnaW5SaWdodCA9IHN0eWxlLT5tYXJnaW5S
aWdodCgpOworICAgICAgICAgICAgaWYgKG1hcmdpblJpZ2h0LmlzUGVyY2VudCgpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1hcmdpblJpZ2h0KTsK
KyAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKG1hcmdpblJpZ2h0LnZh
bHVlKCksIHN0eWxlLmdldCgpKTsKKyAgICAgICAgfQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5
TWFyZ2luQm90dG9tOiB7CisgICAgICAgICAgICBMZW5ndGggbWFyZ2luQm90dG9tID0gc3R5bGUt
Pm1hcmdpbkJvdHRvbSgpOworICAgICAgICAgICAgaWYgKG1hcmdpbkJvdHRvbS5pc1BlcmNlbnQo
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtYXJn
aW5Cb3R0b20pOworICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWFy
Z2luQm90dG9tLnZhbHVlKCksIHN0eWxlLmdldCgpKTsKKyAgICAgICAgfQorICAgICAgICBjYXNl
IENTU1Byb3BlcnR5TWFyZ2luTGVmdDogeworICAgICAgICAgICAgTGVuZ3RoIG1hcmdpbkxlZnQg
PSBzdHlsZS0+bWFyZ2luTGVmdCgpOworICAgICAgICAgICAgaWYgKG1hcmdpbkxlZnQuaXNQZXJj
ZW50KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUo
bWFyZ2luTGVmdCk7CisgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSht
YXJnaW5MZWZ0LnZhbHVlKCksIHN0eWxlLmdldCgpKTsKKyAgICAgICAgfQogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0TWFycXVlZURpcmVjdGlvbjoKICAgICAgICAgICAgIHJldHVybiBD
U1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5tYXJxdWVlRGlyZWN0aW9uKCkpOwogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZUluY3JlbWVudDoK
</data>
<flag name="review"
          id="73804"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="73879"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82248</attachid>
            <date>2011-02-12 17:23:48 -0800</date>
            <delta_ts>2011-02-13 11:23:37 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>getComputedStyle-margin.patch</filename>
            <type>text/plain</type>
            <size>24212</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwZjhiYTRmLi4xYWJmY2NkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDIt
MTIgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGdldENvbXB1dGVkU3R5bGUgcmV0dXJu
cyB3cm9uZyB2YWx1ZSBmb3IgbWFyZ2luLXJpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0MworICAgICAgICAKKyAgICAgICAgTWF0Y2hpbmcg
SUUsIEZpcmVmb3gsIGFuZCBPcGVyYSBiZWhhdmlvciBieSByZXR1cm5pbmcgdGhlIGNvbXB1dGVk
IG1hcmdpbgorICAgICAgICB2YWx1ZXMgYXMgc3BlY2lmaWVkLCByYXRoZXIgdGhhbiB0aGUgdXNl
ZC9hdXRvIHZhbHVlcyAoY2FsY3VsYXRlZCB2aWEgUmVuZGVyQm94KS4KKyAgICAgICAgQWxzbyBD
U1MgMi4xKyBjb21wbGlhbnQgYnkgcmV0dXJuaW5nIG1hcmdpbiBwZXJjZW50YWdlIGFzIHNwZWNp
ZmllZCwgaWYgYXBwbGljYWJsZS4KKyAgICAgICAgTm90ZTogRmlyZWZveCBhbmQgT3BlcmEgcmV0
dXJuIGNhbGN1bGF0ZWQgZml4ZWQgbGVuZ3RocyBmb3IgcGVyY2VudGFnZSBtYXJnaW5zLCBJRQor
ICAgICAgICByZXR1cm5zIHRoZSBzcGVjaWZpZWQgcGVyY2VudGFnZS4KKworICAgICAgICAqIGZh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvY3NzL2Nv
bXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3NzL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVy
ZXItZXhwZWN0ZWQudHh0CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3Rl
ZC50eHQKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9j
b21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhv
dXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVk
LnR4dAorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHls
ZS1tYXJnaW4tYXV0by1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUtZXhwZWN0ZWQudHh0Lgor
ICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJn
aW4tYXV0by5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUuaHRtbC4KKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRD
b21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRT
dHlsZS1tYXJnaW4tbGVuZ3RoLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHlsZS5odG1sLgorICAgICAgICAqIGZh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFn
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5
bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sOiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxl
Lmh0bWwuCisKIDIwMTEtMDItMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29t
cHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKaW5kZXggY2FmNDAyZC4u
ZjE0YzVmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHls
ZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQt
cmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC00OSw3ICs0OSw3IEBAIENvbXB1dGVkIHN0eWxlIG9m
IGFuIGVsZW1lbnQgd2hvc2UgcGFyZW50J3MgJ2Rpc3BsYXknIHZhbHVlIGlzICdub25lJzoKICAg
ICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlCiAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNj
CiAgICAgbWFyZ2luLWJvdHRvbTogMHB4Ci0gICAgbWFyZ2luLWxlZnQ6IGF1dG8KKyAgICBtYXJn
aW4tbGVmdDogMHB4CiAgICAgbWFyZ2luLXJpZ2h0OiAwcHgKICAgICBtYXJnaW4tdG9wOiAwcHgK
ICAgICBtYXgtaGVpZ2h0OiBub25lCkBAIC0yMjcsMTIgKzIyNywxMiBAQCBBZnRlciBjaGFuZ2lu
ZyBncmFuZHBhcmVudCdzICdjb2xvcicgYW5kIHRoZSBwYXJlbnQncyAnZm9udC1zaXplJyBpbmhl
cml0ZWQgcHJvcAogCiBBZnRlciBjaGFuZ2luZyB0aGUgcGFyZW50J3MgJ2Rpc3BsYXknIHByb3Bl
cnR5IHRvICdibG9jaycsIHNvIHRoYXQgdGhlIGNoaWxkIGdldHMgYSByZW5kZXJlcjoKICAgICBo
ZWlnaHQ6IDEwMHB4Ci0gICAgbWFyZ2luLWxlZnQ6IDM4NXB4CisgICAgbWFyZ2luLWxlZnQ6IDBw
eAogICAgIHdpZHRoOiAzODRweAogCiBBZnRlciBjaGFuZ2luZyB0aGUgcGFyZW50J3MgJ2Rpc3Bs
YXknIHByb3BlcnR5IGJhY2sgdG8gJ25vbmUnOgogICAgIGhlaWdodDogMTAwcHgKLSAgICBtYXJn
aW4tbGVmdDogYXV0bworICAgIG1hcmdpbi1sZWZ0OiAwcHgKICAgICB3aWR0aDogNTAlCiAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21w
dXRlZFN0eWxlLW1hcmdpbi1hdXRvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE0Y2E1NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0
ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0IGNh
bGxpbmcgZ2V0UHJvcGVydHlWYWx1ZSBvbiBjb21wdXRlZCBtYXJnaW4gc3R5bGVzLgorCittYXJn
aW4tbGVmdDogMHB4CittYXJnaW4tdG9wOiAwcHgKK21hcmdpbi1yaWdodDogMHB4CittYXJnaW4t
Ym90dG9tOiAwcHgKK1Rlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1hdXRv
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc2Nzk5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29t
cHV0ZWRTdHlsZS1tYXJnaW4tYXV0by5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgICNmb28geyAKKyAgICAg
ICAgICAgIGJhY2tncm91bmQ6IHB1cnBsZTsKKyAgICAgICAgICAgIGJvcmRlcjogMTBweCBkb3Vi
bGUgIzAwMDAwMDsgCisgICAgICAgICAgICB3aWR0aDogNTAlOworICAgICAgICAgICAgaGVpZ2h0
OiBhdXRvOworICAgICAgICAgICAgCisgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKKyAg
ICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87CisgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1
dG87CisgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvOworICAgICAgICAgICAgCisgICAg
ICAgICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87CisgICAgICAgICAgICBsZWZ0OiBhdXRvOworICAg
ICAgICAgICAgY29sb3I6IHdoaXRlOworICAgICAgICAgICAgZm9udDogMjRweCAnTHVjaWRhIEdy
YW5kZSc7CisgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKKyAgICAgICAgfQorICAgIDwv
c3R5bGU+CisgICAgCisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykgewor
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cgKyAnXG4nKSk7CisgICAgICAgIH0KKyAgICAg
ICAgCisgICAgICAgIGZ1bmN0aW9uIHRlc3QocHJvcCkgeworICAgICAgICAgICAgdmFyIGRpdiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb28nKTsKKyAgICAgICAgICAgIGxvZyhwcm9wICsg
JzogJyArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1
ZShwcm9wKSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICB0ZXN0KCdtYXJnaW4tbGVmdCcpOworICAgICAgICAgICAgdGVz
dCgnbWFyZ2luLXRvcCcpOworICAgICAgICAgICAgdGVzdCgnbWFyZ2luLXJpZ2h0Jyk7CisgICAg
ICAgICAgICB0ZXN0KCdtYXJnaW4tYm90dG9tJyk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0cygpOyI+CisgICAgPHA+VGVzdCBjYWxs
aW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQgbWFyZ2luIHN0eWxlcy48L3A+CisgICAg
PHByZSBpZD0iY29uc29sZSI+PC9wcmU+CisgICAgCisgICAgPGRpdiBpZD0iZm9vIj5UZXN0PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9n
ZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5
bGUtbWFyZ2luLWxlbmd0aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZmQ1NDk1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tbGVuZ3RoLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNv
bXB1dGVkIG1hcmdpbiBzdHlsZXMuCisKK21hcmdpbi1sZWZ0OiA1cHgKK21hcmdpbi10b3A6IDBw
eAorbWFyZ2luLXJpZ2h0OiAxNXB4CittYXJnaW4tYm90dG9tOiAxMHB4CitUZXN0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5
bGUtbWFyZ2luLWxlbmd0aC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRT
dHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1sZW5ndGguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5jYzJlMmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1sZW5n
dGguaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgICAgPHN0eWxlPgorICAgICAgICAjZm9vIHsgCisgICAgICAgICAgICBiYWNrZ3JvdW5kOiBw
dXJwbGU7CisgICAgICAgICAgICBib3JkZXI6IDEwcHggZG91YmxlICMwMDAwMDA7IAorICAgICAg
ICAgICAgd2lkdGg6IDUwJTsKKyAgICAgICAgICAgIGhlaWdodDogYXV0bzsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6
IGF1dG87CisgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7CisgICAgICAgICAgICBtYXJn
aW4tYm90dG9tOiAxMHB4OworICAgICAgICAgICAgCisgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6
IGF1dG87CisgICAgICAgICAgICBsZWZ0OiBhdXRvOworICAgICAgICAgICAgY29sb3I6IHdoaXRl
OworICAgICAgICAgICAgZm9udDogMjRweCAnTHVjaWRhIEdyYW5kZSc7CisgICAgICAgICAgICBs
aW5lLWhlaWdodDogMjRweDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgCisgICAgPHNj
cmlwdD4KKyAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykgeworICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZShtc2cgKyAnXG4nKSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9u
IHRlc3QocHJvcCkgeworICAgICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmb28nKTsKKyAgICAgICAgICAgIGxvZyhwcm9wICsgJzogJyArIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGRpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wKSk7CisgICAgICAgIH0K
KyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgICAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICB0
ZXN0KCdtYXJnaW4tbGVmdCcpOworICAgICAgICAgICAgdGVzdCgnbWFyZ2luLXRvcCcpOworICAg
ICAgICAgICAgdGVzdCgnbWFyZ2luLXJpZ2h0Jyk7CisgICAgICAgICAgICB0ZXN0KCdtYXJnaW4t
Ym90dG9tJyk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0cygpOyI+CisgICAgPHA+VGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUg
b24gY29tcHV0ZWQgbWFyZ2luIHN0eWxlcy48L3A+CisgICAgPHByZSBpZD0iY29uc29sZSI+PC9w
cmU+CisgICAgCisgICAgPGRpdiBpZD0iZm9vIj5UZXN0PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50
YWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmJj
ZjFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRT
dHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKK1Rlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNvbXB1dGVkIG1h
cmdpbiBzdHlsZXMuCisKK21hcmdpbi1sZWZ0OiAzMyUKK21hcmdpbi10b3A6IDEwJQorbWFyZ2lu
LXJpZ2h0OiAwcHgKK21hcmdpbi1ib3R0b206IDBweAorVGVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1w
ZXJjZW50YWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dl
dENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5jZDBmNmVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50
YWdlLmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDxzdHlsZT4KKyAgICAgICAgI2ZvbyB7IAorICAgICAgICAgICAgYmFja2dyb3VuZDog
cHVycGxlOworICAgICAgICAgICAgYm9yZGVyOiAxMHB4IGRvdWJsZSAjMDAwMDAwOyAKKyAgICAg
ICAgICAgIHdpZHRoOiA1MCU7CisgICAgICAgICAgICBoZWlnaHQ6IGF1dG87CisgICAgICAgICAg
ICAKKyAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMyU7CisgICAgICAgICAgICBtYXJnaW4tdG9w
OiAxMCU7CisgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIHBhZGRpbmctbGVmdDogYXV0bzsKKyAgICAgICAgICAgIGxlZnQ6IGF1dG87Cisg
ICAgICAgICAgICBjb2xvcjogd2hpdGU7CisgICAgICAgICAgICBmb250OiAyNHB4ICdMdWNpZGEg
R3JhbmRlJzsKKyAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OworICAgICAgICB9CisgICAg
PC9zdHlsZT4KKyAgICAKKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiBsb2cobXNnKSB7
CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICdcbicpKTsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgZnVuY3Rpb24gdGVzdChwcm9wKSB7CisgICAgICAgICAgICB2YXIgZGl2
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOworICAgICAgICAgICAgbG9nKHByb3Ag
KyAnOiAnICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZh
bHVlKHByb3ApKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gcnVuVGVz
dHMoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
ICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgIHRlc3QoJ21hcmdpbi1sZWZ0Jyk7CisgICAgICAgICAgICB0
ZXN0KCdtYXJnaW4tdG9wJyk7CisgICAgICAgICAgICB0ZXN0KCdtYXJnaW4tcmlnaHQnKTsKKyAg
ICAgICAgICAgIHRlc3QoJ21hcmdpbi1ib3R0b20nKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0
PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KKyAgICA8cD5UZXN0IGNh
bGxpbmcgZ2V0UHJvcGVydHlWYWx1ZSBvbiBjb21wdXRlZCBtYXJnaW4gc3R5bGVzLjwvcD4KKyAg
ICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKyAgICAKKyAgICA8ZGl2IGlkPSJmb28iPlRlc3Q8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0ZWRTdHlsZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMWMzYmMzLi4wMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvbWFyZ2luQ29tcHV0
ZWRTdHlsZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0
Ci13aWR0aDogMzkycHgKLWhlaWdodDogMjhweAotbWFyZ2luLWxlZnQ6IDE4NnB4Ci1tYXJnaW4t
cmlnaHQ6IDE4NnB4Ci1tYXJnaW4tdG9wOiAwcHgKLW1hcmdpbi1ib3R0b206IDBweAotcGFkZGlu
Zy1sZWZ0OiAwcHgKLWxlZnQ6IGF1dG8KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9tYXJnaW5Db21wdXRlZFN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQ0YTdiYS4uMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL21hcmdpbkNvbXB1dGVkU3R5bGUuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c3R5bGU+Ci1k
aXYgeyAKLSAgICBiYWNrZ3JvdW5kOiBwdXJwbGU7Ci0gICAgYm9yZGVyOiAxMHB4IGRvdWJsZSAj
MDAwMDAwOyAKLSAgICB3aWR0aDo1MCU7Ci0gICAgaGVpZ2h0OmF1dG87IAotICAgIG1hcmdpbi1s
ZWZ0OmF1dG87IAotICAgIG1hcmdpbi1yaWdodDphdXRvOwotICAgIG1hcmdpbi10b3A6YXV0bzsK
LSAgICBtYXJnaW4tYm90dG9tOmF1dG87Ci0gICAgcGFkZGluZy1sZWZ0OmF1dG87Ci0gICAgbGVm
dDogYXV0bzsKLSAgICBjb2xvcjogd2hpdGU7IAotICAgIGZvbnQ6IDI0cHggJ0x1Y2lkYSBHcmFu
ZGUnOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLQotPGJvZHk+Ci08ZGl2IGlkPSJmb28iPlRlc3Q8
L2Rpdj4KLQotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0KLSAgICB2YXIgZm9v
ZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOwotICAgIGRvY3VtZW50LndyaXRl
KCJ3aWR0aDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJv
cGVydHlWYWx1ZSgid2lkdGgiKSk7Ci0gICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Ci0gICAg
ZG9jdW1lbnQud3JpdGUoImhlaWdodDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2Rp
diwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiaGVpZ2h0IikpOwotICAgIGRvY3VtZW50LndyaXRl
KCAiPGJyPiIpOwotICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tbGVmdDogIiArIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLWxl
ZnQiKSk7Ci0gICAgZG9jdW1lbnQud3JpdGUoICI8YnI+Iik7Ci0gICAgZG9jdW1lbnQud3JpdGUo
Im1hcmdpbi1yaWdodDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCku
Z2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLXJpZ2h0IikpOwotICAgIGRvY3VtZW50LndyaXRlKCAi
PGJyPiIpOwotICAgIGRvY3VtZW50LndyaXRlKCJtYXJnaW4tdG9wOiAiICsgd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tdG9wIikp
OwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJyPiIpOwotICAgIGRvY3VtZW50LndyaXRlKCJtYXJn
aW4tYm90dG9tOiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZm9vZGl2LCBudWxsKS5nZXRQ
cm9wZXJ0eVZhbHVlKCJtYXJnaW4tYm90dG9tIikpOwotICAgIGRvY3VtZW50LndyaXRlKCAiPGJy
PiIpOwotICAgIGRvY3VtZW50LndyaXRlKCJwYWRkaW5nLWxlZnQ6ICIgKyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShmb29kaXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoInBhZGRpbmctbGVmdCIp
KTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKLSAgICBkb2N1bWVudC53cml0ZSgibGVm
dDogIiArIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZvb2RpdiwgbnVsbCkuZ2V0UHJvcGVydHlW
YWx1ZSgibGVmdCIpKTsKLSAgICBkb2N1bWVudC53cml0ZSggIjxicj4iKTsKLTwvc2NyaXB0Pgot
Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLW1hYy9mYXN0L2Nzcy9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9mYXN0L2Nzcy9jb21w
dXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAppbmRleCBhOTY4M2Y3Li5l
MGYyMTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFz
dC9jc3MvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvY3NzL2NvbXB1dGVkLXN0eWxl
LXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC00MCw3ICs0MCw3IEBAIENvbXB1dGVk
IHN0eWxlIG9mIGFuIGVsZW1lbnQgd2hvc2UgcGFyZW50J3MgJ2Rpc3BsYXknIHZhbHVlIGlzICdu
b25lJzoKICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlCiAgICAgbGlzdC1zdHlsZS10
eXBlOiBkaXNjCiAgICAgbWFyZ2luLWJvdHRvbTogMHB4Ci0gICAgbWFyZ2luLWxlZnQ6IGF1dG8K
KyAgICBtYXJnaW4tbGVmdDogMHB4CiAgICAgbWFyZ2luLXJpZ2h0OiAwcHgKICAgICBtYXJnaW4t
dG9wOiAwcHgKICAgICBtYXgtaGVpZ2h0OiBub25lCkBAIC0yMDgsMTIgKzIwOCwxMiBAQCBBZnRl
ciBjaGFuZ2luZyBncmFuZHBhcmVudCdzICdjb2xvcicgYW5kIHRoZSBwYXJlbnQncyAnZm9udC1z
aXplJyBpbmhlcml0ZWQgcHJvcAogCiBBZnRlciBjaGFuZ2luZyB0aGUgcGFyZW50J3MgJ2Rpc3Bs
YXknIHByb3BlcnR5IHRvICdibG9jaycsIHNvIHRoYXQgdGhlIGNoaWxkIGdldHMgYSByZW5kZXJl
cjoKICAgICBoZWlnaHQ6IDEwMHB4Ci0gICAgbWFyZ2luLWxlZnQ6IDM4NXB4CisgICAgbWFyZ2lu
LWxlZnQ6IDBweAogICAgIHdpZHRoOiAzODRweAogCiBBZnRlciBjaGFuZ2luZyB0aGUgcGFyZW50
J3MgJ2Rpc3BsYXknIHByb3BlcnR5IGJhY2sgdG8gJ25vbmUnOgogICAgIGhlaWdodDogMTAwcHgK
LSAgICBtYXJnaW4tbGVmdDogYXV0bworICAgIG1hcmdpbi1sZWZ0OiAwcHgKICAgICB3aWR0aDog
NTAlCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zh
c3QvY3NzL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3NzL2NvbXB1dGVkLXN0eWxlLXdp
dGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CmluZGV4IGE5NjgzZjcuLmUwZjIxMWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Nzcy9jb21wdXRl
ZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5k
ZXJlci1leHBlY3RlZC50eHQKQEAgLTQwLDcgKzQwLDcgQEAgQ29tcHV0ZWQgc3R5bGUgb2YgYW4g
ZWxlbWVudCB3aG9zZSBwYXJlbnQncyAnZGlzcGxheScgdmFsdWUgaXMgJ25vbmUnOgogICAgIGxp
c3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUKICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MKICAg
ICBtYXJnaW4tYm90dG9tOiAwcHgKLSAgICBtYXJnaW4tbGVmdDogYXV0bworICAgIG1hcmdpbi1s
ZWZ0OiAwcHgKICAgICBtYXJnaW4tcmlnaHQ6IDBweAogICAgIG1hcmdpbi10b3A6IDBweAogICAg
IG1heC1oZWlnaHQ6IG5vbmUKQEAgLTIwOCwxMiArMjA4LDEyIEBAIEFmdGVyIGNoYW5naW5nIGdy
YW5kcGFyZW50J3MgJ2NvbG9yJyBhbmQgdGhlIHBhcmVudCdzICdmb250LXNpemUnIGluaGVyaXRl
ZCBwcm9wCiAKIEFmdGVyIGNoYW5naW5nIHRoZSBwYXJlbnQncyAnZGlzcGxheScgcHJvcGVydHkg
dG8gJ2Jsb2NrJywgc28gdGhhdCB0aGUgY2hpbGQgZ2V0cyBhIHJlbmRlcmVyOgogICAgIGhlaWdo
dDogMTAwcHgKLSAgICBtYXJnaW4tbGVmdDogMzg1cHgKKyAgICBtYXJnaW4tbGVmdDogMHB4CiAg
ICAgd2lkdGg6IDM4NHB4CiAKIEFmdGVyIGNoYW5naW5nIHRoZSBwYXJlbnQncyAnZGlzcGxheScg
cHJvcGVydHkgYmFjayB0byAnbm9uZSc6CiAgICAgaGVpZ2h0OiAxMDBweAotICAgIG1hcmdpbi1s
ZWZ0OiBhdXRvCisgICAgbWFyZ2luLWxlZnQ6IDBweAogICAgIHdpZHRoOiA1MCUKIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29t
cHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CmluZGV4IDQ4
MWEzOGYuLjIwMWJkMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVu
ZGVyZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdp
bi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVy
ZXItZXhwZWN0ZWQudHh0CkBAIC00OSw3ICs0OSw3IEBAIENvbXB1dGVkIHN0eWxlIG9mIGFuIGVs
ZW1lbnQgd2hvc2UgcGFyZW50J3MgJ2Rpc3BsYXknIHZhbHVlIGlzICdub25lJzoKICAgICBsaXN0
LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlCiAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjCiAgICAg
bWFyZ2luLWJvdHRvbTogMHB4Ci0gICAgbWFyZ2luLWxlZnQ6IGF1dG8KKyAgICBtYXJnaW4tbGVm
dDogMHB4CiAgICAgbWFyZ2luLXJpZ2h0OiAwcHgKICAgICBtYXJnaW4tdG9wOiAwcHgKICAgICBt
YXgtaGVpZ2h0OiBub25lCkBAIC0yMjcsMTIgKzIyNywxMiBAQCBBZnRlciBjaGFuZ2luZyBncmFu
ZHBhcmVudCdzICdjb2xvcicgYW5kIHRoZSBwYXJlbnQncyAnZm9udC1zaXplJyBpbmhlcml0ZWQg
cHJvcAogCiBBZnRlciBjaGFuZ2luZyB0aGUgcGFyZW50J3MgJ2Rpc3BsYXknIHByb3BlcnR5IHRv
ICdibG9jaycsIHNvIHRoYXQgdGhlIGNoaWxkIGdldHMgYSByZW5kZXJlcjoKICAgICBoZWlnaHQ6
IDEwMHB4Ci0gICAgbWFyZ2luLWxlZnQ6IDM4NXB4CisgICAgbWFyZ2luLWxlZnQ6IDBweAogICAg
IHdpZHRoOiAzODRweAogCiBBZnRlciBjaGFuZ2luZyB0aGUgcGFyZW50J3MgJ2Rpc3BsYXknIHBy
b3BlcnR5IGJhY2sgdG8gJ25vbmUnOgogICAgIGhlaWdodDogMTAwcHgKLSAgICBtYXJnaW4tbGVm
dDogYXV0bworICAgIG1hcmdpbi1sZWZ0OiAwcHgKICAgICB3aWR0aDogNTAlCiAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
Y29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13
aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAppbmRleCAxNmQxOTAwLi5iNzM2Yzc2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHls
ZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1z
dHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dApAQCAtNDksNyArNDksNyBAQCBDb21w
dXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdob3NlIHBhcmVudCdzICdkaXNwbGF5JyB2YWx1ZSBp
cyAnbm9uZSc6CiAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZQogICAgIGxpc3Qtc3R5
bGUtdHlwZTogZGlzYwogICAgIG1hcmdpbi1ib3R0b206IDBweAotICAgIG1hcmdpbi1sZWZ0OiBh
dXRvCisgICAgbWFyZ2luLWxlZnQ6IDBweAogICAgIG1hcmdpbi1yaWdodDogMHB4CiAgICAgbWFy
Z2luLXRvcDogMHB4CiAgICAgbWF4LWhlaWdodDogbm9uZQpAQCAtMjI3LDEyICsyMjcsMTIgQEAg
QWZ0ZXIgY2hhbmdpbmcgZ3JhbmRwYXJlbnQncyAnY29sb3InIGFuZCB0aGUgcGFyZW50J3MgJ2Zv
bnQtc2l6ZScgaW5oZXJpdGVkIHByb3AKIAogQWZ0ZXIgY2hhbmdpbmcgdGhlIHBhcmVudCdzICdk
aXNwbGF5JyBwcm9wZXJ0eSB0byAnYmxvY2snLCBzbyB0aGF0IHRoZSBjaGlsZCBnZXRzIGEgcmVu
ZGVyZXI6CiAgICAgaGVpZ2h0OiAxMDBweAotICAgIG1hcmdpbi1sZWZ0OiAzOTJweAorICAgIG1h
cmdpbi1sZWZ0OiAwcHgKICAgICB3aWR0aDogMzkycHgKIAogQWZ0ZXIgY2hhbmdpbmcgdGhlIHBh
cmVudCdzICdkaXNwbGF5JyBwcm9wZXJ0eSBiYWNrIHRvICdub25lJzoKICAgICBoZWlnaHQ6IDEw
MHB4Ci0gICAgbWFyZ2luLWxlZnQ6IGF1dG8KKyAgICBtYXJnaW4tbGVmdDogMHB4CiAgICAgd2lk
dGg6IDUwJQogCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nz
cy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5
bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKaW5kZXggY2Fm
NDAyZC4uZjE0YzVmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKQEAg
LTQ5LDcgKzQ5LDcgQEAgQ29tcHV0ZWQgc3R5bGUgb2YgYW4gZWxlbWVudCB3aG9zZSBwYXJlbnQn
cyAnZGlzcGxheScgdmFsdWUgaXMgJ25vbmUnOgogICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91
dHNpZGUKICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MKICAgICBtYXJnaW4tYm90dG9tOiAwcHgK
LSAgICBtYXJnaW4tbGVmdDogYXV0bworICAgIG1hcmdpbi1sZWZ0OiAwcHgKICAgICBtYXJnaW4t
cmlnaHQ6IDBweAogICAgIG1hcmdpbi10b3A6IDBweAogICAgIG1heC1oZWlnaHQ6IG5vbmUKQEAg
LTIyNywxMiArMjI3LDEyIEBAIEFmdGVyIGNoYW5naW5nIGdyYW5kcGFyZW50J3MgJ2NvbG9yJyBh
bmQgdGhlIHBhcmVudCdzICdmb250LXNpemUnIGluaGVyaXRlZCBwcm9wCiAKIEFmdGVyIGNoYW5n
aW5nIHRoZSBwYXJlbnQncyAnZGlzcGxheScgcHJvcGVydHkgdG8gJ2Jsb2NrJywgc28gdGhhdCB0
aGUgY2hpbGQgZ2V0cyBhIHJlbmRlcmVyOgogICAgIGhlaWdodDogMTAwcHgKLSAgICBtYXJnaW4t
bGVmdDogMzg1cHgKKyAgICBtYXJnaW4tbGVmdDogMHB4CiAgICAgd2lkdGg6IDM4NHB4CiAKIEFm
dGVyIGNoYW5naW5nIHRoZSBwYXJlbnQncyAnZGlzcGxheScgcHJvcGVydHkgYmFjayB0byAnbm9u
ZSc6CiAgICAgaGVpZ2h0OiAxMDBweAotICAgIG1hcmdpbi1sZWZ0OiBhdXRvCisgICAgbWFyZ2lu
LWxlZnQ6IDBweAogICAgIHdpZHRoOiA1MCUKIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhv
dXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVj
dGVkLnR4dAppbmRleCA2M2NlMDlhLi5hZDJjNTJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhv
dXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1l
eHBlY3RlZC50eHQKQEAgLTQ4LDcgKzQ4LDcgQEAgQ29tcHV0ZWQgc3R5bGUgb2YgYW4gZWxlbWVu
dCB3aG9zZSBwYXJlbnQncyAnZGlzcGxheScgdmFsdWUgaXMgJ25vbmUnOgogICAgIGxpc3Qtc3R5
bGUtcG9zaXRpb246IG91dHNpZGUKICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MKICAgICBtYXJn
aW4tYm90dG9tOiAwcHgKLSAgICBtYXJnaW4tbGVmdDogYXV0bworICAgIG1hcmdpbi1sZWZ0OiAw
cHgKICAgICBtYXJnaW4tcmlnaHQ6IDBweAogICAgIG1hcmdpbi10b3A6IDBweAogICAgIG1heC1o
ZWlnaHQ6IG5vbmUKQEAgLTIxOCwxMiArMjE4LDEyIEBAIEFmdGVyIGNoYW5naW5nIGdyYW5kcGFy
ZW50J3MgJ2NvbG9yJyBhbmQgdGhlIHBhcmVudCdzICdmb250LXNpemUnIGluaGVyaXRlZCBwcm9w
CiAKIEFmdGVyIGNoYW5naW5nIHRoZSBwYXJlbnQncyAnZGlzcGxheScgcHJvcGVydHkgdG8gJ2Js
b2NrJywgc28gdGhhdCB0aGUgY2hpbGQgZ2V0cyBhIHJlbmRlcmVyOgogICAgIGhlaWdodDogMTAw
cHgKLSAgICBtYXJnaW4tbGVmdDogMzkycHgKKyAgICBtYXJnaW4tbGVmdDogMHB4CiAgICAgd2lk
dGg6IDM5MnB4CiAKIEFmdGVyIGNoYW5naW5nIHRoZSBwYXJlbnQncyAnZGlzcGxheScgcHJvcGVy
dHkgYmFjayB0byAnbm9uZSc6CiAgICAgaGVpZ2h0OiAxMDBweAotICAgIG1hcmdpbi1sZWZ0OiBh
dXRvCisgICAgbWFyZ2luLWxlZnQ6IDBweAogICAgIHdpZHRoOiA1MCUKIAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMTMwNmQ2NC4uYzdiMWQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTAy
LTEyICBKYXJyZWQgTmljaG9sbHMgIDxqYXJyZWRAc2VuY2hhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBnZXRDb21wdXRlZFN0eWxlIHJldHVy
bnMgd3JvbmcgdmFsdWUgZm9yIG1hcmdpbi1yaWdodAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzNDMKKyAgICAgICAgCisgICAgICAgIE1hdGNoaW5n
IElFLCBGaXJlZm94LCBhbmQgT3BlcmEgYmVoYXZpb3IgYnkgcmV0dXJuaW5nIHRoZSBjb21wdXRl
ZCBtYXJnaW4KKyAgICAgICAgdmFsdWVzIGFzIHNwZWNpZmllZCwgcmF0aGVyIHRoYW4gdGhlIHVz
ZWQvYXV0byB2YWx1ZXMgKGNhbGN1bGF0ZWQgdmlhIFJlbmRlckJveCkuCisgICAgICAgIEFsc28g
Q1NTIDIuMSsgY29tcGxpYW50IGJ5IHJldHVybmluZyBtYXJnaW4gcGVyY2VudGFnZSBhcyBzcGVj
aWZpZWQsIGlmIGFwcGxpY2FibGUuCisgICAgICAgIE5vdGU6IEZpcmVmb3ggYW5kIE9wZXJhIHJl
dHVybiBjYWxjdWxhdGVkIGZpeGVkIGxlbmd0aHMgZm9yIHBlcmNlbnRhZ2UgbWFyZ2lucywgSUUK
KyAgICAgICAgcmV0dXJucyB0aGUgc3BlY2lmaWVkIHBlcmNlbnRhZ2UuCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0
by5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1
dGVkU3R5bGUtbWFyZ2luLWxlbmd0aC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nzcy9nZXRD
b21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UuaHRtbAorCisg
ICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUp
OgorCiAyMDExLTAyLTEyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNjVhYmUzYi4uM2FiZGNlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKQEAgLTMsNiArMyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIw
MDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICog
Q29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDcgTmljaG9sYXMgU2hhbmtzIDx3ZWJraXRAbmlja3NoYW5rcy5j
b20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgU2VuY2hhLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMTEyMSwyNiArMTEyMiwzMCBAQCBQYXNzUmVmUHRy
PENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFs
dWUoaW50IHByb3BlcgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGUoc3R5bGUtPmxpc3RTdHlsZVBvc2l0aW9uKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
TGlzdFN0eWxlVHlwZToKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKHN0eWxlLT5saXN0U3R5bGVUeXBlKCkpOwotICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFy
Z2luVG9wOgotICAgICAgICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRlcmVyLT5pc0JveCgpKQot
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTdXBwb3NlZCB0byByZXR1cm4gdGhlIHBlcmNlbnRh
Z2UgaWYgcGVyY2VudGFnZSB3YXMgc3BlY2lmaWVkLgotICAgICAgICAgICAgICAgIHJldHVybiB6
b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+bWFyZ2luVG9wKCks
IHN0eWxlLmdldCgpKTsKLSAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKHN0eWxlLT5tYXJnaW5Ub3AoKSk7Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5S
aWdodDoKLSAgICAgICAgICAgIGlmIChyZW5kZXJlciAmJiByZW5kZXJlci0+aXNCb3goKSkKLSAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogU3VwcG9zZWQgdG8gcmV0dXJuIHRoZSBwZXJjZW50YWdl
IGlmIHBlcmNlbnRhZ2Ugd2FzIHNwZWNpZmllZC4KLSAgICAgICAgICAgICAgICByZXR1cm4gem9v
bUFkanVzdGVkUGl4ZWxWYWx1ZSh0b1JlbmRlckJveChyZW5kZXJlciktPm1hcmdpblJpZ2h0KCks
IHN0eWxlLmdldCgpKTsKLSAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKHN0eWxlLT5tYXJnaW5SaWdodCgpKTsKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdp
bkJvdHRvbToKLSAgICAgICAgICAgIGlmIChyZW5kZXJlciAmJiByZW5kZXJlci0+aXNCb3goKSkK
LSAgICAgICAgICAgICAgICAvLyBGSVhNRTogU3VwcG9zZWQgdG8gcmV0dXJuIHRoZSBwZXJjZW50
YWdlIGlmIHBlcmNlbnRhZ2Ugd2FzIHNwZWNpZmllZC4KLSAgICAgICAgICAgICAgICByZXR1cm4g
em9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh0b1JlbmRlckJveChyZW5kZXJlciktPm1hcmdpbkJvdHRv
bSgpLCBzdHlsZS5nZXQoKSk7Ci0gICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6
OmNyZWF0ZShzdHlsZS0+bWFyZ2luQm90dG9tKCkpOwotICAgICAgICBjYXNlIENTU1Byb3BlcnR5
TWFyZ2luTGVmdDoKLSAgICAgICAgICAgIGlmIChyZW5kZXJlciAmJiByZW5kZXJlci0+aXNCb3go
KSkKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogU3VwcG9zZWQgdG8gcmV0dXJuIHRoZSBwZXJj
ZW50YWdlIGlmIHBlcmNlbnRhZ2Ugd2FzIHNwZWNpZmllZC4KLSAgICAgICAgICAgICAgICByZXR1
cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh0b1JlbmRlckJveChyZW5kZXJlciktPm1hcmdpbkxl
ZnQoKSwgc3R5bGUuZ2V0KCkpOwotICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUoc3R5bGUtPm1hcmdpbkxlZnQoKSk7CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlN
YXJnaW5Ub3A6IHsKKyAgICAgICAgICAgIExlbmd0aCBtYXJnaW5Ub3AgPSBzdHlsZS0+bWFyZ2lu
VG9wKCk7CisgICAgICAgICAgICBpZiAobWFyZ2luVG9wLmlzUGVyY2VudCgpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1hcmdpblRvcCk7CisgICAg
ICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZShtYXJnaW5Ub3AudmFsdWUoKSwg
c3R5bGUuZ2V0KCkpOworICAgICAgICB9CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5S
aWdodDogeworICAgICAgICAgICAgTGVuZ3RoIG1hcmdpblJpZ2h0ID0gc3R5bGUtPm1hcmdpblJp
Z2h0KCk7CisgICAgICAgICAgICBpZiAobWFyZ2luUmlnaHQuaXNQZXJjZW50KCkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobWFyZ2luUmlnaHQpOwor
ICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWFyZ2luUmlnaHQudmFs
dWUoKSwgc3R5bGUuZ2V0KCkpOworICAgICAgICB9CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlN
YXJnaW5Cb3R0b206IHsKKyAgICAgICAgICAgIExlbmd0aCBtYXJnaW5Cb3R0b20gPSBzdHlsZS0+
bWFyZ2luQm90dG9tKCk7CisgICAgICAgICAgICBpZiAobWFyZ2luQm90dG9tLmlzUGVyY2VudCgp
KQorICAgICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1hcmdp
bkJvdHRvbSk7CisgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZShtYXJn
aW5Cb3R0b20udmFsdWUoKSwgc3R5bGUuZ2V0KCkpOworICAgICAgICB9CisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlNYXJnaW5MZWZ0OiB7CisgICAgICAgICAgICBMZW5ndGggbWFyZ2luTGVmdCA9
IHN0eWxlLT5tYXJnaW5MZWZ0KCk7CisgICAgICAgICAgICBpZiAobWFyZ2luTGVmdC5pc1BlcmNl
bnQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSht
YXJnaW5MZWZ0KTsKKyAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKG1h
cmdpbkxlZnQudmFsdWUoKSwgc3R5bGUuZ2V0KCkpOworICAgICAgICB9CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRNYXJxdWVlRGlyZWN0aW9uOgogICAgICAgICAgICAgcmV0dXJuIENT
U1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPm1hcnF1ZWVEaXJlY3Rpb24oKSk7CiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlSW5jcmVtZW50Ogo=
</data>

          </attachment>
      

    </bug>

</bugzilla>