<?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>73334</bug_id>
          
          <creation_ts>2011-11-29 10:34:08 -0800</creation_ts>
          <short_desc>getComputedStyle returns wrong value for margin-*</short_desc>
          <delta_ts>2013-07-22 17:21:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>118936</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike Sherov">mike.sherov</reporter>
          <assigned_to name="Jarred Nicholls">jarred</assigned_to>
          <cc>Alexander.Mitin</cc>
    
    <cc>darin</cc>
    
    <cc>iben</cc>
    
    <cc>jarred</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>macpherson</cc>
    
    <cc>paulirish</cc>
    
    <cc>rniwa</cc>
    
    <cc>shanestephens</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>510895</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2011-11-29 10:34:08 -0800</bug_when>
    <thetext>Since the change in: https://bugs.webkit.org/show_bug.cgi?id=13343 , getComputedStyle() returns the wrong value for margins. 

This is now against how IE9, FF3.6+, and Opera implements getComputedStyle() for margins. Open up the following jsfiddle in FF3.6+, Opera, IE9, and Chrome: 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 the comment in https://bugs.webkit.org/show_bug.cgi?id=13343 &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.

I understand that https://bugs.webkit.org/show_bug.cgi?id=13343 was implemented so that when the margin is not-defined it doesn&apos;t report the distance between the margin and it&apos;s parents edge. However, I believe there is a middle ground that when a pixel is explicitly specified, it should convert to px. It should still report 0px if unspecified (although unfortunately, IE9 doesn&apos;t do that). The following fiddles deals illustrate that case: http://jsfiddle.net/pyeNX/1/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512365</commentid>
    <comment_count>1</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2011-11-30 19:40:27 -0800</bug_when>
    <thetext>Sorry, I want to clarify a few of my original comments:

&quot;However, I believe there is a middle ground that when a pixel is explicitly specified, it should convert to px&quot; should read &quot;However, I believe there is a middle ground that when a percent is explicitly specified, it should convert to px.&quot;

I also want to bring up something I just brought up to the www-style mailing list: There is confusion amongst the browsers over what value to report in getComputedStyle() for margins when the value is set to auto. Now, it *may* be that every browser except IE9 is correct in reporting 0px for margin-right when margin is set to auto, as it is here: http://jsfiddle.net/pyeNX/13/ . However, isn&apos;t the margin here, expressed as pixels, greater than 0? Now, I know everyone but IE9 reports 0px, but I believe that &quot;used value&quot; would dictate this margin to be the actual pixel value used, which is clearly greater than 0! That&apos;s how the inner div gets centered!

I would argue that the correct behavior for margin should be as it is in IE9 (contrary to my previous comment):
if a unit (including percent) is specified: convert to pixels
when auto is specified: used value in pixels (as that&apos;s what the margin REALLY is)
when zero is specified: 0px</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513348</commentid>
    <comment_count>2</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-12-01 17:51:19 -0800</bug_when>
    <thetext>&gt; I would argue that the correct behavior for margin should be as it is in IE9 (contrary to my previous comment)

The best way forward would be to ask for this very behavior to be specified / clarified in the specification by posting on the www-style list. Make sure you post the link to the relevant thread here as it would help the person correcting our implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513391</commentid>
    <comment_count>3</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2011-12-01 19:00:45 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; I would argue that the correct behavior for margin should be as it is in IE9 (contrary to my previous comment)
&gt; 
&gt; The best way forward would be to ask for this very behavior to be specified / clarified in the specification by posting on the www-style list. Make sure you post the link to the relevant thread here as it would help the person correcting our implementation.

Julien, thanks for the feedback. I emailed that list last night, hopefully my message will be posted soon. I referenced this thread. Thanks! What are your thoughts on the issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514520</commentid>
    <comment_count>4</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-12-03 10:17:23 -0800</bug_when>
    <thetext>The correct behavior is clearly IE9, based on CSSOM&apos;s definition of resolved values.  The original issue in bug #13343 was that the margin being returned was the space between the element&apos;s right-edge and its parent&apos;s right-edge, and not what the user supplied (if anything).

While correcting that, we went ahead and complied with the older CSS21 and CSS3 editor drafts, which stated to return the user &quot;specified value&quot; - specifically, if the user supplied a % then a % would be returned.  I will revert this because CSSOM now clearly defines that the resolved/used value should be returned for several of the box model properties like margin-*, width, height, etc.  This not only goes for a supplied % unit, but also for &quot;auto&quot;.

I just need to fix some tests and I&apos;ll submit the patch later this evening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514538</commentid>
    <comment_count>5</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2011-12-03 10:49:25 -0800</bug_when>
    <thetext>Jarred,

Awesome. Glad we see eye to eye on this, but I do think the CSSOM needs some revising to clearly state what do to for &quot;auto&quot;. I submitted this to the www-style group: http://lists.w3.org/Archives/Public/www-style/2011Dec/0110.html

Is there a place that it&apos;s already clearly defined that used value for &quot;auto&quot; for box model elements attributes like margin clearly means &gt;0px? Obviously, I want to go to mozilla and opera next with this, and get them to change too, so I think it needs to be crystal clear. If so, link?

Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514540</commentid>
    <comment_count>6</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2011-12-03 10:54:13 -0800</bug_when>
    <thetext>Actually, here it is, SORT OF:

http://www.w3.org/TR/css3-values/#stages-examples

This example shows that &quot;auto&quot; for &quot;width&quot; needs to be the used value, which is &gt;0. But it does not specifically mention it for margin. I wonder if that&apos;s a source of confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514546</commentid>
    <comment_count>7</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-12-03 11:06:39 -0800</bug_when>
    <thetext>That&apos;s definitely it Mike.  The definition of the used value is clear, and the definition of resolved values is also clear: http://dev.w3.org/csswg/cssom/#dom-window-getcomputedstyle

The spec states the legacy behavior of getComputedStyle was to return computed values, but now they have the concept of resolved values.  And for those properties listed, the resolved value === used value (for most of them, only if display != none).

Firefox/Opera have the same behavior they&apos;ve had for almost 2 years - this is a relatively recent change in the spec for getComputedStyle, so Firefox and Opera are just behind IMHO, and IE9 happens to match.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515412</commentid>
    <comment_count>8</comment_count>
      <attachid>117942</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-12-05 14:45:57 -0800</bug_when>
    <thetext>Created attachment 117942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515417</commentid>
    <comment_count>9</comment_count>
      <attachid>117942</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-05 14:49:27 -0800</bug_when>
    <thetext>Comment on attachment 117942
Patch

Given the change there is not enough test coverage. For example, to test the isBox predicate, we need tests with different display values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515419</commentid>
    <comment_count>10</comment_count>
      <attachid>117942</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-05 14:50:13 -0800</bug_when>
    <thetext>Comment on attachment 117942
Patch

Thanks for contributing the patch. This does seem like a good code change. But we need some more test coverage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515421</commentid>
    <comment_count>11</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-12-05 14:52:22 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 117942 [details])
&gt; Thanks for contributing the patch. This does seem like a good code change. But we need some more test coverage.

Agreed, will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515426</commentid>
    <comment_count>12</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2011-12-05 14:56:39 -0800</bug_when>
    <thetext>&quot;And for those properties listed, the resolved value === used value (for most of them, only if display != none).&quot; needs to definitely be tested. But thanks for the proposed patch Jarred! 

http://bugs.jquery.com/ticket/10639 thanks you too! The workaround is just slow and nasty: https://github.com/jquery/jquery/pull/616/files#L0R280</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515427</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-05 14:56:57 -0800</bug_when>
    <thetext>While I am generally enthusiastic about this, I am a little worried about moving out in front of the other browsers on this change, and also a bit concerned that we are doing this for one property, when presumably this affects many others too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515430</commentid>
    <comment_count>14</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2011-12-05 15:04:46 -0800</bug_when>
    <thetext>Darin, there are two parts here. The first part, returning % for margin where all the other browsers already return px, shouldn&apos;t be in dispute, right?

As far as the margin:auto returning &gt;0px, IE9 does it this way, and I&apos;ve got the ball rolling with Opera and FF for this:
Opera: https://twitter.com/#!/mikesherov/status/143056305492471808
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=381328

With regards to the concerns for doing this only on margins, CSSOM used values specifically prescribes to use &quot;used value&quot; for box model attributes that have &quot;auto&quot; specified, which in this case is only margins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515431</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-05 15:05:38 -0800</bug_when>
    <thetext>OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515432</commentid>
    <comment_count>16</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-12-05 15:06:08 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; &quot;And for those properties listed, the resolved value === used value (for most of them, only if display != none).&quot; needs to definitely be tested. But thanks for the proposed patch Jarred! 
&gt; 

the &quot;without-renderer&quot; test covers this scenario but not 100% (it only checks margin-left and none of the others).  I&apos;ll write complete tests for margin-*.

(In reply to comment #13)
&gt; While I am generally enthusiastic about this, I am a little worried about moving out in front of the other browsers on this change, and also a bit concerned that we are doing this for one property, when presumably this affects many others too.

This would make us behave the same as IE9/IE10.  margin-* was the only set with major compliance failures inconsistent with the other properties; our width, height, line-height, and padding-* properties are already compliant AFAIK but I won&apos;t say for certain.  If we can land margin-* with 100% test coverage I can do the same analysis and test coverage for the other properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515668</commentid>
    <comment_count>17</comment_count>
      <attachid>117992</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-12-05 22:59:30 -0800</bug_when>
    <thetext>Created attachment 117992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515979</commentid>
    <comment_count>18</comment_count>
      <attachid>117992</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-12-06 09:43:37 -0800</bug_when>
    <thetext>Comment on attachment 117992
Patch

Clearing flags on attachment: 117992

Committed r102149: &lt;http://trac.webkit.org/changeset/102149&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515980</commentid>
    <comment_count>19</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-12-06 09:43:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784080</commentid>
    <comment_count>20</comment_count>
    <who name="">iben</who>
    <bug_when>2012-12-05 13:48:35 -0800</bug_when>
    <thetext>Apologies for my question, but I have just stumbled over this case number as I have been experiencing an issue that I was not expecting. This thread and the one it stemmed from, has lead me to believe this concerns my issue. However I have noticed this bug has been marked resolved which is where my confusion is stemming from.

After reading the W3C specs I was expecting a block level value that was over-constrained to return to me a negative value, in regards to the right-margin.

However it&apos;s returning the value I supplied it via CSS.



in the following example:

http://jsfiddle.net/fezec/EVuHR/1/

The provided url makes use of a DIV container and a PARAGRAPH child element.
The DIV width is set to 500px and the PARAGRAPH is given 100px MARGIN and is set to be 400px in WIDTH.  The expected result is that the right margin would become 0px, as this is the only way the Block Element formula is satisfied.

Yet when viewing the calculated and layout within Firebug, the margin right displays the styled value, NOT the used value.


Am I missing something? Have I learned enough information to merely hang myself with it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787593</commentid>
    <comment_count>21</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-12-10 11:40:04 -0800</bug_when>
    <thetext>&gt; Am I missing something? Have I learned enough information to merely hang myself with it?

Sorry but bugzilla is not a place for css questions, especially bugs closed for a long time.

If you think this is a WebKit bug, filing a _new_ bug is your best option. AFAICT the output of getComputedStyle is not totally standardized so you can ask www-style@w3.org for clarification on what is to be expected from the standard&apos;s perspective.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910871</commentid>
    <comment_count>22</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-07-22 16:56:42 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Apologies for my question, but I have just stumbled over this case number as I have been experiencing an issue that I was not expecting. This thread and the one it stemmed from, has lead me to believe this concerns my issue. However I have noticed this bug has been marked resolved which is where my confusion is stemming from.
&gt; 
&gt; After reading the W3C specs I was expecting a block level value that was over-constrained to return to me a negative value, in regards to the right-margin.

Indeed http://www.w3.org/TR/CSS2/visudet.html#blockwidth seems to indicate that&apos;s what we&apos;re supposed to do.

&gt; The provided url makes use of a DIV container and a PARAGRAPH child element.
&gt; The DIV width is set to 500px and the PARAGRAPH is given 100px MARGIN and is set to be 400px in WIDTH.  The expected result is that the right margin would become 0px, as this is the only way the Block Element formula is satisfied.
&gt; 
&gt; Yet when viewing the calculated and layout within Firebug, the margin right displays the styled value, NOT the used value.
&gt; 
&gt; Am I missing something? Have I learned enough information to merely hang myself with it?

I don&apos;t think you&apos;re missing anything.  However, I&apos;ve tested this on Firefox 22 and Internet Explorer 10 and they both return 100px for getComputedStyle(document.querySelector(&apos;p&apos;)).marginRight in the example you provided.  Given that, we should probably amend the specification instead.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117942</attachid>
            <date>2011-12-05 14:45:57 -0800</date>
            <delta_ts>2011-12-05 14:53:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73334-20111205174555.patch</filename>
            <type>text/plain</type>
            <size>8781</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FiYzE4NDEwZDVmMGZl
YjZkNzg5OTBmNGJiNjI4MmY0ZjhhOWNkYy4uYmZkODc4Mjk2OGNmODVkOGU3ZGU0NWUwZGY4NTBm
ZTVmNjE3M2I5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTEyLTA1ICBKYXJy
ZWQgTmljaG9sbHMgIDxqYXJyZWRAc2VuY2hhLmNvbT4KKworICAgICAgICBnZXRDb21wdXRlZFN0
eWxlIHJldHVybnMgd3JvbmcgdmFsdWUgZm9yIG1hcmdpbi0qCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzNAorCisgICAgICAgIG1hcmdpbi0qIGdl
dENvbXB1dGVkU3R5bGUgdmFsdWVzIHNob3VsZCByZXR1cm4gdGhlICJ1c2VkIiBhYnNvbHV0ZSB2
YWx1ZSB3aGVuIHRoZXJlIGlzIGEgcmVuZGVyZXIKKyAgICAgICAgYW5kIHRoZSBzcGVjaWZpZWQg
dmFsdWUgaXMgcmVsYXRpdmUgKHBlcmNlbnRhZ2UsIGF1dG8sIGV0Yy4pLgorICAgICAgICBXaGVu
IHRoZXJlIGlzIG5vIHJlbmRlcmVyLCB0aGUgc3BlY2lmaWVkIHZhbHVlIHNob3VsZCBiZSByZXR1
cm5lZC4KKyAgICAgICAgU2VlIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLyNyZXNvbHZl
ZC12YWx1ZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisK
IDIwMTEtMTItMDUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9zZWFyY2gtd2hlbi1lbGVtZW50LXN0YXJ0
cy1pbi10YWJsZS5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggYmM1MWFlOTQ2ODM3MzY5Zjc2ZmQ2
YTU4NTc0MTExMzU1YzA1ZDQ1Zi4uZDE2Mzk1YzgyNTcyZWQwM2VmODBjYzlkODUwOTRhOTU0YzRi
ODMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKQEAgLTE1ODYsMjcgKzE1ODYsMjcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9w
ZXIKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHN0eWxlLT5s
b2NhbGUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpOwogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5TWFyZ2luVG9wOiB7CiAgICAgICAgICAgICBMZW5ndGggbWFyZ2luVG9wID0gc3R5
bGUtPm1hcmdpblRvcCgpOwotICAgICAgICAgICAgaWYgKG1hcmdpblRvcC5pc1BlcmNlbnQoKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShtYXJnaW5U
b3ApOwotICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWFyZ2luVG9w
LnZhbHVlKCksIHN0eWxlLmdldCgpLCBjc3NWYWx1ZVBvb2wpOworICAgICAgICAgICAgaWYgKG1h
cmdpblRvcC5pc0ZpeGVkKCkgfHwgIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aXNCb3goKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZUZvckxlbmd0aChtYXJn
aW5Ub3AsIHN0eWxlLmdldCgpLCBjc3NWYWx1ZVBvb2wpOworICAgICAgICAgICAgcmV0dXJuIHpv
b21BZGp1c3RlZFBpeGVsVmFsdWUodG9SZW5kZXJCb3gocmVuZGVyZXIpLT5tYXJnaW5Ub3AoKSwg
c3R5bGUuZ2V0KCksIGNzc1ZhbHVlUG9vbCk7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eU1hcmdpblJpZ2h0OiB7CiAgICAgICAgICAgICBMZW5ndGggbWFyZ2luUmlnaHQgPSBz
dHlsZS0+bWFyZ2luUmlnaHQoKTsKLSAgICAgICAgICAgIGlmIChtYXJnaW5SaWdodC5pc1BlcmNl
bnQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZSht
YXJnaW5SaWdodCk7Ci0gICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSht
YXJnaW5SaWdodC52YWx1ZSgpLCBzdHlsZS5nZXQoKSwgY3NzVmFsdWVQb29sKTsKKyAgICAgICAg
ICAgIGlmIChtYXJnaW5SaWdodC5pc0ZpeGVkKCkgfHwgIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+
aXNCb3goKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZUZv
ckxlbmd0aChtYXJnaW5SaWdodCwgc3R5bGUuZ2V0KCksIGNzc1ZhbHVlUG9vbCk7CisgICAgICAg
ICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh0b1JlbmRlckJveChyZW5kZXJlcikt
Pm1hcmdpblJpZ2h0KCksIHN0eWxlLmdldCgpLCBjc3NWYWx1ZVBvb2wpOwogICAgICAgICB9CiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW5Cb3R0b206IHsKICAgICAgICAgICAgIExlbmd0
aCBtYXJnaW5Cb3R0b20gPSBzdHlsZS0+bWFyZ2luQm90dG9tKCk7Ci0gICAgICAgICAgICBpZiAo
bWFyZ2luQm90dG9tLmlzUGVyY2VudCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1
ZVBvb2wtPmNyZWF0ZVZhbHVlKG1hcmdpbkJvdHRvbSk7Ci0gICAgICAgICAgICByZXR1cm4gem9v
bUFkanVzdGVkUGl4ZWxWYWx1ZShtYXJnaW5Cb3R0b20udmFsdWUoKSwgc3R5bGUuZ2V0KCksIGNz
c1ZhbHVlUG9vbCk7CisgICAgICAgICAgICBpZiAobWFyZ2luQm90dG9tLmlzRml4ZWQoKSB8fCAh
cmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0JveCgpKQorICAgICAgICAgICAgICAgIHJldHVybiB6
b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKG1hcmdpbkJvdHRvbSwgc3R5bGUuZ2V0KCks
IGNzc1ZhbHVlUG9vbCk7CisgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1
ZSh0b1JlbmRlckJveChyZW5kZXJlciktPm1hcmdpbkJvdHRvbSgpLCBzdHlsZS5nZXQoKSwgY3Nz
VmFsdWVQb29sKTsKICAgICAgICAgfQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFyZ2luTGVm
dDogewogICAgICAgICAgICAgTGVuZ3RoIG1hcmdpbkxlZnQgPSBzdHlsZS0+bWFyZ2luTGVmdCgp
OwotICAgICAgICAgICAgaWYgKG1hcmdpbkxlZnQuaXNQZXJjZW50KCkpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUobWFyZ2luTGVmdCk7Ci0gICAgICAg
ICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZShtYXJnaW5MZWZ0LnZhbHVlKCksIHN0
eWxlLmdldCgpLCBjc3NWYWx1ZVBvb2wpOworICAgICAgICAgICAgaWYgKG1hcmdpbkxlZnQuaXNG
aXhlZCgpIHx8ICFyZW5kZXJlciB8fCAhcmVuZGVyZXItPmlzQm94KCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWVGb3JMZW5ndGgobWFyZ2luTGVmdCwgc3R5
bGUuZ2V0KCksIGNzc1ZhbHVlUG9vbCk7CisgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVk
UGl4ZWxWYWx1ZSh0b1JlbmRlckJveChyZW5kZXJlciktPm1hcmdpbkxlZnQoKSwgc3R5bGUuZ2V0
KCksIGNzc1ZhbHVlUG9vbCk7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdE1hcnF1ZWVEaXJlY3Rpb246CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLT5j
cmVhdGVWYWx1ZShzdHlsZS0+bWFycXVlZURpcmVjdGlvbigpKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5NjZlOGFkOGJi
MDk3ZjE4MmIwYjJiY2ExNzBhZjk0NGZhNWVkYzhlLi4yNTQ5ZWRjMzc1ZmFlYWQxODJlMGZkNGNh
N2QyN2QzMzExYzU0NzcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTItMDUgIEphcnJl
ZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIGdldENvbXB1dGVkU3R5
bGUgcmV0dXJucyB3cm9uZyB2YWx1ZSBmb3IgbWFyZ2luLSoKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMzM0CisKKyAgICAgICAgTW9kaWZpZWQgYmFz
ZWxpbmUgdGVzdHMgZm9yIGdldENvbXB1dGVkU3R5bGUgbWFyZ2luIHZhbHVlcyB3aGVyZSBhICJ1
c2VkIiB2YWx1ZSBpcyByZXR1cm5lZC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5
bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1hdXRvLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFy
Z2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
LXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVu
ZGVyZXItZXhwZWN0ZWQudHh0OgorCiAyMDExLTEyLTA1ICBBbG9rIFByaXlhZGFyc2hpICA8YWxv
a3BAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgY2hyb21pdW0gdGVzdHMgcmVi
YXNlbGluZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5
bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVu
ZGVyZXItZXhwZWN0ZWQudHh0CmluZGV4IGZlNTg0YTE5MzQ4ZDUzZjczNWU0ODYyNGE1NmQwZjk0
NWNiNGM3YzAuLmQwYWQ1NjMyNThiMzM2MTkzZDhmNWNjMzVmN2RiNzJmZDZhNmM5ZmYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5
bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVj
dGVkLnR4dApAQCAtNTUsNyArNTUsNyBAQCBDb21wdXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdo
b3NlIHBhcmVudCdzICdkaXNwbGF5JyB2YWx1ZSBpcyAnbm9uZSc6CiAgICAgbGlzdC1zdHlsZS1w
b3NpdGlvbjogb3V0c2lkZQogICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYwogICAgIG1hcmdpbi1i
b3R0b206IDBweAotICAgIG1hcmdpbi1sZWZ0OiAwcHgKKyAgICBtYXJnaW4tbGVmdDogYXV0bwog
ICAgIG1hcmdpbi1yaWdodDogMHB4CiAgICAgbWFyZ2luLXRvcDogMHB4CiAgICAgbWF4LWhlaWdo
dDogbm9uZQpAQCAtMjY2LDEyICsyNjYsMTIgQEAgQWZ0ZXIgY2hhbmdpbmcgZ3JhbmRwYXJlbnQn
cyAnY29sb3InIGFuZCB0aGUgcGFyZW50J3MgJ2ZvbnQtc2l6ZScgaW5oZXJpdGVkIHByb3AKIAog
QWZ0ZXIgY2hhbmdpbmcgdGhlIHBhcmVudCdzICdkaXNwbGF5JyBwcm9wZXJ0eSB0byAnYmxvY2sn
LCBzbyB0aGF0IHRoZSBjaGlsZCBnZXRzIGEgcmVuZGVyZXI6CiAgICAgaGVpZ2h0OiAxMDBweAot
ICAgIG1hcmdpbi1sZWZ0OiAwcHgKKyAgICBtYXJnaW4tbGVmdDogMzg1cHgKICAgICB3aWR0aDog
Mzg0cHgKIAogQWZ0ZXIgY2hhbmdpbmcgdGhlIHBhcmVudCdzICdkaXNwbGF5JyBwcm9wZXJ0eSBi
YWNrIHRvICdub25lJzoKICAgICBoZWlnaHQ6IDEwMHB4Ci0gICAgbWFyZ2luLWxlZnQ6IDBweAor
ICAgIG1hcmdpbi1sZWZ0OiBhdXRvCiAgICAgd2lkdGg6IDUwJQogCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJn
aW4tYXV0by1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWF1dG8tZXhwZWN0ZWQudHh0CmluZGV4IDQxNGNh
NTUyZmI4YmY3NTI2ZTUwNmIzYjM4OTA0NWRmNWRmMTc0MTkuLmFkNzI1ZmNkNzhkYWEwNGE2OTkx
YmU5MmIxZDA5NTNiZTY4ZTdkMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dl
dENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLW1hcmdpbi1hdXRvLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIFRlc3QgY2FsbGlu
ZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNvbXB1dGVkIG1hcmdpbiBzdHlsZXMuCiAKLW1hcmdpbi1s
ZWZ0OiAwcHgKK21hcmdpbi1sZWZ0OiAxODZweAogbWFyZ2luLXRvcDogMHB4Ci1tYXJnaW4tcmln
aHQ6IDBweAorbWFyZ2luLXJpZ2h0OiAxODZweAogbWFyZ2luLWJvdHRvbTogMHB4CiBUZXN0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1
dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdl
LWV4cGVjdGVkLnR4dAppbmRleCA1NmJjZjFjZDQzZDk5MjRhN2RlYTU1MjM0MGE4ZjI5Y2JmNGMy
Njc4Li4wODYzNjk4NWJmNTczOTQ0MjdmNmI0YTcxMDMyNDRkNjAwYjI0OGE0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBl
Y3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiBUZXN0IGNhbGxpbmcgZ2V0UHJvcGVydHlWYWx1ZSBv
biBjb21wdXRlZCBtYXJnaW4gc3R5bGVzLgogCi1tYXJnaW4tbGVmdDogMzMlCi1tYXJnaW4tdG9w
OiAxMCUKLW1hcmdpbi1yaWdodDogMHB4CittYXJnaW4tbGVmdDogMjU4cHgKK21hcmdpbi10b3A6
IDc4cHgKK21hcmdpbi1yaWdodDogMTE0cHgKIG1hcmdpbi1ib3R0b206IDBweAogVGVzdApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRT
dHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAppbmRleCBl
OWI2ZWY5NmY0YzllMjY3ZjM4ZTRlYTk0OTQ4Mjk2ZmJlOGRhNDU2Li42Y2Y0YzAxNWM0Njg3ZGNi
OGIxZTIzZjc2YTIxYmNhMzUyMGEzMTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13
aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRo
b3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dApAQCAtNTUsNyArNTUsNyBAQCBDb21wdXRlZCBzdHls
ZSBvZiBhbiBlbGVtZW50IHdob3NlIHBhcmVudCdzICdkaXNwbGF5JyB2YWx1ZSBpcyAnbm9uZSc6
CiAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZQogICAgIGxpc3Qtc3R5bGUtdHlwZTog
ZGlzYwogICAgIG1hcmdpbi1ib3R0b206IDBweAotICAgIG1hcmdpbi1sZWZ0OiAwcHgKKyAgICBt
YXJnaW4tbGVmdDogYXV0bwogICAgIG1hcmdpbi1yaWdodDogMHB4CiAgICAgbWFyZ2luLXRvcDog
MHB4CiAgICAgbWF4LWhlaWdodDogbm9uZQpAQCAtMjY2LDEyICsyNjYsMTIgQEAgQWZ0ZXIgY2hh
bmdpbmcgZ3JhbmRwYXJlbnQncyAnY29sb3InIGFuZCB0aGUgcGFyZW50J3MgJ2ZvbnQtc2l6ZScg
aW5oZXJpdGVkIHByb3AKIAogQWZ0ZXIgY2hhbmdpbmcgdGhlIHBhcmVudCdzICdkaXNwbGF5JyBw
cm9wZXJ0eSB0byAnYmxvY2snLCBzbyB0aGF0IHRoZSBjaGlsZCBnZXRzIGEgcmVuZGVyZXI6CiAg
ICAgaGVpZ2h0OiAxMDBweAotICAgIG1hcmdpbi1sZWZ0OiAwcHgKKyAgICBtYXJnaW4tbGVmdDog
Mzg1cHgKICAgICB3aWR0aDogMzg0cHgKIAogQWZ0ZXIgY2hhbmdpbmcgdGhlIHBhcmVudCdzICdk
aXNwbGF5JyBwcm9wZXJ0eSBiYWNrIHRvICdub25lJzoKICAgICBoZWlnaHQ6IDEwMHB4Ci0gICAg
bWFyZ2luLWxlZnQ6IDBweAorICAgIG1hcmdpbi1sZWZ0OiBhdXRvCiAgICAgd2lkdGg6IDUwJQog
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117992</attachid>
            <date>2011-12-05 22:59:30 -0800</date>
            <delta_ts>2011-12-06 09:43:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73334-20111206015928.patch</filename>
            <type>text/plain</type>
            <size>20141</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FiYzE4NDEwZDVmMGZl
YjZkNzg5OTBmNGJiNjI4MmY0ZjhhOWNkYy4uMmY2ZjRjN2EyMDVkMzgzZWJiODc1MzIyZDBjNmJl
NThhZDcwZjBhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTA1ICBKYXJy
ZWQgTmljaG9sbHMgIDxqYXJyZWRAc2VuY2hhLmNvbT4KKworICAgICAgICBnZXRDb21wdXRlZFN0
eWxlIHJldHVybnMgd3JvbmcgdmFsdWUgZm9yIG1hcmdpbi0qCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzNAorCisgICAgICAgIG1hcmdpbi0qIGdl
dENvbXB1dGVkU3R5bGUgdmFsdWVzIHNob3VsZCByZXR1cm4gdGhlICJ1c2VkIiBhYnNvbHV0ZSB2
YWx1ZSB3aGVuIHRoZXJlIGlzIGEgcmVuZGVyZXIKKyAgICAgICAgYW5kIHRoZSBzcGVjaWZpZWQg
dmFsdWUgaXMgcmVsYXRpdmUgKHBlcmNlbnRhZ2UsIGF1dG8sIGV0Yy4pLgorICAgICAgICBXaGVu
IHRoZXJlIGlzIG5vIHJlbmRlcmVyLCB0aGUgc3BlY2lmaWVkIHZhbHVlIHNob3VsZCBiZSByZXR1
cm5lZC4KKyAgICAgICAgU2VlIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLyNyZXNvbHZl
ZC12YWx1ZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGVzdDogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXJlc29s
dmVkLXZhbHVlcy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6
Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisKIDIwMTEtMTItMDUgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9z
ZWFyY2gtd2hlbi1lbGVtZW50LXN0YXJ0cy1pbi10YWJsZS5odG1sIGlzIGZhaWxpbmcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5k
ZXggYmM1MWFlOTQ2ODM3MzY5Zjc2ZmQ2YTU4NTc0MTExMzU1YzA1ZDQ1Zi4uNzBhZWQ0YmQwYzNk
Mzk0OTkyMThkYTM2OWQ2ZjI1YmM1ZTk0NTQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE1ODYsMjcgKzE1ODYsMzUg
QEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQ
cm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBv
b2wtPmNyZWF0ZVZhbHVlKHN0eWxlLT5sb2NhbGUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19T
VFJJTkcpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWFyZ2luVG9wOiB7CiAgICAgICAgICAg
ICBMZW5ndGggbWFyZ2luVG9wID0gc3R5bGUtPm1hcmdpblRvcCgpOwotICAgICAgICAgICAgaWYg
KG1hcmdpblRvcC5pc1BlcmNlbnQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQ
b29sLT5jcmVhdGVWYWx1ZShtYXJnaW5Ub3ApOwotICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1
c3RlZFBpeGVsVmFsdWUobWFyZ2luVG9wLnZhbHVlKCksIHN0eWxlLmdldCgpLCBjc3NWYWx1ZVBv
b2wpOworICAgICAgICAgICAgaWYgKG1hcmdpblRvcC5pc0ZpeGVkKCkgfHwgIXJlbmRlcmVyIHx8
ICFyZW5kZXJlci0+aXNCb3goKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVk
UGl4ZWxWYWx1ZUZvckxlbmd0aChtYXJnaW5Ub3AsIHN0eWxlLmdldCgpLCBjc3NWYWx1ZVBvb2wp
OworICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUodG9SZW5kZXJCb3go
cmVuZGVyZXIpLT5tYXJnaW5Ub3AoKSwgc3R5bGUuZ2V0KCksIGNzc1ZhbHVlUG9vbCk7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdpblJpZ2h0OiB7CiAgICAgICAgICAg
ICBMZW5ndGggbWFyZ2luUmlnaHQgPSBzdHlsZS0+bWFyZ2luUmlnaHQoKTsKKyAgICAgICAgICAg
IGlmIChtYXJnaW5SaWdodC5pc0ZpeGVkKCkgfHwgIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aXNC
b3goKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZUZvckxl
bmd0aChtYXJnaW5SaWdodCwgc3R5bGUuZ2V0KCksIGNzc1ZhbHVlUG9vbCk7CisgICAgICAgICAg
ICBpbnQgdmFsdWU7CiAgICAgICAgICAgICBpZiAobWFyZ2luUmlnaHQuaXNQZXJjZW50KCkpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUobWFyZ2luUmln
aHQpOwotICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWFyZ2luUmln
aHQudmFsdWUoKSwgc3R5bGUuZ2V0KCksIGNzc1ZhbHVlUG9vbCk7CisgICAgICAgICAgICAgICAg
Ly8gUmVuZGVyQm94IGdpdmVzIGEgbWFyZ2luUmlnaHQoKSB0aGF0IGlzIHRoZSBkaXN0YW5jZSBi
ZXR3ZWVuIHRoZSByaWdodC1lZGdlIG9mIHRoZSBjaGlsZCBib3gKKyAgICAgICAgICAgICAgICAv
LyBhbmQgdGhlIHJpZ2h0LWVkZ2Ugb2YgdGhlIGNvbnRhaW5pbmcgYm94LCB3aGVuIGRpc3BsYXkg
PT0gQkxPQ0suIExldCdzIGNhbGN1bGF0ZSB0aGUgYWJzb2x1dGUKKyAgICAgICAgICAgICAgICAv
LyB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIG1hcmdpbi1yaWdodCAlIGluc3RlYWQgb2YgcmVseWlu
ZyBvbiBSZW5kZXJCb3gncyBtYXJnaW5SaWdodCgpIHZhbHVlLgorICAgICAgICAgICAgICAgIHZh
bHVlID0gbWFyZ2luUmlnaHQuY2FsY01pblZhbHVlKHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+Y29u
dGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yQ29udGVudCgpKTsKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICB2YWx1ZSA9IHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+bWFyZ2luUmln
aHQoKTsKKyAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHZhbHVlLCBz
dHlsZS5nZXQoKSwgY3NzVmFsdWVQb29sKTsKICAgICAgICAgfQogICAgICAgICBjYXNlIENTU1By
b3BlcnR5TWFyZ2luQm90dG9tOiB7CiAgICAgICAgICAgICBMZW5ndGggbWFyZ2luQm90dG9tID0g
c3R5bGUtPm1hcmdpbkJvdHRvbSgpOwotICAgICAgICAgICAgaWYgKG1hcmdpbkJvdHRvbS5pc1Bl
cmNlbnQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1
ZShtYXJnaW5Cb3R0b20pOwotICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFs
dWUobWFyZ2luQm90dG9tLnZhbHVlKCksIHN0eWxlLmdldCgpLCBjc3NWYWx1ZVBvb2wpOworICAg
ICAgICAgICAgaWYgKG1hcmdpbkJvdHRvbS5pc0ZpeGVkKCkgfHwgIXJlbmRlcmVyIHx8ICFyZW5k
ZXJlci0+aXNCb3goKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxW
YWx1ZUZvckxlbmd0aChtYXJnaW5Cb3R0b20sIHN0eWxlLmdldCgpLCBjc3NWYWx1ZVBvb2wpOwor
ICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUodG9SZW5kZXJCb3gocmVu
ZGVyZXIpLT5tYXJnaW5Cb3R0b20oKSwgc3R5bGUuZ2V0KCksIGNzc1ZhbHVlUG9vbCk7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdpbkxlZnQ6IHsKICAgICAgICAgICAg
IExlbmd0aCBtYXJnaW5MZWZ0ID0gc3R5bGUtPm1hcmdpbkxlZnQoKTsKLSAgICAgICAgICAgIGlm
IChtYXJnaW5MZWZ0LmlzUGVyY2VudCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1
ZVBvb2wtPmNyZWF0ZVZhbHVlKG1hcmdpbkxlZnQpOwotICAgICAgICAgICAgcmV0dXJuIHpvb21B
ZGp1c3RlZFBpeGVsVmFsdWUobWFyZ2luTGVmdC52YWx1ZSgpLCBzdHlsZS5nZXQoKSwgY3NzVmFs
dWVQb29sKTsKKyAgICAgICAgICAgIGlmIChtYXJnaW5MZWZ0LmlzRml4ZWQoKSB8fCAhcmVuZGVy
ZXIgfHwgIXJlbmRlcmVyLT5pc0JveCgpKQorICAgICAgICAgICAgICAgIHJldHVybiB6b29tQWRq
dXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKG1hcmdpbkxlZnQsIHN0eWxlLmdldCgpLCBjc3NWYWx1
ZVBvb2wpOworICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUodG9SZW5k
ZXJCb3gocmVuZGVyZXIpLT5tYXJnaW5MZWZ0KCksIHN0eWxlLmdldCgpLCBjc3NWYWx1ZVBvb2wp
OwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlRGlyZWN0
aW9uOgogICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUoc3R5bGUt
Pm1hcnF1ZWVEaXJlY3Rpb24oKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTY2ZThhZDhiYjA5N2YxODJiMGIyYmNhMTcw
YWY5NDRmYTVlZGM4ZS4uNmJkZjhlNGNkYjVlNTNhMWFlMGE1NGQ2ODk3YTdhNTUyNzgxMjgzOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTEyLTA1ICBKYXJyZWQgTmljaG9sbHMgIDxqYXJy
ZWRAc2VuY2hhLmNvbT4KKworICAgICAgICBnZXRDb21wdXRlZFN0eWxlIHJldHVybnMgd3Jvbmcg
dmFsdWUgZm9yIG1hcmdpbi0qCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzMzNAorCisgICAgICAgIE1vZGlmaWVkIGJhc2VsaW5lIHRlc3RzIGZvciBn
ZXRDb21wdXRlZFN0eWxlIG1hcmdpbiB2YWx1ZXMgd2hlcmUgYSAidXNlZCIgdmFsdWUgaXMgcmV0
dXJuZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVy
ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0
Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0by1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1
dGVkU3R5bGUtcmVzb2x2ZWQtdmFsdWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXJlc29sdmVkLXZhbHVl
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVk
LnR4dDoKKwogMjAxMS0xMi0wNSAgQWxvayBQcml5YWRhcnNoaSAgPGFsb2twQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIGNocm9taXVtIHRlc3RzIHJlYmFzZWxpbmUuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0
eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVk
LnR4dAppbmRleCBmZTU4NGExOTM0OGQ1M2Y3MzVlNDg2MjRhNTZkMGY5NDVjYjRjN2MwLi5kMGFk
NTYzMjU4YjMzNjE5M2Q4ZjVjYzM1ZjdkYjcyZmQ2YTZjOWZmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVu
ZGVyZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKQEAgLTU1
LDcgKzU1LDcgQEAgQ29tcHV0ZWQgc3R5bGUgb2YgYW4gZWxlbWVudCB3aG9zZSBwYXJlbnQncyAn
ZGlzcGxheScgdmFsdWUgaXMgJ25vbmUnOgogICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNp
ZGUKICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MKICAgICBtYXJnaW4tYm90dG9tOiAwcHgKLSAg
ICBtYXJnaW4tbGVmdDogMHB4CisgICAgbWFyZ2luLWxlZnQ6IGF1dG8KICAgICBtYXJnaW4tcmln
aHQ6IDBweAogICAgIG1hcmdpbi10b3A6IDBweAogICAgIG1heC1oZWlnaHQ6IG5vbmUKQEAgLTI2
NiwxMiArMjY2LDEyIEBAIEFmdGVyIGNoYW5naW5nIGdyYW5kcGFyZW50J3MgJ2NvbG9yJyBhbmQg
dGhlIHBhcmVudCdzICdmb250LXNpemUnIGluaGVyaXRlZCBwcm9wCiAKIEFmdGVyIGNoYW5naW5n
IHRoZSBwYXJlbnQncyAnZGlzcGxheScgcHJvcGVydHkgdG8gJ2Jsb2NrJywgc28gdGhhdCB0aGUg
Y2hpbGQgZ2V0cyBhIHJlbmRlcmVyOgogICAgIGhlaWdodDogMTAwcHgKLSAgICBtYXJnaW4tbGVm
dDogMHB4CisgICAgbWFyZ2luLWxlZnQ6IDM4NXB4CiAgICAgd2lkdGg6IDM4NHB4CiAKIEFmdGVy
IGNoYW5naW5nIHRoZSBwYXJlbnQncyAnZGlzcGxheScgcHJvcGVydHkgYmFjayB0byAnbm9uZSc6
CiAgICAgaGVpZ2h0OiAxMDBweAotICAgIG1hcmdpbi1sZWZ0OiAwcHgKKyAgICBtYXJnaW4tbGVm
dDogYXV0bwogICAgIHdpZHRoOiA1MCUKIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWF1dG8tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRl
ZFN0eWxlLW1hcmdpbi1hdXRvLWV4cGVjdGVkLnR4dAppbmRleCA0MTRjYTU1MmZiOGJmNzUyNmU1
MDZiM2IzODkwNDVkZjVkZjE3NDE5Li5hZDcyNWZjZDc4ZGFhMDRhNjk5MWJlOTJiMWQwOTUzYmU2
OGU3ZDA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxl
L2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLWF1dG8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tYXV0
by1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiBUZXN0IGNhbGxpbmcgZ2V0UHJvcGVydHlW
YWx1ZSBvbiBjb21wdXRlZCBtYXJnaW4gc3R5bGVzLgogCi1tYXJnaW4tbGVmdDogMHB4CittYXJn
aW4tbGVmdDogMTg2cHgKIG1hcmdpbi10b3A6IDBweAotbWFyZ2luLXJpZ2h0OiAwcHgKK21hcmdp
bi1yaWdodDogMTg2cHgKIG1hcmdpbi1ib3R0b206IDBweAogVGVzdApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdp
bi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS1leHBlY3RlZC50eHQK
aW5kZXggNTZiY2YxY2Q0M2Q5OTI0YTdkZWE1NTIzNDBhOGYyOWNiZjRjMjY3OC4uMDg2MzY5ODVi
ZjU3Mzk0NDI3ZjZiNGE3MTAzMjQ0ZDYwMGIyNDhhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50
YWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0CkBAIC0x
LDcgKzEsNyBAQAogVGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQgbWFy
Z2luIHN0eWxlcy4KIAotbWFyZ2luLWxlZnQ6IDMzJQotbWFyZ2luLXRvcDogMTAlCi1tYXJnaW4t
cmlnaHQ6IDBweAorbWFyZ2luLWxlZnQ6IDI1OHB4CittYXJnaW4tdG9wOiA3OHB4CittYXJnaW4t
cmlnaHQ6IDExNHB4CiBtYXJnaW4tYm90dG9tOiAwcHgKIFRlc3QKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1yZXNvbHZl
ZC12YWx1ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRT
dHlsZS9nZXRDb21wdXRlZFN0eWxlLXJlc29sdmVkLXZhbHVlcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTE1ZjMwNDVjODQ0MzIyN2FmYWQ3ODRmZDRjNTY2NWJlN2IyMWVhNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0
ZWRTdHlsZS1yZXNvbHZlZC12YWx1ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjc0IEBACitU
ZXN0IGNhbGxpbmcgZ2V0UHJvcGVydHlWYWx1ZSBvbiBjb21wdXRlZCBzdHlsZXMgdGhhdCByZXR1
cm4gInJlc29sdmVkIiB2YWx1ZXMuCitTZWUgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20v
I3Jlc29sdmVkLXZhbHVlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKworUmVzb2x2ZWQgdmFsdWVz
IGZvciBlbGVtZW50ICJmaXhlZCIgd2l0aCBkaXNwbGF5ICJibG9jayI6CitsaW5lLWhlaWdodDog
MzBweAord2lkdGg6IDE1MHB4CitoZWlnaHQ6IDEwMHB4CittYXJnaW4tdG9wOiAxNXB4CittYXJn
aW4tcmlnaHQ6IDMwcHgKK21hcmdpbi1ib3R0b206IDIwcHgKK21hcmdpbi1sZWZ0OiAxMHB4Citw
YWRkaW5nLXRvcDogMjBweAorcGFkZGluZy1yaWdodDogMjBweAorcGFkZGluZy1ib3R0b206IDIw
cHgKK3BhZGRpbmctbGVmdDogMjBweAorCitSZXNvbHZlZCB2YWx1ZXMgZm9yIGVsZW1lbnQgImZp
eGVkIiB3aXRoIGRpc3BsYXkgImlubGluZSI6CitsaW5lLWhlaWdodDogMzBweAord2lkdGg6IGF1
dG8KK2hlaWdodDogYXV0bworbWFyZ2luLXRvcDogMTVweAorbWFyZ2luLXJpZ2h0OiAzMHB4Citt
YXJnaW4tYm90dG9tOiAyMHB4CittYXJnaW4tbGVmdDogMTBweAorcGFkZGluZy10b3A6IDIwcHgK
K3BhZGRpbmctcmlnaHQ6IDIwcHgKK3BhZGRpbmctYm90dG9tOiAyMHB4CitwYWRkaW5nLWxlZnQ6
IDIwcHgKKworUmVzb2x2ZWQgdmFsdWVzIGZvciBlbGVtZW50ICJmaXhlZCIgd2l0aCBkaXNwbGF5
ICJpbmxpbmUtYmxvY2siOgorbGluZS1oZWlnaHQ6IDMwcHgKK3dpZHRoOiAxNTBweAoraGVpZ2h0
OiAxMDBweAorbWFyZ2luLXRvcDogMTVweAorbWFyZ2luLXJpZ2h0OiAzMHB4CittYXJnaW4tYm90
dG9tOiAyMHB4CittYXJnaW4tbGVmdDogMTBweAorcGFkZGluZy10b3A6IDIwcHgKK3BhZGRpbmct
cmlnaHQ6IDIwcHgKK3BhZGRpbmctYm90dG9tOiAyMHB4CitwYWRkaW5nLWxlZnQ6IDIwcHgKKwor
UmVzb2x2ZWQgdmFsdWVzIGZvciBlbGVtZW50ICJmaXhlZCIgd2l0aCBkaXNwbGF5ICJub25lIjoK
K2xpbmUtaGVpZ2h0OiAzMHB4Cit3aWR0aDogMTUwcHgKK2hlaWdodDogMTAwcHgKK21hcmdpbi10
b3A6IDE1cHgKK21hcmdpbi1yaWdodDogMzBweAorbWFyZ2luLWJvdHRvbTogMjBweAorbWFyZ2lu
LWxlZnQ6IDEwcHgKK3BhZGRpbmctdG9wOiAyMHB4CitwYWRkaW5nLXJpZ2h0OiAyMHB4CitwYWRk
aW5nLWJvdHRvbTogMjBweAorcGFkZGluZy1sZWZ0OiAyMHB4CisKKworUmVzb2x2ZWQgdmFsdWVz
IGZvciBlbGVtZW50ICJwZXJjZW50cyIgd2l0aCBkaXNwbGF5ICJibG9jayI6CitsaW5lLWhlaWdo
dDogMzZweAord2lkdGg6IDI1MHB4CitoZWlnaHQ6IDc1cHgKK21hcmdpbi10b3A6IDUwcHgKK21h
cmdpbi1yaWdodDogMjVweAorbWFyZ2luLWJvdHRvbTogNTBweAorbWFyZ2luLWxlZnQ6IDEwMHB4
CitwYWRkaW5nLXRvcDogMjVweAorcGFkZGluZy1yaWdodDogMjVweAorcGFkZGluZy1ib3R0b206
IDI1cHgKK3BhZGRpbmctbGVmdDogMjVweAorCitSZXNvbHZlZCB2YWx1ZXMgZm9yIGVsZW1lbnQg
InBlcmNlbnRzIiB3aXRoIGRpc3BsYXkgImlubGluZSI6CitsaW5lLWhlaWdodDogMzZweAord2lk
dGg6IGF1dG8KK2hlaWdodDogYXV0bworbWFyZ2luLXRvcDogMTAlCittYXJnaW4tcmlnaHQ6IDUl
CittYXJnaW4tYm90dG9tOiAxMCUKK21hcmdpbi1sZWZ0OiAyMCUKK3BhZGRpbmctdG9wOiA1JQor
cGFkZGluZy1yaWdodDogNSUKK3BhZGRpbmctYm90dG9tOiA1JQorcGFkZGluZy1sZWZ0OiA1JQor
CitSZXNvbHZlZCB2YWx1ZXMgZm9yIGVsZW1lbnQgInBlcmNlbnRzIiB3aXRoIGRpc3BsYXkgImlu
bGluZS1ibG9jayI6CitsaW5lLWhlaWdodDogMzZweAord2lkdGg6IDI1MHB4CitoZWlnaHQ6IDc1
cHgKK21hcmdpbi10b3A6IDUwcHgKK21hcmdpbi1yaWdodDogMjVweAorbWFyZ2luLWJvdHRvbTog
NTBweAorbWFyZ2luLWxlZnQ6IDEwMHB4CitwYWRkaW5nLXRvcDogMjVweAorcGFkZGluZy1yaWdo
dDogMjVweAorcGFkZGluZy1ib3R0b206IDI1cHgKK3BhZGRpbmctbGVmdDogMjVweAorCitSZXNv
bHZlZCB2YWx1ZXMgZm9yIGVsZW1lbnQgInBlcmNlbnRzIiB3aXRoIGRpc3BsYXkgIm5vbmUiOgor
bGluZS1oZWlnaHQ6IDM2cHgKK3dpZHRoOiA1MCUKK2hlaWdodDogMjUlCittYXJnaW4tdG9wOiAx
MCUKK21hcmdpbi1yaWdodDogNSUKK21hcmdpbi1ib3R0b206IDEwJQorbWFyZ2luLWxlZnQ6IDIw
JQorcGFkZGluZy10b3A6IDUlCitwYWRkaW5nLXJpZ2h0OiA1JQorcGFkZGluZy1ib3R0b206IDUl
CitwYWRkaW5nLWxlZnQ6IDUlCisKKworUmVzb2x2ZWQgdmFsdWVzIGZvciBlbGVtZW50ICJlbXMi
IHdpdGggZGlzcGxheSAiYmxvY2siOgorbGluZS1oZWlnaHQ6IDI0cHgKK3dpZHRoOiAyNDBweAor
aGVpZ2h0OiAxMjBweAorbWFyZ2luLXRvcDogMjRweAorbWFyZ2luLXJpZ2h0OiAxMnB4CittYXJn
aW4tYm90dG9tOiAzNnB4CittYXJnaW4tbGVmdDogNDhweAorcGFkZGluZy10b3A6IDE4cHgKK3Bh
ZGRpbmctcmlnaHQ6IDE4cHgKK3BhZGRpbmctYm90dG9tOiAxOHB4CitwYWRkaW5nLWxlZnQ6IDE4
cHgKKworUmVzb2x2ZWQgdmFsdWVzIGZvciBlbGVtZW50ICJlbXMiIHdpdGggZGlzcGxheSAiaW5s
aW5lIjoKK2xpbmUtaGVpZ2h0OiAyNHB4Cit3aWR0aDogYXV0bworaGVpZ2h0OiBhdXRvCittYXJn
aW4tdG9wOiAyNHB4CittYXJnaW4tcmlnaHQ6IDEycHgKK21hcmdpbi1ib3R0b206IDM2cHgKK21h
cmdpbi1sZWZ0OiA0OHB4CitwYWRkaW5nLXRvcDogMThweAorcGFkZGluZy1yaWdodDogMThweAor
cGFkZGluZy1ib3R0b206IDE4cHgKK3BhZGRpbmctbGVmdDogMThweAorCitSZXNvbHZlZCB2YWx1
ZXMgZm9yIGVsZW1lbnQgImVtcyIgd2l0aCBkaXNwbGF5ICJpbmxpbmUtYmxvY2siOgorbGluZS1o
ZWlnaHQ6IDI0cHgKK3dpZHRoOiAyNDBweAoraGVpZ2h0OiAxMjBweAorbWFyZ2luLXRvcDogMjRw
eAorbWFyZ2luLXJpZ2h0OiAxMnB4CittYXJnaW4tYm90dG9tOiAzNnB4CittYXJnaW4tbGVmdDog
NDhweAorcGFkZGluZy10b3A6IDE4cHgKK3BhZGRpbmctcmlnaHQ6IDE4cHgKK3BhZGRpbmctYm90
dG9tOiAxOHB4CitwYWRkaW5nLWxlZnQ6IDE4cHgKKworUmVzb2x2ZWQgdmFsdWVzIGZvciBlbGVt
ZW50ICJlbXMiIHdpdGggZGlzcGxheSAibm9uZSI6CitsaW5lLWhlaWdodDogMjRweAord2lkdGg6
IDI0MHB4CitoZWlnaHQ6IDEyMHB4CittYXJnaW4tdG9wOiAyNHB4CittYXJnaW4tcmlnaHQ6IDEy
cHgKK21hcmdpbi1ib3R0b206IDM2cHgKK21hcmdpbi1sZWZ0OiA0OHB4CitwYWRkaW5nLXRvcDog
MThweAorcGFkZGluZy1yaWdodDogMThweAorcGFkZGluZy1ib3R0b206IDE4cHgKK3BhZGRpbmct
bGVmdDogMThweAorCisKK1Jlc29sdmVkIHZhbHVlcyBmb3IgZWxlbWVudCAiYXV0byIgd2l0aCBk
aXNwbGF5ICJibG9jayI6CitsaW5lLWhlaWdodDogMzBweAord2lkdGg6IDIwMHB4CitoZWlnaHQ6
IDMwcHgKK21hcmdpbi10b3A6IDBweAorbWFyZ2luLXJpZ2h0OiAxMjZweAorbWFyZ2luLWJvdHRv
bTogMHB4CittYXJnaW4tbGVmdDogMTI2cHgKK3BhZGRpbmctdG9wOiAwcHgKK3BhZGRpbmctcmln
aHQ6IDBweAorcGFkZGluZy1ib3R0b206IDBweAorcGFkZGluZy1sZWZ0OiAwcHgKKworUmVzb2x2
ZWQgdmFsdWVzIGZvciBlbGVtZW50ICJhdXRvIiB3aXRoIGRpc3BsYXkgImlubGluZSI6CitsaW5l
LWhlaWdodDogMzBweAord2lkdGg6IGF1dG8KK2hlaWdodDogYXV0bworbWFyZ2luLXRvcDogMHB4
CittYXJnaW4tcmlnaHQ6IGF1dG8KK21hcmdpbi1ib3R0b206IDBweAorbWFyZ2luLWxlZnQ6IGF1
dG8KK3BhZGRpbmctdG9wOiAwcHgKK3BhZGRpbmctcmlnaHQ6IDBweAorcGFkZGluZy1ib3R0b206
IDBweAorcGFkZGluZy1sZWZ0OiAwcHgKKworUmVzb2x2ZWQgdmFsdWVzIGZvciBlbGVtZW50ICJh
dXRvIiB3aXRoIGRpc3BsYXkgImlubGluZS1ibG9jayI6CitsaW5lLWhlaWdodDogMzBweAord2lk
dGg6IDIwMHB4CitoZWlnaHQ6IDMwcHgKK21hcmdpbi10b3A6IDBweAorbWFyZ2luLXJpZ2h0OiAw
cHgKK21hcmdpbi1ib3R0b206IDBweAorbWFyZ2luLWxlZnQ6IDBweAorcGFkZGluZy10b3A6IDBw
eAorcGFkZGluZy1yaWdodDogMHB4CitwYWRkaW5nLWJvdHRvbTogMHB4CitwYWRkaW5nLWxlZnQ6
IDBweAorCitSZXNvbHZlZCB2YWx1ZXMgZm9yIGVsZW1lbnQgImF1dG8iIHdpdGggZGlzcGxheSAi
bm9uZSI6CitsaW5lLWhlaWdodDogMzBweAord2lkdGg6IDIwMHB4CitoZWlnaHQ6IGF1dG8KK21h
cmdpbi10b3A6IDBweAorbWFyZ2luLXJpZ2h0OiBhdXRvCittYXJnaW4tYm90dG9tOiAwcHgKK21h
cmdpbi1sZWZ0OiBhdXRvCitwYWRkaW5nLXRvcDogMHB4CitwYWRkaW5nLXJpZ2h0OiAwcHgKK3Bh
ZGRpbmctYm90dG9tOiAwcHgKK3BhZGRpbmctbGVmdDogMHB4CisKKworUmVzb2x2ZWQgdmFsdWVz
IGZvciBlbGVtZW50ICJtaXhlZCIgd2l0aCBkaXNwbGF5ICJibG9jayI6CitsaW5lLWhlaWdodDog
NDhweAord2lkdGg6IDE1MHB4CitoZWlnaHQ6IDYwcHgKK21hcmdpbi10b3A6IDcycHgKK21hcmdp
bi1yaWdodDogMHB4CittYXJnaW4tYm90dG9tOiAwcHgKK21hcmdpbi1sZWZ0OiAyNTJweAorcGFk
ZGluZy10b3A6IDQwcHgKK3BhZGRpbmctcmlnaHQ6IDUwcHgKK3BhZGRpbmctYm90dG9tOiAyNHB4
CitwYWRkaW5nLWxlZnQ6IDBweAorCitSZXNvbHZlZCB2YWx1ZXMgZm9yIGVsZW1lbnQgIm1peGVk
IiB3aXRoIGRpc3BsYXkgImlubGluZSI6CitsaW5lLWhlaWdodDogNDhweAord2lkdGg6IGF1dG8K
K2hlaWdodDogYXV0bworbWFyZ2luLXRvcDogNzJweAorbWFyZ2luLXJpZ2h0OiAwcHgKK21hcmdp
bi1ib3R0b206IDBweAorbWFyZ2luLWxlZnQ6IGF1dG8KK3BhZGRpbmctdG9wOiA0MHB4CitwYWRk
aW5nLXJpZ2h0OiAxMCUKK3BhZGRpbmctYm90dG9tOiAyNHB4CitwYWRkaW5nLWxlZnQ6IDBweAor
CitSZXNvbHZlZCB2YWx1ZXMgZm9yIGVsZW1lbnQgIm1peGVkIiB3aXRoIGRpc3BsYXkgImlubGlu
ZS1ibG9jayI6CitsaW5lLWhlaWdodDogNDhweAord2lkdGg6IDE1MHB4CitoZWlnaHQ6IDYwcHgK
K21hcmdpbi10b3A6IDcycHgKK21hcmdpbi1yaWdodDogMHB4CittYXJnaW4tYm90dG9tOiAwcHgK
K21hcmdpbi1sZWZ0OiAwcHgKK3BhZGRpbmctdG9wOiA0MHB4CitwYWRkaW5nLXJpZ2h0OiA1MHB4
CitwYWRkaW5nLWJvdHRvbTogMjRweAorcGFkZGluZy1sZWZ0OiAwcHgKKworUmVzb2x2ZWQgdmFs
dWVzIGZvciBlbGVtZW50ICJtaXhlZCIgd2l0aCBkaXNwbGF5ICJub25lIjoKK2xpbmUtaGVpZ2h0
OiA0OHB4Cit3aWR0aDogMzAlCitoZWlnaHQ6IDIwJQorbWFyZ2luLXRvcDogNzJweAorbWFyZ2lu
LXJpZ2h0OiAwcHgKK21hcmdpbi1ib3R0b206IDBweAorbWFyZ2luLWxlZnQ6IGF1dG8KK3BhZGRp
bmctdG9wOiA0MHB4CitwYWRkaW5nLXJpZ2h0OiAxMCUKK3BhZGRpbmctYm90dG9tOiAyNHB4Citw
YWRkaW5nLWxlZnQ6IDBweAorCisKK0ZpeGVkCitQZXJjZW50cworRU1zCitBdXRvCitNaXhlZAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENv
bXB1dGVkU3R5bGUtcmVzb2x2ZWQtdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9n
ZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtcmVzb2x2ZWQtdmFsdWVzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmU0N2YzZTM2NDc3Yzc2MTRhOTEwZmI4ZjU1NzIxMzg1ZTFmNDhlMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29t
cHV0ZWRTdHlsZS1yZXNvbHZlZC12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDE1NCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgLm91dGVyIHsK
KyAgICAgICAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMzAwcHg7Cisg
ICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQorCisgICAgICAg
IC50ZXN0Ym94IHsKKyAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKKyAgICAgICAgICAgIGZvbnQ6
IDI0cHggJ0x1Y2lkYSBHcmFuZGUnOworICAgICAgICAgICAgYmFja2dyb3VuZDogZ3JlZW47Cisg
ICAgICAgICAgICBib3JkZXI6IDFlbSBzb2xpZCBibGFjazsKKyAgICAgICAgfQorCisgICAgICAg
ICNmaXhlZCB7CisgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDsKKyAgICAgICAgICAgIHdp
ZHRoOiAxNTBweDsKKyAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICBtYXJn
aW4tdG9wOiAxNXB4OworICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OworICAgICAgICAg
ICAgbWFyZ2luLWJvdHRvbTogMjBweDsKKyAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4Owor
ICAgICAgICAgICAgcGFkZGluZzogMjBweDsKKyAgICAgICAgfQorCisgICAgICAgICNwZXJjZW50
cyB7CisgICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTsKKyAgICAgICAgICAgIHdpZHRoOiA1
MCU7CisgICAgICAgICAgICBoZWlnaHQ6IDI1JTsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6IDEw
JTsKKyAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNSU7CisgICAgICAgICAgICBtYXJnaW4tYm90
dG9tOiAxMCU7CisgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjAlOworICAgICAgICAgICAgcGFk
ZGluZzogNSU7CisgICAgICAgIH0KKworICAgICAgICAjZW1zIHsKKyAgICAgICAgICAgIGxpbmUt
aGVpZ2h0OiAyNHB4OworICAgICAgICAgICAgd2lkdGg6IDEwZW07CisgICAgICAgICAgICBoZWln
aHQ6IDVlbTsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTsKKyAgICAgICAgICAgIG1hcmdp
bi1yaWdodDogLjVlbTsKKyAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtOworICAgICAg
ICAgICAgbWFyZ2luLWxlZnQ6IDJlbTsKKyAgICAgICAgICAgIHBhZGRpbmc6IC43NWVtOworICAg
ICAgICB9CisKKyAgICAgICAgI2F1dG8geworICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7
CisgICAgICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IGF1dG87Cisg
ICAgICAgICAgICBtYXJnaW46IDBweCBhdXRvOworICAgICAgICAgICAgcGFkZGluZzogYXV0bzsK
KyAgICAgICAgfQorCisgICAgICAgICNtaXhlZCB7CisgICAgICAgICAgICBsaW5lLWhlaWdodDog
MjAwJTsKKyAgICAgICAgICAgIHdpZHRoOiAzMCU7CisgICAgICAgICAgICBoZWlnaHQ6IDIwJTsK
KyAgICAgICAgICAgIG1hcmdpbi10b3A6IDNlbTsKKyAgICAgICAgICAgIC8qIG1hcmdpbi1yaWdo
dC9tYXJnaW4tYm90dG9tIG9taXR0ZWQgKi8KKyAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRv
OworICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7CisgICAgICAgICAgICBwYWRkaW5nLXJp
Z2h0OiAxMCU7CisgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtOworICAgICAgICAgICAg
cGFkZGluZy1sZWZ0OiBhdXRvOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICAKKyAgICA8
c2NyaXB0PgorICAgICAgICB2YXIgcmVzb2x2ZWRWYWx1ZVN0eWxlcyA9IFsKKyAgICAgICAgICAg
ICdsaW5lLWhlaWdodCcsCisgICAgICAgICAgICAnd2lkdGgnLAorICAgICAgICAgICAgJ2hlaWdo
dCcsCisgICAgICAgICAgICAnbWFyZ2luLXRvcCcsCisgICAgICAgICAgICAnbWFyZ2luLXJpZ2h0
JywKKyAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJywKKyAgICAgICAgICAgICdtYXJnaW4tbGVm
dCcsCisgICAgICAgICAgICAncGFkZGluZy10b3AnLAorICAgICAgICAgICAgJ3BhZGRpbmctcmln
aHQnLAorICAgICAgICAgICAgJ3BhZGRpbmctYm90dG9tJywKKyAgICAgICAgICAgICdwYWRkaW5n
LWxlZnQnCisgICAgICAgIF07CisKKyAgICAgICAgdmFyIGRpc3BsYXlWYWx1ZXMgPSBbCisgICAg
ICAgICAgICAnYmxvY2snLAorICAgICAgICAgICAgJ2lubGluZScsCisgICAgICAgICAgICAnaW5s
aW5lLWJsb2NrJywKKyAgICAgICAgICAgICdub25lJworICAgICAgICBdOworCisgICAgICAgIGZ1
bmN0aW9uIGxvZyhtc2cpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdj
b25zb2xlJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgJ1xuJykp
OworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdChpZCkgeworICAgICAgICAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwKKyAgICAgICAgICAgICAgICBw
cm9wLCBkaXNwbGF5VmFsdWUsIHN0eWxlLCBjb21wdXRlZFN0eWxlOworCisgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGRpc3BsYXlWYWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAg
ICAgICAgICBkaXYuc3R5bGUuZGlzcGxheSA9IGRpc3BsYXlWYWx1ZSA9IGRpc3BsYXlWYWx1ZXNb
aV07CisgICAgICAgICAgICAgICAgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGRpdiwgbnVsbCk7CisgICAgICAgICAgICAgICAgbG9nKCdSZXNvbHZlZCB2YWx1ZXMgZm9y
IGVsZW1lbnQgIicgKyBpZCArICciIHdpdGggZGlzcGxheSAiJyArIGRpc3BsYXlWYWx1ZSArICci
OicpOworCisgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCByZXNvbHZlZFZhbHVl
U3R5bGVzLmxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICAgICAgICAgIHN0eWxlID0gcmVzb2x2
ZWRWYWx1ZVN0eWxlc1tqXTsKKyAgICAgICAgICAgICAgICAgICAgbG9nKHN0eWxlICsgJzogJyAr
IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShzdHlsZSkpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBsb2coJycpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
ZGl2LnN0eWxlLmRpc3BsYXkgPSAnJzsKKyAgICAgICAgICAgIGxvZygnJyk7CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgICAgICB0ZXN0KCdmaXhlZCcpOworICAgICAgICAg
ICAgdGVzdCgncGVyY2VudHMnKTsKKyAgICAgICAgICAgIHRlc3QoJ2VtcycpOworICAgICAgICAg
ICAgdGVzdCgnYXV0bycpOworICAgICAgICAgICAgdGVzdCgnbWl4ZWQnKTsKKyAgICAgICAgfQor
ICAgIDwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KKyAg
ICA8cD4KKyAgICAgICAgVGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQg
c3R5bGVzIHRoYXQgcmV0dXJuICJyZXNvbHZlZCIgdmFsdWVzLjxiciAvPgorICAgICAgICBTZWUg
PGEgaHJlZj0iaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20vI3Jlc29sdmVkLXZhbHVlcyI+
aHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20vI3Jlc29sdmVkLXZhbHVlczwvYT4gZm9yIG1v
cmUgaW5mb3JtYXRpb24uCisgICAgPC9wPgorICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgor
CisgICAgPGRpdiBjbGFzcz0ib3V0ZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ym94IiBp
ZD0iZml4ZWQiPkZpeGVkPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0ib3V0ZXIi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ym94IiBpZD0icGVyY2VudHMiPlBlcmNlbnRzPC9k
aXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0ib3V0ZXIiPgorICAgICAgICA8ZGl2IGNs
YXNzPSJ0ZXN0Ym94IiBpZD0iZW1zIj5FTXM8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNs
YXNzPSJvdXRlciI+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3Rib3giIGlkPSJhdXRvIj5BdXRv
PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0ib3V0ZXIiPgorICAgICAgICA8ZGl2
IGNsYXNzPSJ0ZXN0Ym94IiBpZD0ibWl4ZWQiPk1peGVkPC9kaXY+CisgICAgPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13
aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRl
cmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhw
ZWN0ZWQudHh0CmluZGV4IGU5YjZlZjk2ZjRjOWUyNjdmMzhlNGVhOTQ5NDgyOTZmYmU4ZGE0NTYu
LjZjZjRjMDE1YzQ2ODdkY2I4YjFlMjNmNzZhMjFiY2EzNTIwYTMxNjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxl
L2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2Nv
bXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC01NSw3ICs1NSw3
IEBAIENvbXB1dGVkIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2hvc2UgcGFyZW50J3MgJ2Rpc3BsYXkn
IHZhbHVlIGlzICdub25lJzoKICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlCiAgICAg
bGlzdC1zdHlsZS10eXBlOiBkaXNjCiAgICAgbWFyZ2luLWJvdHRvbTogMHB4Ci0gICAgbWFyZ2lu
LWxlZnQ6IDBweAorICAgIG1hcmdpbi1sZWZ0OiBhdXRvCiAgICAgbWFyZ2luLXJpZ2h0OiAwcHgK
ICAgICBtYXJnaW4tdG9wOiAwcHgKICAgICBtYXgtaGVpZ2h0OiBub25lCkBAIC0yNjYsMTIgKzI2
NiwxMiBAQCBBZnRlciBjaGFuZ2luZyBncmFuZHBhcmVudCdzICdjb2xvcicgYW5kIHRoZSBwYXJl
bnQncyAnZm9udC1zaXplJyBpbmhlcml0ZWQgcHJvcAogCiBBZnRlciBjaGFuZ2luZyB0aGUgcGFy
ZW50J3MgJ2Rpc3BsYXknIHByb3BlcnR5IHRvICdibG9jaycsIHNvIHRoYXQgdGhlIGNoaWxkIGdl
dHMgYSByZW5kZXJlcjoKICAgICBoZWlnaHQ6IDEwMHB4Ci0gICAgbWFyZ2luLWxlZnQ6IDBweAor
ICAgIG1hcmdpbi1sZWZ0OiAzODVweAogICAgIHdpZHRoOiAzODRweAogCiBBZnRlciBjaGFuZ2lu
ZyB0aGUgcGFyZW50J3MgJ2Rpc3BsYXknIHByb3BlcnR5IGJhY2sgdG8gJ25vbmUnOgogICAgIGhl
aWdodDogMTAwcHgKLSAgICBtYXJnaW4tbGVmdDogMHB4CisgICAgbWFyZ2luLWxlZnQ6IGF1dG8K
ICAgICB3aWR0aDogNTAlCiAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>